/*
 * 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 : "2.3454e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "2.664e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "2.664e-05" ;
    }

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 0.83 ;
      max_transition : 12 ;
      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.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.006722, 0.02681, 0.06516, 0.1249, 0.2088, 0.3191, 0.4581, 0.6278, 0.83");
          values("0.04965, 0.05011, 0.05119, 0.05204, 0.05255, 0.05286, 0.05302, 0.05312, 0.05319, 0.05321",\
                 "0.04953, 0.04997, 0.05105, 0.05193, 0.05246, 0.05274, 0.0529, 0.05299, 0.05307, 0.05311",\
                 "0.0492, 0.04962, 0.05066, 0.05157, 0.05211, 0.0524, 0.05258, 0.05269, 0.05275, 0.05279",\
                 "0.0488, 0.04915, 0.05003, 0.05095, 0.05158, 0.05195, 0.05217, 0.05231, 0.0524, 0.05246",\
                 "0.04859, 0.04882, 0.04953, 0.05042, 0.0511, 0.05158, 0.05185, 0.05205, 0.05217, 0.05225",\
                 "0.04869, 0.04883, 0.04935, 0.05014, 0.05085, 0.05134, 0.05172, 0.05193, 0.05208, 0.05218",\
                 "0.04914, 0.04919, 0.04953, 0.05015, 0.05083, 0.05138, 0.05175, 0.05201, 0.05219, 0.05231",\
                 "0.04978, 0.0497, 0.0499, 0.05042, 0.05102, 0.05155, 0.05198, 0.05223, 0.05245, 0.05257",\
                 "0.0507, 0.05058, 0.05051, 0.05089, 0.05144, 0.05195, 0.05235, 0.05266, 0.05287, 0.05299",\
                 "0.05187, 0.05158, 0.0514, 0.05168, 0.05206, 0.05254, 0.05295, 0.05326, 0.05353, 0.05344");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.006722, 0.02681, 0.06516, 0.1249, 0.2088, 0.3191, 0.4581, 0.6278, 0.83");
          values("0.03232, 0.03264, 0.03354, 0.03435, 0.03511, 0.03569, 0.0362, 0.03689, 0.03793, 0.05484",\
                 "0.03217, 0.03252, 0.03338, 0.03426, 0.03502, 0.03556, 0.03607, 0.03623, 0.03793, 0.05471",\
                 "0.0318, 0.03217, 0.03295, 0.03385, 0.03462, 0.03517, 0.03578, 0.03592, 0.03726, 0.05469",\
                 "0.0314, 0.03166, 0.03237, 0.03311, 0.03394, 0.03457, 0.0349, 0.03594, 0.03704, 0.05659",\
                 "0.03126, 0.03138, 0.03189, 0.03269, 0.03345, 0.03409, 0.03449, 0.03553, 0.03857, 0.06177",\
                 "0.03129, 0.03138, 0.0316, 0.03239, 0.03309, 0.03367, 0.03468, 0.0349, 0.03853, 0.06983",\
                 "0.03164, 0.03167, 0.03196, 0.03219, 0.03316, 0.03403, 0.03434, 0.03541, 0.04084, 0.08459",\
                 "0.03224, 0.03212, 0.03226, 0.03259, 0.03291, 0.03401, 0.03499, 0.03585, 0.0453, 0.1107",\
                 "0.03311, 0.0329, 0.03299, 0.03309, 0.03367, 0.03416, 0.03541, 0.03751, 0.05473, 0.1547",\
                 "0.03419, 0.03394, 0.03389, 0.03397, 0.03408, 0.03479, 0.03495, 0.03946, 0.07637, 0.2345");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.006722, 0.02681, 0.06516, 0.1249, 0.2088, 0.3191, 0.4581, 0.6278, 0.83");
          values("0.6278, 0.6918, 0.8572, 1.106, 1.458, 1.939, 2.57, 3.363, 4.332, 5.486",\
                 "0.6624, 0.7264, 0.8919, 1.141, 1.492, 1.974, 2.604, 3.398, 4.369, 5.525",\
                 "0.7861, 0.8501, 1.016, 1.265, 1.616, 2.098, 2.729, 3.523, 4.493, 5.65",\
                 "1.027, 1.09, 1.256, 1.505, 1.857, 2.339, 2.969, 3.764, 4.732, 5.884",\
                 "1.379, 1.446, 1.616, 1.867, 2.219, 2.701, 3.332, 4.126, 5.097, 6.248",\
                 "1.775, 1.853, 2.038, 2.299, 2.655, 3.137, 3.767, 4.562, 5.529, 6.688",\
                 "2.196, 2.284, 2.49, 2.764, 3.127, 3.61, 4.241, 5.034, 6.003, 7.161",\
                 "2.639, 2.739, 2.967, 3.257, 3.628, 4.112, 4.745, 5.539, 6.506, 7.659",\
                 "3.104, 3.215, 3.468, 3.776, 4.156, 4.645, 5.277, 6.071, 7.039, 8.192",\
                 "3.594, 3.715, 3.991, 4.323, 4.713, 5.207, 5.838, 6.631, 7.599, 8.754");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.006722, 0.02681, 0.06516, 0.1249, 0.2088, 0.3191, 0.4581, 0.6278, 0.83");
          values("0.5531, 0.6226, 0.8166, 1.147, 1.649, 2.351, 3.274, 4.437, 5.855, 7.544",\
                 "0.5822, 0.6516, 0.8457, 1.176, 1.678, 2.38, 3.303, 4.465, 5.884, 7.565",\
                 "0.6855, 0.755, 0.9488, 1.279, 1.781, 2.482, 3.407, 4.568, 5.987, 7.679",\
                 "0.8827, 0.952, 1.146, 1.476, 1.978, 2.68, 3.603, 4.764, 6.184, 7.876",\
                 "1.124, 1.201, 1.402, 1.733, 2.235, 2.937, 3.859, 5.025, 6.434, 8.131",\
                 "1.353, 1.439, 1.654, 1.99, 2.493, 3.194, 4.117, 5.277, 6.693, 8.38",\
                 "1.562, 1.658, 1.891, 2.233, 2.737, 3.439, 4.361, 5.521, 6.936, 8.628",\
                 "1.747, 1.854, 2.105, 2.459, 2.963, 3.664, 4.585, 5.745, 7.16, 8.853",\
                 "1.903, 2.021, 2.294, 2.66, 3.166, 3.867, 4.789, 5.948, 7.364, 9.051",\
                 "2.03, 2.159, 2.456, 2.836, 3.345, 4.046, 4.967, 6.126, 7.543, 9.231");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.006722, 0.02681, 0.06516, 0.1249, 0.2088, 0.3191, 0.4581, 0.6278, 0.83");
          values("0.2012, 0.2604, 0.4441, 0.7845, 1.342, 2.153, 3.232, 4.596, 6.252, 8.233",\
                 "0.2008, 0.2604, 0.4426, 0.7842, 1.343, 2.152, 3.232, 4.597, 6.263, 8.25",\
                 "0.2009, 0.26, 0.4434, 0.7846, 1.343, 2.152, 3.228, 4.59, 6.263, 8.253",\
                 "0.202, 0.2612, 0.4434, 0.7848, 1.343, 2.151, 3.232, 4.596, 6.252, 8.237",\
                 "0.2236, 0.279, 0.454, 0.789, 1.341, 2.152, 3.233, 4.597, 6.264, 8.235",\
                 "0.273, 0.328, 0.4934, 0.8142, 1.354, 2.152, 3.227, 4.588, 6.256, 8.251",\
                 "0.325, 0.3856, 0.5448, 0.8504, 1.375, 2.163, 3.23, 4.586, 6.253, 8.249",\
                 "0.378, 0.4444, 0.6064, 0.8954, 1.401, 2.178, 3.24, 4.595, 6.255, 8.231",\
                 "0.4302, 0.506, 0.6728, 0.9474, 1.433, 2.194, 3.248, 4.6, 6.256, 8.238",\
                 "0.482, 0.566, 0.746, 1.008, 1.47, 2.214, 3.256, 4.612, 6.262, 8.234");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.006722, 0.02681, 0.06516, 0.1249, 0.2088, 0.3191, 0.4581, 0.6278, 0.83");
          values("0.2081, 0.2797, 0.5392, 1.069, 1.92, 3.119, 4.709, 6.705, 9.112, 12.04",\
                 "0.2068, 0.2805, 0.5399, 1.07, 1.921, 3.118, 4.707, 6.681, 9.112, 12.03",\
                 "0.2069, 0.2798, 0.54, 1.068, 1.921, 3.123, 4.709, 6.679, 9.111, 12.01",\
                 "0.2112, 0.2832, 0.5406, 1.069, 1.92, 3.123, 4.692, 6.698, 9.109, 12",\
                 "0.244, 0.312, 0.556, 1.072, 1.92, 3.12, 4.698, 6.705, 9.123, 12",\
                 "0.2868, 0.3534, 0.586, 1.087, 1.923, 3.116, 4.704, 6.686, 9.114, 12.02",\
                 "0.3336, 0.4034, 0.624, 1.102, 1.93, 3.12, 4.699, 6.69, 9.127, 12",\
                 "0.3806, 0.4544, 0.668, 1.125, 1.941, 3.13, 4.698, 6.686, 9.116, 12.01",\
                 "0.429, 0.5114, 0.7218, 1.156, 1.951, 3.135, 4.703, 6.684, 9.106, 12.01",\
                 "0.4738, 0.565, 0.7814, 1.19, 1.966, 3.142, 4.718, 6.69, 9.108, 12");
        }
      }
    }
  }

