/*
 * 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_20) {
    area : 136.102400 ;

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

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

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

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

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

    pin(I) {
      capacitance : 0.02806 ;
      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 : 4.743 ;
      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.03373, 0.1486, 0.368, 0.7098, 1.189, 1.82, 2.616, 3.586, 4.743");
          values("1.773, 1.751, 1.732, 1.731, 1.734, 1.737, 1.74, 1.741, 1.743, 1.743",\
                 "1.769, 1.746, 1.728, 1.729, 1.73, 1.734, 1.737, 1.738, 1.739, 1.74",\
                 "1.779, 1.754, 1.732, 1.734, 1.738, 1.742, 1.745, 1.747, 1.748, 1.749",\
                 "1.876, 1.846, 1.808, 1.794, 1.793, 1.794, 1.798, 1.8, 1.802, 1.803",\
                 "2.087, 2.038, 1.973, 1.936, 1.918, 1.915, 1.914, 1.913, 1.913, 1.914",\
                 "2.397, 2.33, 2.234, 2.168, 2.132, 2.115, 2.107, 2.104, 2.102, 2.1",\
                 "2.808, 2.722, 2.596, 2.499, 2.441, 2.404, 2.386, 2.374, 2.369, 2.365",\
                 "3.322, 3.22, 3.056, 2.926, 2.836, 2.785, 2.756, 2.735, 2.724, 2.717",\
                 "3.941, 3.823, 3.62, 3.459, 3.339, 3.265, 3.218, 3.187, 3.168, 3.157",\
                 "4.663, 4.53, 4.292, 4.097, 3.945, 3.844, 3.779, 3.736, 3.711, 3.691");
        }

        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.03373, 0.1486, 0.368, 0.7098, 1.189, 1.82, 2.616, 3.586, 4.743");
          values("1.404, 1.361, 1.307, 1.288, 1.284, 1.283, 1.299, 1.31, 1.331, 1.354",\
                 "1.398, 1.352, 1.305, 1.283, 1.275, 1.279, 1.298, 1.31, 1.331, 1.354",\
                 "1.397, 1.355, 1.3, 1.281, 1.273, 1.277, 1.292, 1.306, 1.326, 1.363",\
                 "1.483, 1.433, 1.368, 1.331, 1.313, 1.318, 1.335, 1.351, 1.376, 1.386",\
                 "1.683, 1.616, 1.53, 1.471, 1.438, 1.434, 1.444, 1.459, 1.475, 1.485",\
                 "1.966, 1.886, 1.767, 1.689, 1.641, 1.609, 1.611, 1.616, 1.637, 1.642",\
                 "2.347, 2.245, 2.101, 1.982, 1.913, 1.893, 1.871, 1.859, 1.88, 1.876",\
                 "2.822, 2.709, 2.531, 2.388, 2.286, 2.23, 2.232, 2.219, 2.199, 2.2",\
                 "3.397, 3.266, 3.048, 2.878, 2.743, 2.673, 2.636, 2.647, 2.622, 2.619",\
                 "4.072, 3.932, 3.676, 3.465, 3.328, 3.207, 3.159, 3.137, 3.14, 3.141");
        }
      }

      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.03373, 0.1486, 0.368, 0.7098, 1.189, 1.82, 2.616, 3.586, 4.743");
          values("0.2359, 0.2675, 0.3569, 0.5033, 0.7224, 1.028, 1.43, 1.937, 2.556, 3.293",\
                 "0.2453, 0.2769, 0.3663, 0.5127, 0.7317, 1.037, 1.439, 1.946, 2.564, 3.301",\
                 "0.2816, 0.3132, 0.4023, 0.5486, 0.7676, 1.073, 1.476, 1.982, 2.601, 3.339",\
                 "0.3533, 0.3846, 0.4733, 0.6189, 0.8374, 1.143, 1.545, 2.052, 2.671, 3.408",\
                 "0.4433, 0.476, 0.5667, 0.7128, 0.9306, 1.236, 1.637, 2.144, 2.762, 3.5",\
                 "0.5432, 0.5776, 0.6709, 0.8184, 1.035, 1.34, 1.741, 2.247, 2.866, 3.602",\
                 "0.6502, 0.6868, 0.7845, 0.9343, 1.152, 1.456, 1.856, 2.361, 2.979, 3.715",\
                 "0.7646, 0.8036, 0.9055, 1.06, 1.279, 1.582, 1.981, 2.487, 3.104, 3.84",\
                 "0.8851, 0.9268, 1.035, 1.194, 1.416, 1.72, 2.119, 2.624, 3.24, 3.976",\
                 "1.012, 1.057, 1.17, 1.334, 1.56, 1.868, 2.269, 2.773, 3.39, 4.125");
        }

        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.03373, 0.1486, 0.368, 0.7098, 1.189, 1.82, 2.616, 3.586, 4.743");
          values("0.2506, 0.2786, 0.3557, 0.4839, 0.6787, 0.9523, 1.313, 1.765, 2.32, 2.98",\
                 "0.2571, 0.2849, 0.3625, 0.4904, 0.6851, 0.9584, 1.318, 1.773, 2.326, 2.985",\
                 "0.2838, 0.3118, 0.3887, 0.5169, 0.7116, 0.985, 1.345, 1.799, 2.352, 3.013",\
                 "0.3393, 0.3671, 0.4439, 0.5714, 0.7656, 1.039, 1.398, 1.853, 2.407, 3.068",\
                 "0.4019, 0.4319, 0.5119, 0.6399, 0.8331, 1.106, 1.465, 1.919, 2.473, 3.134",\
                 "0.4622, 0.495, 0.578, 0.7079, 0.9005, 1.172, 1.531, 1.984, 2.538, 3.199",\
                 "0.5214, 0.5563, 0.6443, 0.7755, 0.9679, 1.238, 1.597, 2.048, 2.602, 3.262",\
                 "0.5764, 0.6142, 0.7073, 0.843, 1.035, 1.304, 1.662, 2.114, 2.666, 3.325",\
                 "0.6264, 0.6666, 0.766, 0.906, 1.1, 1.37, 1.726, 2.177, 2.729, 3.387",\
                 "0.6708, 0.7139, 0.8192, 0.964, 1.162, 1.433, 1.79, 2.24, 2.791, 3.449");
        }

        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.03373, 0.1486, 0.368, 0.7098, 1.189, 1.82, 2.616, 3.586, 4.743");
          values("0.08184, 0.1181, 0.2279, 0.4409, 0.7905, 1.29, 1.95, 2.778, 3.792, 4.997",\
                 "0.08162, 0.1181, 0.2285, 0.4411, 0.7907, 1.292, 1.951, 2.778, 3.79, 4.996",\
                 "0.08156, 0.118, 0.2286, 0.4414, 0.7912, 1.29, 1.95, 2.778, 3.792, 4.997",\
                 "0.0841, 0.1203, 0.2298, 0.4415, 0.7914, 1.29, 1.95, 2.779, 3.793, 5.001",\
                 "0.09494, 0.1305, 0.2386, 0.4456, 0.7916, 1.291, 1.949, 2.778, 3.79, 4.999",\
                 "0.1078, 0.143, 0.2514, 0.453, 0.7946, 1.291, 1.949, 2.777, 3.794, 4.995",\
                 "0.123, 0.1594, 0.2676, 0.4634, 0.7988, 1.292, 1.951, 2.777, 3.791, 4.995",\
                 "0.139, 0.178, 0.2864, 0.4802, 0.809, 1.296, 1.95, 2.779, 3.79, 4.996",\
                 "0.1566, 0.1982, 0.307, 0.5006, 0.8252, 1.306, 1.955, 2.779, 3.79, 5.003",\
                 "0.1734, 0.2164, 0.3292, 0.523, 0.8444, 1.325, 1.967, 2.785, 3.791, 4.997");
        }

        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.03373, 0.1486, 0.368, 0.7098, 1.189, 1.82, 2.616, 3.586, 4.743");
          values("0.08418, 0.1137, 0.2144, 0.4159, 0.7479, 1.22, 1.842, 2.623, 3.579, 4.722",\
                 "0.0842, 0.1142, 0.2145, 0.4154, 0.7473, 1.219, 1.839, 2.628, 3.58, 4.724",\
                 "0.08418, 0.1139, 0.2143, 0.4155, 0.748, 1.22, 1.843, 2.627, 3.583, 4.726",\
                 "0.08628, 0.1156, 0.2159, 0.4163, 0.7469, 1.219, 1.839, 2.624, 3.585, 4.719",\
                 "0.09974, 0.13, 0.2252, 0.4196, 0.7484, 1.219, 1.839, 2.627, 3.584, 4.725",\
                 "0.1122, 0.1426, 0.237, 0.4258, 0.7498, 1.219, 1.839, 2.622, 3.583, 4.717",\
                 "0.1262, 0.158, 0.2512, 0.4332, 0.7522, 1.22, 1.84, 2.622, 3.579, 4.724",\
                 "0.1418, 0.1766, 0.2694, 0.4458, 0.7564, 1.221, 1.84, 2.621, 3.576, 4.716",\
                 "0.1582, 0.1942, 0.2892, 0.4626, 0.767, 1.226, 1.841, 2.622, 3.574, 4.718",\
                 "0.1744, 0.2132, 0.3096, 0.482, 0.781, 1.237, 1.848, 2.624, 3.575, 4.71");
        }
      }
    }
  }

