/*
 * 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_4) {
    area : 48.294400 ;

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

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

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

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

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

    pin(I) {
      capacitance : 0.002756 ;
      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.9094 ;
      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.00727, 0.02928, 0.07131, 0.1368, 0.2287, 0.3496, 0.5019, 0.6878, 0.9094");
          values("3.01, 2.944, 2.753, 2.483, 2.191, 1.916, 1.685, 1.51, 1.382, 1.282",\
                 "3.01, 2.944, 2.752, 2.483, 2.19, 1.916, 1.685, 1.51, 1.382, 1.282",\
                 "3.014, 2.948, 2.757, 2.487, 2.195, 1.92, 1.689, 1.514, 1.386, 1.285",\
                 "3.03, 2.964, 2.772, 2.503, 2.211, 1.935, 1.705, 1.53, 1.402, 1.302",\
                 "3.061, 2.995, 2.803, 2.534, 2.242, 1.967, 1.736, 1.561, 1.433, 1.333",\
                 "3.11, 3.043, 2.852, 2.582, 2.291, 2.016, 1.784, 1.611, 1.481, 1.381",\
                 "3.177, 3.111, 2.92, 2.65, 2.358, 2.083, 1.853, 1.678, 1.549, 1.449",\
                 "3.266, 3.2, 3.008, 2.739, 2.446, 2.172, 1.941, 1.767, 1.638, 1.537",\
                 "3.377, 3.311, 3.119, 2.85, 2.557, 2.284, 2.052, 1.878, 1.749, 1.649",\
                 "3.51, 3.443, 3.253, 2.983, 2.691, 2.416, 2.185, 2.011, 1.881, 1.781");
        }

        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.00727, 0.02928, 0.07131, 0.1368, 0.2287, 0.3496, 0.5019, 0.6878, 0.9094");
          values("1.591, 1.539, 1.396, 1.221, 1.093, 1, 0.9341, 0.888, 0.8567, 0.831",\
                 "1.591, 1.539, 1.397, 1.221, 1.093, 1.001, 0.9335, 0.888, 0.8556, 0.831",\
                 "1.594, 1.542, 1.4, 1.224, 1.096, 1.003, 0.9374, 0.8908, 0.8584, 0.8338",\
                 "1.604, 1.552, 1.41, 1.235, 1.107, 1.014, 0.9489, 0.9034, 0.8699, 0.8459",\
                 "1.627, 1.575, 1.433, 1.258, 1.129, 1.037, 0.9709, 0.9265, 0.8925, 0.8673",\
                 "1.666, 1.613, 1.471, 1.298, 1.169, 1.075, 1.01, 0.9617, 0.9288, 0.9042",\
                 "1.722, 1.67, 1.527, 1.355, 1.224, 1.129, 1.064, 1.018, 0.986, 0.9597",\
                 "1.796, 1.744, 1.601, 1.427, 1.299, 1.21, 1.141, 1.094, 1.057, 1.039",\
                 "1.889, 1.836, 1.692, 1.517, 1.388, 1.298, 1.235, 1.189, 1.153, 1.127",\
                 "2.001, 1.949, 1.806, 1.632, 1.499, 1.404, 1.339, 1.299, 1.268, 1.245");
        }
      }

      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.00727, 0.02928, 0.07131, 0.1368, 0.2287, 0.3496, 0.5019, 0.6878, 0.9094");
          values("1.206, 1.235, 1.317, 1.436, 1.585, 1.763, 1.97, 2.209, 2.485, 2.802",\
                 "1.21, 1.24, 1.322, 1.44, 1.59, 1.768, 1.975, 2.214, 2.49, 2.807",\
                 "1.235, 1.265, 1.346, 1.465, 1.614, 1.792, 1.999, 2.239, 2.514, 2.831",\
                 "1.29, 1.32, 1.401, 1.52, 1.669, 1.847, 2.055, 2.294, 2.57, 2.886",\
                 "1.377, 1.407, 1.488, 1.607, 1.756, 1.934, 2.141, 2.381, 2.657, 2.974",\
                 "1.493, 1.523, 1.604, 1.723, 1.872, 2.05, 2.257, 2.496, 2.772, 3.089",\
                 "1.633, 1.663, 1.744, 1.863, 2.012, 2.19, 2.397, 2.636, 2.912, 3.229",\
                 "1.796, 1.826, 1.907, 2.026, 2.175, 2.353, 2.56, 2.799, 3.075, 3.392",\
                 "1.982, 2.011, 2.093, 2.211, 2.361, 2.539, 2.746, 2.985, 3.261, 3.578",\
                 "2.192, 2.222, 2.303, 2.422, 2.571, 2.75, 2.956, 3.196, 3.472, 3.789");
        }

        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.00727, 0.02928, 0.07131, 0.1368, 0.2287, 0.3496, 0.5019, 0.6878, 0.9094");
          values("0.9725, 0.9976, 1.065, 1.165, 1.301, 1.482, 1.718, 2.017, 2.383, 2.822",\
                 "0.9758, 1.001, 1.069, 1.169, 1.304, 1.485, 1.722, 2.02, 2.387, 2.826",\
                 "0.9868, 1.012, 1.08, 1.18, 1.315, 1.496, 1.733, 2.031, 2.398, 2.837",\
                 "1, 1.025, 1.093, 1.193, 1.328, 1.51, 1.746, 2.045, 2.411, 2.85",\
                 "1.005, 1.03, 1.097, 1.197, 1.333, 1.514, 1.751, 2.049, 2.416, 2.854",\
                 "0.9958, 1.021, 1.089, 1.189, 1.324, 1.506, 1.742, 2.04, 2.407, 2.846",\
                 "0.9719, 0.9971, 1.064, 1.165, 1.3, 1.482, 1.718, 2.016, 2.383, 2.821",\
                 "0.9295, 0.9549, 1.022, 1.123, 1.258, 1.44, 1.675, 1.974, 2.34, 2.779",\
                 "0.8663, 0.8915, 0.9591, 1.059, 1.195, 1.376, 1.613, 1.911, 2.277, 2.716",\
                 "0.7822, 0.8075, 0.8751, 0.9754, 1.111, 1.292, 1.528, 1.827, 2.193, 2.631");
        }

        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.00727, 0.02928, 0.07131, 0.1368, 0.2287, 0.3496, 0.5019, 0.6878, 0.9094");
          values("0.3032, 0.3394, 0.435, 0.5608, 0.7176, 0.9112, 1.158, 1.47, 1.862, 2.34",\
                 "0.3024, 0.3404, 0.4342, 0.5604, 0.7168, 0.91, 1.158, 1.47, 1.862, 2.34",\
                 "0.3036, 0.3404, 0.4344, 0.5608, 0.7176, 0.911, 1.157, 1.47, 1.862, 2.341",\
                 "0.3034, 0.3396, 0.4346, 0.561, 0.7176, 0.9112, 1.157, 1.47, 1.861, 2.34",\
                 "0.3036, 0.3402, 0.4344, 0.5606, 0.7178, 0.9118, 1.158, 1.471, 1.862, 2.341",\
                 "0.3022, 0.3404, 0.4342, 0.561, 0.7162, 0.9112, 1.157, 1.47, 1.862, 2.341",\
                 "0.3036, 0.3394, 0.4346, 0.5606, 0.716, 0.911, 1.157, 1.47, 1.863, 2.34",\
                 "0.3024, 0.3386, 0.433, 0.5598, 0.7164, 0.9102, 1.157, 1.47, 1.861, 2.34",\
                 "0.3032, 0.3396, 0.434, 0.5598, 0.7152, 0.9102, 1.157, 1.469, 1.862, 2.341",\
                 "0.303, 0.3398, 0.4342, 0.5606, 0.7158, 0.9104, 1.156, 1.47, 1.863, 2.342");
        }

        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.00727, 0.02928, 0.07131, 0.1368, 0.2287, 0.3496, 0.5019, 0.6878, 0.9094");
          values("0.1515, 0.1803, 0.2616, 0.3944, 0.6048, 0.9188, 1.348, 1.902, 2.579, 3.394",\
                 "0.1515, 0.1804, 0.2616, 0.3944, 0.6046, 0.919, 1.348, 1.901, 2.58, 3.393",\
                 "0.1516, 0.1802, 0.2616, 0.3948, 0.6046, 0.919, 1.348, 1.902, 2.58, 3.393",\
                 "0.1516, 0.1806, 0.262, 0.3946, 0.6058, 0.9188, 1.348, 1.9, 2.579, 3.393",\
                 "0.1516, 0.181, 0.262, 0.3948, 0.6052, 0.92, 1.349, 1.9, 2.581, 3.392",\
                 "0.1516, 0.181, 0.2628, 0.3942, 0.6048, 0.9204, 1.349, 1.902, 2.58, 3.393",\
                 "0.151, 0.1794, 0.2622, 0.3944, 0.6046, 0.9202, 1.348, 1.901, 2.58, 3.392",\
                 "0.1508, 0.1796, 0.2622, 0.3954, 0.6054, 0.9192, 1.349, 1.901, 2.579, 3.39",\
                 "0.152, 0.1806, 0.2622, 0.396, 0.605, 0.9208, 1.348, 1.899, 2.58, 3.392",\
                 "0.1516, 0.1808, 0.2616, 0.3948, 0.6054, 0.9192, 1.348, 1.899, 2.577, 3.391");
        }
      }
    }
  }

