/*
 * 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__clkinv_8) {
    area : 50.803200 ;

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

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

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

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

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

    pin(I) {
      capacitance : 0.04341 ;
      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 : 2.891 ;
      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.02095, 0.09096, 0.2247, 0.433, 0.7253, 1.11, 1.594, 2.186, 2.891");
          values("-0.058, -0.0489, -0.04078, -0.03763, -0.03658, -0.03539, -0.03508, -0.03482, -0.03467, -0.03456",\
                 "-0.06399, -0.05729, -0.04641, -0.04096, -0.03823, -0.03668, -0.03573, -0.03545, -0.0349, -0.03471",\
                 "-0.02076, -0.02608, -0.03166, -0.03304, -0.03419, -0.03369, -0.0343, -0.03438, -0.03437, -0.03398",\
                 "0.1274, 0.1022, 0.05907, 0.02737, 0.007136, -0.005676, -0.01383, -0.0193, -0.02305, -0.02547",\
                 "0.3907, 0.3489, 0.2605, 0.1801, 0.1215, 0.08014, 0.05108, 0.03067, 0.01598, 0.005354",\
                 "0.7763, 0.7217, 0.5913, 0.4529, 0.3401, 0.2539, 0.1893, 0.1412, 0.1052, 0.0778",\
                 "1.292, 1.227, 1.063, 0.8664, 0.6877, 0.5432, 0.4287, 0.3394, 0.2695, 0.2149",\
                 "1.947, 1.873, 1.681, 1.43, 1.184, 0.9684, 0.7931, 0.6491, 0.5332, 0.4392",\
                 "2.749, 2.669, 2.452, 2.155, 1.841, 1.551, 1.301, 1.094, 0.9192, 0.7741",\
                 "3.709, 3.622, 3.384, 3.046, 2.669, 2.303, 1.973, 1.689, 1.445, 1.24");
        }

        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.02095, 0.09096, 0.2247, 0.433, 0.7253, 1.11, 1.594, 2.186, 2.891");
          values("0.4265, 0.4353, 0.4444, 0.45, 0.4527, 0.4577, 0.4642, 0.4749, 0.4821, 0.4898",\
                 "0.4305, 0.4346, 0.4428, 0.448, 0.4517, 0.4588, 0.4638, 0.472, 0.4846, 0.4898",\
                 "0.5034, 0.4882, 0.4735, 0.4653, 0.461, 0.4627, 0.4682, 0.4749, 0.485, 0.497",\
                 "0.6781, 0.6456, 0.587, 0.5448, 0.5179, 0.5016, 0.4948, 0.495, 0.4969, 0.5042",\
                 "0.9689, 0.9227, 0.8195, 0.7322, 0.6583, 0.6085, 0.5762, 0.5591, 0.5419, 0.5402",\
                 "1.385, 1.33, 1.191, 1.036, 0.9175, 0.8177, 0.7479, 0.6887, 0.6567, 0.6266",\
                 "1.939, 1.874, 1.705, 1.496, 1.309, 1.158, 1.032, 0.9324, 0.8579, 0.7922",\
                 "2.639, 2.568, 2.374, 2.117, 1.858, 1.638, 1.456, 1.299, 1.17, 1.069",\
                 "3.498, 3.419, 3.206, 2.908, 2.583, 2.279, 2.029, 1.811, 1.628, 1.464",\
                 "4.523, 4.438, 4.205, 3.87, 3.485, 3.106, 2.772, 2.491, 2.232, 2.017");
        }
      }

      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.02095, 0.09096, 0.2247, 0.433, 0.7253, 1.11, 1.594, 2.186, 2.891");
          values("0.03977, 0.05889, 0.1234, 0.2444, 0.4322, 0.6975, 1.045, 1.482, 2.016, 2.654",\
                 "0.04593, 0.06498, 0.1296, 0.2508, 0.439, 0.7035, 1.051, 1.487, 2.024, 2.66",\
                 "0.05619, 0.08372, 0.1559, 0.2764, 0.4639, 0.7284, 1.076, 1.513, 2.046, 2.684",\
                 "0.06161, 0.09944, 0.1946, 0.3303, 0.5158, 0.7777, 1.124, 1.561, 2.094, 2.732",\
                 "0.06068, 0.1087, 0.2286, 0.3947, 0.6023, 0.8613, 1.204, 1.639, 2.171, 2.805",\
                 "0.05321, 0.1111, 0.255, 0.4536, 0.6965, 0.9837, 1.324, 1.755, 2.284, 2.916",\
                 "0.0385, 0.106, 0.2739, 0.5049, 0.7855, 1.111, 1.485, 1.915, 2.44, 3.069",\
                 "0.0155, 0.0923, 0.2841, 0.5476, 0.8661, 1.234, 1.651, 2.118, 2.642, 3.266",\
                 "-0.0156, 0.0699, 0.2835, 0.5812, 0.9379, 1.348, 1.809, 2.323, 2.89, 3.516",\
                 "-0.0555, 0.0401, 0.2775, 0.6049, 0.9979, 1.453, 1.959, 2.52, 3.138, 3.81");
        }

        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.02095, 0.09096, 0.2247, 0.433, 0.7253, 1.11, 1.594, 2.186, 2.891");
          values("0.03204, 0.05186, 0.1182, 0.2426, 0.4373, 0.7094, 1.066, 1.518, 2.066, 2.725",\
                 "0.04136, 0.06072, 0.1269, 0.2519, 0.4462, 0.7175, 1.076, 1.526, 2.078, 2.734",\
                 "0.06381, 0.09142, 0.1628, 0.2859, 0.479, 0.7507, 1.109, 1.558, 2.108, 2.764",\
                 "0.09214, 0.1304, 0.2244, 0.3577, 0.548, 0.8173, 1.173, 1.622, 2.174, 2.829",\
                 "0.1258, 0.1749, 0.2944, 0.4579, 0.6613, 0.9271, 1.28, 1.727, 2.275, 2.929",\
                 "0.1644, 0.2246, 0.3711, 0.5678, 0.806, 1.087, 1.436, 1.879, 2.421, 3.073",\
                 "0.2083, 0.2801, 0.4536, 0.6851, 0.9616, 1.281, 1.647, 2.086, 2.625, 3.273",\
                 "0.2583, 0.3413, 0.542, 0.8104, 1.126, 1.488, 1.896, 2.354, 2.889, 3.531",\
                 "0.3142, 0.4089, 0.6371, 0.9411, 1.299, 1.705, 2.157, 2.66, 3.216, 3.853",\
                 "0.3771, 0.4829, 0.7392, 1.08, 1.48, 1.931, 2.43, 2.98, 3.585, 4.243");
        }

        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.02095, 0.09096, 0.2247, 0.433, 0.7253, 1.11, 1.594, 2.186, 2.891");
          values("0.03181, 0.06308, 0.1722, 0.3788, 0.7016, 1.16, 1.76, 2.513, 3.434, 4.535",\
                 "0.03382, 0.06274, 0.1716, 0.3784, 0.7034, 1.158, 1.76, 2.509, 3.438, 4.532",\
                 "0.05824, 0.08916, 0.1784, 0.3796, 0.7028, 1.159, 1.757, 2.515, 3.427, 4.533",\
                 "0.098, 0.1381, 0.2391, 0.4034, 0.703, 1.159, 1.755, 2.513, 3.432, 4.536",\
                 "0.1513, 0.2027, 0.3256, 0.5025, 0.754, 1.162, 1.756, 2.51, 3.427, 4.524",\
                 "0.2152, 0.2817, 0.4313, 0.6312, 0.8966, 1.247, 1.771, 2.509, 3.428, 4.525",\
                 "0.29, 0.3742, 0.5554, 0.7862, 1.072, 1.437, 1.895, 2.545, 3.428, 4.52",\
                 "0.3758, 0.4742, 0.6926, 0.964, 1.28, 1.664, 2.133, 2.71, 3.496, 4.533",\
                 "0.4756, 0.589, 0.8434, 1.157, 1.515, 1.928, 2.42, 3.001, 3.707, 4.64",\
                 "0.5898, 0.7166, 1.011, 1.37, 1.772, 2.221, 2.737, 3.35, 4.046, 4.894");
        }

        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.02095, 0.09096, 0.2247, 0.433, 0.7253, 1.11, 1.594, 2.186, 2.891");
          values("0.03951, 0.07333, 0.1919, 0.4215, 0.7753, 1.272, 1.926, 2.756, 3.768, 4.953",\
                 "0.04422, 0.07355, 0.1926, 0.4217, 0.7749, 1.275, 1.926, 2.759, 3.76, 4.954",\
                 "0.06986, 0.101, 0.1979, 0.42, 0.7738, 1.273, 1.925, 2.759, 3.767, 4.969",\
                 "0.1101, 0.15, 0.2539, 0.4362, 0.774, 1.27, 1.925, 2.758, 3.756, 4.954",\
                 "0.161, 0.2132, 0.3382, 0.5253, 0.8073, 1.272, 1.925, 2.749, 3.754, 4.949",\
                 "0.2223, 0.2897, 0.4436, 0.6496, 0.9284, 1.329, 1.931, 2.748, 3.765, 4.955",\
                 "0.2958, 0.3744, 0.5596, 0.8052, 1.1, 1.483, 2.018, 2.767, 3.761, 4.952",\
                 "0.3808, 0.4722, 0.691, 0.9726, 1.303, 1.704, 2.207, 2.884, 3.785, 4.955",\
                 "0.479, 0.585, 0.8358, 1.16, 1.53, 1.958, 2.476, 3.109, 3.938, 5.008",\
                 "0.5932, 0.7108, 0.9936, 1.361, 1.779, 2.245, 2.787, 3.43, 4.202, 5.196");
        }
      }
    }
  }

