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

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

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

    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.2524 ;
      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.002735, 0.008827, 0.02046, 0.03858, 0.06401, 0.09747, 0.1396, 0.1911, 0.2524");
          values("0.591, 0.586, 0.5748, 0.5655, 0.5593, 0.5553, 0.5525, 0.5505, 0.5491, 0.548",\
                 "0.5902, 0.5852, 0.5739, 0.5647, 0.5587, 0.5546, 0.552, 0.5499, 0.5485, 0.5474",\
                 "0.5905, 0.5855, 0.5742, 0.5649, 0.5588, 0.5548, 0.5521, 0.55, 0.5487, 0.5476",\
                 "0.5944, 0.5894, 0.578, 0.5688, 0.5627, 0.5587, 0.5559, 0.554, 0.5525, 0.5516",\
                 "0.603, 0.598, 0.5867, 0.5775, 0.5714, 0.5674, 0.5646, 0.5626, 0.5612, 0.5602",\
                 "0.6168, 0.6117, 0.6004, 0.5913, 0.5852, 0.5811, 0.5784, 0.5764, 0.575, 0.5739",\
                 "0.636, 0.631, 0.6197, 0.6104, 0.6044, 0.6004, 0.5975, 0.5955, 0.5942, 0.5931",\
                 "0.6612, 0.6562, 0.6448, 0.6355, 0.6296, 0.6254, 0.6228, 0.6207, 0.6193, 0.6183",\
                 "0.6927, 0.6877, 0.6765, 0.6672, 0.6612, 0.657, 0.6543, 0.6522, 0.6509, 0.6499",\
                 "0.731, 0.726, 0.7147, 0.7055, 0.6995, 0.6953, 0.6926, 0.6907, 0.6893, 0.6882");
        }

        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.002735, 0.008827, 0.02046, 0.03858, 0.06401, 0.09747, 0.1396, 0.1911, 0.2524");
          values("0.4992, 0.4974, 0.4929, 0.4897, 0.4876, 0.4868, 0.4872, 0.4877, 0.4884, 0.4891",\
                 "0.4991, 0.497, 0.4931, 0.4893, 0.4872, 0.4864, 0.487, 0.4875, 0.4885, 0.4891",\
                 "0.4995, 0.4972, 0.4928, 0.4898, 0.4874, 0.4866, 0.4875, 0.4876, 0.4884, 0.49",\
                 "0.5011, 0.4989, 0.4948, 0.4915, 0.49, 0.4889, 0.4894, 0.4895, 0.4904, 0.4909",\
                 "0.5065, 0.5044, 0.5005, 0.4969, 0.4955, 0.4945, 0.4943, 0.4953, 0.4958, 0.4972",\
                 "0.5166, 0.5146, 0.5105, 0.5069, 0.5055, 0.5045, 0.5043, 0.5049, 0.5054, 0.5071",\
                 "0.5315, 0.5294, 0.5254, 0.5215, 0.5196, 0.5194, 0.5197, 0.5199, 0.5203, 0.5211",\
                 "0.5518, 0.5497, 0.5454, 0.5421, 0.5402, 0.5398, 0.5402, 0.5407, 0.5415, 0.5418",\
                 "0.5778, 0.5758, 0.5718, 0.5681, 0.5662, 0.5655, 0.566, 0.5666, 0.5669, 0.5674",\
                 "0.6095, 0.6075, 0.6032, 0.5999, 0.5974, 0.5975, 0.598, 0.5984, 0.5986, 0.5996");
        }
      }

      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.002735, 0.008827, 0.02046, 0.03858, 0.06401, 0.09747, 0.1396, 0.1911, 0.2524");
          values("2.952, 2.984, 3.074, 3.206, 3.378, 3.59, 3.85, 4.166, 4.548, 5.002",\
                 "2.959, 2.992, 3.081, 3.214, 3.386, 3.598, 3.857, 4.174, 4.556, 5.01",\
                 "2.996, 3.028, 3.117, 3.25, 3.422, 3.634, 3.894, 4.21, 4.592, 5.046",\
                 "3.077, 3.109, 3.199, 3.332, 3.504, 3.716, 3.975, 4.292, 4.673, 5.127",\
                 "3.206, 3.238, 3.328, 3.461, 3.633, 3.845, 4.104, 4.421, 4.802, 5.256",\
                 "3.371, 3.404, 3.493, 3.626, 3.798, 4.01, 4.27, 4.586, 4.968, 5.422",\
                 "3.569, 3.601, 3.691, 3.824, 3.995, 4.207, 4.467, 4.783, 5.165, 5.619",\
                 "3.8, 3.832, 3.922, 4.055, 4.227, 4.438, 4.698, 5.015, 5.397, 5.851",\
                 "4.066, 4.098, 4.187, 4.32, 4.493, 4.704, 4.964, 5.281, 5.662, 6.116",\
                 "4.366, 4.398, 4.487, 4.62, 4.792, 5.004, 5.264, 5.58, 5.962, 6.416");
        }

        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.002735, 0.008827, 0.02046, 0.03858, 0.06401, 0.09747, 0.1396, 0.1911, 0.2524");
          values("2.81, 2.837, 2.917, 3.054, 3.259, 3.546, 3.924, 4.401, 4.984, 5.679",\
                 "2.818, 2.844, 2.924, 3.06, 3.265, 3.553, 3.931, 4.409, 4.992, 5.687",\
                 "2.843, 2.869, 2.949, 3.085, 3.29, 3.578, 3.956, 4.433, 5.016, 5.712",\
                 "2.879, 2.905, 2.985, 3.122, 3.326, 3.614, 3.993, 4.47, 5.052, 5.747",\
                 "2.905, 2.931, 3.011, 3.148, 3.352, 3.64, 4.018, 4.496, 5.079, 5.774",\
                 "2.914, 2.94, 3.02, 3.156, 3.361, 3.649, 4.027, 4.505, 5.088, 5.782",\
                 "2.904, 2.93, 3.01, 3.146, 3.351, 3.638, 4.017, 4.494, 5.077, 5.771",\
                 "2.871, 2.898, 2.978, 3.114, 3.319, 3.607, 3.985, 4.462, 5.045, 5.741",\
                 "2.815, 2.841, 2.921, 3.057, 3.262, 3.549, 3.928, 4.405, 4.988, 5.683",\
                 "2.73, 2.757, 2.837, 2.973, 3.178, 3.465, 3.844, 4.321, 4.904, 5.6");
        }

        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.002735, 0.008827, 0.02046, 0.03858, 0.06401, 0.09747, 0.1396, 0.1911, 0.2524");
          values("0.1802, 0.2112, 0.2992, 0.4406, 0.6404, 0.914, 1.287, 1.771, 2.379, 3.116",\
                 "0.18, 0.2114, 0.2994, 0.4402, 0.6406, 0.9146, 1.287, 1.771, 2.379, 3.114",\
                 "0.1806, 0.211, 0.2992, 0.4402, 0.6404, 0.9146, 1.286, 1.772, 2.38, 3.114",\
                 "0.1796, 0.2114, 0.2994, 0.4408, 0.6406, 0.9142, 1.287, 1.771, 2.379, 3.114",\
                 "0.1804, 0.2122, 0.2988, 0.4408, 0.641, 0.9138, 1.287, 1.773, 2.379, 3.116",\
                 "0.18, 0.211, 0.2992, 0.4412, 0.641, 0.915, 1.287, 1.773, 2.379, 3.119",\
                 "0.1796, 0.2112, 0.2994, 0.4404, 0.6404, 0.9138, 1.287, 1.772, 2.381, 3.114",\
                 "0.1798, 0.2122, 0.299, 0.4402, 0.6406, 0.9144, 1.286, 1.771, 2.381, 3.119",\
                 "0.1806, 0.2112, 0.2992, 0.4404, 0.6406, 0.9142, 1.286, 1.772, 2.38, 3.119",\
                 "0.1798, 0.2114, 0.299, 0.4404, 0.6406, 0.9152, 1.287, 1.773, 2.38, 3.115");
        }

        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.002735, 0.008827, 0.02046, 0.03858, 0.06401, 0.09747, 0.1396, 0.1911, 0.2524");
          values("0.1232, 0.1554, 0.2666, 0.4758, 0.8188, 1.313, 1.964, 2.79, 3.797, 4.988",\
                 "0.1236, 0.156, 0.2662, 0.476, 0.8194, 1.313, 1.966, 2.789, 3.791, 4.989",\
                 "0.1226, 0.1562, 0.2664, 0.4758, 0.8194, 1.313, 1.967, 2.789, 3.798, 4.998",\
                 "0.1238, 0.156, 0.2664, 0.4756, 0.82, 1.312, 1.967, 2.79, 3.797, 4.997",\
                 "0.123, 0.1564, 0.2664, 0.4758, 0.8198, 1.315, 1.966, 2.79, 3.795, 4.998",\
                 "0.123, 0.1566, 0.2668, 0.4754, 0.8198, 1.315, 1.966, 2.786, 3.795, 4.991",\
                 "0.1234, 0.1558, 0.2666, 0.476, 0.8194, 1.313, 1.966, 2.79, 3.792, 4.994",\
                 "0.1238, 0.156, 0.2666, 0.476, 0.8196, 1.314, 1.965, 2.791, 3.798, 4.996",\
                 "0.1226, 0.1556, 0.2658, 0.4758, 0.8194, 1.314, 1.967, 2.79, 3.797, 4.999",\
                 "0.1236, 0.156, 0.2668, 0.4758, 0.8194, 1.314, 1.965, 2.788, 3.792, 4.992");
        }
      }
    }
  }

