/*
 * 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_20) {
    area : 136.102400 ;

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

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

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

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

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

    pin(I) {
      capacitance : 0.02813 ;
      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 : 4.661 ;
      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.03316, 0.1461, 0.3616, 0.6975, 1.169, 1.789, 2.57, 3.524, 4.661");
          values("3.026, 2.917, 2.78, 2.701, 2.654, 2.628, 2.609, 2.6, 2.593, 2.59",\
                 "3.031, 2.925, 2.787, 2.702, 2.657, 2.631, 2.615, 2.605, 2.598, 2.593",\
                 "3.121, 3.009, 2.858, 2.774, 2.725, 2.697, 2.679, 2.667, 2.661, 2.656",\
                 "3.498, 3.371, 3.183, 3.053, 2.974, 2.928, 2.9, 2.883, 2.871, 2.863",\
                 "4.216, 4.06, 3.795, 3.595, 3.463, 3.383, 3.325, 3.29, 3.267, 3.25",\
                 "5.236, 5.054, 4.709, 4.418, 4.221, 4.085, 3.994, 3.931, 3.888, 3.86",\
                 "6.549, 6.338, 5.91, 5.54, 5.252, 5.053, 4.917, 4.824, 4.753, 4.706",\
                 "8.152, 7.922, 7.418, 6.956, 6.583, 6.304, 6.113, 5.972, 5.876, 5.806",\
                 "10.06, 9.807, 9.238, 8.68, 8.221, 7.862, 7.598, 7.412, 7.274, 7.169",\
                 "12.26, 12, 11.37, 10.72, 10.17, 9.723, 9.386, 9.137, 8.955, 8.818");
        }

        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.03316, 0.1461, 0.3616, 0.6975, 1.169, 1.789, 2.57, 3.524, 4.661");
          values("2.424, 2.302, 2.115, 2.021, 1.958, 1.936, 1.926, 1.938, 1.981, 2.008",\
                 "2.422, 2.294, 2.123, 2.015, 1.959, 1.926, 1.91, 1.944, 1.981, 2.002",\
                 "2.481, 2.357, 2.179, 2.06, 2.003, 1.969, 1.965, 1.982, 2.003, 2.019",\
                 "2.82, 2.682, 2.465, 2.313, 2.226, 2.175, 2.152, 2.158, 2.195, 2.206",\
                 "3.463, 3.299, 3.025, 2.817, 2.678, 2.593, 2.542, 2.532, 2.547, 2.591",\
                 "4.403, 4.216, 3.863, 3.58, 3.392, 3.242, 3.147, 3.11, 3.103, 3.113",\
                 "5.627, 5.417, 4.96, 4.595, 4.35, 4.187, 4.044, 3.946, 3.906, 3.889",\
                 "7.126, 6.888, 6.382, 5.904, 5.566, 5.323, 5.199, 5.046, 4.951, 4.901",\
                 "8.91, 8.656, 8.086, 7.547, 7.089, 6.724, 6.552, 6.432, 6.287, 6.193",\
                 "10.99, 10.72, 10.08, 9.436, 8.936, 8.486, 8.185, 8.027, 7.91, 7.766");
        }
      }

      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.03316, 0.1461, 0.3616, 0.6975, 1.169, 1.789, 2.57, 3.524, 4.661");
          values("0.1203, 0.1355, 0.1783, 0.2501, 0.358, 0.5096, 0.7093, 0.9613, 1.269, 1.636",\
                 "0.1243, 0.1395, 0.1823, 0.2541, 0.3621, 0.5136, 0.7133, 0.9651, 1.273, 1.64",\
                 "0.141, 0.1562, 0.1988, 0.2703, 0.3781, 0.5296, 0.7293, 0.9812, 1.289, 1.656",\
                 "0.1749, 0.19, 0.2322, 0.3029, 0.41, 0.561, 0.7605, 1.012, 1.32, 1.686",\
                 "0.2181, 0.2341, 0.2771, 0.3475, 0.4534, 0.6035, 0.8023, 1.053, 1.361, 1.727",\
                 "0.2658, 0.2827, 0.3277, 0.3989, 0.5045, 0.6531, 0.8511, 1.102, 1.409, 1.775",\
                 "0.3165, 0.3349, 0.3821, 0.4552, 0.5614, 0.71, 0.9068, 1.156, 1.462, 1.828",\
                 "0.3704, 0.3903, 0.4401, 0.5148, 0.6226, 0.7727, 0.9692, 1.218, 1.523, 1.888",\
                 "0.4266, 0.448, 0.5009, 0.578, 0.6874, 0.8385, 1.037, 1.287, 1.591, 1.955",\
                 "0.4857, 0.5086, 0.5647, 0.6444, 0.7549, 0.9077, 1.109, 1.361, 1.666, 2.03");
        }

        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.03316, 0.1461, 0.3616, 0.6975, 1.169, 1.789, 2.57, 3.524, 4.661");
          values("0.123, 0.1372, 0.1765, 0.2445, 0.3501, 0.4997, 0.697, 0.9459, 1.25, 1.611",\
                 "0.1256, 0.1396, 0.179, 0.2469, 0.3527, 0.5019, 0.6991, 0.9482, 1.253, 1.614",\
                 "0.1378, 0.152, 0.191, 0.2588, 0.3645, 0.514, 0.711, 0.9597, 1.264, 1.626",\
                 "0.1635, 0.1778, 0.2166, 0.2838, 0.3888, 0.5379, 0.735, 0.9827, 1.287, 1.65",\
                 "0.1932, 0.2088, 0.2486, 0.3151, 0.4193, 0.5673, 0.7636, 1.012, 1.315, 1.676",\
                 "0.2233, 0.2402, 0.2823, 0.3489, 0.4515, 0.5985, 0.7938, 1.041, 1.344, 1.706",\
                 "0.2518, 0.2698, 0.3146, 0.3826, 0.4854, 0.6313, 0.8256, 1.072, 1.374, 1.736",\
                 "0.2772, 0.297, 0.3454, 0.4148, 0.518, 0.6642, 0.858, 1.103, 1.405, 1.765",\
                 "0.2999, 0.3212, 0.3728, 0.4451, 0.5486, 0.6954, 0.8899, 1.135, 1.436, 1.795",\
                 "0.3198, 0.3422, 0.3973, 0.4722, 0.5775, 0.7241, 0.921, 1.168, 1.468, 1.827");
        }

        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.03316, 0.1461, 0.3616, 0.6975, 1.169, 1.789, 2.57, 3.524, 4.661");
          values("0.04278, 0.06034, 0.1148, 0.2212, 0.3964, 0.6465, 0.9763, 1.394, 1.903, 2.504",\
                 "0.04288, 0.06034, 0.1149, 0.2209, 0.396, 0.6464, 0.9763, 1.394, 1.903, 2.505",\
                 "0.04292, 0.06034, 0.1151, 0.2212, 0.3957, 0.6463, 0.9763, 1.392, 1.902, 2.506",\
                 "0.04508, 0.06238, 0.1161, 0.2214, 0.3964, 0.6471, 0.9767, 1.394, 1.901, 2.504",\
                 "0.05218, 0.06944, 0.1219, 0.2239, 0.3964, 0.6472, 0.9763, 1.391, 1.903, 2.505",\
                 "0.06124, 0.07932, 0.1316, 0.2312, 0.3983, 0.6461, 0.9768, 1.393, 1.9, 2.51",\
                 "0.07126, 0.09058, 0.1433, 0.2414, 0.406, 0.6486, 0.9766, 1.391, 1.901, 2.506",\
                 "0.0814, 0.102, 0.156, 0.2528, 0.4182, 0.6594, 0.9804, 1.392, 1.898, 2.503",\
                 "0.0926, 0.1152, 0.1706, 0.2654, 0.4304, 0.6744, 0.9936, 1.399, 1.9, 2.505",\
                 "0.1046, 0.1276, 0.186, 0.2804, 0.4438, 0.689, 1.014, 1.416, 1.909, 2.505");
        }

        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.03316, 0.1461, 0.3616, 0.6975, 1.169, 1.789, 2.57, 3.524, 4.661");
          values("0.045, 0.06114, 0.1148, 0.2272, 0.4108, 0.672, 1.015, 1.448, 1.976, 2.606",\
                 "0.04484, 0.0614, 0.1147, 0.2272, 0.4114, 0.6711, 1.015, 1.447, 1.976, 2.604",\
                 "0.04462, 0.06082, 0.1147, 0.2272, 0.411, 0.6722, 1.015, 1.447, 1.975, 2.602",\
                 "0.04738, 0.06308, 0.116, 0.2274, 0.4113, 0.6721, 1.015, 1.447, 1.974, 2.603",\
                 "0.05352, 0.0698, 0.1204, 0.2291, 0.4113, 0.6715, 1.014, 1.448, 1.972, 2.604",\
                 "0.0624, 0.07918, 0.1283, 0.2323, 0.4122, 0.6719, 1.013, 1.447, 1.974, 2.605",\
                 "0.07154, 0.091, 0.139, 0.2393, 0.4162, 0.6726, 1.014, 1.447, 1.971, 2.6",\
                 "0.0816, 0.1014, 0.1514, 0.248, 0.4236, 0.678, 1.016, 1.445, 1.974, 2.601",\
                 "0.0922, 0.1132, 0.1654, 0.2584, 0.4318, 0.6876, 1.023, 1.448, 1.972, 2.602",\
                 "0.1028, 0.126, 0.1806, 0.2706, 0.4414, 0.6986, 1.036, 1.458, 1.978, 2.6");
        }
      }
    }
  }

