/*
 * 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 : "5.68161e-05" ;
    }

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

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "5.68161e-05" ;
    }

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 0.7214 ;
      max_transition : 8.6 ;
      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.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005973, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.1011, 0.1005, 0.1007, 0.1011, 0.1013, 0.1015, 0.1016, 0.1017, 0.1018, 0.1018",\
                 "0.1006, 0.0999, 0.1002, 0.1007, 0.101, 0.1012, 0.1013, 0.1013, 0.1014, 0.1014",\
                 "0.1023, 0.1014, 0.1012, 0.1017, 0.102, 0.1023, 0.1024, 0.1025, 0.1026, 0.1026",\
                 "0.1124, 0.1101, 0.1083, 0.1078, 0.1079, 0.108, 0.1082, 0.1082, 0.1082, 0.1082",\
                 "0.1304, 0.1269, 0.1228, 0.1211, 0.1203, 0.1201, 0.12, 0.12, 0.12, 0.12",\
                 "0.1573, 0.1522, 0.1456, 0.1418, 0.1403, 0.1396, 0.139, 0.1389, 0.1388, 0.1388",\
                 "0.1932, 0.1866, 0.1775, 0.1716, 0.1685, 0.1669, 0.166, 0.1656, 0.1653, 0.1651",\
                 "0.2384, 0.2303, 0.2184, 0.2102, 0.2055, 0.2028, 0.2013, 0.2003, 0.1998, 0.1994",\
                 "0.293, 0.2837, 0.269, 0.2585, 0.2516, 0.2476, 0.2453, 0.2439, 0.2429, 0.2422",\
                 "0.3574, 0.3471, 0.3295, 0.3164, 0.3075, 0.302, 0.2986, 0.2966, 0.2952, 0.2942");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005973, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.06699, 0.06585, 0.06551, 0.06583, 0.06666, 0.06748, 0.06867, 0.07016, 0.07187, 0.07854",\
                 "0.06642, 0.06509, 0.06496, 0.06537, 0.06597, 0.06712, 0.06841, 0.0695, 0.07158, 0.07821",\
                 "0.0677, 0.06611, 0.06509, 0.06531, 0.06627, 0.06758, 0.06831, 0.06983, 0.07191, 0.07817",\
                 "0.07702, 0.07427, 0.07197, 0.07102, 0.07138, 0.07224, 0.07309, 0.07478, 0.07719, 0.08422",\
                 "0.09288, 0.08899, 0.08417, 0.08296, 0.08234, 0.0826, 0.08378, 0.08468, 0.08679, 0.09598",\
                 "0.1167, 0.1115, 0.1049, 0.101, 0.1006, 0.1006, 0.1, 0.1012, 0.1026, 0.114",\
                 "0.1489, 0.1424, 0.1332, 0.1277, 0.1256, 0.1258, 0.1256, 0.1263, 0.1264, 0.1393",\
                 "0.1897, 0.1813, 0.1703, 0.1625, 0.1579, 0.156, 0.1582, 0.1582, 0.1599, 0.1753",\
                 "0.2389, 0.2293, 0.2155, 0.2058, 0.1997, 0.1959, 0.1955, 0.1988, 0.2002, 0.2244",\
                 "0.297, 0.286, 0.2695, 0.2584, 0.2503, 0.2457, 0.2431, 0.2433, 0.25, 0.2889");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005973, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.2395, 0.2853, 0.4084, 0.6118, 0.9201, 1.352, 1.92, 2.635, 3.509, 4.551",\
                 "0.2569, 0.3026, 0.4257, 0.6291, 0.9374, 1.369, 1.937, 2.653, 3.527, 4.569",\
                 "0.3238, 0.3692, 0.492, 0.6953, 1.004, 1.435, 2.004, 2.719, 3.593, 4.636",\
                 "0.4364, 0.4835, 0.6083, 0.8119, 1.12, 1.551, 2.119, 2.836, 3.71, 4.748",\
                 "0.5676, 0.6177, 0.7479, 0.954, 1.262, 1.693, 2.26, 2.975, 3.847, 4.891",\
                 "0.7148, 0.7696, 0.908, 1.117, 1.425, 1.856, 2.422, 3.138, 4.011, 5.052",\
                 "0.878, 0.9378, 1.085, 1.303, 1.613, 2.043, 2.611, 3.324, 4.197, 5.237",\
                 "1.056, 1.122, 1.279, 1.506, 1.824, 2.257, 2.825, 3.538, 4.409, 5.45",\
                 "1.252, 1.321, 1.49, 1.727, 2.052, 2.494, 3.065, 3.779, 4.65, 5.69",\
                 "1.464, 1.539, 1.718, 1.966, 2.3, 2.751, 3.331, 4.051, 4.922, 5.962");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005973, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.2397, 0.284, 0.4111, 0.6365, 0.9863, 1.476, 2.122, 2.932, 3.927, 5.111",\
                 "0.2521, 0.2964, 0.4236, 0.6491, 0.9989, 1.489, 2.135, 2.945, 3.94, 5.124",\
                 "0.3022, 0.3461, 0.4724, 0.6978, 1.048, 1.538, 2.183, 2.997, 3.988, 5.172",\
                 "0.3732, 0.4196, 0.5479, 0.7722, 1.121, 1.611, 2.257, 3.07, 4.063, 5.245",\
                 "0.4335, 0.4831, 0.6157, 0.8399, 1.188, 1.677, 2.322, 3.135, 4.128, 5.311",\
                 "0.4831, 0.5366, 0.6754, 0.9004, 1.247, 1.736, 2.379, 3.192, 4.183, 5.365",\
                 "0.5185, 0.5771, 0.7229, 0.9528, 1.299, 1.786, 2.43, 3.24, 4.232, 5.413",\
                 "0.5378, 0.6013, 0.7564, 0.9919, 1.342, 1.83, 2.471, 3.283, 4.271, 5.453",\
                 "0.5382, 0.607, 0.7713, 1.016, 1.37, 1.863, 2.506, 3.316, 4.305, 5.485",\
                 "0.5196, 0.5928, 0.7676, 1.021, 1.381, 1.881, 2.529, 3.341, 4.329, 5.509");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005973, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.09064, 0.1425, 0.3011, 0.6181, 1.131, 1.859, 2.819, 4.023, 5.502, 7.268",\
                 "0.09028, 0.1423, 0.3011, 0.6174, 1.131, 1.858, 2.818, 4.023, 5.505, 7.268",\
                 "0.09128, 0.1431, 0.3018, 0.6182, 1.13, 1.858, 2.816, 4.025, 5.504, 7.269",\
                 "0.1037, 0.1547, 0.308, 0.6188, 1.131, 1.859, 2.819, 4.03, 5.506, 7.258",\
                 "0.1218, 0.1734, 0.3248, 0.6264, 1.134, 1.858, 2.82, 4.025, 5.497, 7.267",\
                 "0.145, 0.1978, 0.3474, 0.6382, 1.137, 1.859, 2.816, 4.022, 5.497, 7.252",\
                 "0.1698, 0.2254, 0.3774, 0.6612, 1.147, 1.864, 2.815, 4.021, 5.494, 7.256",\
                 "0.1974, 0.2568, 0.4108, 0.6922, 1.174, 1.878, 2.821, 4.019, 5.487, 7.253",\
                 "0.2228, 0.2874, 0.4482, 0.7276, 1.208, 1.911, 2.841, 4.026, 5.489, 7.243",\
                 "0.2504, 0.3194, 0.4872, 0.7666, 1.247, 1.955, 2.886, 4.052, 5.503, 7.242");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005973, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.0939, 0.1488, 0.3384, 0.7263, 1.344, 2.205, 3.343, 4.781, 6.526, 8.606",\
                 "0.09396, 0.1485, 0.3384, 0.7264, 1.341, 2.208, 3.344, 4.78, 6.529, 8.612",\
                 "0.0941, 0.1492, 0.3389, 0.7265, 1.344, 2.208, 3.349, 4.778, 6.527, 8.614",\
                 "0.1083, 0.1614, 0.3444, 0.727, 1.343, 2.205, 3.342, 4.778, 6.526, 8.613",\
                 "0.1246, 0.1776, 0.3548, 0.7306, 1.342, 2.207, 3.344, 4.776, 6.522, 8.613",\
                 "0.1438, 0.1986, 0.3702, 0.736, 1.344, 2.205, 3.344, 4.771, 6.531, 8.607",\
                 "0.166, 0.2214, 0.3934, 0.7472, 1.348, 2.208, 3.342, 4.773, 6.522, 8.611",\
                 "0.1894, 0.2468, 0.419, 0.768, 1.362, 2.214, 3.343, 4.772, 6.524, 8.604",\
                 "0.2148, 0.2772, 0.4494, 0.793, 1.384, 2.232, 3.349, 4.775, 6.518, 8.607",\
                 "0.2404, 0.3056, 0.4822, 0.8212, 1.413, 2.263, 3.376, 4.784, 6.519, 8.6");
        }
      }
    }
  }

