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

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

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

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

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 0.7181 ;
      max_transition : 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.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
          index_2("0.001, 0.005949, 0.02332, 0.0565, 0.1082, 0.1807, 0.2761, 0.3964, 0.5431, 0.7181");
          values("0.4694, 0.4563, 0.4333, 0.42, 0.4117, 0.4072, 0.4042, 0.4019, 0.4003, 0.3994",\
                 "0.4681, 0.4552, 0.4317, 0.4192, 0.4109, 0.4058, 0.4029, 0.4008, 0.3993, 0.3985",\
                 "0.4741, 0.4607, 0.4368, 0.4236, 0.4155, 0.4107, 0.408, 0.4058, 0.4042, 0.4033",\
                 "0.5121, 0.4973, 0.4695, 0.4522, 0.4427, 0.4365, 0.4325, 0.4297, 0.4278, 0.4266",\
                 "0.5936, 0.5752, 0.5394, 0.5137, 0.4979, 0.4881, 0.4818, 0.4777, 0.4748, 0.4728",\
                 "0.7118, 0.6906, 0.6445, 0.6094, 0.585, 0.5697, 0.5598, 0.5532, 0.5487, 0.5454",\
                 "0.8681, 0.8438, 0.7887, 0.7404, 0.7076, 0.6841, 0.6699, 0.6594, 0.6525, 0.6474",\
                 "1.061, 1.034, 0.9696, 0.9083, 0.8644, 0.8336, 0.8122, 0.7976, 0.7874, 0.7797",\
                 "1.29, 1.261, 1.189, 1.114, 1.059, 1.018, 0.99, 0.9704, 0.956, 0.9454",\
                 "1.558, 1.527, 1.447, 1.36, 1.292, 1.242, 1.205, 1.179, 1.16, 1.146");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
          index_2("0.001, 0.005949, 0.02332, 0.0565, 0.1082, 0.1807, 0.2761, 0.3964, 0.5431, 0.7181");
          values("0.3024, 0.296, 0.2867, 0.2831, 0.2819, 0.2812, 0.2856, 0.289, 0.2934, 0.296",\
                 "0.3021, 0.2954, 0.2856, 0.2815, 0.2813, 0.2811, 0.2856, 0.2875, 0.2909, 0.296",\
                 "0.3088, 0.3019, 0.2913, 0.285, 0.2836, 0.2847, 0.2876, 0.2905, 0.2939, 0.3015",\
                 "0.3482, 0.3398, 0.3241, 0.3127, 0.3073, 0.3053, 0.3071, 0.3105, 0.3129, 0.317",\
                 "0.4176, 0.4056, 0.3829, 0.366, 0.3552, 0.3493, 0.3466, 0.3475, 0.3494, 0.354",\
                 "0.5211, 0.5044, 0.4743, 0.4478, 0.4329, 0.4231, 0.4166, 0.412, 0.4119, 0.4165",\
                 "0.657, 0.6357, 0.5986, 0.5629, 0.5386, 0.5248, 0.5146, 0.506, 0.5024, 0.502",\
                 "0.8267, 0.8015, 0.7567, 0.7138, 0.6793, 0.6553, 0.6451, 0.636, 0.6259, 0.62",\
                 "1.031, 1.002, 0.9485, 0.8959, 0.8526, 0.8208, 0.7996, 0.793, 0.7824, 0.773",\
                 "1.269, 1.238, 1.172, 1.115, 1.062, 1.021, 0.9966, 0.976, 0.9694, 0.958");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
          index_2("0.001, 0.005949, 0.02332, 0.0565, 0.1082, 0.1807, 0.2761, 0.3964, 0.5431, 0.7181");
          values("0.1905, 0.2087, 0.2591, 0.3364, 0.4431, 0.5865, 0.7737, 1.01, 1.298, 1.641",\
                 "0.1965, 0.2147, 0.2652, 0.3424, 0.449, 0.5925, 0.7797, 1.016, 1.304, 1.647",\
                 "0.2238, 0.2421, 0.2924, 0.3694, 0.4761, 0.6195, 0.8068, 1.043, 1.331, 1.674",\
                 "0.2826, 0.3008, 0.3506, 0.4274, 0.5339, 0.6771, 0.8642, 1.1, 1.388, 1.731",\
                 "0.3637, 0.3829, 0.4344, 0.5122, 0.6185, 0.7614, 0.948, 1.183, 1.471, 1.815",\
                 "0.4613, 0.4817, 0.536, 0.6157, 0.7234, 0.8662, 1.052, 1.287, 1.574, 1.918",\
                 "0.573, 0.5955, 0.6535, 0.7368, 0.8472, 0.9905, 1.176, 1.411, 1.697, 2.039",\
                 "0.6993, 0.7233, 0.7856, 0.8732, 0.9879, 1.134, 1.321, 1.554, 1.841, 2.183",\
                 "0.8406, 0.8659, 0.9327, 1.025, 1.144, 1.294, 1.484, 1.719, 2.005, 2.347",\
                 "0.9974, 1.024, 1.096, 1.193, 1.316, 1.471, 1.665, 1.905, 2.194, 2.535");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
          index_2("0.001, 0.005949, 0.02332, 0.0565, 0.1082, 0.1807, 0.2761, 0.3964, 0.5431, 0.7181");
          values("0.1656, 0.1837, 0.2399, 0.3424, 0.5024, 0.7276, 1.024, 1.398, 1.854, 2.398",\
                 "0.1707, 0.1886, 0.2446, 0.3471, 0.5074, 0.7328, 1.028, 1.402, 1.857, 2.403",\
                 "0.1906, 0.2083, 0.2641, 0.3663, 0.5264, 0.7516, 1.048, 1.421, 1.876, 2.421",\
                 "0.225, 0.2431, 0.2983, 0.3993, 0.5582, 0.7823, 1.079, 1.452, 1.908, 2.452",\
                 "0.2548, 0.2738, 0.3295, 0.4294, 0.5872, 0.8103, 1.105, 1.478, 1.934, 2.476",\
                 "0.2758, 0.2959, 0.3532, 0.4529, 0.6088, 0.8311, 1.125, 1.497, 1.952, 2.494",\
                 "0.2847, 0.3065, 0.3665, 0.4669, 0.6222, 0.8429, 1.136, 1.506, 1.961, 2.503",\
                 "0.2809, 0.3041, 0.3671, 0.469, 0.6247, 0.8458, 1.138, 1.508, 1.96, 2.501",\
                 "0.2624, 0.2875, 0.3538, 0.4578, 0.6141, 0.836, 1.129, 1.5, 1.951, 2.491",\
                 "0.2287, 0.2552, 0.3254, 0.4318, 0.589, 0.8118, 1.108, 1.479, 1.931, 2.47");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
          index_2("0.001, 0.005949, 0.02332, 0.0565, 0.1082, 0.1807, 0.2761, 0.3964, 0.5431, 0.7181");
          values("0.0724, 0.09106, 0.1463, 0.2439, 0.3987, 0.6271, 0.9364, 1.327, 1.807, 2.382",\
                 "0.07236, 0.09102, 0.1462, 0.2441, 0.3988, 0.6271, 0.9364, 1.327, 1.808, 2.38",\
                 "0.07234, 0.09138, 0.1464, 0.2438, 0.399, 0.6274, 0.9372, 1.328, 1.808, 2.382",\
                 "0.07504, 0.0936, 0.1481, 0.2456, 0.399, 0.6286, 0.9372, 1.327, 1.808, 2.382",\
                 "0.08642, 0.1048, 0.1579, 0.2516, 0.4028, 0.6293, 0.9372, 1.33, 1.807, 2.383",\
                 "0.1008, 0.1208, 0.1722, 0.2636, 0.41, 0.632, 0.9374, 1.328, 1.808, 2.382",\
                 "0.118, 0.1384, 0.1924, 0.2812, 0.423, 0.6384, 0.9394, 1.33, 1.808, 2.381",\
                 "0.1354, 0.159, 0.2154, 0.3044, 0.4442, 0.6542, 0.948, 1.331, 1.809, 2.381",\
                 "0.1538, 0.1794, 0.2398, 0.3284, 0.4688, 0.6774, 0.9664, 1.342, 1.813, 2.38",\
                 "0.174, 0.2016, 0.2658, 0.3554, 0.4944, 0.7042, 0.9942, 1.368, 1.83, 2.387");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
          index_2("0.001, 0.005949, 0.02332, 0.0565, 0.1082, 0.1807, 0.2761, 0.3964, 0.5431, 0.7181");
          values("0.06582, 0.09044, 0.1784, 0.3563, 0.6404, 1.04, 1.568, 2.232, 3.038, 4.001",\
                 "0.06584, 0.09024, 0.1786, 0.3565, 0.6403, 1.04, 1.565, 2.23, 3.038, 4.002",\
                 "0.06548, 0.0902, 0.1784, 0.3566, 0.6409, 1.042, 1.568, 2.229, 3.038, 4.002",\
                 "0.07028, 0.09412, 0.1802, 0.3567, 0.6406, 1.039, 1.567, 2.23, 3.04, 4.003",\
                 "0.07866, 0.1017, 0.1852, 0.359, 0.6406, 1.041, 1.566, 2.228, 3.042, 4",\
                 "0.08962, 0.1131, 0.1931, 0.3624, 0.6428, 1.041, 1.565, 2.229, 3.04, 4",\
                 "0.1022, 0.1254, 0.204, 0.3698, 0.6468, 1.042, 1.566, 2.231, 3.034, 3.998",\
                 "0.1154, 0.1412, 0.2166, 0.3792, 0.6552, 1.05, 1.569, 2.228, 3.042, 4.001",\
                 "0.1302, 0.1566, 0.2314, 0.39, 0.666, 1.061, 1.582, 2.234, 3.037, 4.003",\
                 "0.1452, 0.1736, 0.2476, 0.403, 0.6764, 1.075, 1.596, 2.246, 3.044, 4.001");
        }
      }
    }
  }

