/*
 * 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_2) {
    area : 17.561600 ;

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

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

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

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

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

    pin(I) {
      capacitance : 0.003675 ;
      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.4917 ;
      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.004387, 0.01628, 0.03898, 0.07435, 0.124, 0.1893, 0.2716, 0.372, 0.4917");
          values("0.1887, 0.1876, 0.1872, 0.1879, 0.1886, 0.1892, 0.1895, 0.1897, 0.1899, 0.1899",\
                 "0.1882, 0.1872, 0.1868, 0.1875, 0.1881, 0.1887, 0.189, 0.1892, 0.1893, 0.1894",\
                 "0.1896, 0.1883, 0.1875, 0.1883, 0.1892, 0.1898, 0.1901, 0.1905, 0.1906, 0.1907",\
                 "0.2017, 0.1993, 0.1966, 0.196, 0.1964, 0.1968, 0.1971, 0.1972, 0.1975, 0.1976",\
                 "0.2251, 0.2212, 0.2159, 0.213, 0.2117, 0.2117, 0.2119, 0.212, 0.2119, 0.212",\
                 "0.2604, 0.2549, 0.2467, 0.2407, 0.2379, 0.2365, 0.2362, 0.2359, 0.2358, 0.2358",\
                 "0.3075, 0.3003, 0.289, 0.2803, 0.2754, 0.2722, 0.2709, 0.2702, 0.2698, 0.2694",\
                 "0.3671, 0.3578, 0.3431, 0.3312, 0.3237, 0.3195, 0.3167, 0.3151, 0.3141, 0.3135",\
                 "0.4384, 0.4281, 0.4099, 0.3947, 0.3844, 0.3777, 0.3739, 0.3713, 0.3697, 0.3687",\
                 "0.5225, 0.511, 0.4891, 0.4713, 0.4579, 0.4488, 0.443, 0.4393, 0.4371, 0.4355");
        }

        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.004387, 0.01628, 0.03898, 0.07435, 0.124, 0.1893, 0.2716, 0.372, 0.4917");
          values("0.1319, 0.1284, 0.1246, 0.1232, 0.1232, 0.1241, 0.1253, 0.1273, 0.1306, 0.1328",\
                 "0.1308, 0.1279, 0.124, 0.1227, 0.1222, 0.1232, 0.1252, 0.1277, 0.1293, 0.1306",\
                 "0.1311, 0.1279, 0.1236, 0.1224, 0.122, 0.1221, 0.1247, 0.1259, 0.1275, 0.1319",\
                 "0.1411, 0.1371, 0.1311, 0.1284, 0.1271, 0.1276, 0.13, 0.1309, 0.1342, 0.136",\
                 "0.163, 0.1575, 0.1493, 0.1444, 0.1419, 0.1414, 0.1427, 0.1439, 0.145, 0.149",\
                 "0.1947, 0.1877, 0.1769, 0.1692, 0.1662, 0.1638, 0.1642, 0.1646, 0.1662, 0.1702",\
                 "0.238, 0.2291, 0.2161, 0.2056, 0.1995, 0.199, 0.1962, 0.1952, 0.1986, 0.1985",\
                 "0.2926, 0.2825, 0.2663, 0.2535, 0.2455, 0.2409, 0.2402, 0.2389, 0.2377, 0.2381",\
                 "0.3591, 0.3475, 0.3287, 0.3116, 0.3001, 0.2921, 0.2919, 0.2915, 0.2931, 0.2894",\
                 "0.4377, 0.4249, 0.4027, 0.3838, 0.3695, 0.3594, 0.3559, 0.3536, 0.3538, 0.3547");
        }
      }

      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.004387, 0.01628, 0.03898, 0.07435, 0.124, 0.1893, 0.2716, 0.372, 0.4917");
          values("0.2144, 0.2445, 0.3312, 0.4761, 0.695, 1.001, 1.404, 1.911, 2.531, 3.269",\
                 "0.2237, 0.2538, 0.3404, 0.4854, 0.7043, 1.01, 1.413, 1.92, 2.54, 3.278",\
                 "0.26, 0.2901, 0.3765, 0.5212, 0.7401, 1.046, 1.449, 1.956, 2.576, 3.314",\
                 "0.3293, 0.3593, 0.4454, 0.5895, 0.8083, 1.114, 1.517, 2.024, 2.643, 3.382",\
                 "0.4127, 0.4439, 0.5325, 0.6775, 0.8953, 1.201, 1.603, 2.109, 2.729, 3.467",\
                 "0.5044, 0.5375, 0.629, 0.775, 0.9925, 1.298, 1.699, 2.206, 2.824, 3.562",\
                 "0.6022, 0.6375, 0.7333, 0.8818, 1.099, 1.404, 1.805, 2.312, 2.929, 3.667",\
                 "0.7057, 0.7435, 0.8441, 0.9969, 1.217, 1.52, 1.921, 2.427, 3.045, 3.782",\
                 "0.814, 0.8544, 0.9605, 1.119, 1.341, 1.648, 2.048, 2.554, 3.172, 3.908",\
                 "0.9279, 0.971, 1.082, 1.245, 1.472, 1.782, 2.187, 2.691, 3.309, 4.046");
        }

        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.004387, 0.01628, 0.03898, 0.07435, 0.124, 0.1893, 0.2716, 0.372, 0.4917");
          values("0.2403, 0.2672, 0.3445, 0.4748, 0.6751, 0.9568, 1.327, 1.793, 2.363, 3.043",\
                 "0.2466, 0.2737, 0.3506, 0.4815, 0.6814, 0.9628, 1.333, 1.8, 2.37, 3.05",\
                 "0.273, 0.3, 0.3765, 0.5073, 0.7074, 0.9886, 1.359, 1.824, 2.395, 3.073",\
                 "0.3276, 0.3546, 0.431, 0.5608, 0.7605, 1.042, 1.412, 1.879, 2.448, 3.128",\
                 "0.3873, 0.4166, 0.496, 0.6261, 0.8251, 1.105, 1.476, 1.942, 2.511, 3.189",\
                 "0.4466, 0.4781, 0.5607, 0.6917, 0.8901, 1.17, 1.539, 2.005, 2.575, 3.253",\
                 "0.5055, 0.5392, 0.6261, 0.7592, 0.9563, 1.235, 1.603, 2.068, 2.639, 3.316",\
                 "0.5611, 0.5976, 0.6887, 0.8262, 1.024, 1.302, 1.669, 2.134, 2.702, 3.38",\
                 "0.6125, 0.6512, 0.7492, 0.8894, 1.089, 1.367, 1.734, 2.198, 2.766, 3.443",\
                 "0.659, 0.7008, 0.8038, 0.9504, 1.152, 1.432, 1.8, 2.264, 2.83, 3.507");
        }

        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.004387, 0.01628, 0.03898, 0.07435, 0.124, 0.1893, 0.2716, 0.372, 0.4917");
          values("0.07932, 0.1146, 0.2239, 0.4397, 0.7927, 1.292, 1.954, 2.782, 3.797, 5.001",\
                 "0.07946, 0.1146, 0.2244, 0.4406, 0.7934, 1.292, 1.953, 2.782, 3.793, 5",\
                 "0.0793, 0.1147, 0.224, 0.4396, 0.7933, 1.293, 1.952, 2.782, 3.797, 5.001",\
                 "0.08314, 0.118, 0.2259, 0.4411, 0.7927, 1.293, 1.952, 2.781, 3.793, 5.001",\
                 "0.09332, 0.128, 0.2351, 0.4442, 0.7932, 1.292, 1.954, 2.781, 3.795, 5.004",\
                 "0.1062, 0.1414, 0.2478, 0.4508, 0.7954, 1.293, 1.95, 2.781, 3.794, 5.001",\
                 "0.1216, 0.1576, 0.2634, 0.4616, 0.7994, 1.295, 1.953, 2.783, 3.793, 5.001",\
                 "0.1372, 0.1746, 0.2816, 0.478, 0.8108, 1.299, 1.953, 2.782, 3.795, 5.002",\
                 "0.154, 0.194, 0.3014, 0.4964, 0.8268, 1.311, 1.958, 2.782, 3.794, 5.002",\
                 "0.1704, 0.2118, 0.3228, 0.5176, 0.8458, 1.331, 1.975, 2.79, 3.795, 5");
        }

        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.004387, 0.01628, 0.03898, 0.07435, 0.124, 0.1893, 0.2716, 0.372, 0.4917");
          values("0.08368, 0.114, 0.2169, 0.4265, 0.7688, 1.256, 1.892, 2.701, 3.686, 4.85",\
                 "0.08318, 0.1138, 0.2167, 0.4265, 0.7706, 1.256, 1.894, 2.702, 3.686, 4.851",\
                 "0.08298, 0.1138, 0.2169, 0.4263, 0.7689, 1.255, 1.896, 2.699, 3.681, 4.856",\
                 "0.08622, 0.1161, 0.2182, 0.4265, 0.7703, 1.255, 1.895, 2.701, 3.687, 4.858",\
                 "0.09934, 0.1287, 0.2269, 0.4298, 0.7702, 1.254, 1.893, 2.701, 3.679, 4.855",\
                 "0.1112, 0.1406, 0.2374, 0.4344, 0.7714, 1.255, 1.892, 2.697, 3.681, 4.85",\
                 "0.1244, 0.156, 0.2506, 0.4406, 0.7724, 1.255, 1.893, 2.695, 3.682, 4.849",\
                 "0.1392, 0.1718, 0.2678, 0.452, 0.7762, 1.256, 1.892, 2.695, 3.677, 4.845",\
                 "0.154, 0.1896, 0.2856, 0.468, 0.7874, 1.262, 1.895, 2.696, 3.674, 4.849",\
                 "0.17, 0.2078, 0.3068, 0.4858, 0.8008, 1.273, 1.901, 2.699, 3.676, 4.843");
        }
      }
    }
  }

