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

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

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

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 1.447 ;
      max_transition : 7.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.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
          index_2("0.001, 0.01098, 0.04601, 0.1129, 0.2171, 0.3633, 0.5558, 0.7982, 1.094, 1.447");
          values("0.253, 0.2439, 0.2357, 0.2324, 0.2306, 0.2297, 0.229, 0.2288, 0.2285, 0.2284",\
                 "0.2527, 0.2436, 0.2359, 0.2321, 0.2305, 0.2296, 0.229, 0.2287, 0.2285, 0.2284",\
                 "0.2624, 0.2524, 0.2426, 0.2382, 0.2364, 0.2353, 0.2348, 0.2344, 0.2342, 0.2341",\
                 "0.3054, 0.2913, 0.2738, 0.2643, 0.2598, 0.2572, 0.2558, 0.255, 0.2545, 0.2541",\
                 "0.3796, 0.3607, 0.333, 0.3157, 0.3062, 0.3008, 0.2978, 0.2957, 0.2944, 0.2935",\
                 "0.4845, 0.4613, 0.4229, 0.3954, 0.3787, 0.3693, 0.3636, 0.3598, 0.3572, 0.3555",\
                 "0.6198, 0.5928, 0.5432, 0.5053, 0.4805, 0.465, 0.4551, 0.4488, 0.4445, 0.4416",\
                 "0.7855, 0.7555, 0.6955, 0.6466, 0.612, 0.5895, 0.5746, 0.5651, 0.5581, 0.5535",\
                 "0.9834, 0.9507, 0.8816, 0.8207, 0.7758, 0.7446, 0.7241, 0.7098, 0.6999, 0.6929",\
                 "1.215, 1.18, 1.103, 1.03, 0.9737, 0.9328, 0.9053, 0.8857, 0.8715, 0.8616");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
          index_2("0.001, 0.01098, 0.04601, 0.1129, 0.2171, 0.3633, 0.5558, 0.7982, 1.094, 1.447");
          values("0.191, 0.1786, 0.1671, 0.1622, 0.1614, 0.162, 0.1631, 0.1658, 0.1699, 0.1817",\
                 "0.1904, 0.178, 0.1667, 0.1611, 0.1605, 0.1609, 0.1639, 0.1651, 0.1681, 0.1774",\
                 "0.1973, 0.1844, 0.171, 0.1652, 0.1638, 0.1642, 0.1667, 0.1683, 0.1713, 0.1838",\
                 "0.2369, 0.2207, 0.201, 0.1905, 0.1858, 0.184, 0.1862, 0.187, 0.1915, 0.2004",\
                 "0.3056, 0.2844, 0.2547, 0.2395, 0.2295, 0.2261, 0.2243, 0.223, 0.2282, 0.238",\
                 "0.4033, 0.3779, 0.3385, 0.3124, 0.2985, 0.2913, 0.2863, 0.2846, 0.2851, 0.2969",\
                 "0.53, 0.5009, 0.4509, 0.4147, 0.3923, 0.3823, 0.3755, 0.3695, 0.3686, 0.382",\
                 "0.6861, 0.6542, 0.5928, 0.5461, 0.5149, 0.4961, 0.4897, 0.4819, 0.4782, 0.4931",\
                 "0.8722, 0.8381, 0.7666, 0.7094, 0.6699, 0.6437, 0.625, 0.62, 0.6141, 0.6397",\
                 "1.09, 1.054, 0.9743, 0.9059, 0.8533, 0.8176, 0.7939, 0.7823, 0.7832, 0.8194");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
          index_2("0.001, 0.01098, 0.04601, 0.1129, 0.2171, 0.3633, 0.5558, 0.7982, 1.094, 1.447");
          values("0.2111, 0.2524, 0.364, 0.5479, 0.8256, 1.215, 1.727, 2.372, 3.161, 4.099",\
                 "0.2243, 0.2655, 0.3769, 0.5609, 0.8385, 1.228, 1.74, 2.386, 3.174, 4.111",\
                 "0.2763, 0.317, 0.4278, 0.6115, 0.889, 1.278, 1.79, 2.436, 3.223, 4.162",\
                 "0.3635, 0.4055, 0.5169, 0.6996, 0.976, 1.364, 1.876, 2.522, 3.309, 4.247",\
                 "0.4628, 0.5077, 0.6231, 0.8082, 1.083, 1.47, 1.981, 2.626, 3.411, 4.35",\
                 "0.5687, 0.6176, 0.7395, 0.93, 1.207, 1.592, 2.101, 2.745, 3.533, 4.471",\
                 "0.6803, 0.7337, 0.8638, 1.061, 1.344, 1.732, 2.239, 2.881, 3.667, 4.604",\
                 "0.7972, 0.8549, 0.9946, 1.199, 1.489, 1.884, 2.396, 3.037, 3.821, 4.757",\
                 "0.9203, 0.9823, 1.131, 1.344, 1.641, 2.046, 2.567, 3.213, 3.997, 4.933",\
                 "1.05, 1.116, 1.275, 1.496, 1.8, 2.214, 2.747, 3.406, 4.196, 5.131");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
          index_2("0.001, 0.01098, 0.04601, 0.1129, 0.2171, 0.3633, 0.5558, 0.7982, 1.094, 1.447");
          values("0.2286, 0.2676, 0.3752, 0.5615, 0.8496, 1.254, 1.786, 2.458, 3.279, 4.259",\
                 "0.2377, 0.2768, 0.3842, 0.5705, 0.8583, 1.263, 1.797, 2.469, 3.29, 4.269",\
                 "0.277, 0.3158, 0.4227, 0.6086, 0.8962, 1.301, 1.835, 2.505, 3.324, 4.306",\
                 "0.3431, 0.3838, 0.4907, 0.6757, 0.962, 1.366, 1.899, 2.57, 3.392, 4.371",\
                 "0.4084, 0.4522, 0.5636, 0.7483, 1.033, 1.435, 1.967, 2.638, 3.458, 4.434",\
                 "0.4679, 0.5166, 0.6345, 0.8219, 1.105, 1.506, 2.036, 2.707, 3.524, 4.502",\
                 "0.5199, 0.5732, 0.6996, 0.8921, 1.179, 1.579, 2.108, 2.775, 3.595, 4.567",\
                 "0.5636, 0.6212, 0.7563, 0.9554, 1.246, 1.652, 2.181, 2.848, 3.664, 4.639",\
                 "0.5971, 0.6591, 0.8044, 1.011, 1.307, 1.719, 2.254, 2.924, 3.738, 4.712",\
                 "0.6195, 0.6867, 0.8426, 1.058, 1.359, 1.777, 2.322, 2.999, 3.816, 4.789");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
          index_2("0.001, 0.01098, 0.04601, 0.1129, 0.2171, 0.3633, 0.5558, 0.7982, 1.094, 1.447");
          values("0.08384, 0.1313, 0.2805, 0.5692, 1.043, 1.716, 2.6, 3.718, 5.084, 6.715",\
                 "0.08368, 0.1313, 0.2799, 0.569, 1.042, 1.716, 2.603, 3.721, 5.086, 6.715",\
                 "0.08452, 0.132, 0.2806, 0.5703, 1.043, 1.716, 2.598, 3.721, 5.086, 6.714",\
                 "0.09754, 0.1446, 0.2884, 0.5718, 1.044, 1.715, 2.603, 3.72, 5.085, 6.715",\
                 "0.1194, 0.1668, 0.3076, 0.5824, 1.044, 1.713, 2.599, 3.72, 5.084, 6.713",\
                 "0.1454, 0.1966, 0.337, 0.6052, 1.054, 1.716, 2.601, 3.714, 5.076, 6.697",\
                 "0.1744, 0.2296, 0.3686, 0.638, 1.081, 1.729, 2.601, 3.712, 5.081, 6.702",\
                 "0.2054, 0.2646, 0.4068, 0.6748, 1.121, 1.766, 2.623, 3.717, 5.082, 6.697",\
                 "0.2358, 0.301, 0.449, 0.7152, 1.165, 1.817, 2.669, 3.746, 5.081, 6.706",\
                 "0.2714, 0.3404, 0.496, 0.7596, 1.211, 1.872, 2.741, 3.809, 5.122, 6.709");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
          index_2("0.001, 0.01098, 0.04601, 0.1129, 0.2171, 0.3633, 0.5558, 0.7982, 1.094, 1.447");
          values("0.09122, 0.1383, 0.2972, 0.6249, 1.154, 1.896, 2.874, 4.1, 5.604, 7.395",\
                 "0.09162, 0.1377, 0.2981, 0.6243, 1.153, 1.895, 2.876, 4.109, 5.604, 7.393",\
                 "0.09106, 0.1377, 0.2978, 0.6243, 1.153, 1.897, 2.875, 4.099, 5.602, 7.393",\
                 "0.1041, 0.1493, 0.3039, 0.6254, 1.153, 1.895, 2.875, 4.099, 5.604, 7.392",\
                 "0.1232, 0.1696, 0.3162, 0.631, 1.153, 1.897, 2.874, 4.106, 5.613, 7.394",\
                 "0.1472, 0.196, 0.3388, 0.6436, 1.157, 1.897, 2.874, 4.107, 5.6, 7.391",\
                 "0.1732, 0.226, 0.368, 0.6654, 1.174, 1.901, 2.874, 4.109, 5.6, 7.39",\
                 "0.2018, 0.2582, 0.401, 0.693, 1.199, 1.923, 2.883, 4.104, 5.61, 7.393",\
                 "0.233, 0.2922, 0.4404, 0.725, 1.23, 1.959, 2.912, 4.119, 5.607, 7.408",\
                 "0.2632, 0.3278, 0.4828, 0.7612, 1.263, 2, 2.959, 4.157, 5.631, 7.4");
        }
      }
    }
  }

