/*
 * 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 : "7.78248e-05" ;
    }

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

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "8.13204e-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.01813 ;
      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 : 1.387 ;
      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.01056, 0.04414, 0.1083, 0.2081, 0.3483, 0.5327, 0.7651, 1.049, 1.387");
          values("-0.01833, -0.01529, -0.01212, -0.01088, -0.01022, -0.0101, -0.009988, -0.009838, -0.009817, -0.00976",\
                 "-0.01868, -0.01664, -0.01338, -0.01166, -0.01095, -0.01039, -0.01021, -0.01007, -0.009932, -0.009873",\
                 "0.006214, 0.002007, -0.00292, -0.005629, -0.007111, -0.007957, -0.008547, -0.008874, -0.009122, -0.00928",\
                 "0.0758, 0.06355, 0.04165, 0.02544, 0.01461, 0.007783, 0.003043, -0.0002047, -0.002449, -0.004108",\
                 "0.195, 0.176, 0.1348, 0.09808, 0.07022, 0.05038, 0.03617, 0.02565, 0.01833, 0.01264",\
                 "0.3669, 0.3428, 0.285, 0.223, 0.1722, 0.1335, 0.1039, 0.08091, 0.06335, 0.04997",\
                 "0.596, 0.5675, 0.4959, 0.4094, 0.3313, 0.2671, 0.2162, 0.1753, 0.1431, 0.1174",\
                 "0.8868, 0.855, 0.7712, 0.6627, 0.5557, 0.4623, 0.3848, 0.321, 0.269, 0.226",\
                 "1.243, 1.208, 1.114, 0.9863, 0.8508, 0.7251, 0.6173, 0.5252, 0.4486, 0.3833",\
                 "1.668, 1.63, 1.527, 1.383, 1.221, 1.063, 0.921, 0.7971, 0.6904, 0.6001");
        }

        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.01056, 0.04414, 0.1083, 0.2081, 0.3483, 0.5327, 0.7651, 1.049, 1.387");
          values("0.1606, 0.1659, 0.1717, 0.1752, 0.1799, 0.1809, 0.184, 0.1894, 0.1924, 0.2002",\
                 "0.164, 0.165, 0.1691, 0.172, 0.1772, 0.1798, 0.1848, 0.1865, 0.1946, 0.2034",\
                 "0.1999, 0.1933, 0.1841, 0.1803, 0.1792, 0.1827, 0.1844, 0.1869, 0.1913, 0.2012",\
                 "0.2832, 0.269, 0.2437, 0.221, 0.2083, 0.1992, 0.1981, 0.1969, 0.2025, 0.2052",\
                 "0.4199, 0.3994, 0.3561, 0.3155, 0.2797, 0.2568, 0.2409, 0.2297, 0.2241, 0.2236",\
                 "0.6154, 0.5901, 0.5304, 0.4671, 0.4097, 0.3623, 0.3262, 0.3006, 0.2831, 0.2686",\
                 "0.8748, 0.8456, 0.7719, 0.6836, 0.6045, 0.534, 0.4724, 0.4237, 0.385, 0.3593",\
                 "1.203, 1.171, 1.086, 0.976, 0.8679, 0.7731, 0.6855, 0.6102, 0.5492, 0.4967",\
                 "1.605, 1.569, 1.476, 1.347, 1.21, 1.082, 0.9746, 0.8701, 0.7785, 0.7048",\
                 "2.084, 2.047, 1.943, 1.798, 1.636, 1.479, 1.335, 1.21, 1.086, 0.9806");
        }
      }

      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.01056, 0.04414, 0.1083, 0.2081, 0.3483, 0.5327, 0.7651, 1.049, 1.387");
          values("0.02366, 0.03569, 0.07646, 0.1531, 0.2728, 0.4402, 0.6602, 0.937, 1.276, 1.68",\
                 "0.02837, 0.04294, 0.08377, 0.1606, 0.28, 0.4477, 0.6679, 0.9447, 1.283, 1.687",\
                 "0.02984, 0.0526, 0.109, 0.1886, 0.3076, 0.4747, 0.6949, 0.9723, 1.31, 1.714",\
                 "0.01973, 0.05197, 0.1295, 0.235, 0.3628, 0.5288, 0.7482, 1.025, 1.363, 1.766",\
                 "-0.00457, 0.03702, 0.1371, 0.2708, 0.4311, 0.6157, 0.834, 1.109, 1.446, 1.848",\
                 "-0.04511, 0.00627, 0.1287, 0.2918, 0.485, 0.7067, 0.954, 1.231, 1.566, 1.968",\
                 "-0.1034, -0.0424, 0.1026, 0.2956, 0.5225, 0.7806, 1.069, 1.385, 1.729, 2.128",\
                 "-0.181, -0.1106, 0.057, 0.2798, 0.5418, 0.8383, 1.166, 1.526, 1.915, 2.332",\
                 "-0.2798, -0.1995, -0.0083, 0.2432, 0.5409, 0.876, 1.244, 1.646, 2.083, 2.552",\
                 "-0.4, -0.3106, -0.0962, 0.1852, 0.5166, 0.8916, 1.303, 1.748, 2.23, 2.748");
        }

        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.01056, 0.04414, 0.1083, 0.2081, 0.3483, 0.5327, 0.7651, 1.049, 1.387");
          values("0.03117, 0.05269, 0.1245, 0.2589, 0.4682, 0.76, 1.146, 1.63, 2.222, 2.93",\
                 "0.04136, 0.06187, 0.1332, 0.268, 0.4774, 0.7698, 1.154, 1.641, 2.233, 2.936",\
                 "0.07051, 0.09752, 0.1711, 0.3037, 0.5111, 0.8033, 1.189, 1.672, 2.266, 2.971",\
                 "0.1147, 0.1511, 0.2426, 0.38, 0.584, 0.8734, 1.256, 1.739, 2.332, 3.033",\
                 "0.1734, 0.2205, 0.3339, 0.4954, 0.7054, 0.9893, 1.368, 1.849, 2.437, 3.14",\
                 "0.2475, 0.3057, 0.4447, 0.6323, 0.871, 1.162, 1.535, 2.009, 2.595, 3.292",\
                 "0.3385, 0.4086, 0.5738, 0.7925, 1.059, 1.384, 1.762, 2.231, 2.808, 3.505",\
                 "0.4491, 0.53, 0.7222, 0.9731, 1.274, 1.63, 2.045, 2.519, 3.091, 3.779",\
                 "0.5794, 0.6711, 0.8904, 1.177, 1.513, 1.902, 2.354, 2.867, 3.443, 4.123",\
                 "0.7314, 0.8335, 1.08, 1.403, 1.779, 2.205, 2.69, 3.243, 3.858, 4.544");
        }

        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.01056, 0.04414, 0.1083, 0.2081, 0.3483, 0.5327, 0.7651, 1.049, 1.387");
          values("0.01813, 0.03719, 0.1042, 0.2312, 0.4305, 0.7078, 1.073, 1.532, 2.092, 2.765",\
                 "0.02554, 0.04086, 0.104, 0.2317, 0.4286, 0.7087, 1.07, 1.531, 2.094, 2.764",\
                 "0.04636, 0.06868, 0.1271, 0.2328, 0.4297, 0.7079, 1.072, 1.53, 2.094, 2.76",\
                 "0.07778, 0.1094, 0.1833, 0.2911, 0.4446, 0.7083, 1.075, 1.53, 2.094, 2.764",\
                 "0.1191, 0.1602, 0.255, 0.3829, 0.547, 0.7548, 1.078, 1.532, 2.099, 2.763",\
                 "0.168, 0.2224, 0.3404, 0.4946, 0.6786, 0.906, 1.175, 1.563, 2.099, 2.769",\
                 "0.2256, 0.2926, 0.437, 0.6168, 0.8286, 1.083, 1.378, 1.715, 2.168, 2.777",\
                 "0.2896, 0.372, 0.545, 0.757, 1.001, 1.278, 1.603, 1.973, 2.382, 2.909",\
                 "0.3624, 0.46, 0.664, 0.9104, 1.189, 1.497, 1.847, 2.252, 2.698, 3.186",\
                 "0.443, 0.5552, 0.796, 1.08, 1.392, 1.737, 2.117, 2.548, 3.032, 3.566");
        }

        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.01056, 0.04414, 0.1083, 0.2081, 0.3483, 0.5327, 0.7651, 1.049, 1.387");
          values("0.03431, 0.069, 0.1909, 0.4238, 0.7869, 1.295, 1.967, 2.808, 3.845, 5.069",\
                 "0.03856, 0.06929, 0.1908, 0.4229, 0.7871, 1.295, 1.964, 2.809, 3.836, 5.065",\
                 "0.05856, 0.09126, 0.1943, 0.4236, 0.7861, 1.294, 1.965, 2.812, 3.843, 5.063",\
                 "0.09094, 0.1299, 0.2401, 0.4328, 0.785, 1.294, 1.965, 2.811, 3.837, 5.072",\
                 "0.1314, 0.1812, 0.3037, 0.5037, 0.8056, 1.293, 1.965, 2.807, 3.839, 5.07",\
                 "0.1782, 0.241, 0.387, 0.601, 0.9028, 1.329, 1.963, 2.805, 3.833, 5.068",\
                 "0.2366, 0.3098, 0.4828, 0.717, 1.039, 1.452, 2.018, 2.807, 3.836, 5.061",\
                 "0.2958, 0.386, 0.5944, 0.856, 1.19, 1.631, 2.166, 2.886, 3.84, 5.058",\
                 "0.3664, 0.4696, 0.711, 1.008, 1.368, 1.821, 2.39, 3.061, 3.947, 5.074",\
                 "0.4474, 0.5626, 0.8344, 1.175, 1.569, 2.039, 2.629, 3.325, 4.149, 5.201");
        }
      }
    }
  }

