/*
 * 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_8) {
    area : 57.075200 ;

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

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

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "4.69908e-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.01 ;
      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 : 1.659 ;
      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.01244, 0.05261, 0.1293, 0.2488, 0.4165, 0.6372, 0.9152, 1.255, 1.659");
          values("0.09789, 0.09876, 0.1009, 0.1026, 0.1036, 0.1042, 0.1045, 0.1047, 0.1048, 0.1049",\
                 "0.09755, 0.09844, 0.1006, 0.1024, 0.1034, 0.1039, 0.1042, 0.1044, 0.1045, 0.1046",\
                 "0.09682, 0.09764, 0.09972, 0.1015, 0.1026, 0.1032, 0.1035, 0.1037, 0.1038, 0.1039",\
                 "0.09601, 0.09674, 0.09852, 0.1003, 0.1016, 0.1023, 0.1027, 0.103, 0.1032, 0.1033",\
                 "0.09578, 0.0963, 0.09764, 0.09939, 0.1008, 0.1017, 0.1022, 0.1026, 0.1028, 0.103",\
                 "0.09633, 0.0965, 0.09768, 0.09915, 0.1005, 0.1015, 0.1022, 0.1026, 0.1029, 0.1031",\
                 "0.09756, 0.09762, 0.09831, 0.09951, 0.1009, 0.1019, 0.1027, 0.1032, 0.1035, 0.1037",\
                 "0.09939, 0.09931, 0.09956, 0.1006, 0.1018, 0.1028, 0.1037, 0.1042, 0.1046, 0.1048",\
                 "0.1018, 0.1016, 0.1015, 0.1023, 0.1034, 0.1044, 0.1052, 0.1058, 0.1062, 0.1062",\
                 "0.1051, 0.1046, 0.1043, 0.1046, 0.1055, 0.1065, 0.1073, 0.1079, 0.1083, 0.108");
        }

        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.01244, 0.05261, 0.1293, 0.2488, 0.4165, 0.6372, 0.9152, 1.255, 1.659");
          values("0.06581, 0.06655, 0.06826, 0.07005, 0.07138, 0.07225, 0.07248, 0.07394, 0.07664, 0.1097",\
                 "0.06549, 0.06622, 0.06817, 0.06971, 0.07109, 0.07207, 0.0723, 0.07466, 0.07673, 0.1076",\
                 "0.06475, 0.06556, 0.06724, 0.06879, 0.0703, 0.07142, 0.07176, 0.07268, 0.07646, 0.1095",\
                 "0.06404, 0.06465, 0.06607, 0.06738, 0.06911, 0.07009, 0.07086, 0.07178, 0.07745, 0.1154",\
                 "0.0637, 0.06416, 0.06519, 0.06665, 0.06823, 0.06967, 0.06996, 0.07142, 0.07593, 0.1237",\
                 "0.06417, 0.06438, 0.06483, 0.06621, 0.06805, 0.0692, 0.07032, 0.07157, 0.07846, 0.1393",\
                 "0.06518, 0.06521, 0.06573, 0.06636, 0.06816, 0.06998, 0.07014, 0.07244, 0.08288, 0.1667",\
                 "0.06682, 0.06669, 0.06713, 0.06785, 0.06875, 0.0705, 0.07284, 0.07433, 0.08999, 0.2099",\
                 "0.06917, 0.06879, 0.0688, 0.06953, 0.06974, 0.07133, 0.07289, 0.07735, 0.1086, 0.2882",\
                 "0.0721, 0.07167, 0.0714, 0.07163, 0.07275, 0.07343, 0.07307, 0.0816, 0.1424, 0.4267");
        }
      }

      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.01244, 0.05261, 0.1293, 0.2488, 0.4165, 0.6372, 0.9152, 1.255, 1.659");
          values("0.6179, 0.6829, 0.8516, 1.108, 1.472, 1.972, 2.627, 3.453, 4.459, 5.664",\
                 "0.6521, 0.7171, 0.886, 1.142, 1.506, 2.006, 2.662, 3.486, 4.497, 5.7",\
                 "0.7754, 0.8404, 1.009, 1.265, 1.63, 2.13, 2.785, 3.612, 4.62, 5.822",\
                 "1.016, 1.081, 1.249, 1.505, 1.87, 2.37, 3.026, 3.853, 4.861, 6.064",\
                 "1.367, 1.436, 1.609, 1.867, 2.232, 2.732, 3.388, 4.214, 5.222, 6.425",\
                 "1.762, 1.841, 2.03, 2.297, 2.666, 3.166, 3.823, 4.648, 5.657, 6.854",\
                 "2.185, 2.275, 2.483, 2.763, 3.138, 3.64, 4.296, 5.121, 6.128, 7.329",\
                 "2.636, 2.737, 2.968, 3.263, 3.644, 4.148, 4.806, 5.63, 6.636, 7.836",\
                 "3.116, 3.228, 3.483, 3.796, 4.185, 4.692, 5.349, 6.174, 7.18, 8.379",\
                 "3.631, 3.754, 4.031, 4.364, 4.764, 5.272, 5.929, 6.754, 7.761, 8.962");
        }

        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.01244, 0.05261, 0.1293, 0.2488, 0.4165, 0.6372, 0.9152, 1.255, 1.659");
          values("0.5018, 0.5691, 0.7604, 1.089, 1.591, 2.292, 3.215, 4.375, 5.797, 7.491",\
                 "0.5294, 0.597, 0.7881, 1.117, 1.619, 2.32, 3.243, 4.403, 5.824, 7.519",\
                 "0.6283, 0.6958, 0.8868, 1.215, 1.717, 2.419, 3.341, 4.504, 5.921, 7.619",\
                 "0.8116, 0.8797, 1.071, 1.399, 1.902, 2.604, 3.527, 4.69, 6.109, 7.801",\
                 "1.012, 1.088, 1.287, 1.618, 2.12, 2.824, 3.747, 4.907, 6.322, 8.021",\
                 "1.189, 1.273, 1.486, 1.821, 2.324, 3.027, 3.949, 5.109, 6.531, 8.221",\
                 "1.335, 1.429, 1.658, 1.999, 2.502, 3.205, 4.126, 5.287, 6.707, 8.396",\
                 "1.446, 1.551, 1.798, 2.148, 2.652, 3.354, 4.276, 5.437, 6.853, 8.541",\
                 "1.52, 1.635, 1.902, 2.263, 2.769, 3.47, 4.392, 5.553, 6.969, 8.657",\
                 "1.552, 1.68, 1.969, 2.342, 2.851, 3.552, 4.473, 5.633, 7.049, 8.738");
        }

        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.01244, 0.05261, 0.1293, 0.2488, 0.4165, 0.6372, 0.9152, 1.255, 1.659");
          values("0.1995, 0.2608, 0.4504, 0.8073, 1.39, 2.235, 3.357, 4.777, 6.506, 8.582",\
                 "0.1995, 0.2603, 0.4522, 0.8068, 1.39, 2.235, 3.359, 4.779, 6.513, 8.585",\
                 "0.1992, 0.2608, 0.452, 0.807, 1.39, 2.235, 3.355, 4.772, 6.514, 8.582",\
                 "0.2004, 0.2618, 0.4528, 0.8074, 1.389, 2.235, 3.36, 4.773, 6.515, 8.585",\
                 "0.2234, 0.2806, 0.4614, 0.8116, 1.39, 2.233, 3.358, 4.774, 6.511, 8.574",\
                 "0.2716, 0.3288, 0.5008, 0.8348, 1.402, 2.237, 3.354, 4.77, 6.514, 8.57",\
                 "0.3226, 0.3852, 0.549, 0.87, 1.421, 2.244, 3.361, 4.775, 6.507, 8.564",\
                 "0.3738, 0.4414, 0.6066, 0.9128, 1.444, 2.258, 3.368, 4.775, 6.505, 8.568",\
                 "0.4246, 0.5008, 0.672, 0.9592, 1.472, 2.272, 3.376, 4.782, 6.502, 8.568",\
                 "0.472, 0.556, 0.742, 1.018, 1.506, 2.286, 3.38, 4.79, 6.51, 8.562");
        }

        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.01244, 0.05261, 0.1293, 0.2488, 0.4165, 0.6372, 0.9152, 1.255, 1.659");
          values("0.1952, 0.2691, 0.5305, 1.065, 1.918, 3.121, 4.696, 6.686, 9.106, 12.05",\
                 "0.1951, 0.2688, 0.5311, 1.065, 1.917, 3.121, 4.694, 6.693, 9.103, 12.01",\
                 "0.1952, 0.268, 0.531, 1.065, 1.917, 3.122, 4.697, 6.683, 9.102, 12.01",\
                 "0.202, 0.2746, 0.533, 1.065, 1.918, 3.118, 4.694, 6.683, 9.131, 12",\
                 "0.2372, 0.3052, 0.5498, 1.067, 1.917, 3.122, 4.692, 6.677, 9.12, 12.01",\
                 "0.2772, 0.344, 0.577, 1.081, 1.92, 3.117, 4.699, 6.697, 9.112, 12",\
                 "0.3216, 0.3894, 0.611, 1.096, 1.927, 3.121, 4.695, 6.69, 9.117, 12.01",\
                 "0.366, 0.44, 0.655, 1.116, 1.935, 3.125, 4.698, 6.687, 9.107, 12",\
                 "0.4102, 0.4904, 0.7016, 1.142, 1.947, 3.132, 4.705, 6.686, 9.108, 12.01",\
                 "0.4548, 0.5408, 0.7548, 1.173, 1.956, 3.136, 4.71, 6.692, 9.112, 12");
        }
      }
    }
  }

