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

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

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

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

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

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

    pin(I) {
      capacitance : 0.00486 ;
      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 : 0.7723 ;
      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.006324, 0.02501, 0.0607, 0.1163, 0.1943, 0.297, 0.4263, 0.5841, 0.7723");
          values("0.04112, 0.04148, 0.04231, 0.043, 0.0434, 0.04362, 0.04375, 0.04382, 0.04377, 0.04333",\
                 "0.04104, 0.04142, 0.04224, 0.04294, 0.04334, 0.04357, 0.04369, 0.04375, 0.04369, 0.04323",\
                 "0.04081, 0.04118, 0.04199, 0.0427, 0.04311, 0.04334, 0.04347, 0.04353, 0.04345, 0.04293",\
                 "0.04052, 0.04083, 0.04156, 0.04227, 0.04274, 0.04302, 0.04318, 0.04325, 0.04313, 0.04247",\
                 "0.04021, 0.04046, 0.0411, 0.04181, 0.04233, 0.04267, 0.04289, 0.04298, 0.04274, 0.04181",\
                 "0.04003, 0.04023, 0.04079, 0.04145, 0.04201, 0.0424, 0.04264, 0.04269, 0.04215, 0.04081",\
                 "0.04, 0.04015, 0.04061, 0.04121, 0.04179, 0.04221, 0.04243, 0.04221, 0.04099, 0.03928",\
                 "0.04007, 0.04022, 0.04057, 0.04112, 0.04165, 0.04208, 0.04193, 0.04059, 0.03873, 0.03728",\
                 "0.03997, 0.04003, 0.04033, 0.04079, 0.04116, 0.04027, 0.03808, 0.0364, 0.03523, 0.03443",\
                 "0.03058, 0.0292, 0.02637, 0.025, 0.02451, 0.02447, 0.02456, 0.02471, 0.02479, 0.02488");
        }

        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.006324, 0.02501, 0.0607, 0.1163, 0.1943, 0.297, 0.4263, 0.5841, 0.7723");
          values("0.02286, 0.02315, 0.02384, 0.02452, 0.02503, 0.02546, 0.02676, 0.04613, 0.1524, 0.3809",\
                 "0.02274, 0.02306, 0.02376, 0.02449, 0.02498, 0.02539, 0.02653, 0.04704, 0.1558, 0.3858",\
                 "0.02252, 0.02283, 0.02349, 0.0242, 0.0247, 0.0252, 0.02696, 0.05049, 0.1677, 0.4022",\
                 "0.02218, 0.02242, 0.02294, 0.02366, 0.02428, 0.02464, 0.02693, 0.05819, 0.1945, 0.4299",\
                 "0.02187, 0.02205, 0.02257, 0.02316, 0.02386, 0.02432, 0.02888, 0.0753, 0.2374, 0.4683",\
                 "0.02169, 0.02184, 0.02225, 0.02279, 0.02347, 0.02435, 0.03361, 0.1093, 0.2972, 0.5046",\
                 "0.02165, 0.02177, 0.0221, 0.02246, 0.02328, 0.02482, 0.04933, 0.1697, 0.3609, 0.5226",\
                 "0.02171, 0.02182, 0.0221, 0.02248, 0.02287, 0.0301, 0.09615, 0.2526, 0.3985, 0.5028",\
                 "0.02196, 0.02204, 0.02229, 0.02265, 0.02498, 0.06738, 0.1878, 0.2953, 0.3682, 0.4186",\
                 "0.02264, 0.02266, 0.02291, 0.02718, 0.07779, 0.1426, 0.1832, 0.2086, 0.2251, 0.2364");
        }
      }

      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.006324, 0.02501, 0.0607, 0.1163, 0.1943, 0.297, 0.4263, 0.5841, 0.7723");
          values("1.506, 1.634, 1.97, 2.472, 3.173, 4.122, 5.362, 6.922, 8.83, 11.1",\
                 "1.585, 1.713, 2.049, 2.552, 3.252, 4.201, 5.442, 7.002, 8.905, 11.18",\
                 "1.866, 1.993, 2.33, 2.833, 3.534, 4.483, 5.723, 7.283, 9.188, 11.46",\
                 "2.41, 2.537, 2.873, 3.376, 4.077, 5.027, 6.268, 7.827, 9.733, 12",\
                 "3.248, 3.378, 3.715, 4.22, 4.921, 5.872, 7.113, 8.672, 10.58, 12.85",\
                 "4.289, 4.432, 4.79, 5.308, 6.014, 6.965, 8.206, 9.765, 11.67, 13.95",\
                 "5.431, 5.594, 5.988, 6.53, 7.248, 8.205, 9.447, 11.01, 12.91, 15.19",\
                 "6.666, 6.851, 7.285, 7.855, 8.59, 9.552, 10.8, 12.36, 14.26, 16.53",\
                 "7.988, 8.196, 8.677, 9.283, 10.04, 11.01, 12.26, 13.82, 15.72, 17.99",\
                 "9.397, 9.629, 10.16, 10.81, 11.59, 12.57, 13.81, 15.38, 17.28, 19.55");
        }

        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.006324, 0.02501, 0.0607, 0.1163, 0.1943, 0.297, 0.4263, 0.5841, 0.7723");
          values("1.256, 1.398, 1.806, 2.504, 3.563, 5.045, 6.991, 9.439, 12.44, 15.99",\
                 "1.324, 1.467, 1.875, 2.573, 3.633, 5.114, 7.062, 9.504, 12.5, 16.05",\
                 "1.568, 1.711, 2.118, 2.816, 3.876, 5.358, 7.3, 9.748, 12.74, 16.3",\
                 "2.035, 2.177, 2.584, 3.281, 4.342, 5.824, 7.773, 10.22, 13.2, 16.77",\
                 "2.679, 2.828, 3.243, 3.942, 5.003, 6.485, 8.433, 10.89, 13.88, 17.43",\
                 "3.356, 3.521, 3.959, 4.668, 5.729, 7.21, 9.156, 11.6, 14.6, 18.17",\
                 "4.042, 4.224, 4.691, 5.412, 6.476, 7.958, 9.903, 12.35, 15.34, 18.9",\
                 "4.722, 4.928, 5.426, 6.163, 7.23, 8.712, 10.66, 13.11, 16.09, 19.65",\
                 "5.388, 5.616, 6.154, 6.912, 7.984, 9.465, 11.41, 13.86, 16.85, 20.41",\
                 "6.028, 6.279, 6.866, 7.649, 8.727, 10.21, 12.15, 14.6, 17.59, 21.15");
        }

        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.006324, 0.02501, 0.0607, 0.1163, 0.1943, 0.297, 0.4263, 0.5841, 0.7723");
          values("0.446, 0.5642, 0.9326, 1.608, 2.696, 4.284, 6.407, 9.093, 12.38, 16.3",\
                 "0.4452, 0.5656, 0.9328, 1.606, 2.697, 4.279, 6.407, 9.092, 12.36, 16.3",\
                 "0.445, 0.5656, 0.9334, 1.607, 2.698, 4.281, 6.408, 9.096, 12.36, 16.26",\
                 "0.4456, 0.5648, 0.934, 1.608, 2.696, 4.285, 6.408, 9.095, 12.37, 16.29",\
                 "0.4616, 0.5772, 0.9418, 1.612, 2.695, 4.285, 6.404, 9.094, 12.36, 16.29",\
                 "0.5404, 0.6518, 0.9958, 1.64, 2.711, 4.288, 6.406, 9.096, 12.37, 16.29",\
                 "0.644, 0.756, 1.088, 1.714, 2.754, 4.3, 6.41, 9.088, 12.37, 16.26",\
                 "0.758, 0.878, 1.198, 1.798, 2.81, 4.336, 6.42, 9.082, 12.34, 16.24",\
                 "0.878, 1.006, 1.332, 1.906, 2.88, 4.382, 6.45, 9.106, 12.36, 16.27",\
                 "1.004, 1.144, 1.478, 2.02, 2.958, 4.416, 6.48, 9.132, 12.37, 16.26");
        }

        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.006324, 0.02501, 0.0607, 0.1163, 0.1943, 0.297, 0.4263, 0.5841, 0.7723");
          values("0.4638, 0.6174, 1.164, 2.265, 4.034, 6.516, 9.797, 13.92, 18.98, 24.96",\
                 "0.463, 0.6164, 1.163, 2.265, 4.031, 6.518, 9.802, 13.92, 18.96, 25.01",\
                 "0.4634, 0.6164, 1.163, 2.264, 4.031, 6.523, 9.809, 13.94, 18.98, 25.03",\
                 "0.466, 0.619, 1.162, 2.265, 4.035, 6.514, 9.801, 13.92, 18.99, 24.97",\
                 "0.5122, 0.6568, 1.18, 2.265, 4.035, 6.523, 9.795, 13.93, 18.98, 24.96",\
                 "0.59, 0.731, 1.234, 2.29, 4.038, 6.529, 9.802, 13.95, 18.97, 24.97",\
                 "0.6808, 0.8184, 1.3, 2.322, 4.05, 6.528, 9.806, 13.95, 18.96, 24.97",\
                 "0.782, 0.92, 1.378, 2.366, 4.074, 6.546, 9.804, 13.92, 18.96, 25.02",\
                 "0.892, 1.032, 1.476, 2.422, 4.09, 6.556, 9.824, 13.93, 18.98, 25",\
                 "1.01, 1.158, 1.588, 2.488, 4.12, 6.584, 9.828, 13.94, 18.97, 24.97");
        }
      }
    }
  }

