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

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

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

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 4.756 ;
      max_transition : 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.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
          index_2("0.001, 0.03382, 0.149, 0.369, 0.7118, 1.193, 1.826, 2.623, 3.596, 4.756");
          values("2.382, 2.316, 2.241, 2.202, 2.183, 2.172, 2.164, 2.16, 2.158, 2.156",\
                 "2.38, 2.314, 2.237, 2.202, 2.181, 2.17, 2.163, 2.16, 2.157, 2.157",\
                 "2.419, 2.353, 2.269, 2.231, 2.212, 2.201, 2.193, 2.19, 2.188, 2.186",\
                 "2.64, 2.559, 2.447, 2.382, 2.347, 2.329, 2.318, 2.312, 2.309, 2.305",\
                 "3.083, 2.979, 2.814, 2.7, 2.632, 2.594, 2.572, 2.555, 2.548, 2.541",\
                 "3.731, 3.601, 3.37, 3.207, 3.093, 3.021, 2.982, 2.952, 2.933, 2.92",\
                 "4.575, 4.422, 4.131, 3.892, 3.732, 3.623, 3.552, 3.507, 3.478, 3.456",\
                 "5.615, 5.441, 5.088, 4.786, 4.563, 4.406, 4.304, 4.236, 4.188, 4.156",\
                 "6.857, 6.671, 6.257, 5.891, 5.601, 5.392, 5.248, 5.15, 5.083, 5.034",\
                 "8.311, 8.101, 7.641, 7.197, 6.845, 6.573, 6.388, 6.252, 6.159, 6.09");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
          index_2("0.001, 0.03382, 0.149, 0.369, 0.7118, 1.193, 1.826, 2.623, 3.596, 4.756");
          values("1.897, 1.813, 1.708, 1.647, 1.62, 1.604, 1.624, 1.625, 1.644, 1.658",\
                 "1.891, 1.809, 1.695, 1.643, 1.614, 1.6, 1.611, 1.62, 1.639, 1.653",\
                 "1.914, 1.833, 1.718, 1.659, 1.625, 1.615, 1.631, 1.635, 1.654, 1.683",\
                 "2.115, 2.02, 1.879, 1.791, 1.746, 1.728, 1.724, 1.735, 1.749, 1.763",\
                 "2.517, 2.403, 2.219, 2.095, 2.012, 1.972, 1.962, 1.96, 1.969, 1.983",\
                 "3.111, 2.968, 2.724, 2.557, 2.447, 2.37, 2.34, 2.315, 2.329, 2.323",\
                 "3.894, 3.726, 3.427, 3.185, 3.034, 2.95, 2.876, 2.835, 2.814, 2.823",\
                 "4.861, 4.678, 4.322, 4.004, 3.794, 3.675, 3.598, 3.53, 3.504, 3.478",\
                 "6.019, 5.826, 5.396, 5.047, 4.767, 4.529, 4.452, 4.395, 4.334, 4.278",\
                 "7.377, 7.163, 6.688, 6.261, 5.908, 5.665, 5.487, 5.405, 5.384, 5.308");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
          index_2("0.001, 0.03382, 0.149, 0.369, 0.7118, 1.193, 1.826, 2.623, 3.596, 4.756");
          values("0.1834, 0.2076, 0.2761, 0.3888, 0.5562, 0.7898, 1.098, 1.485, 1.959, 2.523",\
                 "0.1901, 0.2143, 0.2829, 0.3954, 0.5629, 0.7966, 1.104, 1.492, 1.965, 2.531",\
                 "0.217, 0.2412, 0.3095, 0.4219, 0.5893, 0.823, 1.131, 1.519, 1.992, 2.557",\
                 "0.2709, 0.2949, 0.3625, 0.4742, 0.641, 0.8743, 1.182, 1.569, 2.043, 2.608",\
                 "0.339, 0.364, 0.4327, 0.5447, 0.7104, 0.9427, 1.249, 1.637, 2.111, 2.675",\
                 "0.4144, 0.4411, 0.5125, 0.6256, 0.7909, 1.022, 1.328, 1.715, 2.188, 2.751",\
                 "0.495, 0.5239, 0.5981, 0.715, 0.8814, 1.112, 1.417, 1.802, 2.274, 2.839",\
                 "0.5807, 0.6117, 0.6903, 0.81, 0.9794, 1.212, 1.516, 1.901, 2.372, 2.935",\
                 "0.6706, 0.7039, 0.7874, 0.9102, 1.083, 1.319, 1.626, 2.01, 2.481, 3.042",\
                 "0.7657, 0.8012, 0.8892, 1.016, 1.193, 1.432, 1.743, 2.131, 2.602, 3.163");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
          index_2("0.001, 0.03382, 0.149, 0.369, 0.7118, 1.193, 1.826, 2.623, 3.596, 4.756");
          values("0.1898, 0.2119, 0.2737, 0.3782, 0.5379, 0.7623, 1.059, 1.433, 1.889, 2.432",\
                 "0.1941, 0.2162, 0.2778, 0.3825, 0.5422, 0.7667, 1.063, 1.437, 1.893, 2.437",\
                 "0.2136, 0.2358, 0.2972, 0.4016, 0.5611, 0.7858, 1.083, 1.456, 1.912, 2.457",\
                 "0.254, 0.2761, 0.3371, 0.4408, 0.5999, 0.8243, 1.12, 1.494, 1.95, 2.494",\
                 "0.2987, 0.3226, 0.3856, 0.4889, 0.647, 0.8704, 1.166, 1.539, 1.995, 2.537",\
                 "0.3429, 0.3686, 0.4341, 0.5383, 0.6951, 0.9173, 1.212, 1.585, 2.04, 2.583",\
                 "0.3833, 0.4113, 0.4812, 0.5877, 0.7446, 0.9652, 1.259, 1.63, 2.084, 2.628",\
                 "0.4195, 0.4498, 0.5245, 0.6334, 0.7916, 1.013, 1.305, 1.676, 2.13, 2.672",\
                 "0.4506, 0.4831, 0.5624, 0.6759, 0.8364, 1.058, 1.351, 1.721, 2.174, 2.715",\
                 "0.4758, 0.5104, 0.5956, 0.7126, 0.8747, 1.1, 1.397, 1.768, 2.22, 2.76");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
          index_2("0.001, 0.03382, 0.149, 0.369, 0.7118, 1.193, 1.826, 2.623, 3.596, 4.756");
          values("0.06788, 0.0956, 0.1827, 0.3479, 0.6196, 1.009, 1.521, 2.17, 2.965, 3.909",\
                 "0.0678, 0.0956, 0.1824, 0.3473, 0.6195, 1.008, 1.521, 2.171, 2.966, 3.914",\
                 "0.06792, 0.09564, 0.1827, 0.3477, 0.6197, 1.008, 1.522, 2.17, 2.964, 3.913",\
                 "0.07104, 0.09818, 0.1845, 0.3486, 0.6199, 1.009, 1.523, 2.172, 2.963, 3.913",\
                 "0.0811, 0.1086, 0.1925, 0.3527, 0.6204, 1.009, 1.522, 2.172, 2.966, 3.914",\
                 "0.0946, 0.1232, 0.2058, 0.3626, 0.623, 1.009, 1.523, 2.172, 2.964, 3.907",\
                 "0.11, 0.1396, 0.2232, 0.3774, 0.6324, 1.012, 1.523, 2.17, 2.963, 3.912",\
                 "0.1268, 0.1576, 0.2414, 0.3968, 0.6506, 1.023, 1.526, 2.169, 2.961, 3.905",\
                 "0.1448, 0.178, 0.2646, 0.4162, 0.6706, 1.045, 1.54, 2.175, 2.96, 3.903",\
                 "0.1624, 0.198, 0.2876, 0.4388, 0.6926, 1.069, 1.569, 2.196, 2.968, 3.902");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
          index_2("0.001, 0.03382, 0.149, 0.369, 0.7118, 1.193, 1.826, 2.623, 3.596, 4.756");
          values("0.0703, 0.09612, 0.1804, 0.3522, 0.6341, 1.034, 1.56, 2.226, 3.034, 4.003",\
                 "0.07032, 0.09626, 0.1805, 0.3525, 0.6333, 1.033, 1.561, 2.225, 3.035, 4.004",\
                 "0.07062, 0.09558, 0.1803, 0.3521, 0.6341, 1.034, 1.56, 2.226, 3.036, 4.004",\
                 "0.07386, 0.09852, 0.1821, 0.3534, 0.6339, 1.034, 1.56, 2.226, 3.035, 4.005",\
                 "0.08406, 0.1094, 0.1893, 0.3558, 0.6339, 1.033, 1.559, 2.223, 3.035, 3.999",\
                 "0.09708, 0.1226, 0.2, 0.3616, 0.6368, 1.035, 1.559, 2.223, 3.032, 3.999",\
                 "0.1122, 0.138, 0.216, 0.3712, 0.64, 1.035, 1.562, 2.222, 3.037, 3.997",\
                 "0.1268, 0.1558, 0.2336, 0.3856, 0.651, 1.041, 1.562, 2.224, 3.031, 3.995",\
                 "0.1432, 0.1746, 0.253, 0.4014, 0.6644, 1.054, 1.57, 2.226, 3.032, 4.002",\
                 "0.1608, 0.1936, 0.2758, 0.4198, 0.68, 1.072, 1.588, 2.237, 3.038, 3.998");
        }
      }
    }
  }

