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

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "7.89987e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "8.95224e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "8.95224e-05" ;
    }

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 1.442 ;
      max_transition : 8.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.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04585, 0.1125, 0.2164, 0.3621, 0.5538, 0.7954, 1.09, 1.442");
          values("0.1832, 0.1808, 0.1804, 0.1809, 0.1816, 0.1819, 0.1821, 0.1822, 0.1823, 0.1823",\
                 "0.1826, 0.18, 0.1797, 0.1803, 0.1809, 0.1813, 0.1815, 0.1815, 0.1816, 0.1817",\
                 "0.1847, 0.1817, 0.1806, 0.1815, 0.1819, 0.1823, 0.1826, 0.1828, 0.1829, 0.183",\
                 "0.2015, 0.1958, 0.1911, 0.1898, 0.1895, 0.1897, 0.1899, 0.1901, 0.1901, 0.1902",\
                 "0.231, 0.2222, 0.2127, 0.2084, 0.2067, 0.2063, 0.2062, 0.206, 0.206, 0.2059",\
                 "0.2735, 0.2613, 0.2469, 0.2388, 0.2351, 0.2331, 0.2324, 0.2321, 0.2319, 0.2317",\
                 "0.33, 0.3146, 0.2947, 0.2822, 0.2757, 0.272, 0.2703, 0.2692, 0.2686, 0.2681",\
                 "0.4004, 0.3821, 0.3565, 0.3391, 0.3289, 0.3233, 0.3199, 0.3181, 0.3169, 0.3162",\
                 "0.4847, 0.4641, 0.4324, 0.4104, 0.3964, 0.3878, 0.3829, 0.3799, 0.378, 0.3766",\
                 "0.5837, 0.5608, 0.5231, 0.4958, 0.4777, 0.4664, 0.4593, 0.4549, 0.452, 0.45");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04585, 0.1125, 0.2164, 0.3621, 0.5538, 0.7954, 1.09, 1.442");
          values("0.1305, 0.1262, 0.1241, 0.1246, 0.1261, 0.1279, 0.1297, 0.1329, 0.137, 0.1492",\
                 "0.1298, 0.1257, 0.1233, 0.1239, 0.125, 0.1269, 0.1297, 0.1319, 0.1363, 0.1499",\
                 "0.1312, 0.1266, 0.1232, 0.1234, 0.1251, 0.1266, 0.1287, 0.1312, 0.1356, 0.1492",\
                 "0.1473, 0.1405, 0.1338, 0.1319, 0.1322, 0.1335, 0.136, 0.1385, 0.1419, 0.1576",\
                 "0.1743, 0.1645, 0.1536, 0.1495, 0.1477, 0.1487, 0.1508, 0.1527, 0.1578, 0.1739",\
                 "0.2137, 0.2008, 0.1857, 0.1754, 0.1755, 0.1741, 0.1736, 0.1754, 0.1816, 0.2006",\
                 "0.2663, 0.2495, 0.2293, 0.2163, 0.2107, 0.2124, 0.2106, 0.2114, 0.213, 0.2399",\
                 "0.3318, 0.3117, 0.2856, 0.2703, 0.2588, 0.2576, 0.2601, 0.2608, 0.2614, 0.2954",\
                 "0.4105, 0.3879, 0.3564, 0.3345, 0.3224, 0.3156, 0.3142, 0.3169, 0.3227, 0.3725",\
                 "0.5026, 0.4777, 0.4398, 0.4141, 0.3979, 0.3886, 0.3822, 0.3854, 0.398, 0.4811");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04585, 0.1125, 0.2164, 0.3621, 0.5538, 0.7954, 1.09, 1.442");
          values("0.2538, 0.3036, 0.435, 0.6498, 0.9747, 1.43, 2.029, 2.783, 3.704, 4.802",\
                 "0.2712, 0.321, 0.4523, 0.6671, 0.9922, 1.447, 2.046, 2.8, 3.72, 4.821",\
                 "0.3372, 0.3866, 0.5176, 0.7324, 1.057, 1.513, 2.111, 2.867, 3.787, 4.885",\
                 "0.4507, 0.5016, 0.6343, 0.8484, 1.173, 1.628, 2.227, 2.982, 3.9, 5.001",\
                 "0.5784, 0.6329, 0.771, 0.9878, 1.312, 1.766, 2.364, 3.119, 4.038, 5.139",\
                 "0.7204, 0.7797, 0.9241, 1.144, 1.468, 1.921, 2.52, 3.274, 4.193, 5.291",\
                 "0.8741, 0.9385, 1.093, 1.319, 1.644, 2.096, 2.694, 3.446, 4.366, 5.464",\
                 "1.039, 1.109, 1.274, 1.509, 1.839, 2.292, 2.888, 3.641, 4.559, 5.655",\
                 "1.216, 1.291, 1.467, 1.712, 2.049, 2.508, 3.106, 3.858, 4.777, 5.872",\
                 "1.406, 1.485, 1.672, 1.928, 2.273, 2.74, 3.344, 4.098, 5.017, 6.112");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04585, 0.1125, 0.2164, 0.3621, 0.5538, 0.7954, 1.09, 1.442");
          values("0.2576, 0.3044, 0.4344, 0.6604, 1.01, 1.5, 2.146, 2.957, 3.953, 5.136",\
                 "0.2708, 0.3179, 0.4476, 0.6737, 1.023, 1.513, 2.16, 2.972, 3.966, 5.149",\
                 "0.323, 0.3699, 0.4989, 0.7248, 1.074, 1.565, 2.211, 3.022, 4.017, 5.202",\
                 "0.4064, 0.4554, 0.5861, 0.8112, 1.16, 1.651, 2.296, 3.11, 4.101, 5.283",\
                 "0.4821, 0.5354, 0.6713, 0.8963, 1.244, 1.734, 2.379, 3.19, 4.186, 5.369",\
                 "0.5515, 0.6091, 0.7513, 0.9765, 1.324, 1.812, 2.455, 3.269, 4.26, 5.44",\
                 "0.6108, 0.6734, 0.8239, 1.054, 1.399, 1.887, 2.53, 3.34, 4.332, 5.515",\
                 "0.6588, 0.7269, 0.886, 1.124, 1.47, 1.958, 2.599, 3.41, 4.399, 5.582",\
                 "0.6933, 0.7665, 0.9363, 1.181, 1.533, 2.022, 2.665, 3.473, 4.464, 5.644",\
                 "0.7131, 0.7913, 0.9723, 1.226, 1.583, 2.078, 2.724, 3.534, 4.523, 5.704");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04585, 0.1125, 0.2164, 0.3621, 0.5538, 0.7954, 1.09, 1.442");
          values("0.0906, 0.1467, 0.3139, 0.6476, 1.187, 1.956, 2.969, 4.238, 5.796, 7.656",\
                 "0.09058, 0.1466, 0.314, 0.6468, 1.189, 1.956, 2.967, 4.245, 5.796, 7.663",\
                 "0.09104, 0.1472, 0.3141, 0.6467, 1.188, 1.956, 2.969, 4.243, 5.799, 7.659",\
                 "0.1033, 0.158, 0.3203, 0.6486, 1.188, 1.954, 2.965, 4.246, 5.799, 7.659",\
                 "0.1224, 0.1772, 0.3378, 0.6564, 1.191, 1.954, 2.968, 4.241, 5.794, 7.658",\
                 "0.1446, 0.2006, 0.3594, 0.6662, 1.194, 1.956, 2.962, 4.235, 5.792, 7.645",\
                 "0.1696, 0.2292, 0.3886, 0.686, 1.201, 1.958, 2.964, 4.237, 5.794, 7.641",\
                 "0.1958, 0.2608, 0.4226, 0.715, 1.221, 1.966, 2.967, 4.233, 5.788, 7.642",\
                 "0.2226, 0.292, 0.461, 0.7508, 1.251, 1.991, 2.979, 4.241, 5.784, 7.638",\
                 "0.251, 0.3256, 0.5008, 0.7888, 1.288, 2.028, 3.009, 4.251, 5.794, 7.634");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04585, 0.1125, 0.2164, 0.3621, 0.5538, 0.7954, 1.09, 1.442");
          values("0.09382, 0.1487, 0.3367, 0.7223, 1.339, 2.201, 3.343, 4.777, 6.524, 8.604",\
                 "0.09386, 0.1493, 0.3367, 0.7229, 1.337, 2.201, 3.341, 4.774, 6.524, 8.606",\
                 "0.09386, 0.1492, 0.3367, 0.7229, 1.337, 2.202, 3.338, 4.78, 6.527, 8.608",\
                 "0.1083, 0.1611, 0.3419, 0.722, 1.339, 2.201, 3.34, 4.775, 6.529, 8.62",\
                 "0.1262, 0.179, 0.3552, 0.7262, 1.336, 2.201, 3.34, 4.776, 6.523, 8.612",\
                 "0.1462, 0.2014, 0.3714, 0.7316, 1.339, 2.203, 3.34, 4.77, 6.521, 8.603",\
                 "0.169, 0.2256, 0.3958, 0.7432, 1.343, 2.203, 3.337, 4.768, 6.519, 8.615",\
                 "0.1952, 0.2536, 0.4232, 0.7632, 1.353, 2.206, 3.339, 4.77, 6.527, 8.599",\
                 "0.221, 0.2856, 0.4554, 0.789, 1.374, 2.219, 3.345, 4.773, 6.516, 8.614",\
                 "0.2464, 0.315, 0.4908, 0.8184, 1.4, 2.247, 3.362, 4.777, 6.517, 8.598");
        }
      }
    }
  }

