/*
 * 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__dlyb_2) {
    area : 39.513600 ;

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

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

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

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 0.507 ;
      max_transition : 5 ;
      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.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.004492, 0.01675, 0.04016, 0.07663, 0.1278, 0.1951, 0.28, 0.3835, 0.507");
          values("0.5345, 0.5175, 0.4761, 0.4341, 0.4068, 0.3886, 0.3759, 0.3667, 0.3596, 0.3548",\
                 "0.5339, 0.5168, 0.4754, 0.4334, 0.4061, 0.3878, 0.3748, 0.3658, 0.359, 0.354",\
                 "0.5341, 0.5171, 0.4757, 0.4336, 0.4062, 0.388, 0.375, 0.366, 0.3592, 0.3543",\
                 "0.5379, 0.5208, 0.4795, 0.4374, 0.4102, 0.3917, 0.3789, 0.3698, 0.3631, 0.358",\
                 "0.5467, 0.5295, 0.4882, 0.4461, 0.4187, 0.4006, 0.3875, 0.3785, 0.3717, 0.3667",\
                 "0.5603, 0.5432, 0.5018, 0.4597, 0.4325, 0.4138, 0.4012, 0.3922, 0.3854, 0.3804",\
                 "0.5792, 0.562, 0.5206, 0.4785, 0.4513, 0.433, 0.4203, 0.4111, 0.4045, 0.3994",\
                 "0.6046, 0.5875, 0.5461, 0.504, 0.4766, 0.4583, 0.4457, 0.4366, 0.4299, 0.4249",\
                 "0.6359, 0.6189, 0.5777, 0.5356, 0.5082, 0.49, 0.4772, 0.468, 0.4615, 0.4563",\
                 "0.6744, 0.6573, 0.6161, 0.5741, 0.5466, 0.5283, 0.5155, 0.5064, 0.4996, 0.4946");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.004492, 0.01675, 0.04016, 0.07663, 0.1278, 0.1951, 0.28, 0.3835, 0.507");
          values("0.3376, 0.3279, 0.3126, 0.301, 0.293, 0.2894, 0.2882, 0.288, 0.287, 0.2889",\
                 "0.3375, 0.3277, 0.3129, 0.3009, 0.2925, 0.2893, 0.288, 0.2884, 0.2874, 0.2885",\
                 "0.3376, 0.3279, 0.3125, 0.3005, 0.293, 0.2886, 0.2881, 0.288, 0.2888, 0.2898",\
                 "0.3397, 0.3297, 0.3146, 0.3025, 0.2947, 0.2916, 0.2899, 0.2902, 0.2892, 0.2916",\
                 "0.3449, 0.3353, 0.3194, 0.3079, 0.3009, 0.2967, 0.2956, 0.2965, 0.2946, 0.297",\
                 "0.3552, 0.3454, 0.3305, 0.3181, 0.3101, 0.3058, 0.3048, 0.3055, 0.3054, 0.3069",\
                 "0.3698, 0.3599, 0.3449, 0.3332, 0.325, 0.3211, 0.3206, 0.3208, 0.3203, 0.3222",\
                 "0.3906, 0.3806, 0.3651, 0.3527, 0.3463, 0.343, 0.3416, 0.3415, 0.3414, 0.3425",\
                 "0.4164, 0.4065, 0.3913, 0.379, 0.37, 0.3673, 0.3678, 0.3681, 0.3666, 0.3668",\
                 "0.4486, 0.4387, 0.4229, 0.4106, 0.4026, 0.3975, 0.3962, 0.3996, 0.3999, 0.4019");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.004492, 0.01675, 0.04016, 0.07663, 0.1278, 0.1951, 0.28, 0.3835, 0.507");
          values("1.42, 1.463, 1.575, 1.733, 1.93, 2.166, 2.444, 2.774, 3.164, 3.622",\
                 "1.427, 1.471, 1.583, 1.741, 1.937, 2.173, 2.452, 2.781, 3.171, 3.63",\
                 "1.464, 1.507, 1.619, 1.777, 1.974, 2.209, 2.488, 2.817, 3.207, 3.666",\
                 "1.545, 1.589, 1.701, 1.858, 2.054, 2.291, 2.569, 2.899, 3.289, 3.747",\
                 "1.674, 1.718, 1.83, 1.987, 2.184, 2.419, 2.698, 3.027, 3.418, 3.876",\
                 "1.839, 1.883, 1.995, 2.152, 2.349, 2.585, 2.863, 3.193, 3.583, 4.041",\
                 "2.036, 2.079, 2.192, 2.349, 2.546, 2.781, 3.06, 3.389, 3.779, 4.238",\
                 "2.268, 2.311, 2.423, 2.58, 2.777, 3.013, 3.291, 3.62, 4.01, 4.469",\
                 "2.533, 2.576, 2.688, 2.846, 3.042, 3.278, 3.557, 3.886, 4.276, 4.735",\
                 "2.832, 2.875, 2.988, 3.145, 3.342, 3.578, 3.856, 4.186, 4.576, 5.034");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.004492, 0.01675, 0.04016, 0.07663, 0.1278, 0.1951, 0.28, 0.3835, 0.507");
          values("1.179, 1.212, 1.301, 1.446, 1.655, 1.943, 2.323, 2.802, 3.388, 4.087",\
                 "1.187, 1.219, 1.309, 1.454, 1.662, 1.95, 2.33, 2.809, 3.395, 4.094",\
                 "1.211, 1.244, 1.333, 1.478, 1.687, 1.975, 2.355, 2.833, 3.419, 4.118",\
                 "1.248, 1.28, 1.37, 1.515, 1.723, 2.011, 2.391, 2.87, 3.456, 4.154",\
                 "1.273, 1.306, 1.395, 1.54, 1.749, 2.037, 2.417, 2.895, 3.482, 4.18",\
                 "1.283, 1.315, 1.405, 1.549, 1.757, 2.046, 2.425, 2.905, 3.49, 4.189",\
                 "1.272, 1.304, 1.394, 1.539, 1.747, 2.036, 2.416, 2.895, 3.481, 4.18",\
                 "1.24, 1.273, 1.362, 1.507, 1.715, 2.003, 2.383, 2.862, 3.448, 4.147",\
                 "1.183, 1.216, 1.306, 1.45, 1.659, 1.947, 2.327, 2.806, 3.391, 4.09",\
                 "1.1, 1.132, 1.222, 1.367, 1.575, 1.864, 2.243, 2.722, 3.308, 4.006");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.004492, 0.01675, 0.04016, 0.07663, 0.1278, 0.1951, 0.28, 0.3835, 0.507");
          values("0.2206, 0.2636, 0.3722, 0.528, 0.7406, 1.017, 1.378, 1.846, 2.437, 3.167",\
                 "0.2206, 0.2636, 0.3724, 0.528, 0.741, 1.017, 1.376, 1.845, 2.437, 3.165",\
                 "0.2204, 0.2648, 0.3724, 0.528, 0.7408, 1.016, 1.377, 1.845, 2.437, 3.165",\
                 "0.2204, 0.2646, 0.3724, 0.5282, 0.7408, 1.017, 1.377, 1.845, 2.437, 3.162",\
                 "0.2206, 0.2636, 0.3724, 0.5282, 0.7412, 1.017, 1.377, 1.847, 2.437, 3.162",\
                 "0.2206, 0.2636, 0.3726, 0.5284, 0.74, 1.017, 1.377, 1.846, 2.437, 3.162",\
                 "0.2202, 0.2632, 0.372, 0.528, 0.7402, 1.017, 1.378, 1.845, 2.438, 3.162",\
                 "0.22, 0.263, 0.372, 0.528, 0.7406, 1.017, 1.378, 1.845, 2.437, 3.162",\
                 "0.2204, 0.2638, 0.3722, 0.5276, 0.7406, 1.016, 1.377, 1.845, 2.441, 3.166",\
                 "0.2198, 0.263, 0.372, 0.5284, 0.74, 1.016, 1.378, 1.845, 2.439, 3.167");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.004492, 0.01675, 0.04016, 0.07663, 0.1278, 0.1951, 0.28, 0.3835, 0.507");
          values("0.12, 0.1552, 0.2698, 0.4778, 0.8122, 1.303, 1.958, 2.785, 3.798, 5.006",\
                 "0.1202, 0.1556, 0.2698, 0.4784, 0.8138, 1.303, 1.957, 2.786, 3.798, 5.003",\
                 "0.121, 0.1554, 0.2698, 0.4778, 0.8128, 1.303, 1.957, 2.786, 3.795, 5.005",\
                 "0.1204, 0.1562, 0.2694, 0.4782, 0.8142, 1.303, 1.958, 2.786, 3.797, 5.004",\
                 "0.121, 0.1556, 0.2698, 0.4794, 0.813, 1.304, 1.958, 2.786, 3.798, 5.004",\
                 "0.1208, 0.155, 0.2696, 0.4782, 0.8144, 1.303, 1.959, 2.784, 3.798, 5.005",\
                 "0.1202, 0.1556, 0.2702, 0.478, 0.813, 1.304, 1.957, 2.783, 3.798, 5.007",\
                 "0.1208, 0.155, 0.2702, 0.4782, 0.8132, 1.303, 1.958, 2.783, 3.795, 5.006",\
                 "0.1212, 0.1552, 0.2702, 0.4778, 0.8128, 1.304, 1.958, 2.783, 3.798, 5",\
                 "0.1204, 0.1554, 0.2708, 0.478, 0.8128, 1.303, 1.956, 2.782, 3.793, 4.999");
        }
      }
    }
  }

