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

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

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

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 1.447 ;
      max_transition : 7.4 ;
      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.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
          index_2("0.001, 0.01098, 0.04602, 0.1129, 0.2172, 0.3634, 0.5559, 0.7984, 1.094, 1.447");
          values("0.2475, 0.2388, 0.2308, 0.2276, 0.2259, 0.225, 0.2246, 0.2243, 0.2241, 0.224",\
                 "0.2474, 0.2385, 0.2309, 0.2274, 0.2259, 0.225, 0.2244, 0.2242, 0.224, 0.2239",\
                 "0.2572, 0.2474, 0.2378, 0.2337, 0.2319, 0.2309, 0.2303, 0.23, 0.2299, 0.2297",\
                 "0.3004, 0.2864, 0.2688, 0.2598, 0.2553, 0.2528, 0.2515, 0.2506, 0.2501, 0.2499",\
                 "0.3749, 0.3562, 0.3285, 0.3111, 0.3019, 0.2966, 0.2934, 0.2917, 0.2904, 0.2895",\
                 "0.4799, 0.4565, 0.418, 0.3911, 0.3751, 0.3653, 0.3596, 0.3558, 0.3534, 0.3517",\
                 "0.6146, 0.5879, 0.5379, 0.5008, 0.4757, 0.4608, 0.451, 0.4448, 0.4407, 0.4378",\
                 "0.7806, 0.7506, 0.6909, 0.6419, 0.6076, 0.585, 0.5707, 0.5613, 0.5542, 0.5497",\
                 "0.9784, 0.9456, 0.8759, 0.8158, 0.7712, 0.7404, 0.7198, 0.7059, 0.6963, 0.6893",\
                 "1.209, 1.174, 1.097, 1.023, 0.9691, 0.9288, 0.901, 0.8815, 0.8677, 0.8578");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
          index_2("0.001, 0.01098, 0.04602, 0.1129, 0.2172, 0.3634, 0.5559, 0.7984, 1.094, 1.447");
          values("0.1886, 0.176, 0.1653, 0.1611, 0.1596, 0.1607, 0.1615, 0.1644, 0.1677, 0.1772",\
                 "0.1877, 0.1755, 0.1643, 0.1595, 0.1592, 0.16, 0.1615, 0.1633, 0.167, 0.1787",\
                 "0.1951, 0.1823, 0.1693, 0.164, 0.1624, 0.1629, 0.1655, 0.1662, 0.1699, 0.1804",\
                 "0.235, 0.2184, 0.1994, 0.1885, 0.1841, 0.1834, 0.1849, 0.1863, 0.1886, 0.1995",\
                 "0.3039, 0.282, 0.2531, 0.2374, 0.2275, 0.2244, 0.2238, 0.2238, 0.2246, 0.2393",\
                 "0.4015, 0.3758, 0.337, 0.3099, 0.2969, 0.29, 0.2853, 0.2835, 0.2826, 0.2968",\
                 "0.5282, 0.4989, 0.4494, 0.4126, 0.3902, 0.381, 0.3743, 0.3685, 0.3683, 0.3815",\
                 "0.6837, 0.652, 0.5906, 0.5439, 0.5137, 0.4948, 0.4877, 0.4819, 0.4801, 0.4941",\
                 "0.8699, 0.8358, 0.7651, 0.707, 0.6648, 0.6399, 0.6227, 0.6189, 0.6148, 0.6359",\
                 "1.088, 1.051, 0.9715, 0.9032, 0.8521, 0.8159, 0.7897, 0.7798, 0.7825, 0.8129");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
          index_2("0.001, 0.01098, 0.04602, 0.1129, 0.2172, 0.3634, 0.5559, 0.7984, 1.094, 1.447");
          values("0.2075, 0.2485, 0.3598, 0.5435, 0.8212, 1.21, 1.722, 2.369, 3.157, 4.098",\
                 "0.2205, 0.2614, 0.3727, 0.5564, 0.8342, 1.223, 1.735, 2.382, 3.169, 4.11",\
                 "0.2726, 0.3131, 0.4236, 0.6071, 0.8845, 1.274, 1.786, 2.431, 3.221, 4.161",\
                 "0.3592, 0.401, 0.5123, 0.6947, 0.9711, 1.359, 1.871, 2.516, 3.305, 4.246",\
                 "0.4577, 0.5025, 0.6174, 0.8021, 1.077, 1.464, 1.976, 2.62, 3.408, 4.347",\
                 "0.5624, 0.6115, 0.7332, 0.9235, 1.199, 1.585, 2.094, 2.738, 3.525, 4.462",\
                 "0.6733, 0.726, 0.8563, 1.053, 1.336, 1.724, 2.232, 2.873, 3.66, 4.598",\
                 "0.7891, 0.847, 0.9855, 1.19, 1.48, 1.876, 2.388, 3.029, 3.813, 4.749",\
                 "0.911, 0.9733, 1.121, 1.334, 1.631, 2.037, 2.559, 3.205, 3.989, 4.924",\
                 "1.04, 1.107, 1.264, 1.485, 1.79, 2.203, 2.737, 3.396, 4.186, 5.121");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
          index_2("0.001, 0.01098, 0.04602, 0.1129, 0.2172, 0.3634, 0.5559, 0.7984, 1.094, 1.447");
          values("0.2246, 0.2633, 0.3707, 0.5568, 0.8446, 1.25, 1.782, 2.456, 3.277, 4.251",\
                 "0.2336, 0.2725, 0.3796, 0.5658, 0.8541, 1.259, 1.792, 2.465, 3.284, 4.263",\
                 "0.2731, 0.3116, 0.4181, 0.604, 0.8917, 1.296, 1.83, 2.501, 3.321, 4.299",\
                 "0.3383, 0.3789, 0.4858, 0.6702, 0.9568, 1.361, 1.894, 2.566, 3.385, 4.366",\
                 "0.4029, 0.4468, 0.5578, 0.7417, 1.026, 1.429, 1.961, 2.632, 3.452, 4.431",\
                 "0.4615, 0.51, 0.6273, 0.8142, 1.098, 1.499, 2.029, 2.699, 3.519, 4.495",\
                 "0.5125, 0.5656, 0.6915, 0.8838, 1.17, 1.57, 2.1, 2.767, 3.587, 4.563",\
                 "0.5548, 0.6128, 0.7479, 0.946, 1.236, 1.643, 2.172, 2.839, 3.656, 4.63",\
                 "0.5871, 0.6496, 0.7944, 1, 1.296, 1.708, 2.244, 2.914, 3.729, 4.703",\
                 "0.6092, 0.6758, 0.8316, 1.046, 1.347, 1.765, 2.31, 2.988, 3.806, 4.779");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
          index_2("0.001, 0.01098, 0.04602, 0.1129, 0.2172, 0.3634, 0.5559, 0.7984, 1.094, 1.447");
          values("0.08244, 0.1298, 0.2791, 0.5683, 1.043, 1.715, 2.603, 3.719, 5.084, 6.701",\
                 "0.08258, 0.1303, 0.2784, 0.568, 1.043, 1.715, 2.602, 3.721, 5.087, 6.711",\
                 "0.08314, 0.1308, 0.2791, 0.5695, 1.041, 1.714, 2.602, 3.721, 5.083, 6.71",\
                 "0.09642, 0.1434, 0.2868, 0.5715, 1.043, 1.715, 2.602, 3.719, 5.085, 6.712",\
                 "0.118, 0.1662, 0.3066, 0.5808, 1.044, 1.715, 2.6, 3.714, 5.078, 6.712",\
                 "0.145, 0.1952, 0.3354, 0.6034, 1.053, 1.715, 2.601, 3.715, 5.086, 6.71",\
                 "0.173, 0.2274, 0.367, 0.6366, 1.081, 1.73, 2.601, 3.711, 5.081, 6.7",\
                 "0.2036, 0.2636, 0.406, 0.6736, 1.121, 1.766, 2.623, 3.717, 5.075, 6.705",\
                 "0.2356, 0.299, 0.447, 0.715, 1.165, 1.817, 2.671, 3.746, 5.082, 6.694",\
                 "0.27, 0.3382, 0.494, 0.7572, 1.21, 1.873, 2.738, 3.809, 5.124, 6.709");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
          index_2("0.001, 0.01098, 0.04602, 0.1129, 0.2172, 0.3634, 0.5559, 0.7984, 1.094, 1.447");
          values("0.08972, 0.1364, 0.2957, 0.6251, 1.152, 1.896, 2.874, 4.105, 5.603, 7.399",\
                 "0.08978, 0.1361, 0.2957, 0.6237, 1.153, 1.896, 2.874, 4.109, 5.604, 7.397",\
                 "0.08966, 0.1362, 0.2963, 0.6238, 1.151, 1.895, 2.869, 4.101, 5.603, 7.398",\
                 "0.1033, 0.1479, 0.302, 0.6246, 1.153, 1.895, 2.874, 4.103, 5.602, 7.393",\
                 "0.1238, 0.168, 0.3148, 0.6302, 1.154, 1.893, 2.868, 4.099, 5.603, 7.396",\
                 "0.146, 0.1946, 0.3382, 0.6434, 1.157, 1.896, 2.874, 4.104, 5.603, 7.393",\
                 "0.1718, 0.2242, 0.3666, 0.6644, 1.171, 1.901, 2.873, 4.103, 5.607, 7.392",\
                 "0.2002, 0.2554, 0.399, 0.6916, 1.201, 1.924, 2.883, 4.104, 5.603, 7.404",\
                 "0.2306, 0.2902, 0.4384, 0.723, 1.231, 1.961, 2.911, 4.119, 5.608, 7.393",\
                 "0.2618, 0.327, 0.4806, 0.7596, 1.263, 2.002, 2.959, 4.158, 5.631, 7.399");
        }
      }
    }
  }

