/*
 * 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__buf_12) {
    area : 107.251200 ;

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

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

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

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 5.429 ;
      max_transition : 4.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.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          index_2("0.001, 0.03847, 0.17, 0.4211, 0.8124, 1.361, 2.084, 2.994, 4.105, 5.429");
          values("1.276, 1.248, 1.23, 1.226, 1.225, 1.222, 1.221, 1.222, 1.221, 1.221",\
                 "1.27, 1.24, 1.222, 1.219, 1.216, 1.215, 1.214, 1.213, 1.214, 1.214",\
                 "1.319, 1.286, 1.261, 1.254, 1.251, 1.249, 1.25, 1.249, 1.25, 1.25",\
                 "1.512, 1.464, 1.415, 1.391, 1.384, 1.379, 1.376, 1.374, 1.374, 1.373",\
                 "1.837, 1.772, 1.691, 1.649, 1.628, 1.615, 1.61, 1.604, 1.603, 1.6",\
                 "2.309, 2.23, 2.109, 2.036, 2.001, 1.975, 1.962, 1.956, 1.951, 1.947",\
                 "2.927, 2.836, 2.675, 2.57, 2.511, 2.473, 2.45, 2.437, 2.427, 2.421",\
                 "3.703, 3.6, 3.401, 3.261, 3.17, 3.113, 3.079, 3.057, 3.041, 3.032",\
                 "4.637, 4.526, 4.291, 4.114, 3.991, 3.91, 3.862, 3.825, 3.803, 3.788",\
                 "5.737, 5.62, 5.354, 5.132, 4.979, 4.87, 4.798, 4.75, 4.72, 4.698");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          index_2("0.001, 0.03847, 0.17, 0.4211, 0.8124, 1.361, 2.084, 2.994, 4.105, 5.429");
          values("0.7095, 0.706, 0.7139, 0.7293, 0.7403, 0.7503, 0.7661, 0.7856, 0.8053, 0.8226",\
                 "0.7072, 0.6996, 0.7079, 0.7254, 0.7357, 0.7474, 0.7661, 0.782, 0.7909, 0.8226",\
                 "0.7596, 0.7474, 0.7386, 0.7444, 0.7565, 0.7694, 0.787, 0.8, 0.8161, 0.8442",\
                 "0.914, 0.889, 0.8609, 0.8503, 0.8494, 0.8594, 0.8752, 0.89, 0.9025, 0.927",\
                 "1.19, 1.152, 1.096, 1.07, 1.061, 1.058, 1.069, 1.081, 1.104, 1.111",\
                 "1.593, 1.54, 1.461, 1.406, 1.392, 1.377, 1.377, 1.383, 1.392, 1.406",\
                 "2.131, 2.057, 1.958, 1.881, 1.826, 1.828, 1.814, 1.812, 1.813, 1.813",\
                 "2.806, 2.714, 2.59, 2.488, 2.408, 2.376, 2.386, 2.384, 2.368, 2.367",\
                 "3.628, 3.519, 3.363, 3.238, 3.14, 3.08, 3.063, 3.064, 3.055, 3.051",\
                 "4.603, 4.478, 4.294, 4.145, 4.021, 3.938, 3.894, 3.867, 3.905, 3.879");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          index_2("0.001, 0.03847, 0.17, 0.4211, 0.8124, 1.361, 2.084, 2.994, 4.105, 5.429");
          values("0.1168, 0.1346, 0.1805, 0.2508, 0.3531, 0.4952, 0.6821, 0.9175, 1.205, 1.547",\
                 "0.124, 0.1417, 0.1876, 0.2579, 0.3602, 0.5023, 0.6892, 0.9244, 1.212, 1.555",\
                 "0.1567, 0.1743, 0.2199, 0.2901, 0.3924, 0.5345, 0.7214, 0.9568, 1.244, 1.587",\
                 "0.2142, 0.2328, 0.2799, 0.3508, 0.4527, 0.5946, 0.7813, 1.017, 1.304, 1.646",\
                 "0.2883, 0.3085, 0.3575, 0.4299, 0.5326, 0.6746, 0.8606, 1.096, 1.383, 1.726",\
                 "0.3778, 0.4001, 0.4535, 0.5286, 0.6316, 0.7735, 0.9597, 1.194, 1.481, 1.824",\
                 "0.4827, 0.5073, 0.5648, 0.6448, 0.7507, 0.8929, 1.079, 1.313, 1.601, 1.943",\
                 "0.6039, 0.6306, 0.693, 0.777, 0.8873, 1.033, 1.22, 1.455, 1.742, 2.084",\
                 "0.7415, 0.7702, 0.8379, 0.927, 1.041, 1.191, 1.383, 1.62, 1.907, 2.248",\
                 "0.8968, 0.9275, 1, 1.095, 1.214, 1.368, 1.564, 1.806, 2.096, 2.438");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          index_2("0.001, 0.03847, 0.17, 0.4211, 0.8124, 1.361, 2.084, 2.994, 4.105, 5.429");
          values("0.09488, 0.1144, 0.177, 0.2943, 0.4763, 0.7319, 1.067, 1.489, 2.005, 2.619",\
                 "0.1012, 0.1206, 0.1831, 0.3005, 0.4828, 0.7376, 1.072, 1.496, 2.01, 2.625",\
                 "0.1231, 0.1425, 0.2039, 0.3206, 0.5027, 0.7575, 1.093, 1.514, 2.031, 2.645",\
                 "0.1435, 0.1635, 0.2245, 0.3401, 0.5216, 0.7761, 1.111, 1.534, 2.048, 2.661",\
                 "0.155, 0.1761, 0.2376, 0.3518, 0.5321, 0.7862, 1.121, 1.543, 2.059, 2.672",\
                 "0.1544, 0.177, 0.2398, 0.3542, 0.5336, 0.7866, 1.12, 1.542, 2.057, 2.672",\
                 "0.1396, 0.1639, 0.2294, 0.3444, 0.5236, 0.7761, 1.11, 1.531, 2.045, 2.659",\
                 "0.1095, 0.1357, 0.2036, 0.3196, 0.5002, 0.7542, 1.088, 1.508, 2.022, 2.634",\
                 "0.0628, 0.0911, 0.1616, 0.2785, 0.4606, 0.7172, 1.053, 1.473, 1.986, 2.598",\
                 "-0.0018, 0.0287, 0.103, 0.2208, 0.4044, 0.6633, 1.001, 1.424, 1.937, 2.549");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          index_2("0.001, 0.03847, 0.17, 0.4211, 0.8124, 1.361, 2.084, 2.994, 4.105, 5.429");
          values("0.03898, 0.05734, 0.1102, 0.2083, 0.3709, 0.6042, 0.915, 1.306, 1.782, 2.354",\
                 "0.03916, 0.0575, 0.1102, 0.2081, 0.3706, 0.6048, 0.9143, 1.305, 1.784, 2.353",\
                 "0.03966, 0.05792, 0.1108, 0.2087, 0.3708, 0.6046, 0.9139, 1.305, 1.783, 2.355",\
                 "0.04692, 0.06476, 0.116, 0.2105, 0.3712, 0.6055, 0.9141, 1.305, 1.785, 2.352",\
                 "0.05654, 0.0748, 0.1243, 0.2165, 0.3735, 0.6053, 0.9148, 1.306, 1.783, 2.349",\
                 "0.0686, 0.0892, 0.1378, 0.2258, 0.3776, 0.6068, 0.915, 1.303, 1.781, 2.354",\
                 "0.0812, 0.1036, 0.154, 0.2414, 0.389, 0.6114, 0.9166, 1.305, 1.781, 2.35",\
                 "0.0954, 0.1194, 0.1726, 0.2594, 0.406, 0.6258, 0.924, 1.308, 1.781, 2.347",\
                 "0.1104, 0.1362, 0.1932, 0.2798, 0.4248, 0.647, 0.9434, 1.319, 1.785, 2.349",\
                 "0.1248, 0.1536, 0.2148, 0.3016, 0.4456, 0.6688, 0.9702, 1.345, 1.802, 2.356");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          index_2("0.001, 0.03847, 0.17, 0.4211, 0.8124, 1.361, 2.084, 2.994, 4.105, 5.429");
          values("0.03786, 0.06608, 0.1683, 0.3708, 0.6862, 1.128, 1.71, 2.445, 3.34, 4.408",\
                 "0.03794, 0.06612, 0.1684, 0.3705, 0.6861, 1.128, 1.711, 2.444, 3.344, 4.407",\
                 "0.03954, 0.06716, 0.1685, 0.3704, 0.686, 1.128, 1.713, 2.447, 3.339, 4.415",\
                 "0.04476, 0.07156, 0.1701, 0.3705, 0.6854, 1.127, 1.71, 2.444, 3.345, 4.414",\
                 "0.05192, 0.07818, 0.173, 0.3717, 0.6859, 1.127, 1.711, 2.442, 3.339, 4.414",\
                 "0.06064, 0.08652, 0.179, 0.3744, 0.6872, 1.127, 1.708, 2.441, 3.339, 4.405",\
                 "0.071, 0.0968, 0.1866, 0.3808, 0.6918, 1.129, 1.709, 2.443, 3.335, 4.409",\
                 "0.0806, 0.1066, 0.196, 0.3884, 0.702, 1.137, 1.712, 2.441, 3.338, 4.401",\
                 "0.0918, 0.1204, 0.2068, 0.3968, 0.713, 1.151, 1.722, 2.444, 3.334, 4.401",\
                 "0.1042, 0.1324, 0.2196, 0.4054, 0.7232, 1.167, 1.739, 2.458, 3.342, 4.4");
        }
      }
    }
  }

