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

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

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

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

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

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

    pin(ZN) {
      direction : output ;
      function : "(!I)" ;
      max_capacitance : 1.851 ;
      max_transition : 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.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
          index_2("0.001, 0.01377, 0.05858, 0.1442, 0.2775, 0.4646, 0.7108, 1.021, 1.4, 1.851");
          values("-0.07406, -0.06579, -0.0542, -0.04875, -0.04513, -0.04417, -0.04373, -0.04348, -0.04315, -0.04302",\
                 "-0.0749, -0.06883, -0.05812, -0.05092, -0.04704, -0.04561, -0.04431, -0.04379, -0.0435, -0.04329",\
                 "-0.005389, -0.01405, -0.02378, -0.03079, -0.03499, -0.03689, -0.03848, -0.03978, -0.04022, -0.04081",\
                 "0.2055, 0.1765, 0.1204, 0.07373, 0.04078, 0.01793, 0.002294, -0.008468, -0.0163, -0.02187",\
                 "0.5796, 0.5318, 0.4229, 0.3141, 0.2294, 0.1658, 0.1191, 0.0842, 0.05788, 0.03815",\
                 "1.127, 1.064, 0.9078, 0.7294, 0.5731, 0.4492, 0.3516, 0.2764, 0.217, 0.1709",\
                 "1.859, 1.786, 1.59, 1.342, 1.104, 0.9028, 0.7382, 0.6043, 0.4974, 0.4097",\
                 "2.791, 2.708, 2.478, 2.169, 1.847, 1.557, 1.309, 1.103, 0.9313, 0.7879",\
                 "3.933, 3.842, 3.583, 3.22, 2.818, 2.435, 2.093, 1.799, 1.549, 1.335",\
                 "5.299, 5.199, 4.916, 4.504, 4.033, 3.555, 3.111, 2.72, 2.374, 2.08");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
          index_2("0.001, 0.01377, 0.05858, 0.1442, 0.2775, 0.4646, 0.7108, 1.021, 1.4, 1.851");
          values("0.6588, 0.6732, 0.6949, 0.7076, 0.7149, 0.7183, 0.7279, 0.7409, 0.7678, 0.7645",\
                 "0.668, 0.6721, 0.6858, 0.7027, 0.7089, 0.7178, 0.7309, 0.7384, 0.7498, 0.7715",\
                 "0.7784, 0.7635, 0.7385, 0.7243, 0.7229, 0.7258, 0.7299, 0.7499, 0.7633, 0.7755",\
                 "1.04, 1.005, 0.938, 0.8741, 0.8284, 0.8008, 0.7869, 0.7859, 0.7838, 0.784",\
                 "1.472, 1.424, 1.307, 1.192, 1.085, 0.9993, 0.9449, 0.9074, 0.8778, 0.8775",\
                 "2.091, 2.033, 1.876, 1.697, 1.529, 1.378, 1.258, 1.164, 1.096, 1.048",\
                 "2.912, 2.846, 2.658, 2.414, 2.18, 1.965, 1.775, 1.601, 1.479, 1.371",\
                 "3.955, 3.881, 3.668, 3.373, 3.061, 2.775, 2.509, 2.262, 2.05, 1.872",\
                 "5.229, 5.148, 4.914, 4.573, 4.197, 3.823, 3.483, 3.154, 2.864, 2.602",\
                 "6.752, 6.665, 6.412, 6.033, 5.592, 5.133, 4.702, 4.314, 3.931, 3.573");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
          index_2("0.001, 0.01377, 0.05858, 0.1442, 0.2775, 0.4646, 0.7108, 1.021, 1.4, 1.851");
          values("0.0282, 0.03814, 0.07195, 0.1355, 0.2345, 0.3728, 0.5541, 0.7837, 1.063, 1.397",\
                 "0.03252, 0.04313, 0.07687, 0.1404, 0.2394, 0.3776, 0.5592, 0.7889, 1.068, 1.402",\
                 "0.03609, 0.05221, 0.0952, 0.1597, 0.2581, 0.3959, 0.5775, 0.8064, 1.086, 1.42",\
                 "0.03136, 0.05379, 0.1119, 0.194, 0.2967, 0.4334, 0.6144, 0.8428, 1.122, 1.454",\
                 "0.0158, 0.04466, 0.1189, 0.2221, 0.348, 0.4953, 0.6747, 0.9016, 1.18, 1.512",\
                 "-0.01161, 0.02335, 0.114, 0.2389, 0.3898, 0.564, 0.7614, 0.9879, 1.264, 1.595",\
                 "-0.05241, -0.01108, 0.09513, 0.2423, 0.4195, 0.6215, 0.8481, 1.1, 1.379, 1.707",\
                 "-0.1077, -0.0597, 0.0624, 0.2309, 0.4341, 0.6656, 0.9229, 1.206, 1.517, 1.854",\
                 "-0.1783, -0.1243, 0.0145, 0.2041, 0.4335, 0.6943, 0.9837, 1.299, 1.643, 2.016",\
                 "-0.2652, -0.2058, -0.0499, 0.1607, 0.4156, 0.7064, 1.028, 1.378, 1.757, 2.165");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
          index_2("0.001, 0.01377, 0.05858, 0.1442, 0.2775, 0.4646, 0.7108, 1.021, 1.4, 1.851");
          values("0.03443, 0.05047, 0.1045, 0.2053, 0.3619, 0.5797, 0.8674, 1.231, 1.671, 2.201",\
                 "0.04184, 0.05709, 0.1106, 0.2116, 0.3679, 0.5865, 0.8742, 1.235, 1.68, 2.206",\
                 "0.06648, 0.08517, 0.1388, 0.2377, 0.3924, 0.6108, 0.8985, 1.261, 1.702, 2.229",\
                 "0.1034, 0.1283, 0.1943, 0.2954, 0.4471, 0.6624, 0.9482, 1.309, 1.748, 2.277",\
                 "0.1516, 0.1837, 0.266, 0.3842, 0.5395, 0.7504, 1.032, 1.39, 1.827, 2.353",\
                 "0.2116, 0.2514, 0.3519, 0.4913, 0.6661, 0.8815, 1.158, 1.511, 1.944, 2.466",\
                 "0.2848, 0.3323, 0.4517, 0.615, 0.8129, 1.051, 1.332, 1.679, 2.109, 2.625",\
                 "0.3716, 0.4268, 0.5665, 0.7545, 0.9797, 1.241, 1.547, 1.9, 2.322, 2.833",\
                 "0.4735, 0.536, 0.6958, 0.9099, 1.164, 1.454, 1.785, 2.164, 2.593, 3.095",\
                 "0.5911, 0.6615, 0.8406, 1.082, 1.365, 1.688, 2.047, 2.453, 2.91, 3.418");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
          index_2("0.001, 0.01377, 0.05858, 0.1442, 0.2775, 0.4646, 0.7108, 1.021, 1.4, 1.851");
          values("0.0225, 0.03836, 0.09366, 0.199, 0.364, 0.594, 0.8981, 1.281, 1.742, 2.294",\
                 "0.02699, 0.03947, 0.09369, 0.1993, 0.3639, 0.5932, 0.898, 1.281, 1.741, 2.294",\
                 "0.04488, 0.0616, 0.108, 0.1995, 0.3629, 0.5935, 0.897, 1.276, 1.748, 2.295",\
                 "0.07366, 0.09612, 0.1531, 0.24, 0.3724, 0.5923, 0.8968, 1.28, 1.739, 2.297",\
                 "0.1108, 0.1405, 0.2127, 0.313, 0.4454, 0.6236, 0.8992, 1.278, 1.746, 2.294",\
                 "0.156, 0.1938, 0.2846, 0.4027, 0.5501, 0.7336, 0.9626, 1.293, 1.745, 2.3",\
                 "0.2095, 0.2567, 0.3665, 0.5076, 0.6742, 0.8732, 1.112, 1.398, 1.788, 2.303",\
                 "0.271, 0.327, 0.4578, 0.6252, 0.8174, 1.035, 1.292, 1.589, 1.937, 2.389",\
                 "0.3386, 0.4056, 0.5592, 0.7566, 0.9718, 1.219, 1.492, 1.809, 2.174, 2.586",\
                 "0.4126, 0.4908, 0.6714, 0.8934, 1.14, 1.417, 1.715, 2.055, 2.436, 2.869");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
          index_2("0.001, 0.01377, 0.05858, 0.1442, 0.2775, 0.4646, 0.7108, 1.021, 1.4, 1.851");
          values("0.03995, 0.06626, 0.1588, 0.3356, 0.6115, 1.001, 1.509, 2.154, 2.936, 3.876",\
                 "0.04145, 0.06629, 0.159, 0.3368, 0.6116, 0.9995, 1.509, 2.151, 2.941, 3.871",\
                 "0.05876, 0.08286, 0.1612, 0.3359, 0.6124, 0.9997, 1.51, 2.15, 2.935, 3.87",\
                 "0.08722, 0.1145, 0.1952, 0.3438, 0.6123, 0.9999, 1.511, 2.152, 2.935, 3.875",\
                 "0.1231, 0.1581, 0.2491, 0.3967, 0.6292, 0.9988, 1.51, 2.152, 2.933, 3.871",\
                 "0.1663, 0.2088, 0.317, 0.4752, 0.7006, 1.029, 1.515, 2.157, 2.933, 3.871",\
                 "0.213, 0.268, 0.396, 0.5742, 0.8082, 1.123, 1.555, 2.155, 2.936, 3.867",\
                 "0.2694, 0.3324, 0.4828, 0.6862, 0.9356, 1.257, 1.669, 2.219, 2.944, 3.869",\
                 "0.3284, 0.4032, 0.5786, 0.81, 1.086, 1.415, 1.838, 2.353, 3.033, 3.888",\
                 "0.3976, 0.4788, 0.6842, 0.9426, 1.249, 1.602, 2.029, 2.551, 3.185, 3.995");
        }
      }
    }
  }

