/*
 * 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_mcu9t5v0__clkbuf_3) {
    area : 39.513600 ;

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

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

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

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 1.145 ;
      max_transition : 5.2 ;
      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.008897, 0.03662, 0.08956, 0.172, 0.2878, 0.44, 0.6319, 0.8661, 1.145");
          values("0.2831, 0.2785, 0.275, 0.2739, 0.2732, 0.273, 0.2729, 0.2727, 0.2726, 0.2727",\
                 "0.2824, 0.2782, 0.2744, 0.2733, 0.2726, 0.2724, 0.2723, 0.2721, 0.272, 0.2722",\
                 "0.2923, 0.2868, 0.282, 0.2802, 0.2793, 0.2791, 0.2789, 0.2789, 0.279, 0.279",\
                 "0.334, 0.3257, 0.3146, 0.3094, 0.3067, 0.3055, 0.3048, 0.3044, 0.304, 0.3039",\
                 "0.409, 0.397, 0.3785, 0.3668, 0.3608, 0.3575, 0.3556, 0.3544, 0.3535, 0.353",\
                 "0.5182, 0.5024, 0.4756, 0.4568, 0.445, 0.4383, 0.4345, 0.4319, 0.4302, 0.4289",\
                 "0.6617, 0.6427, 0.6068, 0.5801, 0.5619, 0.5507, 0.5436, 0.5393, 0.5364, 0.5342",\
                 "0.8407, 0.8194, 0.7751, 0.7385, 0.7133, 0.6963, 0.6856, 0.6785, 0.6737, 0.6703",\
                 "1.057, 1.033, 0.9818, 0.9359, 0.9016, 0.8786, 0.8624, 0.8521, 0.8448, 0.8396",\
                 "1.311, 1.286, 1.228, 1.171, 1.129, 1.098, 1.077, 1.062, 1.051, 1.044");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.008897, 0.03662, 0.08956, 0.172, 0.2878, 0.44, 0.6319, 0.8661, 1.145");
          values("0.1829, 0.1773, 0.173, 0.1721, 0.1724, 0.1732, 0.1754, 0.1778, 0.1793, 0.1826",\
                 "0.1816, 0.176, 0.172, 0.1706, 0.171, 0.1714, 0.174, 0.1771, 0.1786, 0.1815",\
                 "0.189, 0.1828, 0.1764, 0.1745, 0.1745, 0.1758, 0.1779, 0.1807, 0.1822, 0.1851",\
                 "0.2268, 0.2175, 0.2065, 0.2002, 0.1983, 0.1988, 0.2002, 0.2019, 0.2031, 0.2067",\
                 "0.2946, 0.2824, 0.2635, 0.2533, 0.2474, 0.2452, 0.2449, 0.2466, 0.2474, 0.2517",\
                 "0.3945, 0.3777, 0.3521, 0.334, 0.3253, 0.3205, 0.318, 0.3189, 0.3172, 0.3191",\
                 "0.5268, 0.5074, 0.4733, 0.4461, 0.4313, 0.4252, 0.4206, 0.4172, 0.4148, 0.4188",\
                 "0.6935, 0.6702, 0.6286, 0.5944, 0.5718, 0.5592, 0.5527, 0.5479, 0.5447, 0.5445",\
                 "0.8936, 0.869, 0.8198, 0.7772, 0.7467, 0.7269, 0.7154, 0.7131, 0.71, 0.7065",\
                 "1.13, 1.104, 1.046, 0.9969, 0.9587, 0.9314, 0.9116, 0.9039, 0.9029, 0.8981");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.008897, 0.03662, 0.08956, 0.172, 0.2878, 0.44, 0.6319, 0.8661, 1.145");
          values("0.1593, 0.1851, 0.2574, 0.3757, 0.5525, 0.7992, 1.124, 1.534, 2.033, 2.628",\
                 "0.1681, 0.1938, 0.2661, 0.3845, 0.5613, 0.8081, 1.133, 1.543, 2.042, 2.636",\
                 "0.2043, 0.2299, 0.3017, 0.4199, 0.5967, 0.8435, 1.168, 1.578, 2.077, 2.674",\
                 "0.2659, 0.2922, 0.3647, 0.4829, 0.6589, 0.9054, 1.23, 1.639, 2.139, 2.736",\
                 "0.338, 0.3661, 0.4418, 0.5615, 0.7377, 0.9834, 1.307, 1.716, 2.216, 2.811",\
                 "0.4188, 0.4488, 0.5283, 0.6527, 0.8303, 1.076, 1.398, 1.807, 2.306, 2.901",\
                 "0.5056, 0.539, 0.6232, 0.752, 0.935, 1.182, 1.505, 1.913, 2.411, 3.005",\
                 "0.5993, 0.6351, 0.726, 0.8597, 1.048, 1.302, 1.628, 2.035, 2.533, 3.127",\
                 "0.6999, 0.7388, 0.8355, 0.975, 1.169, 1.429, 1.764, 2.176, 2.674, 3.267",\
                 "0.8085, 0.8499, 0.9534, 1.099, 1.298, 1.564, 1.907, 2.328, 2.832, 3.426");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.008897, 0.03662, 0.08956, 0.172, 0.2878, 0.44, 0.6319, 0.8661, 1.145");
          values("0.1634, 0.1883, 0.2621, 0.3929, 0.5957, 0.8807, 1.255, 1.727, 2.306, 2.993",\
                 "0.1696, 0.1945, 0.2681, 0.399, 0.6018, 0.8865, 1.261, 1.735, 2.312, 2.999",\
                 "0.1964, 0.2209, 0.294, 0.4247, 0.6274, 0.9125, 1.288, 1.76, 2.338, 3.024",\
                 "0.2377, 0.2633, 0.3365, 0.4662, 0.6681, 0.9529, 1.327, 1.799, 2.376, 3.062",\
                 "0.2762, 0.3039, 0.3789, 0.508, 0.7087, 0.9922, 1.366, 1.838, 2.414, 3.102",\
                 "0.3086, 0.3384, 0.4175, 0.5482, 0.748, 1.03, 1.403, 1.875, 2.45, 3.136",\
                 "0.3328, 0.3657, 0.4494, 0.5829, 0.7852, 1.067, 1.439, 1.91, 2.486, 3.172",\
                 "0.3487, 0.3841, 0.4731, 0.6103, 0.8155, 1.102, 1.475, 1.944, 2.518, 3.204",\
                 "0.3539, 0.3925, 0.4883, 0.63, 0.8383, 1.129, 1.507, 1.978, 2.551, 3.236",\
                 "0.3491, 0.3909, 0.4925, 0.6397, 0.8514, 1.147, 1.53, 2.007, 2.583, 3.267");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.008897, 0.03662, 0.08956, 0.172, 0.2878, 0.44, 0.6319, 0.8661, 1.145");
          values("0.06322, 0.09374, 0.1893, 0.3718, 0.6701, 1.094, 1.654, 2.361, 3.226, 4.257",\
                 "0.06328, 0.09394, 0.1893, 0.3713, 0.6703, 1.095, 1.656, 2.36, 3.226, 4.257",\
                 "0.06394, 0.09444, 0.1896, 0.3718, 0.6702, 1.094, 1.653, 2.358, 3.226, 4.253",\
                 "0.07308, 0.1032, 0.1957, 0.3736, 0.6708, 1.093, 1.655, 2.361, 3.223, 4.248",\
                 "0.08828, 0.1185, 0.209, 0.3829, 0.6726, 1.094, 1.653, 2.359, 3.224, 4.253",\
                 "0.1074, 0.1384, 0.2292, 0.3994, 0.6812, 1.097, 1.654, 2.359, 3.22, 4.253",\
                 "0.1278, 0.1608, 0.2512, 0.4228, 0.7016, 1.109, 1.658, 2.362, 3.218, 4.244",\
                 "0.151, 0.1868, 0.2778, 0.4492, 0.7308, 1.138, 1.675, 2.364, 3.225, 4.249",\
                 "0.1744, 0.2136, 0.309, 0.4778, 0.7618, 1.173, 1.711, 2.389, 3.229, 4.245",\
                 "0.1988, 0.241, 0.3408, 0.5094, 0.7942, 1.214, 1.76, 2.437, 3.262, 4.261");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.008897, 0.03662, 0.08956, 0.172, 0.2878, 0.44, 0.6319, 0.8661, 1.145");
          values("0.06912, 0.1014, 0.2159, 0.4499, 0.8196, 1.344, 2.031, 2.892, 3.95, 5.206",\
                 "0.06908, 0.1015, 0.2159, 0.449, 0.8198, 1.343, 2.028, 2.897, 3.949, 5.208",\
                 "0.06928, 0.1019, 0.2165, 0.4491, 0.8213, 1.341, 2.029, 2.898, 3.949, 5.208",\
                 "0.07822, 0.1093, 0.2203, 0.4498, 0.8218, 1.344, 2.028, 2.893, 3.948, 5.211",\
                 "0.09202, 0.1228, 0.2292, 0.4531, 0.8224, 1.342, 2.028, 2.893, 3.948, 5.208",\
                 "0.1074, 0.1394, 0.243, 0.461, 0.8254, 1.344, 2.028, 2.897, 3.948, 5.206",\
                 "0.1256, 0.1586, 0.261, 0.4762, 0.8366, 1.349, 2.031, 2.898, 3.945, 5.216",\
                 "0.1472, 0.1806, 0.2816, 0.4938, 0.8546, 1.365, 2.038, 2.896, 3.956, 5.205",\
                 "0.1674, 0.2042, 0.307, 0.5138, 0.876, 1.392, 2.061, 2.908, 3.952, 5.208",\
                 "0.188, 0.228, 0.335, 0.5378, 0.8978, 1.419, 2.094, 2.936, 3.969, 5.212");
        }
      }
    }
  }

