/*
 * 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_12) {
    area : 83.417600 ;

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

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

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

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 2.314 ;
      max_transition : 25 ;
      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.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
          index_2("0.001, 0.01697, 0.07302, 0.1801, 0.3468, 0.5808, 0.8887, 1.277, 1.75, 2.314");
          values("0.1223, 0.1234, 0.126, 0.128, 0.1292, 0.1299, 0.1303, 0.1305, 0.1304, 0.1293",\
                 "0.122, 0.1231, 0.1256, 0.1278, 0.1289, 0.1296, 0.13, 0.1302, 0.1301, 0.1289",\
                 "0.1211, 0.1223, 0.1248, 0.1269, 0.1281, 0.1288, 0.1292, 0.1294, 0.1293, 0.1279",\
                 "0.1203, 0.1212, 0.1234, 0.1256, 0.127, 0.1278, 0.1283, 0.1285, 0.1283, 0.1266",\
                 "0.1194, 0.1202, 0.1222, 0.1243, 0.1259, 0.1269, 0.1275, 0.1278, 0.1273, 0.1248",\
                 "0.1191, 0.1197, 0.1215, 0.1235, 0.1252, 0.1263, 0.1271, 0.1273, 0.126, 0.1222",\
                 "0.1195, 0.1199, 0.1214, 0.1232, 0.1249, 0.1262, 0.1269, 0.1265, 0.1231, 0.118",\
                 "0.1203, 0.1206, 0.1219, 0.1235, 0.1251, 0.1264, 0.1262, 0.1225, 0.1169, 0.1123",\
                 "0.1206, 0.1209, 0.1218, 0.1233, 0.1245, 0.1222, 0.1156, 0.1103, 0.1067, 0.1042",\
                 "0.09163, 0.08663, 0.07858, 0.07499, 0.0739, 0.07395, 0.07431, 0.07468, 0.07503, 0.07532");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
          index_2("0.001, 0.01697, 0.07302, 0.1801, 0.3468, 0.5808, 0.8887, 1.277, 1.75, 2.314");
          values("0.08076, 0.0818, 0.08398, 0.08615, 0.08773, 0.08857, 0.09293, 0.1494, 0.4608, 1.141",\
                 "0.08053, 0.08162, 0.0838, 0.08593, 0.08762, 0.08865, 0.09257, 0.1505, 0.4696, 1.154",\
                 "0.07983, 0.08081, 0.08288, 0.08481, 0.08653, 0.08767, 0.0917, 0.1587, 0.5033, 1.203",\
                 "0.0787, 0.07951, 0.08129, 0.08334, 0.08532, 0.08619, 0.09419, 0.1803, 0.5783, 1.283",\
                 "0.07789, 0.07855, 0.08006, 0.08191, 0.08378, 0.08534, 0.09767, 0.2239, 0.6961, 1.392",\
                 "0.07759, 0.07812, 0.07935, 0.08149, 0.08289, 0.08466, 0.1093, 0.3066, 0.8551, 1.5",\
                 "0.07779, 0.07821, 0.07925, 0.08065, 0.08261, 0.08688, 0.1403, 0.4562, 1.041, 1.57",\
                 "0.07844, 0.07883, 0.0797, 0.08112, 0.08196, 0.09391, 0.2358, 0.6812, 1.183, 1.556",\
                 "0.07984, 0.08004, 0.08074, 0.08214, 0.08442, 0.1459, 0.4621, 0.8794, 1.185, 1.397",\
                 "0.08273, 0.08281, 0.08363, 0.08503, 0.1302, 0.3799, 0.644, 0.8181, 0.9328, 1.011");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
          index_2("0.001, 0.01697, 0.07302, 0.1801, 0.3468, 0.5808, 0.8887, 1.277, 1.75, 2.314");
          values("1.486, 1.612, 1.94, 2.429, 3.107, 4.024, 5.22, 6.726, 8.562, 10.75",\
                 "1.564, 1.69, 2.018, 2.507, 3.185, 4.102, 5.299, 6.804, 8.643, 10.83",\
                 "1.843, 1.968, 2.297, 2.786, 3.464, 4.381, 5.577, 7.083, 8.92, 11.11",\
                 "2.387, 2.512, 2.84, 3.329, 4.007, 4.924, 6.121, 7.626, 9.464, 11.66",\
                 "3.226, 3.353, 3.683, 4.174, 4.853, 5.771, 6.969, 8.474, 10.31, 12.51",\
                 "4.268, 4.408, 4.761, 5.264, 5.948, 6.867, 8.063, 9.57, 11.41, 13.6",\
                 "5.418, 5.578, 5.963, 6.492, 7.19, 8.115, 9.312, 10.81, 12.66, 14.85",\
                 "6.67, 6.852, 7.276, 7.833, 8.548, 9.476, 10.68, 12.19, 14.02, 16.21",\
                 "8.025, 8.228, 8.696, 9.286, 10.02, 10.96, 12.16, 13.67, 15.51, 17.7",\
                 "9.489, 9.714, 10.23, 10.86, 11.61, 12.56, 13.77, 15.28, 17.11, 19.3");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
          index_2("0.001, 0.01697, 0.07302, 0.1801, 0.3468, 0.5808, 0.8887, 1.277, 1.75, 2.314");
          values("1.105, 1.243, 1.644, 2.339, 3.4, 4.883, 6.827, 9.277, 12.27, 15.83",\
                 "1.168, 1.305, 1.707, 2.402, 3.463, 4.943, 6.892, 9.342, 12.34, 15.9",\
                 "1.39, 1.528, 1.928, 2.623, 3.685, 5.167, 7.112, 9.562, 12.55, 16.13",\
                 "1.805, 1.942, 2.343, 3.038, 4.1, 5.584, 7.529, 9.98, 12.97, 16.56",\
                 "2.296, 2.444, 2.859, 3.557, 4.618, 6.101, 8.05, 10.5, 13.49, 17.06",\
                 "2.756, 2.92, 3.356, 4.063, 5.127, 6.609, 8.556, 11.01, 14.01, 17.57",\
                 "3.171, 3.351, 3.812, 4.532, 5.597, 7.082, 9.028, 11.48, 14.47, 18.05",\
                 "3.524, 3.725, 4.216, 4.95, 6.017, 7.502, 9.449, 11.9, 14.89, 18.45",\
                 "3.804, 4.025, 4.552, 5.306, 6.376, 7.859, 9.807, 12.26, 15.25, 18.81",\
                 "4.003, 4.245, 4.812, 5.587, 6.665, 8.148, 10.09, 12.55, 15.54, 19.1");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
          index_2("0.001, 0.01697, 0.07302, 0.1801, 0.3468, 0.5808, 0.8887, 1.277, 1.75, 2.314");
          values("0.4338, 0.5504, 0.9084, 1.56, 2.605, 4.132, 6.172, 8.764, 11.92, 15.69",\
                 "0.434, 0.5498, 0.9088, 1.558, 2.604, 4.133, 6.181, 8.772, 11.93, 15.7",\
                 "0.4332, 0.5506, 0.9102, 1.558, 2.606, 4.135, 6.175, 8.772, 11.92, 15.68",\
                 "0.4344, 0.5508, 0.909, 1.559, 2.607, 4.132, 6.171, 8.772, 11.92, 15.72",\
                 "0.4504, 0.564, 0.917, 1.563, 2.609, 4.13, 6.175, 8.773, 11.93, 15.72",\
                 "0.529, 0.6382, 0.9726, 1.593, 2.619, 4.133, 6.172, 8.764, 11.92, 15.68",\
                 "0.63, 0.742, 1.064, 1.666, 2.664, 4.152, 6.184, 8.752, 11.94, 15.68",\
                 "0.744, 0.856, 1.17, 1.75, 2.722, 4.188, 6.2, 8.77, 11.9, 15.68",\
                 "0.856, 0.982, 1.296, 1.85, 2.79, 4.236, 6.224, 8.778, 11.92, 15.68",\
                 "0.974, 1.108, 1.436, 1.966, 2.872, 4.274, 6.254, 8.796, 11.94, 15.68");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
          index_2("0.001, 0.01697, 0.07302, 0.1801, 0.3468, 0.5808, 0.8887, 1.277, 1.75, 2.314");
          values("0.434, 0.5898, 1.142, 2.255, 4.031, 6.515, 9.807, 13.96, 18.99, 24.98",\
                 "0.4346, 0.59, 1.143, 2.254, 4.031, 6.526, 9.79, 13.92, 18.99, 25.01",\
                 "0.4344, 0.5902, 1.144, 2.252, 4.026, 6.516, 9.799, 13.93, 18.98, 25.04",\
                 "0.4428, 0.5966, 1.146, 2.255, 4.031, 6.513, 9.813, 13.94, 18.99, 25",\
                 "0.5006, 0.6466, 1.173, 2.259, 4.026, 6.521, 9.791, 13.94, 19, 24.97",\
                 "0.5726, 0.7146, 1.221, 2.287, 4.032, 6.521, 9.813, 13.94, 18.98, 25.01",\
                 "0.6564, 0.7972, 1.285, 2.316, 4.05, 6.526, 9.806, 13.95, 18.98, 25.03",\
                 "0.752, 0.89, 1.356, 2.354, 4.068, 6.55, 9.812, 13.95, 19.01, 24.98",\
                 "0.854, 0.996, 1.442, 2.4, 4.092, 6.558, 9.828, 13.95, 18.99, 25.02",\
                 "0.958, 1.104, 1.542, 2.46, 4.112, 6.576, 9.838, 13.97, 18.99, 24.99");
        }
      }
    }
  }

