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

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

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

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

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 3.024 ;
      max_transition : 2.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.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.001, 0.02186, 0.0951, 0.2349, 0.4528, 0.7585, 1.161, 1.668, 2.286, 3.024");
          values("1.682, 1.639, 1.603, 1.591, 1.584, 1.579, 1.579, 1.581, 1.577, 1.577",\
                 "1.69, 1.647, 1.612, 1.598, 1.594, 1.59, 1.589, 1.589, 1.588, 1.588",\
                 "1.801, 1.751, 1.703, 1.68, 1.671, 1.664, 1.662, 1.661, 1.66, 1.66",\
                 "2.138, 2.068, 1.978, 1.927, 1.9, 1.886, 1.876, 1.872, 1.868, 1.866",\
                 "2.704, 2.609, 2.47, 2.377, 2.32, 2.288, 2.27, 2.257, 2.248, 2.243",\
                 "3.495, 3.382, 3.191, 3.05, 2.953, 2.894, 2.858, 2.837, 2.821, 2.808",\
                 "4.515, 4.384, 4.142, 3.947, 3.809, 3.715, 3.654, 3.616, 3.59, 3.57",\
                 "5.769, 5.625, 5.334, 5.09, 4.9, 4.767, 4.681, 4.621, 4.578, 4.55",\
                 "7.275, 7.116, 6.781, 6.483, 6.247, 6.062, 5.945, 5.862, 5.801, 5.757",\
                 "9.037, 8.869, 8.494, 8.138, 7.852, 7.623, 7.463, 7.35, 7.267, 7.209");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.001, 0.02186, 0.0951, 0.2349, 0.4528, 0.7585, 1.161, 1.668, 2.286, 3.024");
          values("1.151, 1.094, 1.039, 1.009, 1.001, 1.003, 1.009, 1.014, 1.048, 1.076",\
                 "1.149, 1.093, 1.039, 1.006, 0.9947, 0.993, 1.006, 1.011, 1.042, 1.071",\
                 "1.231, 1.17, 1.102, 1.067, 1.052, 1.038, 1.058, 1.063, 1.092, 1.126",\
                 "1.534, 1.456, 1.363, 1.295, 1.261, 1.248, 1.245, 1.26, 1.262, 1.313",\
                 "2.056, 1.959, 1.814, 1.72, 1.652, 1.614, 1.606, 1.604, 1.62, 1.637",\
                 "2.803, 2.681, 2.49, 2.35, 2.27, 2.199, 2.15, 2.143, 2.153, 2.165",\
                 "3.769, 3.629, 3.387, 3.195, 3.06, 3, 2.938, 2.877, 2.874, 2.886",\
                 "4.963, 4.812, 4.528, 4.272, 4.103, 3.982, 3.931, 3.867, 3.825, 3.799",\
                 "6.4, 6.238, 5.905, 5.618, 5.373, 5.204, 5.116, 5.066, 5.002, 4.965",\
                 "8.086, 7.909, 7.524, 7.204, 6.921, 6.717, 6.557, 6.474, 6.438, 6.373");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.001, 0.02186, 0.0951, 0.2349, 0.4528, 0.7585, 1.161, 1.668, 2.286, 3.024");
          values("0.08685, 0.1018, 0.1442, 0.2171, 0.329, 0.4861, 0.6931, 0.9536, 1.272, 1.651",\
                 "0.09127, 0.1062, 0.1485, 0.2214, 0.3334, 0.4906, 0.6973, 0.9582, 1.276, 1.656",\
                 "0.1095, 0.1243, 0.1662, 0.2388, 0.3505, 0.5076, 0.7145, 0.9751, 1.294, 1.673",\
                 "0.1402, 0.1553, 0.1973, 0.269, 0.3801, 0.5367, 0.7432, 1.004, 1.322, 1.701",\
                 "0.1756, 0.1919, 0.2348, 0.3065, 0.4167, 0.5726, 0.7789, 1.039, 1.357, 1.736",\
                 "0.2138, 0.2314, 0.2759, 0.349, 0.4596, 0.6147, 0.8199, 1.08, 1.397, 1.776",\
                 "0.2537, 0.2728, 0.3199, 0.3943, 0.5061, 0.662, 0.8668, 1.126, 1.443, 1.821",\
                 "0.2953, 0.316, 0.3658, 0.4418, 0.5549, 0.7131, 0.9197, 1.178, 1.494, 1.872",\
                 "0.3388, 0.3611, 0.4137, 0.4914, 0.6062, 0.7665, 0.9754, 1.236, 1.552, 1.929",\
                 "0.3838, 0.4076, 0.4633, 0.5431, 0.6585, 0.8208, 1.033, 1.298, 1.617, 1.994");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.001, 0.02186, 0.0951, 0.2349, 0.4528, 0.7585, 1.161, 1.668, 2.286, 3.024");
          values("0.0924, 0.1063, 0.1465, 0.2198, 0.3351, 0.4975, 0.7108, 0.9795, 1.308, 1.699",\
                 "0.09536, 0.1093, 0.1494, 0.2227, 0.3379, 0.5, 0.7141, 0.9831, 1.312, 1.702",\
                 "0.1096, 0.1234, 0.163, 0.2362, 0.3513, 0.5131, 0.7274, 0.9965, 1.325, 1.717",\
                 "0.1341, 0.1485, 0.1883, 0.2605, 0.3746, 0.5366, 0.7493, 1.018, 1.348, 1.738",\
                 "0.1611, 0.1769, 0.2175, 0.2884, 0.4018, 0.5624, 0.7751, 1.044, 1.373, 1.764",\
                 "0.188, 0.2052, 0.2477, 0.3194, 0.4316, 0.5911, 0.803, 1.071, 1.399, 1.791",\
                 "0.2133, 0.2323, 0.2774, 0.3497, 0.462, 0.6217, 0.8329, 1.1, 1.427, 1.818",\
                 "0.237, 0.2575, 0.306, 0.3787, 0.4925, 0.6528, 0.8639, 1.13, 1.457, 1.847",\
                 "0.2588, 0.2809, 0.3329, 0.4078, 0.5207, 0.6826, 0.8957, 1.163, 1.488, 1.878",\
                 "0.2777, 0.3015, 0.3569, 0.4343, 0.5481, 0.7112, 0.9259, 1.195, 1.521, 1.91");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.001, 0.02186, 0.0951, 0.2349, 0.4528, 0.7585, 1.161, 1.668, 2.286, 3.024");
          values("0.03024, 0.0479, 0.1049, 0.2183, 0.4021, 0.661, 1.002, 1.432, 1.954, 2.58",\
                 "0.03022, 0.04812, 0.1052, 0.2183, 0.4019, 0.6619, 1.003, 1.435, 1.955, 2.579",\
                 "0.03074, 0.04838, 0.1053, 0.2184, 0.4018, 0.6616, 1.002, 1.432, 1.955, 2.579",\
                 "0.03486, 0.05242, 0.1078, 0.2193, 0.4018, 0.6617, 1.003, 1.43, 1.954, 2.58",\
                 "0.04168, 0.05938, 0.1138, 0.2216, 0.4029, 0.6613, 1.004, 1.434, 1.955, 2.58",\
                 "0.04984, 0.06828, 0.1222, 0.2291, 0.4057, 0.6616, 1.002, 1.432, 1.955, 2.579",\
                 "0.05882, 0.07874, 0.1316, 0.239, 0.415, 0.6666, 1.002, 1.43, 1.957, 2.58",\
                 "0.0682, 0.0898, 0.1434, 0.2482, 0.4268, 0.68, 1.011, 1.432, 1.954, 2.582",\
                 "0.0776, 0.1006, 0.156, 0.259, 0.4386, 0.6956, 1.028, 1.444, 1.957, 2.579",\
                 "0.0882, 0.112, 0.1698, 0.2704, 0.4498, 0.712, 1.05, 1.466, 1.973, 2.584");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.001, 0.02186, 0.0951, 0.2349, 0.4528, 0.7585, 1.161, 1.668, 2.286, 3.024");
          values("0.033, 0.05016, 0.1108, 0.2369, 0.4371, 0.7196, 1.09, 1.556, 2.125, 2.806",\
                 "0.0331, 0.05008, 0.1109, 0.2368, 0.4369, 0.7178, 1.091, 1.557, 2.126, 2.807",\
                 "0.03312, 0.04994, 0.1113, 0.2374, 0.4374, 0.7176, 1.09, 1.557, 2.128, 2.803",\
                 "0.03756, 0.05424, 0.1126, 0.2371, 0.4374, 0.7199, 1.089, 1.554, 2.126, 2.803",\
                 "0.04404, 0.06074, 0.1161, 0.2381, 0.4369, 0.7189, 1.087, 1.553, 2.125, 2.807",\
                 "0.05126, 0.0689, 0.1224, 0.2413, 0.4382, 0.7178, 1.089, 1.556, 2.126, 2.805",\
                 "0.05918, 0.0792, 0.1315, 0.2472, 0.4434, 0.7198, 1.088, 1.555, 2.122, 2.803",\
                 "0.068, 0.089, 0.1418, 0.2544, 0.4516, 0.7276, 1.091, 1.553, 2.123, 2.799",\
                 "0.0774, 0.0992, 0.1538, 0.2622, 0.4596, 0.7386, 1.101, 1.558, 2.122, 2.801",\
                 "0.0872, 0.1116, 0.1676, 0.2712, 0.4676, 0.7506, 1.116, 1.571, 2.129, 2.799");
        }
      }
    }
  }

