/*
 * 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__dlyd_1) {
    area : 74.636800 ;

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

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

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

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 0.2281 ;
      max_transition : 3.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.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
          index_2("0.001, 0.002568, 0.008071, 0.01858, 0.03495, 0.05792, 0.08815, 0.1262, 0.1727, 0.2281");
          values("1.054, 1.044, 1.019, 0.9895, 0.965, 0.9477, 0.9354, 0.9265, 0.9194, 0.9142",\
                 "1.053, 1.043, 1.019, 0.9895, 0.9649, 0.9478, 0.9353, 0.9261, 0.9194, 0.9141",\
                 "1.058, 1.048, 1.023, 0.9934, 0.9691, 0.9516, 0.9396, 0.9304, 0.9235, 0.9183",\
                 "1.073, 1.064, 1.039, 1.01, 0.985, 0.9679, 0.9553, 0.9463, 0.9394, 0.9342",\
                 "1.105, 1.095, 1.07, 1.041, 1.016, 0.9991, 0.9867, 0.9774, 0.9706, 0.9654",\
                 "1.153, 1.144, 1.119, 1.09, 1.065, 1.048, 1.036, 1.027, 1.02, 1.014",\
                 "1.222, 1.212, 1.187, 1.158, 1.133, 1.116, 1.104, 1.094, 1.088, 1.082",\
                 "1.31, 1.301, 1.275, 1.246, 1.222, 1.204, 1.192, 1.183, 1.176, 1.171",\
                 "1.42, 1.411, 1.386, 1.356, 1.332, 1.314, 1.302, 1.293, 1.286, 1.281",\
                 "1.553, 1.544, 1.519, 1.489, 1.465, 1.447, 1.435, 1.426, 1.419, 1.414");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
          index_2("0.001, 0.002568, 0.008071, 0.01858, 0.03495, 0.05792, 0.08815, 0.1262, 0.1727, 0.2281");
          values("0.8839, 0.8769, 0.8619, 0.8474, 0.8363, 0.8291, 0.8249, 0.8223, 0.821, 0.8206",\
                 "0.8842, 0.8771, 0.8622, 0.8477, 0.8368, 0.8293, 0.8248, 0.8228, 0.8215, 0.8206",\
                 "0.8871, 0.8801, 0.8652, 0.8507, 0.8396, 0.8322, 0.8278, 0.8257, 0.8237, 0.8239",\
                 "0.8976, 0.8905, 0.8755, 0.8607, 0.8503, 0.8431, 0.8385, 0.8365, 0.8347, 0.8344",\
                 "0.9211, 0.914, 0.8986, 0.8846, 0.8735, 0.8662, 0.8618, 0.8592, 0.8578, 0.858",\
                 "0.959, 0.9526, 0.9365, 0.9226, 0.9116, 0.9043, 0.8998, 0.8976, 0.8958, 0.8954",\
                 "1.014, 1.007, 0.9917, 0.9773, 0.9663, 0.9587, 0.955, 0.9524, 0.9513, 0.9504",\
                 "1.086, 1.079, 1.064, 1.049, 1.038, 1.031, 1.027, 1.024, 1.023, 1.022",\
                 "1.177, 1.169, 1.153, 1.14, 1.13, 1.122, 1.118, 1.115, 1.114, 1.113",\
                 "1.286, 1.279, 1.264, 1.249, 1.238, 1.231, 1.229, 1.225, 1.224, 1.223");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
          index_2("0.001, 0.002568, 0.008071, 0.01858, 0.03495, 0.05792, 0.08815, 0.1262, 0.1727, 0.2281");
          values("1.901, 1.921, 1.978, 2.064, 2.177, 2.318, 2.493, 2.706, 2.963, 3.268",\
                 "1.906, 1.926, 1.982, 2.069, 2.182, 2.323, 2.498, 2.711, 2.968, 3.273",\
                 "1.93, 1.95, 2.007, 2.093, 2.206, 2.347, 2.522, 2.735, 2.992, 3.297",\
                 "1.985, 2.005, 2.062, 2.148, 2.261, 2.402, 2.577, 2.79, 3.047, 3.353",\
                 "2.073, 2.093, 2.149, 2.236, 2.348, 2.49, 2.665, 2.878, 3.135, 3.44",\
                 "2.189, 2.209, 2.266, 2.352, 2.465, 2.606, 2.781, 2.994, 3.251, 3.557",\
                 "2.33, 2.35, 2.407, 2.493, 2.606, 2.748, 2.922, 3.135, 3.392, 3.698",\
                 "2.494, 2.513, 2.57, 2.657, 2.77, 2.911, 3.086, 3.299, 3.556, 3.861",\
                 "2.681, 2.701, 2.757, 2.844, 2.957, 3.098, 3.273, 3.486, 3.743, 4.048",\
                 "2.893, 2.912, 2.969, 3.055, 3.168, 3.31, 3.485, 3.698, 3.954, 4.26");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
          index_2("0.001, 0.002568, 0.008071, 0.01858, 0.03495, 0.05792, 0.08815, 0.1262, 0.1727, 0.2281");
          values("1.845, 1.862, 1.913, 1.998, 2.126, 2.306, 2.545, 2.847, 3.217, 3.658",\
                 "1.849, 1.866, 1.916, 2.001, 2.129, 2.31, 2.549, 2.851, 3.22, 3.66",\
                 "1.86, 1.877, 1.927, 2.012, 2.14, 2.321, 2.56, 2.861, 3.231, 3.672",\
                 "1.873, 1.89, 1.941, 2.026, 2.154, 2.334, 2.573, 2.875, 3.245, 3.685",\
                 "1.878, 1.895, 1.945, 2.03, 2.158, 2.339, 2.577, 2.879, 3.249, 3.689",\
                 "1.869, 1.886, 1.936, 2.021, 2.15, 2.33, 2.568, 2.87, 3.24, 3.681",\
                 "1.844, 1.861, 1.912, 1.997, 2.125, 2.305, 2.544, 2.846, 3.216, 3.656",\
                 "1.802, 1.818, 1.869, 1.954, 2.082, 2.262, 2.501, 2.803, 3.172, 3.614",\
                 "1.738, 1.755, 1.805, 1.89, 2.018, 2.199, 2.438, 2.739, 3.109, 3.55",\
                 "1.653, 1.67, 1.72, 1.805, 1.934, 2.114, 2.353, 2.654, 3.024, 3.465");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
          index_2("0.001, 0.002568, 0.008071, 0.01858, 0.03495, 0.05792, 0.08815, 0.1262, 0.1727, 0.2281");
          values("0.15, 0.1712, 0.2316, 0.3262, 0.4626, 0.6566, 0.9184, 1.259, 1.685, 2.2",\
                 "0.15, 0.1714, 0.2316, 0.3258, 0.4622, 0.6554, 0.919, 1.258, 1.685, 2.199",\
                 "0.15, 0.1716, 0.2322, 0.3258, 0.4624, 0.6564, 0.918, 1.258, 1.685, 2.2",\
                 "0.1502, 0.1714, 0.2318, 0.3264, 0.4624, 0.6554, 0.9178, 1.258, 1.685, 2.199",\
                 "0.1502, 0.1718, 0.2322, 0.3268, 0.4624, 0.6566, 0.918, 1.257, 1.685, 2.2",\
                 "0.1496, 0.1712, 0.2316, 0.326, 0.4626, 0.6552, 0.919, 1.258, 1.685, 2.2",\
                 "0.15, 0.1716, 0.2316, 0.3262, 0.4626, 0.6568, 0.9188, 1.257, 1.685, 2.202",\
                 "0.15, 0.1716, 0.2316, 0.3262, 0.4626, 0.6556, 0.9192, 1.257, 1.683, 2.199",\
                 "0.1502, 0.1718, 0.2318, 0.3264, 0.4628, 0.6566, 0.9182, 1.259, 1.685, 2.2",\
                 "0.1506, 0.1712, 0.2322, 0.3254, 0.4626, 0.6558, 0.9186, 1.259, 1.684, 2.2");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
          index_2("0.001, 0.002568, 0.008071, 0.01858, 0.03495, 0.05792, 0.08815, 0.1262, 0.1727, 0.2281");
          values("0.108, 0.1292, 0.1988, 0.3386, 0.5686, 0.9004, 1.343, 1.902, 2.585, 3.394",\
                 "0.108, 0.1296, 0.1986, 0.3382, 0.5692, 0.9004, 1.344, 1.902, 2.585, 3.393",\
                 "0.1082, 0.1292, 0.1988, 0.3384, 0.5682, 0.9008, 1.344, 1.902, 2.582, 3.393",\
                 "0.1084, 0.1296, 0.1984, 0.338, 0.5682, 0.9018, 1.343, 1.902, 2.585, 3.393",\
                 "0.1086, 0.1298, 0.1982, 0.3384, 0.5684, 0.9008, 1.343, 1.901, 2.584, 3.393",\
                 "0.1084, 0.1292, 0.1988, 0.3388, 0.5684, 0.9004, 1.343, 1.903, 2.585, 3.393",\
                 "0.1082, 0.13, 0.1982, 0.3386, 0.5686, 0.901, 1.343, 1.902, 2.585, 3.393",\
                 "0.108, 0.1294, 0.1984, 0.3392, 0.5684, 0.9002, 1.345, 1.9, 2.58, 3.399",\
                 "0.1082, 0.1292, 0.1986, 0.3384, 0.5686, 0.9016, 1.342, 1.902, 2.585, 3.393",\
                 "0.1084, 0.129, 0.199, 0.3382, 0.5684, 0.9008, 1.342, 1.9, 2.582, 3.399");
        }
      }
    }
  }

