/*
 * 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_20) {
    area : 174.988800 ;

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

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

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

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

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

    pin(I) {
      capacitance : 0.06683 ;
      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 : 9.028 ;
      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.0633, 0.282, 0.6996, 1.35, 2.263, 3.465, 4.978, 6.825, 9.028");
          values("2.134, 2.086, 2.054, 2.046, 2.043, 2.039, 2.038, 2.038, 2.038, 2.037",\
                 "2.122, 2.075, 2.042, 2.035, 2.031, 2.027, 2.026, 2.026, 2.026, 2.026",\
                 "2.203, 2.15, 2.106, 2.094, 2.088, 2.087, 2.085, 2.084, 2.086, 2.087",\
                 "2.524, 2.444, 2.359, 2.325, 2.307, 2.3, 2.292, 2.289, 2.287, 2.287",\
                 "3.06, 2.953, 2.815, 2.746, 2.71, 2.687, 2.676, 2.672, 2.667, 2.665",\
                 "3.842, 3.711, 3.507, 3.388, 3.323, 3.283, 3.259, 3.244, 3.235, 3.23",\
                 "4.87, 4.717, 4.444, 4.264, 4.155, 4.094, 4.053, 4.031, 4.013, 4.003",\
                 "6.155, 5.981, 5.645, 5.404, 5.242, 5.143, 5.083, 5.047, 5.019, 5.001",\
                 "7.704, 7.517, 7.12, 6.813, 6.598, 6.447, 6.361, 6.304, 6.266, 6.238",\
                 "9.53, 9.328, 8.884, 8.506, 8.24, 8.036, 7.901, 7.817, 7.763, 7.726");
        }

        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.0633, 0.282, 0.6996, 1.35, 2.263, 3.465, 4.978, 6.825, 9.028");
          values("1.189, 1.181, 1.191, 1.216, 1.222, 1.245, 1.277, 1.301, 1.319, 1.392",\
                 "1.184, 1.174, 1.183, 1.202, 1.222, 1.231, 1.262, 1.286, 1.34, 1.345",\
                 "1.271, 1.25, 1.236, 1.244, 1.256, 1.275, 1.302, 1.33, 1.351, 1.421",\
                 "1.526, 1.482, 1.442, 1.418, 1.413, 1.423, 1.457, 1.484, 1.506, 1.529",\
                 "1.981, 1.914, 1.826, 1.786, 1.759, 1.754, 1.777, 1.794, 1.83, 1.842",\
                 "2.655, 2.561, 2.429, 2.33, 2.305, 2.29, 2.278, 2.291, 2.287, 2.339",\
                 "3.547, 3.42, 3.255, 3.121, 3.031, 3.017, 2.994, 2.996, 2.985, 2.994",\
                 "4.674, 4.518, 4.303, 4.121, 3.992, 3.942, 3.941, 3.922, 3.903, 3.89",\
                 "6.04, 5.855, 5.59, 5.38, 5.215, 5.094, 5.057, 5.063, 5.048, 5.042",\
                 "7.654, 7.45, 7.132, 6.88, 6.684, 6.512, 6.436, 6.384, 6.413, 6.392");
        }
      }

      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.0633, 0.282, 0.6996, 1.35, 2.263, 3.465, 4.978, 6.825, 9.028");
          values("0.1175, 0.1354, 0.1814, 0.252, 0.3546, 0.497, 0.6844, 0.9207, 1.208, 1.553",\
                 "0.1247, 0.1425, 0.1886, 0.2591, 0.3617, 0.5043, 0.6916, 0.9277, 1.216, 1.559",\
                 "0.1574, 0.1751, 0.2208, 0.2913, 0.3939, 0.5364, 0.7237, 0.9596, 1.248, 1.592",\
                 "0.2147, 0.2336, 0.2807, 0.3518, 0.4542, 0.5965, 0.7836, 1.02, 1.308, 1.652",\
                 "0.289, 0.3092, 0.3585, 0.4311, 0.5342, 0.6761, 0.8629, 1.099, 1.387, 1.73",\
                 "0.3785, 0.401, 0.4542, 0.5293, 0.6327, 0.7745, 0.9615, 1.197, 1.484, 1.828",\
                 "0.4834, 0.5081, 0.5655, 0.6453, 0.7517, 0.8934, 1.081, 1.315, 1.603, 1.946",\
                 "0.6042, 0.631, 0.6934, 0.7772, 0.8878, 1.033, 1.221, 1.456, 1.744, 2.086",\
                 "0.7418, 0.7703, 0.8375, 0.9267, 1.041, 1.191, 1.382, 1.619, 1.906, 2.249",\
                 "0.8967, 0.9274, 0.9997, 1.094, 1.213, 1.367, 1.563, 1.805, 2.095, 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.0633, 0.282, 0.6996, 1.35, 2.263, 3.465, 4.978, 6.825, 9.028");
          values("0.09547, 0.115, 0.1775, 0.2948, 0.4768, 0.7319, 1.067, 1.49, 2.003, 2.62",\
                 "0.1018, 0.1213, 0.1838, 0.3009, 0.4831, 0.7373, 1.073, 1.494, 2.011, 2.622",\
                 "0.1238, 0.1432, 0.2046, 0.3213, 0.5031, 0.758, 1.093, 1.515, 2.03, 2.646",\
                 "0.1443, 0.1642, 0.2257, 0.3411, 0.5223, 0.7768, 1.112, 1.534, 2.049, 2.663",\
                 "0.156, 0.1769, 0.2387, 0.3528, 0.5331, 0.7869, 1.122, 1.543, 2.059, 2.671",\
                 "0.1558, 0.1781, 0.2412, 0.3553, 0.5347, 0.7875, 1.121, 1.542, 2.058, 2.671",\
                 "0.1413, 0.1656, 0.231, 0.3459, 0.5248, 0.7772, 1.111, 1.531, 2.045, 2.659",\
                 "0.1114, 0.1376, 0.2056, 0.3208, 0.5019, 0.7555, 1.088, 1.508, 2.022, 2.634",\
                 "0.0654, 0.0934, 0.1642, 0.2812, 0.4631, 0.7184, 1.054, 1.473, 1.986, 2.599",\
                 "0.0013, 0.0314, 0.1057, 0.2241, 0.4074, 0.6643, 1.003, 1.425, 1.938, 2.549");
        }

        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.0633, 0.282, 0.6996, 1.35, 2.263, 3.465, 4.978, 6.825, 9.028");
          values("0.0392, 0.05766, 0.1108, 0.2089, 0.3722, 0.6073, 0.9179, 1.309, 1.789, 2.363",\
                 "0.03918, 0.0578, 0.1108, 0.2092, 0.3724, 0.6064, 0.9183, 1.31, 1.789, 2.36",\
                 "0.03982, 0.05828, 0.1115, 0.2095, 0.3725, 0.6061, 0.9174, 1.309, 1.789, 2.363",\
                 "0.04718, 0.0651, 0.1165, 0.2119, 0.3724, 0.6067, 0.9179, 1.309, 1.788, 2.362",\
                 "0.05664, 0.075, 0.1248, 0.2178, 0.3748, 0.6074, 0.918, 1.31, 1.787, 2.361",\
                 "0.0686, 0.0892, 0.1384, 0.2266, 0.3786, 0.609, 0.9184, 1.309, 1.788, 2.361",\
                 "0.0812, 0.1038, 0.1552, 0.2418, 0.389, 0.6134, 0.9194, 1.309, 1.788, 2.358",\
                 "0.0952, 0.1196, 0.173, 0.2598, 0.406, 0.6266, 0.926, 1.311, 1.787, 2.357",\
                 "0.1096, 0.136, 0.1928, 0.2796, 0.425, 0.6472, 0.9454, 1.322, 1.791, 2.356",\
                 "0.1252, 0.1534, 0.2148, 0.3022, 0.4454, 0.6686, 0.9708, 1.346, 1.806, 2.363");
        }

        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.0633, 0.282, 0.6996, 1.35, 2.263, 3.465, 4.978, 6.825, 9.028");
          values("0.03818, 0.0663, 0.1687, 0.3704, 0.685, 1.128, 1.711, 2.443, 3.344, 4.408",\
                 "0.0382, 0.06632, 0.1683, 0.3704, 0.6859, 1.13, 1.71, 2.448, 3.341, 4.413",\
                 "0.03968, 0.06738, 0.1687, 0.3703, 0.6859, 1.128, 1.714, 2.445, 3.342, 4.407",\
                 "0.0444, 0.07176, 0.1703, 0.3705, 0.6854, 1.129, 1.712, 2.442, 3.337, 4.413",\
                 "0.05178, 0.07852, 0.1732, 0.3722, 0.6858, 1.128, 1.71, 2.441, 3.337, 4.411",\
                 "0.06088, 0.08658, 0.1792, 0.3745, 0.6868, 1.128, 1.709, 2.44, 3.341, 4.402",\
                 "0.0708, 0.0962, 0.187, 0.3808, 0.6914, 1.129, 1.708, 2.444, 3.334, 4.404",\
                 "0.0814, 0.1084, 0.1962, 0.3886, 0.7012, 1.137, 1.712, 2.44, 3.339, 4.399",\
                 "0.0928, 0.121, 0.2068, 0.3962, 0.713, 1.15, 1.722, 2.445, 3.335, 4.401",\
                 "0.1044, 0.1348, 0.2194, 0.4058, 0.7228, 1.167, 1.739, 2.458, 3.339, 4.399");
        }
      }
    }
  }

