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

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

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

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 0.354 ;
      max_transition : 15.6 ;
      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.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.003436, 0.01199, 0.02832, 0.05376, 0.08946, 0.1364, 0.1956, 0.2679, 0.354");
          values("0.2609, 0.2586, 0.2545, 0.2518, 0.2502, 0.2493, 0.2487, 0.2483, 0.248, 0.2478",\
                 "0.2605, 0.2582, 0.254, 0.2514, 0.2499, 0.2489, 0.2483, 0.2479, 0.2476, 0.2473",\
                 "0.2604, 0.2581, 0.2539, 0.2513, 0.2498, 0.2488, 0.2482, 0.2478, 0.2475, 0.2473",\
                 "0.262, 0.2597, 0.2555, 0.2529, 0.2514, 0.2504, 0.2498, 0.2494, 0.2491, 0.2488",\
                 "0.2657, 0.2634, 0.2593, 0.2567, 0.2551, 0.2542, 0.2535, 0.2531, 0.2528, 0.2525",\
                 "0.2717, 0.2694, 0.2653, 0.2626, 0.2611, 0.2601, 0.2595, 0.2591, 0.2588, 0.2583",\
                 "0.2802, 0.2778, 0.2737, 0.271, 0.2695, 0.2686, 0.268, 0.2676, 0.2671, 0.2663",\
                 "0.2913, 0.2889, 0.2848, 0.2822, 0.2806, 0.2797, 0.2791, 0.2786, 0.2778, 0.2763",\
                 "0.3053, 0.303, 0.2989, 0.2962, 0.2946, 0.2937, 0.293, 0.2919, 0.2899, 0.2875",\
                 "0.3222, 0.3199, 0.3157, 0.3131, 0.3115, 0.3099, 0.3073, 0.3042, 0.3019, 0.3003");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.003436, 0.01199, 0.02832, 0.05376, 0.08946, 0.1364, 0.1956, 0.2679, 0.354");
          values("0.222, 0.2212, 0.22, 0.2195, 0.2196, 0.2201, 0.2214, 0.2376, 0.3318, 0.5902",\
                 "0.2219, 0.2211, 0.22, 0.2195, 0.2196, 0.2201, 0.2215, 0.2382, 0.3341, 0.595",\
                 "0.2218, 0.2211, 0.2199, 0.2194, 0.2196, 0.22, 0.2214, 0.2403, 0.3424, 0.6114",\
                 "0.2226, 0.2218, 0.2207, 0.2202, 0.2203, 0.2207, 0.2225, 0.2445, 0.3582, 0.6409",\
                 "0.2249, 0.2242, 0.223, 0.2225, 0.2227, 0.2231, 0.2254, 0.2529, 0.3842, 0.6841",\
                 "0.2293, 0.2285, 0.2273, 0.2269, 0.227, 0.2275, 0.2309, 0.2676, 0.4234, 0.7428",\
                 "0.2359, 0.2352, 0.2341, 0.2335, 0.2336, 0.2342, 0.2396, 0.2919, 0.4813, 0.8181",\
                 "0.2448, 0.2441, 0.2429, 0.2425, 0.2426, 0.2433, 0.2539, 0.3326, 0.5635, 0.9054",\
                 "0.2564, 0.2557, 0.2545, 0.2539, 0.2539, 0.256, 0.2778, 0.4008, 0.6723, 0.9927",\
                 "0.2705, 0.2698, 0.2686, 0.2681, 0.268, 0.2721, 0.3252, 0.5115, 0.7924, 1.052");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.003436, 0.01199, 0.02832, 0.05376, 0.08946, 0.1364, 0.1956, 0.2679, 0.354");
          values("7.249, 7.346, 7.602, 7.964, 8.409, 8.945, 9.592, 10.37, 11.31, 12.43",\
                 "7.279, 7.376, 7.631, 7.993, 8.438, 8.974, 9.622, 10.4, 11.34, 12.46",\
                 "7.408, 7.506, 7.761, 8.123, 8.568, 9.104, 9.752, 10.53, 11.47, 12.59",\
                 "7.684, 7.781, 8.036, 8.398, 8.844, 9.38, 10.03, 10.81, 11.75, 12.86",\
                 "8.095, 8.192, 8.448, 8.81, 9.255, 9.791, 10.44, 11.22, 12.16, 13.28",\
                 "8.598, 8.694, 8.95, 9.312, 9.758, 10.29, 10.94, 11.72, 12.66, 13.78",\
                 "9.19, 9.287, 9.543, 9.905, 10.35, 10.89, 11.53, 12.32, 13.26, 14.37",\
                 "9.886, 9.982, 10.24, 10.6, 11.05, 11.58, 12.23, 13.01, 13.95, 15.07",\
                 "10.69, 10.79, 11.04, 11.4, 11.85, 12.38, 13.03, 13.81, 14.75, 15.87",\
                 "11.6, 11.7, 11.95, 12.32, 12.76, 13.3, 13.94, 14.73, 15.67, 16.78");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.003436, 0.01199, 0.02832, 0.05376, 0.08946, 0.1364, 0.1956, 0.2679, 0.354");
          values("6.906, 6.993, 7.244, 7.664, 8.296, 9.181, 10.34, 11.81, 13.6, 15.72",\
                 "6.933, 7.02, 7.272, 7.692, 8.325, 9.209, 10.37, 11.84, 13.62, 15.75",\
                 "7.018, 7.105, 7.357, 7.776, 8.409, 9.294, 10.45, 11.92, 13.71, 15.83",\
                 "7.11, 7.197, 7.448, 7.867, 8.501, 9.386, 10.55, 12.01, 13.8, 15.93",\
                 "7.15, 7.237, 7.489, 7.908, 8.541, 9.426, 10.59, 12.05, 13.84, 15.97",\
                 "7.13, 7.217, 7.468, 7.888, 8.521, 9.406, 10.57, 12.03, 13.82, 15.95",\
                 "7.043, 7.13, 7.382, 7.801, 8.434, 9.318, 10.48, 11.94, 13.73, 15.86",\
                 "6.881, 6.968, 7.22, 7.638, 8.271, 9.155, 10.32, 11.78, 13.57, 15.7",\
                 "6.635, 6.721, 6.973, 7.393, 8.025, 8.909, 10.07, 11.54, 13.32, 15.45",\
                 "6.296, 6.383, 6.635, 7.054, 7.687, 8.571, 9.733, 11.2, 12.98, 15.11");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.003436, 0.01199, 0.02832, 0.05376, 0.08946, 0.1364, 0.1956, 0.2679, 0.354");
          values("0.4268, 0.5158, 0.7586, 1.13, 1.638, 2.336, 3.286, 4.52, 6.074, 7.948",\
                 "0.4264, 0.516, 0.7578, 1.13, 1.638, 2.336, 3.288, 4.524, 6.07, 7.952",\
                 "0.4266, 0.5158, 0.7586, 1.13, 1.639, 2.337, 3.284, 4.523, 6.068, 7.95",\
                 "0.4262, 0.5158, 0.7594, 1.13, 1.638, 2.337, 3.286, 4.52, 6.068, 7.95",\
                 "0.4264, 0.5164, 0.7582, 1.129, 1.642, 2.34, 3.286, 4.522, 6.07, 7.95",\
                 "0.426, 0.516, 0.76, 1.13, 1.638, 2.34, 3.286, 4.524, 6.066, 7.95",\
                 "0.426, 0.518, 0.758, 1.13, 1.638, 2.338, 3.286, 4.524, 6.072, 7.95",\
                 "0.426, 0.516, 0.76, 1.13, 1.64, 2.336, 3.282, 4.522, 6.074, 7.95",\
                 "0.428, 0.516, 0.76, 1.132, 1.64, 2.336, 3.284, 4.524, 6.072, 7.938",\
                 "0.426, 0.516, 0.758, 1.13, 1.638, 2.342, 3.284, 4.518, 6.066, 7.946");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.003436, 0.01199, 0.02832, 0.05376, 0.08946, 0.1364, 0.1956, 0.2679, 0.354");
          values("0.3046, 0.4106, 0.7492, 1.415, 2.507, 4.066, 6.114, 8.688, 11.85, 15.6",\
                 "0.3048, 0.4108, 0.7482, 1.415, 2.505, 4.065, 6.117, 8.689, 11.85, 15.61",\
                 "0.305, 0.4108, 0.7488, 1.415, 2.507, 4.058, 6.105, 8.69, 11.85, 15.61",\
                 "0.3052, 0.4112, 0.7498, 1.415, 2.506, 4.065, 6.108, 8.684, 11.85, 15.61",\
                 "0.305, 0.4104, 0.7494, 1.415, 2.506, 4.065, 6.118, 8.69, 11.84, 15.6",\
                 "0.305, 0.4108, 0.7502, 1.417, 2.51, 4.064, 6.108, 8.686, 11.84, 15.6",\
                 "0.306, 0.41, 0.75, 1.418, 2.506, 4.066, 6.114, 8.69, 11.84, 15.62",\
                 "0.304, 0.41, 0.75, 1.416, 2.506, 4.066, 6.108, 8.69, 11.85, 15.59",\
                 "0.304, 0.41, 0.75, 1.416, 2.508, 4.062, 6.108, 8.69, 11.86, 15.6",\
                 "0.304, 0.41, 0.75, 1.414, 2.506, 4.064, 6.11, 8.7, 11.84, 15.6");
        }
      }
    }
  }

