/*
 * 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__inv_20) {
    area : 118.540800 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "0.0002855232" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "0.000306936" ;
    }

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

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

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

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

    pin(ZN) {
      direction : output ;
      function : "(!I)" ;
      max_capacitance : 8.788 ;
      max_transition : 4.4 ;
      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.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          index_2("0.001, 0.06165, 0.2745, 0.6811, 1.314, 2.203, 3.372, 4.846, 6.644, 8.788");
          values("-0.1743, -0.1502, -0.1235, -0.1126, -0.1083, -0.1058, -0.1047, -0.104, -0.1034, -0.1034",\
                 "-0.1754, -0.1594, -0.1335, -0.1189, -0.1118, -0.1087, -0.106, -0.1054, -0.1046, -0.1039",\
                 "-0.02179, -0.046, -0.07157, -0.08384, -0.09062, -0.09439, -0.0968, -0.09872, -0.09967, -0.1002",\
                 "0.4168, 0.3401, 0.2079, 0.1102, 0.04524, 0.003149, -0.02583, -0.04397, -0.058, -0.06681",\
                 "1.169, 1.05, 0.7955, 0.5663, 0.3955, 0.2733, 0.1844, 0.1201, 0.0728, 0.03718",\
                 "2.256, 2.105, 1.746, 1.358, 1.04, 0.7958, 0.6099, 0.4675, 0.3577, 0.2727",\
                 "3.712, 3.532, 3.082, 2.542, 2.048, 1.643, 1.322, 1.068, 0.8645, 0.7026",\
                 "5.556, 5.356, 4.828, 4.146, 3.467, 2.879, 2.39, 1.987, 1.658, 1.389",\
                 "7.811, 7.591, 7.001, 6.198, 5.343, 4.551, 3.863, 3.285, 2.802, 2.394",\
                 "10.51, 10.27, 9.624, 8.71, 7.694, 6.692, 5.79, 5.014, 4.344, 3.768");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          index_2("0.001, 0.06165, 0.2745, 0.6811, 1.314, 2.203, 3.372, 4.846, 6.644, 8.788");
          values("1.179, 1.219, 1.275, 1.302, 1.305, 1.316, 1.354, 1.352, 1.401, 1.387",\
                 "1.2, 1.21, 1.25, 1.276, 1.293, 1.323, 1.354, 1.395, 1.405, 1.466",\
                 "1.429, 1.389, 1.337, 1.316, 1.32, 1.334, 1.361, 1.395, 1.437, 1.481",\
                 "1.958, 1.869, 1.713, 1.573, 1.491, 1.446, 1.444, 1.435, 1.477, 1.473",\
                 "2.828, 2.7, 2.42, 2.177, 1.952, 1.791, 1.707, 1.647, 1.639, 1.599",\
                 "4.068, 3.914, 3.536, 3.138, 2.786, 2.483, 2.254, 2.097, 1.992, 1.916",\
                 "5.715, 5.534, 5.071, 4.518, 4.018, 3.574, 3.179, 2.875, 2.651, 2.453",\
                 "7.8, 7.598, 7.062, 6.37, 5.689, 5.094, 4.544, 4.059, 3.673, 3.353",\
                 "10.35, 10.13, 9.539, 8.722, 7.878, 7.06, 6.38, 5.708, 5.135, 4.641",\
                 "13.4, 13.17, 12.52, 11.59, 10.57, 9.59, 8.694, 7.879, 7.118, 6.398");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          index_2("0.001, 0.06165, 0.2745, 0.6811, 1.314, 2.203, 3.372, 4.846, 6.644, 8.788");
          values("0.02181, 0.03191, 0.06575, 0.1295, 0.2284, 0.3672, 0.5499, 0.7795, 1.061, 1.396",\
                 "0.02541, 0.03787, 0.07199, 0.1357, 0.2348, 0.3735, 0.556, 0.7865, 1.067, 1.402",\
                 "0.026, 0.04524, 0.09276, 0.1594, 0.2581, 0.3964, 0.5792, 0.8084, 1.09, 1.424",\
                 "0.01665, 0.04388, 0.1091, 0.1976, 0.3046, 0.4422, 0.6242, 0.8536, 1.134, 1.469",\
                 "-0.00482, 0.0302, 0.1145, 0.2265, 0.361, 0.5154, 0.6966, 0.9248, 1.204, 1.538",\
                 "-0.04038, 0.00281, 0.1058, 0.2422, 0.4049, 0.5903, 0.7976, 1.028, 1.306, 1.638",\
                 "-0.09119, -0.03966, 0.0822, 0.2439, 0.4351, 0.6507, 0.8916, 1.156, 1.443, 1.774",\
                 "-0.1587, -0.0991, 0.0417, 0.2285, 0.4486, 0.6968, 0.9709, 1.272, 1.598, 1.946",\
                 "-0.244, -0.1765, -0.0159, 0.1957, 0.4451, 0.726, 1.035, 1.371, 1.736, 2.127",\
                 "-0.3484, -0.273, -0.0926, 0.1436, 0.4227, 0.7353, 1.08, 1.454, 1.856, 2.289");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          index_2("0.001, 0.06165, 0.2745, 0.6811, 1.314, 2.203, 3.372, 4.846, 6.644, 8.788");
          values("0.02857, 0.04702, 0.1084, 0.2228, 0.3997, 0.6473, 0.9738, 1.386, 1.886, 2.487",\
                 "0.03715, 0.05477, 0.1156, 0.2302, 0.4072, 0.6565, 0.9829, 1.394, 1.895, 2.495",\
                 "0.06175, 0.08474, 0.1474, 0.2601, 0.4362, 0.6843, 1.011, 1.422, 1.923, 2.522",\
                 "0.09944, 0.1303, 0.2079, 0.3245, 0.4972, 0.7431, 1.068, 1.478, 1.979, 2.578",\
                 "0.1499, 0.1898, 0.2855, 0.4224, 0.6003, 0.8412, 1.162, 1.57, 2.07, 2.667",\
                 "0.2139, 0.2633, 0.3805, 0.5388, 0.741, 0.9873, 1.303, 1.706, 2.203, 2.796",\
                 "0.2927, 0.3518, 0.491, 0.6753, 0.9013, 1.176, 1.496, 1.894, 2.384, 2.974",\
                 "0.3878, 0.4566, 0.6187, 0.831, 1.084, 1.384, 1.736, 2.138, 2.622, 3.205",\
                 "0.5008, 0.5786, 0.7641, 1.005, 1.29, 1.616, 1.998, 2.432, 2.92, 3.496",\
                 "0.632, 0.7187, 0.9275, 1.198, 1.515, 1.875, 2.284, 2.753, 3.274, 3.854");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          index_2("0.001, 0.06165, 0.2745, 0.6811, 1.314, 2.203, 3.372, 4.846, 6.644, 8.788");
          values("0.01518, 0.03101, 0.08604, 0.1913, 0.3547, 0.5869, 0.8912, 1.27, 1.734, 2.286",\
                 "0.02173, 0.03465, 0.08638, 0.192, 0.3564, 0.586, 0.8922, 1.269, 1.732, 2.285",\
                 "0.0384, 0.05746, 0.1068, 0.1932, 0.3558, 0.5873, 0.8908, 1.27, 1.732, 2.291",\
                 "0.0646, 0.09126, 0.1535, 0.2438, 0.3706, 0.5852, 0.89, 1.272, 1.741, 2.298",\
                 "0.09888, 0.134, 0.2134, 0.3203, 0.4577, 0.6294, 0.8948, 1.27, 1.739, 2.289",\
                 "0.14, 0.1849, 0.2843, 0.4117, 0.5676, 0.7572, 0.98, 1.298, 1.739, 2.292",\
                 "0.1872, 0.2443, 0.3656, 0.5174, 0.6936, 0.9048, 1.152, 1.431, 1.803, 2.306",\
                 "0.2402, 0.3098, 0.456, 0.634, 0.8368, 1.069, 1.341, 1.65, 1.989, 2.419",\
                 "0.302, 0.3834, 0.5546, 0.762, 0.9952, 1.255, 1.545, 1.882, 2.257, 2.661",\
                 "0.3676, 0.4636, 0.6646, 0.9014, 1.165, 1.455, 1.776, 2.131, 2.535, 2.98");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          index_2("0.001, 0.06165, 0.2745, 0.6811, 1.314, 2.203, 3.372, 4.846, 6.644, 8.788");
          values("0.02934, 0.05887, 0.1621, 0.3589, 0.6656, 1.097, 1.667, 2.378, 3.256, 4.295",\
                 "0.03328, 0.05884, 0.1623, 0.3589, 0.6653, 1.099, 1.666, 2.378, 3.257, 4.29",\
                 "0.04944, 0.07746, 0.1646, 0.3591, 0.666, 1.098, 1.664, 2.378, 3.25, 4.29",\
                 "0.07582, 0.1092, 0.203, 0.3668, 0.6658, 1.096, 1.663, 2.379, 3.249, 4.294",\
                 "0.1094, 0.1517, 0.2559, 0.4267, 0.6819, 1.095, 1.664, 2.375, 3.25, 4.29",\
                 "0.1496, 0.202, 0.3261, 0.507, 0.7634, 1.127, 1.664, 2.377, 3.248, 4.289",\
                 "0.1962, 0.259, 0.4046, 0.6036, 0.878, 1.228, 1.707, 2.378, 3.247, 4.287",\
                 "0.2488, 0.3232, 0.496, 0.7174, 1.003, 1.376, 1.833, 2.44, 3.256, 4.283",\
                 "0.3046, 0.3926, 0.5928, 0.847, 1.15, 1.537, 2.019, 2.589, 3.34, 4.298",\
                 "0.3726, 0.471, 0.6994, 0.984, 1.317, 1.717, 2.217, 2.81, 3.509, 4.404");
        }
      }
    }
  }

