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

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

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

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

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

    pin(I) {
      capacitance : 0.06768 ;
      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 : 7.516 ;
      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.05287, 0.235, 0.5827, 1.124, 1.884, 2.885, 4.145, 5.683, 7.516");
          values("5.495, 5.334, 5.093, 4.978, 4.911, 4.876, 4.848, 4.831, 4.821, 4.811",\
                 "5.513, 5.346, 5.111, 4.994, 4.928, 4.896, 4.865, 4.846, 4.836, 4.827",\
                 "5.844, 5.666, 5.401, 5.269, 5.191, 5.146, 5.118, 5.099, 5.088, 5.079",\
                 "6.89, 6.675, 6.31, 6.101, 5.967, 5.892, 5.846, 5.815, 5.797, 5.782",\
                 "8.672, 8.405, 7.905, 7.558, 7.338, 7.205, 7.12, 7.064, 7.025, 6.998",\
                 "11.21, 10.89, 10.23, 9.727, 9.398, 9.165, 9.021, 8.924, 8.861, 8.809",\
                 "14.49, 14.14, 13.35, 12.65, 12.14, 11.81, 11.6, 11.45, 11.34, 11.27",\
                 "18.55, 18.15, 17.24, 16.36, 15.69, 15.2, 14.89, 14.67, 14.52, 14.4",\
                 "23.4, 22.97, 21.96, 20.9, 20.08, 19.42, 18.96, 18.66, 18.45, 18.29",\
                 "29.09, 28.66, 27.55, 26.31, 25.32, 24.52, 23.89, 23.44, 23.15, 22.94");
        }

        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.05287, 0.235, 0.5827, 1.124, 1.884, 2.885, 4.145, 5.683, 7.516");
          values("3.077, 2.997, 2.915, 2.875, 2.869, 2.885, 2.88, 2.934, 3.055, 2.995",\
                 "3.091, 3.01, 2.93, 2.894, 2.9, 2.89, 2.924, 3.011, 3.06, 3.127",\
                 "3.42, 3.323, 3.191, 3.123, 3.103, 3.105, 3.072, 3.192, 3.242, 3.303",\
                 "4.337, 4.196, 4.006, 3.832, 3.723, 3.682, 3.694, 3.748, 3.792, 3.847",\
                 "5.893, 5.69, 5.361, 5.124, 4.946, 4.848, 4.783, 4.776, 4.82, 4.881",\
                 "8.116, 7.854, 7.44, 7.019, 6.829, 6.614, 6.471, 6.437, 6.448, 6.449",\
                 "11.03, 10.71, 10.18, 9.672, 9.269, 9.078, 8.886, 8.698, 8.665, 8.643",\
                 "14.63, 14.26, 13.6, 13, 12.45, 12.1, 11.92, 11.74, 11.59, 11.5",\
                 "18.98, 18.55, 17.78, 17.1, 16.41, 15.91, 15.57, 15.42, 15.24, 15.13",\
                 "24.1, 23.65, 22.74, 21.91, 21.2, 20.51, 20.08, 19.73, 19.58, 19.44");
        }
      }

      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.05287, 0.235, 0.5827, 1.124, 1.884, 2.885, 4.145, 5.683, 7.516");
          values("0.09001, 0.1018, 0.1332, 0.1825, 0.2542, 0.3539, 0.4851, 0.6507, 0.8528, 1.094",\
                 "0.09441, 0.1062, 0.1376, 0.1869, 0.2586, 0.3582, 0.4895, 0.655, 0.8572, 1.098",\
                 "0.1148, 0.1265, 0.1575, 0.2067, 0.2783, 0.3779, 0.5091, 0.6746, 0.8766, 1.118",\
                 "0.1537, 0.1657, 0.1971, 0.246, 0.3172, 0.4164, 0.5474, 0.7128, 0.9147, 1.156",\
                 "0.205, 0.218, 0.2507, 0.3002, 0.3712, 0.4698, 0.6004, 0.7653, 0.9674, 1.208",\
                 "0.2664, 0.2807, 0.3158, 0.367, 0.4389, 0.5369, 0.6669, 0.8316, 1.033, 1.274",\
                 "0.3377, 0.3532, 0.3912, 0.4448, 0.5186, 0.6182, 0.7479, 0.912, 1.113, 1.353",\
                 "0.4195, 0.4364, 0.477, 0.5333, 0.6095, 0.7108, 0.8428, 1.007, 1.208, 1.447",\
                 "0.5123, 0.5304, 0.5744, 0.6335, 0.7113, 0.8148, 0.95, 1.117, 1.319, 1.558",\
                 "0.6162, 0.636, 0.6829, 0.7456, 0.8252, 0.9309, 1.068, 1.239, 1.444, 1.685");
        }

        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.05287, 0.235, 0.5827, 1.124, 1.884, 2.885, 4.145, 5.683, 7.516");
          values("0.07816, 0.09012, 0.1288, 0.2024, 0.3177, 0.4797, 0.6933, 0.9611, 1.29, 1.681",\
                 "0.08137, 0.09327, 0.132, 0.2056, 0.3211, 0.483, 0.6963, 0.9647, 1.293, 1.685",\
                 "0.0943, 0.1061, 0.1442, 0.2173, 0.3325, 0.494, 0.7069, 0.9763, 1.303, 1.696",\
                 "0.1095, 0.1217, 0.1594, 0.2311, 0.3451, 0.5061, 0.7189, 0.9879, 1.316, 1.707",\
                 "0.1197, 0.1328, 0.1706, 0.2414, 0.3543, 0.5144, 0.7265, 0.9948, 1.322, 1.713",\
                 "0.1225, 0.1368, 0.1756, 0.2456, 0.3582, 0.5172, 0.7281, 0.9952, 1.322, 1.713",\
                 "0.1166, 0.1321, 0.1722, 0.2424, 0.3546, 0.514, 0.7239, 0.99, 1.316, 1.705",\
                 "0.1004, 0.1172, 0.1593, 0.2296, 0.342, 0.5017, 0.7125, 0.9779, 1.303, 1.692",\
                 "0.0739, 0.0917, 0.1364, 0.2074, 0.3192, 0.4799, 0.6917, 0.9581, 1.283, 1.671",\
                 "0.0361, 0.0554, 0.1019, 0.1733, 0.286, 0.4467, 0.6605, 0.9281, 1.254, 1.641");
        }

        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.05287, 0.235, 0.5827, 1.124, 1.884, 2.885, 4.145, 5.683, 7.516");
          values("0.0313, 0.04418, 0.08066, 0.1489, 0.2617, 0.4243, 0.6414, 0.9134, 1.248, 1.644",\
                 "0.0313, 0.04406, 0.08068, 0.1493, 0.2614, 0.4247, 0.6417, 0.9143, 1.247, 1.645",\
                 "0.0316, 0.04452, 0.08106, 0.1491, 0.2616, 0.4248, 0.6412, 0.9148, 1.247, 1.645",\
                 "0.03574, 0.0485, 0.08384, 0.151, 0.2622, 0.4247, 0.6404, 0.914, 1.249, 1.645",\
                 "0.04314, 0.0562, 0.09088, 0.1548, 0.2636, 0.4251, 0.6404, 0.9142, 1.246, 1.644",\
                 "0.05208, 0.0662, 0.1016, 0.1638, 0.268, 0.4263, 0.6417, 0.913, 1.247, 1.645",\
                 "0.06162, 0.07778, 0.1142, 0.1752, 0.279, 0.4332, 0.6436, 0.9144, 1.248, 1.643",\
                 "0.0712, 0.0884, 0.1272, 0.1892, 0.2916, 0.4472, 0.6538, 0.918, 1.248, 1.644",\
                 "0.082, 0.1016, 0.1422, 0.2022, 0.3048, 0.4616, 0.6732, 0.9328, 1.256, 1.645",\
                 "0.0932, 0.1136, 0.157, 0.219, 0.3188, 0.4764, 0.6906, 0.9572, 1.275, 1.658");
        }

        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.05287, 0.235, 0.5827, 1.124, 1.884, 2.885, 4.145, 5.683, 7.516");
          values("0.0299, 0.04706, 0.1113, 0.2388, 0.4388, 0.7197, 1.089, 1.553, 2.123, 2.801",\
                 "0.02972, 0.0471, 0.1114, 0.2389, 0.4391, 0.7187, 1.09, 1.555, 2.123, 2.802",\
                 "0.03044, 0.04752, 0.1113, 0.2388, 0.4387, 0.7195, 1.087, 1.555, 2.126, 2.802",\
                 "0.03416, 0.0503, 0.1124, 0.2388, 0.4386, 0.7189, 1.089, 1.554, 2.123, 2.801",\
                 "0.03966, 0.05558, 0.1149, 0.24, 0.4387, 0.7187, 1.089, 1.553, 2.122, 2.798",\
                 "0.04626, 0.06206, 0.1191, 0.2431, 0.4413, 0.7193, 1.09, 1.553, 2.121, 2.799",\
                 "0.05314, 0.0698, 0.1245, 0.2476, 0.4466, 0.723, 1.088, 1.554, 2.119, 2.797",\
                 "0.061, 0.0784, 0.132, 0.2524, 0.4536, 0.7308, 1.095, 1.554, 2.119, 2.795",\
                 "0.0682, 0.0878, 0.14, 0.2574, 0.4592, 0.7402, 1.105, 1.562, 2.123, 2.798",\
                 "0.0774, 0.0964, 0.1502, 0.2636, 0.4662, 0.7502, 1.119, 1.576, 2.133, 2.801");
        }
      }
    }
  }

