/*
 * 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_4) {
    area : 30.732800 ;

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

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

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

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 0.924 ;
      max_transition : 5 ;
      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.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.007371, 0.02973, 0.07244, 0.139, 0.2323, 0.3552, 0.5099, 0.6988, 0.924");
          values("0.3419, 0.3379, 0.335, 0.3358, 0.3366, 0.3378, 0.3383, 0.3388, 0.3388, 0.339",\
                 "0.341, 0.3369, 0.3339, 0.3344, 0.3355, 0.3366, 0.3371, 0.3375, 0.3382, 0.3382",\
                 "0.3422, 0.3378, 0.3347, 0.3353, 0.3362, 0.3373, 0.3381, 0.3385, 0.3391, 0.3394",\
                 "0.3613, 0.3555, 0.3489, 0.3464, 0.3466, 0.347, 0.3476, 0.3482, 0.3484, 0.3487",\
                 "0.401, 0.392, 0.3795, 0.3721, 0.3698, 0.3689, 0.3691, 0.3691, 0.3692, 0.3692",\
                 "0.4588, 0.4464, 0.4273, 0.4157, 0.4088, 0.4058, 0.4046, 0.4039, 0.4032, 0.4034",\
                 "0.5356, 0.5192, 0.4945, 0.4763, 0.4659, 0.4585, 0.4554, 0.4538, 0.4525, 0.4524",\
                 "0.6314, 0.6114, 0.5801, 0.5552, 0.5398, 0.5302, 0.5236, 0.5204, 0.5179, 0.5168",\
                 "0.7457, 0.723, 0.6843, 0.6541, 0.632, 0.6184, 0.6088, 0.6038, 0.6006, 0.5982",\
                 "0.8794, 0.854, 0.8085, 0.7712, 0.7445, 0.7256, 0.7133, 0.7056, 0.7004, 0.6969");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.007371, 0.02973, 0.07244, 0.139, 0.2323, 0.3552, 0.5099, 0.6988, 0.924");
          values("0.2595, 0.2511, 0.2411, 0.236, 0.2354, 0.2361, 0.2395, 0.2409, 0.2454, 0.2495",\
                 "0.2578, 0.2488, 0.2395, 0.2342, 0.2337, 0.2352, 0.2386, 0.2418, 0.2431, 0.2486",\
                 "0.2574, 0.2491, 0.2383, 0.2345, 0.2325, 0.2339, 0.2363, 0.2405, 0.2458, 0.2486",\
                 "0.2732, 0.2632, 0.2501, 0.2432, 0.2405, 0.2406, 0.2431, 0.245, 0.2508, 0.2536",\
                 "0.3125, 0.299, 0.281, 0.2695, 0.2628, 0.2622, 0.2642, 0.2661, 0.2706, 0.2729",\
                 "0.3666, 0.349, 0.3263, 0.3097, 0.3019, 0.296, 0.2957, 0.2972, 0.3012, 0.3031",\
                 "0.4387, 0.4186, 0.3896, 0.3663, 0.3547, 0.35, 0.3475, 0.3453, 0.3466, 0.3508",\
                 "0.5295, 0.5064, 0.469, 0.4416, 0.4252, 0.4125, 0.4123, 0.4079, 0.4033, 0.407",\
                 "0.6382, 0.613, 0.5708, 0.5348, 0.5102, 0.4944, 0.4888, 0.4929, 0.4924, 0.4858",\
                 "0.7656, 0.7388, 0.686, 0.6456, 0.618, 0.5952, 0.5864, 0.5847, 0.5869, 0.5848");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.007371, 0.02973, 0.07244, 0.139, 0.2323, 0.3552, 0.5099, 0.6988, 0.924");
          values("0.2296, 0.2608, 0.3492, 0.4948, 0.7134, 1.019, 1.421, 1.926, 2.544, 3.28",\
                 "0.2389, 0.27, 0.3585, 0.5041, 0.7227, 1.028, 1.43, 1.936, 2.553, 3.291",\
                 "0.2747, 0.3059, 0.3941, 0.5394, 0.7581, 1.064, 1.465, 1.971, 2.589, 3.326",\
                 "0.345, 0.3758, 0.4633, 0.6082, 0.8263, 1.132, 1.533, 2.04, 2.657, 3.393",\
                 "0.4307, 0.4628, 0.5529, 0.6984, 0.9154, 1.22, 1.621, 2.127, 2.746, 3.482",\
                 "0.5241, 0.5581, 0.6506, 0.7973, 1.014, 1.318, 1.719, 2.225, 2.841, 3.577",\
                 "0.6235, 0.6598, 0.7561, 0.9053, 1.122, 1.425, 1.825, 2.33, 2.946, 3.682",\
                 "0.7284, 0.7672, 0.8679, 1.021, 1.238, 1.541, 1.941, 2.445, 3.062, 3.796",\
                 "0.8375, 0.8789, 0.9848, 1.142, 1.363, 1.667, 2.066, 2.57, 3.186, 3.92",\
                 "0.9505, 0.9946, 1.106, 1.269, 1.493, 1.799, 2.2, 2.703, 3.318, 4.053");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.007371, 0.02973, 0.07244, 0.139, 0.2323, 0.3552, 0.5099, 0.6988, 0.924");
          values("0.2501, 0.2775, 0.3524, 0.476, 0.6645, 0.929, 1.277, 1.716, 2.251, 2.891",\
                 "0.2566, 0.2839, 0.3591, 0.4825, 0.671, 0.9357, 1.284, 1.724, 2.26, 2.898",\
                 "0.2841, 0.3114, 0.386, 0.5099, 0.6981, 0.9627, 1.311, 1.751, 2.287, 2.927",\
                 "0.3412, 0.3685, 0.4429, 0.566, 0.7539, 1.018, 1.367, 1.805, 2.343, 2.98",\
                 "0.4072, 0.4371, 0.5148, 0.6384, 0.8253, 1.089, 1.437, 1.876, 2.413, 3.05",\
                 "0.4726, 0.5049, 0.5865, 0.7121, 0.898, 1.161, 1.508, 1.947, 2.482, 3.12",\
                 "0.539, 0.5736, 0.6598, 0.7874, 0.9731, 1.235, 1.582, 2.019, 2.554, 3.193",\
                 "0.6029, 0.6401, 0.7318, 0.8636, 1.05, 1.309, 1.656, 2.093, 2.627, 3.265",\
                 "0.6641, 0.704, 0.8016, 0.9377, 1.126, 1.386, 1.731, 2.167, 2.702, 3.339",\
                 "0.7217, 0.7642, 0.868, 1.009, 1.2, 1.462, 1.808, 2.244, 2.776, 3.413");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.007371, 0.02973, 0.07244, 0.139, 0.2323, 0.3552, 0.5099, 0.6988, 0.924");
          values("0.07894, 0.1152, 0.2255, 0.4394, 0.7891, 1.289, 1.945, 2.775, 3.785, 4.991",\
                 "0.07918, 0.1154, 0.2247, 0.4388, 0.7894, 1.287, 1.946, 2.774, 3.785, 4.99",\
                 "0.07912, 0.1153, 0.2252, 0.4383, 0.7894, 1.289, 1.947, 2.773, 3.788, 4.994",\
                 "0.0819, 0.1179, 0.227, 0.4389, 0.7897, 1.288, 1.948, 2.773, 3.785, 4.99",\
                 "0.09276, 0.1287, 0.2358, 0.443, 0.789, 1.287, 1.944, 2.778, 3.787, 4.989",\
                 "0.1052, 0.1404, 0.248, 0.4502, 0.7926, 1.29, 1.945, 2.777, 3.783, 4.99",\
                 "0.12, 0.1566, 0.2634, 0.4594, 0.7964, 1.29, 1.947, 2.774, 3.784, 4.989",\
                 "0.1358, 0.1738, 0.2818, 0.4758, 0.8036, 1.292, 1.947, 2.775, 3.788, 4.996",\
                 "0.1526, 0.1926, 0.3024, 0.4942, 0.8188, 1.301, 1.951, 2.775, 3.786, 4.993",\
                 "0.1694, 0.2114, 0.3242, 0.5168, 0.8374, 1.318, 1.961, 2.778, 3.785, 4.99");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.007371, 0.02973, 0.07244, 0.139, 0.2323, 0.3552, 0.5099, 0.6988, 0.924");
          values("0.08308, 0.1119, 0.2074, 0.4013, 0.7225, 1.18, 1.781, 2.54, 3.465, 4.57",\
                 "0.08306, 0.1119, 0.2073, 0.4013, 0.7228, 1.18, 1.78, 2.538, 3.463, 4.569",\
                 "0.08294, 0.1115, 0.2075, 0.4011, 0.7225, 1.179, 1.783, 2.541, 3.468, 4.563",\
                 "0.08514, 0.113, 0.2087, 0.4019, 0.7232, 1.18, 1.782, 2.54, 3.464, 4.57",\
                 "0.09944, 0.1282, 0.2181, 0.405, 0.724, 1.18, 1.78, 2.535, 3.468, 4.571",\
                 "0.1108, 0.1414, 0.2302, 0.411, 0.7248, 1.179, 1.779, 2.539, 3.46, 4.565",\
                 "0.1256, 0.1564, 0.2456, 0.4194, 0.7274, 1.18, 1.78, 2.536, 3.461, 4.562",\
                 "0.1408, 0.175, 0.2634, 0.4316, 0.7316, 1.181, 1.78, 2.535, 3.457, 4.563",\
                 "0.156, 0.1936, 0.2844, 0.4484, 0.7408, 1.186, 1.781, 2.536, 3.458, 4.562",\
                 "0.1742, 0.211, 0.305, 0.4684, 0.7552, 1.196, 1.788, 2.539, 3.464, 4.557");
        }
      }
    }
  }

