/*
 * 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_8) {
    area : 57.075200 ;

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

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

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "5.583798e-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.01028 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 6.8 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 1.899 ;
      max_transition : 6.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.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
          index_2("0.001, 0.0141, 0.06009, 0.1479, 0.2847, 0.4767, 0.7293, 1.048, 1.436, 1.899");
          values("0.1191, 0.1198, 0.122, 0.1241, 0.1252, 0.1259, 0.1263, 0.1265, 0.1266, 0.1267",\
                 "0.1187, 0.1193, 0.1216, 0.1235, 0.1248, 0.1254, 0.1258, 0.126, 0.1262, 0.1263",\
                 "0.1177, 0.1183, 0.1203, 0.1224, 0.1237, 0.1245, 0.1249, 0.1252, 0.1253, 0.1254",\
                 "0.118, 0.1184, 0.1197, 0.1216, 0.1231, 0.124, 0.1246, 0.1249, 0.1252, 0.1254",\
                 "0.1212, 0.1206, 0.1212, 0.1225, 0.1238, 0.1248, 0.1255, 0.1259, 0.1262, 0.1264",\
                 "0.1263, 0.1254, 0.1245, 0.1254, 0.1265, 0.1276, 0.1283, 0.1287, 0.129, 0.1293",\
                 "0.1336, 0.132, 0.1304, 0.1304, 0.1312, 0.132, 0.1327, 0.1331, 0.1335, 0.1338",\
                 "0.1435, 0.141, 0.1385, 0.1376, 0.1379, 0.1386, 0.1392, 0.1398, 0.14, 0.1403",\
                 "0.1557, 0.1525, 0.1488, 0.1473, 0.1471, 0.1474, 0.1479, 0.1484, 0.1488, 0.1489",\
                 "0.1711, 0.1669, 0.162, 0.1596, 0.1587, 0.1588, 0.1591, 0.1595, 0.1598, 0.1601");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
          index_2("0.001, 0.0141, 0.06009, 0.1479, 0.2847, 0.4767, 0.7293, 1.048, 1.436, 1.899");
          values("0.07986, 0.08046, 0.08231, 0.0844, 0.08588, 0.08705, 0.08951, 0.0908, 0.09268, 0.09362",\
                 "0.0794, 0.08, 0.08195, 0.08405, 0.08513, 0.08671, 0.08832, 0.08942, 0.0911, 0.09322",\
                 "0.07849, 0.07892, 0.08056, 0.08268, 0.08379, 0.08596, 0.08733, 0.08843, 0.09011, 0.09263",\
                 "0.07907, 0.07923, 0.08011, 0.08179, 0.08333, 0.08501, 0.08654, 0.08803, 0.08971, 0.09283",\
                 "0.08147, 0.0811, 0.08094, 0.08236, 0.08361, 0.08545, 0.08733, 0.08843, 0.09011, 0.09302",\
                 "0.08602, 0.08493, 0.08429, 0.08486, 0.08687, 0.08802, 0.08911, 0.0912, 0.09407, 0.0956",\
                 "0.09253, 0.09107, 0.08959, 0.08896, 0.09044, 0.09289, 0.09347, 0.09456, 0.09565, 0.09991",\
                 "0.1014, 0.09905, 0.09668, 0.09585, 0.09576, 0.09891, 0.1012, 0.1025, 0.1024, 0.1046",\
                 "0.1124, 0.1095, 0.1062, 0.1051, 0.105, 0.1049, 0.1067, 0.1112, 0.1131, 0.1123",\
                 "0.1263, 0.1225, 0.1184, 0.1163, 0.1159, 0.1154, 0.117, 0.1197, 0.1248, 0.1265");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
          index_2("0.001, 0.0141, 0.06009, 0.1479, 0.2847, 0.4767, 0.7293, 1.048, 1.436, 1.899");
          values("0.2939, 0.3325, 0.4315, 0.5836, 0.8057, 1.114, 1.518, 2.028, 2.651, 3.391",\
                 "0.3109, 0.3495, 0.4484, 0.6007, 0.8227, 1.131, 1.535, 2.045, 2.667, 3.407",\
                 "0.3728, 0.4114, 0.5102, 0.6625, 0.8847, 1.193, 1.597, 2.107, 2.727, 3.47",\
                 "0.4929, 0.5316, 0.6305, 0.7828, 1.005, 1.313, 1.718, 2.227, 2.849, 3.59",\
                 "0.6477, 0.6911, 0.7957, 0.9503, 1.173, 1.481, 1.885, 2.394, 3.018, 3.757",\
                 "0.8137, 0.8625, 0.9763, 1.136, 1.36, 1.669, 2.073, 2.583, 3.206, 3.946",\
                 "0.9938, 1.047, 1.172, 1.338, 1.564, 1.872, 2.277, 2.786, 3.408, 4.149",\
                 "1.192, 1.25, 1.384, 1.558, 1.786, 2.095, 2.499, 3.009, 3.629, 4.37",\
                 "1.41, 1.472, 1.618, 1.799, 2.03, 2.34, 2.744, 3.252, 3.874, 4.614",\
                 "1.65, 1.715, 1.871, 2.063, 2.3, 2.609, 3.013, 3.522, 4.143, 4.884");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
          index_2("0.001, 0.0141, 0.06009, 0.1479, 0.2847, 0.4767, 0.7293, 1.048, 1.436, 1.899");
          values("0.253, 0.2919, 0.3992, 0.584, 0.8666, 1.263, 1.782, 2.439, 3.239, 4.189",\
                 "0.2663, 0.3051, 0.4125, 0.5973, 0.8801, 1.276, 1.796, 2.451, 3.249, 4.203",\
                 "0.3147, 0.3533, 0.4605, 0.6452, 0.928, 1.323, 1.844, 2.5, 3.296, 4.254",\
                 "0.3981, 0.4381, 0.5463, 0.7308, 1.013, 1.409, 1.93, 2.584, 3.385, 4.339",\
                 "0.4734, 0.518, 0.6318, 0.8176, 1.1, 1.495, 2.016, 2.671, 3.472, 4.426",\
                 "0.5302, 0.5791, 0.7004, 0.8884, 1.171, 1.567, 2.086, 2.742, 3.541, 4.494",\
                 "0.5677, 0.6213, 0.7509, 0.9422, 1.225, 1.62, 2.14, 2.794, 3.593, 4.544",\
                 "0.5873, 0.6444, 0.7829, 0.9784, 1.261, 1.656, 2.175, 2.83, 3.628, 4.58",\
                 "0.5877, 0.649, 0.7967, 0.9978, 1.281, 1.674, 2.193, 2.848, 3.647, 4.598",\
                 "0.569, 0.6332, 0.7909, 0.9986, 1.283, 1.677, 2.196, 2.849, 3.647, 4.599");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
          index_2("0.001, 0.0141, 0.06009, 0.1479, 0.2847, 0.4767, 0.7293, 1.048, 1.436, 1.899");
          values("0.1006, 0.1371, 0.251, 0.4694, 0.8313, 1.351, 2.042, 2.911, 3.973, 5.231",\
                 "0.1006, 0.137, 0.251, 0.4701, 0.8318, 1.352, 2.04, 2.907, 3.972, 5.235",\
                 "0.1006, 0.1376, 0.251, 0.47, 0.8322, 1.353, 2.041, 2.906, 3.97, 5.237",\
                 "0.1035, 0.14, 0.2521, 0.47, 0.833, 1.353, 2.04, 2.909, 3.971, 5.228",\
                 "0.1246, 0.1602, 0.2654, 0.4752, 0.834, 1.352, 2.041, 2.91, 3.973, 5.233",\
                 "0.1468, 0.1868, 0.288, 0.4904, 0.8384, 1.353, 2.041, 2.91, 3.972, 5.231",\
                 "0.167, 0.2122, 0.3142, 0.5068, 0.8468, 1.358, 2.042, 2.907, 3.967, 5.227",\
                 "0.1868, 0.2376, 0.342, 0.526, 0.8576, 1.362, 2.044, 2.907, 3.966, 5.221",\
                 "0.2072, 0.261, 0.3728, 0.5494, 0.8678, 1.367, 2.046, 2.909, 3.965, 5.224",\
                 "0.229, 0.2862, 0.4072, 0.5764, 0.8822, 1.372, 2.051, 2.914, 3.968, 5.224");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
          index_2("0.001, 0.0141, 0.06009, 0.1479, 0.2847, 0.4767, 0.7293, 1.048, 1.436, 1.899");
          values("0.09744, 0.1399, 0.2877, 0.5905, 1.075, 1.758, 2.659, 3.791, 5.175, 6.823",\
                 "0.09724, 0.1399, 0.2874, 0.5905, 1.075, 1.757, 2.658, 3.784, 5.175, 6.823",\
                 "0.0972, 0.1405, 0.2874, 0.5905, 1.075, 1.759, 2.655, 3.785, 5.173, 6.828",\
                 "0.1056, 0.1464, 0.2901, 0.5912, 1.075, 1.759, 2.656, 3.788, 5.166, 6.827",\
                 "0.124, 0.1658, 0.302, 0.5942, 1.076, 1.758, 2.657, 3.787, 5.166, 6.816",\
                 "0.143, 0.1862, 0.3174, 0.6008, 1.079, 1.758, 2.651, 3.786, 5.175, 6.819",\
                 "0.1616, 0.2082, 0.337, 0.6088, 1.081, 1.758, 2.654, 3.786, 5.163, 6.817",\
                 "0.1794, 0.229, 0.3582, 0.6184, 1.085, 1.761, 2.655, 3.782, 5.164, 6.809",\
                 "0.1988, 0.2518, 0.3816, 0.6318, 1.088, 1.763, 2.656, 3.787, 5.159, 6.809",\
                 "0.2182, 0.2734, 0.4104, 0.6484, 1.095, 1.766, 2.658, 3.784, 5.162, 6.801");
        }
      }
    }
  }

