/*
 * 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.00539748" ;
    }

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

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

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

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

    pin(I) {
      capacitance : 0.004895 ;
      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 : 0.6832 ;
      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.005708, 0.02224, 0.0538, 0.103, 0.172, 0.2627, 0.3771, 0.5167, 0.6832");
          values("0.6281, 0.6096, 0.5704, 0.5409, 0.5234, 0.5118, 0.5044, 0.4993, 0.4956, 0.4933",\
                 "0.628, 0.6086, 0.5702, 0.54, 0.5229, 0.5115, 0.5039, 0.4991, 0.4955, 0.4929",\
                 "0.6419, 0.6233, 0.5832, 0.5525, 0.5344, 0.5229, 0.5149, 0.5101, 0.5067, 0.5038",\
                 "0.7104, 0.6895, 0.6432, 0.6055, 0.583, 0.5682, 0.5584, 0.5518, 0.5472, 0.5437",\
                 "0.8531, 0.8279, 0.77, 0.7176, 0.6831, 0.6605, 0.6452, 0.6349, 0.6276, 0.6225",\
                 "1.065, 1.035, 0.9635, 0.8938, 0.8416, 0.8072, 0.7834, 0.7664, 0.7545, 0.7456",\
                 "1.34, 1.306, 1.222, 1.132, 1.062, 1.012, 0.9761, 0.951, 0.9327, 0.919",\
                 "1.677, 1.641, 1.547, 1.438, 1.344, 1.277, 1.228, 1.192, 1.166, 1.146",\
                 "2.079, 2.041, 1.936, 1.81, 1.697, 1.609, 1.542, 1.493, 1.457, 1.429",\
                 "2.55, 2.508, 2.395, 2.253, 2.117, 2.009, 1.924, 1.859, 1.811, 1.774");
        }

        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.005708, 0.02224, 0.0538, 0.103, 0.172, 0.2627, 0.3771, 0.5167, 0.6832");
          values("0.4219, 0.4064, 0.384, 0.3706, 0.3632, 0.36, 0.3594, 0.3619, 0.364, 0.3689",\
                 "0.4213, 0.4066, 0.3826, 0.3705, 0.3627, 0.3606, 0.3599, 0.3619, 0.3635, 0.3673",\
                 "0.4347, 0.4195, 0.3945, 0.3791, 0.3711, 0.3666, 0.366, 0.3685, 0.3701, 0.3733",\
                 "0.5016, 0.4844, 0.4539, 0.4291, 0.4139, 0.4051, 0.4028, 0.402, 0.4036, 0.4052",\
                 "0.6253, 0.6037, 0.5596, 0.529, 0.5021, 0.486, 0.4771, 0.4708, 0.4724, 0.4707",\
                 "0.8063, 0.7792, 0.7255, 0.6759, 0.643, 0.6158, 0.5975, 0.5868, 0.5791, 0.5779",\
                 "1.044, 1.013, 0.9466, 0.8809, 0.8324, 0.7978, 0.7719, 0.7524, 0.7391, 0.7292",\
                 "1.339, 1.305, 1.225, 1.147, 1.08, 1.031, 0.9985, 0.9735, 0.9509, 0.9343",\
                 "1.693, 1.657, 1.567, 1.471, 1.391, 1.325, 1.277, 1.242, 1.218, 1.197",\
                 "2.108, 2.068, 1.968, 1.86, 1.763, 1.683, 1.617, 1.567, 1.538, 1.513");
        }
      }

      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.005708, 0.02224, 0.0538, 0.103, 0.172, 0.2627, 0.3771, 0.5167, 0.6832");
          values("0.1633, 0.179, 0.2231, 0.2913, 0.3866, 0.5147, 0.6817, 0.8923, 1.15, 1.457",\
                 "0.1682, 0.1839, 0.228, 0.2963, 0.3915, 0.5195, 0.6867, 0.8973, 1.155, 1.462",\
                 "0.1913, 0.2069, 0.2509, 0.3188, 0.414, 0.5421, 0.709, 0.9196, 1.177, 1.484",\
                 "0.2412, 0.2567, 0.3001, 0.3675, 0.4622, 0.5898, 0.7566, 0.967, 1.224, 1.531",\
                 "0.3109, 0.3272, 0.3718, 0.4398, 0.534, 0.6608, 0.8267, 1.036, 1.293, 1.6",\
                 "0.3932, 0.4109, 0.4583, 0.529, 0.6245, 0.7511, 0.9162, 1.125, 1.381, 1.687",\
                 "0.4872, 0.5062, 0.5573, 0.632, 0.7305, 0.8588, 1.024, 1.231, 1.486, 1.792",\
                 "0.5928, 0.6132, 0.668, 0.7466, 0.8496, 0.9818, 1.149, 1.358, 1.612, 1.916",\
                 "0.7104, 0.7327, 0.7909, 0.8741, 0.9815, 1.117, 1.289, 1.502, 1.757, 2.061",\
                 "0.8416, 0.8647, 0.9272, 1.015, 1.126, 1.267, 1.442, 1.66, 1.92, 2.227");
        }

        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.005708, 0.02224, 0.0538, 0.103, 0.172, 0.2627, 0.3771, 0.5167, 0.6832");
          values("0.1555, 0.1706, 0.2166, 0.2999, 0.4295, 0.6126, 0.854, 1.158, 1.53, 1.974",\
                 "0.1586, 0.1737, 0.2199, 0.3032, 0.4328, 0.6158, 0.8577, 1.162, 1.533, 1.977",\
                 "0.1731, 0.1881, 0.2339, 0.3167, 0.4461, 0.6288, 0.8707, 1.174, 1.547, 1.991",\
                 "0.1994, 0.2147, 0.26, 0.3417, 0.4699, 0.6522, 0.8931, 1.197, 1.569, 2.012",\
                 "0.2224, 0.2387, 0.2847, 0.3659, 0.4922, 0.6728, 0.9129, 1.216, 1.586, 2.029",\
                 "0.2368, 0.2538, 0.3024, 0.3833, 0.509, 0.6879, 0.926, 1.228, 1.599, 2.041",\
                 "0.2399, 0.2585, 0.3096, 0.3918, 0.5177, 0.6963, 0.9331, 1.234, 1.603, 2.043",\
                 "0.231, 0.2514, 0.3056, 0.3895, 0.5151, 0.6952, 0.9325, 1.232, 1.6, 2.039",\
                 "0.2088, 0.2304, 0.2886, 0.3751, 0.5021, 0.6825, 0.9215, 1.222, 1.59, 2.028",\
                 "0.1731, 0.196, 0.2572, 0.3476, 0.4757, 0.6562, 0.8968, 1.2, 1.57, 2.009");
        }

        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.005708, 0.02224, 0.0538, 0.103, 0.172, 0.2627, 0.3771, 0.5167, 0.6832");
          values("0.06978, 0.08736, 0.1376, 0.2262, 0.3688, 0.5773, 0.8605, 1.22, 1.66, 2.185",\
                 "0.06998, 0.08718, 0.1377, 0.2263, 0.369, 0.5775, 0.8597, 1.22, 1.658, 2.185",\
                 "0.06998, 0.08738, 0.1377, 0.2265, 0.3688, 0.5772, 0.8597, 1.22, 1.658, 2.185",\
                 "0.0729, 0.09028, 0.1398, 0.228, 0.3697, 0.5779, 0.8604, 1.22, 1.659, 2.182",\
                 "0.08554, 0.1029, 0.1509, 0.2349, 0.3735, 0.5782, 0.8603, 1.219, 1.659, 2.185",\
                 "0.1034, 0.1212, 0.1701, 0.2518, 0.383, 0.5832, 0.8618, 1.218, 1.659, 2.181",\
                 "0.1234, 0.1424, 0.193, 0.2748, 0.4048, 0.5974, 0.8664, 1.22, 1.66, 2.184",\
                 "0.144, 0.1662, 0.2194, 0.302, 0.4296, 0.621, 0.8852, 1.229, 1.661, 2.182",\
                 "0.1654, 0.1902, 0.2462, 0.3304, 0.4584, 0.649, 0.9144, 1.254, 1.675, 2.189",\
                 "0.191, 0.2154, 0.276, 0.362, 0.4896, 0.6828, 0.9478, 1.291, 1.707, 2.209");
        }

        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.005708, 0.02224, 0.0538, 0.103, 0.172, 0.2627, 0.3771, 0.5167, 0.6832");
          values("0.06674, 0.08652, 0.1582, 0.3062, 0.5455, 0.8825, 1.327, 1.887, 2.57, 3.389",\
                 "0.0665, 0.0867, 0.1588, 0.3062, 0.5455, 0.8824, 1.329, 1.887, 2.57, 3.385",\
                 "0.06632, 0.08642, 0.1581, 0.3065, 0.5455, 0.883, 1.326, 1.887, 2.57, 3.385",\
                 "0.07042, 0.08988, 0.1601, 0.307, 0.5453, 0.8827, 1.328, 1.886, 2.57, 3.385",\
                 "0.0796, 0.09924, 0.1661, 0.3102, 0.5462, 0.8827, 1.328, 1.889, 2.57, 3.383",\
                 "0.09194, 0.1115, 0.1766, 0.3159, 0.55, 0.8852, 1.328, 1.886, 2.572, 3.383",\
                 "0.1054, 0.1262, 0.1902, 0.3254, 0.5584, 0.89, 1.329, 1.887, 2.573, 3.382",\
                 "0.1208, 0.1428, 0.2066, 0.3372, 0.5694, 0.9014, 1.339, 1.893, 2.572, 3.386",\
                 "0.137, 0.1606, 0.2256, 0.3524, 0.5804, 0.9168, 1.355, 1.905, 2.579, 3.388",\
                 "0.1548, 0.1778, 0.246, 0.3702, 0.5942, 0.9306, 1.375, 1.926, 2.596, 3.398");
        }
      }
    }
  }

