/*
 * 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_4) {
    area : 28.224000 ;

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

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

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

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

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

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

    pin(ZN) {
      direction : output ;
      function : "(!I)" ;
      max_capacitance : 1.398 ;
      max_transition : 3.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.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
          index_2("0.001, 0.01065, 0.0445, 0.1092, 0.2099, 0.3512, 0.5372, 0.7715, 1.058, 1.398");
          values("-0.0811, -0.07336, -0.06322, -0.05783, -0.05553, -0.05421, -0.05375, -0.05337, -0.05319, -0.05301",\
                 "-0.07075, -0.06837, -0.06184, -0.05728, -0.0551, -0.05432, -0.05389, -0.05372, -0.05342, -0.05327",\
                 "0.03878, 0.02333, -0.0005864, -0.01889, -0.02989, -0.0372, -0.04145, -0.0445, -0.04641, -0.04768",\
                 "0.3262, 0.2873, 0.2063, 0.136, 0.08475, 0.04839, 0.0229, 0.004995, -0.007908, -0.01717",\
                 "0.817, 0.7576, 0.6177, 0.4706, 0.3519, 0.2614, 0.1922, 0.1417, 0.1027, 0.0732",\
                 "1.525, 1.451, 1.26, 1.032, 0.8244, 0.6554, 0.5211, 0.4151, 0.3314, 0.2656",\
                 "2.468, 2.382, 2.149, 1.846, 1.541, 1.276, 1.054, 0.8726, 0.725, 0.6042",\
                 "3.662, 3.568, 3.3, 2.931, 2.533, 2.16, 1.834, 1.558, 1.326, 1.132",\
                 "5.125, 5.022, 4.729, 4.3, 3.816, 3.334, 2.893, 2.505, 2.172, 1.887",\
                 "6.872, 6.762, 6.442, 5.969, 5.405, 4.819, 4.259, 3.749, 3.299, 2.906");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
          index_2("0.001, 0.01065, 0.0445, 0.1092, 0.2099, 0.3512, 0.5372, 0.7715, 1.058, 1.398");
          values("0.5735, 0.586, 0.6064, 0.6172, 0.6241, 0.6287, 0.6402, 0.6502, 0.6516, 0.6691",\
                 "0.5975, 0.5985, 0.6063, 0.615, 0.6252, 0.626, 0.6353, 0.6464, 0.6521, 0.6702",\
                 "0.752, 0.7308, 0.6966, 0.67, 0.6588, 0.6513, 0.6518, 0.6607, 0.6692, 0.6746",\
                 "1.097, 1.054, 0.9652, 0.8808, 0.8133, 0.7717, 0.7392, 0.7289, 0.7203, 0.723",\
                 "1.658, 1.6, 1.457, 1.307, 1.169, 1.054, 0.9768, 0.9098, 0.8694, 0.8407",\
                 "2.456, 2.389, 2.204, 1.977, 1.769, 1.573, 1.412, 1.285, 1.181, 1.105",\
                 "3.514, 3.438, 3.222, 2.925, 2.632, 2.358, 2.113, 1.892, 1.71, 1.565",\
                 "4.851, 4.766, 4.526, 4.175, 3.788, 3.43, 3.091, 2.779, 2.497, 2.274",\
                 "6.485, 6.395, 6.134, 5.737, 5.273, 4.812, 4.381, 3.976, 3.606, 3.266",\
                 "8.436, 8.339, 8.058, 7.628, 7.097, 6.538, 6.002, 5.506, 5.021, 4.583");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
          index_2("0.001, 0.01065, 0.0445, 0.1092, 0.2099, 0.3512, 0.5372, 0.7715, 1.058, 1.398");
          values("0.02415, 0.03331, 0.06444, 0.123, 0.2139, 0.3415, 0.5086, 0.7196, 0.9767, 1.284",\
                 "0.02678, 0.03705, 0.06803, 0.1265, 0.2172, 0.3448, 0.5122, 0.7228, 0.9802, 1.287",\
                 "0.02671, 0.04178, 0.08138, 0.1406, 0.2305, 0.3571, 0.5244, 0.7345, 0.9928, 1.299",\
                 "0.01726, 0.03805, 0.09136, 0.166, 0.26, 0.3851, 0.551, 0.7607, 1.018, 1.323",\
                 "-0.00324, 0.02291, 0.09037, 0.1841, 0.2981, 0.4325, 0.5959, 0.8041, 1.059, 1.363",\
                 "-0.03583, -0.0044, 0.07624, 0.1891, 0.3255, 0.4832, 0.6623, 0.8693, 1.121, 1.425",\
                 "-0.08187, -0.04512, 0.04866, 0.1798, 0.3385, 0.5221, 0.7271, 0.9553, 1.21, 1.51",\
                 "-0.1421, -0.1005, 0.0065, 0.1551, 0.3367, 0.5455, 0.7781, 1.034, 1.315, 1.623",\
                 "-0.2175, -0.1712, -0.0514, 0.1142, 0.3177, 0.5513, 0.8128, 1.099, 1.409, 1.745",\
                 "-0.3097, -0.2587, -0.126, 0.0582, 0.2818, 0.5402, 0.8288, 1.145, 1.488, 1.856");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
          index_2("0.001, 0.01065, 0.0445, 0.1092, 0.2099, 0.3512, 0.5372, 0.7715, 1.058, 1.398");
          values("0.02833, 0.04235, 0.08943, 0.1776, 0.3137, 0.5037, 0.7541, 1.072, 1.456, 1.916",\
                 "0.03552, 0.0486, 0.09471, 0.1825, 0.3187, 0.5085, 0.7595, 1.074, 1.461, 1.921",\
                 "0.05719, 0.07415, 0.1206, 0.2057, 0.34, 0.53, 0.7796, 1.096, 1.479, 1.94",\
                 "0.0899, 0.1129, 0.1715, 0.2583, 0.3884, 0.5745, 0.8213, 1.135, 1.52, 1.976",\
                 "0.1337, 0.1629, 0.237, 0.3399, 0.4725, 0.6538, 0.8966, 1.206, 1.586, 2.042",\
                 "0.1889, 0.2253, 0.3156, 0.4387, 0.5892, 0.7734, 1.011, 1.315, 1.691, 2.142",\
                 "0.2566, 0.2999, 0.4074, 0.552, 0.7256, 0.9286, 1.169, 1.467, 1.835, 2.28",\
                 "0.3386, 0.3884, 0.5124, 0.6796, 0.8789, 1.107, 1.366, 1.668, 2.03, 2.469",\
                 "0.4349, 0.4912, 0.6338, 0.8236, 1.048, 1.303, 1.588, 1.91, 2.276, 2.707",\
                 "0.5478, 0.6104, 0.769, 0.9829, 1.233, 1.517, 1.832, 2.179, 2.566, 3.002");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
          index_2("0.001, 0.01065, 0.0445, 0.1092, 0.2099, 0.3512, 0.5372, 0.7715, 1.058, 1.398");
          values("0.01882, 0.03371, 0.08589, 0.1851, 0.3391, 0.5567, 0.8418, 1.203, 1.639, 2.166",\
                 "0.02411, 0.03588, 0.0857, 0.185, 0.3398, 0.5568, 0.842, 1.202, 1.64, 2.165",\
                 "0.04032, 0.05676, 0.1008, 0.1857, 0.3397, 0.556, 0.8415, 1.201, 1.643, 2.164",\
                 "0.06858, 0.09058, 0.1449, 0.225, 0.3494, 0.5564, 0.8421, 1.202, 1.642, 2.162",\
                 "0.1078, 0.137, 0.2054, 0.2978, 0.4185, 0.5872, 0.8461, 1.2, 1.641, 2.161",\
                 "0.1565, 0.1936, 0.2793, 0.3891, 0.5232, 0.69, 0.9074, 1.22, 1.641, 2.163",\
                 "0.2146, 0.2618, 0.366, 0.4959, 0.6496, 0.83, 1.048, 1.318, 1.687, 2.17",\
                 "0.2829, 0.3398, 0.4658, 0.6188, 0.7946, 0.9944, 1.226, 1.499, 1.827, 2.255",\
                 "0.3604, 0.4272, 0.5768, 0.7558, 0.9554, 1.181, 1.431, 1.717, 2.049, 2.439",\
                 "0.4492, 0.527, 0.7012, 0.9098, 1.137, 1.384, 1.66, 1.965, 2.312, 2.705");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
          index_2("0.001, 0.01065, 0.0445, 0.1092, 0.2099, 0.3512, 0.5372, 0.7715, 1.058, 1.398");
          values("0.03291, 0.05663, 0.1403, 0.2992, 0.5473, 0.8961, 1.359, 1.936, 2.64, 3.482",\
                 "0.03555, 0.05694, 0.14, 0.2999, 0.5491, 0.8963, 1.355, 1.935, 2.636, 3.484",\
                 "0.05368, 0.07426, 0.1432, 0.2997, 0.5503, 0.8965, 1.358, 1.935, 2.649, 3.48",\
                 "0.08172, 0.1079, 0.1775, 0.3087, 0.548, 0.8997, 1.356, 1.94, 2.638, 3.494",\
                 "0.1188, 0.152, 0.2358, 0.3607, 0.566, 0.8972, 1.359, 1.932, 2.64, 3.488",\
                 "0.1626, 0.2054, 0.3073, 0.4465, 0.6365, 0.9272, 1.357, 1.933, 2.638, 3.479",\
                 "0.2174, 0.2682, 0.389, 0.55, 0.7486, 1.016, 1.404, 1.941, 2.638, 3.481",\
                 "0.2782, 0.3396, 0.4796, 0.6676, 0.89, 1.157, 1.513, 2.001, 2.653, 3.478",\
                 "0.3506, 0.4176, 0.5824, 0.7958, 1.046, 1.332, 1.682, 2.13, 2.737, 3.505",\
                 "0.4356, 0.5064, 0.6926, 0.9336, 1.214, 1.53, 1.891, 2.33, 2.882, 3.61");
        }
      }
    }
  }

