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

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

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

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

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

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

    pin(I) {
      capacitance : 0.002719 ;
      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 : 1.413 ;
      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.01075, 0.04496, 0.1103, 0.2121, 0.3549, 0.5429, 0.7796, 1.069, 1.413");
          values("0.6085, 0.5842, 0.5264, 0.4679, 0.4289, 0.4047, 0.3886, 0.377, 0.3686, 0.3615",\
                 "0.6082, 0.5837, 0.5258, 0.4675, 0.4284, 0.4045, 0.3881, 0.3767, 0.3683, 0.361",\
                 "0.608, 0.5835, 0.5258, 0.4673, 0.4284, 0.4044, 0.388, 0.3767, 0.368, 0.3607",\
                 "0.6096, 0.5852, 0.5275, 0.4689, 0.43, 0.406, 0.3897, 0.3782, 0.3694, 0.3617",\
                 "0.6133, 0.5889, 0.5311, 0.4726, 0.4337, 0.4097, 0.3932, 0.3818, 0.3728, 0.3643",\
                 "0.6192, 0.5948, 0.537, 0.4784, 0.4397, 0.4155, 0.3991, 0.3874, 0.3777, 0.3679",\
                 "0.6275, 0.603, 0.5453, 0.4867, 0.4478, 0.4236, 0.407, 0.3946, 0.3832, 0.3717",\
                 "0.6377, 0.6131, 0.5556, 0.4968, 0.4579, 0.4332, 0.4157, 0.4011, 0.387, 0.3747",\
                 "0.6469, 0.6225, 0.5645, 0.5054, 0.4659, 0.4399, 0.4183, 0.4, 0.3863, 0.3763",\
                 "0.6382, 0.6137, 0.5555, 0.4945, 0.4482, 0.4178, 0.3977, 0.3838, 0.3738, 0.3664");
        }

        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.01075, 0.04496, 0.1103, 0.2121, 0.3549, 0.5429, 0.7796, 1.069, 1.413");
          values("0.3614, 0.3469, 0.3294, 0.3186, 0.3132, 0.3114, 0.3157, 0.4026, 0.862, 1.996",\
                 "0.3614, 0.3467, 0.3291, 0.319, 0.3135, 0.3117, 0.3163, 0.4052, 0.874, 2.017",\
                 "0.3613, 0.3466, 0.3294, 0.3184, 0.3134, 0.3111, 0.3174, 0.417, 0.9137, 2.088",\
                 "0.362, 0.3473, 0.3297, 0.3196, 0.3143, 0.3125, 0.3204, 0.4365, 0.988, 2.208",\
                 "0.3644, 0.3497, 0.3322, 0.3219, 0.3162, 0.3151, 0.3258, 0.4712, 1.102, 2.38",\
                 "0.3687, 0.3541, 0.3367, 0.3264, 0.3204, 0.3194, 0.3374, 0.5309, 1.27, 2.604",\
                 "0.3753, 0.3607, 0.3433, 0.3327, 0.327, 0.3265, 0.3579, 0.6327, 1.51, 2.875",\
                 "0.3843, 0.3697, 0.3521, 0.3418, 0.3363, 0.3361, 0.3973, 0.8076, 1.835, 3.168",\
                 "0.3959, 0.3812, 0.3634, 0.3533, 0.3478, 0.3533, 0.4858, 1.101, 2.233, 3.414",\
                 "0.41, 0.3953, 0.3775, 0.3674, 0.3606, 0.3886, 0.6941, 1.546, 2.608, 3.493");
        }
      }

      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.01075, 0.04496, 0.1103, 0.2121, 0.3549, 0.5429, 0.7796, 1.069, 1.413");
          values("9.066, 9.227, 9.623, 10.15, 10.79, 11.51, 12.32, 13.22, 14.25, 15.42",\
                 "9.096, 9.256, 9.653, 10.18, 10.82, 11.54, 12.35, 13.25, 14.28, 15.45",\
                 "9.225, 9.385, 9.783, 10.31, 10.95, 11.67, 12.48, 13.38, 14.41, 15.58",\
                 "9.502, 9.662, 10.06, 10.59, 11.22, 11.94, 12.75, 13.66, 14.68, 15.85",\
                 "9.912, 10.07, 10.47, 11, 11.63, 12.36, 13.16, 14.07, 15.09, 16.26",\
                 "10.41, 10.57, 10.97, 11.5, 12.13, 12.86, 13.66, 14.57, 15.6, 16.77",\
                 "11.01, 11.17, 11.56, 12.09, 12.73, 13.45, 14.26, 15.16, 16.19, 17.36",\
                 "11.7, 11.86, 12.26, 12.79, 13.42, 14.15, 14.95, 15.86, 16.89, 18.05",\
                 "12.51, 12.67, 13.06, 13.59, 14.23, 14.95, 15.76, 16.66, 17.69, 18.86",\
                 "13.42, 13.58, 13.97, 14.51, 15.14, 15.86, 16.67, 17.58, 18.6, 19.77");
        }

        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.01075, 0.04496, 0.1103, 0.2121, 0.3549, 0.5429, 0.7796, 1.069, 1.413");
          values("7.664, 7.784, 8.105, 8.589, 9.251, 10.14, 11.31, 12.77, 14.56, 16.69",\
                 "7.691, 7.812, 8.132, 8.617, 9.279, 10.17, 11.33, 12.8, 14.59, 16.71",\
                 "7.776, 7.896, 8.218, 8.701, 9.364, 10.26, 11.42, 12.88, 14.67, 16.8",\
                 "7.867, 7.988, 8.309, 8.792, 9.455, 10.35, 11.51, 12.97, 14.76, 16.89",\
                 "7.908, 8.028, 8.349, 8.834, 9.496, 10.39, 11.55, 13.01, 14.8, 16.93",\
                 "7.887, 8.008, 8.329, 8.812, 9.474, 10.37, 11.53, 12.99, 14.78, 16.92",\
                 "7.8, 7.921, 8.242, 8.726, 9.388, 10.28, 11.44, 12.91, 14.7, 16.83",\
                 "7.638, 7.76, 8.081, 8.563, 9.226, 10.12, 11.28, 12.75, 14.53, 16.66",\
                 "7.393, 7.513, 7.834, 8.318, 8.98, 9.871, 11.03, 12.5, 14.29, 16.42",\
                 "7.054, 7.174, 7.495, 7.98, 8.641, 9.532, 10.7, 12.16, 13.95, 16.08");
        }

        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.01075, 0.04496, 0.1103, 0.2121, 0.3549, 0.5429, 0.7796, 1.069, 1.413");
          values("0.841, 0.9904, 1.36, 1.848, 2.462, 3.214, 4.118, 5.264, 6.688, 8.444",\
                 "0.841, 0.9904, 1.359, 1.848, 2.46, 3.216, 4.118, 5.26, 6.694, 8.448",\
                 "0.8412, 0.9904, 1.36, 1.85, 2.466, 3.216, 4.118, 5.264, 6.686, 8.44",\
                 "0.84, 0.99, 1.36, 1.848, 2.464, 3.216, 4.12, 5.264, 6.686, 8.442",\
                 "0.842, 0.99, 1.36, 1.846, 2.462, 3.216, 4.118, 5.26, 6.688, 8.442",\
                 "0.842, 0.992, 1.36, 1.848, 2.462, 3.212, 4.122, 5.264, 6.69, 8.44",\
                 "0.84, 0.992, 1.36, 1.848, 2.464, 3.214, 4.12, 5.26, 6.686, 8.448",\
                 "0.842, 0.992, 1.36, 1.85, 2.462, 3.216, 4.118, 5.264, 6.69, 8.44",\
                 "0.842, 0.992, 1.358, 1.846, 2.464, 3.214, 4.118, 5.258, 6.692, 8.446",\
                 "0.84, 0.992, 1.36, 1.846, 2.466, 3.214, 4.122, 5.264, 6.694, 8.442");
        }

        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.01075, 0.04496, 0.1103, 0.2121, 0.3549, 0.5429, 0.7796, 1.069, 1.413");
          values("0.3614, 0.4888, 0.8772, 1.53, 2.56, 4.071, 6.097, 8.682, 11.84, 15.6",\
                 "0.3626, 0.4886, 0.8776, 1.529, 2.557, 4.068, 6.104, 8.69, 11.84, 15.62",\
                 "0.3616, 0.4884, 0.877, 1.53, 2.558, 4.066, 6.098, 8.688, 11.85, 15.6",\
                 "0.3614, 0.4884, 0.88, 1.527, 2.555, 4.068, 6.098, 8.678, 11.85, 15.62",\
                 "0.3628, 0.4888, 0.8772, 1.529, 2.556, 4.068, 6.098, 8.694, 11.83, 15.61",\
                 "0.362, 0.488, 0.878, 1.528, 2.556, 4.07, 6.108, 8.696, 11.83, 15.6",\
                 "0.362, 0.488, 0.88, 1.526, 2.558, 4.068, 6.098, 8.688, 11.83, 15.61",\
                 "0.362, 0.488, 0.88, 1.532, 2.558, 4.068, 6.098, 8.686, 11.83, 15.59",\
                 "0.362, 0.488, 0.88, 1.528, 2.556, 4.066, 6.098, 8.686, 11.85, 15.59",\
                 "0.362, 0.49, 0.88, 1.53, 2.556, 4.062, 6.096, 8.676, 11.84, 15.58");
        }
      }
    }
  }

