/*
 * 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_1) {
    area : 13.171200 ;

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

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

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

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 0.3609 ;
      max_transition : 7.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.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
          index_2("0.001, 0.003484, 0.0122, 0.02885, 0.05479, 0.09119, 0.1391, 0.1994, 0.2731, 0.3609");
          values("0.0876, 0.08754, 0.08741, 0.08741, 0.08742, 0.08742, 0.0874, 0.08743, 0.0874, 0.08739",\
                 "0.08759, 0.08744, 0.08744, 0.08745, 0.08744, 0.08743, 0.08743, 0.08743, 0.08742, 0.08744",\
                 "0.09448, 0.09394, 0.09338, 0.09324, 0.09316, 0.09311, 0.09304, 0.093, 0.09302, 0.09298",\
                 "0.1151, 0.1137, 0.1117, 0.1106, 0.1101, 0.1098, 0.1097, 0.1095, 0.1095, 0.1094",\
                 "0.1509, 0.1485, 0.1448, 0.1422, 0.1407, 0.14, 0.1395, 0.1392, 0.139, 0.1389",\
                 "0.2029, 0.1997, 0.1938, 0.1893, 0.1866, 0.185, 0.1841, 0.1834, 0.183, 0.1827",\
                 "0.2719, 0.2678, 0.2598, 0.2532, 0.2488, 0.2461, 0.2444, 0.2432, 0.2425, 0.242",\
                 "0.3589, 0.354, 0.3439, 0.3349, 0.3286, 0.3244, 0.3217, 0.3199, 0.3187, 0.3178",\
                 "0.465, 0.4594, 0.4472, 0.4357, 0.4271, 0.4211, 0.4172, 0.4145, 0.4126, 0.4113",\
                 "0.5912, 0.5849, 0.5708, 0.5568, 0.5457, 0.5377, 0.5321, 0.5283, 0.5255, 0.5236");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
          index_2("0.001, 0.003484, 0.0122, 0.02885, 0.05479, 0.09119, 0.1391, 0.1994, 0.2731, 0.3609");
          values("0.04778, 0.04739, 0.04683, 0.04666, 0.04653, 0.04635, 0.04631, 0.04528, 0.04478, 0.04686",\
                 "0.04727, 0.04685, 0.0464, 0.04619, 0.0461, 0.0457, 0.04577, 0.04532, 0.04421, 0.04614",\
                 "0.05245, 0.05153, 0.05035, 0.04983, 0.04959, 0.04934, 0.04937, 0.04902, 0.04864, 0.05",\
                 "0.07035, 0.06875, 0.06622, 0.06445, 0.06389, 0.0633, 0.06269, 0.06227, 0.06152, 0.06394",\
                 "0.1024, 0.1, 0.09592, 0.09303, 0.09092, 0.08994, 0.0889, 0.08895, 0.08852, 0.09002",\
                 "0.1498, 0.1464, 0.1407, 0.1361, 0.1331, 0.1307, 0.1296, 0.1285, 0.1278, 0.13",\
                 "0.213, 0.2089, 0.201, 0.1948, 0.1905, 0.1873, 0.1846, 0.1829, 0.182, 0.1845",\
                 "0.293, 0.2878, 0.2782, 0.2703, 0.2642, 0.2599, 0.2565, 0.2533, 0.2514, 0.2546",\
                 "0.3905, 0.3846, 0.373, 0.3626, 0.3551, 0.3498, 0.3448, 0.3414, 0.3382, 0.341",\
                 "0.5064, 0.5002, 0.4864, 0.4737, 0.4641, 0.4571, 0.4516, 0.4472, 0.4434, 0.4493");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
          index_2("0.001, 0.003484, 0.0122, 0.02885, 0.05479, 0.09119, 0.1391, 0.1994, 0.2731, 0.3609");
          values("0.1657, 0.1969, 0.2914, 0.4592, 0.718, 1.081, 1.558, 2.16, 2.895, 3.771",\
                 "0.1788, 0.21, 0.3045, 0.4722, 0.7309, 1.094, 1.572, 2.173, 2.909, 3.784",\
                 "0.2288, 0.2597, 0.3542, 0.5216, 0.7802, 1.143, 1.62, 2.222, 2.957, 3.833",\
                 "0.3006, 0.3331, 0.43, 0.5976, 0.8557, 1.218, 1.695, 2.297, 3.031, 3.907",\
                 "0.3834, 0.4183, 0.5199, 0.691, 0.949, 1.31, 1.787, 2.389, 3.122, 3.998",\
                 "0.4748, 0.5127, 0.6197, 0.7976, 1.06, 1.423, 1.898, 2.499, 3.233, 4.107",\
                 "0.5743, 0.6157, 0.7289, 0.9138, 1.185, 1.554, 2.031, 2.631, 3.364, 4.239",\
                 "0.6825, 0.7282, 0.8485, 1.04, 1.32, 1.7, 2.186, 2.788, 3.52, 4.394",\
                 "0.8016, 0.8504, 0.9788, 1.177, 1.464, 1.855, 2.355, 2.968, 3.703, 4.576",\
                 "0.9293, 0.9825, 1.12, 1.325, 1.619, 2.021, 2.534, 3.163, 3.911, 4.787");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
          index_2("0.001, 0.003484, 0.0122, 0.02885, 0.05479, 0.09119, 0.1391, 0.1994, 0.2731, 0.3609");
          values("0.173, 0.2039, 0.3026, 0.487, 0.7742, 1.177, 1.708, 2.376, 3.192, 4.165",\
                 "0.1816, 0.2125, 0.3114, 0.4959, 0.7832, 1.186, 1.717, 2.385, 3.2, 4.173",\
                 "0.2173, 0.2478, 0.346, 0.5301, 0.8172, 1.22, 1.751, 2.419, 3.235, 4.206",\
                 "0.2599, 0.2914, 0.39, 0.5727, 0.859, 1.262, 1.791, 2.46, 3.275, 4.248",\
                 "0.2966, 0.3306, 0.4321, 0.6144, 0.8997, 1.301, 1.83, 2.499, 3.314, 4.286",\
                 "0.3241, 0.361, 0.467, 0.6533, 0.9396, 1.34, 1.868, 2.535, 3.351, 4.323",\
                 "0.3403, 0.381, 0.4924, 0.6832, 0.975, 1.379, 1.906, 2.572, 3.387, 4.358",\
                 "0.3438, 0.3878, 0.5062, 0.7024, 1, 1.412, 1.944, 2.609, 3.422, 4.392",\
                 "0.3341, 0.3816, 0.5078, 0.7094, 1.014, 1.434, 1.976, 2.647, 3.459, 4.429",\
                 "0.3101, 0.3619, 0.4962, 0.7039, 1.014, 1.443, 1.995, 2.677, 3.497, 4.467");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
          index_2("0.001, 0.003484, 0.0122, 0.02885, 0.05479, 0.09119, 0.1391, 0.1994, 0.2731, 0.3609");
          values("0.0865, 0.128, 0.2677, 0.5473, 0.9922, 1.619, 2.444, 3.482, 4.752, 6.262",\
                 "0.08668, 0.1279, 0.2678, 0.5475, 0.9926, 1.619, 2.443, 3.483, 4.752, 6.264",\
                 "0.08988, 0.1304, 0.2689, 0.5475, 0.9929, 1.619, 2.444, 3.483, 4.752, 6.262",\
                 "0.1034, 0.1431, 0.2782, 0.55, 0.9929, 1.619, 2.444, 3.484, 4.75, 6.262",\
                 "0.1228, 0.1626, 0.2976, 0.5614, 0.9956, 1.618, 2.444, 3.483, 4.751, 6.262",\
                 "0.1468, 0.1872, 0.3224, 0.5872, 1.011, 1.623, 2.443, 3.482, 4.749, 6.262",\
                 "0.1734, 0.215, 0.3492, 0.618, 1.048, 1.649, 2.451, 3.482, 4.749, 6.262",\
                 "0.202, 0.2472, 0.3798, 0.651, 1.09, 1.699, 2.489, 3.495, 4.748, 6.258",\
                 "0.233, 0.2806, 0.4152, 0.6854, 1.133, 1.756, 2.554, 3.546, 4.773, 6.261",\
                 "0.267, 0.3192, 0.456, 0.722, 1.177, 1.815, 2.629, 3.627, 4.834, 6.294");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
          index_2("0.001, 0.003484, 0.0122, 0.02885, 0.05479, 0.09119, 0.1391, 0.1994, 0.2731, 0.3609");
          values("0.09584, 0.1417, 0.3107, 0.6473, 1.176, 1.913, 2.884, 4.113, 5.609, 7.389",\
                 "0.09586, 0.1423, 0.3108, 0.648, 1.175, 1.914, 2.885, 4.112, 5.61, 7.393",\
                 "0.09828, 0.1437, 0.3111, 0.648, 1.175, 1.915, 2.885, 4.11, 5.608, 7.394",\
                 "0.1099, 0.1533, 0.3155, 0.6478, 1.174, 1.915, 2.887, 4.113, 5.609, 7.391",\
                 "0.1258, 0.1692, 0.326, 0.6516, 1.174, 1.914, 2.886, 4.11, 5.606, 7.392",\
                 "0.1466, 0.1886, 0.3442, 0.666, 1.181, 1.913, 2.885, 4.107, 5.606, 7.388",\
                 "0.1696, 0.2136, 0.3648, 0.6876, 1.205, 1.925, 2.885, 4.11, 5.601, 7.39",\
                 "0.1948, 0.24, 0.3898, 0.7118, 1.236, 1.957, 2.904, 4.112, 5.606, 7.385",\
                 "0.2206, 0.269, 0.4184, 0.7382, 1.269, 2.003, 2.948, 4.136, 5.608, 7.388",\
                 "0.248, 0.3004, 0.4508, 0.7666, 1.303, 2.048, 3.001, 4.19, 5.642, 7.397");
        }
      }
    }
  }

