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

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

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

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

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 3.624 ;
      max_transition : 4.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.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          index_2("0.001, 0.02601, 0.1138, 0.2814, 0.5426, 0.909, 1.391, 1.999, 2.74, 3.624");
          values("0.8501, 0.8314, 0.8199, 0.8174, 0.8155, 0.8142, 0.8142, 0.8137, 0.8138, 0.8138",\
                 "0.8452, 0.827, 0.8134, 0.8118, 0.8097, 0.8091, 0.809, 0.809, 0.809, 0.8091",\
                 "0.8786, 0.8574, 0.8408, 0.8354, 0.8341, 0.8327, 0.8325, 0.8329, 0.8329, 0.8328",\
                 "1.007, 0.9755, 0.9428, 0.9294, 0.9221, 0.9189, 0.9173, 0.9163, 0.9156, 0.9155",\
                 "1.224, 1.182, 1.128, 1.101, 1.085, 1.077, 1.073, 1.072, 1.07, 1.069",\
                 "1.54, 1.488, 1.406, 1.362, 1.335, 1.32, 1.311, 1.305, 1.303, 1.301",\
                 "1.953, 1.892, 1.787, 1.717, 1.676, 1.653, 1.636, 1.628, 1.622, 1.618",\
                 "2.471, 2.403, 2.271, 2.179, 2.118, 2.082, 2.059, 2.046, 2.036, 2.028",\
                 "3.095, 3.021, 2.865, 2.748, 2.669, 2.617, 2.582, 2.561, 2.547, 2.537",\
                 "3.828, 3.75, 3.575, 3.43, 3.329, 3.258, 3.215, 3.182, 3.161, 3.148");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          index_2("0.001, 0.02601, 0.1138, 0.2814, 0.5426, 0.909, 1.391, 1.999, 2.74, 3.624");
          values("0.4726, 0.4695, 0.4755, 0.4839, 0.4923, 0.5008, 0.5112, 0.5216, 0.5308, 0.5598",\
                 "0.4697, 0.4663, 0.4724, 0.4835, 0.4909, 0.4965, 0.508, 0.5216, 0.5344, 0.5454",\
                 "0.5057, 0.4972, 0.4931, 0.4976, 0.5021, 0.5109, 0.5213, 0.5371, 0.5416, 0.5562",\
                 "0.6084, 0.5919, 0.5757, 0.5642, 0.5672, 0.5721, 0.5854, 0.5947, 0.6064, 0.6138",\
                 "0.7912, 0.7667, 0.7285, 0.7168, 0.7069, 0.7053, 0.7128, 0.7211, 0.7288, 0.7506",\
                 "1.062, 1.026, 0.9733, 0.94, 0.9261, 0.9231, 0.9209, 0.9223, 0.934, 0.9414",\
                 "1.42, 1.371, 1.304, 1.25, 1.22, 1.215, 1.214, 1.212, 1.215, 1.219",\
                 "1.871, 1.811, 1.725, 1.655, 1.611, 1.59, 1.595, 1.59, 1.582, 1.575",\
                 "2.419, 2.347, 2.243, 2.165, 2.099, 2.059, 2.043, 2.053, 2.043, 2.043",\
                 "3.07, 2.986, 2.864, 2.763, 2.687, 2.628, 2.602, 2.586, 2.612, 2.594");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          index_2("0.001, 0.02601, 0.1138, 0.2814, 0.5426, 0.909, 1.391, 1.999, 2.74, 3.624");
          values("0.1168, 0.1345, 0.1803, 0.2505, 0.3527, 0.4947, 0.6814, 0.9164, 1.203, 1.546",\
                 "0.1239, 0.1416, 0.1874, 0.2576, 0.3598, 0.5018, 0.6885, 0.9237, 1.211, 1.553",\
                 "0.1567, 0.1742, 0.2197, 0.2899, 0.392, 0.534, 0.7207, 0.9557, 1.243, 1.586",\
                 "0.2142, 0.2328, 0.2797, 0.3503, 0.4524, 0.594, 0.7806, 1.016, 1.303, 1.645",\
                 "0.2883, 0.3085, 0.3576, 0.4298, 0.5325, 0.6738, 0.8601, 1.095, 1.382, 1.724",\
                 "0.378, 0.4004, 0.4535, 0.5286, 0.6314, 0.773, 0.9595, 1.194, 1.48, 1.823",\
                 "0.483, 0.5075, 0.565, 0.6448, 0.751, 0.8931, 1.079, 1.314, 1.6, 1.942",\
                 "0.6041, 0.6307, 0.6933, 0.7773, 0.8875, 1.033, 1.22, 1.455, 1.741, 2.083",\
                 "0.742, 0.7706, 0.8381, 0.9276, 1.042, 1.192, 1.383, 1.62, 1.907, 2.248",\
                 "0.8974, 0.928, 1.001, 1.096, 1.214, 1.368, 1.564, 1.807, 2.096, 2.438");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          index_2("0.001, 0.02601, 0.1138, 0.2814, 0.5426, 0.909, 1.391, 1.999, 2.74, 3.624");
          values("0.09486, 0.1144, 0.177, 0.2944, 0.4767, 0.7313, 1.067, 1.488, 2.003, 2.621",\
                 "0.1012, 0.1206, 0.1832, 0.3007, 0.4832, 0.7378, 1.074, 1.497, 2.012, 2.627",\
                 "0.1231, 0.1424, 0.2039, 0.3207, 0.5029, 0.758, 1.093, 1.516, 2.03, 2.644",\
                 "0.1434, 0.1634, 0.2246, 0.34, 0.5217, 0.7763, 1.112, 1.535, 2.049, 2.663",\
                 "0.1549, 0.1759, 0.2373, 0.3521, 0.5322, 0.7861, 1.121, 1.544, 2.06, 2.674",\
                 "0.1542, 0.1765, 0.2396, 0.3542, 0.5331, 0.787, 1.121, 1.542, 2.057, 2.673",\
                 "0.1395, 0.1635, 0.229, 0.3437, 0.5234, 0.7766, 1.11, 1.531, 2.046, 2.66",\
                 "0.1089, 0.1353, 0.2028, 0.3187, 0.5004, 0.754, 1.088, 1.508, 2.022, 2.635",\
                 "0.0624, 0.0906, 0.161, 0.2786, 0.4607, 0.7167, 1.052, 1.473, 1.986, 2.599",\
                 "-0.0023, 0.0275, 0.102, 0.2203, 0.4037, 0.6622, 1.001, 1.424, 1.938, 2.55");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          index_2("0.001, 0.02601, 0.1138, 0.2814, 0.5426, 0.909, 1.391, 1.999, 2.74, 3.624");
          values("0.0391, 0.05738, 0.1102, 0.2082, 0.3704, 0.604, 0.9135, 1.305, 1.781, 2.353",\
                 "0.0391, 0.05746, 0.1103, 0.2082, 0.3704, 0.6038, 0.9137, 1.304, 1.782, 2.353",\
                 "0.03978, 0.05798, 0.1108, 0.2081, 0.3705, 0.604, 0.9131, 1.304, 1.783, 2.353",\
                 "0.0471, 0.06468, 0.116, 0.2111, 0.3709, 0.6038, 0.9136, 1.305, 1.782, 2.347",\
                 "0.0567, 0.07502, 0.1246, 0.2165, 0.3731, 0.6054, 0.9144, 1.306, 1.78, 2.35",\
                 "0.0692, 0.0886, 0.1376, 0.2258, 0.3774, 0.6066, 0.914, 1.302, 1.78, 2.351",\
                 "0.0812, 0.103, 0.1546, 0.242, 0.3884, 0.6114, 0.9162, 1.304, 1.779, 2.346",\
                 "0.0954, 0.1196, 0.1724, 0.2596, 0.4062, 0.6264, 0.923, 1.306, 1.779, 2.346",\
                 "0.1104, 0.1368, 0.1932, 0.2802, 0.425, 0.6474, 0.9432, 1.318, 1.784, 2.346",\
                 "0.1254, 0.154, 0.2148, 0.3038, 0.4464, 0.669, 0.972, 1.344, 1.801, 2.354");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          index_2("0.001, 0.02601, 0.1138, 0.2814, 0.5426, 0.909, 1.391, 1.999, 2.74, 3.624");
          values("0.03814, 0.06612, 0.1687, 0.3707, 0.6864, 1.129, 1.714, 2.448, 3.345, 4.409",\
                 "0.03822, 0.06622, 0.1685, 0.3708, 0.686, 1.128, 1.711, 2.445, 3.34, 4.409",\
                 "0.0397, 0.06732, 0.1692, 0.3708, 0.6856, 1.129, 1.713, 2.443, 3.346, 4.414",\
                 "0.04498, 0.07188, 0.1705, 0.3708, 0.6858, 1.129, 1.71, 2.445, 3.343, 4.414",\
                 "0.05204, 0.07804, 0.1732, 0.3715, 0.6863, 1.127, 1.709, 2.443, 3.34, 4.404",\
                 "0.06064, 0.08646, 0.1791, 0.3747, 0.687, 1.128, 1.708, 2.441, 3.338, 4.405",\
                 "0.0706, 0.0976, 0.1868, 0.381, 0.6924, 1.13, 1.709, 2.445, 3.334, 4.404",\
                 "0.081, 0.1072, 0.1962, 0.3886, 0.7018, 1.137, 1.712, 2.441, 3.334, 4.399",\
                 "0.0922, 0.119, 0.2068, 0.3964, 0.7134, 1.15, 1.722, 2.445, 3.334, 4.4",\
                 "0.104, 0.1352, 0.2194, 0.4058, 0.7236, 1.167, 1.741, 2.459, 3.344, 4.4");
        }
      }
    }
  }

