/*
 * 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__dlya_1) {
    area : 31.046400 ;

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

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

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

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 0.3288 ;
      max_transition : 8.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.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
          index_2("0.001, 0.003263, 0.0112, 0.02637, 0.05, 0.08315, 0.1268, 0.1817, 0.2488, 0.3288");
          values("0.05204, 0.05139, 0.05031, 0.04972, 0.04942, 0.04922, 0.04912, 0.04906, 0.04899, 0.04897",\
                 "0.05182, 0.05117, 0.0501, 0.04949, 0.04919, 0.04901, 0.04891, 0.04884, 0.04878, 0.04876",\
                 "0.05172, 0.05106, 0.05, 0.0494, 0.04909, 0.0489, 0.0488, 0.04874, 0.04869, 0.04865",\
                 "0.05234, 0.05168, 0.05062, 0.05003, 0.04973, 0.04953, 0.04944, 0.04937, 0.04932, 0.04929",\
                 "0.05381, 0.05316, 0.0521, 0.0515, 0.05118, 0.051, 0.05091, 0.05083, 0.05078, 0.05076",\
                 "0.05617, 0.0555, 0.05443, 0.05381, 0.05348, 0.05331, 0.05322, 0.05315, 0.05311, 0.05308",\
                 "0.05937, 0.05871, 0.05765, 0.05703, 0.05675, 0.05656, 0.05645, 0.05639, 0.05635, 0.05631",\
                 "0.06362, 0.06297, 0.06191, 0.06133, 0.06101, 0.06082, 0.06072, 0.06066, 0.06062, 0.06058",\
                 "0.069, 0.06831, 0.06727, 0.06663, 0.06632, 0.06616, 0.06605, 0.06598, 0.06593, 0.0659",\
                 "0.0755, 0.07485, 0.07375, 0.07316, 0.07282, 0.07265, 0.07254, 0.0725, 0.07244, 0.07242");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
          index_2("0.001, 0.003263, 0.0112, 0.02637, 0.05, 0.08315, 0.1268, 0.1817, 0.2488, 0.3288");
          values("0.0385, 0.03845, 0.03847, 0.03874, 0.03909, 0.03954, 0.03978, 0.04003, 0.0405, 0.0421",\
                 "0.03844, 0.0384, 0.0384, 0.03865, 0.03903, 0.03946, 0.03976, 0.04001, 0.0405, 0.0421",\
                 "0.03843, 0.03836, 0.03837, 0.03864, 0.03901, 0.03946, 0.03974, 0.03997, 0.04058, 0.04215",\
                 "0.03882, 0.03874, 0.0388, 0.03908, 0.03945, 0.03986, 0.04019, 0.04043, 0.04099, 0.04294",\
                 "0.03988, 0.0398, 0.03986, 0.04009, 0.04048, 0.04085, 0.04114, 0.0414, 0.04186, 0.04395",\
                 "0.04164, 0.04158, 0.04157, 0.04195, 0.04232, 0.04271, 0.04295, 0.04316, 0.0437, 0.04605",\
                 "0.04431, 0.04421, 0.04417, 0.04452, 0.04485, 0.04548, 0.04578, 0.04573, 0.04622, 0.04912",\
                 "0.04777, 0.04771, 0.04771, 0.04789, 0.04826, 0.04865, 0.04938, 0.04971, 0.05, 0.05329",\
                 "0.05219, 0.05211, 0.05212, 0.05229, 0.05246, 0.05292, 0.05342, 0.0542, 0.05487, 0.05931",\
                 "0.05756, 0.05747, 0.05743, 0.05763, 0.05792, 0.05801, 0.05855, 0.05903, 0.06059, 0.06693");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
          index_2("0.001, 0.003263, 0.0112, 0.02637, 0.05, 0.08315, 0.1268, 0.1817, 0.2488, 0.3288");
          values("1.116, 1.154, 1.262, 1.421, 1.618, 1.86, 2.155, 2.517, 2.953, 3.471",\
                 "1.128, 1.167, 1.275, 1.433, 1.631, 1.872, 2.168, 2.529, 2.965, 3.484",\
                 "1.194, 1.233, 1.341, 1.499, 1.696, 1.938, 2.234, 2.595, 3.031, 3.55",\
                 "1.338, 1.376, 1.484, 1.643, 1.84, 2.081, 2.377, 2.739, 3.175, 3.693",\
                 "1.54, 1.579, 1.687, 1.845, 2.043, 2.284, 2.58, 2.941, 3.378, 3.895",\
                 "1.786, 1.825, 1.933, 2.091, 2.288, 2.53, 2.826, 3.187, 3.623, 4.141",\
                 "2.082, 2.121, 2.229, 2.387, 2.584, 2.826, 3.122, 3.483, 3.919, 4.438",\
                 "2.431, 2.469, 2.577, 2.735, 2.933, 3.175, 3.47, 3.832, 4.268, 4.786",\
                 "2.833, 2.872, 2.98, 3.138, 3.336, 3.577, 3.873, 4.235, 4.671, 5.189",\
                 "3.293, 3.331, 3.439, 3.598, 3.795, 4.037, 4.333, 4.694, 5.13, 5.649");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
          index_2("0.001, 0.003263, 0.0112, 0.02637, 0.05, 0.08315, 0.1268, 0.1817, 0.2488, 0.3288");
          values("0.8397, 0.8785, 0.9992, 1.217, 1.551, 2.018, 2.632, 3.406, 4.349, 5.473",\
                 "0.8542, 0.8928, 1.014, 1.231, 1.565, 2.032, 2.647, 3.421, 4.364, 5.49",\
                 "0.8992, 0.9376, 1.058, 1.276, 1.61, 2.078, 2.692, 3.465, 4.41, 5.536",\
                 "0.9388, 0.9773, 1.098, 1.316, 1.65, 2.117, 2.732, 3.505, 4.45, 5.576",\
                 "0.9476, 0.9861, 1.107, 1.324, 1.659, 2.126, 2.74, 3.512, 4.458, 5.583",\
                 "0.9215, 0.9602, 1.081, 1.298, 1.632, 2.099, 2.713, 3.487, 4.432, 5.554",\
                 "0.856, 0.8944, 1.015, 1.232, 1.567, 2.034, 2.647, 3.42, 4.364, 5.49",\
                 "0.7446, 0.7834, 0.9048, 1.122, 1.456, 1.923, 2.537, 3.309, 4.252, 5.375",\
                 "0.5863, 0.6247, 0.7455, 0.9626, 1.297, 1.764, 2.378, 3.15, 4.092, 5.216",\
                 "0.3751, 0.4136, 0.5344, 0.7514, 1.085, 1.553, 2.168, 2.94, 3.881, 5.005");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
          index_2("0.001, 0.003263, 0.0112, 0.02637, 0.05, 0.08315, 0.1268, 0.1817, 0.2488, 0.3288");
          values("0.2288, 0.2646, 0.3728, 0.5408, 0.7792, 1.114, 1.573, 2.169, 2.911, 3.813",\
                 "0.2288, 0.2646, 0.3728, 0.5402, 0.7782, 1.113, 1.573, 2.169, 2.911, 3.811",\
                 "0.2286, 0.2648, 0.3726, 0.541, 0.7792, 1.113, 1.573, 2.17, 2.915, 3.811",\
                 "0.229, 0.2648, 0.3724, 0.5408, 0.778, 1.113, 1.57, 2.17, 2.914, 3.81",\
                 "0.229, 0.2656, 0.3718, 0.54, 0.7792, 1.113, 1.572, 2.167, 2.909, 3.813",\
                 "0.2292, 0.2652, 0.3714, 0.541, 0.7794, 1.114, 1.573, 2.17, 2.913, 3.813",\
                 "0.229, 0.2654, 0.3712, 0.5404, 0.7784, 1.113, 1.573, 2.166, 2.909, 3.812",\
                 "0.2292, 0.2652, 0.3724, 0.5414, 0.7782, 1.114, 1.57, 2.167, 2.911, 3.81",\
                 "0.229, 0.2652, 0.3716, 0.5404, 0.7776, 1.115, 1.57, 2.17, 2.91, 3.806",\
                 "0.2292, 0.2656, 0.3718, 0.5408, 0.7776, 1.114, 1.571, 2.166, 2.912, 3.806");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
          index_2("0.001, 0.003263, 0.0112, 0.02637, 0.05, 0.08315, 0.1268, 0.1817, 0.2488, 0.3288");
          values("0.1843, 0.2354, 0.4188, 0.7902, 1.383, 2.221, 3.317, 4.702, 6.393, 8.405",\
                 "0.184, 0.2356, 0.4189, 0.79, 1.383, 2.222, 3.322, 4.703, 6.39, 8.405",\
                 "0.1838, 0.2358, 0.419, 0.79, 1.383, 2.222, 3.322, 4.703, 6.397, 8.413",\
                 "0.1846, 0.2358, 0.4192, 0.7918, 1.383, 2.222, 3.323, 4.702, 6.4, 8.424",\
                 "0.1844, 0.2358, 0.4194, 0.7904, 1.382, 2.218, 3.316, 4.701, 6.392, 8.41",\
                 "0.184, 0.236, 0.4194, 0.7914, 1.383, 2.22, 3.313, 4.703, 6.392, 8.403",\
                 "0.1838, 0.2356, 0.4188, 0.7908, 1.383, 2.217, 3.318, 4.696, 6.393, 8.409",\
                 "0.185, 0.237, 0.4192, 0.7904, 1.383, 2.216, 3.314, 4.697, 6.392, 8.423",\
                 "0.1848, 0.2358, 0.4206, 0.7904, 1.382, 2.218, 3.318, 4.7, 6.386, 8.418",\
                 "0.1854, 0.2374, 0.4212, 0.7904, 1.384, 2.217, 3.316, 4.703, 6.39, 8.399");
        }
      }
    }
  }

