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

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

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

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

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

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

    pin(I) {
      capacitance : 0.02708 ;
      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 : 4.267 ;
      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.03045, 0.1338, 0.3312, 0.6387, 1.07, 1.638, 2.353, 3.226, 4.267");
          values("0.8756, 0.8574, 0.8449, 0.843, 0.8397, 0.8386, 0.8384, 0.8382, 0.8381, 0.838",\
                 "0.8715, 0.8515, 0.8403, 0.8371, 0.8348, 0.8343, 0.8339, 0.8341, 0.8338, 0.8338",\
                 "0.9154, 0.8916, 0.8749, 0.8693, 0.8671, 0.8657, 0.8651, 0.8648, 0.865, 0.865",\
                 "1.068, 1.034, 0.9964, 0.9799, 0.9717, 0.9685, 0.9666, 0.9656, 0.9656, 0.9648",\
                 "1.326, 1.277, 1.217, 1.185, 1.167, 1.157, 1.152, 1.15, 1.147, 1.146",\
                 "1.697, 1.635, 1.546, 1.491, 1.46, 1.444, 1.433, 1.427, 1.423, 1.421",\
                 "2.18, 2.109, 1.991, 1.913, 1.863, 1.835, 1.819, 1.807, 1.8, 1.795",\
                 "2.785, 2.706, 2.557, 2.452, 2.384, 2.341, 2.313, 2.297, 2.285, 2.277",\
                 "3.513, 3.427, 3.25, 3.118, 3.027, 2.964, 2.926, 2.901, 2.885, 2.873",\
                 "4.371, 4.279, 4.08, 3.916, 3.8, 3.721, 3.666, 3.63, 3.606, 3.59");
        }

        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.03045, 0.1338, 0.3312, 0.6387, 1.07, 1.638, 2.353, 3.226, 4.267");
          values("0.5026, 0.4983, 0.5053, 0.5112, 0.52, 0.5292, 0.5416, 0.5508, 0.561, 0.5939",\
                 "0.501, 0.4957, 0.501, 0.509, 0.5178, 0.5228, 0.5387, 0.5584, 0.561, 0.5687",\
                 "0.5459, 0.5358, 0.528, 0.5292, 0.5355, 0.544, 0.5578, 0.5677, 0.5934, 0.5975",\
                 "0.6688, 0.6498, 0.6274, 0.616, 0.6154, 0.6257, 0.6381, 0.6466, 0.6618, 0.6659",\
                 "0.8869, 0.8562, 0.8107, 0.796, 0.7889, 0.7823, 0.7911, 0.8053, 0.8094, 0.8351",\
                 "1.204, 1.164, 1.103, 1.058, 1.046, 1.036, 1.036, 1.038, 1.047, 1.065",\
                 "1.627, 1.569, 1.491, 1.429, 1.39, 1.386, 1.38, 1.384, 1.375, 1.393",\
                 "2.155, 2.085, 1.984, 1.902, 1.849, 1.823, 1.825, 1.824, 1.814, 1.814",\
                 "2.801, 2.715, 2.595, 2.497, 2.425, 2.37, 2.353, 2.37, 2.361, 2.357",\
                 "3.561, 3.465, 3.321, 3.201, 3.115, 3.044, 3.011, 2.99, 3.005, 2.995");
        }
      }

      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.03045, 0.1338, 0.3312, 0.6387, 1.07, 1.638, 2.353, 3.226, 4.267");
          values("0.1225, 0.143, 0.1964, 0.2797, 0.403, 0.5752, 0.8017, 1.087, 1.436, 1.851",\
                 "0.1311, 0.1518, 0.205, 0.2883, 0.4117, 0.5839, 0.8104, 1.096, 1.444, 1.859",\
                 "0.1701, 0.1905, 0.2435, 0.3268, 0.4501, 0.6222, 0.8486, 1.134, 1.483, 1.898",\
                 "0.2357, 0.2574, 0.3124, 0.3964, 0.5193, 0.6912, 0.9175, 1.203, 1.552, 1.967",\
                 "0.3198, 0.3436, 0.4013, 0.487, 0.6103, 0.782, 1.008, 1.294, 1.641, 2.056",\
                 "0.4209, 0.4475, 0.5102, 0.5996, 0.7235, 0.8947, 1.121, 1.405, 1.753, 2.169",\
                 "0.5395, 0.5685, 0.6364, 0.7309, 0.8589, 1.031, 1.257, 1.542, 1.889, 2.304",\
                 "0.6759, 0.7078, 0.7815, 0.8815, 1.015, 1.191, 1.419, 1.704, 2.051, 2.465",\
                 "0.8315, 0.8657, 0.9457, 1.052, 1.189, 1.371, 1.604, 1.892, 2.239, 2.654",\
                 "1.007, 1.044, 1.13, 1.242, 1.386, 1.572, 1.811, 2.106, 2.458, 2.872");
        }

        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.03045, 0.1338, 0.3312, 0.6387, 1.07, 1.638, 2.353, 3.226, 4.267");
          values("0.1008, 0.1236, 0.1971, 0.3352, 0.55, 0.8515, 1.247, 1.746, 2.353, 3.081",\
                 "0.1082, 0.1309, 0.2043, 0.3425, 0.5575, 0.8582, 1.254, 1.754, 2.363, 3.085",\
                 "0.1334, 0.1561, 0.2283, 0.3659, 0.581, 0.8812, 1.277, 1.775, 2.386, 3.112",\
                 "0.1555, 0.1789, 0.2508, 0.3872, 0.6009, 0.9015, 1.297, 1.797, 2.406, 3.13",\
                 "0.1667, 0.1916, 0.2639, 0.3993, 0.6125, 0.9118, 1.308, 1.806, 2.415, 3.141",\
                 "0.1639, 0.1908, 0.2652, 0.4001, 0.6121, 0.9111, 1.305, 1.803, 2.411, 3.138",\
                 "0.1447, 0.1735, 0.2507, 0.3864, 0.5993, 0.8984, 1.292, 1.789, 2.396, 3.123",\
                 "0.1076, 0.139, 0.2186, 0.3561, 0.5712, 0.8717, 1.265, 1.762, 2.368, 3.092",\
                 "0.0512, 0.0849, 0.1686, 0.3071, 0.5234, 0.8272, 1.224, 1.72, 2.326, 3.05",\
                 "-0.026, 0.0101, 0.0979, 0.2383, 0.4568, 0.7632, 1.164, 1.663, 2.27, 2.992");
        }

        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.03045, 0.1338, 0.3312, 0.6387, 1.07, 1.638, 2.353, 3.226, 4.267");
          values("0.04228, 0.0639, 0.1268, 0.2475, 0.4466, 0.7318, 1.107, 1.582, 2.164, 2.852",\
                 "0.0425, 0.06402, 0.127, 0.2475, 0.4465, 0.7318, 1.109, 1.583, 2.162, 2.854",\
                 "0.04346, 0.06472, 0.1278, 0.2478, 0.447, 0.7314, 1.108, 1.583, 2.164, 2.856",\
                 "0.05194, 0.07302, 0.1338, 0.2498, 0.4468, 0.7324, 1.108, 1.582, 2.164, 2.857",\
                 "0.0638, 0.0853, 0.144, 0.2559, 0.4491, 0.732, 1.108, 1.584, 2.16, 2.85",\
                 "0.0776, 0.1012, 0.16, 0.2674, 0.454, 0.7342, 1.108, 1.582, 2.162, 2.854",\
                 "0.0918, 0.1182, 0.1788, 0.2862, 0.4676, 0.74, 1.109, 1.581, 2.158, 2.848",\
                 "0.1082, 0.1366, 0.2002, 0.3062, 0.4878, 0.758, 1.12, 1.585, 2.159, 2.848",\
                 "0.1238, 0.156, 0.2234, 0.329, 0.5094, 0.7842, 1.145, 1.601, 2.165, 2.848",\
                 "0.1406, 0.1756, 0.2484, 0.355, 0.5338, 0.8098, 1.179, 1.633, 2.186, 2.858");
        }

        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.03045, 0.1338, 0.3312, 0.6387, 1.07, 1.638, 2.353, 3.226, 4.267");
          values("0.04198, 0.0749, 0.1965, 0.4356, 0.808, 1.331, 2.022, 2.889, 3.951, 5.21",\
                 "0.042, 0.07504, 0.1964, 0.4358, 0.8081, 1.333, 2.023, 2.889, 3.946, 5.217",\
                 "0.0441, 0.0767, 0.1965, 0.4356, 0.8083, 1.333, 2.023, 2.891, 3.947, 5.208",\
                 "0.04986, 0.08146, 0.1984, 0.4354, 0.8076, 1.33, 2.022, 2.888, 3.946, 5.213",\
                 "0.05872, 0.08934, 0.2016, 0.4371, 0.808, 1.329, 2.022, 2.886, 3.946, 5.21",\
                 "0.06924, 0.09862, 0.2088, 0.441, 0.8094, 1.33, 2.017, 2.883, 3.944, 5.206",\
                 "0.0802, 0.1108, 0.2176, 0.4488, 0.8176, 1.333, 2.018, 2.888, 3.941, 5.2",\
                 "0.0914, 0.1226, 0.2284, 0.458, 0.828, 1.343, 2.023, 2.884, 3.941, 5.199",\
                 "0.105, 0.1384, 0.2406, 0.4674, 0.8428, 1.36, 2.034, 2.889, 3.94, 5.201",\
                 "0.1194, 0.1538, 0.255, 0.4786, 0.8556, 1.381, 2.058, 2.906, 3.948, 5.199");
        }
      }
    }
  }

