/*
 * 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__dlya_4) {
    area : 37.318400 ;

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

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

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

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 0.7707 ;
      max_transition : 25 ;
      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.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
          index_2("0.001, 0.006313, 0.02496, 0.06057, 0.1161, 0.1939, 0.2963, 0.4254, 0.5829, 0.7707");
          values("0.04394, 0.04395, 0.04421, 0.04473, 0.04532, 0.04582, 0.0462, 0.04644, 0.04651, 0.04613",\
                 "0.04382, 0.04383, 0.0441, 0.04461, 0.04521, 0.04571, 0.04608, 0.04633, 0.04638, 0.04598",\
                 "0.04364, 0.04365, 0.04392, 0.04443, 0.04503, 0.04554, 0.04591, 0.04614, 0.04615, 0.04564",\
                 "0.04355, 0.04355, 0.04382, 0.04433, 0.04493, 0.04543, 0.0458, 0.046, 0.04588, 0.0451",\
                 "0.04349, 0.0435, 0.04376, 0.04428, 0.04487, 0.04537, 0.0457, 0.04579, 0.04533, 0.04405",\
                 "0.04345, 0.04346, 0.04371, 0.04422, 0.04479, 0.04524, 0.04544, 0.0451, 0.04384, 0.04206",\
                 "0.04309, 0.0431, 0.04335, 0.04381, 0.0443, 0.0445, 0.04396, 0.04232, 0.04048, 0.03907",\
                 "0.04044, 0.04041, 0.04055, 0.04077, 0.04033, 0.03839, 0.03671, 0.03555, 0.03475, 0.03417",\
                 "0.02189, 0.02117, 0.02039, 0.02038, 0.02075, 0.02114, 0.02147, 0.02171, 0.02188, 0.022",\
                 "0.001134, 0.001132, 0.001124, 0.001111, 0.001098, 0.001089, 0.001083, 0.001078, 0.001075, 0.001073");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
          index_2("0.001, 0.006313, 0.02496, 0.06057, 0.1161, 0.1939, 0.2963, 0.4254, 0.5829, 0.7707");
          values("0.0352, 0.03547, 0.03604, 0.03687, 0.03772, 0.03864, 0.04178, 0.08006, 0.2262, 0.4604",\
                 "0.03518, 0.03545, 0.03603, 0.03687, 0.0377, 0.03839, 0.04225, 0.08092, 0.2318, 0.4641",\
                 "0.03509, 0.03535, 0.03596, 0.03679, 0.03759, 0.03854, 0.04292, 0.08773, 0.245, 0.4761",\
                 "0.03498, 0.03523, 0.03583, 0.03663, 0.03739, 0.03824, 0.04441, 0.099, 0.2713, 0.4947",\
                 "0.03492, 0.03515, 0.03576, 0.03658, 0.03731, 0.03846, 0.0478, 0.1211, 0.3072, 0.5154",\
                 "0.03489, 0.03514, 0.03577, 0.03658, 0.03744, 0.03866, 0.05557, 0.1561, 0.3504, 0.5313",\
                 "0.03491, 0.03516, 0.03575, 0.03652, 0.03753, 0.0401, 0.07456, 0.2112, 0.3916, 0.534",\
                 "0.03504, 0.03527, 0.03584, 0.03658, 0.03722, 0.04613, 0.1186, 0.274, 0.4121, 0.5105",\
                 "0.0352, 0.03545, 0.03606, 0.03675, 0.03903, 0.07518, 0.1934, 0.3088, 0.3883, 0.4435",\
                 "0.03549, 0.03575, 0.03625, 0.03777, 0.06497, 0.1504, 0.2185, 0.2622, 0.291, 0.3107");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
          index_2("0.001, 0.006313, 0.02496, 0.06057, 0.1161, 0.1939, 0.2963, 0.4254, 0.5829, 0.7707");
          values("7.332, 7.565, 8.114, 8.8, 9.574, 10.43, 11.39, 12.47, 13.71, 15.13",\
                 "7.392, 7.625, 8.173, 8.858, 9.631, 10.49, 11.45, 12.53, 13.77, 15.19",\
                 "7.644, 7.878, 8.427, 9.112, 9.884, 10.74, 11.7, 12.79, 14.02, 15.44",\
                 "8.176, 8.408, 8.957, 9.643, 10.42, 11.27, 12.23, 13.32, 14.56, 15.97",\
                 "9.013, 9.247, 9.797, 10.48, 11.25, 12.11, 13.07, 14.16, 15.39, 16.81",\
                 "10.08, 10.32, 10.87, 11.55, 12.32, 13.18, 14.14, 15.23, 16.46, 17.88",\
                 "11.28, 11.51, 12.06, 12.74, 13.52, 14.37, 15.33, 16.42, 17.66, 19.07",\
                 "12.59, 12.82, 13.37, 14.05, 14.83, 15.68, 16.64, 17.73, 18.97, 20.38",\
                 "14.01, 14.24, 14.79, 15.47, 16.25, 17.1, 18.06, 19.15, 20.39, 21.81",\
                 "15.55, 15.78, 16.33, 17.02, 17.79, 18.64, 19.61, 20.69, 21.93, 23.35");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
          index_2("0.001, 0.006313, 0.02496, 0.06057, 0.1161, 0.1939, 0.2963, 0.4254, 0.5829, 0.7707");
          values("3.852, 4.014, 4.464, 5.19, 6.261, 7.746, 9.693, 12.14, 15.13, 18.67",\
                 "3.916, 4.077, 4.527, 5.255, 6.326, 7.809, 9.756, 12.2, 15.19, 18.74",\
                 "4.126, 4.289, 4.738, 5.465, 6.536, 8.02, 9.966, 12.42, 15.41, 18.95",\
                 "4.427, 4.588, 5.038, 5.765, 6.837, 8.321, 10.27, 12.71, 15.71, 19.25",\
                 "4.702, 4.864, 5.314, 6.042, 7.112, 8.597, 10.54, 12.99, 15.97, 19.53",\
                 "4.927, 5.09, 5.541, 6.268, 7.339, 8.822, 10.77, 13.21, 16.2, 19.75",\
                 "5.089, 5.251, 5.701, 6.428, 7.499, 8.983, 10.93, 13.37, 16.37, 19.91",\
                 "5.176, 5.338, 5.788, 6.514, 7.585, 9.069, 11.01, 13.46, 16.44, 20",\
                 "5.17, 5.332, 5.783, 6.509, 7.58, 9.064, 11.01, 13.45, 16.44, 19.99",\
                 "5.062, 5.224, 5.674, 6.401, 7.472, 8.955, 10.9, 13.35, 16.33, 19.88");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
          index_2("0.001, 0.006313, 0.02496, 0.06057, 0.1161, 0.1939, 0.2963, 0.4254, 0.5829, 0.7707");
          values("1.341, 1.474, 1.83, 2.355, 3.054, 3.944, 5.076, 6.502, 8.292, 10.46",\
                 "1.341, 1.474, 1.828, 2.356, 3.053, 3.943, 5.078, 6.51, 8.286, 10.47",\
                 "1.341, 1.473, 1.829, 2.356, 3.052, 3.944, 5.078, 6.5, 8.29, 10.47",\
                 "1.34, 1.474, 1.827, 2.354, 3.052, 3.944, 5.076, 6.5, 8.29, 10.47",\
                 "1.34, 1.474, 1.828, 2.356, 3.054, 3.944, 5.076, 6.498, 8.29, 10.47",\
                 "1.34, 1.476, 1.828, 2.356, 3.052, 3.944, 5.078, 6.506, 8.284, 10.46",\
                 "1.342, 1.474, 1.83, 2.356, 3.052, 3.944, 5.078, 6.502, 8.28, 10.47",\
                 "1.34, 1.474, 1.828, 2.356, 3.054, 3.948, 5.076, 6.516, 8.288, 10.46",\
                 "1.34, 1.474, 1.828, 2.356, 3.054, 3.94, 5.088, 6.508, 8.29, 10.46",\
                 "1.34, 1.472, 1.826, 2.354, 3.048, 3.94, 5.08, 6.51, 8.286, 10.46");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
          index_2("0.001, 0.006313, 0.02496, 0.06057, 0.1161, 0.1939, 0.2963, 0.4254, 0.5829, 0.7707");
          values("0.6212, 0.7816, 1.322, 2.387, 4.121, 6.605, 9.866, 14.02, 19.02, 25",\
                 "0.6212, 0.7816, 1.32, 2.387, 4.122, 6.604, 9.858, 14, 19.06, 24.99",\
                 "0.6208, 0.7816, 1.321, 2.383, 4.121, 6.604, 9.861, 14.02, 19.02, 25",\
                 "0.621, 0.7822, 1.321, 2.385, 4.119, 6.605, 9.868, 13.98, 19.02, 24.99",\
                 "0.6208, 0.7824, 1.321, 2.385, 4.12, 6.604, 9.886, 13.97, 19.01, 25.01",\
                 "0.6214, 0.7824, 1.322, 2.385, 4.122, 6.604, 9.882, 13.98, 19, 25.03",\
                 "0.62, 0.782, 1.324, 2.384, 4.116, 6.594, 9.874, 14.02, 19.01, 25.01",\
                 "0.622, 0.782, 1.322, 2.386, 4.12, 6.588, 9.854, 13.98, 19.02, 25.02",\
                 "0.622, 0.78, 1.322, 2.382, 4.12, 6.598, 9.862, 13.97, 19.01, 25.02",\
                 "0.622, 0.782, 1.322, 2.386, 4.12, 6.602, 9.856, 13.97, 19, 25");
        }
      }
    }
  }

