/*
 * 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.01765764" ;
    }

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

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

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

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

    pin(I) {
      capacitance : 0.054 ;
      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 : 7.548 ;
      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.05309, 0.2359, 0.5851, 1.129, 1.892, 2.897, 4.162, 5.707, 7.548");
          values("1.792, 1.762, 1.742, 1.735, 1.732, 1.73, 1.73, 1.73, 1.73, 1.73",\
                 "1.788, 1.757, 1.737, 1.73, 1.728, 1.726, 1.726, 1.727, 1.727, 1.727",\
                 "1.854, 1.816, 1.785, 1.776, 1.773, 1.771, 1.771, 1.772, 1.771, 1.771",\
                 "2.123, 2.065, 1.993, 1.961, 1.946, 1.939, 1.934, 1.932, 1.93, 1.93",\
                 "2.603, 2.52, 2.396, 2.323, 2.286, 2.266, 2.257, 2.249, 2.244, 2.24",\
                 "3.304, 3.194, 3.012, 2.894, 2.817, 2.779, 2.754, 2.74, 2.729, 2.722",\
                 "4.223, 4.09, 3.854, 3.673, 3.556, 3.488, 3.446, 3.416, 3.399, 3.387",\
                 "5.364, 5.217, 4.921, 4.681, 4.516, 4.406, 4.342, 4.298, 4.265, 4.246",\
                 "6.744, 6.582, 6.239, 5.932, 5.71, 5.557, 5.457, 5.392, 5.347, 5.313",\
                 "8.367, 8.192, 7.804, 7.432, 7.155, 6.948, 6.808, 6.715, 6.652, 6.606");
        }

        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.05309, 0.2359, 0.5851, 1.129, 1.892, 2.897, 4.162, 5.707, 7.548");
          values("1.189, 1.147, 1.117, 1.105, 1.105, 1.113, 1.124, 1.144, 1.162, 1.177",\
                 "1.182, 1.138, 1.107, 1.098, 1.099, 1.104, 1.12, 1.137, 1.152, 1.174",\
                 "1.23, 1.183, 1.137, 1.124, 1.126, 1.127, 1.142, 1.155, 1.18, 1.188",\
                 "1.476, 1.41, 1.331, 1.289, 1.274, 1.281, 1.278, 1.295, 1.314, 1.343",\
                 "1.916, 1.822, 1.698, 1.632, 1.592, 1.574, 1.577, 1.583, 1.594, 1.617",\
                 "2.565, 2.445, 2.266, 2.152, 2.093, 2.058, 2.042, 2.033, 2.037, 2.045",\
                 "3.424, 3.283, 3.052, 2.87, 2.773, 2.728, 2.7, 2.678, 2.667, 2.671",\
                 "4.497, 4.339, 4.054, 3.821, 3.665, 3.582, 3.55, 3.527, 3.51, 3.501",\
                 "5.792, 5.624, 5.284, 4.995, 4.789, 4.662, 4.587, 4.575, 4.55, 4.52",\
                 "7.316, 7.133, 6.738, 6.41, 6.144, 5.951, 5.843, 5.784, 5.774, 5.757");
        }
      }

      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.05309, 0.2359, 0.5851, 1.129, 1.892, 2.897, 4.162, 5.707, 7.548");
          values("0.1531, 0.1799, 0.2541, 0.376, 0.5586, 0.8139, 1.15, 1.573, 2.091, 2.707",\
                 "0.1619, 0.1888, 0.263, 0.3848, 0.5674, 0.8227, 1.158, 1.581, 2.1, 2.715",\
                 "0.1979, 0.2244, 0.2981, 0.4198, 0.6024, 0.8576, 1.193, 1.617, 2.134, 2.75",\
                 "0.2573, 0.2847, 0.3594, 0.4807, 0.6627, 0.9175, 1.253, 1.676, 2.194, 2.808",\
                 "0.3265, 0.3557, 0.4327, 0.556, 0.7379, 0.9917, 1.327, 1.749, 2.266, 2.882",\
                 "0.4021, 0.4339, 0.515, 0.642, 0.8251, 1.079, 1.413, 1.835, 2.352, 2.967",\
                 "0.4832, 0.5182, 0.6035, 0.7354, 0.9236, 1.179, 1.513, 1.934, 2.45, 3.065",\
                 "0.57, 0.6074, 0.6996, 0.8358, 1.029, 1.291, 1.627, 2.048, 2.563, 3.177",\
                 "0.6624, 0.7027, 0.8009, 0.9427, 1.141, 1.408, 1.753, 2.178, 2.693, 3.306",\
                 "0.7617, 0.8045, 0.9091, 1.056, 1.259, 1.533, 1.886, 2.32, 2.84, 3.453");
        }

        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.05309, 0.2359, 0.5851, 1.129, 1.892, 2.897, 4.162, 5.707, 7.548");
          values("0.1595, 0.1852, 0.2592, 0.3898, 0.5922, 0.8768, 1.25, 1.723, 2.299, 2.984",\
                 "0.1657, 0.1911, 0.2653, 0.396, 0.5984, 0.8828, 1.257, 1.729, 2.306, 2.989",\
                 "0.1926, 0.2179, 0.2912, 0.4218, 0.6244, 0.9082, 1.283, 1.755, 2.331, 3.017",\
                 "0.2346, 0.2612, 0.3346, 0.4642, 0.6654, 0.9498, 1.323, 1.795, 2.37, 3.058",\
                 "0.2746, 0.3031, 0.3788, 0.5079, 0.7082, 0.991, 1.365, 1.835, 2.412, 3.098",\
                 "0.3096, 0.3408, 0.4204, 0.5513, 0.7509, 1.032, 1.405, 1.875, 2.449, 3.137",\
                 "0.3381, 0.3722, 0.4567, 0.5905, 0.7922, 1.074, 1.445, 1.914, 2.489, 3.174",\
                 "0.3593, 0.3964, 0.4869, 0.6237, 0.8281, 1.114, 1.486, 1.954, 2.528, 3.211",\
                 "0.3716, 0.4115, 0.5085, 0.6498, 0.857, 1.147, 1.524, 1.994, 2.567, 3.25",\
                 "0.375, 0.4183, 0.522, 0.6686, 0.8795, 1.173, 1.556, 2.032, 2.607, 3.289");
        }

        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.05309, 0.2359, 0.5851, 1.129, 1.892, 2.897, 4.162, 5.707, 7.548");
          values("0.05806, 0.0899, 0.1888, 0.3779, 0.6868, 1.124, 1.705, 2.435, 3.321, 4.382",\
                 "0.05808, 0.09014, 0.1886, 0.378, 0.6859, 1.124, 1.704, 2.435, 3.324, 4.389",\
                 "0.05898, 0.09082, 0.1893, 0.3783, 0.6873, 1.127, 1.705, 2.431, 3.323, 4.389",\
                 "0.06806, 0.09944, 0.1954, 0.3797, 0.6863, 1.125, 1.705, 2.432, 3.322, 4.39",\
                 "0.08274, 0.1139, 0.2081, 0.388, 0.6896, 1.125, 1.704, 2.433, 3.324, 4.386",\
                 "0.1002, 0.1338, 0.2274, 0.4048, 0.6966, 1.128, 1.704, 2.431, 3.321, 4.384",\
                 "0.1214, 0.1552, 0.2492, 0.4274, 0.7166, 1.138, 1.706, 2.433, 3.318, 4.387",\
                 "0.1422, 0.1808, 0.2744, 0.4518, 0.7446, 1.165, 1.722, 2.436, 3.326, 4.382",\
                 "0.165, 0.2052, 0.3042, 0.48, 0.7752, 1.2, 1.757, 2.458, 3.328, 4.385",\
                 "0.188, 0.2326, 0.3354, 0.5084, 0.8066, 1.24, 1.806, 2.502, 3.36, 4.391");
        }

        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.05309, 0.2359, 0.5851, 1.129, 1.892, 2.897, 4.162, 5.707, 7.548");
          values("0.06442, 0.09672, 0.2108, 0.4432, 0.8147, 1.336, 2.022, 2.888, 3.934, 5.191",\
                 "0.06452, 0.09688, 0.2109, 0.4432, 0.8147, 1.336, 2.022, 2.886, 3.936, 5.194",\
                 "0.06458, 0.09718, 0.2113, 0.4441, 0.8136, 1.336, 2.022, 2.887, 3.936, 5.191",\
                 "0.07382, 0.1053, 0.2155, 0.4441, 0.8134, 1.337, 2.021, 2.886, 3.936, 5.192",\
                 "0.08676, 0.1189, 0.2237, 0.4474, 0.815, 1.335, 2.022, 2.882, 3.934, 5.192",\
                 "0.1032, 0.136, 0.2388, 0.4554, 0.8178, 1.336, 2.022, 2.887, 3.935, 5.19",\
                 "0.1206, 0.154, 0.2558, 0.47, 0.8286, 1.342, 2.023, 2.888, 3.94, 5.189",\
                 "0.1406, 0.1768, 0.2774, 0.4876, 0.8472, 1.359, 2.03, 2.885, 3.943, 5.195",\
                 "0.1614, 0.2012, 0.3024, 0.5074, 0.8692, 1.383, 2.051, 2.897, 3.94, 5.193",\
                 "0.1828, 0.2232, 0.3296, 0.5314, 0.8912, 1.41, 2.082, 2.923, 3.957, 5.196");
        }
      }
    }
  }

