/*
 * 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_8) {
    area : 57.075200 ;

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

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

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

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 1.812 ;
      max_transition : 2.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.03781, 0.1003, 0.2197, 0.4057, 0.6666, 1.01, 1.443, 1.971, 2.6");
          index_2("0.001, 0.0135, 0.05737, 0.1411, 0.2717, 0.4548, 0.6958, 0.9994, 1.37, 1.812");
          values("1.176, 1.137, 1.089, 1.061, 1.045, 1.036, 1.03, 1.027, 1.025, 1.023",\
                 "1.179, 1.141, 1.09, 1.063, 1.048, 1.038, 1.032, 1.029, 1.027, 1.026",\
                 "1.214, 1.175, 1.12, 1.09, 1.074, 1.064, 1.058, 1.054, 1.052, 1.051",\
                 "1.363, 1.316, 1.247, 1.201, 1.172, 1.155, 1.145, 1.14, 1.135, 1.133",\
                 "1.643, 1.587, 1.488, 1.413, 1.363, 1.333, 1.314, 1.301, 1.293, 1.287",\
                 "2.042, 1.974, 1.847, 1.738, 1.664, 1.613, 1.58, 1.558, 1.542, 1.531",\
                 "2.556, 2.478, 2.317, 2.181, 2.073, 1.998, 1.947, 1.91, 1.886, 1.868",\
                 "3.182, 3.095, 2.906, 2.735, 2.599, 2.495, 2.422, 2.37, 2.334, 2.307",\
                 "3.927, 3.833, 3.616, 3.416, 3.241, 3.113, 3.012, 2.941, 2.89, 2.851",\
                 "4.791, 4.691, 4.453, 4.214, 4.013, 3.849, 3.722, 3.629, 3.559, 3.507");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.03781, 0.1003, 0.2197, 0.4057, 0.6666, 1.01, 1.443, 1.971, 2.6");
          index_2("0.001, 0.0135, 0.05737, 0.1411, 0.2717, 0.4548, 0.6958, 0.9994, 1.37, 1.812");
          values("0.9256, 0.876, 0.8106, 0.7705, 0.7505, 0.741, 0.7345, 0.7409, 0.7501, 0.7623",\
                 "0.9245, 0.876, 0.8085, 0.7705, 0.7494, 0.7377, 0.7328, 0.7409, 0.7517, 0.7678",\
                 "0.9495, 0.9013, 0.8327, 0.7916, 0.7665, 0.7542, 0.7493, 0.7601, 0.771, 0.7788",\
                 "1.083, 1.029, 0.9461, 0.8863, 0.8545, 0.8334, 0.8269, 0.8256, 0.8447, 0.8503",\
                 "1.338, 1.273, 1.167, 1.09, 1.034, 1.002, 0.9765, 0.9818, 0.9833, 0.9933",\
                 "1.709, 1.638, 1.497, 1.382, 1.316, 1.259, 1.224, 1.211, 1.219, 1.224",\
                 "2.191, 2.107, 1.933, 1.79, 1.69, 1.634, 1.571, 1.532, 1.529, 1.516",\
                 "2.781, 2.689, 2.489, 2.312, 2.178, 2.091, 2.04, 1.977, 1.951, 1.923",\
                 "3.483, 3.386, 3.158, 2.952, 2.783, 2.649, 2.571, 2.528, 2.481, 2.445",\
                 "4.303, 4.202, 3.955, 3.703, 3.508, 3.346, 3.233, 3.165, 3.106, 3.072");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.03781, 0.1003, 0.2197, 0.4057, 0.6666, 1.01, 1.443, 1.971, 2.6");
          index_2("0.001, 0.0135, 0.05737, 0.1411, 0.2717, 0.4548, 0.6958, 0.9994, 1.37, 1.812");
          values("0.1203, 0.1357, 0.1793, 0.2533, 0.3653, 0.5226, 0.73, 0.9914, 1.311, 1.692",\
                 "0.1243, 0.1397, 0.1834, 0.2573, 0.3693, 0.5265, 0.7339, 0.9954, 1.315, 1.695",\
                 "0.141, 0.1563, 0.1998, 0.2735, 0.3853, 0.5425, 0.7498, 1.011, 1.33, 1.712",\
                 "0.1747, 0.19, 0.2328, 0.3057, 0.4169, 0.5736, 0.7806, 1.042, 1.361, 1.742",\
                 "0.2174, 0.2334, 0.277, 0.3496, 0.4595, 0.6152, 0.8214, 1.082, 1.402, 1.782",\
                 "0.2642, 0.2815, 0.327, 0.4002, 0.5093, 0.6639, 0.8692, 1.129, 1.448, 1.827",\
                 "0.314, 0.3328, 0.3804, 0.4553, 0.5653, 0.7193, 0.9236, 1.183, 1.5, 1.88",\
                 "0.3666, 0.3866, 0.4372, 0.5135, 0.6247, 0.7806, 0.9843, 1.243, 1.559, 1.938",\
                 "0.4214, 0.4426, 0.4962, 0.5745, 0.6873, 0.8441, 1.051, 1.309, 1.626, 2.003",\
                 "0.4787, 0.5014, 0.5577, 0.6387, 0.7529, 0.9116, 1.121, 1.382, 1.699, 2.076");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.03781, 0.1003, 0.2197, 0.4057, 0.6666, 1.01, 1.443, 1.971, 2.6");
          index_2("0.001, 0.0135, 0.05737, 0.1411, 0.2717, 0.4548, 0.6958, 0.9994, 1.37, 1.812");
          values("0.1209, 0.1347, 0.1732, 0.2391, 0.3415, 0.4861, 0.6771, 0.9178, 1.211, 1.562",\
                 "0.1235, 0.1375, 0.1758, 0.2419, 0.3441, 0.4888, 0.6796, 0.9206, 1.214, 1.565",\
                 "0.1358, 0.1498, 0.1879, 0.2538, 0.356, 0.5006, 0.6915, 0.9314, 1.225, 1.576",\
                 "0.1615, 0.1756, 0.2136, 0.2788, 0.3804, 0.5244, 0.7148, 0.9556, 1.249, 1.599",\
                 "0.1914, 0.2066, 0.246, 0.3108, 0.4114, 0.5543, 0.7445, 0.9844, 1.278, 1.629",\
                 "0.2216, 0.2384, 0.2797, 0.3447, 0.4442, 0.5866, 0.7755, 1.015, 1.308, 1.659",\
                 "0.2503, 0.2686, 0.3129, 0.3793, 0.4788, 0.6205, 0.8081, 1.046, 1.339, 1.688",\
                 "0.2766, 0.2964, 0.3443, 0.4127, 0.5128, 0.6545, 0.8422, 1.08, 1.371, 1.72",\
                 "0.3005, 0.3217, 0.3729, 0.4439, 0.5449, 0.6876, 0.876, 1.113, 1.404, 1.752",\
                 "0.3214, 0.344, 0.3991, 0.4728, 0.5747, 0.7181, 0.9085, 1.148, 1.438, 1.786");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.03781, 0.1003, 0.2197, 0.4057, 0.6666, 1.01, 1.443, 1.971, 2.6");
          index_2("0.001, 0.0135, 0.05737, 0.1411, 0.2717, 0.4548, 0.6958, 0.9994, 1.37, 1.812");
          values("0.0426, 0.06062, 0.1173, 0.228, 0.41, 0.6698, 1.014, 1.444, 1.974, 2.596",\
                 "0.0426, 0.06072, 0.117, 0.2282, 0.4102, 0.671, 1.013, 1.446, 1.975, 2.598",\
                 "0.04272, 0.06076, 0.1173, 0.228, 0.4103, 0.6706, 1.014, 1.444, 1.972, 2.606",\
                 "0.04496, 0.06254, 0.1186, 0.2284, 0.4107, 0.6704, 1.012, 1.445, 1.97, 2.605",\
                 "0.05178, 0.06984, 0.1238, 0.2307, 0.4109, 0.6704, 1.013, 1.446, 1.975, 2.6",\
                 "0.06036, 0.07878, 0.133, 0.2372, 0.4122, 0.6702, 1.013, 1.446, 1.97, 2.599",\
                 "0.07036, 0.09008, 0.1439, 0.2476, 0.42, 0.6722, 1.012, 1.444, 1.968, 2.603",\
                 "0.0804, 0.101, 0.156, 0.2588, 0.432, 0.6824, 1.016, 1.444, 1.971, 2.601",\
                 "0.0912, 0.1148, 0.17, 0.271, 0.4436, 0.698, 1.029, 1.45, 1.971, 2.598",\
                 "0.1022, 0.126, 0.185, 0.2846, 0.4566, 0.713, 1.049, 1.467, 1.979, 2.598");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.03781, 0.1003, 0.2197, 0.4057, 0.6666, 1.01, 1.443, 1.971, 2.6");
          index_2("0.001, 0.0135, 0.05737, 0.1411, 0.2717, 0.4548, 0.6958, 0.9994, 1.37, 1.812");
          values("0.04452, 0.06022, 0.1118, 0.2203, 0.3975, 0.6498, 0.9824, 1.401, 1.907, 2.516",\
                 "0.04438, 0.06012, 0.1118, 0.2201, 0.3983, 0.6501, 0.9816, 1.401, 1.909, 2.517",\
                 "0.04438, 0.06006, 0.1118, 0.2209, 0.3978, 0.6502, 0.9824, 1.399, 1.908, 2.522",\
                 "0.04722, 0.06254, 0.1131, 0.2206, 0.3982, 0.6491, 0.9815, 1.4, 1.911, 2.521",\
                 "0.05416, 0.06948, 0.118, 0.2222, 0.3986, 0.6489, 0.9815, 1.397, 1.909, 2.519",\
                 "0.06284, 0.08014, 0.1268, 0.226, 0.3995, 0.6494, 0.9801, 1.399, 1.907, 2.52",\
                 "0.07268, 0.09094, 0.1369, 0.2331, 0.4028, 0.6506, 0.981, 1.398, 1.906, 2.515",\
                 "0.0824, 0.101, 0.1512, 0.242, 0.4108, 0.656, 0.983, 1.398, 1.909, 2.512",\
                 "0.093, 0.1132, 0.1654, 0.2532, 0.4194, 0.6666, 0.9914, 1.402, 1.907, 2.514",\
                 "0.1036, 0.1262, 0.1806, 0.266, 0.429, 0.6774, 1.004, 1.412, 1.913, 2.514");
        }
      }
    }
  }

