/*
 * 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_4) {
    area : 21.952000 ;

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

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

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

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

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

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

    pin(ZN) {
      direction : output ;
      function : "(!I)" ;
      max_capacitance : 0.9607 ;
      max_transition : 7 ;
      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.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
          index_2("0.001, 0.007624, 0.03087, 0.07528, 0.1444, 0.2415, 0.3692, 0.5301, 0.7265, 0.9607");
          values("-0.02498, -0.02077, -0.01752, -0.01606, -0.01555, -0.01518, -0.01498, -0.01481, -0.01476, -0.01483",\
                 "-0.02854, -0.0255, -0.02049, -0.01795, -0.01669, -0.016, -0.01558, -0.01513, -0.01506, -0.01491",\
                 "-0.01312, -0.01415, -0.01466, -0.01482, -0.01482, -0.01488, -0.01485, -0.01464, -0.01462, -0.01466",\
                 "0.05064, 0.04163, 0.02582, 0.01339, 0.004993, -0.0006749, -0.004455, -0.007006, -0.008795, -0.0101",\
                 "0.1689, 0.1527, 0.117, 0.08396, 0.05885, 0.04071, 0.02748, 0.01799, 0.01094, 0.00576",\
                 "0.3453, 0.3228, 0.2682, 0.2099, 0.1612, 0.1235, 0.0946, 0.07254, 0.05564, 0.04252",\
                 "0.5833, 0.5557, 0.4853, 0.4002, 0.323, 0.2594, 0.2088, 0.1683, 0.1362, 0.1105",\
                 "0.8865, 0.8553, 0.7705, 0.6611, 0.5528, 0.4593, 0.3807, 0.3167, 0.2639, 0.2206",\
                 "1.26, 1.224, 1.128, 0.9954, 0.8573, 0.7295, 0.6195, 0.5258, 0.4472, 0.3814",\
                 "1.706, 1.668, 1.561, 1.409, 1.241, 1.078, 0.9331, 0.8052, 0.6971, 0.6033");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
          index_2("0.001, 0.007624, 0.03087, 0.07528, 0.1444, 0.2415, 0.3692, 0.5301, 0.7265, 0.9607");
          values("0.2706, 0.2766, 0.2849, 0.2864, 0.2888, 0.2921, 0.2969, 0.3003, 0.3073, 0.3115",\
                 "0.2648, 0.269, 0.2768, 0.2826, 0.2853, 0.2894, 0.2937, 0.2998, 0.3068, 0.3151",\
                 "0.2947, 0.2909, 0.2864, 0.2852, 0.2876, 0.2925, 0.2955, 0.2994, 0.3068, 0.3133",\
                 "0.3766, 0.3654, 0.3435, 0.3248, 0.3128, 0.3074, 0.3068, 0.3075, 0.3118, 0.3196",\
                 "0.5153, 0.4979, 0.4589, 0.4204, 0.3858, 0.3636, 0.3504, 0.3403, 0.3374, 0.3384",\
                 "0.7155, 0.6936, 0.6384, 0.577, 0.5208, 0.4743, 0.4382, 0.4114, 0.3928, 0.3878",\
                 "0.9827, 0.957, 0.889, 0.8032, 0.7229, 0.6525, 0.5898, 0.537, 0.4996, 0.4781",\
                 "1.322, 1.292, 1.213, 1.108, 0.9994, 0.9014, 0.8108, 0.7341, 0.6677, 0.6254",\
                 "1.737, 1.706, 1.616, 1.49, 1.357, 1.228, 1.113, 1.008, 0.9115, 0.8456",\
                 "2.233, 2.199, 2.101, 1.959, 1.801, 1.643, 1.494, 1.364, 1.235, 1.155");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
          index_2("0.001, 0.007624, 0.03087, 0.07528, 0.1444, 0.2415, 0.3692, 0.5301, 0.7265, 0.9607");
          values("0.04619, 0.06328, 0.1205, 0.2281, 0.3953, 0.63, 0.9389, 1.33, 1.804, 2.372",\
                 "0.0559, 0.07281, 0.1302, 0.2382, 0.4056, 0.6407, 0.9497, 1.339, 1.815, 2.381",\
                 "0.0666, 0.09401, 0.1668, 0.276, 0.4435, 0.6777, 0.9864, 1.377, 1.852, 2.418",\
                 "0.06149, 0.1007, 0.2021, 0.3438, 0.5186, 0.752, 1.06, 1.449, 1.924, 2.49",\
                 "0.03713, 0.08789, 0.2193, 0.4003, 0.6192, 0.8711, 1.177, 1.564, 2.038, 2.601",\
                 "-0.008, 0.0544, 0.2153, 0.4368, 0.7015, 1.005, 1.344, 1.731, 2.202, 2.765",\
                 "-0.0749, -0.0016, 0.1879, 0.4496, 0.7628, 1.117, 1.514, 1.948, 2.424, 2.984",\
                 "-0.1678, -0.0819, 0.1363, 0.4374, 0.7979, 1.207, 1.659, 2.154, 2.69, 3.266",\
                 "-0.2855, -0.1898, 0.0577, 0.3978, 0.8066, 1.269, 1.78, 2.335, 2.936, 3.579",\
                 "-0.4324, -0.3245, -0.0479, 0.3307, 0.7863, 1.302, 1.871, 2.49, 3.154, 3.866");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
          index_2("0.001, 0.007624, 0.03087, 0.07528, 0.1444, 0.2415, 0.3692, 0.5301, 0.7265, 0.9607");
          values("0.059, 0.08698, 0.1801, 0.354, 0.6248, 1.003, 1.503, 2.131, 2.9, 3.815",\
                 "0.07049, 0.09772, 0.1912, 0.3666, 0.6372, 1.016, 1.515, 2.143, 2.914, 3.829",\
                 "0.1157, 0.1487, 0.2425, 0.4157, 0.6858, 1.065, 1.565, 2.19, 2.962, 3.87",\
                 "0.1812, 0.225, 0.3431, 0.5211, 0.7869, 1.163, 1.66, 2.286, 3.055, 3.97",\
                 "0.2661, 0.3224, 0.4692, 0.6819, 0.9552, 1.325, 1.817, 2.441, 3.205, 4.115",\
                 "0.3714, 0.4416, 0.6203, 0.8696, 1.185, 1.565, 2.05, 2.666, 3.424, 4.333",\
                 "0.4991, 0.5827, 0.7957, 1.087, 1.444, 1.872, 2.367, 2.976, 3.726, 4.63",\
                 "0.6507, 0.7478, 0.9949, 1.332, 1.735, 2.209, 2.756, 3.377, 4.12, 5.012",\
                 "0.8276, 0.9385, 1.222, 1.603, 2.058, 2.581, 3.181, 3.857, 4.61, 5.494",\
                 "1.032, 1.156, 1.474, 1.904, 2.411, 2.988, 3.639, 4.373, 5.185, 6.079");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
          index_2("0.001, 0.007624, 0.03087, 0.07528, 0.1444, 0.2415, 0.3692, 0.5301, 0.7265, 0.9607");
          values("0.03979, 0.06682, 0.162, 0.3432, 0.6249, 1.022, 1.544, 2.211, 3.012, 3.958",\
                 "0.04268, 0.067, 0.1623, 0.3444, 0.6267, 1.023, 1.545, 2.208, 3.002, 3.974",\
                 "0.07568, 0.1046, 0.1829, 0.3437, 0.6269, 1.024, 1.547, 2.209, 3.014, 3.97",\
                 "0.1251, 0.1635, 0.2627, 0.4115, 0.6402, 1.024, 1.547, 2.209, 3.015, 3.974",\
                 "0.1878, 0.2392, 0.3652, 0.54, 0.7676, 1.075, 1.551, 2.202, 3.012, 3.97",\
                 "0.265, 0.3286, 0.4852, 0.6924, 0.9526, 1.268, 1.66, 2.232, 3.009, 3.968",\
                 "0.3554, 0.4338, 0.624, 0.871, 1.163, 1.513, 1.926, 2.414, 3.081, 3.977",\
                 "0.4562, 0.5532, 0.7786, 1.069, 1.404, 1.789, 2.238, 2.754, 3.346, 4.121",\
                 "0.5688, 0.6854, 0.949, 1.29, 1.666, 2.096, 2.582, 3.14, 3.765, 4.472",\
                 "0.6924, 0.8264, 1.136, 1.519, 1.953, 2.431, 2.96, 3.557, 4.228, 4.974");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
          index_2("0.001, 0.007624, 0.03087, 0.07528, 0.1444, 0.2415, 0.3692, 0.5301, 0.7265, 0.9607");
          values("0.07097, 0.1176, 0.2806, 0.5904, 1.075, 1.755, 2.653, 3.778, 5.158, 6.807",\
                 "0.0713, 0.1174, 0.2801, 0.5907, 1.074, 1.758, 2.657, 3.78, 5.164, 6.805",\
                 "0.1017, 0.144, 0.2825, 0.5916, 1.076, 1.757, 2.654, 3.779, 5.163, 6.799",\
                 "0.15, 0.1987, 0.3432, 0.6029, 1.076, 1.756, 2.651, 3.778, 5.161, 6.803",\
                 "0.2124, 0.2722, 0.4362, 0.699, 1.103, 1.756, 2.659, 3.781, 5.171, 6.801",\
                 "0.2862, 0.3604, 0.5502, 0.8396, 1.235, 1.805, 2.651, 3.777, 5.154, 6.816",\
                 "0.3684, 0.459, 0.6864, 1.002, 1.429, 1.978, 2.727, 3.785, 5.166, 6.804",\
                 "0.4594, 0.5682, 0.8344, 1.191, 1.644, 2.228, 2.939, 3.896, 5.168, 6.809",\
                 "0.561, 0.689, 0.9978, 1.404, 1.891, 2.513, 3.253, 4.143, 5.321, 6.827",\
                 "0.676, 0.8194, 1.172, 1.63, 2.167, 2.808, 3.592, 4.512, 5.61, 7.014");
        }
      }
    }
  }

