/*
 * 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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      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---------*/

}
