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

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

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

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

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 7.047 ;
      max_transition : 15.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.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.04963, 0.2203, 0.5463, 1.054, 1.767, 2.704, 3.886, 5.328, 7.047");
          values("1.009, 1.007, 1.013, 1.018, 1.02, 1.022, 1.023, 1.023, 1.024, 1.024",\
                 "0.9966, 0.9953, 1, 1.006, 1.009, 1.01, 1.011, 1.012, 1.012, 1.012",\
                 "0.9989, 0.9946, 0.9985, 1.005, 1.008, 1.01, 1.012, 1.013, 1.013, 1.013",\
                 "1.071, 1.059, 1.05, 1.052, 1.052, 1.055, 1.056, 1.057, 1.057, 1.057",\
                 "1.203, 1.178, 1.155, 1.15, 1.148, 1.148, 1.149, 1.15, 1.149, 1.15",\
                 "1.394, 1.358, 1.32, 1.303, 1.297, 1.296, 1.294, 1.294, 1.294, 1.294",\
                 "1.652, 1.605, 1.549, 1.52, 1.507, 1.501, 1.498, 1.497, 1.496, 1.494",\
                 "1.982, 1.926, 1.849, 1.806, 1.782, 1.77, 1.764, 1.761, 1.759, 1.757",\
                 "2.387, 2.322, 2.223, 2.162, 2.127, 2.108, 2.097, 2.09, 2.087, 2.082",\
                 "2.868, 2.795, 2.675, 2.596, 2.548, 2.518, 2.502, 2.491, 2.484, 2.472");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.04963, 0.2203, 0.5463, 1.054, 1.767, 2.704, 3.886, 5.328, 7.047");
          values("0.6034, 0.6095, 0.6261, 0.6419, 0.6529, 0.6633, 0.6757, 0.7171, 1.154, 3.241",\
                 "0.5974, 0.6029, 0.6199, 0.6356, 0.6475, 0.6579, 0.6667, 0.7075, 1.164, 3.228",\
                 "0.6065, 0.6066, 0.6156, 0.6311, 0.6445, 0.6567, 0.6688, 0.7198, 1.201, 3.369",\
                 "0.6592, 0.6518, 0.6511, 0.6581, 0.6733, 0.6855, 0.6955, 0.7451, 1.302, 3.699",\
                 "0.7638, 0.7495, 0.7347, 0.7403, 0.7483, 0.7533, 0.7673, 0.8413, 1.472, 4.188",\
                 "0.928, 0.9072, 0.8777, 0.8675, 0.8785, 0.8874, 0.8948, 0.9848, 1.778, 4.89",\
                 "1.154, 1.127, 1.086, 1.064, 1.054, 1.07, 1.086, 1.214, 2.247, 5.964",\
                 "1.446, 1.408, 1.357, 1.32, 1.3, 1.297, 1.328, 1.552, 2.993, 7.511",\
                 "1.805, 1.757, 1.695, 1.643, 1.617, 1.603, 1.629, 2.048, 4.187, 9.688",\
                 "2.235, 2.176, 2.1, 2.037, 1.997, 1.969, 2.028, 2.814, 6.082, 12.54");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.04963, 0.2203, 0.5463, 1.054, 1.767, 2.704, 3.886, 5.328, 7.047");
          values("0.3952, 0.4566, 0.6119, 0.8465, 1.184, 1.65, 2.262, 3.034, 3.976, 5.099",\
                 "0.4258, 0.4871, 0.6425, 0.8774, 1.215, 1.681, 2.293, 3.065, 4.006, 5.129",\
                 "0.5547, 0.6157, 0.771, 1.006, 1.344, 1.81, 2.422, 3.193, 4.135, 5.258",\
                 "0.7751, 0.8406, 1.003, 1.241, 1.579, 2.045, 2.657, 3.428, 4.371, 5.489",\
                 "1.032, 1.105, 1.278, 1.526, 1.868, 2.334, 2.946, 3.717, 4.659, 5.782",\
                 "1.336, 1.415, 1.602, 1.857, 2.204, 2.672, 3.284, 4.054, 4.995, 6.117",\
                 "1.692, 1.778, 1.979, 2.246, 2.597, 3.067, 3.679, 4.449, 5.391, 6.512",\
                 "2.099, 2.193, 2.411, 2.693, 3.054, 3.526, 4.139, 4.911, 5.851, 6.971",\
                 "2.561, 2.662, 2.897, 3.197, 3.57, 4.051, 4.668, 5.439, 6.38, 7.5",\
                 "3.078, 3.186, 3.438, 3.76, 4.148, 4.64, 5.266, 6.043, 6.985, 8.107");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.04963, 0.2203, 0.5463, 1.054, 1.767, 2.704, 3.886, 5.328, 7.047");
          values("0.3084, 0.3795, 0.6008, 1.011, 1.645, 2.534, 3.705, 5.177, 6.975, 9.115",\
                 "0.3374, 0.4084, 0.6295, 1.039, 1.674, 2.564, 3.731, 5.204, 7.002, 9.138",\
                 "0.4361, 0.5066, 0.7259, 1.135, 1.771, 2.659, 3.831, 5.304, 7.1, 9.236",\
                 "0.5332, 0.6082, 0.8293, 1.237, 1.872, 2.76, 3.929, 5.4, 7.197, 9.347",\
                 "0.5958, 0.676, 0.9006, 1.308, 1.941, 2.828, 3.999, 5.471, 7.266, 9.408",\
                 "0.62, 0.7068, 0.9385, 1.344, 1.975, 2.863, 4.03, 5.503, 7.302, 9.441",\
                 "0.5993, 0.6936, 0.9362, 1.345, 1.975, 2.862, 4.028, 5.498, 7.295, 9.436",\
                 "0.5307, 0.6304, 0.8874, 1.301, 1.937, 2.821, 3.988, 5.457, 7.25, 9.391",\
                 "0.4099, 0.5151, 0.787, 1.208, 1.849, 2.743, 3.908, 5.376, 7.171, 9.308",\
                 "0.2342, 0.3465, 0.6321, 1.062, 1.71, 2.612, 3.787, 5.257, 7.048, 9.186");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.04963, 0.2203, 0.5463, 1.054, 1.767, 2.704, 3.886, 5.328, 7.047");
          values("0.1356, 0.1997, 0.3795, 0.7118, 1.257, 2.041, 3.085, 4.4, 6.005, 7.914",\
                 "0.1359, 0.1997, 0.3796, 0.7119, 1.255, 2.041, 3.083, 4.401, 6.011, 7.93",\
                 "0.1372, 0.2007, 0.38, 0.7122, 1.256, 2.042, 3.085, 4.4, 6.011, 7.93",\
                 "0.1618, 0.224, 0.3964, 0.719, 1.258, 2.043, 3.086, 4.402, 6.002, 7.927",\
                 "0.194, 0.2574, 0.4292, 0.7436, 1.27, 2.047, 3.082, 4.401, 6.007, 7.925",\
                 "0.227, 0.293, 0.4642, 0.768, 1.285, 2.054, 3.087, 4.401, 6.005, 7.921",\
                 "0.263, 0.3338, 0.5076, 0.8006, 1.302, 2.062, 3.096, 4.401, 6.003, 7.917",\
                 "0.3038, 0.3802, 0.5588, 0.8456, 1.337, 2.083, 3.101, 4.405, 6.004, 7.912",\
                 "0.3452, 0.4288, 0.6186, 0.9, 1.38, 2.112, 3.124, 4.416, 6.008, 7.914",\
                 "0.388, 0.478, 0.682, 0.966, 1.438, 2.164, 3.168, 4.446, 6.032, 7.92");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.04963, 0.2203, 0.5463, 1.054, 1.767, 2.704, 3.886, 5.328, 7.047");
          values("0.1432, 0.2421, 0.6045, 1.319, 2.435, 4.005, 6.071, 8.661, 11.83, 15.62",\
                 "0.143, 0.2421, 0.6044, 1.319, 2.436, 4.001, 6.062, 8.66, 11.85, 15.6",\
                 "0.1478, 0.2443, 0.6045, 1.319, 2.436, 4.003, 6.069, 8.666, 11.83, 15.6",\
                 "0.1678, 0.2624, 0.6112, 1.321, 2.439, 4.004, 6.066, 8.654, 11.84, 15.61",\
                 "0.1902, 0.2848, 0.6194, 1.324, 2.439, 3.998, 6.059, 8.662, 11.83, 15.62",\
                 "0.2168, 0.3138, 0.6352, 1.328, 2.44, 4.003, 6.056, 8.657, 11.83, 15.61",\
                 "0.2454, 0.347, 0.663, 1.34, 2.444, 4.004, 6.061, 8.666, 11.85, 15.6",\
                 "0.2752, 0.3824, 0.6946, 1.364, 2.46, 4.012, 6.067, 8.654, 11.84, 15.63",\
                 "0.306, 0.4162, 0.7328, 1.389, 2.493, 4.034, 6.076, 8.656, 11.83, 15.62",\
                 "0.342, 0.455, 0.7746, 1.42, 2.526, 4.076, 6.106, 8.672, 11.82, 15.6");
        }
      }
    }
  }

