/*
 * 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_16) {
    area : 109.760000 ;

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

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

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

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 3.623 ;
      max_transition : 3.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.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
          index_2("0.001, 0.026, 0.1137, 0.2813, 0.5423, 0.9086, 1.391, 1.998, 2.739, 3.623");
          values("3.117, 3.043, 2.91, 2.833, 2.788, 2.759, 2.741, 2.728, 2.722, 2.717",\
                 "3.118, 3.043, 2.91, 2.83, 2.788, 2.759, 2.74, 2.729, 2.721, 2.716",\
                 "3.264, 3.182, 3.041, 2.951, 2.905, 2.872, 2.855, 2.841, 2.831, 2.827",\
                 "3.801, 3.702, 3.506, 3.374, 3.296, 3.246, 3.214, 3.193, 3.179, 3.17",\
                 "4.772, 4.643, 4.379, 4.165, 4.029, 3.94, 3.883, 3.843, 3.817, 3.798",\
                 "6.169, 6.015, 5.675, 5.358, 5.14, 5, 4.901, 4.837, 4.789, 4.755",\
                 "7.994, 7.823, 7.411, 6.984, 6.667, 6.451, 6.307, 6.201, 6.126, 6.071",\
                 "10.26, 10.07, 9.598, 9.072, 8.651, 8.336, 8.123, 7.968, 7.855, 7.771",\
                 "12.99, 12.79, 12.25, 11.64, 11.1, 10.69, 10.38, 10.16, 10, 9.885",\
                 "16.2, 15.98, 15.4, 14.71, 14.07, 13.54, 13.13, 12.83, 12.61, 12.44");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
          index_2("0.001, 0.026, 0.1137, 0.2813, 0.5423, 0.9086, 1.391, 1.998, 2.739, 3.623");
          values("1.883, 1.831, 1.767, 1.734, 1.726, 1.725, 1.739, 1.759, 1.771, 1.808",\
                 "1.886, 1.829, 1.769, 1.732, 1.726, 1.722, 1.741, 1.759, 1.777, 1.791",\
                 "2.018, 1.957, 1.872, 1.83, 1.814, 1.807, 1.812, 1.831, 1.848, 1.874",\
                 "2.486, 2.407, 2.282, 2.185, 2.133, 2.105, 2.1, 2.106, 2.123, 2.143",\
                 "3.312, 3.204, 3.005, 2.869, 2.763, 2.692, 2.657, 2.661, 2.651, 2.666",\
                 "4.517, 4.38, 4.12, 3.897, 3.749, 3.643, 3.564, 3.514, 3.498, 3.491",\
                 "6.11, 5.958, 5.627, 5.332, 5.087, 4.936, 4.834, 4.751, 4.703, 4.657",\
                 "8.111, 7.935, 7.541, 7.168, 6.856, 6.613, 6.461, 6.363, 6.276, 6.219",\
                 "10.53, 10.33, 9.88, 9.423, 9.038, 8.71, 8.475, 8.337, 8.234, 8.122",\
                 "13.39, 13.18, 12.68, 12.14, 11.66, 11.28, 10.95, 10.72, 10.59, 10.48");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
          index_2("0.001, 0.026, 0.1137, 0.2813, 0.5423, 0.9086, 1.391, 1.998, 2.739, 3.623");
          values("0.1216, 0.1363, 0.1772, 0.2416, 0.3343, 0.4617, 0.6291, 0.84, 1.098, 1.406",\
                 "0.1267, 0.1414, 0.1822, 0.2467, 0.3394, 0.4668, 0.6341, 0.8453, 1.103, 1.411",\
                 "0.1508, 0.1654, 0.2058, 0.2702, 0.3627, 0.49, 0.6574, 0.8686, 1.126, 1.433",\
                 "0.1982, 0.2129, 0.2535, 0.3173, 0.4094, 0.5362, 0.7032, 0.9139, 1.172, 1.479",\
                 "0.2598, 0.2757, 0.3182, 0.3833, 0.4752, 0.6013, 0.7677, 0.978, 1.235, 1.542",\
                 "0.3324, 0.3497, 0.3954, 0.4636, 0.5573, 0.6832, 0.8487, 1.058, 1.315, 1.622",\
                 "0.4163, 0.435, 0.4836, 0.5555, 0.6528, 0.7815, 0.9475, 1.156, 1.412, 1.718",\
                 "0.5113, 0.5316, 0.5845, 0.6599, 0.7606, 0.893, 1.063, 1.273, 1.528, 1.833",\
                 "0.619, 0.6406, 0.6971, 0.7767, 0.8813, 1.017, 1.191, 1.406, 1.664, 1.969",\
                 "0.7388, 0.7621, 0.8227, 0.907, 1.016, 1.155, 1.333, 1.553, 1.817, 2.126");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
          index_2("0.001, 0.026, 0.1137, 0.2813, 0.5423, 0.9086, 1.391, 1.998, 2.739, 3.623");
          values("0.1149, 0.1296, 0.1748, 0.2585, 0.3893, 0.5734, 0.8154, 1.12, 1.492, 1.937",\
                 "0.1184, 0.1328, 0.1781, 0.2617, 0.3925, 0.5761, 0.8182, 1.124, 1.496, 1.941",\
                 "0.133, 0.1473, 0.192, 0.2751, 0.4057, 0.5895, 0.8314, 1.136, 1.508, 1.953",\
                 "0.153, 0.1678, 0.212, 0.2937, 0.4231, 0.606, 0.8471, 1.152, 1.523, 1.967",\
                 "0.1663, 0.1821, 0.2273, 0.3084, 0.436, 0.6176, 0.8582, 1.163, 1.535, 1.978",\
                 "0.1704, 0.1873, 0.2347, 0.3158, 0.4432, 0.6235, 0.8628, 1.167, 1.537, 1.981",\
                 "0.1633, 0.1819, 0.2312, 0.3134, 0.4412, 0.622, 0.8607, 1.162, 1.533, 1.974",\
                 "0.1441, 0.1641, 0.2168, 0.3005, 0.4287, 0.6105, 0.8505, 1.152, 1.521, 1.962",\
                 "0.1114, 0.133, 0.189, 0.2745, 0.4038, 0.5867, 0.8287, 1.133, 1.502, 1.942",\
                 "0.066, 0.0888, 0.1483, 0.2362, 0.3656, 0.5505, 0.7949, 1.101, 1.473, 1.914");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
          index_2("0.001, 0.026, 0.1137, 0.2813, 0.5423, 0.9086, 1.391, 1.998, 2.739, 3.623");
          values("0.0495, 0.06628, 0.1157, 0.2064, 0.3537, 0.5671, 0.853, 1.215, 1.654, 2.184",\
                 "0.04956, 0.06648, 0.1154, 0.2065, 0.3532, 0.568, 0.854, 1.215, 1.656, 2.18",\
                 "0.0501, 0.06686, 0.1161, 0.2068, 0.3537, 0.568, 0.8543, 1.215, 1.655, 2.182",\
                 "0.05596, 0.07264, 0.1199, 0.2086, 0.3545, 0.5679, 0.854, 1.215, 1.655, 2.18",\
                 "0.06824, 0.08502, 0.1326, 0.2169, 0.3584, 0.568, 0.8536, 1.216, 1.656, 2.183",\
                 "0.0836, 0.1014, 0.1496, 0.2327, 0.3683, 0.5726, 0.8546, 1.215, 1.656, 2.184",\
                 "0.1002, 0.1208, 0.17, 0.2522, 0.3878, 0.5882, 0.8604, 1.216, 1.655, 2.178",\
                 "0.1182, 0.14, 0.191, 0.275, 0.4102, 0.611, 0.8812, 1.227, 1.658, 2.181",\
                 "0.1378, 0.1618, 0.2168, 0.3002, 0.4358, 0.6374, 0.9112, 1.255, 1.676, 2.187",\
                 "0.1594, 0.1858, 0.2434, 0.3286, 0.463, 0.666, 0.9434, 1.292, 1.711, 2.211");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
          index_2("0.001, 0.026, 0.1137, 0.2813, 0.5423, 0.9086, 1.391, 1.998, 2.739, 3.623");
          values("0.0509, 0.07118, 0.1457, 0.2974, 0.538, 0.8765, 1.323, 1.883, 2.567, 3.383",\
                 "0.05104, 0.07092, 0.1455, 0.2974, 0.5392, 0.8765, 1.322, 1.882, 2.566, 3.382",\
                 "0.05112, 0.0713, 0.1457, 0.2976, 0.5381, 0.8778, 1.322, 1.881, 2.567, 3.381",\
                 "0.05654, 0.07624, 0.1483, 0.2982, 0.5383, 0.8768, 1.321, 1.883, 2.566, 3.38",\
                 "0.06516, 0.08462, 0.1534, 0.3012, 0.5399, 0.8764, 1.323, 1.882, 2.566, 3.383",\
                 "0.07568, 0.09576, 0.1624, 0.307, 0.5443, 0.8789, 1.322, 1.883, 2.566, 3.381",\
                 "0.08804, 0.1093, 0.1734, 0.3156, 0.5524, 0.8868, 1.326, 1.887, 2.571, 3.379",\
                 "0.1008, 0.1236, 0.188, 0.3252, 0.564, 0.9, 1.337, 1.889, 2.573, 3.387",\
                 "0.1154, 0.1384, 0.205, 0.337, 0.575, 0.9148, 1.356, 1.905, 2.578, 3.392",\
                 "0.1296, 0.1542, 0.2232, 0.3524, 0.5876, 0.931, 1.376, 1.93, 2.599, 3.4");
        }
      }
    }
  }

