/*
 * 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.0002195325" ;
    }

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

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

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 4.311 ;
      max_transition : 8.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.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.03075, 0.1352, 0.3346, 0.6453, 1.081, 1.655, 2.378, 3.26, 4.311");
          values("0.5611, 0.5531, 0.5504, 0.5514, 0.5529, 0.5541, 0.5543, 0.5545, 0.5548, 0.5549",\
                 "0.5591, 0.5505, 0.5485, 0.5495, 0.5516, 0.5522, 0.5528, 0.5531, 0.5533, 0.5533",\
                 "0.567, 0.5567, 0.5528, 0.554, 0.5557, 0.5568, 0.5575, 0.558, 0.5584, 0.5585",\
                 "0.6224, 0.6049, 0.589, 0.5846, 0.584, 0.5842, 0.5847, 0.5851, 0.5852, 0.5854",\
                 "0.7207, 0.6931, 0.6636, 0.6505, 0.6449, 0.6431, 0.6425, 0.6422, 0.642, 0.6421",\
                 "0.8648, 0.8273, 0.7818, 0.7559, 0.7439, 0.7374, 0.7353, 0.7341, 0.7332, 0.7327",\
                 "1.056, 1.008, 0.9452, 0.9054, 0.8837, 0.8732, 0.8671, 0.8638, 0.8621, 0.8606",\
                 "1.293, 1.237, 1.156, 1.101, 1.069, 1.052, 1.04, 1.034, 1.03, 1.028",\
                 "1.579, 1.515, 1.414, 1.345, 1.301, 1.274, 1.256, 1.248, 1.242, 1.238",\
                 "1.914, 1.845, 1.725, 1.639, 1.582, 1.545, 1.522, 1.508, 1.498, 1.492");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.03075, 0.1352, 0.3346, 0.6453, 1.081, 1.655, 2.378, 3.26, 4.311");
          values("0.4066, 0.3953, 0.3925, 0.3939, 0.3976, 0.4025, 0.4084, 0.4221, 0.4311, 0.4709",\
                 "0.4042, 0.3942, 0.39, 0.392, 0.3953, 0.4002, 0.4087, 0.4171, 0.4278, 0.4676",\
                 "0.411, 0.3991, 0.3907, 0.3906, 0.3966, 0.4015, 0.4077, 0.4214, 0.4278, 0.4733",\
                 "0.4637, 0.4444, 0.4257, 0.4197, 0.4217, 0.4286, 0.4325, 0.4386, 0.4509, 0.495",\
                 "0.5511, 0.5223, 0.491, 0.4784, 0.4741, 0.4734, 0.481, 0.4864, 0.4993, 0.5549",\
                 "0.6802, 0.6418, 0.5954, 0.5705, 0.5672, 0.5622, 0.5641, 0.5633, 0.5752, 0.6437",\
                 "0.8512, 0.8022, 0.7425, 0.7058, 0.684, 0.6906, 0.6879, 0.6887, 0.6983, 0.7758",\
                 "1.066, 1.007, 0.9308, 0.881, 0.8517, 0.8411, 0.8509, 0.8503, 0.8565, 0.9633",\
                 "1.324, 1.256, 1.165, 1.099, 1.061, 1.035, 1.034, 1.05, 1.057, 1.206",\
                 "1.625, 1.551, 1.439, 1.362, 1.313, 1.277, 1.263, 1.266, 1.309, 1.54");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.03075, 0.1352, 0.3346, 0.6453, 1.081, 1.655, 2.378, 3.26, 4.311");
          values("0.2539, 0.3027, 0.4305, 0.637, 0.9481, 1.383, 1.956, 2.679, 3.56, 4.606",\
                 "0.2712, 0.3199, 0.4478, 0.6544, 0.9656, 1.401, 1.974, 2.694, 3.574, 4.626",\
                 "0.3383, 0.3868, 0.5142, 0.7207, 1.032, 1.467, 2.04, 2.762, 3.641, 4.694",\
                 "0.4565, 0.5064, 0.6354, 0.8417, 1.152, 1.587, 2.16, 2.882, 3.764, 4.814",\
                 "0.5951, 0.6485, 0.7831, 0.992, 1.303, 1.737, 2.309, 3.029, 3.911, 4.959",\
                 "0.7525, 0.8108, 0.9524, 1.165, 1.476, 1.909, 2.48, 3.201, 4.083, 5.132",\
                 "0.9273, 0.9906, 1.143, 1.362, 1.675, 2.108, 2.68, 3.399, 4.278, 5.329",\
                 "1.12, 1.189, 1.35, 1.58, 1.898, 2.334, 2.905, 3.625, 4.503, 5.553",\
                 "1.33, 1.404, 1.578, 1.817, 2.144, 2.587, 3.161, 3.881, 4.76, 5.807",\
                 "1.56, 1.639, 1.824, 2.075, 2.41, 2.862, 3.444, 4.168, 5.046, 6.094");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.03075, 0.1352, 0.3346, 0.6453, 1.081, 1.655, 2.378, 3.26, 4.311");
          values("0.2418, 0.288, 0.4172, 0.6431, 0.9927, 1.483, 2.128, 2.942, 3.934, 5.116",\
                 "0.2546, 0.301, 0.4301, 0.6559, 1.006, 1.496, 2.14, 2.953, 3.945, 5.132",\
                 "0.3049, 0.3507, 0.4791, 0.7048, 1.054, 1.545, 2.189, 3.003, 3.992, 5.178",\
                 "0.3779, 0.4264, 0.5565, 0.7813, 1.13, 1.62, 2.265, 3.077, 4.067, 5.256",\
                 "0.4388, 0.4911, 0.6258, 0.8506, 1.199, 1.687, 2.333, 3.144, 4.139, 5.322",\
                 "0.4881, 0.5448, 0.6856, 0.9118, 1.259, 1.746, 2.39, 3.201, 4.195, 5.379",\
                 "0.5217, 0.5835, 0.7325, 0.9634, 1.308, 1.796, 2.439, 3.249, 4.24, 5.425",\
                 "0.5375, 0.6049, 0.7629, 0.9998, 1.349, 1.836, 2.478, 3.289, 4.278, 5.46",\
                 "0.5336, 0.6059, 0.7745, 1.019, 1.373, 1.864, 2.507, 3.316, 4.306, 5.486",\
                 "0.5082, 0.5853, 0.7642, 1.018, 1.378, 1.875, 2.524, 3.335, 4.322, 5.503");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.03075, 0.1352, 0.3346, 0.6453, 1.081, 1.655, 2.378, 3.26, 4.311");
          values("0.08954, 0.1443, 0.3041, 0.6213, 1.137, 1.871, 2.837, 4.06, 5.55, 7.313",\
                 "0.08952, 0.1442, 0.3049, 0.6201, 1.137, 1.871, 2.837, 4.056, 5.545, 7.323",\
                 "0.08984, 0.1447, 0.3048, 0.6208, 1.137, 1.87, 2.838, 4.054, 5.54, 7.327",\
                 "0.102, 0.1548, 0.3106, 0.6218, 1.138, 1.871, 2.836, 4.06, 5.549, 7.327",\
                 "0.121, 0.174, 0.3276, 0.6314, 1.139, 1.871, 2.838, 4.057, 5.548, 7.313",\
                 "0.1438, 0.1992, 0.3514, 0.6424, 1.143, 1.872, 2.836, 4.057, 5.542, 7.321",\
                 "0.1694, 0.2282, 0.3822, 0.6644, 1.153, 1.873, 2.835, 4.052, 5.536, 7.311",\
                 "0.1958, 0.2596, 0.4168, 0.6968, 1.178, 1.886, 2.84, 4.05, 5.53, 7.308",\
                 "0.2242, 0.292, 0.4558, 0.7336, 1.214, 1.916, 2.855, 4.057, 5.532, 7.297",\
                 "0.2522, 0.3258, 0.497, 0.7754, 1.251, 1.961, 2.899, 4.079, 5.541, 7.3");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.03075, 0.1352, 0.3346, 0.6453, 1.081, 1.655, 2.378, 3.26, 4.311");
          values("0.08984, 0.1459, 0.3343, 0.7207, 1.338, 2.203, 3.338, 4.772, 6.517, 8.605",\
                 "0.0901, 0.1459, 0.3345, 0.722, 1.338, 2.203, 3.342, 4.774, 6.522, 8.611",\
                 "0.09008, 0.1457, 0.3346, 0.7216, 1.336, 2.202, 3.338, 4.77, 6.529, 8.605",\
                 "0.1047, 0.1584, 0.3406, 0.7226, 1.336, 2.2, 3.343, 4.78, 6.53, 8.605",\
                 "0.1226, 0.1758, 0.3534, 0.7254, 1.336, 2.201, 3.341, 4.776, 6.517, 8.608",\
                 "0.1432, 0.1972, 0.3692, 0.7312, 1.339, 2.2, 3.339, 4.767, 6.521, 8.609",\
                 "0.1658, 0.2214, 0.3928, 0.743, 1.343, 2.203, 3.337, 4.766, 6.515, 8.601",\
                 "0.1902, 0.2484, 0.421, 0.7644, 1.355, 2.206, 3.338, 4.768, 6.521, 8.593",\
                 "0.2142, 0.278, 0.4514, 0.7896, 1.38, 2.225, 3.347, 4.771, 6.513, 8.599",\
                 "0.2406, 0.3088, 0.4852, 0.8208, 1.407, 2.255, 3.371, 4.779, 6.515, 8.596");
        }
      }
    }
  }

