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

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

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

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

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 1.521 ;
      max_transition : 2.8 ;
      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.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.001, 0.01149, 0.04831, 0.1186, 0.2282, 0.3819, 0.5841, 0.8389, 1.15, 1.521");
          values("0.8302, 0.809, 0.7924, 0.7872, 0.7837, 0.7819, 0.7811, 0.7808, 0.7813, 0.7805",\
                 "0.8336, 0.8133, 0.796, 0.7896, 0.7868, 0.7854, 0.785, 0.7842, 0.7842, 0.7851",\
                 "0.8894, 0.8652, 0.8421, 0.8315, 0.827, 0.8241, 0.8239, 0.8228, 0.823, 0.8226",\
                 "1.059, 1.025, 0.9808, 0.9556, 0.9426, 0.9352, 0.9312, 0.9287, 0.9267, 0.926",\
                 "1.342, 1.296, 1.228, 1.181, 1.154, 1.138, 1.129, 1.122, 1.118, 1.115",\
                 "1.737, 1.68, 1.588, 1.517, 1.469, 1.442, 1.423, 1.412, 1.405, 1.398",\
                 "2.248, 2.182, 2.063, 1.964, 1.898, 1.853, 1.824, 1.804, 1.791, 1.781",\
                 "2.877, 2.804, 2.659, 2.538, 2.445, 2.38, 2.337, 2.307, 2.286, 2.272",\
                 "3.628, 3.548, 3.382, 3.234, 3.116, 3.03, 2.97, 2.929, 2.9, 2.878",\
                 "4.511, 4.426, 4.24, 4.063, 3.923, 3.809, 3.731, 3.676, 3.636, 3.606");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.001, 0.01149, 0.04831, 0.1186, 0.2282, 0.3819, 0.5841, 0.8389, 1.15, 1.521");
          values("0.5649, 0.5377, 0.5117, 0.5, 0.4922, 0.4935, 0.4969, 0.5084, 0.5169, 0.5304",\
                 "0.5648, 0.5376, 0.5106, 0.4972, 0.4933, 0.4924, 0.4958, 0.5079, 0.5169, 0.5244",\
                 "0.6057, 0.5768, 0.5438, 0.5273, 0.5202, 0.5171, 0.5271, 0.537, 0.5394, 0.564",\
                 "0.7579, 0.7205, 0.6743, 0.6397, 0.6236, 0.6189, 0.6151, 0.6294, 0.639, 0.6448",\
                 "1.02, 0.9716, 0.8981, 0.8582, 0.8189, 0.8037, 0.7994, 0.8054, 0.8073, 0.8203",\
                 "1.392, 1.334, 1.24, 1.165, 1.127, 1.094, 1.072, 1.067, 1.079, 1.078",\
                 "1.875, 1.808, 1.692, 1.593, 1.525, 1.497, 1.46, 1.434, 1.438, 1.438",\
                 "2.472, 2.397, 2.257, 2.135, 2.045, 1.992, 1.96, 1.922, 1.907, 1.892",\
                 "3.192, 3.112, 2.939, 2.8, 2.684, 2.602, 2.554, 2.524, 2.508, 2.477",\
                 "4.034, 3.949, 3.761, 3.589, 3.455, 3.35, 3.283, 3.236, 3.214, 3.183");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.001, 0.01149, 0.04831, 0.1186, 0.2282, 0.3819, 0.5841, 0.8389, 1.15, 1.521");
          values("0.08651, 0.1014, 0.1438, 0.2169, 0.3293, 0.4872, 0.6949, 0.9566, 1.277, 1.657",\
                 "0.09093, 0.1058, 0.1481, 0.2213, 0.3337, 0.4915, 0.6993, 0.961, 1.281, 1.662",\
                 "0.1092, 0.1239, 0.1658, 0.2386, 0.3509, 0.5086, 0.7164, 0.9782, 1.298, 1.679",\
                 "0.1397, 0.1548, 0.1967, 0.2688, 0.3803, 0.5376, 0.745, 1.007, 1.326, 1.707",\
                 "0.1752, 0.1912, 0.2342, 0.3063, 0.4168, 0.5733, 0.7805, 1.041, 1.361, 1.742",\
                 "0.2132, 0.2306, 0.2752, 0.3484, 0.4595, 0.6152, 0.8212, 1.082, 1.401, 1.782",\
                 "0.2529, 0.272, 0.3189, 0.3936, 0.5058, 0.6626, 0.8681, 1.128, 1.447, 1.827",\
                 "0.2945, 0.3149, 0.3647, 0.4407, 0.5544, 0.7134, 0.921, 1.181, 1.498, 1.878",\
                 "0.3378, 0.3598, 0.4123, 0.4902, 0.6052, 0.7663, 0.9768, 1.239, 1.556, 1.935",\
                 "0.3827, 0.4062, 0.4619, 0.5418, 0.6583, 0.8209, 1.034, 1.3, 1.621, 1.999");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.001, 0.01149, 0.04831, 0.1186, 0.2282, 0.3819, 0.5841, 0.8389, 1.15, 1.521");
          values("0.09194, 0.1058, 0.146, 0.2199, 0.3355, 0.4984, 0.7135, 0.9839, 1.314, 1.707",\
                 "0.09492, 0.1087, 0.1489, 0.2227, 0.3385, 0.5016, 0.7156, 0.986, 1.317, 1.709",\
                 "0.1092, 0.1228, 0.1625, 0.2361, 0.3516, 0.5147, 0.729, 0.9998, 1.33, 1.724",\
                 "0.1335, 0.148, 0.1877, 0.2601, 0.3749, 0.5373, 0.7513, 1.022, 1.352, 1.745",\
                 "0.1604, 0.176, 0.2163, 0.2884, 0.402, 0.5636, 0.7776, 1.048, 1.377, 1.771",\
                 "0.1871, 0.2042, 0.2468, 0.3184, 0.4314, 0.5919, 0.8048, 1.074, 1.405, 1.798",\
                 "0.2123, 0.2311, 0.2766, 0.3491, 0.4618, 0.6223, 0.8346, 1.103, 1.432, 1.825",\
                 "0.2356, 0.2561, 0.3048, 0.3777, 0.4918, 0.653, 0.8649, 1.133, 1.461, 1.853",\
                 "0.2573, 0.2793, 0.3306, 0.4058, 0.5202, 0.6827, 0.8967, 1.165, 1.493, 1.884",\
                 "0.2759, 0.2996, 0.3548, 0.4321, 0.547, 0.7109, 0.9269, 1.197, 1.525, 1.916");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.001, 0.01149, 0.04831, 0.1186, 0.2282, 0.3819, 0.5841, 0.8389, 1.15, 1.521");
          values("0.03058, 0.04834, 0.1057, 0.2193, 0.4041, 0.6653, 1.007, 1.436, 1.962, 2.59",\
                 "0.0305, 0.04834, 0.1056, 0.2196, 0.4041, 0.6652, 1.007, 1.436, 1.963, 2.59",\
                 "0.03098, 0.0486, 0.1059, 0.2197, 0.4038, 0.6647, 1.007, 1.441, 1.963, 2.59",\
                 "0.03534, 0.05272, 0.1083, 0.2204, 0.4037, 0.6645, 1.008, 1.438, 1.964, 2.59",\
                 "0.04204, 0.05962, 0.1142, 0.2227, 0.4049, 0.6643, 1.008, 1.436, 1.964, 2.59",\
                 "0.05014, 0.0687, 0.123, 0.2305, 0.4076, 0.6641, 1.006, 1.439, 1.968, 2.591",\
                 "0.05936, 0.07874, 0.1326, 0.2395, 0.4174, 0.6702, 1.007, 1.436, 1.965, 2.591",\
                 "0.0684, 0.0902, 0.1438, 0.2492, 0.4286, 0.6836, 1.016, 1.439, 1.962, 2.593",\
                 "0.0782, 0.101, 0.1562, 0.2606, 0.4406, 0.6986, 1.034, 1.45, 1.965, 2.591",\
                 "0.089, 0.1128, 0.1698, 0.2714, 0.4524, 0.7146, 1.055, 1.472, 1.982, 2.595");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.001, 0.01149, 0.04831, 0.1186, 0.2282, 0.3819, 0.5841, 0.8389, 1.15, 1.521");
          values("0.03322, 0.05038, 0.1115, 0.2384, 0.4403, 0.7225, 1.096, 1.563, 2.135, 2.82",\
                 "0.03336, 0.05028, 0.1116, 0.2383, 0.4397, 0.723, 1.095, 1.563, 2.135, 2.819",\
                 "0.0333, 0.05032, 0.1121, 0.2384, 0.44, 0.7216, 1.094, 1.562, 2.138, 2.816",\
                 "0.03796, 0.0543, 0.1132, 0.2385, 0.4405, 0.7226, 1.092, 1.564, 2.136, 2.821",\
                 "0.0445, 0.06094, 0.1165, 0.2395, 0.4396, 0.7228, 1.093, 1.564, 2.134, 2.816",\
                 "0.05178, 0.07024, 0.1234, 0.2433, 0.4409, 0.7218, 1.092, 1.56, 2.136, 2.819",\
                 "0.05976, 0.0795, 0.1323, 0.2487, 0.4458, 0.7234, 1.093, 1.563, 2.131, 2.814",\
                 "0.069, 0.0896, 0.142, 0.2556, 0.454, 0.7308, 1.097, 1.561, 2.132, 2.812",\
                 "0.0782, 0.1004, 0.1532, 0.263, 0.462, 0.7432, 1.106, 1.566, 2.132, 2.814",\
                 "0.0874, 0.112, 0.1676, 0.272, 0.4698, 0.7542, 1.121, 1.578, 2.14, 2.813");
        }
      }
    }
  }

