/*
 * 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 : "3.0672e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "2.99682e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "3.0672e-05" ;
    }

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 0.8284 ;
      max_transition : 12 ;
      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.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.006711, 0.02676, 0.06504, 0.1247, 0.2084, 0.3185, 0.4572, 0.6266, 0.8284");
          values("0.06325, 0.06268, 0.06235, 0.06262, 0.0632, 0.06374, 0.06415, 0.06446, 0.06467, 0.06483",\
                 "0.06308, 0.0625, 0.06217, 0.06247, 0.06303, 0.06357, 0.06398, 0.06429, 0.06451, 0.06466",\
                 "0.06284, 0.0623, 0.06195, 0.06225, 0.06281, 0.06334, 0.06376, 0.06406, 0.06429, 0.06445",\
                 "0.06279, 0.06217, 0.06185, 0.06217, 0.06274, 0.06327, 0.06368, 0.06398, 0.0642, 0.06435",\
                 "0.06281, 0.06222, 0.0619, 0.06218, 0.06276, 0.06329, 0.06371, 0.06401, 0.06423, 0.06438",\
                 "0.06296, 0.06238, 0.06203, 0.06234, 0.0629, 0.06344, 0.06386, 0.06416, 0.06438, 0.06454",\
                 "0.06319, 0.06261, 0.0623, 0.06261, 0.06317, 0.06371, 0.06413, 0.06443, 0.06464, 0.0648",\
                 "0.06363, 0.06303, 0.06266, 0.06297, 0.06358, 0.06409, 0.06454, 0.06482, 0.06505, 0.06519",\
                 "0.06412, 0.06353, 0.06318, 0.06351, 0.06409, 0.06464, 0.06504, 0.06534, 0.06555, 0.06569",\
                 "0.06477, 0.06421, 0.06382, 0.06415, 0.06472, 0.06528, 0.06571, 0.066, 0.06621, 0.06628");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.006711, 0.02676, 0.06504, 0.1247, 0.2084, 0.3185, 0.4572, 0.6266, 0.8284");
          values("0.04923, 0.04949, 0.05013, 0.0511, 0.05213, 0.05334, 0.05383, 0.05485, 0.05747, 0.07904",\
                 "0.0492, 0.04943, 0.05005, 0.05104, 0.05214, 0.05332, 0.05408, 0.05436, 0.05751, 0.07813",\
                 "0.04905, 0.04927, 0.04987, 0.05092, 0.05198, 0.05301, 0.0539, 0.05495, 0.0576, 0.081",\
                 "0.04895, 0.04915, 0.04979, 0.0507, 0.05182, 0.05305, 0.05423, 0.05497, 0.05778, 0.0843",\
                 "0.04895, 0.04923, 0.04972, 0.0507, 0.05182, 0.05294, 0.05406, 0.05422, 0.05841, 0.08949",\
                 "0.04896, 0.04923, 0.04985, 0.05072, 0.05193, 0.05301, 0.05387, 0.05481, 0.05945, 0.09805",\
                 "0.04919, 0.0494, 0.05001, 0.05081, 0.05227, 0.05321, 0.05369, 0.05491, 0.06125, 0.1118",\
                 "0.04948, 0.04972, 0.05027, 0.05115, 0.05216, 0.05352, 0.05462, 0.05539, 0.06537, 0.1335",\
                 "0.04995, 0.05021, 0.05082, 0.05157, 0.05261, 0.05348, 0.05497, 0.05699, 0.07384, 0.1707",\
                 "0.05057, 0.0508, 0.0514, 0.0522, 0.0533, 0.05377, 0.05468, 0.05882, 0.09005, 0.2342");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.006711, 0.02676, 0.06504, 0.1247, 0.2084, 0.3185, 0.4572, 0.6266, 0.8284");
          values("2.879, 2.988, 3.25, 3.576, 3.945, 4.356, 4.822, 5.357, 5.976, 6.692",\
                 "2.904, 3.012, 3.275, 3.601, 3.969, 4.381, 4.847, 5.382, 6, 6.716",\
                 "3.016, 3.126, 3.388, 3.714, 4.082, 4.493, 4.959, 5.494, 6.113, 6.83",\
                 "3.252, 3.362, 3.624, 3.951, 4.318, 4.73, 5.196, 5.731, 6.349, 7.065",\
                 "3.609, 3.719, 3.981, 4.307, 4.676, 5.087, 5.553, 6.088, 6.706, 7.422",\
                 "4.027, 4.136, 4.398, 4.725, 5.093, 5.504, 5.97, 6.505, 7.124, 7.84",\
                 "4.484, 4.593, 4.856, 5.183, 5.551, 5.962, 6.428, 6.963, 7.581, 8.297",\
                 "4.983, 5.092, 5.354, 5.681, 6.049, 6.46, 6.926, 7.461, 8.079, 8.795",\
                 "5.529, 5.639, 5.901, 6.228, 6.595, 7.007, 7.474, 8.009, 8.627, 9.343",\
                 "6.131, 6.24, 6.503, 6.829, 7.197, 7.609, 8.075, 8.61, 9.228, 9.944");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.006711, 0.02676, 0.06504, 0.1247, 0.2084, 0.3185, 0.4572, 0.6266, 0.8284");
          values("1.635, 1.714, 1.929, 2.272, 2.778, 3.481, 4.404, 5.563, 6.983, 8.661",\
                 "1.662, 1.741, 1.956, 2.299, 2.806, 3.509, 4.43, 5.591, 7.004, 8.695",\
                 "1.752, 1.832, 2.046, 2.389, 2.896, 3.598, 4.522, 5.683, 7.101, 8.784",\
                 "1.866, 1.946, 2.16, 2.503, 3.01, 3.713, 4.636, 5.796, 7.213, 8.895",\
                 "1.956, 2.035, 2.25, 2.593, 3.099, 3.802, 4.725, 5.884, 7.304, 8.989",\
                 "2.01, 2.089, 2.305, 2.648, 3.155, 3.858, 4.779, 5.938, 7.358, 9.041",\
                 "2.026, 2.106, 2.32, 2.663, 3.17, 3.872, 4.794, 5.955, 7.369, 9.06",\
                 "1.996, 2.075, 2.29, 2.633, 3.14, 3.842, 4.764, 5.923, 7.337, 9.024",\
                 "1.918, 1.997, 2.212, 2.555, 3.062, 3.764, 4.685, 5.844, 7.258, 8.942",\
                 "1.788, 1.868, 2.082, 2.425, 2.933, 3.635, 4.557, 5.715, 7.129, 8.813");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.006711, 0.02676, 0.06504, 0.1247, 0.2084, 0.3185, 0.4572, 0.6266, 0.8284");
          values("0.5616, 0.6412, 0.8276, 1.086, 1.424, 1.862, 2.436, 3.172, 4.098, 5.238",\
                 "0.5614, 0.6412, 0.8272, 1.085, 1.424, 1.863, 2.436, 3.17, 4.097, 5.234",\
                 "0.5616, 0.6414, 0.8274, 1.085, 1.421, 1.863, 2.435, 3.168, 4.097, 5.236",\
                 "0.5616, 0.6408, 0.827, 1.086, 1.423, 1.863, 2.435, 3.174, 4.099, 5.235",\
                 "0.5618, 0.641, 0.8268, 1.085, 1.422, 1.863, 2.435, 3.17, 4.099, 5.231",\
                 "0.5618, 0.6412, 0.8268, 1.083, 1.424, 1.864, 2.438, 3.172, 4.097, 5.239",\
                 "0.5618, 0.641, 0.827, 1.085, 1.421, 1.864, 2.438, 3.172, 4.097, 5.238",\
                 "0.5618, 0.6414, 0.827, 1.083, 1.422, 1.862, 2.436, 3.174, 4.1, 5.238",\
                 "0.562, 0.64, 0.828, 1.084, 1.42, 1.862, 2.438, 3.174, 4.098, 5.232",\
                 "0.562, 0.642, 0.826, 1.084, 1.424, 1.864, 2.436, 3.17, 4.098, 5.232");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.006711, 0.02676, 0.06504, 0.1247, 0.2084, 0.3185, 0.4572, 0.6266, 0.8284");
          values("0.2788, 0.3558, 0.6106, 1.12, 1.954, 3.15, 4.72, 6.719, 9.156, 12.03",\
                 "0.279, 0.3556, 0.6114, 1.12, 1.955, 3.15, 4.729, 6.703, 9.142, 12.01",\
                 "0.279, 0.3554, 0.612, 1.12, 1.956, 3.149, 4.724, 6.721, 9.156, 12.04",\
                 "0.2798, 0.3556, 0.6112, 1.119, 1.955, 3.149, 4.725, 6.721, 9.153, 12.03",\
                 "0.2796, 0.3562, 0.6114, 1.121, 1.955, 3.15, 4.727, 6.707, 9.155, 12.04",\
                 "0.2786, 0.3558, 0.6108, 1.12, 1.954, 3.15, 4.729, 6.711, 9.153, 12.04",\
                 "0.2788, 0.3558, 0.612, 1.119, 1.952, 3.143, 4.721, 6.717, 9.122, 12.05",\
                 "0.2794, 0.356, 0.6122, 1.119, 1.955, 3.144, 4.714, 6.703, 9.125, 12.02",\
                 "0.279, 0.3566, 0.6102, 1.12, 1.955, 3.15, 4.715, 6.696, 9.118, 12.02",\
                 "0.2796, 0.356, 0.6118, 1.12, 1.952, 3.148, 4.72, 6.698, 9.114, 12");
        }
      }
    }
  }

