/*
 * 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_mcu9t5v0__dlyb_2) {
    area : 42.336000 ;

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

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

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

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 0.7208 ;
      max_transition : 3.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.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
          index_2("0.001, 0.005969, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3979, 0.5452, 0.7208");
          values("1.773, 1.724, 1.59, 1.413, 1.237, 1.085, 0.9751, 0.8987, 0.8415, 0.7977",\
                 "1.773, 1.724, 1.589, 1.413, 1.237, 1.085, 0.9748, 0.8981, 0.8412, 0.797",\
                 "1.778, 1.729, 1.595, 1.418, 1.242, 1.09, 0.9801, 0.9035, 0.8461, 0.8023",\
                 "1.796, 1.747, 1.613, 1.436, 1.26, 1.108, 0.9977, 0.9215, 0.8641, 0.8204",\
                 "1.83, 1.782, 1.647, 1.47, 1.294, 1.143, 1.032, 0.956, 0.8985, 0.855",\
                 "1.883, 1.834, 1.7, 1.523, 1.347, 1.196, 1.085, 1.008, 0.9515, 0.9076",\
                 "1.957, 1.908, 1.773, 1.597, 1.42, 1.269, 1.158, 1.082, 1.025, 0.9805",\
                 "2.052, 2.003, 1.869, 1.693, 1.516, 1.365, 1.254, 1.178, 1.121, 1.076",\
                 "2.17, 2.121, 1.987, 1.811, 1.634, 1.482, 1.371, 1.295, 1.237, 1.193",\
                 "2.312, 2.264, 2.129, 1.952, 1.775, 1.624, 1.514, 1.436, 1.379, 1.335");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
          index_2("0.001, 0.005969, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3979, 0.5452, 0.7208");
          values("1.007, 0.9686, 0.869, 0.7678, 0.7013, 0.6569, 0.6255, 0.6057, 0.5917, 0.5846",\
                 "1.008, 0.9686, 0.8691, 0.7684, 0.7026, 0.6569, 0.6249, 0.6051, 0.5922, 0.5852",\
                 "1.011, 0.9715, 0.8712, 0.7726, 0.7047, 0.6596, 0.6293, 0.609, 0.5955, 0.589",\
                 "1.023, 0.9835, 0.8845, 0.7829, 0.7176, 0.6723, 0.6409, 0.6211, 0.6071, 0.6",\
                 "1.048, 1.009, 0.9101, 0.8092, 0.7434, 0.6976, 0.6673, 0.6458, 0.6335, 0.6259",\
                 "1.091, 1.052, 0.9525, 0.8519, 0.7857, 0.7388, 0.7085, 0.6882, 0.6753, 0.6655",\
                 "1.151, 1.112, 1.013, 0.9134, 0.8478, 0.801, 0.7685, 0.7498, 0.7352, 0.7298",\
                 "1.23, 1.191, 1.091, 0.9901, 0.9229, 0.8802, 0.8493, 0.8284, 0.8139, 0.8046",\
                 "1.329, 1.29, 1.19, 1.088, 1.019, 0.9753, 0.9467, 0.9291, 0.9156, 0.9053",\
                 "1.448, 1.408, 1.309, 1.207, 1.139, 1.092, 1.057, 1.043, 1.04, 1.027");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
          index_2("0.001, 0.005969, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3979, 0.5452, 0.7208");
          values("0.9294, 0.9575, 1.033, 1.142, 1.28, 1.445, 1.641, 1.873, 2.144, 2.462",\
                 "0.9345, 0.9626, 1.038, 1.147, 1.285, 1.45, 1.647, 1.878, 2.15, 2.467",\
                 "0.961, 0.989, 1.064, 1.174, 1.311, 1.477, 1.673, 1.904, 2.176, 2.493",\
                 "1.02, 1.048, 1.124, 1.233, 1.37, 1.536, 1.732, 1.964, 2.235, 2.553",\
                 "1.112, 1.14, 1.215, 1.324, 1.462, 1.628, 1.824, 2.055, 2.327, 2.644",\
                 "1.231, 1.259, 1.334, 1.443, 1.581, 1.747, 1.943, 2.174, 2.446, 2.763",\
                 "1.375, 1.403, 1.478, 1.587, 1.725, 1.89, 2.087, 2.318, 2.589, 2.907",\
                 "1.542, 1.57, 1.645, 1.754, 1.892, 2.058, 2.254, 2.485, 2.757, 3.074",\
                 "1.733, 1.761, 1.836, 1.945, 2.083, 2.249, 2.445, 2.676, 2.948, 3.265",\
                 "1.951, 1.979, 2.054, 2.163, 2.301, 2.467, 2.662, 2.894, 3.166, 3.483");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
          index_2("0.001, 0.005969, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3979, 0.5452, 0.7208");
          values("0.7894, 0.8136, 0.8781, 0.9756, 1.115, 1.306, 1.559, 1.88, 2.272, 2.743",\
                 "0.7925, 0.8167, 0.8812, 0.9787, 1.118, 1.309, 1.562, 1.882, 2.275, 2.746",\
                 "0.8041, 0.8282, 0.8925, 0.9904, 1.129, 1.321, 1.573, 1.894, 2.287, 2.757",\
                 "0.8157, 0.8398, 0.9045, 1.002, 1.141, 1.333, 1.585, 1.906, 2.299, 2.769",\
                 "0.8169, 0.8412, 0.9057, 1.003, 1.142, 1.334, 1.587, 1.907, 2.3, 2.77",\
                 "0.8045, 0.8287, 0.8931, 0.9906, 1.13, 1.321, 1.574, 1.894, 2.287, 2.758",\
                 "0.7745, 0.7986, 0.8631, 0.9607, 1.099, 1.291, 1.544, 1.864, 2.257, 2.728",\
                 "0.7245, 0.7487, 0.8134, 0.9108, 1.05, 1.241, 1.494, 1.814, 2.207, 2.676",\
                 "0.6526, 0.6769, 0.7415, 0.839, 0.978, 1.169, 1.422, 1.743, 2.135, 2.604",\
                 "0.5584, 0.5824, 0.6472, 0.7447, 0.8835, 1.075, 1.328, 1.648, 2.041, 2.51");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
          index_2("0.001, 0.005969, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3979, 0.5452, 0.7208");
          values("0.224, 0.2579, 0.3417, 0.4556, 0.604, 0.7974, 1.054, 1.384, 1.8, 2.31",\
                 "0.2239, 0.2578, 0.3422, 0.4558, 0.6038, 0.7978, 1.053, 1.383, 1.8, 2.307",\
                 "0.2241, 0.2578, 0.3422, 0.456, 0.6032, 0.7974, 1.054, 1.384, 1.799, 2.308",\
                 "0.224, 0.2586, 0.342, 0.4564, 0.6042, 0.798, 1.053, 1.383, 1.799, 2.307",\
                 "0.2236, 0.2578, 0.3422, 0.4566, 0.6048, 0.7974, 1.053, 1.383, 1.799, 2.31",\
                 "0.224, 0.2584, 0.3418, 0.4566, 0.6034, 0.7968, 1.052, 1.384, 1.8, 2.31",\
                 "0.2234, 0.2576, 0.341, 0.4566, 0.6034, 0.7978, 1.054, 1.384, 1.798, 2.31",\
                 "0.224, 0.2578, 0.3412, 0.4554, 0.6034, 0.7976, 1.053, 1.384, 1.8, 2.31",\
                 "0.2236, 0.2582, 0.3422, 0.4572, 0.6036, 0.7978, 1.052, 1.385, 1.8, 2.31",\
                 "0.2246, 0.2586, 0.342, 0.4566, 0.604, 0.7978, 1.053, 1.383, 1.801, 2.309");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
          index_2("0.001, 0.005969, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3979, 0.5452, 0.7208");
          values("0.1202, 0.1493, 0.2292, 0.3695, 0.6042, 0.9492, 1.417, 2.01, 2.734, 3.601",\
                 "0.1209, 0.1489, 0.2292, 0.3693, 0.605, 0.9496, 1.416, 2.009, 2.734, 3.6",\
                 "0.1202, 0.149, 0.2292, 0.3693, 0.6038, 0.9486, 1.415, 2.01, 2.734, 3.6",\
                 "0.1204, 0.1495, 0.2292, 0.3694, 0.6048, 0.9492, 1.416, 2.01, 2.738, 3.601",\
                 "0.1204, 0.1494, 0.229, 0.369, 0.6038, 0.95, 1.417, 2.009, 2.734, 3.602",\
                 "0.1198, 0.1482, 0.2286, 0.3696, 0.604, 0.949, 1.417, 2.011, 2.736, 3.603",\
                 "0.1206, 0.1488, 0.2294, 0.3696, 0.6038, 0.9494, 1.417, 2.009, 2.736, 3.601",\
                 "0.1212, 0.1488, 0.2292, 0.3702, 0.604, 0.9512, 1.415, 2.007, 2.735, 3.604",\
                 "0.121, 0.149, 0.2294, 0.3698, 0.6038, 0.9502, 1.415, 2.007, 2.734, 3.601",\
                 "0.121, 0.15, 0.23, 0.3702, 0.6046, 0.949, 1.415, 2.011, 2.734, 3.6");
        }
      }
    }
  }

