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

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

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

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 0.924 ;
      max_transition : 5 ;
      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.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.007371, 0.02973, 0.07244, 0.139, 0.2323, 0.3552, 0.5099, 0.6988, 0.924");
          values("0.3502, 0.3459, 0.3429, 0.3433, 0.3441, 0.3452, 0.3456, 0.346, 0.3463, 0.3466",\
                 "0.3491, 0.345, 0.3419, 0.3424, 0.3433, 0.3442, 0.3447, 0.3453, 0.3455, 0.3456",\
                 "0.3504, 0.3459, 0.3426, 0.3429, 0.3435, 0.3449, 0.3457, 0.346, 0.3465, 0.3468",\
                 "0.369, 0.3635, 0.3562, 0.3539, 0.3537, 0.3545, 0.355, 0.3553, 0.3558, 0.3561",\
                 "0.4086, 0.3999, 0.3876, 0.38, 0.3772, 0.3762, 0.3761, 0.376, 0.3764, 0.3763",\
                 "0.4664, 0.4535, 0.4354, 0.4235, 0.4159, 0.4126, 0.4116, 0.4109, 0.4107, 0.4102",\
                 "0.5431, 0.5272, 0.5024, 0.4835, 0.4726, 0.4661, 0.4628, 0.4608, 0.4599, 0.4593",\
                 "0.6387, 0.6188, 0.5877, 0.5634, 0.5464, 0.5375, 0.5309, 0.5273, 0.5249, 0.5238",\
                 "0.7535, 0.7308, 0.6921, 0.6611, 0.6397, 0.6249, 0.6161, 0.6109, 0.6072, 0.6047",\
                 "0.887, 0.8617, 0.8161, 0.7792, 0.7513, 0.7328, 0.7198, 0.7119, 0.7069, 0.7032");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.007371, 0.02973, 0.07244, 0.139, 0.2323, 0.3552, 0.5099, 0.6988, 0.924");
          values("0.2644, 0.255, 0.2444, 0.2396, 0.2389, 0.2397, 0.2422, 0.245, 0.2494, 0.2536",\
                 "0.263, 0.2542, 0.2431, 0.2386, 0.2379, 0.2388, 0.2417, 0.2436, 0.2472, 0.2531",\
                 "0.2623, 0.2533, 0.2415, 0.237, 0.2366, 0.2375, 0.2399, 0.2445, 0.2472, 0.2531",\
                 "0.2776, 0.2676, 0.2537, 0.2467, 0.2439, 0.2447, 0.2476, 0.2504, 0.2521, 0.2585",\
                 "0.3164, 0.3035, 0.2847, 0.2736, 0.2671, 0.2663, 0.266, 0.2684, 0.2715, 0.2783",\
                 "0.3707, 0.3544, 0.3301, 0.3135, 0.3055, 0.2987, 0.2998, 0.3017, 0.3057, 0.3053",\
                 "0.4426, 0.423, 0.3931, 0.3692, 0.3586, 0.3545, 0.3511, 0.3471, 0.3489, 0.3521",\
                 "0.5331, 0.5109, 0.4733, 0.4456, 0.4266, 0.4161, 0.4163, 0.4119, 0.4105, 0.4088",\
                 "0.642, 0.6169, 0.5746, 0.539, 0.5115, 0.5021, 0.4915, 0.4943, 0.4933, 0.484",\
                 "0.7695, 0.7427, 0.6909, 0.6499, 0.6211, 0.6024, 0.5864, 0.5834, 0.5896, 0.5861");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.007371, 0.02973, 0.07244, 0.139, 0.2323, 0.3552, 0.5099, 0.6988, 0.924");
          values("0.2345, 0.2657, 0.3543, 0.5001, 0.7188, 1.024, 1.426, 1.932, 2.549, 3.287",\
                 "0.2437, 0.275, 0.3637, 0.5094, 0.7281, 1.034, 1.435, 1.941, 2.559, 3.295",\
                 "0.2796, 0.3107, 0.3992, 0.5448, 0.7635, 1.069, 1.47, 1.977, 2.595, 3.331",\
                 "0.35, 0.3808, 0.4687, 0.6138, 0.832, 1.137, 1.539, 2.045, 2.663, 3.4",\
                 "0.4366, 0.4689, 0.5589, 0.7044, 0.9221, 1.226, 1.628, 2.134, 2.751, 3.489",\
                 "0.5309, 0.565, 0.6575, 0.8048, 1.022, 1.326, 1.726, 2.232, 2.849, 3.584",\
                 "0.6317, 0.6678, 0.7645, 0.9134, 1.13, 1.433, 1.834, 2.338, 2.956, 3.691",\
                 "0.7374, 0.7763, 0.8773, 1.03, 1.248, 1.551, 1.95, 2.455, 3.071, 3.806",\
                 "0.8474, 0.8886, 0.9951, 1.153, 1.374, 1.677, 2.076, 2.58, 3.195, 3.931",\
                 "0.9619, 1.006, 1.118, 1.281, 1.505, 1.811, 2.212, 2.714, 3.33, 4.065");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.007371, 0.02973, 0.07244, 0.139, 0.2323, 0.3552, 0.5099, 0.6988, 0.924");
          values("0.2554, 0.2827, 0.3579, 0.4818, 0.6704, 0.9349, 1.284, 1.722, 2.258, 2.897",\
                 "0.2621, 0.2895, 0.3645, 0.4885, 0.6771, 0.9417, 1.29, 1.729, 2.266, 2.903",\
                 "0.2893, 0.3166, 0.3917, 0.5155, 0.7041, 0.9687, 1.318, 1.757, 2.294, 2.933",\
                 "0.3467, 0.3741, 0.4488, 0.5722, 0.7603, 1.024, 1.373, 1.812, 2.349, 2.986",\
                 "0.4139, 0.4436, 0.5214, 0.6456, 0.8325, 1.096, 1.444, 1.882, 2.419, 3.059",\
                 "0.4803, 0.5125, 0.5944, 0.7201, 0.9066, 1.169, 1.516, 1.956, 2.491, 3.131",\
                 "0.5471, 0.582, 0.6684, 0.7961, 0.9825, 1.245, 1.591, 2.028, 2.564, 3.203",\
                 "0.6122, 0.6499, 0.7414, 0.8733, 1.06, 1.32, 1.665, 2.103, 2.638, 3.275",\
                 "0.6746, 0.7144, 0.8123, 0.9489, 1.137, 1.398, 1.742, 2.179, 2.713, 3.35",\
                 "0.7329, 0.7755, 0.8798, 1.022, 1.213, 1.475, 1.819, 2.255, 2.789, 3.425");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.007371, 0.02973, 0.07244, 0.139, 0.2323, 0.3552, 0.5099, 0.6988, 0.924");
          values("0.081, 0.1171, 0.2272, 0.4398, 0.7898, 1.289, 1.948, 2.774, 3.786, 4.995",\
                 "0.08094, 0.117, 0.2266, 0.4398, 0.7904, 1.289, 1.948, 2.775, 3.789, 4.991",\
                 "0.08096, 0.117, 0.2276, 0.4398, 0.7894, 1.29, 1.949, 2.775, 3.788, 4.993",\
                 "0.08348, 0.1196, 0.2283, 0.4411, 0.7905, 1.29, 1.946, 2.774, 3.786, 4.99",\
                 "0.09446, 0.13, 0.2377, 0.4446, 0.7902, 1.29, 1.948, 2.775, 3.785, 4.995",\
                 "0.107, 0.142, 0.2502, 0.4518, 0.7936, 1.29, 1.946, 2.774, 3.786, 4.991",\
                 "0.1218, 0.1584, 0.2652, 0.461, 0.7972, 1.291, 1.947, 2.775, 3.786, 4.99",\
                 "0.1376, 0.1754, 0.2838, 0.4778, 0.805, 1.294, 1.948, 2.776, 3.789, 4.993",\
                 "0.1542, 0.1954, 0.3042, 0.4958, 0.8198, 1.303, 1.95, 2.776, 3.787, 4.996",\
                 "0.1712, 0.214, 0.3256, 0.5178, 0.8392, 1.319, 1.962, 2.779, 3.786, 4.99");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.007371, 0.02973, 0.07244, 0.139, 0.2323, 0.3552, 0.5099, 0.6988, 0.924");
          values("0.085, 0.1134, 0.2095, 0.4027, 0.7235, 1.181, 1.784, 2.54, 3.468, 4.573",\
                 "0.08492, 0.1135, 0.2094, 0.4028, 0.7232, 1.182, 1.783, 2.539, 3.466, 4.574",\
                 "0.08484, 0.1138, 0.2093, 0.4027, 0.7236, 1.182, 1.784, 2.542, 3.465, 4.566",\
                 "0.08632, 0.1147, 0.2104, 0.4031, 0.7248, 1.18, 1.784, 2.542, 3.464, 4.575",\
                 "0.1004, 0.1297, 0.2203, 0.4068, 0.7236, 1.181, 1.782, 2.538, 3.462, 4.569",\
                 "0.113, 0.1428, 0.2322, 0.413, 0.7268, 1.181, 1.779, 2.54, 3.464, 4.569",\
                 "0.1272, 0.158, 0.2478, 0.4204, 0.728, 1.181, 1.78, 2.535, 3.464, 4.57",\
                 "0.143, 0.1756, 0.2658, 0.434, 0.7338, 1.183, 1.782, 2.538, 3.462, 4.566",\
                 "0.1578, 0.1942, 0.2868, 0.4508, 0.7438, 1.187, 1.784, 2.538, 3.46, 4.563",\
                 "0.1752, 0.2132, 0.3074, 0.471, 0.7572, 1.197, 1.788, 2.539, 3.461, 4.56");
        }
      }
    }
  }

