/*
 * 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.0014391828" ;
    }

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

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

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 0.9932 ;
      max_transition : 8.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.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
          index_2("0.001, 0.007848, 0.03189, 0.07779, 0.1493, 0.2497, 0.3817, 0.548, 0.7511, 0.9932");
          values("0.0785, 0.07867, 0.07932, 0.08005, 0.08044, 0.08068, 0.08079, 0.08087, 0.08092, 0.08095",\
                 "0.07804, 0.07818, 0.07895, 0.07963, 0.07999, 0.08024, 0.08037, 0.08042, 0.08047, 0.08049",\
                 "0.07769, 0.07773, 0.07837, 0.07915, 0.07963, 0.07989, 0.08002, 0.08013, 0.08019, 0.08023",\
                 "0.08085, 0.08037, 0.08029, 0.08086, 0.08122, 0.08155, 0.08171, 0.08186, 0.0819, 0.082",\
                 "0.0878, 0.08675, 0.0858, 0.08572, 0.08582, 0.08605, 0.08616, 0.0863, 0.08635, 0.08644",\
                 "0.09868, 0.09691, 0.09491, 0.094, 0.09389, 0.094, 0.09406, 0.09409, 0.09413, 0.09421",\
                 "0.1139, 0.1115, 0.1083, 0.1065, 0.1059, 0.1056, 0.1055, 0.1055, 0.1055, 0.1055",\
                 "0.1338, 0.1307, 0.1261, 0.1234, 0.1219, 0.1212, 0.121, 0.1208, 0.1208, 0.1207",\
                 "0.1583, 0.1546, 0.1486, 0.1447, 0.1424, 0.1412, 0.1406, 0.1404, 0.1401, 0.1401",\
                 "0.1877, 0.1833, 0.176, 0.1708, 0.1678, 0.166, 0.1648, 0.1643, 0.164, 0.1637");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
          index_2("0.001, 0.007848, 0.03189, 0.07779, 0.1493, 0.2497, 0.3817, 0.548, 0.7511, 0.9932");
          values("0.04785, 0.04793, 0.04881, 0.04972, 0.05045, 0.05129, 0.0519, 0.05275, 0.05417, 0.05815",\
                 "0.04738, 0.04745, 0.04832, 0.04921, 0.05005, 0.0508, 0.05144, 0.05215, 0.05318, 0.05795",\
                 "0.04709, 0.04707, 0.04754, 0.04848, 0.04932, 0.05016, 0.05132, 0.05176, 0.05259, 0.05696",\
                 "0.04995, 0.04946, 0.04927, 0.0498, 0.05047, 0.05127, 0.052, 0.05294, 0.05447, 0.05893",\
                 "0.05596, 0.0549, 0.05372, 0.05396, 0.05439, 0.05507, 0.05574, 0.05671, 0.05764, 0.06328",\
                 "0.06559, 0.06408, 0.06194, 0.06125, 0.06168, 0.06236, 0.06251, 0.06344, 0.06467, 0.07058",\
                 "0.07942, 0.07728, 0.0743, 0.07257, 0.07223, 0.07309, 0.07374, 0.07393, 0.07526, 0.08263",\
                 "0.0974, 0.09457, 0.09065, 0.08796, 0.08635, 0.08655, 0.08815, 0.089, 0.09011, 0.09901",\
                 "0.1196, 0.1162, 0.111, 0.1075, 0.1055, 0.1044, 0.1049, 0.107, 0.1088, 0.1223",\
                 "0.1463, 0.1421, 0.136, 0.1314, 0.1288, 0.1274, 0.1268, 0.1278, 0.1319, 0.153");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
          index_2("0.001, 0.007848, 0.03189, 0.07779, 0.1493, 0.2497, 0.3817, 0.548, 0.7511, 0.9932");
          values("0.2926, 0.3322, 0.4381, 0.6031, 0.8419, 1.172, 1.604, 2.15, 2.816, 3.61",\
                 "0.3101, 0.3497, 0.4557, 0.6207, 0.8594, 1.189, 1.622, 2.168, 2.835, 3.627",\
                 "0.3775, 0.4168, 0.5228, 0.6879, 0.9266, 1.256, 1.689, 2.235, 2.901, 3.696",\
                 "0.4997, 0.54, 0.6479, 0.8135, 1.052, 1.382, 1.815, 2.361, 3.026, 3.822",\
                 "0.6406, 0.684, 0.7985, 0.9696, 1.21, 1.54, 1.972, 2.517, 3.184, 3.976",\
                 "0.7977, 0.8446, 0.966, 1.143, 1.386, 1.717, 2.15, 2.694, 3.361, 4.153",\
                 "0.9736, 1.025, 1.154, 1.337, 1.584, 1.916, 2.35, 2.894, 3.559, 4.353",\
                 "1.168, 1.223, 1.362, 1.554, 1.806, 2.141, 2.575, 3.12, 3.786, 4.577",\
                 "1.381, 1.44, 1.589, 1.792, 2.053, 2.393, 2.829, 3.377, 4.041, 4.834",\
                 "1.613, 1.676, 1.835, 2.051, 2.321, 2.669, 3.112, 3.662, 4.328, 5.122");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
          index_2("0.001, 0.007848, 0.03189, 0.07779, 0.1493, 0.2497, 0.3817, 0.548, 0.7511, 0.9932");
          values("0.2693, 0.3116, 0.4354, 0.6536, 0.9888, 1.459, 2.075, 2.854, 3.805, 4.931",\
                 "0.2837, 0.3258, 0.4497, 0.6679, 1.003, 1.473, 2.089, 2.869, 3.818, 4.948",\
                 "0.3376, 0.3795, 0.5028, 0.7209, 1.057, 1.526, 2.144, 2.922, 3.869, 5.005",\
                 "0.4174, 0.4614, 0.5864, 0.8039, 1.139, 1.609, 2.226, 3.004, 3.955, 5.087",\
                 "0.4822, 0.529, 0.6588, 0.8775, 1.213, 1.682, 2.298, 3.077, 4.023, 5.159",\
                 "0.5322, 0.5826, 0.7177, 0.9381, 1.272, 1.741, 2.358, 3.135, 4.082, 5.213",\
                 "0.5675, 0.6212, 0.7638, 0.9872, 1.321, 1.789, 2.405, 3.182, 4.129, 5.259",\
                 "0.5842, 0.6417, 0.7932, 1.022, 1.357, 1.825, 2.441, 3.218, 4.165, 5.295",\
                 "0.5801, 0.6415, 0.8027, 1.04, 1.379, 1.849, 2.466, 3.242, 4.189, 5.317",\
                 "0.5549, 0.6206, 0.7906, 1.037, 1.383, 1.858, 2.476, 3.252, 4.2, 5.33");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
          index_2("0.001, 0.007848, 0.03189, 0.07779, 0.1493, 0.2497, 0.3817, 0.548, 0.7511, 0.9932");
          values("0.1104, 0.1547, 0.2848, 0.5277, 0.9238, 1.494, 2.25, 3.204, 4.376, 5.765",\
                 "0.1104, 0.1547, 0.2846, 0.5275, 0.9239, 1.496, 2.25, 3.204, 4.369, 5.765",\
                 "0.1111, 0.1555, 0.2848, 0.5276, 0.9233, 1.494, 2.25, 3.207, 4.373, 5.758",\
                 "0.1214, 0.1649, 0.2912, 0.53, 0.9242, 1.496, 2.249, 3.203, 4.376, 5.756",\
                 "0.1426, 0.1874, 0.3132, 0.5448, 0.9306, 1.497, 2.251, 3.205, 4.37, 5.768",\
                 "0.1666, 0.2116, 0.3362, 0.5624, 0.9418, 1.502, 2.255, 3.207, 4.368, 5.768",\
                 "0.1928, 0.2396, 0.366, 0.586, 0.9544, 1.509, 2.258, 3.208, 4.366, 5.765",\
                 "0.223, 0.2716, 0.4006, 0.617, 0.9774, 1.522, 2.267, 3.212, 4.371, 5.755",\
                 "0.255, 0.3064, 0.442, 0.6552, 1.01, 1.548, 2.282, 3.221, 4.377, 5.759",\
                 "0.2868, 0.3428, 0.4838, 0.6988, 1.049, 1.583, 2.31, 3.243, 4.393, 5.764");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
          index_2("0.001, 0.007848, 0.03189, 0.07779, 0.1493, 0.2497, 0.3817, 0.548, 0.7511, 0.9932");
          values("0.1193, 0.1724, 0.3588, 0.7352, 1.334, 2.18, 3.281, 4.677, 6.379, 8.402",\
                 "0.1195, 0.1723, 0.359, 0.7352, 1.333, 2.179, 3.28, 4.673, 6.379, 8.404",\
                 "0.1202, 0.1727, 0.3594, 0.7355, 1.334, 2.175, 3.286, 4.677, 6.373, 8.411",\
                 "0.1332, 0.1852, 0.365, 0.7382, 1.334, 2.174, 3.281, 4.676, 6.379, 8.402",\
                 "0.151, 0.2034, 0.3788, 0.7434, 1.335, 2.173, 3.28, 4.682, 6.37, 8.402",\
                 "0.1706, 0.2232, 0.394, 0.7486, 1.339, 2.178, 3.28, 4.678, 6.37, 8.399",\
                 "0.1934, 0.2474, 0.416, 0.7584, 1.343, 2.18, 3.283, 4.673, 6.367, 8.399",\
                 "0.2176, 0.2736, 0.4434, 0.7766, 1.351, 2.185, 3.285, 4.675, 6.384, 8.4",\
                 "0.2452, 0.3044, 0.4754, 0.802, 1.37, 2.196, 3.292, 4.678, 6.374, 8.415",\
                 "0.2726, 0.3318, 0.5116, 0.8338, 1.396, 2.215, 3.304, 4.685, 6.375, 8.4");
        }
      }
    }
  }

