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

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

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

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

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

    pin(I) {
      capacitance : 0.002473 ;
      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.9137 ;
      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.0073, 0.02941, 0.07164, 0.1374, 0.2297, 0.3512, 0.5042, 0.691, 0.9137");
          values("1.703, 1.648, 1.498, 1.314, 1.148, 1.023, 0.9412, 0.8829, 0.839, 0.8056",\
                 "1.703, 1.647, 1.498, 1.315, 1.147, 1.023, 0.9412, 0.8828, 0.8387, 0.8054",\
                 "1.71, 1.653, 1.504, 1.321, 1.153, 1.029, 0.9477, 0.8891, 0.8449, 0.8117",\
                 "1.731, 1.675, 1.525, 1.343, 1.174, 1.051, 0.9694, 0.9106, 0.8664, 0.833",\
                 "1.771, 1.714, 1.565, 1.382, 1.214, 1.09, 1.009, 0.9501, 0.9064, 0.8726",\
                 "1.83, 1.773, 1.624, 1.441, 1.273, 1.149, 1.068, 1.009, 0.9649, 0.9317",\
                 "1.91, 1.854, 1.705, 1.522, 1.354, 1.23, 1.148, 1.09, 1.046, 1.012",\
                 "2.012, 1.955, 1.806, 1.623, 1.456, 1.332, 1.25, 1.191, 1.147, 1.113",\
                 "2.138, 2.081, 1.932, 1.748, 1.581, 1.457, 1.374, 1.315, 1.271, 1.237",\
                 "2.287, 2.231, 2.082, 1.898, 1.73, 1.605, 1.522, 1.463, 1.419, 1.385");
        }

        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.0073, 0.02941, 0.07164, 0.1374, 0.2297, 0.3512, 0.5042, 0.691, 0.9137");
          values("0.9934, 0.9494, 0.8458, 0.7611, 0.7036, 0.6699, 0.648, 0.6334, 0.6259, 0.6223",\
                 "0.9938, 0.9488, 0.8463, 0.7615, 0.7054, 0.6704, 0.6464, 0.6334, 0.6292, 0.6201",\
                 "0.999, 0.9549, 0.85, 0.7666, 0.7104, 0.6754, 0.6535, 0.6416, 0.6353, 0.6256",\
                 "1.015, 0.9701, 0.8658, 0.7828, 0.7265, 0.6913, 0.6695, 0.6559, 0.6512, 0.6415",\
                 "1.046, 1.002, 0.8963, 0.8121, 0.7564, 0.7216, 0.7003, 0.6845, 0.6804, 0.6729",\
                 "1.093, 1.049, 0.9443, 0.863, 0.8078, 0.77, 0.7481, 0.734, 0.7244, 0.7207",\
                 "1.158, 1.113, 1.007, 0.9217, 0.869, 0.8365, 0.8125, 0.8, 0.7915, 0.7878",\
                 "1.241, 1.196, 1.092, 1.006, 0.9475, 0.9163, 0.8999, 0.8869, 0.8789, 0.8709",\
                 "1.343, 1.299, 1.194, 1.108, 1.049, 1.011, 0.994, 0.987, 0.984, 0.9776",\
                 "1.466, 1.423, 1.318, 1.231, 1.173, 1.135, 1.11, 1.1, 1.104, 1.102");
        }
      }

      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.0073, 0.02941, 0.07164, 0.1374, 0.2297, 0.3512, 0.5042, 0.691, 0.9137");
          values("0.606, 0.6302, 0.6955, 0.7903, 0.911, 1.059, 1.238, 1.454, 1.713, 2.019",\
                 "0.6109, 0.6353, 0.7006, 0.7953, 0.916, 1.064, 1.243, 1.459, 1.718, 2.024",\
                 "0.6372, 0.6615, 0.7268, 0.8216, 0.9424, 1.09, 1.269, 1.485, 1.744, 2.05",\
                 "0.6927, 0.7171, 0.7824, 0.8772, 0.9981, 1.146, 1.325, 1.541, 1.799, 2.106",\
                 "0.7741, 0.7985, 0.8636, 0.9583, 1.079, 1.227, 1.406, 1.622, 1.881, 2.187",\
                 "0.8763, 0.9005, 0.9657, 1.061, 1.181, 1.329, 1.508, 1.724, 1.983, 2.289",\
                 "0.9992, 1.023, 1.088, 1.183, 1.304, 1.452, 1.631, 1.847, 2.105, 2.412",\
                 "1.143, 1.168, 1.233, 1.328, 1.448, 1.596, 1.776, 1.992, 2.25, 2.556",\
                 "1.311, 1.335, 1.401, 1.496, 1.616, 1.764, 1.943, 2.159, 2.418, 2.724",\
                 "1.504, 1.527, 1.593, 1.688, 1.808, 1.956, 2.135, 2.351, 2.61, 2.916");
        }

        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.0073, 0.02941, 0.07164, 0.1374, 0.2297, 0.3512, 0.5042, 0.691, 0.9137");
          values("0.4748, 0.4952, 0.5506, 0.6376, 0.7661, 0.9464, 1.185, 1.489, 1.86, 2.304",\
                 "0.4781, 0.4984, 0.5538, 0.641, 0.7694, 0.9499, 1.189, 1.492, 1.863, 2.308",\
                 "0.4895, 0.5099, 0.5651, 0.6524, 0.7809, 0.9613, 1.2, 1.504, 1.875, 2.319",\
                 "0.4975, 0.5178, 0.5731, 0.6603, 0.789, 0.9693, 1.208, 1.512, 1.882, 2.327",\
                 "0.4935, 0.5139, 0.5691, 0.6562, 0.7845, 0.9651, 1.204, 1.508, 1.879, 2.323",\
                 "0.4739, 0.4944, 0.5494, 0.6366, 0.7652, 0.9453, 1.184, 1.487, 1.859, 2.303",\
                 "0.4364, 0.4567, 0.5121, 0.5992, 0.728, 0.908, 1.147, 1.45, 1.822, 2.266",\
                 "0.3799, 0.4003, 0.4557, 0.5427, 0.6713, 0.8515, 1.091, 1.394, 1.764, 2.208",\
                 "0.3024, 0.3229, 0.3781, 0.4653, 0.5937, 0.7739, 1.013, 1.316, 1.687, 2.13",\
                 "0.2036, 0.224, 0.2794, 0.3665, 0.4946, 0.6752, 0.914, 1.217, 1.588, 2.03");
        }

        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.0073, 0.02941, 0.07164, 0.1374, 0.2297, 0.3512, 0.5042, 0.691, 0.9137");
          values("0.1706, 0.1992, 0.2695, 0.3682, 0.5048, 0.6921, 0.9484, 1.283, 1.704, 2.219",\
                 "0.1707, 0.199, 0.2693, 0.3687, 0.5049, 0.6922, 0.9476, 1.283, 1.702, 2.219",\
                 "0.1701, 0.199, 0.2693, 0.3683, 0.5048, 0.6928, 0.9486, 1.283, 1.704, 2.219",\
                 "0.1702, 0.1989, 0.2691, 0.3686, 0.5048, 0.6924, 0.9482, 1.283, 1.702, 2.219",\
                 "0.1708, 0.199, 0.2692, 0.368, 0.5046, 0.692, 0.948, 1.283, 1.703, 2.219",\
                 "0.1698, 0.198, 0.2684, 0.3686, 0.505, 0.6922, 0.948, 1.283, 1.703, 2.219",\
                 "0.1704, 0.1986, 0.269, 0.3684, 0.5044, 0.6924, 0.9494, 1.282, 1.703, 2.219",\
                 "0.1702, 0.1988, 0.2694, 0.3684, 0.5044, 0.6926, 0.9484, 1.281, 1.703, 2.216",\
                 "0.1708, 0.1988, 0.2692, 0.3688, 0.5046, 0.6926, 0.9484, 1.282, 1.702, 2.219",\
                 "0.1714, 0.1988, 0.269, 0.3688, 0.5046, 0.6928, 0.9482, 1.281, 1.702, 2.216");
        }

        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.0073, 0.02941, 0.07164, 0.1374, 0.2297, 0.3512, 0.5042, 0.691, 0.9137");
          values("0.09912, 0.1236, 0.1937, 0.3283, 0.5558, 0.8872, 1.332, 1.896, 2.579, 3.395",\
                 "0.09924, 0.1232, 0.1938, 0.3284, 0.555, 0.8872, 1.333, 1.896, 2.58, 3.395",\
                 "0.09886, 0.1236, 0.1937, 0.3281, 0.5551, 0.8872, 1.331, 1.895, 2.581, 3.395",\
                 "0.09942, 0.1235, 0.1943, 0.3284, 0.555, 0.8872, 1.331, 1.895, 2.58, 3.395",\
                 "0.09894, 0.1227, 0.1939, 0.3281, 0.555, 0.8874, 1.333, 1.896, 2.579, 3.399",\
                 "0.09898, 0.1234, 0.194, 0.3284, 0.5554, 0.8874, 1.333, 1.895, 2.578, 3.394",\
                 "0.0986, 0.1232, 0.1946, 0.328, 0.555, 0.8876, 1.332, 1.893, 2.579, 3.396",\
                 "0.0992, 0.1228, 0.1938, 0.3282, 0.5552, 0.8882, 1.332, 1.893, 2.582, 3.397",\
                 "0.0996, 0.1236, 0.1936, 0.3282, 0.555, 0.8884, 1.333, 1.893, 2.578, 3.396",\
                 "0.0992, 0.1238, 0.1942, 0.3284, 0.5556, 0.8874, 1.332, 1.892, 2.579, 3.396");
        }
      }
    }
  }

