/*
 * 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_mcu7t5v0__clkinv_20) {
    area : 92.198400 ;

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

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

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

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

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

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

    pin(ZN) {
      direction : output ;
      function : "(!I)" ;
      max_capacitance : 4.235 ;
      max_transition : 3.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.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
          index_2("0.001, 0.03022, 0.1328, 0.3287, 0.6338, 1.062, 1.625, 2.335, 3.202, 4.235");
          values("-0.2589, -0.2327, -0.197, -0.1788, -0.1698, -0.1652, -0.1627, -0.1611, -0.1602, -0.1592",\
                 "-0.2526, -0.2365, -0.2062, -0.1836, -0.1747, -0.1669, -0.1641, -0.1625, -0.1613, -0.1604",\
                 "-0.01297, -0.04145, -0.08665, -0.1142, -0.1298, -0.1391, -0.1448, -0.1482, -0.1503, -0.1523",\
                 "0.7001, 0.6004, 0.4035, 0.238, 0.1212, 0.04021, -0.01196, -0.04936, -0.07484, -0.0928",\
                 "1.954, 1.797, 1.427, 1.052, 0.7535, 0.5324, 0.3701, 0.2506, 0.1643, 0.09928",\
                 "3.784, 3.582, 3.061, 2.451, 1.915, 1.481, 1.144, 0.8836, 0.6836, 0.5284",\
                 "6.232, 5.994, 5.351, 4.518, 3.706, 3.012, 2.438, 1.976, 1.607, 1.309",\
                 "9.337, 9.07, 8.326, 7.302, 6.21, 5.219, 4.364, 3.646, 3.051, 2.561",\
                 "13.14, 12.85, 12.02, 10.83, 9.491, 8.178, 7.005, 5.991, 5.12, 4.385",\
                 "17.69, 17.38, 16.48, 15.14, 13.57, 11.95, 10.44, 9.096, 7.907, 6.877");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
          index_2("0.001, 0.03022, 0.1328, 0.3287, 0.6338, 1.062, 1.625, 2.335, 3.202, 4.235");
          values("1.946, 1.968, 2, 2.033, 2.03, 2.061, 2.037, 2.094, 2.073, 2.076",\
                 "1.998, 2.002, 2.018, 2.026, 2.05, 2.045, 2.054, 2.116, 2.123, 2.164",\
                 "2.354, 2.297, 2.219, 2.147, 2.116, 2.1, 2.117, 2.133, 2.145, 2.181",\
                 "3.189, 3.067, 2.828, 2.618, 2.461, 2.355, 2.304, 2.276, 2.249, 2.252",\
                 "4.566, 4.399, 3.993, 3.587, 3.241, 2.98, 2.78, 2.672, 2.59, 2.511",\
                 "6.527, 6.331, 5.805, 5.161, 4.624, 4.137, 3.748, 3.458, 3.245, 3.094",\
                 "9.135, 8.914, 8.29, 7.452, 6.632, 5.912, 5.297, 4.789, 4.378, 4.062",\
                 "12.43, 12.19, 11.5, 10.49, 9.389, 8.398, 7.556, 6.78, 6.121, 5.58",\
                 "16.47, 16.21, 15.45, 14.31, 12.98, 11.68, 10.52, 9.492, 8.574, 7.78",\
                 "21.29, 21.01, 20.19, 18.94, 17.43, 15.82, 14.32, 13.01, 11.79, 10.71");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
          index_2("0.001, 0.03022, 0.1328, 0.3287, 0.6338, 1.062, 1.625, 2.335, 3.202, 4.235");
          values("0.03512, 0.04865, 0.09435, 0.1803, 0.3136, 0.5004, 0.7459, 1.054, 1.432, 1.883",\
                 "0.0386, 0.0518, 0.09741, 0.1833, 0.3165, 0.5037, 0.7491, 1.058, 1.436, 1.885",\
                 "0.04667, 0.06389, 0.1121, 0.1968, 0.3291, 0.5152, 0.7609, 1.07, 1.448, 1.896",\
                 "0.05318, 0.07613, 0.1372, 0.228, 0.3578, 0.542, 0.7856, 1.094, 1.47, 1.921",\
                 "0.05675, 0.08546, 0.1611, 0.2697, 0.4088, 0.5892, 0.8301, 1.136, 1.511, 1.957",\
                 "0.05677, 0.09124, 0.1813, 0.3098, 0.4697, 0.6624, 0.8987, 1.201, 1.572, 2.017",\
                 "0.05324, 0.0932, 0.1981, 0.346, 0.5291, 0.745, 0.9961, 1.294, 1.66, 2.101",\
                 "0.0453, 0.0912, 0.2105, 0.3782, 0.5844, 0.8264, 1.102, 1.416, 1.779, 2.214",\
                 "0.0347, 0.0844, 0.2176, 0.4057, 0.6353, 0.903, 1.207, 1.548, 1.93, 2.362",\
                 "0.0177, 0.0745, 0.2209, 0.4281, 0.6816, 0.9758, 1.309, 1.679, 2.088, 2.541");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
          index_2("0.001, 0.03022, 0.1328, 0.3287, 0.6338, 1.062, 1.625, 2.335, 3.202, 4.235");
          values("0.02703, 0.03935, 0.08147, 0.1606, 0.2838, 0.4565, 0.6827, 0.9699, 1.319, 1.736",\
                 "0.03315, 0.04514, 0.08668, 0.1656, 0.289, 0.4616, 0.6879, 0.9742, 1.325, 1.74",\
                 "0.04808, 0.06462, 0.109, 0.1865, 0.3086, 0.4799, 0.7065, 0.993, 1.343, 1.758",\
                 "0.06687, 0.08928, 0.1475, 0.231, 0.3503, 0.5197, 0.7451, 1.03, 1.378, 1.795",\
                 "0.08813, 0.1168, 0.1906, 0.2934, 0.421, 0.5876, 0.8093, 1.092, 1.438, 1.852",\
                 "0.1117, 0.1467, 0.2367, 0.3607, 0.511, 0.6876, 0.9058, 1.185, 1.528, 1.938",\
                 "0.1375, 0.1791, 0.2854, 0.4315, 0.6068, 0.8081, 1.038, 1.313, 1.652, 2.058",\
                 "0.1656, 0.2143, 0.3372, 0.5057, 0.7064, 0.9358, 1.193, 1.481, 1.815, 2.217",\
                 "0.1962, 0.2514, 0.3914, 0.5822, 0.8094, 1.068, 1.355, 1.67, 2.02, 2.419",\
                 "0.2295, 0.2916, 0.4486, 0.6616, 0.9165, 1.203, 1.521, 1.87, 2.248, 2.663");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
          index_2("0.001, 0.03022, 0.1328, 0.3287, 0.6338, 1.062, 1.625, 2.335, 3.202, 4.235");
          values("0.0304, 0.05231, 0.1287, 0.275, 0.5036, 0.8235, 1.245, 1.776, 2.42, 3.198",\
                 "0.03133, 0.05211, 0.129, 0.2758, 0.5034, 0.8237, 1.247, 1.776, 2.422, 3.197",\
                 "0.04898, 0.06898, 0.1323, 0.2754, 0.5031, 0.8222, 1.246, 1.777, 2.426, 3.192",\
                 "0.07964, 0.1046, 0.1713, 0.2886, 0.5038, 0.8224, 1.243, 1.776, 2.425, 3.198",\
                 "0.1208, 0.1531, 0.233, 0.3519, 0.5312, 0.8256, 1.243, 1.773, 2.42, 3.195",\
                 "0.1707, 0.212, 0.31, 0.444, 0.6217, 0.8722, 1.25, 1.771, 2.42, 3.195",\
                 "0.2298, 0.2799, 0.3989, 0.5545, 0.746, 0.9908, 1.321, 1.794, 2.419, 3.192",\
                 "0.298, 0.3574, 0.5006, 0.6818, 0.8952, 1.15, 1.47, 1.886, 2.459, 3.193",\
                 "0.377, 0.4438, 0.6108, 0.8216, 1.06, 1.339, 1.665, 2.065, 2.576, 3.252",\
                 "0.463, 0.5438, 0.7334, 0.9746, 1.244, 1.548, 1.895, 2.301, 2.787, 3.398");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
          index_2("0.001, 0.03022, 0.1328, 0.3287, 0.6338, 1.062, 1.625, 2.335, 3.202, 4.235");
          values("0.03433, 0.05596, 0.132, 0.2774, 0.5034, 0.8216, 1.237, 1.761, 2.403, 3.168",\
                 "0.03779, 0.05637, 0.132, 0.2767, 0.5052, 0.8196, 1.237, 1.765, 2.404, 3.179",\
                 "0.05738, 0.07644, 0.1365, 0.2771, 0.5029, 0.8202, 1.241, 1.767, 2.404, 3.179",\
                 "0.08688, 0.112, 0.1768, 0.29, 0.5028, 0.8197, 1.24, 1.768, 2.406, 3.167",\
                 "0.1262, 0.1573, 0.2377, 0.3525, 0.5312, 0.8209, 1.237, 1.767, 2.411, 3.167",\
                 "0.1715, 0.2121, 0.3113, 0.4436, 0.6159, 0.8652, 1.243, 1.762, 2.403, 3.178",\
                 "0.2264, 0.2745, 0.3948, 0.5514, 0.7398, 0.975, 1.307, 1.779, 2.408, 3.168",\
                 "0.2888, 0.3466, 0.488, 0.6706, 0.886, 1.135, 1.443, 1.863, 2.435, 3.177",\
                 "0.3612, 0.427, 0.589, 0.8004, 1.044, 1.32, 1.638, 2.027, 2.542, 3.222",\
                 "0.4434, 0.5176, 0.7018, 0.9426, 1.218, 1.526, 1.865, 2.257, 2.736, 3.353");
        }
      }
    }
  }

