/*
 * 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__clkbuf_20) {
    area : 136.102400 ;

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

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

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

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

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

    pin(I) {
      capacitance : 0.02805 ;
      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 : 4.423 ;
      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.03152, 0.1386, 0.3432, 0.6619, 1.109, 1.698, 2.439, 3.344, 4.423");
          values("3.157, 3.054, 2.892, 2.799, 2.743, 2.709, 2.69, 2.675, 2.666, 2.659",\
                 "3.16, 3.059, 2.895, 2.8, 2.746, 2.711, 2.692, 2.679, 2.67, 2.662",\
                 "3.252, 3.146, 2.974, 2.873, 2.812, 2.777, 2.755, 2.741, 2.732, 2.723",\
                 "3.654, 3.529, 3.312, 3.162, 3.071, 3.016, 2.981, 2.96, 2.944, 2.933",\
                 "4.444, 4.293, 3.992, 3.755, 3.6, 3.497, 3.433, 3.39, 3.36, 3.34",\
                 "5.585, 5.405, 5.011, 4.669, 4.428, 4.265, 4.154, 4.079, 4.027, 3.99",\
                 "7.062, 6.857, 6.386, 5.929, 5.581, 5.338, 5.168, 5.048, 4.964, 4.902",\
                 "8.885, 8.652, 8.106, 7.542, 7.081, 6.738, 6.495, 6.317, 6.19, 6.098",\
                 "11.05, 10.8, 10.2, 9.519, 8.937, 8.485, 8.154, 7.91, 7.73, 7.594",\
                 "13.59, 13.32, 12.65, 11.88, 11.18, 10.61, 10.18, 9.845, 9.601, 9.418");
        }

        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.03152, 0.1386, 0.3432, 0.6619, 1.109, 1.698, 2.439, 3.344, 4.423");
          values("2.639, 2.505, 2.273, 2.152, 2.072, 2.032, 2.017, 2.028, 2.032, 2.055",\
                 "2.636, 2.502, 2.272, 2.149, 2.066, 2.031, 2.021, 2.028, 2.032, 2.044",\
                 "2.695, 2.562, 2.329, 2.186, 2.106, 2.064, 2.05, 2.061, 2.059, 2.083",\
                 "3.031, 2.889, 2.613, 2.431, 2.324, 2.27, 2.245, 2.243, 2.235, 2.259",\
                 "3.74, 3.568, 3.236, 2.994, 2.82, 2.72, 2.659, 2.639, 2.626, 2.622",\
                 "4.788, 4.599, 4.18, 3.834, 3.605, 3.437, 3.336, 3.266, 3.236, 3.221",\
                 "6.172, 5.954, 5.464, 5.003, 4.678, 4.452, 4.301, 4.19, 4.127, 4.096",\
                 "7.883, 7.647, 7.089, 6.498, 6.057, 5.761, 5.561, 5.4, 5.299, 5.212",\
                 "9.931, 9.673, 9.054, 8.364, 7.81, 7.389, 7.095, 6.923, 6.767, 6.653",\
                 "12.32, 12.06, 11.37, 10.6, 9.92, 9.399, 8.987, 8.716, 8.538, 8.386");
        }
      }

      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.03152, 0.1386, 0.3432, 0.6619, 1.109, 1.698, 2.439, 3.344, 4.423");
          values("0.1557, 0.176, 0.2332, 0.3282, 0.4693, 0.6663, 0.926, 1.254, 1.653, 2.131",\
                 "0.161, 0.1812, 0.2385, 0.3334, 0.4745, 0.6715, 0.9312, 1.259, 1.659, 2.136",\
                 "0.183, 0.2032, 0.26, 0.3546, 0.4957, 0.6926, 0.9523, 1.28, 1.679, 2.157",\
                 "0.2269, 0.2467, 0.3029, 0.3963, 0.5364, 0.7328, 0.9921, 1.319, 1.719, 2.196",\
                 "0.2813, 0.3021, 0.3596, 0.4529, 0.5913, 0.7861, 1.044, 1.371, 1.77, 2.248",\
                 "0.3397, 0.3623, 0.4223, 0.5174, 0.656, 0.8489, 1.106, 1.431, 1.829, 2.306",\
                 "0.401, 0.4253, 0.4887, 0.5867, 0.7274, 0.921, 1.176, 1.5, 1.898, 2.373",\
                 "0.4651, 0.4909, 0.558, 0.6589, 0.8027, 0.9988, 1.255, 1.578, 1.974, 2.448",\
                 "0.5317, 0.5591, 0.6301, 0.7352, 0.8811, 1.08, 1.341, 1.666, 2.061, 2.534",\
                 "0.6003, 0.6297, 0.7048, 0.814, 0.9633, 1.165, 1.429, 1.759, 2.158, 2.63");
        }

        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.03152, 0.1386, 0.3432, 0.6619, 1.109, 1.698, 2.439, 3.344, 4.423");
          values("0.1694, 0.1879, 0.2388, 0.3231, 0.4499, 0.6288, 0.8648, 1.163, 1.528, 1.962",\
                 "0.1724, 0.1909, 0.2417, 0.3261, 0.453, 0.632, 0.8679, 1.166, 1.531, 1.964",\
                 "0.1872, 0.2057, 0.2564, 0.3403, 0.467, 0.6457, 0.8822, 1.18, 1.545, 1.978",\
                 "0.2194, 0.2379, 0.2881, 0.3712, 0.4973, 0.6756, 0.9114, 1.209, 1.574, 2.008",\
                 "0.257, 0.2767, 0.3287, 0.4113, 0.5365, 0.7133, 0.9485, 1.246, 1.61, 2.043",\
                 "0.2935, 0.3152, 0.3705, 0.4542, 0.5784, 0.7539, 0.9875, 1.284, 1.647, 2.08",\
                 "0.3269, 0.3504, 0.4099, 0.4967, 0.6215, 0.7965, 1.029, 1.324, 1.686, 2.117",\
                 "0.3566, 0.3823, 0.4459, 0.5363, 0.6633, 0.8395, 1.072, 1.366, 1.726, 2.158",\
                 "0.3823, 0.4096, 0.4778, 0.5725, 0.7027, 0.8802, 1.115, 1.41, 1.77, 2.2",\
                 "0.4037, 0.4328, 0.5057, 0.6058, 0.7375, 0.9178, 1.155, 1.453, 1.815, 2.245");
        }

        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.03152, 0.1386, 0.3432, 0.6619, 1.109, 1.698, 2.439, 3.344, 4.423");
          values("0.06364, 0.08788, 0.162, 0.3056, 0.5395, 0.8759, 1.322, 1.886, 2.575, 3.395",\
                 "0.06382, 0.08822, 0.1619, 0.3057, 0.5397, 0.8763, 1.323, 1.885, 2.575, 3.395",\
                 "0.0639, 0.08824, 0.1624, 0.3055, 0.5398, 0.876, 1.324, 1.887, 2.575, 3.396",\
                 "0.0678, 0.09142, 0.1646, 0.3068, 0.5398, 0.8761, 1.324, 1.884, 2.574, 3.395",\
                 "0.07946, 0.104, 0.1749, 0.3122, 0.541, 0.8775, 1.324, 1.884, 2.573, 3.395",\
                 "0.09462, 0.1196, 0.1917, 0.3255, 0.5472, 0.8782, 1.322, 1.885, 2.573, 3.394",\
                 "0.1112, 0.1382, 0.2114, 0.3442, 0.5634, 0.8864, 1.325, 1.886, 2.569, 3.393",\
                 "0.13, 0.1582, 0.2336, 0.3664, 0.5856, 0.9076, 1.337, 1.888, 2.57, 3.392",\
                 "0.1496, 0.18, 0.2586, 0.3896, 0.6076, 0.9328, 1.363, 1.905, 2.576, 3.389",\
                 "0.1694, 0.2034, 0.2846, 0.4172, 0.634, 0.9598, 1.397, 1.94, 2.601, 3.398");
        }

        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.03152, 0.1386, 0.3432, 0.6619, 1.109, 1.698, 2.439, 3.344, 4.423");
          values("0.0694, 0.09122, 0.1591, 0.2978, 0.5287, 0.8589, 1.294, 1.844, 2.517, 3.312",\
                 "0.06918, 0.09118, 0.1595, 0.2978, 0.5289, 0.8593, 1.294, 1.844, 2.512, 3.313",\
                 "0.06934, 0.09134, 0.1588, 0.2978, 0.5288, 0.8589, 1.296, 1.843, 2.515, 3.313",\
                 "0.07226, 0.0938, 0.1608, 0.2987, 0.5288, 0.8588, 1.296, 1.842, 2.516, 3.313",\
                 "0.08324, 0.1048, 0.1689, 0.3027, 0.5299, 0.8587, 1.294, 1.844, 2.512, 3.316",\
                 "0.09684, 0.1199, 0.1841, 0.311, 0.5335, 0.861, 1.296, 1.843, 2.513, 3.312",\
                 "0.1128, 0.1372, 0.2026, 0.3254, 0.5426, 0.8644, 1.297, 1.845, 2.512, 3.312",\
                 "0.1302, 0.1558, 0.2238, 0.3434, 0.5572, 0.8774, 1.304, 1.846, 2.517, 3.315",\
                 "0.1486, 0.1758, 0.2468, 0.3644, 0.5754, 0.8944, 1.321, 1.859, 2.519, 3.314",\
                 "0.1682, 0.1968, 0.271, 0.39, 0.595, 0.9152, 1.344, 1.881, 2.535, 3.32");
        }
      }
    }
  }

