/*
 * 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_20) {
    area : 118.540800 ;

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

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

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

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

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

    pin(I) {
      capacitance : 0.1086 ;
      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 : 7.215 ;
      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.05079, 0.2256, 0.5593, 1.079, 1.809, 2.769, 3.979, 5.455, 7.215");
          values("-0.1454, -0.1251, -0.1037, -0.0953, -0.09066, -0.08907, -0.08803, -0.08742, -0.08704, -0.08663",\
                 "-0.1597, -0.1428, -0.1162, -0.1023, -0.09597, -0.09154, -0.08973, -0.08867, -0.08788, -0.08728",\
                 "-0.05131, -0.06537, -0.07869, -0.0829, -0.08407, -0.0853, -0.08544, -0.08568, -0.08612, -0.08592",\
                 "0.3175, 0.2549, 0.1466, 0.06781, 0.01726, -0.01433, -0.03498, -0.04857, -0.0575, -0.0638",\
                 "0.9755, 0.8716, 0.6492, 0.4499, 0.3026, 0.1991, 0.1267, 0.07563, 0.03969, 0.01252",\
                 "1.939, 1.803, 1.475, 1.129, 0.8477, 0.6324, 0.472, 0.3518, 0.2611, 0.1937",\
                 "3.225, 3.063, 2.653, 2.161, 1.717, 1.354, 1.069, 0.8463, 0.6712, 0.5355",\
                 "4.859, 4.678, 4.193, 3.571, 2.952, 2.419, 1.976, 1.617, 1.329, 1.095",\
                 "6.861, 6.663, 6.119, 5.376, 4.594, 3.869, 3.247, 2.725, 2.29, 1.93",\
                 "9.254, 9.04, 8.446, 7.602, 6.659, 5.744, 4.921, 4.21, 3.604, 3.09");
        }

        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.05079, 0.2256, 0.5593, 1.079, 1.809, 2.769, 3.979, 5.455, 7.215");
          values("1.071, 1.093, 1.121, 1.141, 1.142, 1.15, 1.167, 1.173, 1.203, 1.267",\
                 "1.081, 1.091, 1.113, 1.128, 1.139, 1.154, 1.163, 1.191, 1.207, 1.224",\
                 "1.263, 1.226, 1.188, 1.163, 1.163, 1.169, 1.181, 1.187, 1.225, 1.227",\
                 "1.702, 1.618, 1.474, 1.37, 1.298, 1.261, 1.243, 1.241, 1.265, 1.26",\
                 "2.428, 2.314, 2.051, 1.824, 1.652, 1.528, 1.451, 1.407, 1.38, 1.353",\
                 "3.467, 3.326, 2.978, 2.595, 2.296, 2.049, 1.869, 1.735, 1.628, 1.587",\
                 "4.848, 4.684, 4.262, 3.737, 3.271, 2.893, 2.585, 2.332, 2.136, 2.008",\
                 "6.595, 6.413, 5.931, 5.29, 4.633, 4.096, 3.644, 3.25, 2.931, 2.671",\
                 "8.739, 8.543, 8.002, 7.257, 6.447, 5.695, 5.066, 4.532, 4.062, 3.67",\
                 "11.29, 11.08, 10.49, 9.658, 8.699, 7.753, 6.916, 6.209, 5.574, 5.028");
        }
      }

      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.05079, 0.2256, 0.5593, 1.079, 1.809, 2.769, 3.979, 5.455, 7.215");
          values("0.03954, 0.05879, 0.1234, 0.2449, 0.4342, 0.6985, 1.047, 1.486, 2.021, 2.66",\
                 "0.04573, 0.06482, 0.1296, 0.2514, 0.4402, 0.7049, 1.053, 1.493, 2.026, 2.667",\
                 "0.05581, 0.0835, 0.156, 0.2769, 0.4653, 0.7293, 1.078, 1.517, 2.052, 2.689",\
                 "0.06105, 0.09903, 0.1947, 0.3308, 0.5168, 0.7798, 1.127, 1.565, 2.098, 2.739",\
                 "0.06001, 0.1084, 0.2285, 0.3952, 0.6033, 0.8634, 1.207, 1.642, 2.177, 2.811",\
                 "0.05219, 0.1108, 0.2551, 0.4542, 0.6978, 0.9854, 1.327, 1.759, 2.288, 2.922",\
                 "0.0378, 0.1049, 0.2742, 0.5062, 0.7867, 1.114, 1.487, 1.919, 2.444, 3.074",\
                 "0.0143, 0.0926, 0.2847, 0.5485, 0.8678, 1.236, 1.654, 2.122, 2.648, 3.272",\
                 "-0.0166, 0.0709, 0.2858, 0.5824, 0.9395, 1.35, 1.812, 2.327, 2.895, 3.522",\
                 "-0.0558, 0.0397, 0.2779, 0.6062, 1.001, 1.456, 1.963, 2.525, 3.143, 3.817");
        }

        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.05079, 0.2256, 0.5593, 1.079, 1.809, 2.769, 3.979, 5.455, 7.215");
          values("0.03176, 0.05159, 0.1178, 0.2427, 0.4372, 0.7096, 1.068, 1.517, 2.07, 2.725",\
                 "0.04109, 0.06054, 0.1268, 0.2518, 0.4455, 0.7183, 1.077, 1.528, 2.076, 2.734",\
                 "0.06326, 0.09103, 0.1626, 0.286, 0.4792, 0.7509, 1.108, 1.561, 2.111, 2.767",\
                 "0.09132, 0.1298, 0.224, 0.3576, 0.5481, 0.8171, 1.174, 1.625, 2.175, 2.829",\
                 "0.1246, 0.174, 0.2941, 0.4576, 0.6612, 0.9277, 1.28, 1.727, 2.276, 2.93",\
                 "0.1627, 0.2233, 0.3704, 0.5673, 0.8058, 1.087, 1.436, 1.879, 2.424, 3.077",\
                 "0.2063, 0.2784, 0.4523, 0.6846, 0.9611, 1.281, 1.648, 2.087, 2.626, 3.274",\
                 "0.2555, 0.3391, 0.54, 0.8092, 1.126, 1.487, 1.896, 2.354, 2.889, 3.532",\
                 "0.3111, 0.4061, 0.6351, 0.9401, 1.298, 1.704, 2.157, 2.66, 3.216, 3.855",\
                 "0.3732, 0.4795, 0.7368, 1.077, 1.478, 1.93, 2.43, 2.979, 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.05079, 0.2256, 0.5593, 1.079, 1.809, 2.769, 3.979, 5.455, 7.215");
          values("0.03111, 0.06215, 0.1713, 0.3798, 0.7051, 1.161, 1.762, 2.523, 3.446, 4.543",\
                 "0.03336, 0.0622, 0.1719, 0.3798, 0.7043, 1.162, 1.761, 2.521, 3.438, 4.552",\
                 "0.05764, 0.08858, 0.1787, 0.3802, 0.7052, 1.161, 1.761, 2.523, 3.437, 4.543",\
                 "0.0973, 0.1372, 0.2388, 0.4034, 0.7048, 1.161, 1.762, 2.52, 3.439, 4.549",\
                 "0.1495, 0.2024, 0.3248, 0.503, 0.755, 1.166, 1.761, 2.519, 3.442, 4.54",\
                 "0.2137, 0.2808, 0.4318, 0.6322, 0.897, 1.249, 1.773, 2.517, 3.44, 4.542",\
                 "0.2882, 0.37, 0.5554, 0.7874, 1.074, 1.437, 1.899, 2.555, 3.441, 4.538",\
                 "0.3746, 0.4738, 0.6916, 0.964, 1.284, 1.666, 2.136, 2.716, 3.506, 4.541",\
                 "0.474, 0.5884, 0.8434, 1.157, 1.518, 1.929, 2.422, 3.006, 3.716, 4.648",\
                 "0.5868, 0.7124, 1.009, 1.371, 1.772, 2.224, 2.745, 3.353, 4.054, 4.906");
        }

        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.05079, 0.2256, 0.5593, 1.079, 1.809, 2.769, 3.979, 5.455, 7.215");
          values("0.03881, 0.07271, 0.192, 0.4198, 0.7746, 1.272, 1.927, 2.752, 3.759, 4.963",\
                 "0.04377, 0.07297, 0.192, 0.4199, 0.777, 1.273, 1.926, 2.761, 3.773, 4.962",\
                 "0.06918, 0.1006, 0.1975, 0.4195, 0.7778, 1.276, 1.931, 2.751, 3.769, 4.957",\
                 "0.1093, 0.1493, 0.2535, 0.4359, 0.7748, 1.272, 1.925, 2.751, 3.767, 4.959",\
                 "0.1597, 0.2134, 0.3389, 0.5246, 0.8077, 1.273, 1.926, 2.76, 3.769, 4.96",\
                 "0.221, 0.2881, 0.4432, 0.6496, 0.9284, 1.33, 1.935, 2.752, 3.759, 4.958",\
                 "0.2938, 0.3726, 0.5592, 0.801, 1.1, 1.485, 2.016, 2.765, 3.759, 4.963",\
                 "0.3814, 0.472, 0.6924, 0.9718, 1.302, 1.705, 2.208, 2.882, 3.797, 4.957",\
                 "0.4778, 0.5858, 0.8358, 1.157, 1.536, 1.959, 2.48, 3.116, 3.944, 5.014",\
                 "0.5918, 0.7094, 0.9918, 1.36, 1.778, 2.247, 2.788, 3.433, 4.208, 5.204");
        }
      }
    }
  }

