/*
 * 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_16) {
    area : 74.636800 ;

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

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

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

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

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

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

    pin(ZN) {
      direction : output ;
      function : "(!I)" ;
      max_capacitance : 5.463 ;
      max_transition : 5.2 ;
      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.0387, 0.171, 0.4237, 0.8174, 1.37, 2.097, 3.012, 4.13, 5.463");
          values("-0.08598, -0.0722, -0.05894, -0.05373, -0.05157, -0.05094, -0.05038, -0.05009, -0.04995, -0.04984",\
                 "-0.09201, -0.08266, -0.06634, -0.05783, -0.05451, -0.05238, -0.05155, -0.05072, -0.05024, -0.04993",\
                 "-0.01345, -0.02853, -0.04013, -0.04502, -0.04674, -0.04755, -0.04808, -0.04863, -0.0487, -0.04887",\
                 "0.219, 0.1736, 0.09858, 0.04611, 0.01416, -0.005608, -0.0183, -0.02632, -0.0319, -0.03573",\
                 "0.6197, 0.5483, 0.4017, 0.2751, 0.1843, 0.1205, 0.07746, 0.04679, 0.02492, 0.009416",\
                 "1.2, 1.108, 0.8965, 0.6817, 0.509, 0.3777, 0.2812, 0.2088, 0.1553, 0.1153",\
                 "1.974, 1.866, 1.6, 1.292, 1.022, 0.804, 0.6321, 0.4991, 0.3964, 0.3146",\
                 "2.955, 2.833, 2.523, 2.129, 1.755, 1.434, 1.169, 0.9562, 0.7832, 0.6442",\
                 "4.159, 4.023, 3.673, 3.207, 2.725, 2.293, 1.918, 1.605, 1.347, 1.133",\
                 "5.595, 5.45, 5.064, 4.531, 3.947, 3.397, 2.907, 2.481, 2.12, 1.815");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.0387, 0.171, 0.4237, 0.8174, 1.37, 2.097, 3.012, 4.13, 5.463");
          values("0.619, 0.6336, 0.6479, 0.6555, 0.667, 0.678, 0.692, 0.6954, 0.7263, 0.7302",\
                 "0.6301, 0.6334, 0.6452, 0.6558, 0.6594, 0.6758, 0.6913, 0.6954, 0.7263, 0.7374",\
                 "0.7462, 0.7194, 0.6895, 0.6767, 0.6756, 0.6733, 0.6881, 0.7134, 0.7263, 0.7626",\
                 "1.019, 0.9621, 0.8686, 0.7969, 0.7498, 0.728, 0.7262, 0.7386, 0.7371, 0.7662",\
                 "1.466, 1.389, 1.218, 1.079, 0.9647, 0.8904, 0.8501, 0.8214, 0.8163, 0.8058",\
                 "2.104, 2.01, 1.781, 1.538, 1.357, 1.204, 1.094, 1.016, 0.9747, 0.9426",\
                 "2.95, 2.843, 2.565, 2.235, 1.944, 1.708, 1.514, 1.376, 1.252, 1.166",\
                 "4.021, 3.901, 3.584, 3.175, 2.762, 2.425, 2.149, 1.916, 1.709, 1.565",\
                 "5.333, 5.201, 4.848, 4.369, 3.852, 3.395, 3.012, 2.679, 2.393, 2.142",\
                 "6.898, 6.758, 6.371, 5.832, 5.225, 4.632, 4.119, 3.698, 3.3, 2.973");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.0387, 0.171, 0.4237, 0.8174, 1.37, 2.097, 3.012, 4.13, 5.463");
          values("0.03049, 0.0492, 0.1124, 0.2315, 0.4168, 0.6762, 1.018, 1.448, 1.971, 2.599",\
                 "0.03652, 0.05605, 0.1193, 0.2387, 0.4237, 0.6839, 1.025, 1.456, 1.98, 2.605",\
                 "0.04476, 0.07379, 0.1474, 0.2658, 0.4507, 0.71, 1.052, 1.481, 2.006, 2.632",\
                 "0.04873, 0.08833, 0.1851, 0.3222, 0.5053, 0.7634, 1.104, 1.533, 2.059, 2.683",\
                 "0.04574, 0.09666, 0.2182, 0.3859, 0.5945, 0.8507, 1.189, 1.617, 2.14, 2.766",\
                 "0.03471, 0.09704, 0.2447, 0.4436, 0.6887, 0.9762, 1.313, 1.739, 2.258, 2.882",\
                 "0.0154, 0.0883, 0.2629, 0.4942, 0.7753, 1.105, 1.479, 1.904, 2.421, 3.04",\
                 "-0.0142, 0.0706, 0.2707, 0.5372, 0.8561, 1.224, 1.645, 2.112, 2.632, 3.246",\
                 "-0.0536, 0.0428, 0.2693, 0.5704, 0.9277, 1.337, 1.8, 2.319, 2.885, 3.506",\
                 "-0.1038, 0.0032, 0.2566, 0.5923, 0.989, 1.442, 1.948, 2.513, 3.136, 3.807");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.0387, 0.171, 0.4237, 0.8174, 1.37, 2.097, 3.012, 4.13, 5.463");
          values("0.02758, 0.04833, 0.1185, 0.2513, 0.4579, 0.7469, 1.127, 1.608, 2.193, 2.889",\
                 "0.03698, 0.05786, 0.1278, 0.2605, 0.4669, 0.7557, 1.136, 1.617, 2.203, 2.9",\
                 "0.05978, 0.08918, 0.1646, 0.2958, 0.5012, 0.7905, 1.171, 1.648, 2.233, 2.932",\
                 "0.09011, 0.1308, 0.2286, 0.3687, 0.5713, 0.8584, 1.237, 1.715, 2.301, 2.999",\
                 "0.127, 0.1798, 0.3037, 0.4732, 0.6865, 0.9696, 1.345, 1.822, 2.405, 3.102",\
                 "0.171, 0.2364, 0.3882, 0.5898, 0.8378, 1.132, 1.504, 1.976, 2.557, 3.25",\
                 "0.2225, 0.3003, 0.481, 0.7182, 1.002, 1.335, 1.719, 2.186, 2.762, 3.452",\
                 "0.282, 0.3726, 0.5827, 0.8573, 1.18, 1.552, 1.979, 2.458, 3.027, 3.713",\
                 "0.3496, 0.4534, 0.6929, 1.005, 1.369, 1.784, 2.253, 2.779, 3.36, 4.038",\
                 "0.4261, 0.5434, 0.8128, 1.163, 1.571, 2.03, 2.542, 3.115, 3.745, 4.436");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.0387, 0.171, 0.4237, 0.8174, 1.37, 2.097, 3.012, 4.13, 5.463");
          values("0.02466, 0.05433, 0.1578, 0.356, 0.6649, 1.096, 1.664, 2.374, 3.249, 4.288",\
                 "0.03022, 0.0545, 0.158, 0.3567, 0.665, 1.093, 1.661, 2.379, 3.257, 4.3",\
                 "0.05146, 0.08264, 0.1664, 0.3557, 0.6647, 1.099, 1.662, 2.381, 3.254, 4.299",\
                 "0.08494, 0.1253, 0.2267, 0.3816, 0.6647, 1.097, 1.661, 2.379, 3.247, 4.288",\
                 "0.1265, 0.1797, 0.3016, 0.4802, 0.7168, 1.1, 1.665, 2.384, 3.263, 4.288",\
                 "0.1756, 0.2441, 0.3932, 0.594, 0.8598, 1.187, 1.679, 2.382, 3.256, 4.288",\
                 "0.233, 0.316, 0.4972, 0.727, 1.018, 1.376, 1.806, 2.419, 3.258, 4.3",\
                 "0.2984, 0.3972, 0.613, 0.8796, 1.196, 1.588, 2.046, 2.586, 3.325, 4.307",\
                 "0.373, 0.486, 0.7384, 1.045, 1.397, 1.815, 2.315, 2.879, 3.539, 4.411",\
                 "0.4588, 0.5852, 0.8728, 1.226, 1.624, 2.07, 2.6, 3.21, 3.885, 4.672");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.0387, 0.171, 0.4237, 0.8174, 1.37, 2.097, 3.012, 4.13, 5.463");
          values("0.03096, 0.06518, 0.1853, 0.4157, 0.7757, 1.28, 1.94, 2.779, 3.793, 5.016",\
                 "0.037, 0.06561, 0.186, 0.4163, 0.7748, 1.277, 1.94, 2.774, 3.792, 5.016",\
                 "0.05926, 0.09132, 0.1902, 0.4159, 0.7747, 1.278, 1.939, 2.779, 3.799, 5.006",\
                 "0.09346, 0.1351, 0.2429, 0.4283, 0.7743, 1.277, 1.94, 2.778, 3.796, 5.006",\
                 "0.1362, 0.1902, 0.318, 0.5097, 0.8, 1.276, 1.939, 2.771, 3.798, 5.007",\
                 "0.1846, 0.2536, 0.4098, 0.6228, 0.9108, 1.319, 1.94, 2.772, 3.789, 5.014",\
                 "0.244, 0.3262, 0.5154, 0.7574, 1.067, 1.463, 2.007, 2.776, 3.789, 5.003",\
                 "0.3096, 0.4076, 0.6284, 0.909, 1.244, 1.666, 2.182, 2.874, 3.803, 5.001",\
                 "0.3842, 0.4972, 0.7542, 1.079, 1.45, 1.89, 2.431, 3.076, 3.925, 5.028",\
                 "0.4704, 0.5984, 0.8876, 1.255, 1.676, 2.143, 2.709, 3.38, 4.165, 5.184");
        }
      }
    }
  }

