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

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

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

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

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 7.177 ;
      max_transition : 3.6 ;
      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.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
          index_2("0.001, 0.05053, 0.2244, 0.5564, 1.074, 1.799, 2.754, 3.957, 5.426, 7.177");
          values("4.395, 4.286, 4.161, 4.109, 4.08, 4.065, 4.056, 4.052, 4.046, 4.043",\
                 "4.407, 4.296, 4.173, 4.119, 4.091, 4.077, 4.066, 4.062, 4.058, 4.056",\
                 "4.671, 4.545, 4.389, 4.315, 4.275, 4.256, 4.245, 4.236, 4.233, 4.231",\
                 "5.548, 5.371, 5.105, 4.948, 4.857, 4.809, 4.778, 4.76, 4.748, 4.741",\
                 "7.062, 6.823, 6.416, 6.127, 5.952, 5.848, 5.782, 5.74, 5.712, 5.692",\
                 "9.211, 8.923, 8.361, 7.923, 7.624, 7.437, 7.317, 7.236, 7.183, 7.144",\
                 "12.01, 11.68, 10.98, 10.36, 9.914, 9.623, 9.425, 9.293, 9.199, 9.135",\
                 "15.46, 15.09, 14.28, 13.48, 12.88, 12.45, 12.15, 11.95, 11.8, 11.7",\
                 "19.62, 19.22, 18.3, 17.34, 16.56, 15.97, 15.55, 15.26, 15.04, 14.89",\
                 "24.51, 24.08, 23.06, 21.95, 20.99, 20.23, 19.66, 19.25, 18.96, 18.74");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
          index_2("0.001, 0.05053, 0.2244, 0.5564, 1.074, 1.799, 2.754, 3.957, 5.426, 7.177");
          values("3.158, 2.985, 2.779, 2.691, 2.656, 2.629, 2.633, 2.632, 2.611, 2.747",\
                 "3.15, 2.985, 2.776, 2.682, 2.641, 2.629, 2.644, 2.665, 2.721, 2.736",\
                 "3.325, 3.148, 2.918, 2.807, 2.759, 2.728, 2.743, 2.759, 2.792, 2.829",\
                 "4.096, 3.887, 3.578, 3.38, 3.282, 3.229, 3.205, 3.232, 3.249, 3.302",\
                 "5.496, 5.239, 4.785, 4.505, 4.312, 4.186, 4.145, 4.128, 4.129, 4.16",\
                 "7.526, 7.22, 6.649, 6.181, 5.912, 5.72, 5.597, 5.536, 5.515, 5.519",\
                 "10.19, 9.852, 9.124, 8.519, 8.094, 7.838, 7.66, 7.516, 7.44, 7.422",\
                 "13.5, 13.13, 12.29, 11.51, 10.9, 10.51, 10.27, 10.09, 9.97, 9.897",\
                 "17.48, 17.07, 16.15, 15.22, 14.47, 13.92, 13.52, 13.34, 13.13, 12.98",\
                 "22.18, 21.75, 20.72, 19.64, 18.72, 18.05, 17.49, 17.13, 16.99, 16.76");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
          index_2("0.001, 0.05053, 0.2244, 0.5564, 1.074, 1.799, 2.754, 3.957, 5.426, 7.177");
          values("0.1143, 0.1344, 0.1912, 0.2878, 0.4347, 0.6407, 0.9119, 1.253, 1.672, 2.17",\
                 "0.12, 0.1401, 0.1968, 0.2933, 0.4403, 0.6463, 0.9175, 1.259, 1.677, 2.175",\
                 "0.1434, 0.1632, 0.2193, 0.3156, 0.4622, 0.668, 0.9393, 1.281, 1.699, 2.197",\
                 "0.1823, 0.2027, 0.2588, 0.3541, 0.4997, 0.705, 0.9758, 1.317, 1.735, 2.233",\
                 "0.2264, 0.2479, 0.3062, 0.4018, 0.5463, 0.7504, 1.021, 1.361, 1.778, 2.275",\
                 "0.2728, 0.2961, 0.3568, 0.4549, 0.6004, 0.8034, 1.072, 1.412, 1.828, 2.325",\
                 "0.3207, 0.3457, 0.4099, 0.5105, 0.6585, 0.8636, 1.131, 1.47, 1.886, 2.383",\
                 "0.3699, 0.3972, 0.4647, 0.5684, 0.7194, 0.9279, 1.199, 1.537, 1.952, 2.447",\
                 "0.4207, 0.4495, 0.5216, 0.6282, 0.782, 0.9933, 1.27, 1.612, 2.027, 2.521",\
                 "0.4729, 0.5036, 0.58, 0.6903, 0.8464, 1.062, 1.342, 1.691, 2.111, 2.605");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
          index_2("0.001, 0.05053, 0.2244, 0.5564, 1.074, 1.799, 2.754, 3.957, 5.426, 7.177");
          values("0.1287, 0.147, 0.1981, 0.2875, 0.4262, 0.6218, 0.8786, 1.204, 1.599, 2.072",\
                 "0.1319, 0.1503, 0.2015, 0.2907, 0.4296, 0.6246, 0.8824, 1.207, 1.604, 2.077",\
                 "0.1486, 0.1668, 0.2175, 0.3064, 0.4452, 0.6406, 0.8975, 1.223, 1.619, 2.092",\
                 "0.1793, 0.1984, 0.249, 0.3369, 0.4745, 0.6692, 0.9267, 1.251, 1.648, 2.119",\
                 "0.2122, 0.2331, 0.2853, 0.3729, 0.509, 0.7025, 0.9592, 1.282, 1.679, 2.152",\
                 "0.2439, 0.2664, 0.3225, 0.4113, 0.547, 0.7388, 0.9939, 1.317, 1.713, 2.185",\
                 "0.2734, 0.2981, 0.3584, 0.4492, 0.5858, 0.7786, 1.033, 1.354, 1.75, 2.219",\
                 "0.3002, 0.327, 0.3916, 0.4852, 0.6233, 0.8188, 1.074, 1.395, 1.788, 2.259",\
                 "0.3239, 0.3529, 0.4222, 0.5197, 0.6601, 0.857, 1.116, 1.439, 1.832, 2.302",\
                 "0.3439, 0.3751, 0.4495, 0.5514, 0.6934, 0.8934, 1.155, 1.483, 1.88, 2.348");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
          index_2("0.001, 0.05053, 0.2244, 0.5564, 1.074, 1.799, 2.754, 3.957, 5.426, 7.177");
          values("0.04476, 0.06944, 0.1472, 0.3006, 0.5491, 0.9003, 1.366, 1.952, 2.662, 3.516",\
                 "0.04486, 0.06962, 0.1474, 0.301, 0.5491, 0.9016, 1.364, 1.951, 2.666, 3.52",\
                 "0.04558, 0.07022, 0.1478, 0.3007, 0.5486, 0.9013, 1.364, 1.949, 2.664, 3.52",\
                 "0.0525, 0.07732, 0.1524, 0.3023, 0.55, 0.9016, 1.367, 1.948, 2.665, 3.518",\
                 "0.06352, 0.08876, 0.163, 0.3084, 0.5508, 0.902, 1.366, 1.949, 2.665, 3.52",\
                 "0.07692, 0.1032, 0.178, 0.3215, 0.558, 0.9022, 1.365, 1.95, 2.666, 3.517",\
                 "0.0922, 0.1208, 0.196, 0.3388, 0.5756, 0.9142, 1.367, 1.95, 2.661, 3.511",\
                 "0.1082, 0.1374, 0.2156, 0.357, 0.5964, 0.9372, 1.383, 1.953, 2.664, 3.509",\
                 "0.1258, 0.1586, 0.2372, 0.3786, 0.6176, 0.9636, 1.415, 1.976, 2.67, 3.514",\
                 "0.144, 0.1796, 0.2612, 0.4024, 0.6404, 0.9918, 1.45, 2.015, 2.698, 3.524");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
          index_2("0.001, 0.05053, 0.2244, 0.5564, 1.074, 1.799, 2.754, 3.957, 5.426, 7.177");
          values("0.05158, 0.07384, 0.1499, 0.3081, 0.5639, 0.9224, 1.398, 1.993, 2.72, 3.586",\
                 "0.0517, 0.0742, 0.1495, 0.308, 0.5642, 0.9229, 1.396, 1.992, 2.719, 3.585",\
                 "0.05148, 0.07402, 0.1499, 0.3083, 0.5629, 0.9227, 1.396, 1.994, 2.72, 3.588",\
                 "0.05716, 0.0799, 0.1532, 0.3086, 0.5632, 0.9225, 1.396, 1.991, 2.719, 3.586",\
                 "0.06808, 0.09098, 0.1606, 0.3116, 0.5644, 0.9239, 1.396, 1.991, 2.72, 3.585",\
                 "0.08094, 0.1046, 0.1732, 0.3196, 0.568, 0.925, 1.397, 1.994, 2.717, 3.585",\
                 "0.0946, 0.1208, 0.1898, 0.3312, 0.5794, 0.9304, 1.399, 1.992, 2.722, 3.587",\
                 "0.1104, 0.138, 0.208, 0.3464, 0.5936, 0.9468, 1.408, 1.996, 2.72, 3.592",\
                 "0.1254, 0.1558, 0.23, 0.3642, 0.6086, 0.9652, 1.43, 2.011, 2.727, 3.589",\
                 "0.1448, 0.175, 0.252, 0.3842, 0.6254, 0.985, 1.456, 2.037, 2.747, 3.597");
        }
      }
    }
  }

