/*
 * 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_1) {
    area : 8.780800 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "6.075e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "6.1776e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "6.1776e-05" ;
    }

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

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

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

    pin(ZN) {
      direction : output ;
      function : "(!I)" ;
      max_capacitance : 0.2322 ;
      max_transition : 5 ;
      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.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.002596, 0.008196, 0.01889, 0.03555, 0.05893, 0.0897, 0.1285, 0.1758, 0.2322");
          values("-0.002132, -0.001609, -0.0008753, -0.0004802, -0.0002548, -0.00015, -0.0001034, -0.0001039, -5.645e-05, -5.188e-05",\
                 "-0.003561, -0.002895, -0.001731, -0.0009471, -0.0005589, -0.0003422, -0.0002605, -0.0001838, -0.0001041, -6.682e-05",\
                 "-0.002887, -0.002739, -0.00201, -0.00142, -0.0009078, -0.0006218, -0.0004588, -0.0003268, -0.0002633, -0.0002152",\
                 "0.005843, 0.004913, 0.003015, 0.001736, 0.001069, 0.000683, 0.0004645, 0.0003238, 0.0002305, 0.0001897",\
                 "0.02384, 0.0216, 0.01665, 0.01183, 0.008317, 0.006049, 0.004393, 0.003298, 0.002521, 0.001972",\
                 "0.05184, 0.04848, 0.04011, 0.0311, 0.0235, 0.01781, 0.01366, 0.0106, 0.008348, 0.006634",\
                 "0.09016, 0.08589, 0.07456, 0.06091, 0.04859, 0.03843, 0.03055, 0.02415, 0.01944, 0.01577",\
                 "0.1395, 0.1344, 0.1205, 0.1025, 0.08481, 0.06932, 0.05661, 0.04636, 0.03807, 0.03144",\
                 "0.2004, 0.1946, 0.1784, 0.1563, 0.1332, 0.112, 0.09378, 0.07832, 0.06573, 0.05529",\
                 "0.2735, 0.2672, 0.2488, 0.2231, 0.1947, 0.1675, 0.1431, 0.1219, 0.1037, 0.08895");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.002596, 0.008196, 0.01889, 0.03555, 0.05893, 0.0897, 0.1285, 0.1758, 0.2322");
          values("0.06874, 0.06916, 0.06976, 0.07015, 0.07055, 0.07056, 0.07057, 0.07067, 0.07059, 0.07052",\
                 "0.06789, 0.06834, 0.0693, 0.06993, 0.07019, 0.07025, 0.0703, 0.07026, 0.07041, 0.07007",\
                 "0.07149, 0.07093, 0.0701, 0.07042, 0.07032, 0.07011, 0.07052, 0.07013, 0.06982, 0.06962",\
                 "0.08324, 0.08158, 0.07806, 0.07479, 0.07338, 0.07232, 0.07142, 0.07085, 0.07054, 0.06917",\
                 "0.1044, 0.1015, 0.09536, 0.08847, 0.08265, 0.07875, 0.07678, 0.07485, 0.07369, 0.07052",\
                 "0.1353, 0.1317, 0.1226, 0.112, 0.1017, 0.09423, 0.08929, 0.08354, 0.08112, 0.07817",\
                 "0.1772, 0.1729, 0.1611, 0.1465, 0.133, 0.1194, 0.1097, 0.1016, 0.0948, 0.09032",\
                 "0.2306, 0.2255, 0.2117, 0.193, 0.1747, 0.157, 0.1413, 0.1281, 0.1175, 0.1101",\
                 "0.2961, 0.2907, 0.2749, 0.2531, 0.2289, 0.2067, 0.1864, 0.1665, 0.1513, 0.1385",\
                 "0.3745, 0.3688, 0.3516, 0.3262, 0.2977, 0.2696, 0.2437, 0.2201, 0.1974, 0.179");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.002596, 0.008196, 0.01889, 0.03555, 0.05893, 0.0897, 0.1285, 0.1758, 0.2322");
          values("0.06878, 0.08934, 0.16, 0.2936, 0.5012, 0.7921, 1.175, 1.658, 2.246, 2.949",\
                 "0.07477, 0.09545, 0.1665, 0.3006, 0.5084, 0.7997, 1.183, 1.665, 2.253, 2.955",\
                 "0.09724, 0.1214, 0.1934, 0.3268, 0.5348, 0.8259, 1.209, 1.691, 2.281, 2.982",\
                 "0.1206, 0.152, 0.2438, 0.3834, 0.5892, 0.8799, 1.262, 1.745, 2.333, 3.033",\
                 "0.1424, 0.1817, 0.2934, 0.4638, 0.6797, 0.9671, 1.348, 1.829, 2.417, 3.117",\
                 "0.1613, 0.2089, 0.3422, 0.5408, 0.7955, 1.096, 1.473, 1.95, 2.538, 3.237",\
                 "0.1757, 0.2316, 0.3876, 0.6155, 0.9059, 1.251, 1.643, 2.119, 2.701, 3.399",\
                 "0.1846, 0.2488, 0.4297, 0.6894, 1.012, 1.401, 1.844, 2.334, 2.914, 3.606",\
                 "0.1884, 0.2607, 0.467, 0.758, 1.119, 1.545, 2.036, 2.581, 3.178, 3.866",\
                 "0.1854, 0.2691, 0.4982, 0.8238, 1.223, 1.688, 2.22, 2.82, 3.475, 4.183");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.002596, 0.008196, 0.01889, 0.03555, 0.05893, 0.0897, 0.1285, 0.1758, 0.2322");
          values("0.05442, 0.07309, 0.1374, 0.259, 0.4479, 0.7125, 1.062, 1.5, 2.037, 2.676",\
                 "0.06339, 0.08207, 0.1465, 0.2683, 0.4574, 0.7221, 1.071, 1.51, 2.046, 2.686",\
                 "0.09494, 0.117, 0.182, 0.3034, 0.4923, 0.7572, 1.106, 1.545, 2.08, 2.72",\
                 "0.1352, 0.1646, 0.2483, 0.3741, 0.5613, 0.8255, 1.173, 1.611, 2.147, 2.784",\
                 "0.1813, 0.2192, 0.3242, 0.479, 0.6744, 0.935, 1.282, 1.719, 2.254, 2.89",\
                 "0.232, 0.279, 0.4073, 0.5921, 0.8239, 1.096, 1.439, 1.872, 2.406, 3.041",\
                 "0.2878, 0.3435, 0.4971, 0.714, 0.981, 1.295, 1.651, 2.082, 2.611, 3.244",\
                 "0.348, 0.4135, 0.592, 0.843, 1.147, 1.502, 1.904, 2.35, 2.875, 3.505",\
                 "0.413, 0.4889, 0.6923, 0.9798, 1.324, 1.718, 2.166, 2.66, 3.202, 3.829",\
                 "0.4827, 0.5689, 0.7991, 1.123, 1.508, 1.947, 2.437, 2.983, 3.577, 4.219");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.002596, 0.008196, 0.01889, 0.03555, 0.05893, 0.0897, 0.1285, 0.1758, 0.2322");
          values("0.0718, 0.1046, 0.2185, 0.4373, 0.7765, 1.253, 1.879, 2.668, 3.631, 4.78",\
                 "0.07194, 0.1046, 0.2187, 0.4373, 0.776, 1.253, 1.879, 2.667, 3.631, 4.779",\
                 "0.09444, 0.1198, 0.219, 0.4365, 0.7759, 1.252, 1.879, 2.667, 3.632, 4.778",\
                 "0.1336, 0.1683, 0.2677, 0.4449, 0.776, 1.253, 1.878, 2.668, 3.63, 4.779",\
                 "0.1844, 0.2245, 0.3436, 0.5276, 0.7992, 1.254, 1.879, 2.668, 3.632, 4.779",\
                 "0.245, 0.2927, 0.4288, 0.6438, 0.9164, 1.296, 1.882, 2.667, 3.631, 4.779",\
                 "0.3126, 0.3706, 0.528, 0.7636, 1.08, 1.452, 1.951, 2.675, 3.631, 4.78",\
                 "0.3842, 0.4554, 0.639, 0.901, 1.245, 1.668, 2.144, 2.777, 3.649, 4.78",\
                 "0.4624, 0.5466, 0.7592, 1.055, 1.426, 1.886, 2.421, 3.009, 3.786, 4.814",\
                 "0.546, 0.642, 0.889, 1.22, 1.623, 2.113, 2.694, 3.34, 4.061, 4.987");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.002596, 0.008196, 0.01889, 0.03555, 0.05893, 0.0897, 0.1285, 0.1758, 0.2322");
          values("0.07179, 0.103, 0.2129, 0.4228, 0.7484, 1.205, 1.805, 2.562, 3.486, 4.59",\
                 "0.07195, 0.1033, 0.2135, 0.4228, 0.7479, 1.205, 1.806, 2.563, 3.488, 4.59",\
                 "0.09582, 0.1208, 0.2137, 0.422, 0.7477, 1.205, 1.805, 2.563, 3.485, 4.589",\
                 "0.1359, 0.1663, 0.2601, 0.4301, 0.7475, 1.205, 1.805, 2.562, 3.487, 4.588",\
                 "0.1884, 0.2255, 0.3328, 0.5069, 0.7686, 1.205, 1.805, 2.563, 3.487, 4.587",\
                 "0.2466, 0.2938, 0.4226, 0.617, 0.8774, 1.244, 1.807, 2.562, 3.486, 4.587",\
                 "0.3126, 0.3686, 0.5208, 0.7388, 1.03, 1.385, 1.87, 2.569, 3.486, 4.585",\
                 "0.384, 0.4498, 0.6298, 0.882, 1.194, 1.584, 2.047, 2.659, 3.503, 4.585",\
                 "0.4622, 0.5398, 0.7462, 1.035, 1.377, 1.797, 2.294, 2.869, 3.622, 4.616",\
                 "0.5472, 0.6366, 0.8694, 1.196, 1.58, 2.025, 2.563, 3.169, 3.868, 4.767");
        }
      }
    }
  }

