/*
 * 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_16) {
    area : 109.760000 ;

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

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

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

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 5.679 ;
      max_transition : 5.2 ;
      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.04019, 0.1778, 0.4405, 0.8498, 1.424, 2.18, 3.132, 4.294, 5.679");
          values("1.17, 1.145, 1.128, 1.123, 1.121, 1.119, 1.119, 1.118, 1.119, 1.119",\
                 "1.164, 1.138, 1.121, 1.118, 1.114, 1.113, 1.113, 1.113, 1.113, 1.113",\
                 "1.222, 1.19, 1.167, 1.16, 1.157, 1.154, 1.154, 1.154, 1.154, 1.154",\
                 "1.425, 1.379, 1.33, 1.306, 1.296, 1.291, 1.288, 1.287, 1.287, 1.286",\
                 "1.767, 1.702, 1.622, 1.579, 1.555, 1.542, 1.536, 1.532, 1.529, 1.527",\
                 "2.26, 2.179, 2.057, 1.984, 1.947, 1.922, 1.908, 1.899, 1.893, 1.891",\
                 "2.904, 2.811, 2.65, 2.544, 2.478, 2.441, 2.416, 2.401, 2.392, 2.386",\
                 "3.709, 3.605, 3.406, 3.263, 3.168, 3.11, 3.072, 3.051, 3.034, 3.023",\
                 "4.68, 4.565, 4.328, 4.149, 4.022, 3.937, 3.885, 3.851, 3.829, 3.813",\
                 "5.82, 5.697, 5.43, 5.208, 5.053, 4.941, 4.867, 4.816, 4.785, 4.761");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.04019, 0.1778, 0.4405, 0.8498, 1.424, 2.18, 3.132, 4.294, 5.679");
          values("0.6751, 0.67, 0.6775, 0.6854, 0.6942, 0.7039, 0.7257, 0.7369, 0.7483, 0.7702",\
                 "0.6721, 0.6653, 0.6713, 0.6818, 0.6892, 0.706, 0.7213, 0.7369, 0.7663, 0.763",\
                 "0.7325, 0.7187, 0.7071, 0.712, 0.7158, 0.7269, 0.7498, 0.7657, 0.7771, 0.8062",\
                 "0.8961, 0.8662, 0.839, 0.824, 0.8235, 0.8324, 0.8459, 0.8665, 0.8815, 0.8962",\
                 "1.186, 1.145, 1.089, 1.063, 1.049, 1.047, 1.058, 1.065, 1.08, 1.098",\
                 "1.611, 1.554, 1.471, 1.417, 1.398, 1.386, 1.378, 1.381, 1.404, 1.407",\
                 "2.171, 2.089, 1.989, 1.896, 1.854, 1.849, 1.843, 1.831, 1.836, 1.836",\
                 "2.874, 2.779, 2.644, 2.533, 2.462, 2.424, 2.429, 2.415, 2.412, 2.409",\
                 "3.732, 3.618, 3.461, 3.318, 3.233, 3.154, 3.13, 3.138, 3.139, 3.125",\
                 "4.745, 4.616, 4.425, 4.266, 4.144, 4.045, 3.994, 3.973, 3.985, 3.993");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.04019, 0.1778, 0.4405, 0.8498, 1.424, 2.18, 3.132, 4.294, 5.679");
          values("0.1228, 0.1435, 0.1969, 0.2801, 0.4035, 0.5757, 0.8022, 1.088, 1.436, 1.852",\
                 "0.1315, 0.1521, 0.2055, 0.2889, 0.4122, 0.5844, 0.8109, 1.096, 1.445, 1.861",\
                 "0.1706, 0.1909, 0.2439, 0.3272, 0.4505, 0.6226, 0.849, 1.134, 1.483, 1.898",\
                 "0.2361, 0.2577, 0.3128, 0.3968, 0.5199, 0.6917, 0.918, 1.203, 1.552, 1.967",\
                 "0.3203, 0.3442, 0.4019, 0.4872, 0.6106, 0.7825, 1.009, 1.294, 1.642, 2.057",\
                 "0.4214, 0.4479, 0.5105, 0.5999, 0.7243, 0.8949, 1.121, 1.405, 1.754, 2.168",\
                 "0.5399, 0.5691, 0.6367, 0.7312, 0.8592, 1.031, 1.257, 1.542, 1.89, 2.304",\
                 "0.6767, 0.7084, 0.7821, 0.8818, 1.014, 1.191, 1.419, 1.703, 2.051, 2.465",\
                 "0.8321, 0.8663, 0.9461, 1.053, 1.19, 1.371, 1.604, 1.892, 2.239, 2.653",\
                 "1.008, 1.045, 1.13, 1.243, 1.385, 1.571, 1.81, 2.105, 2.456, 2.87");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.04019, 0.1778, 0.4405, 0.8498, 1.424, 2.18, 3.132, 4.294, 5.679");
          values("0.1011, 0.1239, 0.1974, 0.3355, 0.5506, 0.8509, 1.247, 1.746, 2.353, 3.08",\
                 "0.1086, 0.1313, 0.2046, 0.3428, 0.5579, 0.8588, 1.254, 1.754, 2.362, 3.087",\
                 "0.1338, 0.1564, 0.2286, 0.3664, 0.5809, 0.8814, 1.278, 1.776, 2.385, 3.109",\
                 "0.1559, 0.1791, 0.251, 0.3875, 0.6012, 0.9021, 1.298, 1.796, 2.405, 3.13",\
                 "0.1674, 0.1922, 0.2648, 0.3996, 0.6124, 0.912, 1.307, 1.806, 2.413, 3.139",\
                 "0.1647, 0.1914, 0.2658, 0.4012, 0.613, 0.9116, 1.306, 1.803, 2.411, 3.135",\
                 "0.1454, 0.174, 0.2513, 0.387, 0.5998, 0.8983, 1.292, 1.789, 2.396, 3.121",\
                 "0.1085, 0.1394, 0.2193, 0.3567, 0.5718, 0.8719, 1.265, 1.762, 2.368, 3.091",\
                 "0.0522, 0.0855, 0.1695, 0.3078, 0.5244, 0.8275, 1.224, 1.72, 2.326, 3.049",\
                 "-0.0249, 0.0109, 0.099, 0.239, 0.4572, 0.7633, 1.164, 1.663, 2.269, 2.992");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.04019, 0.1778, 0.4405, 0.8498, 1.424, 2.18, 3.132, 4.294, 5.679");
          values("0.04264, 0.06408, 0.1271, 0.2471, 0.4474, 0.7316, 1.108, 1.581, 2.163, 2.857",\
                 "0.0427, 0.06412, 0.1272, 0.2474, 0.4468, 0.732, 1.108, 1.584, 2.165, 2.857",\
                 "0.04366, 0.06486, 0.1282, 0.248, 0.4468, 0.731, 1.108, 1.582, 2.165, 2.853",\
                 "0.05212, 0.07324, 0.1341, 0.2503, 0.447, 0.7319, 1.109, 1.583, 2.166, 2.851",\
                 "0.06382, 0.08476, 0.1438, 0.2567, 0.4492, 0.7332, 1.108, 1.584, 2.162, 2.856",\
                 "0.0776, 0.1014, 0.16, 0.2674, 0.4536, 0.7338, 1.108, 1.583, 2.163, 2.852",\
                 "0.0918, 0.1186, 0.179, 0.2866, 0.4672, 0.7398, 1.11, 1.582, 2.16, 2.849",\
                 "0.1074, 0.1362, 0.2002, 0.306, 0.4872, 0.7586, 1.12, 1.585, 2.159, 2.849",\
                 "0.1238, 0.1556, 0.2234, 0.3288, 0.5092, 0.7838, 1.144, 1.6, 2.164, 2.849",\
                 "0.142, 0.1748, 0.2476, 0.3542, 0.5336, 0.8088, 1.177, 1.632, 2.186, 2.858");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.04019, 0.1778, 0.4405, 0.8498, 1.424, 2.18, 3.132, 4.294, 5.679");
          values("0.04208, 0.07536, 0.1968, 0.4355, 0.8085, 1.332, 2.019, 2.887, 3.948, 5.207",\
                 "0.04212, 0.07506, 0.1967, 0.4358, 0.8089, 1.332, 2.019, 2.888, 3.946, 5.212",\
                 "0.04422, 0.07694, 0.1966, 0.4354, 0.8077, 1.334, 2.019, 2.887, 3.945, 5.215",\
                 "0.05, 0.0817, 0.1984, 0.4356, 0.8078, 1.331, 2.019, 2.886, 3.945, 5.206",\
                 "0.05814, 0.08944, 0.2016, 0.4375, 0.8082, 1.33, 2.018, 2.885, 3.942, 5.206",\
                 "0.06908, 0.0988, 0.209, 0.4412, 0.8098, 1.33, 2.017, 2.883, 3.941, 5.203",\
                 "0.0796, 0.1114, 0.2182, 0.4488, 0.8166, 1.333, 2.017, 2.883, 3.939, 5.203",\
                 "0.0914, 0.1238, 0.2286, 0.4578, 0.8296, 1.342, 2.021, 2.884, 3.946, 5.201",\
                 "0.105, 0.138, 0.2408, 0.4676, 0.8424, 1.359, 2.034, 2.888, 3.941, 5.198",\
                 "0.1186, 0.1538, 0.2548, 0.4784, 0.8564, 1.381, 2.056, 2.905, 3.946, 5.199");
        }
      }
    }
  }

