/*
 * 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__inv_8) {
    area : 39.513600 ;

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

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

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

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

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

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

    pin(ZN) {
      direction : output ;
      function : "(!I)" ;
      max_capacitance : 2.785 ;
      max_transition : 7.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.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
          index_2("0.001, 0.02022, 0.08768, 0.2165, 0.4172, 0.6988, 1.069, 1.536, 2.106, 2.785");
          values("-0.02766, -0.02259, -0.01783, -0.01581, -0.015, -0.01488, -0.01458, -0.01449, -0.01445, -0.01437",\
                 "-0.02715, -0.02385, -0.01961, -0.0169, -0.01581, -0.01533, -0.01484, -0.0147, -0.0148, -0.01445",\
                 "0.04049, 0.02841, 0.01284, 0.002588, -0.003353, -0.007074, -0.009259, -0.01061, -0.01183, -0.01225",\
                 "0.2251, 0.1937, 0.1358, 0.09063, 0.05987, 0.03889, 0.02467, 0.01484, 0.008046, 0.00325",\
                 "0.5388, 0.491, 0.3879, 0.2886, 0.2137, 0.1587, 0.1185, 0.0891, 0.06718, 0.05105",\
                 "0.992, 0.9322, 0.7884, 0.6287, 0.493, 0.3871, 0.3055, 0.2425, 0.1941, 0.1563",\
                 "1.596, 1.526, 1.347, 1.129, 0.9244, 0.7527, 0.6147, 0.505, 0.4165, 0.3453",\
                 "2.361, 2.284, 2.077, 1.805, 1.528, 1.281, 1.074, 0.9013, 0.7617, 0.6446",\
                 "3.297, 3.214, 2.982, 2.663, 2.319, 1.992, 1.704, 1.459, 1.254, 1.079",\
                 "4.415, 4.326, 4.074, 3.715, 3.307, 2.9, 2.528, 2.199, 1.914, 1.67");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
          index_2("0.001, 0.02022, 0.08768, 0.2165, 0.4172, 0.6988, 1.069, 1.536, 2.106, 2.785");
          values("0.3493, 0.3592, 0.3726, 0.3745, 0.3797, 0.3844, 0.3924, 0.3964, 0.4109, 0.4223",\
                 "0.3555, 0.3572, 0.3647, 0.3713, 0.379, 0.3841, 0.3895, 0.4, 0.403, 0.4295",\
                 "0.4506, 0.4332, 0.4092, 0.3951, 0.3909, 0.392, 0.3945, 0.4043, 0.404, 0.4243",\
                 "0.6709, 0.6352, 0.5689, 0.5128, 0.4726, 0.451, 0.4367, 0.4367, 0.4303, 0.4515",\
                 "1.031, 0.9816, 0.8707, 0.7639, 0.6742, 0.6055, 0.5583, 0.5224, 0.5125, 0.5024",\
                 "1.544, 1.485, 1.337, 1.171, 1.028, 0.9032, 0.7995, 0.7279, 0.6723, 0.6508",\
                 "2.225, 2.156, 1.979, 1.756, 1.548, 1.365, 1.203, 1.066, 0.964, 0.9044",\
                 "3.085, 3.01, 2.807, 2.535, 2.257, 2.004, 1.779, 1.581, 1.407, 1.298",\
                 "4.139, 4.056, 3.833, 3.518, 3.174, 2.846, 2.552, 2.281, 2.045, 1.889",\
                 "5.396, 5.308, 5.066, 4.714, 4.31, 3.906, 3.528, 3.186, 2.881, 2.7");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
          index_2("0.001, 0.02022, 0.08768, 0.2165, 0.4172, 0.6988, 1.069, 1.536, 2.106, 2.785");
          values("0.03189, 0.04824, 0.1042, 0.2095, 0.3735, 0.6035, 0.9066, 1.288, 1.753, 2.309",\
                 "0.03901, 0.05793, 0.1137, 0.2193, 0.3833, 0.6135, 0.9166, 1.298, 1.763, 2.32",\
                 "0.03897, 0.07022, 0.147, 0.2561, 0.4195, 0.6487, 0.9515, 1.333, 1.798, 2.354",\
                 "0.01873, 0.06279, 0.1706, 0.3161, 0.4929, 0.7205, 1.021, 1.401, 1.866, 2.418",\
                 "-0.02443, 0.032, 0.1707, 0.3574, 0.5792, 0.8356, 1.135, 1.513, 1.975, 2.529",\
                 "-0.0927, -0.0241, 0.1438, 0.3716, 0.6424, 0.9489, 1.293, 1.676, 2.135, 2.684",\
                 "-0.1881, -0.1082, 0.0886, 0.3566, 0.676, 1.036, 1.435, 1.874, 2.352, 2.898",\
                 "-0.3141, -0.2223, 0.0029, 0.3077, 0.676, 1.092, 1.549, 2.048, 2.589, 3.169",\
                 "-0.4703, -0.3681, -0.1149, 0.229, 0.643, 1.113, 1.631, 2.192, 2.796, 3.445",\
                 "-0.6604, -0.5475, -0.2672, 0.1154, 0.5745, 1.097, 1.675, 2.3, 2.972, 3.688");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
          index_2("0.001, 0.02022, 0.08768, 0.2165, 0.4172, 0.6988, 1.069, 1.536, 2.106, 2.785");
          values("0.04169, 0.07032, 0.1663, 0.3453, 0.6255, 1.017, 1.53, 2.181, 2.971, 3.912",\
                 "0.05589, 0.08307, 0.1782, 0.3576, 0.6379, 1.029, 1.545, 2.193, 2.983, 3.93",\
                 "0.09892, 0.1351, 0.2327, 0.4089, 0.6864, 1.077, 1.591, 2.239, 3.028, 3.975",\
                 "0.1631, 0.2126, 0.3362, 0.5193, 0.7903, 1.175, 1.687, 2.333, 3.124, 4.067",\
                 "0.2488, 0.3132, 0.4688, 0.6853, 0.966, 1.342, 1.848, 2.488, 3.272, 4.212",\
                 "0.3579, 0.4375, 0.6276, 0.885, 1.203, 1.593, 2.088, 2.72, 3.495, 4.433",\
                 "0.4933, 0.5876, 0.8139, 1.115, 1.478, 1.91, 2.417, 3.039, 3.807, 4.732",\
                 "0.6573, 0.7652, 1.028, 1.376, 1.788, 2.266, 2.82, 3.456, 4.213, 5.127",\
                 "0.8527, 0.9742, 1.273, 1.667, 2.134, 2.664, 3.266, 3.952, 4.724, 5.625",\
                 "1.081, 1.215, 1.549, 1.992, 2.511, 3.1, 3.756, 4.493, 5.318, 6.234");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
          index_2("0.001, 0.02022, 0.08768, 0.2165, 0.4172, 0.6988, 1.069, 1.536, 2.106, 2.785");
          values("0.02669, 0.05406, 0.1487, 0.329, 0.6128, 1.008, 1.532, 2.191, 2.988, 3.949",\
                 "0.03571, 0.0575, 0.1488, 0.3298, 0.6115, 1.009, 1.533, 2.186, 2.992, 3.953",\
                 "0.06866, 0.1002, 0.1818, 0.3325, 0.6121, 1.007, 1.529, 2.19, 2.987, 3.953",\
                 "0.1212, 0.1656, 0.2693, 0.4194, 0.6385, 1.008, 1.53, 2.187, 2.985, 3.943",\
                 "0.1924, 0.2508, 0.3842, 0.5607, 0.7898, 1.088, 1.542, 2.185, 2.988, 3.94",\
                 "0.2794, 0.357, 0.5236, 0.7372, 0.993, 1.309, 1.696, 2.24, 2.99, 3.943",\
                 "0.3824, 0.4806, 0.6888, 0.9384, 1.235, 1.582, 1.992, 2.479, 3.12, 3.976",\
                 "0.5006, 0.6208, 0.8698, 1.169, 1.51, 1.893, 2.34, 2.855, 3.446, 4.191",\
                 "0.6384, 0.778, 1.079, 1.423, 1.812, 2.245, 2.73, 3.278, 3.907, 4.611",\
                 "0.7942, 0.954, 1.305, 1.703, 2.147, 2.632, 3.167, 3.755, 4.421, 5.161");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
          index_2("0.001, 0.02022, 0.08768, 0.2165, 0.4172, 0.6988, 1.069, 1.536, 2.106, 2.785");
          values("0.05138, 0.1, 0.2722, 0.5992, 1.111, 1.827, 2.777, 3.957, 5.415, 7.133",\
                 "0.05571, 0.1002, 0.2715, 0.5991, 1.112, 1.825, 2.767, 3.959, 5.405, 7.135",\
                 "0.08934, 0.1333, 0.2766, 0.5992, 1.109, 1.825, 2.766, 3.961, 5.406, 7.124",\
                 "0.1422, 0.1967, 0.3449, 0.6163, 1.109, 1.828, 2.765, 3.962, 5.404, 7.137",\
                 "0.2105, 0.2809, 0.4514, 0.7214, 1.145, 1.824, 2.766, 3.953, 5.42, 7.126",\
                 "0.293, 0.3818, 0.59, 0.8784, 1.289, 1.887, 2.77, 3.953, 5.417, 7.144",\
                 "0.3944, 0.4994, 0.746, 1.074, 1.499, 2.071, 2.866, 3.972, 5.403, 7.149",\
                 "0.5094, 0.636, 0.923, 1.3, 1.755, 2.341, 3.089, 4.097, 5.429, 7.124",\
                 "0.6456, 0.7836, 1.12, 1.55, 2.055, 2.663, 3.419, 4.363, 5.601, 7.178",\
                 "0.8052, 0.9546, 1.338, 1.832, 2.381, 3.025, 3.805, 4.756, 5.913, 7.405");
        }
      }
    }
  }

