/*
 * 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.
 */
  cell(gf180mcu_fd_sc_mcu9t5v0__invz_8) {
    area : 104.428800 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!EN&!I" ;
      value : "0.0003403565" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!EN&I" ;
      value : "0.000345345" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "EN&!I" ;
      value : "0.00062084" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "EN&I" ;
      value : "0.00063327" ;
    }

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

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

    pg_pin(VSS) {
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(EN) {
      capacitance : 0.01351 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 2.8 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!I" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          values("0.7029, 0.7068, 0.7504, 0.8704, 1.092, 1.428, 1.886, 2.482, 3.22, \
                  4.109");
        }

        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.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          values("0.4409, 0.4441, 0.4756, 0.5554, 0.6907, 0.8884, 1.162, 1.554, \
                  2.059, 2.679");
        }

        rise_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }
    }

    pin(I) {
      capacitance : 0.01309 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 2.8 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!EN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          values("0.6204, 0.6242, 0.6762, 0.8148, 1.056, 1.413, 1.896, 2.515, 3.274, \
                  4.185");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          values("0.2443, 0.2468, 0.2842, 0.3933, 0.5994, 0.9121, 1.338, 1.885, \
                  2.56, 3.37");
        }
      }
    }

    pin(ZN) {
      capacitance : 0.01881 ;
      direction : output ;
      function : "(!I)" ;
      max_capacitance : 2.986 ;
      max_transition : 2.8 ;
      min_capacitance : 0.01981 ;
      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.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.01981, 0.04028, 0.1121, 0.2494, 0.4631, 0.7631, 1.158, 1.655, 2.262, 2.986");
          values("1.283, 1.282, 1.282, 1.281, 1.282, 1.282, 1.282, 1.282, 1.282, 1.283",\
                 "1.29, 1.288, 1.287, 1.287, 1.287, 1.287, 1.287, 1.288, 1.287, 1.288",\
                 "1.336, 1.335, 1.334, 1.333, 1.334, 1.334, 1.334, 1.334, 1.334, 1.335",\
                 "1.439, 1.44, 1.439, 1.438, 1.438, 1.438, 1.439, 1.439, 1.439, 1.439",\
                 "1.613, 1.613, 1.612, 1.611, 1.61, 1.61, 1.611, 1.611, 1.611, 1.611",\
                 "1.857, 1.858, 1.856, 1.856, 1.856, 1.856, 1.856, 1.856, 1.856, 1.856",\
                 "2.178, 2.179, 2.18, 2.178, 2.177, 2.179, 2.179, 2.178, 2.178, 2.179",\
                 "2.582, 2.582, 2.581, 2.58, 2.58, 2.58, 2.58, 2.581, 2.581, 2.581",\
                 "3.071, 3.07, 3.07, 3.069, 3.069, 3.069, 3.069, 3.07, 3.07, 3.07",\
                 "3.649, 3.649, 3.648, 3.647, 3.647, 3.647, 3.648, 3.647, 3.647, 3.648");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.01981, 0.04028, 0.1121, 0.2494, 0.4631, 0.7631, 1.158, 1.655, 2.262, 2.986");
          values("1.115, 1.116, 1.117, 1.118, 1.122, 1.126, 1.141, 1.155, 1.176, 1.206",\
                 "1.116, 1.118, 1.119, 1.12, 1.122, 1.129, 1.142, 1.156, 1.187, 1.217",\
                 "1.149, 1.149, 1.15, 1.152, 1.155, 1.159, 1.173, 1.188, 1.214, 1.233",\
                 "1.248, 1.253, 1.255, 1.255, 1.257, 1.266, 1.277, 1.295, 1.313, 1.343",\
                 "1.439, 1.439, 1.44, 1.454, 1.452, 1.457, 1.469, 1.485, 1.506, 1.536",\
                 "1.736, 1.736, 1.742, 1.732, 1.758, 1.757, 1.757, 1.773, 1.803, 1.838",\
                 "2.147, 2.149, 2.152, 2.15, 2.145, 2.178, 2.182, 2.179, 2.199, 2.223",\
                 "2.679, 2.68, 2.687, 2.686, 2.684, 2.689, 2.725, 2.728, 2.743, 2.762",\
                 "3.341, 3.342, 3.342, 3.351, 3.341, 3.34, 3.358, 3.413, 3.409, 3.422",\
                 "4.136, 4.137, 4.142, 4.144, 4.145, 4.139, 4.144, 4.172, 4.239, 4.247");
        }
      }

      internal_power() {
        related_pin : "I" ;
        when : "EN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.01981, 0.04028, 0.1121, 0.2494, 0.4631, 0.7631, 1.158, 1.655, 2.262, 2.986");
          values("2.14, 2.126, 2.125, 2.141, 2.153, 2.161, 2.166, 2.169, 2.172, 2.174",\
                 "2.143, 2.128, 2.129, 2.142, 2.155, 2.163, 2.168, 2.171, 2.174, 2.175",\
                 "2.19, 2.175, 2.173, 2.188, 2.2, 2.208, 2.214, 2.217, 2.219, 2.221",\
                 "2.334, 2.319, 2.314, 2.327, 2.338, 2.346, 2.352, 2.355, 2.358, 2.36",\
                 "2.6, 2.581, 2.572, 2.582, 2.593, 2.6, 2.607, 2.61, 2.613, 2.615",\
                 "2.993, 2.971, 2.958, 2.965, 2.977, 2.985, 2.99, 2.995, 2.998, 2.999",\
                 "3.523, 3.498, 3.48, 3.483, 3.492, 3.503, 3.509, 3.513, 3.516, 3.519",\
                 "4.195, 4.164, 4.141, 4.139, 4.149, 4.159, 4.166, 4.17, 4.174, 4.175",\
                 "5.008, 4.979, 4.951, 4.946, 4.955, 4.963, 4.97, 4.976, 4.98, 4.982",\
                 "5.985, 5.956, 5.925, 5.914, 5.92, 5.927, 5.934, 5.938, 5.942, 5.946");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.01981, 0.04028, 0.1121, 0.2494, 0.4631, 0.7631, 1.158, 1.655, 2.262, 2.986");
          values("1.995, 2.01, 2.051, 2.099, 2.132, 2.162, 2.183, 2.214, 2.243, 2.279",\
                 "1.999, 2.014, 2.056, 2.101, 2.136, 2.165, 2.188, 2.217, 2.243, 2.274",\
                 "2.055, 2.071, 2.112, 2.158, 2.19, 2.218, 2.243, 2.271, 2.298, 2.34",\
                 "2.216, 2.231, 2.27, 2.311, 2.346, 2.374, 2.402, 2.43, 2.452, 2.477",\
                 "2.506, 2.519, 2.554, 2.595, 2.628, 2.656, 2.686, 2.708, 2.744, 2.769",\
                 "2.936, 2.947, 2.977, 3.022, 3.05, 3.08, 3.109, 3.141, 3.167, 3.203",\
                 "3.521, 3.528, 3.552, 3.58, 3.631, 3.653, 3.673, 3.706, 3.734, 3.759",\
                 "4.264, 4.27, 4.289, 4.319, 4.345, 4.397, 4.419, 4.44, 4.471, 4.49",\
                 "5.169, 5.176, 5.189, 5.214, 5.238, 5.263, 5.32, 5.355, 5.362, 5.387",\
                 "6.248, 6.25, 6.264, 6.286, 6.318, 6.343, 6.367, 6.433, 6.445, 6.476");
        }
      }

      timing() {
        related_pin : "EN" ;
        timing_sense : negative_unate ;
        timing_type : three_state_disable ;

        cell_fall(tmg_ntin_10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          values("0.2125, 0.2169, 0.2342, 0.2739, 0.3403, 0.4276, 0.5312, 0.6474, \
                  0.778, 0.921");
        }

        cell_rise(tmg_ntin_10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          values("0.194, 0.199, 0.2197, 0.2566, 0.3075, 0.3708, 0.4455, 0.5304, \
                  0.626, 0.735");
        }

        fall_transition(tmg_ntin_10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          values("0, 0, 0, 0, 0, 0, 0, 0, 0, 0");
        }

        rise_transition(tmg_ntin_10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          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.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.01981, 0.04028, 0.1121, 0.2494, 0.4631, 0.7631, 1.158, 1.655, 2.262, 2.986");
          values("0.09148, 0.1112, 0.1579, 0.2231, 0.3066, 0.4116, 0.5432, 0.7066, 0.9052, 1.142",\
                 "0.09517, 0.1148, 0.1615, 0.2267, 0.3102, 0.4152, 0.5468, 0.7102, 0.9088, 1.145",\
                 "0.1094, 0.1289, 0.1755, 0.2409, 0.3243, 0.4292, 0.5609, 0.7243, 0.9229, 1.159",\
                 "0.1267, 0.148, 0.1969, 0.263, 0.3469, 0.452, 0.5837, 0.747, 0.9456, 1.182",\
                 "0.1352, 0.1585, 0.2118, 0.281, 0.3658, 0.4711, 0.6029, 0.7661, 0.9647, 1.201",\
                 "0.134, 0.1591, 0.2147, 0.2847, 0.3697, 0.4751, 0.6066, 0.7698, 0.9683, 1.205",\
                 "0.1222, 0.1492, 0.2062, 0.2771, 0.3625, 0.4679, 0.5995, 0.7626, 0.961, 1.197",\
                 "0.1001, 0.128, 0.1864, 0.2578, 0.3435, 0.449, 0.5807, 0.7438, 0.9422, 1.179",\
                 "0.066, 0.0954, 0.1555, 0.2277, 0.3133, 0.4195, 0.5512, 0.7143, 0.9127, 1.149",\
                 "0.0192, 0.0503, 0.1121, 0.1853, 0.2718, 0.3777, 0.5095, 0.6726, 0.8711, 1.107");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.01981, 0.04028, 0.1121, 0.2494, 0.4631, 0.7631, 1.158, 1.655, 2.262, 2.986");
          values("0.0984, 0.1217, 0.1763, 0.2561, 0.3723, 0.5343, 0.7472, 1.016, 1.344, 1.736",\
                 "0.1015, 0.1248, 0.1793, 0.2593, 0.3755, 0.5374, 0.7508, 1.019, 1.347, 1.738",\
                 "0.1128, 0.1364, 0.1912, 0.2711, 0.3874, 0.5493, 0.7626, 1.031, 1.359, 1.749",\
                 "0.1251, 0.1516, 0.2099, 0.2908, 0.4072, 0.5691, 0.7821, 1.051, 1.379, 1.77",\
                 "0.1288, 0.1595, 0.2254, 0.3097, 0.4266, 0.5885, 0.8016, 1.07, 1.398, 1.788",\
                 "0.1209, 0.1563, 0.2319, 0.3225, 0.4407, 0.6027, 0.8156, 1.084, 1.412, 1.803",\
                 "0.1003, 0.1408, 0.2261, 0.326, 0.4476, 0.6105, 0.8233, 1.091, 1.419, 1.81",\
                 "0.06553, 0.1119, 0.2074, 0.3182, 0.445, 0.6101, 0.8241, 1.092, 1.42, 1.81",\
                 "0.0156, 0.0692, 0.1747, 0.2975, 0.4312, 0.5993, 0.816, 1.086, 1.413, 1.803",\
                 "-0.0523, 0.0101, 0.1273, 0.2621, 0.4049, 0.5766, 0.7962, 1.069, 1.398, 1.789");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.01981, 0.04028, 0.1121, 0.2494, 0.4631, 0.7631, 1.158, 1.655, 2.262, 2.986");
          values("0.04384, 0.06158, 0.1097, 0.186, 0.2924, 0.4418, 0.6446, 0.9079, 1.232, 1.621",\
                 "0.0437, 0.06152, 0.1096, 0.1857, 0.2924, 0.4419, 0.6447, 0.9079, 1.232, 1.622",\
                 "0.04346, 0.06132, 0.1095, 0.1856, 0.2923, 0.4412, 0.6442, 0.9077, 1.232, 1.622",\
                 "0.049, 0.06676, 0.1129, 0.1872, 0.2933, 0.4417, 0.6456, 0.9075, 1.234, 1.622",\
                 "0.05478, 0.07398, 0.1222, 0.1935, 0.296, 0.4429, 0.6448, 0.908, 1.231, 1.622",\
                 "0.06, 0.07952, 0.1263, 0.1955, 0.297, 0.443, 0.6445, 0.9081, 1.233, 1.622",\
                 "0.06516, 0.08468, 0.1291, 0.1971, 0.2981, 0.4436, 0.645, 0.906, 1.232, 1.622",\
                 "0.07, 0.0886, 0.1318, 0.1986, 0.2988, 0.4438, 0.6456, 0.907, 1.23, 1.619",\
                 "0.0758, 0.0934, 0.1346, 0.2004, 0.2998, 0.445, 0.646, 0.9068, 1.231, 1.619",\
                 "0.0826, 0.099, 0.138, 0.2022, 0.3014, 0.4454, 0.6468, 0.907, 1.231, 1.62");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.01981, 0.04028, 0.1121, 0.2494, 0.4631, 0.7631, 1.158, 1.655, 2.262, 2.986");
          values("0.05008, 0.0722, 0.1325, 0.2481, 0.4428, 0.7222, 1.092, 1.555, 2.126, 2.804",\
                 "0.05014, 0.07274, 0.1326, 0.2481, 0.4423, 0.7226, 1.091, 1.555, 2.125, 2.801",\
                 "0.05114, 0.07322, 0.1328, 0.249, 0.4423, 0.7225, 1.09, 1.557, 2.123, 2.802",\
                 "0.0589, 0.08046, 0.1375, 0.2496, 0.4423, 0.7225, 1.091, 1.555, 2.126, 2.804",\
                 "0.0698, 0.0932, 0.1498, 0.2546, 0.4437, 0.7215, 1.09, 1.557, 2.123, 2.8",\
                 "0.0827, 0.108, 0.1684, 0.2654, 0.4464, 0.7225, 1.09, 1.557, 2.122, 2.802",\
                 "0.09822, 0.124, 0.1894, 0.2825, 0.4544, 0.7252, 1.091, 1.557, 2.125, 2.798",\
                 "0.1181, 0.1414, 0.2118, 0.305, 0.4674, 0.7338, 1.095, 1.556, 2.122, 2.801",\
                 "0.1418, 0.1626, 0.2336, 0.3314, 0.4848, 0.7458, 1.106, 1.562, 2.124, 2.8",\
                 "0.1708, 0.1894, 0.2576, 0.3616, 0.5042, 0.7588, 1.12, 1.575, 2.132, 2.8");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.01981, 0.04028, 0.1121, 0.2494, 0.4631, 0.7631, 1.158, 1.655, 2.262, 2.986");
          values("0.1706, 0.189, 0.2356, 0.3015, 0.3853, 0.4904, 0.6222, 0.7856, 0.9843, 1.221",\
                 "0.1737, 0.1921, 0.2388, 0.3046, 0.3885, 0.4936, 0.6253, 0.7888, 0.9874, 1.224",\
                 "0.1849, 0.2033, 0.2499, 0.3157, 0.3996, 0.5047, 0.6365, 0.7999, 0.9986, 1.235",\
                 "0.1973, 0.2155, 0.262, 0.3279, 0.4118, 0.5169, 0.6487, 0.8121, 1.011, 1.247",\
                 "0.2052, 0.2234, 0.2699, 0.3357, 0.4197, 0.5248, 0.6566, 0.82, 1.019, 1.255",\
                 "0.2061, 0.2243, 0.2707, 0.3366, 0.4207, 0.5258, 0.6576, 0.8211, 1.02, 1.256",\
                 "0.1988, 0.217, 0.2634, 0.3294, 0.4133, 0.5188, 0.6507, 0.8141, 1.013, 1.249",\
                 "0.1822, 0.2002, 0.2466, 0.3127, 0.3969, 0.5022, 0.6342, 0.7977, 0.9964, 1.233",\
                 "0.1553, 0.1735, 0.22, 0.2861, 0.3705, 0.476, 0.6079, 0.7715, 0.9702, 1.207",\
                 "0.1174, 0.1358, 0.1825, 0.2487, 0.3332, 0.4387, 0.5708, 0.7343, 0.9331, 1.17");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.01981, 0.04028, 0.1121, 0.2494, 0.4631, 0.7631, 1.158, 1.655, 2.262, 2.986");
          values("0.1972, 0.221, 0.2767, 0.3577, 0.4751, 0.6379, 0.8516, 1.12, 1.449, 1.84",\
                 "0.2015, 0.2253, 0.281, 0.3621, 0.4794, 0.6422, 0.856, 1.125, 1.453, 1.843",\
                 "0.2215, 0.2453, 0.301, 0.382, 0.4994, 0.6622, 0.876, 1.145, 1.473, 1.864",\
                 "0.2597, 0.2835, 0.3391, 0.4202, 0.5375, 0.7002, 0.9141, 1.183, 1.51, 1.901",\
                 "0.3119, 0.3356, 0.3911, 0.4722, 0.5896, 0.7523, 0.9661, 1.235, 1.564, 1.955",\
                 "0.3761, 0.3999, 0.4556, 0.5366, 0.6539, 0.8167, 1.031, 1.3, 1.628, 2.018",\
                 "0.4519, 0.4762, 0.5321, 0.6133, 0.7307, 0.8935, 1.107, 1.376, 1.704, 2.095",\
                 "0.5393, 0.5642, 0.6208, 0.7019, 0.8195, 0.9824, 1.196, 1.465, 1.793, 2.184",\
                 "0.6383, 0.664, 0.7219, 0.8035, 0.9211, 1.084, 1.298, 1.566, 1.894, 2.285",\
                 "0.7492, 0.776, 0.8358, 0.9183, 1.036, 1.198, 1.412, 1.681, 2.009, 2.399");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.01981, 0.04028, 0.1121, 0.2494, 0.4631, 0.7631, 1.158, 1.655, 2.262, 2.986");
          values("0.04122, 0.06022, 0.1098, 0.1857, 0.2922, 0.4416, 0.6445, 0.9075, 1.233, 1.622",\
                 "0.04132, 0.06032, 0.1099, 0.1858, 0.2921, 0.4415, 0.6446, 0.9078, 1.233, 1.621",\
                 "0.04124, 0.0602, 0.1098, 0.1856, 0.2923, 0.4417, 0.6451, 0.9071, 1.233, 1.622",\
                 "0.04138, 0.0603, 0.1101, 0.1858, 0.2924, 0.4417, 0.6454, 0.9073, 1.233, 1.622",\
                 "0.04152, 0.0605, 0.1103, 0.186, 0.2921, 0.4416, 0.6442, 0.9077, 1.231, 1.622",\
                 "0.04186, 0.06098, 0.1107, 0.1866, 0.2926, 0.4413, 0.6443, 0.9078, 1.233, 1.621",\
                 "0.04228, 0.06134, 0.1111, 0.1874, 0.2932, 0.4418, 0.6448, 0.9068, 1.232, 1.621",\
                 "0.0428, 0.0618, 0.1118, 0.1874, 0.2936, 0.442, 0.6454, 0.907, 1.231, 1.62",\
                 "0.0436, 0.0626, 0.1122, 0.188, 0.294, 0.4428, 0.6456, 0.9078, 1.232, 1.62",\
                 "0.0444, 0.0634, 0.113, 0.1888, 0.2944, 0.4428, 0.6462, 0.908, 1.232, 1.62");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.01981, 0.04028, 0.1121, 0.2494, 0.4631, 0.7631, 1.158, 1.655, 2.262, 2.986");
          values("0.0492, 0.07058, 0.1312, 0.2474, 0.4427, 0.7213, 1.092, 1.557, 2.125, 2.803",\
                 "0.04952, 0.07056, 0.1311, 0.2475, 0.4427, 0.7212, 1.091, 1.557, 2.123, 2.802",\
                 "0.04882, 0.07058, 0.1311, 0.2482, 0.4427, 0.7224, 1.091, 1.557, 2.124, 2.803",\
                 "0.04898, 0.07076, 0.1312, 0.2474, 0.4427, 0.7225, 1.09, 1.557, 2.124, 2.8",\
                 "0.04964, 0.07106, 0.1314, 0.2483, 0.4422, 0.7224, 1.09, 1.557, 2.125, 2.804",\
                 "0.04994, 0.07196, 0.1321, 0.2479, 0.442, 0.7224, 1.09, 1.557, 2.125, 2.8",\
                 "0.0512, 0.0734, 0.133, 0.2486, 0.4424, 0.722, 1.09, 1.557, 2.122, 2.801",\
                 "0.0534, 0.075, 0.1342, 0.2492, 0.4428, 0.7218, 1.09, 1.556, 2.124, 2.799",\
                 "0.0566, 0.0776, 0.136, 0.2496, 0.443, 0.7228, 1.091, 1.555, 2.12, 2.799",\
                 "0.0594, 0.0816, 0.1388, 0.2506, 0.4434, 0.7226, 1.091, 1.555, 2.121, 2.801");
        }
      }
    }
  }

