/*
 * 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_16) {
    area : 109.760000 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "9.824958e-05" ;
    }

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

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

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 3.79 ;
      max_transition : 6.8 ;
      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.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
          index_2("0.001, 0.02716, 0.119, 0.2943, 0.5674, 0.9507, 1.455, 2.09, 2.866, 3.79");
          values("0.2416, 0.2428, 0.2473, 0.2512, 0.2537, 0.2549, 0.2557, 0.2562, 0.2564, 0.2567",\
                 "0.2406, 0.2419, 0.2463, 0.2503, 0.2527, 0.2542, 0.255, 0.2554, 0.2556, 0.2558",\
                 "0.2387, 0.2398, 0.244, 0.248, 0.2507, 0.2522, 0.2529, 0.2535, 0.2538, 0.2541",\
                 "0.2393, 0.2399, 0.2426, 0.2465, 0.2494, 0.2514, 0.2525, 0.2531, 0.2536, 0.2539",\
                 "0.2456, 0.2447, 0.2453, 0.248, 0.2508, 0.2529, 0.2542, 0.255, 0.2556, 0.2561",\
                 "0.2561, 0.2537, 0.2525, 0.254, 0.2561, 0.2582, 0.2596, 0.2605, 0.2612, 0.2617",\
                 "0.2706, 0.267, 0.2637, 0.2641, 0.2653, 0.2672, 0.2685, 0.2695, 0.2702, 0.2708",\
                 "0.2902, 0.285, 0.2799, 0.2784, 0.2788, 0.2801, 0.2814, 0.2823, 0.2831, 0.2836",\
                 "0.3152, 0.3081, 0.3006, 0.2974, 0.297, 0.2979, 0.2987, 0.2996, 0.3005, 0.3009",\
                 "0.3458, 0.3371, 0.3269, 0.3221, 0.3202, 0.3205, 0.3208, 0.3216, 0.3223, 0.3228");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
          index_2("0.001, 0.02716, 0.119, 0.2943, 0.5674, 0.9507, 1.455, 2.09, 2.866, 3.79");
          values("0.1668, 0.1676, 0.1718, 0.1765, 0.1791, 0.1823, 0.1848, 0.1896, 0.1915, 0.197",\
                 "0.1658, 0.1669, 0.1713, 0.1754, 0.1779, 0.1814, 0.185, 0.1884, 0.1907, 0.1935",\
                 "0.1641, 0.1651, 0.1682, 0.1727, 0.1757, 0.1794, 0.182, 0.1868, 0.1905, 0.1933",\
                 "0.1651, 0.1653, 0.1675, 0.1704, 0.1738, 0.1782, 0.181, 0.184, 0.1872, 0.1925",\
                 "0.1699, 0.1688, 0.169, 0.1722, 0.1745, 0.1788, 0.182, 0.1854, 0.188, 0.1941",\
                 "0.1789, 0.1769, 0.1756, 0.1764, 0.1805, 0.1831, 0.1858, 0.1896, 0.1927, 0.1999",\
                 "0.192, 0.1885, 0.1863, 0.1852, 0.1876, 0.1924, 0.1939, 0.1965, 0.2002, 0.2031",\
                 "0.2093, 0.2049, 0.2005, 0.1987, 0.1993, 0.2025, 0.209, 0.2101, 0.2135, 0.2188",\
                 "0.2314, 0.2252, 0.2191, 0.2166, 0.2163, 0.2178, 0.2224, 0.2303, 0.2335, 0.232",\
                 "0.2588, 0.2514, 0.243, 0.2401, 0.2385, 0.2392, 0.2396, 0.2466, 0.2546, 0.2633");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
          index_2("0.001, 0.02716, 0.119, 0.2943, 0.5674, 0.9507, 1.455, 2.09, 2.866, 3.79");
          values("0.2939, 0.3312, 0.4255, 0.5678, 0.7725, 1.056, 1.427, 1.895, 2.467, 3.147",\
                 "0.3109, 0.3482, 0.4424, 0.5849, 0.7895, 1.073, 1.444, 1.912, 2.483, 3.166",\
                 "0.3729, 0.4101, 0.5042, 0.6466, 0.8515, 1.135, 1.506, 1.974, 2.546, 3.227",\
                 "0.4932, 0.5304, 0.6248, 0.7672, 0.9723, 1.255, 1.627, 2.095, 2.666, 3.349",\
                 "0.6486, 0.6907, 0.7907, 0.936, 1.141, 1.424, 1.796, 2.264, 2.836, 3.516",\
                 "0.8155, 0.8631, 0.9726, 1.124, 1.331, 1.614, 1.985, 2.453, 3.025, 3.705",\
                 "0.9964, 1.049, 1.169, 1.326, 1.536, 1.82, 2.192, 2.659, 3.229, 3.91",\
                 "1.195, 1.25, 1.382, 1.547, 1.76, 2.044, 2.416, 2.884, 3.454, 4.133",\
                 "1.414, 1.474, 1.615, 1.789, 2.006, 2.291, 2.662, 3.13, 3.7, 4.38",\
                 "1.655, 1.718, 1.869, 2.054, 2.276, 2.562, 2.932, 3.4, 3.971, 4.651");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
          index_2("0.001, 0.02716, 0.119, 0.2943, 0.5674, 0.9507, 1.455, 2.09, 2.866, 3.79");
          values("0.2585, 0.2973, 0.4052, 0.5903, 0.8731, 1.269, 1.79, 2.445, 3.244, 4.198",\
                 "0.2717, 0.3107, 0.4186, 0.6036, 0.8864, 1.282, 1.802, 2.457, 3.257, 4.209",\
                 "0.3201, 0.359, 0.4665, 0.6515, 0.9345, 1.33, 1.851, 2.507, 3.307, 4.261",\
                 "0.4046, 0.4446, 0.5529, 0.7376, 1.021, 1.417, 1.938, 2.594, 3.393, 4.347",\
                 "0.4818, 0.5262, 0.6405, 0.8266, 1.109, 1.505, 2.026, 2.681, 3.481, 4.435",\
                 "0.5403, 0.5892, 0.7109, 0.8991, 1.182, 1.578, 2.097, 2.754, 3.554, 4.507",\
                 "0.5796, 0.6331, 0.7633, 0.9545, 1.237, 1.632, 2.152, 2.807, 3.605, 4.559",\
                 "0.601, 0.6584, 0.7967, 0.9926, 1.275, 1.67, 2.19, 2.844, 3.643, 4.595",\
                 "0.6032, 0.6639, 0.812, 1.014, 1.297, 1.691, 2.21, 2.865, 3.663, 4.614",\
                 "0.5853, 0.6497, 0.8079, 1.017, 1.301, 1.694, 2.213, 2.867, 3.666, 4.617");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
          index_2("0.001, 0.02716, 0.119, 0.2943, 0.5674, 0.9507, 1.455, 2.09, 2.866, 3.79");
          values("0.09914, 0.1336, 0.2384, 0.4369, 0.7669, 1.242, 1.875, 2.673, 3.647, 4.806",\
                 "0.09914, 0.1333, 0.2384, 0.4371, 0.7669, 1.243, 1.875, 2.672, 3.642, 4.807",\
                 "0.09918, 0.1337, 0.2382, 0.4382, 0.7667, 1.243, 1.874, 2.673, 3.644, 4.805",\
                 "0.1019, 0.1361, 0.2401, 0.4377, 0.7664, 1.244, 1.873, 2.672, 3.641, 4.807",\
                 "0.1228, 0.157, 0.2536, 0.444, 0.7678, 1.243, 1.874, 2.669, 3.647, 4.807",\
                 "0.1446, 0.1834, 0.2774, 0.4602, 0.7762, 1.247, 1.873, 2.668, 3.646, 4.806",\
                 "0.1658, 0.2094, 0.3038, 0.4786, 0.7854, 1.25, 1.875, 2.67, 3.641, 4.796",\
                 "0.1858, 0.2348, 0.3332, 0.499, 0.7962, 1.257, 1.879, 2.67, 3.641, 4.799",\
                 "0.206, 0.2574, 0.365, 0.5248, 0.8092, 1.262, 1.881, 2.675, 3.64, 4.797",\
                 "0.2286, 0.283, 0.3994, 0.552, 0.826, 1.268, 1.887, 2.677, 3.644, 4.797");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
          index_2("0.001, 0.02716, 0.119, 0.2943, 0.5674, 0.9507, 1.455, 2.09, 2.866, 3.79");
          values("0.0986, 0.1413, 0.2886, 0.5913, 1.077, 1.759, 2.657, 3.793, 5.176, 6.814",\
                 "0.09842, 0.1412, 0.2888, 0.5917, 1.076, 1.76, 2.659, 3.793, 5.176, 6.808",\
                 "0.09842, 0.1414, 0.2888, 0.5907, 1.075, 1.76, 2.657, 3.792, 5.176, 6.828",\
                 "0.1062, 0.1467, 0.2908, 0.5914, 1.077, 1.759, 2.654, 3.789, 5.168, 6.826",\
                 "0.1248, 0.1666, 0.3032, 0.595, 1.077, 1.756, 2.656, 3.791, 5.165, 6.821",\
                 "0.1438, 0.1874, 0.319, 0.6014, 1.079, 1.759, 2.655, 3.784, 5.167, 6.825",\
                 "0.1624, 0.2098, 0.3386, 0.609, 1.082, 1.759, 2.654, 3.785, 5.164, 6.813",\
                 "0.1804, 0.2304, 0.3602, 0.6202, 1.086, 1.762, 2.655, 3.782, 5.165, 6.811",\
                 "0.1992, 0.2528, 0.3836, 0.6334, 1.089, 1.763, 2.657, 3.784, 5.159, 6.81",\
                 "0.2192, 0.275, 0.4124, 0.6496, 1.095, 1.765, 2.658, 3.786, 5.166, 6.801");
        }
      }
    }
  }

