/*
 * 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_mcu9t5v0__buf_20) {
    area : 174.988800 ;

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

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

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

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 7.165 ;
      max_transition : 3.6 ;
      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.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
          index_2("0.001, 0.05045, 0.224, 0.5555, 1.072, 1.796, 2.75, 3.951, 5.417, 7.165");
          values("5.725, 5.573, 5.313, 5.164, 5.08, 5.036, 5.005, 4.984, 4.97, 4.958",\
                 "5.729, 5.575, 5.314, 5.162, 5.089, 5.039, 5.009, 4.985, 4.975, 4.962",\
                 "6.048, 5.879, 5.595, 5.427, 5.337, 5.275, 5.243, 5.22, 5.211, 5.195",\
                 "7.152, 6.942, 6.539, 6.281, 6.135, 6.045, 5.984, 5.945, 5.919, 5.899",\
                 "9.11, 8.84, 8.294, 7.873, 7.612, 7.443, 7.335, 7.263, 7.215, 7.18",\
                 "11.91, 11.59, 10.88, 10.26, 9.831, 9.564, 9.381, 9.258, 9.169, 9.114",\
                 "15.55, 15.19, 14.35, 13.5, 12.88, 12.47, 12.18, 11.99, 11.84, 11.74",\
                 "20.06, 19.67, 18.71, 17.67, 16.83, 16.21, 15.8, 15.51, 15.3, 15.14",\
                 "25.49, 25.07, 23.99, 22.77, 21.71, 20.9, 20.3, 19.89, 19.58, 19.36",\
                 "31.88, 31.43, 30.28, 28.89, 27.6, 26.58, 25.78, 25.19, 24.77, 24.45");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
          index_2("0.001, 0.05045, 0.224, 0.5555, 1.072, 1.796, 2.75, 3.951, 5.417, 7.165");
          values("3.337, 3.228, 3.12, 3.082, 3.072, 3.033, 3.063, 3.073, 3.077, 3.219",\
                 "3.345, 3.241, 3.121, 3.078, 3.055, 3.072, 3.096, 3.134, 3.176, 3.23",\
                 "3.643, 3.518, 3.361, 3.291, 3.246, 3.248, 3.272, 3.31, 3.341, 3.389",\
                 "4.602, 4.431, 4.191, 4.015, 3.908, 3.864, 3.86, 3.876, 3.891, 3.945",\
                 "6.276, 6.053, 5.671, 5.367, 5.192, 5.057, 4.999, 4.971, 4.986, 5.006",\
                 "8.69, 8.416, 7.888, 7.461, 7.176, 6.96, 6.819, 6.736, 6.696, 6.678",\
                 "11.88, 11.55, 10.89, 10.32, 9.868, 9.567, 9.349, 9.206, 9.094, 9.032",\
                 "15.86, 15.5, 14.72, 13.98, 13.37, 12.92, 12.66, 12.46, 12.25, 12.12",\
                 "20.69, 20.29, 19.37, 18.5, 17.73, 17.14, 16.69, 16.41, 16.23, 16",\
                 "26.39, 25.96, 24.94, 23.91, 22.99, 22.21, 21.64, 21.19, 20.92, 20.74");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
          index_2("0.001, 0.05045, 0.224, 0.5555, 1.072, 1.796, 2.75, 3.951, 5.417, 7.165");
          values("0.1166, 0.1322, 0.1743, 0.2404, 0.3354, 0.4664, 0.6385, 0.8558, 1.121, 1.437",\
                 "0.122, 0.1376, 0.1797, 0.2458, 0.3408, 0.4718, 0.644, 0.8612, 1.126, 1.443",\
                 "0.1481, 0.1635, 0.2052, 0.271, 0.3659, 0.4968, 0.6689, 0.886, 1.151, 1.467",\
                 "0.1981, 0.2138, 0.2557, 0.3212, 0.4157, 0.5461, 0.7178, 0.9346, 1.2, 1.516",\
                 "0.2629, 0.2798, 0.3242, 0.391, 0.4854, 0.615, 0.7861, 1.002, 1.267, 1.583",\
                 "0.3399, 0.3585, 0.4058, 0.4758, 0.5724, 0.7022, 0.8723, 1.088, 1.352, 1.667",\
                 "0.4289, 0.4492, 0.5001, 0.5741, 0.6742, 0.807, 0.9779, 1.193, 1.456, 1.771",\
                 "0.5311, 0.5529, 0.6076, 0.6857, 0.7897, 0.9264, 1.101, 1.318, 1.58, 1.894",\
                 "0.6465, 0.6701, 0.7295, 0.8115, 0.9192, 1.06, 1.24, 1.461, 1.727, 2.041",\
                 "0.7764, 0.8018, 0.8649, 0.9521, 1.064, 1.209, 1.393, 1.62, 1.893, 2.21");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
          index_2("0.001, 0.05045, 0.224, 0.5555, 1.072, 1.796, 2.75, 3.951, 5.417, 7.165");
          values("0.109, 0.1245, 0.1721, 0.2611, 0.4005, 0.5956, 0.8533, 1.178, 1.574, 2.046",\
                 "0.1126, 0.1281, 0.1758, 0.2646, 0.4039, 0.5994, 0.8561, 1.18, 1.576, 2.05",\
                 "0.1279, 0.1432, 0.1902, 0.2787, 0.4175, 0.6124, 0.8694, 1.195, 1.589, 2.063",\
                 "0.1466, 0.1625, 0.2092, 0.2961, 0.4333, 0.628, 0.8849, 1.209, 1.603, 2.076",\
                 "0.1574, 0.1746, 0.2224, 0.3078, 0.444, 0.6372, 0.893, 1.216, 1.612, 2.083",\
                 "0.1576, 0.1761, 0.2255, 0.312, 0.4474, 0.6392, 0.8936, 1.216, 1.611, 2.082",\
                 "0.1457, 0.1653, 0.2175, 0.3047, 0.4406, 0.6331, 0.8873, 1.208, 1.601, 2.071",\
                 "0.12, 0.1415, 0.1971, 0.2849, 0.4216, 0.6152, 0.8707, 1.192, 1.584, 2.052",\
                 "0.0801, 0.1033, 0.1622, 0.2518, 0.389, 0.5844, 0.8418, 1.165, 1.558, 2.026",\
                 "0.0254, 0.0504, 0.1128, 0.205, 0.3427, 0.5389, 0.7994, 1.125, 1.521, 1.99");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
          index_2("0.001, 0.05045, 0.224, 0.5555, 1.072, 1.796, 2.75, 3.951, 5.417, 7.165");
          values("0.04578, 0.06344, 0.1142, 0.2072, 0.3589, 0.5793, 0.8734, 1.244, 1.697, 2.237",\
                 "0.0457, 0.06354, 0.1141, 0.2074, 0.3587, 0.5793, 0.8731, 1.244, 1.696, 2.235",\
                 "0.04628, 0.06394, 0.1148, 0.2079, 0.3594, 0.5782, 0.8726, 1.244, 1.697, 2.235",\
                 "0.05298, 0.07052, 0.1192, 0.2099, 0.3601, 0.5799, 0.8738, 1.244, 1.697, 2.236",\
                 "0.06552, 0.08352, 0.1321, 0.2184, 0.3633, 0.5805, 0.8721, 1.244, 1.696, 2.236",\
                 "0.08114, 0.1003, 0.1497, 0.2352, 0.375, 0.5842, 0.8738, 1.244, 1.695, 2.238",\
                 "0.0982, 0.119, 0.1704, 0.2562, 0.3952, 0.6006, 0.881, 1.244, 1.695, 2.235",\
                 "0.1166, 0.1396, 0.1936, 0.279, 0.4184, 0.6262, 0.9036, 1.257, 1.698, 2.236",\
                 "0.1356, 0.1618, 0.219, 0.304, 0.4438, 0.6528, 0.9346, 1.287, 1.718, 2.241",\
                 "0.1578, 0.184, 0.2462, 0.3338, 0.4718, 0.6818, 0.9676, 1.327, 1.756, 2.269");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
          index_2("0.001, 0.05045, 0.224, 0.5555, 1.072, 1.796, 2.75, 3.951, 5.417, 7.165");
          values("0.04648, 0.068, 0.1479, 0.3099, 0.565, 0.9242, 1.398, 1.991, 2.717, 3.583",\
                 "0.0467, 0.06818, 0.1479, 0.3099, 0.5654, 0.9257, 1.397, 1.992, 2.717, 3.581",\
                 "0.04704, 0.06844, 0.1482, 0.31, 0.5655, 0.9242, 1.397, 1.991, 2.717, 3.581",\
                 "0.05318, 0.07378, 0.1506, 0.3105, 0.5653, 0.9259, 1.397, 1.99, 2.717, 3.582",\
                 "0.06192, 0.0829, 0.156, 0.313, 0.5672, 0.9243, 1.397, 1.991, 2.716, 3.582",\
                 "0.07204, 0.0932, 0.1644, 0.3196, 0.5712, 0.9266, 1.397, 1.991, 2.717, 3.581",\
                 "0.0839, 0.1067, 0.1754, 0.328, 0.582, 0.9352, 1.401, 1.995, 2.717, 3.581",\
                 "0.097, 0.1218, 0.19, 0.3376, 0.5928, 0.9496, 1.414, 2, 2.727, 3.581",\
                 "0.111, 0.137, 0.2066, 0.3494, 0.604, 0.9652, 1.433, 2.015, 2.731, 3.587",\
                 "0.1276, 0.154, 0.2258, 0.3638, 0.6158, 0.9822, 1.455, 2.042, 2.753, 3.601");
        }
      }
    }
  }

