/*
 * 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__dlya_4) {
    area : 37.318400 ;

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

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

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

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

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

    pin(I) {
      capacitance : 0.002433 ;
      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 : 1.014 ;
      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.00799, 0.03252, 0.07938, 0.1524, 0.2548, 0.3896, 0.5594, 0.7666, 1.014");
          values("0.824, 0.787, 0.6979, 0.6111, 0.5585, 0.5238, 0.5004, 0.4838, 0.4716, 0.4628",\
                 "0.8233, 0.7861, 0.697, 0.6105, 0.5578, 0.5229, 0.4997, 0.4831, 0.4709, 0.462",\
                 "0.8241, 0.7869, 0.6979, 0.6109, 0.5585, 0.5239, 0.5004, 0.4837, 0.4716, 0.463",\
                 "0.8294, 0.7923, 0.703, 0.6163, 0.5636, 0.5294, 0.5058, 0.4894, 0.477, 0.4684",\
                 "0.8401, 0.803, 0.7137, 0.6268, 0.5737, 0.5397, 0.5164, 0.4995, 0.4878, 0.4788",\
                 "0.8554, 0.8184, 0.7291, 0.6427, 0.5899, 0.5555, 0.5321, 0.5156, 0.5035, 0.4945",\
                 "0.8773, 0.8399, 0.7506, 0.664, 0.611, 0.5775, 0.5541, 0.5377, 0.5255, 0.5166",\
                 "0.9049, 0.8676, 0.7784, 0.6916, 0.6395, 0.6051, 0.5817, 0.565, 0.5531, 0.5442",\
                 "0.9393, 0.902, 0.8127, 0.7263, 0.6735, 0.6399, 0.616, 0.5996, 0.5873, 0.5784",\
                 "0.9806, 0.9434, 0.8543, 0.7675, 0.715, 0.6808, 0.6576, 0.6409, 0.6286, 0.6196");
        }

        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.00799, 0.03252, 0.07938, 0.1524, 0.2548, 0.3896, 0.5594, 0.7666, 1.014");
          values("0.4664, 0.4434, 0.4149, 0.3945, 0.3813, 0.3767, 0.3764, 0.3789, 0.3775, 0.3836",\
                 "0.4666, 0.4438, 0.4147, 0.3943, 0.3796, 0.3745, 0.3737, 0.3748, 0.3775, 0.3836",\
                 "0.4672, 0.445, 0.4152, 0.394, 0.3806, 0.3754, 0.3764, 0.378, 0.3784, 0.3845",\
                 "0.4707, 0.4484, 0.4192, 0.3967, 0.3843, 0.379, 0.3796, 0.3807, 0.3838, 0.389",\
                 "0.4789, 0.4566, 0.4266, 0.4047, 0.3931, 0.3862, 0.385, 0.3892, 0.3896, 0.4011",\
                 "0.4909, 0.4684, 0.4383, 0.4182, 0.4067, 0.4001, 0.4007, 0.4032, 0.4027, 0.4101",\
                 "0.5085, 0.487, 0.4555, 0.4354, 0.4236, 0.4172, 0.4174, 0.418, 0.4189, 0.4227",\
                 "0.532, 0.5093, 0.4787, 0.4574, 0.4451, 0.4411, 0.4426, 0.4437, 0.4418, 0.4488",\
                 "0.5606, 0.5377, 0.5084, 0.4858, 0.4713, 0.4649, 0.4691, 0.4747, 0.4742, 0.4758",\
                 "0.5948, 0.5723, 0.5415, 0.5199, 0.5069, 0.5009, 0.497, 0.5022, 0.5107, 0.5154");
        }
      }

      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.00799, 0.03252, 0.07938, 0.1524, 0.2548, 0.3896, 0.5594, 0.7666, 1.014");
          values("1.043, 1.086, 1.195, 1.347, 1.536, 1.761, 2.03, 2.353, 2.739, 3.196",\
                 "1.05, 1.093, 1.202, 1.354, 1.543, 1.769, 2.038, 2.36, 2.746, 3.203",\
                 "1.089, 1.131, 1.241, 1.392, 1.581, 1.807, 2.076, 2.398, 2.784, 3.242",\
                 "1.171, 1.214, 1.323, 1.474, 1.663, 1.889, 2.158, 2.48, 2.866, 3.324",\
                 "1.287, 1.33, 1.44, 1.591, 1.78, 2.006, 2.275, 2.597, 2.983, 3.44",\
                 "1.433, 1.475, 1.584, 1.736, 1.925, 2.151, 2.42, 2.742, 3.128, 3.585",\
                 "1.609, 1.651, 1.761, 1.912, 2.101, 2.327, 2.595, 2.917, 3.303, 3.761",\
                 "1.814, 1.857, 1.966, 2.117, 2.306, 2.532, 2.801, 3.123, 3.509, 3.966",\
                 "2.05, 2.093, 2.202, 2.354, 2.543, 2.769, 3.037, 3.36, 3.746, 4.203",\
                 "2.318, 2.362, 2.471, 2.622, 2.811, 3.037, 3.305, 3.627, 4.014, 4.471");
        }

        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.00799, 0.03252, 0.07938, 0.1524, 0.2548, 0.3896, 0.5594, 0.7666, 1.014");
          values("0.7184, 0.7503, 0.8375, 0.9781, 1.184, 1.472, 1.853, 2.334, 2.92, 3.62",\
                 "0.7258, 0.7574, 0.8448, 0.9854, 1.191, 1.48, 1.86, 2.341, 2.929, 3.629",\
                 "0.7507, 0.7825, 0.8696, 1.01, 1.216, 1.504, 1.885, 2.365, 2.952, 3.651",\
                 "0.7758, 0.8077, 0.895, 1.035, 1.241, 1.53, 1.911, 2.392, 2.978, 3.68",\
                 "0.7863, 0.8182, 0.9051, 1.046, 1.252, 1.54, 1.921, 2.401, 2.988, 3.689",\
                 "0.7782, 0.8099, 0.8968, 1.038, 1.244, 1.532, 1.912, 2.394, 2.981, 3.682",\
                 "0.7485, 0.7807, 0.8674, 1.008, 1.214, 1.502, 1.882, 2.363, 2.949, 3.651",\
                 "0.6946, 0.7265, 0.8134, 0.9541, 1.16, 1.449, 1.829, 2.309, 2.895, 3.596",\
                 "0.6142, 0.6462, 0.7334, 0.8734, 1.079, 1.368, 1.748, 2.228, 2.815, 3.514",\
                 "0.5051, 0.537, 0.624, 0.7642, 0.9702, 1.259, 1.639, 2.119, 2.706, 3.405");
        }

        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.00799, 0.03252, 0.07938, 0.1524, 0.2548, 0.3896, 0.5594, 0.7666, 1.014");
          values("0.215, 0.2566, 0.361, 0.5088, 0.7116, 0.9792, 1.339, 1.817, 2.418, 3.156",\
                 "0.2154, 0.257, 0.361, 0.5098, 0.7118, 0.9788, 1.338, 1.817, 2.418, 3.153",\
                 "0.215, 0.2576, 0.3608, 0.5088, 0.712, 0.9796, 1.339, 1.816, 2.42, 3.153",\
                 "0.2154, 0.257, 0.3608, 0.5092, 0.7128, 0.979, 1.338, 1.817, 2.418, 3.154",\
                 "0.215, 0.2578, 0.3608, 0.5088, 0.7122, 0.9788, 1.338, 1.814, 2.418, 3.156",\
                 "0.2146, 0.2574, 0.3606, 0.509, 0.7114, 0.979, 1.339, 1.816, 2.418, 3.155",\
                 "0.2144, 0.256, 0.36, 0.5086, 0.7116, 0.9792, 1.339, 1.816, 2.419, 3.155",\
                 "0.2152, 0.2562, 0.3606, 0.5088, 0.7118, 0.9788, 1.338, 1.814, 2.42, 3.153",\
                 "0.215, 0.2572, 0.3612, 0.5096, 0.7116, 0.9788, 1.34, 1.816, 2.419, 3.156",\
                 "0.2144, 0.257, 0.3614, 0.5086, 0.712, 0.9794, 1.339, 1.815, 2.417, 3.154");
        }

        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.00799, 0.03252, 0.07938, 0.1524, 0.2548, 0.3896, 0.5594, 0.7666, 1.014");
          values("0.114, 0.1472, 0.2573, 0.4633, 0.804, 1.3, 1.958, 2.791, 3.803, 5.017",\
                 "0.1135, 0.1473, 0.2577, 0.4637, 0.8042, 1.299, 1.958, 2.791, 3.808, 5.013",\
                 "0.1135, 0.1469, 0.2572, 0.4628, 0.8036, 1.3, 1.958, 2.788, 3.804, 5.015",\
                 "0.1134, 0.1474, 0.2578, 0.4638, 0.8044, 1.299, 1.956, 2.79, 3.8, 5.013",\
                 "0.1136, 0.1466, 0.2574, 0.4636, 0.8044, 1.299, 1.958, 2.789, 3.8, 5.019",\
                 "0.1136, 0.1466, 0.2578, 0.4632, 0.8044, 1.299, 1.958, 2.789, 3.808, 5.019",\
                 "0.1132, 0.1464, 0.2576, 0.4634, 0.8038, 1.299, 1.955, 2.788, 3.799, 5.009",\
                 "0.1144, 0.1472, 0.2572, 0.464, 0.8034, 1.3, 1.956, 2.784, 3.8, 5.01",\
                 "0.1136, 0.1468, 0.258, 0.4632, 0.8028, 1.299, 1.957, 2.784, 3.796, 5.008",\
                 "0.1144, 0.1474, 0.258, 0.4634, 0.8044, 1.299, 1.956, 2.785, 3.797, 5.001");
        }
      }
    }
  }

