/*
 * 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_12) {
    area : 73.382400 ;

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

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

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

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

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

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

    pin(ZN) {
      direction : output ;
      function : "(!I)" ;
      max_capacitance : 4.377 ;
      max_transition : 5.2 ;
      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.0312, 0.1372, 0.3397, 0.6551, 1.098, 1.68, 2.414, 3.309, 4.377");
          values("-0.08417, -0.07433, -0.06213, -0.05699, -0.05462, -0.05394, -0.05262, -0.05242, -0.05224, -0.05176",\
                 "-0.08641, -0.07877, -0.0669, -0.06035, -0.05653, -0.05491, -0.05356, -0.05306, -0.05273, -0.05234",\
                 "0.006229, -0.006547, -0.02216, -0.03276, -0.03878, -0.04289, -0.04537, -0.04692, -0.04804, -0.0488",\
                 "0.2838, 0.2427, 0.1641, 0.1015, 0.0571, 0.0272, 0.00621, -0.00777, -0.01799, -0.02537",\
                 "0.7723, 0.7056, 0.555, 0.4096, 0.2977, 0.2149, 0.1536, 0.1091, 0.07567, 0.05026",\
                 "1.485, 1.398, 1.184, 0.943, 0.7359, 0.5737, 0.4488, 0.352, 0.2761, 0.2171",\
                 "2.437, 2.335, 2.067, 1.733, 1.419, 1.153, 0.9379, 0.7665, 0.629, 0.518",\
                 "3.647, 3.532, 3.217, 2.801, 2.373, 1.989, 1.667, 1.4, 1.178, 0.9951",\
                 "5.131, 5.005, 4.652, 4.16, 3.624, 3.116, 2.669, 2.283, 1.961, 1.687",\
                 "6.902, 6.768, 6.382, 5.824, 5.19, 4.558, 3.975, 3.456, 3.011, 2.628");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.0312, 0.1372, 0.3397, 0.6551, 1.098, 1.68, 2.414, 3.309, 4.377");
          values("0.747, 0.7675, 0.7963, 0.8129, 0.8192, 0.8206, 0.8349, 0.8464, 0.8592, 0.8695",\
                 "0.7527, 0.7593, 0.7831, 0.801, 0.8102, 0.8206, 0.8335, 0.8514, 0.8664, 0.8767",\
                 "0.894, 0.8723, 0.8439, 0.8273, 0.8267, 0.8307, 0.8418, 0.8496, 0.8664, 0.8767",\
                 "1.236, 1.186, 1.092, 1.007, 0.9498, 0.9189, 0.9008, 0.8943, 0.8952, 0.9019",\
                 "1.803, 1.73, 1.568, 1.407, 1.268, 1.166, 1.097, 1.045, 1.014, 1.006",\
                 "2.614, 2.527, 2.304, 2.054, 1.831, 1.634, 1.475, 1.357, 1.277, 1.204",\
                 "3.693, 3.591, 3.322, 2.982, 2.654, 2.371, 2.119, 1.906, 1.741, 1.622",\
                 "5.059, 4.946, 4.637, 4.216, 3.783, 3.398, 3.046, 2.727, 2.45, 2.237",\
                 "6.732, 6.608, 6.265, 5.778, 5.243, 4.733, 4.273, 3.852, 3.466, 3.126",\
                 "8.728, 8.597, 8.222, 7.678, 7.045, 6.42, 5.834, 5.306, 4.805, 4.364");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.0312, 0.1372, 0.3397, 0.6551, 1.098, 1.68, 2.414, 3.309, 4.377");
          values("0.02921, 0.04044, 0.07852, 0.1502, 0.2619, 0.4174, 0.6226, 0.8815, 1.198, 1.575",\
                 "0.03449, 0.04714, 0.08517, 0.157, 0.2684, 0.4246, 0.6303, 0.8882, 1.205, 1.58",\
                 "0.03547, 0.05583, 0.108, 0.1827, 0.2937, 0.4491, 0.6544, 0.9132, 1.23, 1.605",\
                 "0.02202, 0.05099, 0.1238, 0.2234, 0.3448, 0.4993, 0.7038, 0.9618, 1.276, 1.653",\
                 "-0.00824, 0.0287, 0.123, 0.2507, 0.4032, 0.5792, 0.7834, 1.04, 1.353, 1.729",\
                 "-0.05681, -0.01168, 0.1022, 0.2585, 0.4444, 0.6554, 0.8917, 1.154, 1.466, 1.839",\
                 "-0.1253, -0.0727, 0.0612, 0.2444, 0.4646, 0.7129, 0.9873, 1.289, 1.617, 1.988",\
                 "-0.2151, -0.155, -0.0018, 0.2081, 0.4612, 0.7474, 1.063, 1.405, 1.777, 2.177",\
                 "-0.3271, -0.2603, -0.0884, 0.148, 0.433, 0.7566, 1.114, 1.5, 1.916, 2.362",\
                 "-0.4633, -0.3897, -0.2001, 0.0628, 0.3775, 0.7401, 1.138, 1.569, 2.032, 2.524");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.0312, 0.1372, 0.3397, 0.6551, 1.098, 1.68, 2.414, 3.309, 4.377");
          values("0.0386, 0.05908, 0.1272, 0.2537, 0.4498, 0.7246, 1.087, 1.542, 2.099, 2.761",\
                 "0.04824, 0.06758, 0.1351, 0.2624, 0.4584, 0.7333, 1.096, 1.552, 2.108, 2.77",\
                 "0.08001, 0.1045, 0.1727, 0.2969, 0.4923, 0.7658, 1.127, 1.584, 2.139, 2.803",\
                 "0.1282, 0.1611, 0.2461, 0.3742, 0.5644, 0.8359, 1.195, 1.649, 2.205, 2.864",\
                 "0.1923, 0.2344, 0.3408, 0.4914, 0.6881, 0.9536, 1.307, 1.758, 2.31, 2.969",\
                 "0.274, 0.3261, 0.4554, 0.6336, 0.8558, 1.128, 1.476, 1.919, 2.466, 3.122",\
                 "0.3741, 0.4363, 0.5904, 0.7986, 1.05, 1.352, 1.708, 2.144, 2.683, 3.333",\
                 "0.4958, 0.5671, 0.7461, 0.9859, 1.272, 1.605, 1.993, 2.438, 2.97, 3.612",\
                 "0.6395, 0.7201, 0.9237, 1.196, 1.519, 1.888, 2.308, 2.789, 3.329, 3.963",\
                 "0.8071, 0.8967, 1.124, 1.43, 1.79, 2.199, 2.657, 3.171, 3.75, 4.392");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.0312, 0.1372, 0.3397, 0.6551, 1.098, 1.68, 2.414, 3.309, 4.377");
          values("0.02272, 0.04094, 0.1051, 0.2276, 0.4194, 0.6864, 1.04, 1.483, 2.029, 2.679",\
                 "0.02913, 0.04338, 0.1054, 0.2277, 0.4192, 0.687, 1.041, 1.483, 2.029, 2.675",\
                 "0.05156, 0.07282, 0.129, 0.2303, 0.4188, 0.6868, 1.041, 1.483, 2.031, 2.672",\
                 "0.08872, 0.1179, 0.189, 0.2921, 0.4402, 0.6884, 1.039, 1.485, 2.028, 2.678",\
                 "0.1397, 0.1781, 0.2687, 0.3896, 0.5463, 0.7478, 1.051, 1.484, 2.028, 2.672",\
                 "0.2036, 0.2533, 0.3656, 0.5114, 0.6876, 0.9036, 1.166, 1.528, 2.032, 2.674",\
                 "0.2778, 0.3406, 0.4792, 0.653, 0.8552, 1.092, 1.374, 1.703, 2.129, 2.703",\
                 "0.3636, 0.4414, 0.609, 0.8116, 1.045, 1.31, 1.614, 1.967, 2.367, 2.864",\
                 "0.4628, 0.553, 0.7546, 0.9908, 1.255, 1.554, 1.885, 2.261, 2.69, 3.168",\
                 "0.575, 0.6782, 0.9122, 1.185, 1.488, 1.821, 2.189, 2.591, 3.044, 3.55");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.0312, 0.1372, 0.3397, 0.6551, 1.098, 1.68, 2.414, 3.309, 4.377");
          values("0.04526, 0.07957, 0.1998, 0.4302, 0.7867, 1.29, 1.948, 2.782, 3.801, 5.013",\
                 "0.04732, 0.07947, 0.2, 0.4298, 0.7903, 1.294, 1.951, 2.788, 3.806, 5.008",\
                 "0.07076, 0.1018, 0.2029, 0.4291, 0.7877, 1.29, 1.956, 2.783, 3.808, 5.009",\
                 "0.1091, 0.1453, 0.2498, 0.4405, 0.7871, 1.289, 1.949, 2.781, 3.799, 5.011",\
                 "0.1587, 0.2044, 0.3223, 0.5127, 0.8119, 1.291, 1.951, 2.78, 3.797, 5.022",\
                 "0.2192, 0.2772, 0.4182, 0.6204, 0.9102, 1.331, 1.955, 2.781, 3.798, 5.009",\
                 "0.2926, 0.3606, 0.5292, 0.7568, 1.057, 1.458, 2.017, 2.796, 3.798, 5.024",\
                 "0.3748, 0.4574, 0.6522, 0.9112, 1.232, 1.644, 2.173, 2.886, 3.817, 5.016",\
                 "0.4716, 0.5628, 0.7888, 1.084, 1.435, 1.861, 2.404, 3.065, 3.937, 5.044",\
                 "0.5836, 0.6836, 0.9408, 1.273, 1.661, 2.116, 2.663, 3.333, 4.149, 5.189");
        }
      }
    }
  }

