/*
 * 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_8) {
    area : 73.382400 ;

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

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

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

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

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

    pin(I) {
      capacitance : 0.02693 ;
      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(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 3.024 ;
      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.02187, 0.09512, 0.235, 0.4529, 0.7587, 1.161, 1.668, 2.287, 3.024");
          values("0.9203, 0.8995, 0.8736, 0.8616, 0.8546, 0.8512, 0.8484, 0.8467, 0.8464, 0.8455",\
                 "0.9157, 0.8945, 0.8687, 0.857, 0.8508, 0.8466, 0.8441, 0.843, 0.8418, 0.8414",\
                 "0.9457, 0.9239, 0.8932, 0.8811, 0.8738, 0.8699, 0.8674, 0.8656, 0.8647, 0.8647",\
                 "1.084, 1.054, 1.008, 0.9835, 0.9706, 0.9638, 0.9593, 0.9568, 0.9548, 0.9534",\
                 "1.33, 1.291, 1.222, 1.18, 1.153, 1.14, 1.131, 1.126, 1.122, 1.12",\
                 "1.69, 1.642, 1.548, 1.48, 1.439, 1.412, 1.398, 1.388, 1.38, 1.376",\
                 "2.162, 2.106, 1.989, 1.891, 1.829, 1.788, 1.764, 1.747, 1.735, 1.727",\
                 "2.75, 2.688, 2.549, 2.421, 2.334, 2.276, 2.238, 2.212, 2.194, 2.182",\
                 "3.46, 3.394, 3.235, 3.077, 2.963, 2.884, 2.829, 2.793, 2.766, 2.747",\
                 "4.297, 4.226, 4.052, 3.865, 3.718, 3.616, 3.542, 3.492, 3.454, 3.428");
        }

        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.02187, 0.09512, 0.235, 0.4529, 0.7587, 1.161, 1.668, 2.287, 3.024");
          values("0.5162, 0.5086, 0.5099, 0.5152, 0.5211, 0.5266, 0.5353, 0.5427, 0.5537, 0.5615",\
                 "0.5148, 0.5081, 0.5082, 0.5132, 0.5183, 0.5237, 0.5335, 0.5427, 0.5479, 0.5615",\
                 "0.5494, 0.5387, 0.5295, 0.5309, 0.5355, 0.5417, 0.549, 0.5553, 0.5652, 0.5759",\
                 "0.6665, 0.6487, 0.6249, 0.6127, 0.6079, 0.6112, 0.6188, 0.6237, 0.6307, 0.6407",\
                 "0.8748, 0.8463, 0.8013, 0.7776, 0.7638, 0.7606, 0.757, 0.7638, 0.769, 0.7775",\
                 "1.181, 1.141, 1.081, 1.035, 1.011, 0.9971, 0.9939, 0.9877, 0.9904, 0.9971",\
                 "1.591, 1.543, 1.459, 1.394, 1.349, 1.33, 1.32, 1.31, 1.301, 1.303",\
                 "2.107, 2.048, 1.946, 1.859, 1.792, 1.756, 1.739, 1.731, 1.719, 1.716",\
                 "2.734, 2.666, 2.545, 2.439, 2.352, 2.293, 2.257, 2.242, 2.236, 2.227",\
                 "3.477, 3.404, 3.258, 3.136, 3.028, 2.944, 2.892, 2.854, 2.848, 2.842");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : positive_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.02187, 0.09512, 0.235, 0.4529, 0.7587, 1.161, 1.668, 2.287, 3.024");
          values("0.1581, 0.1791, 0.2344, 0.3191, 0.4378, 0.5998, 0.8121, 1.08, 1.406, 1.796",\
                 "0.1661, 0.1871, 0.2424, 0.327, 0.4458, 0.6077, 0.82, 1.087, 1.414, 1.803",\
                 "0.2043, 0.225, 0.28, 0.3646, 0.4832, 0.6452, 0.8575, 1.125, 1.451, 1.841",\
                 "0.2761, 0.2974, 0.3536, 0.4386, 0.5572, 0.7188, 0.9309, 1.198, 1.524, 1.914",\
                 "0.3693, 0.3924, 0.4515, 0.5389, 0.6589, 0.8204, 1.032, 1.299, 1.625, 2.014",\
                 "0.4815, 0.5069, 0.5708, 0.6625, 0.7853, 0.9473, 1.159, 1.425, 1.751, 2.14",\
                 "0.6118, 0.6397, 0.7092, 0.8067, 0.9349, 1.101, 1.313, 1.579, 1.904, 2.292",\
                 "0.7626, 0.7927, 0.868, 0.9716, 1.106, 1.279, 1.496, 1.763, 2.089, 2.477",\
                 "0.9334, 0.9663, 1.048, 1.158, 1.299, 1.478, 1.702, 1.977, 2.305, 2.693",\
                 "1.127, 1.162, 1.249, 1.367, 1.514, 1.7, 1.932, 2.215, 2.551, 2.943");
        }

        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.02187, 0.09512, 0.235, 0.4529, 0.7587, 1.161, 1.668, 2.287, 3.024");
          values("0.134, 0.1561, 0.2268, 0.3577, 0.561, 0.8458, 1.219, 1.691, 2.267, 2.954",\
                 "0.1405, 0.163, 0.2335, 0.3643, 0.5673, 0.8526, 1.227, 1.698, 2.272, 2.96",\
                 "0.1661, 0.188, 0.2574, 0.3876, 0.5909, 0.8756, 1.249, 1.721, 2.297, 2.981",\
                 "0.1926, 0.2151, 0.2844, 0.4131, 0.6146, 0.8987, 1.273, 1.745, 2.318, 3.007",\
                 "0.2061, 0.2298, 0.3001, 0.4277, 0.6278, 0.9108, 1.284, 1.756, 2.329, 3.014",\
                 "0.2029, 0.2286, 0.3011, 0.4297, 0.6293, 0.9107, 1.283, 1.753, 2.328, 3.013",\
                 "0.1812, 0.2092, 0.2848, 0.414, 0.6148, 0.8977, 1.269, 1.738, 2.311, 2.995",\
                 "0.1395, 0.1696, 0.2486, 0.3798, 0.5828, 0.8683, 1.241, 1.709, 2.282, 2.965",\
                 "0.0762, 0.1087, 0.1922, 0.3254, 0.53, 0.8183, 1.195, 1.666, 2.238, 2.921",\
                 "-0.0099, 0.0246, 0.1129, 0.2497, 0.4552, 0.7458, 1.128, 1.603, 2.179, 2.861");
        }

        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.02187, 0.09512, 0.235, 0.4529, 0.7587, 1.161, 1.668, 2.287, 3.024");
          values("0.05972, 0.08208, 0.1468, 0.2626, 0.4488, 0.721, 1.084, 1.544, 2.105, 2.772",\
                 "0.05978, 0.08226, 0.1468, 0.2627, 0.4486, 0.72, 1.084, 1.542, 2.105, 2.771",\
                 "0.06032, 0.08272, 0.1476, 0.2632, 0.4487, 0.721, 1.084, 1.543, 2.102, 2.775",\
                 "0.06948, 0.09166, 0.1534, 0.2668, 0.4493, 0.7198, 1.084, 1.542, 2.102, 2.771",\
                 "0.08568, 0.1072, 0.1676, 0.2775, 0.4558, 0.7218, 1.083, 1.543, 2.102, 2.773",\
                 "0.1052, 0.1292, 0.19, 0.2958, 0.4686, 0.7282, 1.085, 1.543, 2.101, 2.773",\
                 "0.1274, 0.1528, 0.2156, 0.3224, 0.4924, 0.7434, 1.093, 1.545, 2.104, 2.769",\
                 "0.1498, 0.1794, 0.2454, 0.3512, 0.5228, 0.7744, 1.115, 1.557, 2.106, 2.772",\
                 "0.1762, 0.2076, 0.2782, 0.3834, 0.5558, 0.811, 1.156, 1.589, 2.126, 2.778",\
                 "0.2022, 0.2364, 0.314, 0.421, 0.5916, 0.8512, 1.199, 1.639, 2.168, 2.805");
        }

        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.02187, 0.09512, 0.235, 0.4529, 0.7587, 1.161, 1.668, 2.287, 3.024");
          values("0.05996, 0.09266, 0.2112, 0.4475, 0.8179, 1.34, 2.021, 2.885, 3.938, 5.191",\
                 "0.06, 0.09298, 0.2112, 0.4474, 0.8178, 1.34, 2.022, 2.884, 3.94, 5.192",\
                 "0.06122, 0.0938, 0.2114, 0.4473, 0.8184, 1.34, 2.021, 2.884, 3.936, 5.196",\
                 "0.06846, 0.1002, 0.2148, 0.4483, 0.8181, 1.338, 2.026, 2.884, 3.939, 5.185",\
                 "0.07962, 0.1108, 0.221, 0.4507, 0.8199, 1.339, 2.022, 2.883, 3.936, 5.194",\
                 "0.093, 0.1234, 0.2318, 0.4578, 0.8238, 1.34, 2.026, 2.883, 3.935, 5.189",\
                 "0.1088, 0.1396, 0.2444, 0.4692, 0.8352, 1.347, 2.025, 2.89, 3.933, 5.187",\
                 "0.1246, 0.157, 0.26, 0.4822, 0.8498, 1.363, 2.038, 2.889, 3.941, 5.188",\
                 "0.1436, 0.1768, 0.2776, 0.4966, 0.8668, 1.386, 2.059, 2.904, 3.944, 5.197",\
                 "0.1632, 0.1996, 0.299, 0.5126, 0.8846, 1.409, 2.089, 2.933, 3.965, 5.201");
        }
      }
    }
  }

