/*
 * 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_3) {
    area : 28.224000 ;

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

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

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

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 1.135 ;
      max_transition : 2.8 ;
      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.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.001, 0.008824, 0.03629, 0.08874, 0.1705, 0.2851, 0.436, 0.626, 0.8581, 1.135");
          values("0.8689, 0.8361, 0.7743, 0.7371, 0.7157, 0.7033, 0.6944, 0.6887, 0.6849, 0.6818",\
                 "0.8694, 0.8368, 0.7747, 0.7378, 0.717, 0.7038, 0.6959, 0.6896, 0.6855, 0.683",\
                 "0.8965, 0.862, 0.7988, 0.76, 0.7383, 0.7246, 0.7167, 0.7106, 0.7059, 0.7032",\
                 "1.008, 0.9698, 0.8969, 0.8475, 0.8178, 0.7999, 0.7885, 0.7806, 0.7753, 0.7719",\
                 "1.22, 1.176, 1.084, 1.015, 0.9701, 0.9415, 0.9236, 0.9106, 0.9013, 0.8948",\
                 "1.525, 1.474, 1.361, 1.266, 1.203, 1.157, 1.128, 1.108, 1.094, 1.084",\
                 "1.914, 1.859, 1.728, 1.603, 1.516, 1.456, 1.411, 1.381, 1.36, 1.344",\
                 "2.391, 2.331, 2.182, 2.029, 1.917, 1.834, 1.775, 1.733, 1.702, 1.68",\
                 "2.953, 2.889, 2.728, 2.547, 2.405, 2.302, 2.222, 2.167, 2.127, 2.095",\
                 "3.609, 3.541, 3.366, 3.161, 2.99, 2.862, 2.763, 2.69, 2.635, 2.594");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.001, 0.008824, 0.03629, 0.08874, 0.1705, 0.2851, 0.436, 0.626, 0.8581, 1.135");
          values("0.5341, 0.5139, 0.4894, 0.4788, 0.4742, 0.4698, 0.4744, 0.479, 0.4904, 0.5026",\
                 "0.5347, 0.5164, 0.4921, 0.4788, 0.4747, 0.4731, 0.4777, 0.4839, 0.497, 0.5032",\
                 "0.5632, 0.5433, 0.5153, 0.4991, 0.489, 0.4863, 0.4925, 0.4955, 0.5102, 0.5153",\
                 "0.6742, 0.6488, 0.6119, 0.5802, 0.5594, 0.5518, 0.5497, 0.556, 0.5619, 0.5686",\
                 "0.8631, 0.8271, 0.7728, 0.7282, 0.6975, 0.6733, 0.6592, 0.6588, 0.6686, 0.6654",\
                 "1.128, 1.085, 1.014, 0.9494, 0.9048, 0.8675, 0.8473, 0.8343, 0.8347, 0.8359",\
                 "1.47, 1.417, 1.327, 1.245, 1.181, 1.143, 1.103, 1.075, 1.069, 1.06",\
                 "1.892, 1.832, 1.723, 1.623, 1.535, 1.476, 1.441, 1.408, 1.38, 1.364",\
                 "2.393, 2.328, 2.193, 2.078, 1.977, 1.899, 1.836, 1.81, 1.771, 1.747",\
                 "2.977, 2.908, 2.753, 2.622, 2.505, 2.404, 2.32, 2.275, 2.244, 2.205");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.001, 0.008824, 0.03629, 0.08874, 0.1705, 0.2851, 0.436, 0.626, 0.8581, 1.135");
          values("0.1184, 0.1311, 0.1651, 0.2167, 0.2893, 0.3887, 0.5193, 0.684, 0.8853, 1.126",\
                 "0.1225, 0.1353, 0.1692, 0.2207, 0.2934, 0.3928, 0.5233, 0.688, 0.8894, 1.13",\
                 "0.1419, 0.1547, 0.1884, 0.2399, 0.3124, 0.4117, 0.5422, 0.7069, 0.9083, 1.148",\
                 "0.1833, 0.196, 0.2296, 0.2807, 0.3528, 0.4519, 0.5822, 0.7467, 0.9481, 1.188",\
                 "0.2402, 0.254, 0.2886, 0.3403, 0.4121, 0.5105, 0.6402, 0.8044, 1.005, 1.245",\
                 "0.3088, 0.3237, 0.3607, 0.4142, 0.4866, 0.5847, 0.7137, 0.8772, 1.077, 1.317",\
                 "0.388, 0.404, 0.4442, 0.5003, 0.5748, 0.6734, 0.802, 0.9649, 1.165, 1.404",\
                 "0.4779, 0.4955, 0.5385, 0.5978, 0.6745, 0.7753, 0.9055, 1.068, 1.268, 1.506",\
                 "0.5792, 0.5979, 0.6441, 0.7068, 0.7859, 0.8892, 1.022, 1.187, 1.386, 1.625",\
                 "0.6924, 0.7123, 0.7617, 0.8277, 0.91, 1.016, 1.15, 1.318, 1.521, 1.76");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.001, 0.008824, 0.03629, 0.08874, 0.1705, 0.2851, 0.436, 0.626, 0.8581, 1.135");
          values("0.1022, 0.1145, 0.1533, 0.2265, 0.3416, 0.5037, 0.7169, 0.9867, 1.315, 1.707",\
                 "0.1053, 0.1177, 0.1566, 0.2295, 0.3448, 0.5069, 0.7207, 0.9887, 1.317, 1.708",\
                 "0.1184, 0.1307, 0.1692, 0.2418, 0.3566, 0.5188, 0.7319, 1.001, 1.33, 1.721",\
                 "0.1391, 0.1517, 0.19, 0.2614, 0.375, 0.5365, 0.7494, 1.018, 1.346, 1.738",\
                 "0.1563, 0.1696, 0.2082, 0.2782, 0.3908, 0.5507, 0.7631, 1.032, 1.358, 1.751",\
                 "0.1662, 0.1809, 0.2206, 0.2906, 0.4013, 0.5599, 0.7713, 1.038, 1.366, 1.757",\
                 "0.1673, 0.1832, 0.2245, 0.2946, 0.4057, 0.5639, 0.7735, 1.04, 1.366, 1.756",\
                 "0.1591, 0.1762, 0.2198, 0.2901, 0.4006, 0.5589, 0.7688, 1.035, 1.36, 1.749",\
                 "0.1397, 0.1583, 0.2042, 0.2754, 0.3863, 0.5456, 0.7554, 1.022, 1.346, 1.734",\
                 "0.1091, 0.1286, 0.1775, 0.2501, 0.3607, 0.5197, 0.7311, 0.9987, 1.324, 1.712");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.001, 0.008824, 0.03629, 0.08874, 0.1705, 0.2851, 0.436, 0.626, 0.8581, 1.135");
          values("0.04244, 0.05622, 0.09312, 0.1595, 0.267, 0.4269, 0.6411, 0.9137, 1.246, 1.64",\
                 "0.0425, 0.05612, 0.09302, 0.1593, 0.2672, 0.4271, 0.6425, 0.9138, 1.244, 1.641",\
                 "0.04252, 0.05608, 0.0932, 0.1596, 0.2673, 0.4269, 0.6425, 0.9135, 1.246, 1.642",\
                 "0.04526, 0.05876, 0.09488, 0.1606, 0.2675, 0.427, 0.6415, 0.9128, 1.245, 1.64",\
                 "0.05306, 0.0666, 0.102, 0.1652, 0.27, 0.4276, 0.6413, 0.914, 1.245, 1.64",\
                 "0.0633, 0.07798, 0.114, 0.1743, 0.275, 0.4298, 0.6421, 0.9138, 1.244, 1.641",\
                 "0.074, 0.0914, 0.1284, 0.1884, 0.2864, 0.4354, 0.644, 0.9136, 1.244, 1.641",\
                 "0.0858, 0.1038, 0.1446, 0.204, 0.3016, 0.4496, 0.6532, 0.9168, 1.245, 1.641",\
                 "0.098, 0.1174, 0.161, 0.2214, 0.3172, 0.4656, 0.6704, 0.9304, 1.252, 1.642",\
                 "0.111, 0.1328, 0.179, 0.2412, 0.335, 0.4826, 0.6898, 0.953, 1.27, 1.652");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.001, 0.008824, 0.03629, 0.08874, 0.1705, 0.2851, 0.436, 0.626, 0.8581, 1.135");
          values("0.03688, 0.05374, 0.116, 0.2425, 0.4427, 0.7232, 1.095, 1.562, 2.132, 2.806",\
                 "0.03706, 0.0536, 0.1159, 0.2426, 0.4428, 0.7242, 1.095, 1.56, 2.129, 2.81",\
                 "0.03694, 0.05366, 0.1161, 0.2425, 0.4425, 0.7232, 1.093, 1.562, 2.129, 2.81",\
                 "0.04074, 0.05658, 0.1172, 0.2426, 0.4427, 0.7242, 1.095, 1.559, 2.132, 2.813",\
                 "0.04658, 0.06226, 0.1201, 0.2435, 0.443, 0.7229, 1.094, 1.561, 2.126, 2.811",\
                 "0.0537, 0.07044, 0.1253, 0.2462, 0.4438, 0.7238, 1.092, 1.559, 2.127, 2.809",\
                 "0.06246, 0.07932, 0.1323, 0.2515, 0.4485, 0.7258, 1.093, 1.559, 2.125, 2.803",\
                 "0.0708, 0.0888, 0.1406, 0.2564, 0.4542, 0.7322, 1.097, 1.558, 2.125, 2.801",\
                 "0.0798, 0.0988, 0.1516, 0.2622, 0.4604, 0.7416, 1.106, 1.565, 2.126, 2.803",\
                 "0.0896, 0.1094, 0.1634, 0.2696, 0.4674, 0.7514, 1.119, 1.577, 2.135, 2.805");
        }
      }
    }
  }

