/*
 * 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.000302841" ;
    }

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

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

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

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

    pin(I) {
      capacitance : 0.0435 ;
      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 ;
    }

    pin(ZN) {
      direction : output ;
      function : "(!I)" ;
      max_capacitance : 2.887 ;
      max_transition : 2.8 ;
      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.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.001, 0.02092, 0.09086, 0.2244, 0.4325, 0.7244, 1.109, 1.592, 2.183, 2.887");
          values("-0.2001, -0.1797, -0.15, -0.135, -0.1283, -0.1242, -0.1223, -0.1213, -0.1205, -0.1201",\
                 "-0.1844, -0.1763, -0.1538, -0.138, -0.1306, -0.1261, -0.1239, -0.1225, -0.1214, -0.1208",\
                 "-0.01052, -0.0356, -0.07067, -0.09161, -0.1021, -0.1071, -0.1101, -0.1118, -0.1152, -0.1153",\
                 "0.4412, 0.3722, 0.2386, 0.1311, 0.05583, 0.00527, -0.02831, -0.05123, -0.06703, -0.07826",\
                 "1.197, 1.096, 0.8632, 0.6299, 0.4468, 0.3094, 0.2091, 0.1352, 0.0814, 0.04104",\
                 "2.286, 2.158, 1.842, 1.477, 1.154, 0.8909, 0.685, 0.5251, 0.4015, 0.3055",\
                 "3.731, 3.585, 3.203, 2.707, 2.231, 1.822, 1.476, 1.195, 0.9701, 0.7899",\
                 "5.56, 5.399, 4.961, 4.361, 3.728, 3.147, 2.64, 2.213, 1.853, 1.555",\
                 "7.804, 7.624, 7.139, 6.447, 5.673, 4.911, 4.228, 3.632, 3.111, 2.665",\
                 "10.48, 10.29, 9.761, 8.989, 8.085, 7.157, 6.285, 5.493, 4.795, 4.182");
        }

        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.001, 0.02092, 0.09086, 0.2244, 0.4325, 0.7244, 1.109, 1.592, 2.183, 2.887");
          values("0.9829, 0.9958, 1.017, 1.034, 1.032, 1.038, 1.054, 1.066, 1.144, 1.089",\
                 "1.031, 1.028, 1.027, 1.033, 1.038, 1.036, 1.059, 1.063, 1.144, 1.089",\
                 "1.27, 1.223, 1.161, 1.112, 1.093, 1.075, 1.102, 1.107, 1.133, 1.105",\
                 "1.775, 1.698, 1.541, 1.406, 1.308, 1.25, 1.198, 1.21, 1.204, 1.237",\
                 "2.592, 2.491, 2.236, 1.993, 1.781, 1.617, 1.505, 1.439, 1.397, 1.391",\
                 "3.747, 3.631, 3.315, 2.929, 2.611, 2.312, 2.072, 1.912, 1.793, 1.71",\
                 "5.275, 5.145, 4.781, 4.282, 3.799, 3.397, 3.014, 2.704, 2.464, 2.277",\
                 "7.206, 7.062, 6.66, 6.076, 5.446, 4.87, 4.364, 3.89, 3.503, 3.206",\
                 "9.567, 9.413, 8.981, 8.324, 7.554, 6.791, 6.127, 5.534, 4.983, 4.504",\
                 "12.39, 12.22, 11.76, 11.04, 10.16, 9.245, 8.372, 7.63, 6.891, 6.264");
        }
      }

      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.001, 0.02092, 0.09086, 0.2244, 0.4325, 0.7244, 1.109, 1.592, 2.183, 2.887");
          values("0.02341, 0.0353, 0.07537, 0.1503, 0.2663, 0.4292, 0.6431, 0.9125, 1.241, 1.634",\
                 "0.02631, 0.03848, 0.07828, 0.1533, 0.2693, 0.4321, 0.646, 0.9156, 1.244, 1.636",\
                 "0.03241, 0.04858, 0.09168, 0.1652, 0.2808, 0.4429, 0.6564, 0.9257, 1.255, 1.646",\
                 "0.03869, 0.06029, 0.1142, 0.1933, 0.3064, 0.467, 0.6795, 0.9481, 1.276, 1.667",\
                 "0.04365, 0.07105, 0.1383, 0.2314, 0.3516, 0.509, 0.7192, 0.9857, 1.312, 1.702",\
                 "0.0467, 0.08048, 0.1612, 0.2715, 0.4078, 0.5735, 0.7799, 1.044, 1.368, 1.755",\
                 "0.04777, 0.08775, 0.183, 0.3109, 0.4663, 0.6503, 0.8661, 1.125, 1.445, 1.83",\
                 "0.04653, 0.09283, 0.2028, 0.3492, 0.5248, 0.7289, 0.9642, 1.234, 1.55, 1.931",\
                 "0.0436, 0.0953, 0.22, 0.3851, 0.5823, 0.8084, 1.065, 1.356, 1.684, 2.06",\
                 "0.0378, 0.0952, 0.2346, 0.4189, 0.6374, 0.8872, 1.167, 1.48, 1.831, 2.22");
        }

        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.001, 0.02092, 0.09086, 0.2244, 0.4325, 0.7244, 1.109, 1.592, 2.183, 2.887");
          values("0.01868, 0.02964, 0.06759, 0.1387, 0.2494, 0.4044, 0.6094, 0.8656, 1.181, 1.553",\
                 "0.02301, 0.03456, 0.07186, 0.1427, 0.2533, 0.4085, 0.6133, 0.8693, 1.185, 1.557",\
                 "0.03325, 0.04916, 0.0897, 0.1591, 0.2689, 0.4232, 0.6268, 0.8852, 1.198, 1.571",\
                 "0.04617, 0.0679, 0.1204, 0.1948, 0.302, 0.4549, 0.6574, 0.9127, 1.227, 1.6",\
                 "0.06082, 0.08868, 0.1554, 0.2455, 0.3584, 0.5082, 0.7081, 0.962, 1.274, 1.646",\
                 "0.07665, 0.1115, 0.1929, 0.3013, 0.4319, 0.588, 0.7842, 1.035, 1.343, 1.714",\
                 "0.09395, 0.1356, 0.2325, 0.3602, 0.5119, 0.6869, 0.8901, 1.137, 1.442, 1.809",\
                 "0.1123, 0.1611, 0.2741, 0.422, 0.5958, 0.7933, 1.016, 1.271, 1.572, 1.935",\
                 "0.1317, 0.1881, 0.3175, 0.4857, 0.6821, 0.9042, 1.151, 1.427, 1.735, 2.094",\
                 "0.1529, 0.216, 0.3625, 0.5514, 0.7719, 1.019, 1.292, 1.591, 1.923, 2.289");
        }

        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.001, 0.02092, 0.09086, 0.2244, 0.4325, 0.7244, 1.109, 1.592, 2.183, 2.887");
          values("0.01708, 0.03536, 0.0996, 0.222, 0.4127, 0.6821, 1.032, 1.475, 2.019, 2.662",\
                 "0.02054, 0.03581, 0.1, 0.2232, 0.414, 0.682, 1.032, 1.475, 2.018, 2.663",\
                 "0.03217, 0.04998, 0.1034, 0.2218, 0.4134, 0.6801, 1.033, 1.476, 2.015, 2.662",\
                 "0.05174, 0.0751, 0.133, 0.2322, 0.4129, 0.6814, 1.036, 1.475, 2.017, 2.662",\
                 "0.0768, 0.1076, 0.1773, 0.2796, 0.4328, 0.6823, 1.035, 1.475, 2.017, 2.663",\
                 "0.106, 0.1458, 0.2322, 0.346, 0.4992, 0.7143, 1.036, 1.48, 2.023, 2.662",\
                 "0.1404, 0.1893, 0.2952, 0.427, 0.589, 0.8004, 1.084, 1.486, 2.018, 2.663",\
                 "0.1774, 0.2374, 0.3626, 0.5172, 0.6976, 0.917, 1.19, 1.55, 2.039, 2.667",\
                 "0.2202, 0.2892, 0.4378, 0.616, 0.8202, 1.052, 1.335, 1.678, 2.119, 2.698",\
                 "0.2676, 0.3452, 0.518, 0.7224, 0.9508, 1.207, 1.499, 1.852, 2.269, 2.797");
        }

        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.001, 0.02092, 0.09086, 0.2244, 0.4325, 0.7244, 1.109, 1.592, 2.183, 2.887");
          values("0.0201, 0.03796, 0.1022, 0.2254, 0.4167, 0.6837, 1.039, 1.481, 2.029, 2.673",\
                 "0.02513, 0.03934, 0.1026, 0.2249, 0.4164, 0.6847, 1.039, 1.482, 2.029, 2.673",\
                 "0.03666, 0.05436, 0.1064, 0.225, 0.4163, 0.6849, 1.039, 1.485, 2.029, 2.678",\
                 "0.05544, 0.079, 0.1362, 0.2348, 0.4161, 0.6854, 1.039, 1.487, 2.029, 2.676",\
                 "0.07862, 0.11, 0.1805, 0.2807, 0.4337, 0.685, 1.038, 1.483, 2.028, 2.676",\
                 "0.107, 0.1455, 0.2325, 0.3468, 0.4963, 0.7136, 1.04, 1.483, 2.026, 2.676",\
                 "0.1374, 0.1843, 0.2906, 0.4262, 0.586, 0.7924, 1.083, 1.489, 2.026, 2.675",\
                 "0.1732, 0.2296, 0.354, 0.511, 0.6928, 0.9082, 1.179, 1.545, 2.039, 2.675",\
                 "0.213, 0.278, 0.4248, 0.6042, 0.8108, 1.045, 1.32, 1.661, 2.111, 2.696",\
                 "0.2576, 0.3324, 0.497, 0.7026, 0.9352, 1.195, 1.485, 1.828, 2.248, 2.788");
        }
      }
    }
  }

