/*
 * 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_3) {
    area : 30.732800 ;

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

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

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

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

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

    pin(I) {
      capacitance : 0.005477 ;
      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 : 0.9539 ;
      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.007577, 0.03066, 0.07475, 0.1434, 0.2398, 0.3666, 0.5264, 0.7214, 0.9539");
          values("0.4736, 0.4617, 0.4471, 0.4398, 0.4368, 0.4347, 0.4337, 0.433, 0.4328, 0.4326",\
                 "0.4734, 0.4608, 0.4463, 0.4395, 0.4365, 0.4342, 0.4329, 0.4325, 0.4321, 0.4321",\
                 "0.4804, 0.4672, 0.4516, 0.4448, 0.4413, 0.4393, 0.438, 0.4376, 0.4374, 0.4371",\
                 "0.5221, 0.5062, 0.4848, 0.4726, 0.466, 0.4625, 0.4608, 0.4597, 0.459, 0.4585",\
                 "0.6064, 0.5855, 0.5539, 0.531, 0.5191, 0.5124, 0.5077, 0.5049, 0.5032, 0.5018",\
                 "0.7288, 0.703, 0.6591, 0.6248, 0.6044, 0.5917, 0.5831, 0.5781, 0.5753, 0.5729",\
                 "0.8877, 0.858, 0.8012, 0.7559, 0.7244, 0.7037, 0.6905, 0.682, 0.6765, 0.6724",\
                 "1.084, 1.05, 0.9805, 0.9231, 0.8803, 0.8508, 0.8318, 0.8188, 0.8098, 0.8038",\
                 "1.318, 1.279, 1.201, 1.129, 1.075, 1.035, 1.008, 0.9896, 0.9764, 0.9674",\
                 "1.588, 1.549, 1.459, 1.375, 1.308, 1.257, 1.222, 1.196, 1.178, 1.166");
        }

        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.007577, 0.03066, 0.07475, 0.1434, 0.2398, 0.3666, 0.5264, 0.7214, 0.9539");
          values("0.3676, 0.3492, 0.3246, 0.3128, 0.307, 0.3057, 0.3063, 0.3077, 0.3114, 0.3172",\
                 "0.3659, 0.3483, 0.3244, 0.3126, 0.3059, 0.3042, 0.3058, 0.3067, 0.3104, 0.3162",\
                 "0.3697, 0.3512, 0.3263, 0.3143, 0.3078, 0.3042, 0.3068, 0.3077, 0.3104, 0.3167",\
                 "0.4051, 0.3851, 0.3554, 0.3377, 0.3281, 0.3247, 0.3238, 0.3257, 0.3289, 0.3337",\
                 "0.4833, 0.4598, 0.4221, 0.395, 0.3798, 0.3712, 0.3673, 0.3702, 0.3699, 0.3737",\
                 "0.5972, 0.5684, 0.519, 0.4817, 0.4608, 0.4462, 0.4373, 0.4347, 0.4344, 0.4387",\
                 "0.7478, 0.7147, 0.6538, 0.6058, 0.5766, 0.5577, 0.5428, 0.5347, 0.5319, 0.5297",\
                 "0.9338, 0.897, 0.824, 0.7657, 0.7207, 0.6947, 0.6823, 0.6692, 0.6569, 0.6532",\
                 "1.156, 1.116, 1.032, 0.9606, 0.9023, 0.8662, 0.8453, 0.8347, 0.8249, 0.8107",\
                 "1.415, 1.373, 1.276, 1.19, 1.125, 1.075, 1.044, 1.03, 1.025, 1.01");
        }
      }

      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.007577, 0.03066, 0.07475, 0.1434, 0.2398, 0.3666, 0.5264, 0.7214, 0.9539");
          values("0.1835, 0.2079, 0.2777, 0.3926, 0.564, 0.8036, 1.119, 1.517, 2.002, 2.581",\
                 "0.1901, 0.2146, 0.2843, 0.3992, 0.5706, 0.8102, 1.125, 1.523, 2.008, 2.588",\
                 "0.2166, 0.2411, 0.3105, 0.4252, 0.5966, 0.8361, 1.151, 1.549, 2.035, 2.614",\
                 "0.2691, 0.2934, 0.3621, 0.476, 0.6468, 0.886, 1.201, 1.598, 2.084, 2.663",\
                 "0.3338, 0.3592, 0.4289, 0.5431, 0.7127, 0.9511, 1.266, 1.662, 2.147, 2.727",\
                 "0.4043, 0.4312, 0.5034, 0.619, 0.788, 1.026, 1.339, 1.735, 2.22, 2.797",\
                 "0.4781, 0.5068, 0.5828, 0.7012, 0.8711, 1.108, 1.42, 1.816, 2.3, 2.877",\
                 "0.5547, 0.5859, 0.6657, 0.7874, 0.9599, 1.197, 1.51, 1.903, 2.387, 2.964",\
                 "0.6334, 0.667, 0.7511, 0.8763, 1.052, 1.293, 1.607, 2.001, 2.483, 3.059",\
                 "0.7148, 0.7501, 0.8396, 0.9687, 1.148, 1.392, 1.71, 2.108, 2.589, 3.165");
        }

        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.007577, 0.03066, 0.07475, 0.1434, 0.2398, 0.3666, 0.5264, 0.7214, 0.9539");
          values("0.2003, 0.2229, 0.2849, 0.3893, 0.5485, 0.7722, 1.067, 1.439, 1.893, 2.436",\
                 "0.2047, 0.2273, 0.2896, 0.3937, 0.5529, 0.7767, 1.072, 1.443, 1.898, 2.438",\
                 "0.2244, 0.2469, 0.3087, 0.4131, 0.572, 0.7955, 1.091, 1.463, 1.917, 2.459",\
                 "0.2666, 0.2892, 0.3506, 0.4543, 0.6126, 0.8358, 1.13, 1.502, 1.957, 2.499",\
                 "0.3166, 0.341, 0.4044, 0.5075, 0.6648, 0.8874, 1.182, 1.553, 2.007, 2.548",\
                 "0.3681, 0.3939, 0.4606, 0.5644, 0.7207, 0.9421, 1.235, 1.606, 2.058, 2.601",\
                 "0.4184, 0.4469, 0.5175, 0.624, 0.78, 0.9999, 1.292, 1.661, 2.114, 2.654",\
                 "0.4662, 0.497, 0.5732, 0.6825, 0.8396, 1.06, 1.351, 1.72, 2.171, 2.712",\
                 "0.5114, 0.5446, 0.6258, 0.7395, 0.8978, 1.12, 1.412, 1.779, 2.231, 2.769",\
                 "0.5538, 0.589, 0.6752, 0.7932, 0.9553, 1.178, 1.472, 1.842, 2.293, 2.831");
        }

        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.007577, 0.03066, 0.07475, 0.1434, 0.2398, 0.3666, 0.5264, 0.7214, 0.9539");
          values("0.06774, 0.09602, 0.1851, 0.3547, 0.6338, 1.032, 1.558, 2.223, 3.035, 4.01",\
                 "0.06782, 0.09604, 0.1851, 0.3548, 0.6329, 1.033, 1.56, 2.225, 3.039, 4.01",\
                 "0.06786, 0.09598, 0.1853, 0.3546, 0.6327, 1.032, 1.559, 2.225, 3.04, 4.01",\
                 "0.07098, 0.09866, 0.1868, 0.3553, 0.6328, 1.032, 1.559, 2.226, 3.038, 4.01",\
                 "0.08116, 0.1089, 0.1949, 0.3598, 0.6339, 1.032, 1.559, 2.223, 3.037, 4.011",\
                 "0.0945, 0.1228, 0.208, 0.3678, 0.6372, 1.033, 1.559, 2.225, 3.034, 4.002",\
                 "0.1098, 0.1402, 0.2244, 0.384, 0.6452, 1.036, 1.56, 2.224, 3.035, 4.005",\
                 "0.1264, 0.1574, 0.2428, 0.4018, 0.6616, 1.045, 1.563, 2.221, 3.031, 4.001",\
                 "0.1432, 0.1772, 0.265, 0.4208, 0.6818, 1.066, 1.575, 2.227, 3.032, 3.997",\
                 "0.1604, 0.198, 0.2876, 0.4424, 0.7026, 1.088, 1.601, 2.245, 3.038, 3.996");
        }

        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.007577, 0.03066, 0.07475, 0.1434, 0.2398, 0.3666, 0.5264, 0.7214, 0.9539");
          values("0.07338, 0.09842, 0.1819, 0.3512, 0.6303, 1.029, 1.553, 2.216, 3.023, 3.987",\
                 "0.07288, 0.09852, 0.1816, 0.3511, 0.6303, 1.028, 1.553, 2.212, 3.02, 3.981",\
                 "0.0726, 0.098, 0.1814, 0.3512, 0.6307, 1.029, 1.553, 2.216, 3.024, 3.987",\
                 "0.07586, 0.09988, 0.1827, 0.3518, 0.6306, 1.029, 1.554, 2.213, 3.021, 3.986",\
                 "0.08642, 0.1117, 0.1902, 0.3551, 0.6312, 1.028, 1.553, 2.214, 3.021, 3.985",\
                 "0.09904, 0.1241, 0.2018, 0.36, 0.6338, 1.03, 1.555, 2.215, 3.02, 3.986",\
                 "0.1138, 0.1408, 0.2178, 0.37, 0.638, 1.03, 1.554, 2.212, 3.022, 3.979",\
                 "0.1292, 0.158, 0.2358, 0.3838, 0.6476, 1.035, 1.554, 2.213, 3.023, 3.982",\
                 "0.1446, 0.1768, 0.2568, 0.4012, 0.6608, 1.047, 1.562, 2.215, 3.019, 3.985",\
                 "0.162, 0.196, 0.2778, 0.4202, 0.6764, 1.064, 1.577, 2.226, 3.023, 3.979");
        }
      }
    }
  }

