/*
 * 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__clkinv_12) {
    area : 57.075200 ;

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

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

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

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

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

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

    pin(ZN) {
      direction : output ;
      function : "(!I)" ;
      max_capacitance : 4.232 ;
      max_transition : 11 ;
      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.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.03021, 0.1327, 0.3285, 0.6335, 1.061, 1.625, 2.334, 3.2, 4.232");
          values("-0.0332, -0.02818, -0.02499, -0.0241, -0.02365, -0.02346, -0.02339, -0.02329, -0.02327, -0.02324",\
                 "-0.04686, -0.03901, -0.03019, -0.02652, -0.02499, -0.02424, -0.02384, -0.02363, -0.02349, -0.02339",\
                 "-0.05159, -0.04824, -0.03905, -0.03221, -0.0285, -0.0266, -0.02555, -0.02478, -0.02432, -0.02403",\
                 "-0.02887, -0.03335, -0.03539, -0.03294, -0.02994, -0.02781, -0.02648, -0.02558, -0.02501, -0.02457",\
                 "0.02193, 0.009429, -0.008828, -0.01834, -0.02192, -0.0233, -0.02338, -0.02358, -0.02348, -0.02352",\
                 "0.1003, 0.08076, 0.04599, 0.01907, 0.003071, -0.00617, -0.01142, -0.0148, -0.01683, -0.01841",\
                 "0.2086, 0.1827, 0.1305, 0.08404, 0.05148, 0.02946, 0.01497, 0.005125, -0.001405, -0.006243",\
                 "0.348, 0.3165, 0.2485, 0.1812, 0.1281, 0.08875, 0.06145, 0.04137, 0.02739, 0.01687",\
                 "0.5203, 0.4834, 0.4006, 0.312, 0.2372, 0.1779, 0.1324, 0.0987, 0.07368, 0.05461",\
                 "0.7278, 0.6862, 0.5893, 0.4799, 0.3804, 0.2973, 0.2332, 0.1822, 0.1424, 0.1111");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.03021, 0.1327, 0.3285, 0.6335, 1.061, 1.625, 2.334, 3.2, 4.232");
          values("0.3215, 0.3273, 0.3321, 0.3363, 0.3389, 0.3447, 0.3534, 0.3557, 0.3678, 0.474",\
                 "0.3102, 0.3174, 0.3267, 0.3318, 0.338, 0.3447, 0.3489, 0.3638, 0.3742, 0.4821",\
                 "0.3166, 0.3163, 0.3201, 0.3255, 0.3335, 0.3408, 0.3507, 0.3583, 0.3784, 0.4818",\
                 "0.3491, 0.3405, 0.333, 0.3291, 0.3332, 0.3384, 0.3459, 0.3589, 0.3726, 0.5013",\
                 "0.4084, 0.392, 0.3648, 0.3525, 0.3437, 0.3462, 0.3525, 0.3592, 0.3746, 0.5351",\
                 "0.4965, 0.4735, 0.4304, 0.399, 0.3803, 0.3666, 0.3681, 0.367, 0.3835, 0.6046",\
                 "0.616, 0.5856, 0.5262, 0.4716, 0.4376, 0.4152, 0.3954, 0.387, 0.4265, 0.7666",\
                 "0.7696, 0.7328, 0.6556, 0.5814, 0.5192, 0.4878, 0.4545, 0.4356, 0.4967, 1.047",\
                 "0.9592, 0.9167, 0.8219, 0.7281, 0.6437, 0.5829, 0.5422, 0.514, 0.6524, 1.733",\
                 "1.187, 1.139, 1.029, 0.9117, 0.8069, 0.714, 0.6548, 0.6462, 1.083, 3.251");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.03021, 0.1327, 0.3285, 0.6335, 1.061, 1.625, 2.334, 3.2, 4.232");
          values("0.06571, 0.108, 0.2513, 0.5233, 0.9465, 1.541, 2.325, 3.307, 4.514, 5.944",\
                 "0.08405, 0.1271, 0.2722, 0.5451, 0.9692, 1.564, 2.347, 3.333, 4.535, 5.969",\
                 "0.1174, 0.1867, 0.3488, 0.6225, 1.047, 1.642, 2.425, 3.408, 4.613, 6.049",\
                 "0.1358, 0.2344, 0.4699, 0.7741, 1.198, 1.792, 2.574, 3.56, 4.766, 6.199",\
                 "0.1409, 0.2668, 0.5723, 0.9744, 1.436, 2.03, 2.812, 3.794, 4.998, 6.431",\
                 "0.1293, 0.2842, 0.654, 1.153, 1.73, 2.366, 3.147, 4.129, 5.332, 6.764",\
                 "0.0986, 0.2831, 0.7179, 1.306, 2, 2.764, 3.59, 4.572, 5.773, 7.2",\
                 "0.0477, 0.2615, 0.7656, 1.437, 2.241, 3.138, 4.1, 5.131, 6.328, 7.756",\
                 "-0.0253, 0.2188, 0.7926, 1.548, 2.456, 3.479, 4.588, 5.764, 7.013, 8.441",\
                 "-0.1233, 0.1535, 0.7948, 1.64, 2.641, 3.79, 5.042, 6.376, 7.776, 9.256");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.03021, 0.1327, 0.3285, 0.6335, 1.061, 1.625, 2.334, 3.2, 4.232");
          values("0.05822, 0.1035, 0.2575, 0.5499, 1.004, 1.642, 2.483, 3.537, 4.833, 6.363",\
                 "0.08262, 0.1283, 0.2841, 0.5766, 1.032, 1.671, 2.51, 3.569, 4.856, 6.401",\
                 "0.146, 0.2153, 0.3804, 0.6733, 1.129, 1.768, 2.609, 3.666, 4.958, 6.497",\
                 "0.2244, 0.3228, 0.5555, 0.8627, 1.318, 1.956, 2.796, 3.853, 5.145, 6.681",\
                 "0.3205, 0.4479, 0.7514, 1.147, 1.614, 2.251, 3.09, 4.148, 5.439, 6.975",\
                 "0.4343, 0.5929, 0.9637, 1.458, 2.022, 2.669, 3.505, 4.56, 5.851, 7.389",\
                 "0.5675, 0.758, 1.198, 1.783, 2.467, 3.212, 4.056, 5.111, 6.399, 7.938",\
                 "0.7213, 0.9437, 1.456, 2.129, 2.926, 3.807, 4.745, 5.804, 7.089, 8.627",\
                 "0.8953, 1.153, 1.74, 2.501, 3.405, 4.417, 5.503, 6.648, 7.939, 9.47",\
                 "1.093, 1.384, 2.048, 2.903, 3.907, 5.046, 6.277, 7.581, 8.946, 10.48");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.03021, 0.1327, 0.3285, 0.6335, 1.061, 1.625, 2.334, 3.2, 4.232");
          values("0.05661, 0.1242, 0.3588, 0.8092, 1.511, 2.489, 3.778, 5.411, 7.388, 9.757",\
                 "0.0589, 0.1238, 0.3593, 0.8091, 1.508, 2.489, 3.776, 5.408, 7.384, 9.764",\
                 "0.114, 0.1794, 0.3644, 0.8085, 1.507, 2.49, 3.775, 5.41, 7.396, 9.763",\
                 "0.1737, 0.2733, 0.4952, 0.8324, 1.509, 2.489, 3.78, 5.409, 7.391, 9.763",\
                 "0.2454, 0.369, 0.671, 1.043, 1.564, 2.494, 3.79, 5.406, 7.396, 9.763",\
                 "0.3258, 0.4784, 0.847, 1.327, 1.855, 2.591, 3.792, 5.419, 7.405, 9.763",\
                 "0.4158, 0.5994, 1.029, 1.613, 2.262, 2.964, 3.944, 5.425, 7.406, 9.763",\
                 "0.5154, 0.7296, 1.226, 1.896, 2.678, 3.505, 4.4, 5.645, 7.439, 9.766",\
                 "0.625, 0.8708, 1.438, 2.186, 3.091, 4.06, 5.083, 6.2, 7.724, 9.84",\
                 "0.7436, 1.022, 1.665, 2.493, 3.5, 4.624, 5.786, 7.006, 8.366, 10.2");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.03021, 0.1327, 0.3285, 0.6335, 1.061, 1.625, 2.334, 3.2, 4.232");
          values("0.06448, 0.1389, 0.4009, 0.9014, 1.68, 2.771, 4.219, 6.021, 8.244, 10.86",\
                 "0.06802, 0.139, 0.4011, 0.9002, 1.683, 2.778, 4.212, 6.034, 8.229, 10.9",\
                 "0.1222, 0.1893, 0.4018, 0.9008, 1.681, 2.771, 4.218, 6.024, 8.25, 10.88",\
                 "0.1853, 0.2831, 0.505, 0.9076, 1.679, 2.769, 4.211, 6.029, 8.236, 10.86",\
                 "0.26, 0.3812, 0.682, 1.058, 1.696, 2.772, 4.212, 6.027, 8.235, 10.86",\
                 "0.345, 0.4946, 0.8608, 1.34, 1.892, 2.799, 4.205, 6.023, 8.231, 10.86",\
                 "0.4402, 0.6196, 1.044, 1.63, 2.276, 3.042, 4.259, 6.018, 8.226, 10.87",\
                 "0.5462, 0.757, 1.248, 1.917, 2.696, 3.52, 4.544, 6.087, 8.224, 10.86",\
                 "0.6642, 0.9042, 1.467, 2.212, 3.116, 4.08, 5.106, 6.424, 8.332, 10.87",\
                 "0.7914, 1.067, 1.699, 2.52, 3.529, 4.652, 5.81, 7.056, 8.712, 10.99");
        }
      }
    }
  }

