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

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 3.782 ;
      max_transition : 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.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          index_2("0.001, 0.0271, 0.1187, 0.2936, 0.5662, 0.9486, 1.452, 2.086, 2.86, 3.782");
          values("0.2723, 0.2752, 0.2813, 0.2861, 0.2884, 0.2897, 0.2903, 0.2907, 0.291, 0.2912",\
                 "0.2703, 0.2733, 0.2795, 0.2843, 0.2866, 0.2879, 0.2886, 0.289, 0.2893, 0.2894",\
                 "0.2666, 0.269, 0.2751, 0.2801, 0.2829, 0.2844, 0.2852, 0.2858, 0.286, 0.2862",\
                 "0.2662, 0.2679, 0.2725, 0.2774, 0.2808, 0.2827, 0.2839, 0.2847, 0.2851, 0.2856",\
                 "0.2707, 0.2713, 0.2745, 0.2785, 0.282, 0.2844, 0.2858, 0.2868, 0.2874, 0.2879",\
                 "0.2805, 0.2797, 0.2807, 0.2843, 0.2877, 0.2902, 0.2919, 0.2929, 0.2938, 0.2944",\
                 "0.295, 0.293, 0.2926, 0.2949, 0.2976, 0.3003, 0.3021, 0.3032, 0.3041, 0.3047",\
                 "0.3145, 0.311, 0.3092, 0.3102, 0.3126, 0.3148, 0.3167, 0.3178, 0.3189, 0.3196",\
                 "0.3399, 0.3356, 0.3315, 0.3306, 0.3323, 0.3344, 0.3362, 0.3376, 0.3386, 0.3393",\
                 "0.3713, 0.3649, 0.359, 0.3571, 0.3579, 0.3595, 0.3609, 0.3623, 0.3635, 0.3643");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          index_2("0.001, 0.0271, 0.1187, 0.2936, 0.5662, 0.9486, 1.452, 2.086, 2.86, 3.782");
          values("0.1638, 0.1659, 0.1722, 0.1773, 0.18, 0.1825, 0.1864, 0.1891, 0.192, 0.1949",\
                 "0.162, 0.1643, 0.1702, 0.1756, 0.1786, 0.1817, 0.1851, 0.1883, 0.192, 0.1936",\
                 "0.1586, 0.1602, 0.1654, 0.1706, 0.1736, 0.1779, 0.1813, 0.1832, 0.1865, 0.1924",\
                 "0.1577, 0.1588, 0.1625, 0.1674, 0.1713, 0.1742, 0.1781, 0.1818, 0.1869, 0.188",\
                 "0.1613, 0.1614, 0.1624, 0.168, 0.1709, 0.1746, 0.1789, 0.1822, 0.1855, 0.189",\
                 "0.17, 0.1693, 0.1685, 0.1723, 0.1774, 0.1799, 0.1835, 0.1875, 0.1908, 0.1932",\
                 "0.1834, 0.1814, 0.1804, 0.1811, 0.1855, 0.1918, 0.1942, 0.1958, 0.2009, 0.2057",\
                 "0.2017, 0.1989, 0.1976, 0.1965, 0.1974, 0.2027, 0.2108, 0.2129, 0.2132, 0.219",\
                 "0.2251, 0.2209, 0.2187, 0.2162, 0.2188, 0.2203, 0.227, 0.2339, 0.2372, 0.2384",\
                 "0.2542, 0.249, 0.2432, 0.2418, 0.2412, 0.2435, 0.2454, 0.2531, 0.2615, 0.2651");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          index_2("0.001, 0.0271, 0.1187, 0.2936, 0.5662, 0.9486, 1.452, 2.086, 2.86, 3.782");
          values("0.2144, 0.2437, 0.3203, 0.4414, 0.6205, 0.8697, 1.197, 1.61, 2.114, 2.714",\
                 "0.2291, 0.2584, 0.3349, 0.456, 0.6352, 0.8843, 1.212, 1.624, 2.128, 2.727",\
                 "0.2838, 0.313, 0.3895, 0.5107, 0.69, 0.939, 1.266, 1.679, 2.184, 2.781",\
                 "0.3859, 0.416, 0.4932, 0.6148, 0.794, 1.043, 1.371, 1.784, 2.288, 2.889",\
                 "0.5066, 0.5409, 0.6235, 0.7479, 0.9279, 1.177, 1.505, 1.917, 2.419, 3.021",\
                 "0.6348, 0.6744, 0.764, 0.8919, 1.073, 1.323, 1.65, 2.063, 2.567, 3.166",\
                 "0.7738, 0.8178, 0.9156, 1.048, 1.23, 1.48, 1.808, 2.22, 2.723, 3.323",\
                 "0.9267, 0.974, 1.081, 1.218, 1.402, 1.652, 1.979, 2.392, 2.895, 3.494",\
                 "1.094, 1.145, 1.261, 1.404, 1.59, 1.84, 2.167, 2.58, 3.083, 3.682",\
                 "1.277, 1.331, 1.456, 1.608, 1.797, 2.047, 2.374, 2.786, 3.289, 3.888");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          index_2("0.001, 0.0271, 0.1187, 0.2936, 0.5662, 0.9486, 1.452, 2.086, 2.86, 3.782");
          values("0.1965, 0.2285, 0.3204, 0.4832, 0.7331, 1.083, 1.543, 2.121, 2.828, 3.67",\
                 "0.2084, 0.2404, 0.3323, 0.495, 0.7448, 1.095, 1.554, 2.135, 2.842, 3.683",\
                 "0.2522, 0.2841, 0.3755, 0.5381, 0.7881, 1.139, 1.597, 2.176, 2.884, 3.728",\
                 "0.3223, 0.3557, 0.4482, 0.6108, 0.8611, 1.211, 1.672, 2.25, 2.959, 3.801",\
                 "0.3832, 0.4207, 0.517, 0.6805, 0.9307, 1.28, 1.741, 2.32, 3.028, 3.869",\
                 "0.4298, 0.4715, 0.5735, 0.7375, 0.9876, 1.338, 1.797, 2.376, 3.084, 3.924",\
                 "0.4618, 0.5074, 0.6164, 0.7818, 1.032, 1.382, 1.841, 2.42, 3.126, 3.969",\
                 "0.4798, 0.5294, 0.6458, 0.8133, 1.063, 1.412, 1.872, 2.451, 3.157, 3.999",\
                 "0.4835, 0.5365, 0.6607, 0.832, 1.081, 1.43, 1.89, 2.468, 3.175, 4.016",\
                 "0.4711, 0.5273, 0.6599, 0.8365, 1.086, 1.435, 1.894, 2.472, 3.178, 4.021");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          index_2("0.001, 0.0271, 0.1187, 0.2936, 0.5662, 0.9486, 1.452, 2.086, 2.86, 3.782");
          values("0.0701, 0.09926, 0.192, 0.3724, 0.6677, 1.087, 1.643, 2.345, 3.2, 4.218",\
                 "0.06986, 0.09946, 0.192, 0.3722, 0.6679, 1.088, 1.644, 2.341, 3.198, 4.214",\
                 "0.07006, 0.09968, 0.1919, 0.3724, 0.6682, 1.087, 1.644, 2.345, 3.201, 4.212",\
                 "0.07604, 0.1039, 0.1945, 0.373, 0.6668, 1.089, 1.643, 2.344, 3.2, 4.22",\
                 "0.0946, 0.1214, 0.2076, 0.3792, 0.6684, 1.088, 1.642, 2.342, 3.196, 4.215",\
                 "0.1128, 0.143, 0.2232, 0.3904, 0.6746, 1.09, 1.643, 2.343, 3.198, 4.217",\
                 "0.1298, 0.1644, 0.2428, 0.401, 0.6798, 1.095, 1.644, 2.34, 3.195, 4.209",\
                 "0.1458, 0.1848, 0.265, 0.414, 0.6868, 1.096, 1.648, 2.343, 3.194, 4.21",\
                 "0.1628, 0.205, 0.2888, 0.4308, 0.6938, 1.099, 1.649, 2.346, 3.196, 4.209",\
                 "0.1802, 0.2262, 0.3172, 0.4508, 0.705, 1.103, 1.651, 2.346, 3.197, 4.21");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
          index_2("0.001, 0.0271, 0.1187, 0.2936, 0.5662, 0.9486, 1.452, 2.086, 2.86, 3.782");
          values("0.07516, 0.1118, 0.245, 0.5165, 0.9463, 1.549, 2.34, 3.342, 4.563, 6.009",\
                 "0.0752, 0.1115, 0.245, 0.5166, 0.9468, 1.549, 2.343, 3.339, 4.566, 6.006",\
                 "0.07528, 0.112, 0.2453, 0.5166, 0.9468, 1.55, 2.343, 3.343, 4.554, 6.015",\
                 "0.08468, 0.1187, 0.2471, 0.5166, 0.9469, 1.549, 2.34, 3.34, 4.563, 6.02",\
                 "0.09938, 0.1343, 0.2562, 0.5196, 0.9452, 1.548, 2.34, 3.338, 4.554, 6.01",\
                 "0.1156, 0.1518, 0.2668, 0.523, 0.9476, 1.546, 2.34, 3.339, 4.552, 6.015",\
                 "0.1306, 0.1694, 0.2806, 0.5274, 0.9498, 1.549, 2.338, 3.337, 4.557, 6.008",\
                 "0.1458, 0.1874, 0.2964, 0.5334, 0.9514, 1.552, 2.342, 3.334, 4.55, 6.007",\
                 "0.1614, 0.2062, 0.317, 0.541, 0.9528, 1.551, 2.342, 3.339, 4.551, 6.002",\
                 "0.1774, 0.2254, 0.3372, 0.552, 0.9578, 1.552, 2.342, 3.339, 4.554, 5.999");
        }
      }
    }
  }

