/*
 * 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__dlyd_1) {
    area : 76.204800 ;

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

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

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

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 0.4517 ;
      max_transition : 4.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.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          index_2("0.001, 0.004111, 0.01503, 0.03589, 0.06838, 0.114, 0.1739, 0.2495, 0.3418, 0.4517");
          values("0.3896, 0.3819, 0.3645, 0.3501, 0.3417, 0.3363, 0.3325, 0.33, 0.3282, 0.3269",\
                 "0.3891, 0.3814, 0.364, 0.3497, 0.3413, 0.3359, 0.3321, 0.3296, 0.3278, 0.3265",\
                 "0.3903, 0.3826, 0.3651, 0.3507, 0.3424, 0.3368, 0.3333, 0.3307, 0.3289, 0.3277",\
                 "0.3956, 0.388, 0.3706, 0.3561, 0.3478, 0.3423, 0.3387, 0.3361, 0.3344, 0.333",\
                 "0.406, 0.3983, 0.3809, 0.3665, 0.3583, 0.3527, 0.349, 0.3465, 0.3447, 0.3434",\
                 "0.4218, 0.4141, 0.3966, 0.3824, 0.3739, 0.3685, 0.3648, 0.3623, 0.3604, 0.3591",\
                 "0.4438, 0.4361, 0.4188, 0.4044, 0.396, 0.3905, 0.3869, 0.3843, 0.3825, 0.3812",\
                 "0.4724, 0.4646, 0.4473, 0.4329, 0.4245, 0.419, 0.4154, 0.4129, 0.4111, 0.4098",\
                 "0.5081, 0.5005, 0.4832, 0.4688, 0.4605, 0.455, 0.4513, 0.4488, 0.447, 0.4456",\
                 "0.5514, 0.5436, 0.5264, 0.5119, 0.5036, 0.4982, 0.4944, 0.4918, 0.4901, 0.4888");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          index_2("0.001, 0.004111, 0.01503, 0.03589, 0.06838, 0.114, 0.1739, 0.2495, 0.3418, 0.4517");
          values("0.3234, 0.3201, 0.3146, 0.3109, 0.3088, 0.3084, 0.3086, 0.31, 0.3102, 0.3121",\
                 "0.3235, 0.3198, 0.3142, 0.3106, 0.3086, 0.3082, 0.3084, 0.3097, 0.3098, 0.3111",\
                 "0.324, 0.3203, 0.3153, 0.3112, 0.3097, 0.3085, 0.3094, 0.3104, 0.3113, 0.3114",\
                 "0.3273, 0.3238, 0.3184, 0.3146, 0.3129, 0.3126, 0.3127, 0.3138, 0.3138, 0.3147",\
                 "0.335, 0.3314, 0.326, 0.3219, 0.3207, 0.3201, 0.3204, 0.3207, 0.3217, 0.3226",\
                 "0.3476, 0.3441, 0.3387, 0.3351, 0.3333, 0.3331, 0.3334, 0.3341, 0.335, 0.3348",\
                 "0.3656, 0.3621, 0.3566, 0.3527, 0.3509, 0.3505, 0.3509, 0.3524, 0.3523, 0.3532",\
                 "0.3893, 0.3858, 0.3803, 0.3761, 0.375, 0.3742, 0.3742, 0.3754, 0.3761, 0.3766",\
                 "0.4191, 0.4156, 0.4104, 0.4064, 0.4041, 0.4042, 0.4059, 0.4057, 0.406, 0.4065",\
                 "0.4551, 0.4515, 0.4461, 0.4417, 0.4399, 0.4388, 0.4401, 0.4428, 0.443, 0.4435");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          index_2("0.001, 0.004111, 0.01503, 0.03589, 0.06838, 0.114, 0.1739, 0.2495, 0.3418, 0.4517");
          values("1.641, 1.666, 1.735, 1.835, 1.962, 2.119, 2.312, 2.547, 2.832, 3.172",\
                 "1.647, 1.673, 1.741, 1.841, 1.968, 2.125, 2.318, 2.554, 2.839, 3.178",\
                 "1.68, 1.706, 1.775, 1.874, 2.001, 2.158, 2.351, 2.587, 2.872, 3.212",\
                 "1.752, 1.778, 1.847, 1.946, 2.074, 2.231, 2.423, 2.659, 2.944, 3.284",\
                 "1.86, 1.885, 1.954, 2.053, 2.181, 2.338, 2.53, 2.766, 3.051, 3.391",\
                 "1.995, 2.021, 2.09, 2.189, 2.316, 2.473, 2.666, 2.902, 3.187, 3.526",\
                 "2.162, 2.187, 2.256, 2.356, 2.483, 2.639, 2.832, 3.068, 3.353, 3.693",\
                 "2.357, 2.383, 2.452, 2.551, 2.679, 2.836, 3.028, 3.264, 3.549, 3.889",\
                 "2.582, 2.608, 2.676, 2.776, 2.904, 3.061, 3.253, 3.489, 3.774, 4.114",\
                 "2.837, 2.863, 2.932, 3.031, 3.159, 3.316, 3.509, 3.744, 4.03, 4.369");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          index_2("0.001, 0.004111, 0.01503, 0.03589, 0.06838, 0.114, 0.1739, 0.2495, 0.3418, 0.4517");
          values("1.56, 1.582, 1.649, 1.766, 1.946, 2.198, 2.531, 2.95, 3.462, 4.074",\
                 "1.566, 1.587, 1.655, 1.772, 1.952, 2.204, 2.537, 2.956, 3.468, 4.078",\
                 "1.583, 1.605, 1.672, 1.789, 1.969, 2.222, 2.554, 2.973, 3.486, 4.098",\
                 "1.598, 1.62, 1.687, 1.804, 1.984, 2.236, 2.569, 2.988, 3.501, 4.112",\
                 "1.598, 1.62, 1.687, 1.804, 1.984, 2.237, 2.569, 2.989, 3.501, 4.111",\
                 "1.582, 1.604, 1.671, 1.788, 1.968, 2.22, 2.553, 2.972, 3.485, 4.096",\
                 "1.545, 1.567, 1.634, 1.752, 1.931, 2.184, 2.516, 2.936, 3.448, 4.058",\
                 "1.484, 1.507, 1.574, 1.691, 1.871, 2.123, 2.456, 2.875, 3.387, 3.999",\
                 "1.399, 1.421, 1.488, 1.606, 1.785, 2.038, 2.37, 2.789, 3.301, 3.912",\
                 "1.286, 1.308, 1.375, 1.492, 1.672, 1.924, 2.257, 2.676, 3.188, 3.799");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          index_2("0.001, 0.004111, 0.01503, 0.03589, 0.06838, 0.114, 0.1739, 0.2495, 0.3418, 0.4517");
          values("0.1312, 0.1562, 0.2234, 0.3274, 0.4776, 0.6836, 0.967, 1.337, 1.802, 2.361",\
                 "0.1312, 0.1566, 0.223, 0.3274, 0.477, 0.6838, 0.9676, 1.336, 1.802, 2.36",\
                 "0.1312, 0.1562, 0.2232, 0.3274, 0.4772, 0.6836, 0.9672, 1.337, 1.801, 2.36",\
                 "0.1314, 0.1566, 0.223, 0.3272, 0.4776, 0.6844, 0.9668, 1.337, 1.802, 2.36",\
                 "0.1314, 0.1564, 0.223, 0.3274, 0.4772, 0.6844, 0.9666, 1.337, 1.801, 2.36",\
                 "0.1314, 0.1568, 0.2232, 0.3274, 0.4772, 0.6838, 0.9676, 1.336, 1.802, 2.36",\
                 "0.1312, 0.1568, 0.223, 0.3278, 0.477, 0.6834, 0.9662, 1.337, 1.801, 2.362",\
                 "0.131, 0.1562, 0.2232, 0.3276, 0.4772, 0.6834, 0.967, 1.337, 1.8, 2.36",\
                 "0.1312, 0.1562, 0.2234, 0.3268, 0.4764, 0.6838, 0.9662, 1.338, 1.802, 2.36",\
                 "0.1314, 0.156, 0.2232, 0.3274, 0.477, 0.6836, 0.9678, 1.336, 1.8, 2.359");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          index_2("0.001, 0.004111, 0.01503, 0.03589, 0.06838, 0.114, 0.1739, 0.2495, 0.3418, 0.4517");
          values("0.0846, 0.112, 0.2102, 0.3992, 0.7072, 1.146, 1.723, 2.454, 3.341, 4.407",\
                 "0.084, 0.1122, 0.21, 0.3998, 0.7072, 1.146, 1.723, 2.454, 3.342, 4.403",\
                 "0.085, 0.1128, 0.2102, 0.3992, 0.7072, 1.146, 1.724, 2.454, 3.346, 4.41",\
                 "0.0848, 0.1122, 0.2094, 0.3994, 0.707, 1.146, 1.724, 2.454, 3.345, 4.41",\
                 "0.0844, 0.1124, 0.21, 0.3992, 0.707, 1.145, 1.722, 2.452, 3.346, 4.402",\
                 "0.085, 0.113, 0.2098, 0.399, 0.707, 1.146, 1.725, 2.454, 3.346, 4.409",\
                 "0.0844, 0.1124, 0.2098, 0.399, 0.7072, 1.146, 1.723, 2.45, 3.346, 4.401",\
                 "0.085, 0.1122, 0.2098, 0.3992, 0.7072, 1.146, 1.722, 2.454, 3.345, 4.412",\
                 "0.0844, 0.1118, 0.2098, 0.3994, 0.7082, 1.145, 1.723, 2.452, 3.344, 4.4",\
                 "0.0838, 0.112, 0.2098, 0.3988, 0.7068, 1.146, 1.723, 2.455, 3.339, 4.4");
        }
      }
    }
  }

