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

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

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

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

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 1.823 ;
      max_transition : 3.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.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
          index_2("0.001, 0.01358, 0.05772, 0.142, 0.2733, 0.4576, 0.7001, 1.006, 1.378, 1.823");
          values("1.546, 1.508, 1.444, 1.407, 1.384, 1.371, 1.363, 1.357, 1.354, 1.351",\
                 "1.547, 1.51, 1.446, 1.408, 1.385, 1.371, 1.363, 1.358, 1.354, 1.352",\
                 "1.621, 1.582, 1.511, 1.469, 1.444, 1.43, 1.422, 1.414, 1.41, 1.408",\
                 "1.894, 1.842, 1.744, 1.68, 1.642, 1.618, 1.602, 1.592, 1.585, 1.581",\
                 "2.383, 2.319, 2.186, 2.079, 2.013, 1.97, 1.942, 1.923, 1.91, 1.901",\
                 "3.086, 3.008, 2.839, 2.683, 2.577, 2.507, 2.458, 2.426, 2.403, 2.387",\
                 "4.002, 3.915, 3.712, 3.504, 3.349, 3.242, 3.17, 3.118, 3.081, 3.055",\
                 "5.14, 5.046, 4.809, 4.554, 4.347, 4.194, 4.09, 4.015, 3.96, 3.917",\
                 "6.51, 6.408, 6.145, 5.842, 5.581, 5.381, 5.233, 5.127, 5.049, 4.99",\
                 "8.122, 8.015, 7.728, 7.384, 7.067, 6.816, 6.618, 6.473, 6.367, 6.287");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
          index_2("0.001, 0.01358, 0.05772, 0.142, 0.2733, 0.4576, 0.7001, 1.006, 1.378, 1.823");
          values("0.9175, 0.8904, 0.8605, 0.849, 0.8441, 0.8453, 0.8525, 0.8629, 0.8708, 0.8892",\
                 "0.9191, 0.8926, 0.8613, 0.8471, 0.8435, 0.8453, 0.8525, 0.8602, 0.8713, 0.8782",\
                 "0.9863, 0.9554, 0.9145, 0.8959, 0.8892, 0.8871, 0.8921, 0.902, 0.9109, 0.9222",\
                 "1.223, 1.182, 1.121, 1.073, 1.049, 1.037, 1.035, 1.04, 1.046, 1.06",\
                 "1.639, 1.583, 1.489, 1.416, 1.368, 1.334, 1.32, 1.316, 1.318, 1.318",\
                 "2.244, 2.177, 2.049, 1.938, 1.864, 1.812, 1.776, 1.761, 1.746, 1.742",\
                 "3.045, 2.967, 2.802, 2.654, 2.541, 2.465, 2.417, 2.379, 2.353, 2.341",\
                 "4.05, 3.96, 3.771, 3.578, 3.429, 3.314, 3.243, 3.191, 3.148, 3.122",\
                 "5.266, 5.166, 4.941, 4.722, 4.527, 4.371, 4.261, 4.2, 4.141, 4.09",\
                 "6.701, 6.595, 6.347, 6.085, 5.848, 5.656, 5.499, 5.396, 5.325, 5.278");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
          index_2("0.001, 0.01358, 0.05772, 0.142, 0.2733, 0.4576, 0.7001, 1.006, 1.378, 1.823");
          values("0.1199, 0.1348, 0.1756, 0.2401, 0.333, 0.4607, 0.6285, 0.8403, 1.099, 1.407",\
                 "0.1251, 0.1398, 0.1806, 0.2452, 0.3381, 0.4658, 0.6337, 0.8455, 1.104, 1.412",\
                 "0.1493, 0.1639, 0.2044, 0.2687, 0.3615, 0.4891, 0.657, 0.8685, 1.127, 1.435",\
                 "0.1966, 0.2115, 0.2521, 0.316, 0.4082, 0.5354, 0.7029, 0.9142, 1.173, 1.481",\
                 "0.2582, 0.274, 0.3167, 0.3819, 0.4741, 0.6005, 0.7673, 0.9783, 1.236, 1.544",\
                 "0.3306, 0.3482, 0.3939, 0.4623, 0.5561, 0.6826, 0.8484, 1.059, 1.316, 1.623",\
                 "0.4141, 0.4331, 0.482, 0.5542, 0.6518, 0.7812, 0.9476, 1.157, 1.414, 1.72",\
                 "0.5092, 0.5298, 0.5822, 0.6585, 0.7598, 0.8929, 1.063, 1.274, 1.53, 1.836",\
                 "0.6165, 0.6384, 0.6951, 0.7753, 0.88, 1.017, 1.192, 1.408, 1.667, 1.972",\
                 "0.7361, 0.7594, 0.8206, 0.905, 1.014, 1.155, 1.334, 1.556, 1.821, 2.13");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
          index_2("0.001, 0.01358, 0.05772, 0.142, 0.2733, 0.4576, 0.7001, 1.006, 1.378, 1.823");
          values("0.1136, 0.1282, 0.1734, 0.2574, 0.3887, 0.5732, 0.8157, 1.121, 1.494, 1.94",\
                 "0.1169, 0.1315, 0.1767, 0.2606, 0.3919, 0.5764, 0.8186, 1.124, 1.498, 1.944",\
                 "0.1315, 0.1459, 0.1906, 0.2741, 0.4049, 0.5892, 0.8316, 1.137, 1.51, 1.954",\
                 "0.1513, 0.1662, 0.2106, 0.2925, 0.4222, 0.6055, 0.8475, 1.153, 1.526, 1.971",\
                 "0.1646, 0.1802, 0.2258, 0.3068, 0.435, 0.6171, 0.8579, 1.163, 1.535, 1.981",\
                 "0.1681, 0.1854, 0.2327, 0.3142, 0.4418, 0.6227, 0.8625, 1.167, 1.539, 1.983",\
                 "0.1607, 0.1794, 0.2288, 0.3113, 0.4398, 0.6211, 0.8603, 1.163, 1.534, 1.977",\
                 "0.141, 0.1613, 0.2142, 0.2979, 0.4271, 0.61, 0.8505, 1.153, 1.523, 1.965",\
                 "0.1086, 0.1304, 0.1863, 0.2725, 0.4013, 0.5856, 0.8284, 1.133, 1.504, 1.944",\
                 "0.0625, 0.0856, 0.1457, 0.2343, 0.3636, 0.5489, 0.7942, 1.102, 1.475, 1.917");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
          index_2("0.001, 0.01358, 0.05772, 0.142, 0.2733, 0.4576, 0.7001, 1.006, 1.378, 1.823");
          values("0.0488, 0.06562, 0.1149, 0.2062, 0.353, 0.5681, 0.8537, 1.217, 1.657, 2.187",\
                 "0.04854, 0.06548, 0.1148, 0.206, 0.353, 0.568, 0.8545, 1.217, 1.659, 2.186",\
                 "0.04908, 0.06594, 0.1151, 0.2062, 0.3539, 0.5682, 0.8556, 1.217, 1.657, 2.187",\
                 "0.0552, 0.07178, 0.1193, 0.2084, 0.3541, 0.5682, 0.8536, 1.217, 1.659, 2.187",\
                 "0.06722, 0.08492, 0.1319, 0.2163, 0.3583, 0.5687, 0.8548, 1.217, 1.658, 2.187",\
                 "0.08252, 0.1007, 0.149, 0.2329, 0.369, 0.5736, 0.8558, 1.217, 1.658, 2.188",\
                 "0.099, 0.1186, 0.1694, 0.252, 0.3888, 0.5884, 0.8622, 1.218, 1.657, 2.185",\
                 "0.1176, 0.1388, 0.191, 0.2754, 0.4104, 0.6132, 0.8832, 1.229, 1.661, 2.185",\
                 "0.1382, 0.1608, 0.2162, 0.3008, 0.4358, 0.6396, 0.9136, 1.258, 1.679, 2.191",\
                 "0.1592, 0.1828, 0.2428, 0.3282, 0.4636, 0.668, 0.9466, 1.295, 1.717, 2.216");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
          index_2("0.001, 0.01358, 0.05772, 0.142, 0.2733, 0.4576, 0.7001, 1.006, 1.378, 1.823");
          values("0.05006, 0.07, 0.1449, 0.2974, 0.5386, 0.8771, 1.326, 1.885, 2.57, 3.389",\
                 "0.05008, 0.0702, 0.1449, 0.2973, 0.5386, 0.8774, 1.324, 1.884, 2.572, 3.386",\
                 "0.05014, 0.07034, 0.1451, 0.2973, 0.5385, 0.8788, 1.324, 1.885, 2.572, 3.387",\
                 "0.05578, 0.07534, 0.1474, 0.2978, 0.5385, 0.8774, 1.322, 1.885, 2.572, 3.388",\
                 "0.06404, 0.08398, 0.1527, 0.3005, 0.5397, 0.8772, 1.323, 1.885, 2.57, 3.387",\
                 "0.07524, 0.09522, 0.1616, 0.3068, 0.5442, 0.8795, 1.324, 1.884, 2.57, 3.387",\
                 "0.08658, 0.108, 0.1726, 0.3148, 0.5536, 0.887, 1.327, 1.888, 2.574, 3.387",\
                 "0.1008, 0.1222, 0.1874, 0.3246, 0.5644, 0.9004, 1.338, 1.893, 2.574, 3.392",\
                 "0.1136, 0.137, 0.2046, 0.337, 0.5762, 0.9166, 1.358, 1.908, 2.582, 3.393",\
                 "0.1284, 0.1538, 0.2216, 0.3512, 0.5872, 0.932, 1.377, 1.932, 2.602, 3.405");
        }
      }
    }
  }

