/*
 * 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_12) {
    area : 83.417600 ;

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

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

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

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

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

    pin(I) {
      capacitance : 0.01691 ;
      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 : 4.324 ;
      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.03084, 0.1356, 0.3356, 0.6472, 1.084, 1.66, 2.384, 3.269, 4.324");
          values("0.7567, 0.7284, 0.7027, 0.6925, 0.6864, 0.6837, 0.6817, 0.6807, 0.6801, 0.6797",\
                 "0.7565, 0.7281, 0.7023, 0.692, 0.6861, 0.6833, 0.6812, 0.6803, 0.6798, 0.6794",\
                 "0.7893, 0.7578, 0.727, 0.7139, 0.7076, 0.7042, 0.7023, 0.701, 0.7006, 0.7001",\
                 "0.9289, 0.886, 0.8306, 0.8017, 0.7873, 0.7796, 0.7749, 0.7726, 0.771, 0.77",\
                 "1.172, 1.113, 1.028, 0.9741, 0.9442, 0.9274, 0.9178, 0.9116, 0.9075, 0.9048",\
                 "1.514, 1.443, 1.323, 1.239, 1.187, 1.158, 1.139, 1.127, 1.12, 1.114",\
                 "1.956, 1.874, 1.719, 1.602, 1.525, 1.476, 1.446, 1.426, 1.412, 1.404",\
                 "2.5, 2.408, 2.223, 2.069, 1.962, 1.891, 1.845, 1.814, 1.793, 1.778",\
                 "3.15, 3.05, 2.836, 2.646, 2.507, 2.408, 2.343, 2.298, 2.266, 2.244",\
                 "3.907, 3.804, 3.567, 3.336, 3.161, 3.035, 2.947, 2.884, 2.841, 2.808");
        }

        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.03084, 0.1356, 0.3356, 0.6472, 1.084, 1.66, 2.384, 3.269, 4.324");
          values("0.5698, 0.5374, 0.5096, 0.4982, 0.497, 0.4994, 0.5046, 0.5137, 0.5259, 0.5506",\
                 "0.5681, 0.5355, 0.5071, 0.4964, 0.4963, 0.4987, 0.5024, 0.5116, 0.5187, 0.5506",\
                 "0.5967, 0.5609, 0.5256, 0.5118, 0.5099, 0.5127, 0.5204, 0.5253, 0.5331, 0.5645",\
                 "0.7254, 0.6779, 0.6226, 0.5928, 0.5801, 0.5779, 0.5788, 0.589, 0.5979, 0.6289",\
                 "0.9447, 0.8813, 0.7972, 0.7491, 0.7234, 0.7154, 0.7076, 0.7121, 0.7167, 0.7498",\
                 "1.255, 1.178, 1.062, 0.9845, 0.9473, 0.926, 0.911, 0.9011, 0.9026, 0.9422",\
                 "1.659, 1.571, 1.423, 1.313, 1.248, 1.22, 1.201, 1.185, 1.18, 1.217",\
                 "2.157, 2.062, 1.88, 1.742, 1.646, 1.592, 1.566, 1.552, 1.542, 1.575",\
                 "2.752, 2.648, 2.438, 2.267, 2.142, 2.059, 2.008, 1.998, 1.982, 2.039",\
                 "3.448, 3.339, 3.102, 2.896, 2.742, 2.629, 2.556, 2.519, 2.518, 2.616");
        }
      }

      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.03084, 0.1356, 0.3356, 0.6472, 1.084, 1.66, 2.384, 3.269, 4.324");
          values("0.2064, 0.2467, 0.3549, 0.5319, 0.7983, 1.171, 1.662, 2.282, 3.038, 3.939",\
                 "0.2195, 0.2598, 0.368, 0.5449, 0.8113, 1.184, 1.675, 2.293, 3.049, 3.948",\
                 "0.273, 0.3128, 0.4203, 0.597, 0.8631, 1.236, 1.726, 2.345, 3.103, 4",\
                 "0.3652, 0.4061, 0.5143, 0.6902, 0.9552, 1.328, 1.818, 2.437, 3.193, 4.094",\
                 "0.4737, 0.5179, 0.6306, 0.8087, 1.073, 1.443, 1.933, 2.55, 3.306, 4.206",\
                 "0.5937, 0.6425, 0.7613, 0.9463, 1.212, 1.582, 2.07, 2.686, 3.442, 4.34",\
                 "0.7255, 0.7783, 0.9059, 1.098, 1.372, 1.744, 2.231, 2.846, 3.6, 4.498",\
                 "0.8687, 0.9257, 1.063, 1.262, 1.543, 1.925, 2.417, 3.033, 3.784, 4.682",\
                 "1.024, 1.086, 1.232, 1.44, 1.729, 2.12, 2.624, 3.246, 3.998, 4.894",\
                 "1.193, 1.259, 1.415, 1.633, 1.929, 2.33, 2.845, 3.482, 4.241, 5.138");
        }

        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.03084, 0.1356, 0.3356, 0.6472, 1.084, 1.66, 2.384, 3.269, 4.324");
          values("0.2062, 0.2439, 0.3497, 0.5354, 0.8236, 1.228, 1.761, 2.433, 3.253, 4.226",\
                 "0.215, 0.253, 0.3587, 0.5444, 0.8326, 1.237, 1.77, 2.44, 3.26, 4.236",\
                 "0.2534, 0.2908, 0.3957, 0.581, 0.8689, 1.274, 1.807, 2.476, 3.296, 4.274",\
                 "0.3097, 0.3492, 0.4546, 0.6386, 0.9249, 1.328, 1.86, 2.533, 3.353, 4.332",\
                 "0.3593, 0.4022, 0.5119, 0.6951, 0.9797, 1.382, 1.913, 2.584, 3.403, 4.382",\
                 "0.3973, 0.4449, 0.5605, 0.747, 1.031, 1.432, 1.961, 2.631, 3.45, 4.424",\
                 "0.4222, 0.4743, 0.5981, 0.7892, 1.078, 1.478, 2.007, 2.674, 3.492, 4.468",\
                 "0.4323, 0.4887, 0.6219, 0.819, 1.111, 1.519, 2.049, 2.716, 3.531, 4.505",\
                 "0.4255, 0.4868, 0.6303, 0.8346, 1.131, 1.545, 2.083, 2.753, 3.568, 4.54",\
                 "0.4024, 0.468, 0.6217, 0.8338, 1.136, 1.556, 2.103, 2.782, 3.602, 4.574");
        }

        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.03084, 0.1356, 0.3356, 0.6472, 1.084, 1.66, 2.384, 3.269, 4.324");
          values("0.08116, 0.1274, 0.2703, 0.5461, 0.9995, 1.642, 2.493, 3.562, 4.864, 6.428",\
                 "0.08102, 0.1272, 0.2704, 0.5458, 0.9995, 1.643, 2.493, 3.566, 4.874, 6.435",\
                 "0.08174, 0.1281, 0.2706, 0.5463, 0.9979, 1.642, 2.493, 3.565, 4.866, 6.435",\
                 "0.09484, 0.1403, 0.2782, 0.5494, 0.9988, 1.644, 2.489, 3.561, 4.869, 6.421",\
                 "0.1172, 0.1634, 0.298, 0.5596, 1.001, 1.644, 2.493, 3.565, 4.873, 6.433",\
                 "0.1438, 0.1936, 0.3278, 0.5844, 1.012, 1.645, 2.489, 3.557, 4.862, 6.431",\
                 "0.1728, 0.2266, 0.3612, 0.62, 1.043, 1.661, 2.494, 3.557, 4.868, 6.428",\
                 "0.2034, 0.263, 0.4014, 0.6582, 1.086, 1.702, 2.522, 3.565, 4.863, 6.423",\
                 "0.2366, 0.3004, 0.445, 0.6992, 1.133, 1.757, 2.573, 3.602, 4.874, 6.432",\
                 "0.2698, 0.3376, 0.4932, 0.7446, 1.18, 1.816, 2.645, 3.671, 4.923, 6.435");
        }

        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.03084, 0.1356, 0.3356, 0.6472, 1.084, 1.66, 2.384, 3.269, 4.324");
          values("0.08398, 0.1302, 0.2915, 0.6215, 1.151, 1.893, 2.871, 4.101, 5.599, 7.389",\
                 "0.08444, 0.1302, 0.2914, 0.6214, 1.151, 1.894, 2.87, 4.096, 5.599, 7.393",\
                 "0.08468, 0.1307, 0.292, 0.6216, 1.151, 1.893, 2.872, 4.096, 5.597, 7.392",\
                 "0.09858, 0.1431, 0.2983, 0.6225, 1.149, 1.893, 2.867, 4.103, 5.599, 7.385",\
                 "0.1182, 0.1644, 0.3112, 0.6276, 1.151, 1.894, 2.871, 4.095, 5.598, 7.39",\
                 "0.141, 0.1888, 0.3342, 0.6408, 1.156, 1.894, 2.869, 4.095, 5.598, 7.384",\
                 "0.1672, 0.2188, 0.3606, 0.6638, 1.173, 1.901, 2.87, 4.098, 5.595, 7.386",\
                 "0.1946, 0.2502, 0.393, 0.6906, 1.203, 1.926, 2.882, 4.101, 5.604, 7.386",\
                 "0.2232, 0.2826, 0.4296, 0.7216, 1.232, 1.966, 2.918, 4.121, 5.603, 7.388",\
                 "0.254, 0.3156, 0.4712, 0.7562, 1.266, 2.006, 2.969, 4.162, 5.63, 7.4");
        }
      }
    }
  }

