/*
 * 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__inv_12) {
    area : 73.382400 ;

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

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

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

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

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

    pin(I) {
      capacitance : 0.08012 ;
      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(ZN) {
      direction : output ;
      function : "(!I)" ;
      max_capacitance : 5.28 ;
      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.03744, 0.1653, 0.4096, 0.7902, 1.324, 2.027, 2.912, 3.992, 5.28");
          values("-0.1036, -0.09009, -0.07367, -0.06785, -0.06473, -0.06353, -0.06258, -0.0623, -0.0621, -0.06192",\
                 "-0.1059, -0.0954, -0.07959, -0.07088, -0.06683, -0.06484, -0.06359, -0.06287, -0.06242, -0.0621",\
                 "-0.0125, -0.02717, -0.04227, -0.05028, -0.05445, -0.05706, -0.0576, -0.05881, -0.05987, -0.06001",\
                 "0.2504, 0.205, 0.1248, 0.06656, 0.02762, 0.002436, -0.01484, -0.0264, -0.03463, -0.0405",\
                 "0.7033, 0.6322, 0.4784, 0.3401, 0.238, 0.1643, 0.1109, 0.07264, 0.04368, 0.02249",\
                 "1.356, 1.266, 1.05, 0.8179, 0.6261, 0.479, 0.3665, 0.2811, 0.2153, 0.1641",\
                 "2.232, 2.125, 1.854, 1.529, 1.233, 0.9908, 0.7974, 0.6432, 0.5214, 0.4238",\
                 "3.338, 3.219, 2.905, 2.494, 2.086, 1.734, 1.44, 1.198, 1, 0.8374",\
                 "4.698, 4.564, 4.211, 3.729, 3.213, 2.736, 2.33, 1.978, 1.687, 1.442",\
                 "6.32, 6.178, 5.786, 5.24, 4.626, 4.028, 3.484, 3.017, 2.613, 2.265");
        }

        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.03744, 0.1653, 0.4096, 0.7902, 1.324, 2.027, 2.912, 3.992, 5.28");
          values("0.7055, 0.7288, 0.7634, 0.7798, 0.7871, 0.7996, 0.8098, 0.829, 0.8759, 0.8591",\
                 "0.7184, 0.7243, 0.743, 0.7614, 0.7796, 0.7924, 0.8105, 0.829, 0.8615, 0.8663",\
                 "0.8561, 0.8325, 0.7995, 0.7884, 0.7832, 0.7989, 0.8127, 0.8254, 0.8507, 0.8591",\
                 "1.174, 1.121, 1.028, 0.9443, 0.8933, 0.876, 0.8681, 0.865, 0.8687, 0.8807",\
                 "1.696, 1.621, 1.452, 1.304, 1.173, 1.078, 1.02, 0.9838, 0.9731, 0.9419",\
                 "2.442, 2.348, 2.123, 1.881, 1.675, 1.487, 1.341, 1.25, 1.178, 1.14",\
                 "3.433, 3.324, 3.046, 2.718, 2.416, 2.146, 1.909, 1.729, 1.589, 1.475",\
                 "4.687, 4.565, 4.244, 3.834, 3.427, 3.064, 2.731, 2.453, 2.219, 2.007",\
                 "6.223, 6.09, 5.731, 5.245, 4.73, 4.261, 3.838, 3.45, 3.104, 2.796",\
                 "8.055, 7.912, 7.525, 6.965, 6.361, 5.767, 5.232, 4.746, 4.281, 3.869");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : negative_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.03744, 0.1653, 0.4096, 0.7902, 1.324, 2.027, 2.912, 3.992, 5.28");
          values("0.02172, 0.03173, 0.06549, 0.1289, 0.2275, 0.3657, 0.5477, 0.7771, 1.056, 1.39",\
                 "0.02531, 0.03774, 0.07172, 0.1353, 0.2338, 0.3722, 0.5543, 0.7836, 1.063, 1.396",\
                 "0.02591, 0.04511, 0.09247, 0.1589, 0.2572, 0.3953, 0.5773, 0.8057, 1.086, 1.42",\
                 "0.01657, 0.04365, 0.1087, 0.197, 0.3038, 0.441, 0.6221, 0.8502, 1.13, 1.463",\
                 "-0.00499, 0.02988, 0.114, 0.2258, 0.36, 0.5142, 0.6947, 0.9223, 1.2, 1.533",\
                 "-0.04051, 0.00201, 0.1053, 0.2419, 0.4033, 0.5888, 0.7952, 1.025, 1.302, 1.632",\
                 "-0.09154, -0.04026, 0.0816, 0.2428, 0.4336, 0.649, 0.8896, 1.153, 1.439, 1.768",\
                 "-0.1592, -0.0998, 0.041, 0.2269, 0.447, 0.6949, 0.9684, 1.269, 1.594, 1.941",\
                 "-0.2446, -0.1774, -0.0169, 0.194, 0.4432, 0.7231, 1.031, 1.367, 1.732, 2.122",\
                 "-0.349, -0.2742, -0.0942, 0.1419, 0.4203, 0.7327, 1.077, 1.449, 1.851, 2.283");
        }

        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.03744, 0.1653, 0.4096, 0.7902, 1.324, 2.027, 2.912, 3.992, 5.28");
          values("0.02854, 0.04694, 0.1083, 0.2226, 0.3994, 0.6477, 0.9733, 1.385, 1.887, 2.482",\
                 "0.03714, 0.05471, 0.1155, 0.23, 0.4074, 0.656, 0.9818, 1.393, 1.894, 2.492",\
                 "0.0618, 0.08472, 0.1473, 0.2596, 0.4359, 0.6836, 1.01, 1.421, 1.92, 2.521",\
                 "0.09962, 0.1303, 0.2078, 0.3244, 0.4972, 0.7422, 1.067, 1.477, 1.978, 2.576",\
                 "0.1501, 0.1901, 0.2856, 0.4223, 0.6001, 0.8406, 1.162, 1.57, 2.068, 2.663",\
                 "0.2144, 0.2635, 0.3805, 0.5386, 0.7409, 0.9868, 1.303, 1.705, 2.2, 2.794",\
                 "0.2937, 0.3526, 0.4913, 0.6756, 0.9011, 1.175, 1.496, 1.893, 2.382, 2.971",\
                 "0.389, 0.4573, 0.6186, 0.8314, 1.084, 1.384, 1.736, 2.137, 2.621, 3.204",\
                 "0.5022, 0.5795, 0.7641, 1.006, 1.29, 1.617, 1.999, 2.433, 2.92, 3.496",\
                 "0.6337, 0.7201, 0.9286, 1.2, 1.516, 1.875, 2.284, 2.753, 3.274, 3.853");
        }

        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.03744, 0.1653, 0.4096, 0.7902, 1.324, 2.027, 2.912, 3.992, 5.28");
          values("0.01518, 0.03091, 0.0858, 0.1906, 0.354, 0.5826, 0.8882, 1.263, 1.729, 2.278",\
                 "0.02171, 0.03463, 0.08602, 0.1911, 0.3545, 0.5838, 0.885, 1.264, 1.725, 2.278",\
                 "0.03858, 0.05748, 0.1066, 0.1924, 0.355, 0.5837, 0.8862, 1.265, 1.725, 2.276",\
                 "0.0648, 0.09118, 0.1531, 0.2433, 0.3695, 0.5847, 0.8861, 1.265, 1.727, 2.281",\
                 "0.0992, 0.134, 0.2131, 0.3195, 0.4565, 0.6272, 0.8916, 1.266, 1.728, 2.281",\
                 "0.1399, 0.1847, 0.2841, 0.411, 0.5664, 0.7556, 0.9772, 1.292, 1.732, 2.281",\
                 "0.1877, 0.2444, 0.365, 0.516, 0.6934, 0.904, 1.149, 1.428, 1.797, 2.295",\
                 "0.241, 0.3108, 0.455, 0.6338, 0.8374, 1.067, 1.338, 1.646, 1.984, 2.411",\
                 "0.3008, 0.383, 0.5546, 0.7614, 0.993, 1.252, 1.542, 1.877, 2.25, 2.653",\
                 "0.369, 0.4632, 0.6636, 0.8996, 1.163, 1.451, 1.768, 2.127, 2.529, 2.972");
        }

        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.03744, 0.1653, 0.4096, 0.7902, 1.324, 2.027, 2.912, 3.992, 5.28");
          values("0.02945, 0.05891, 0.1621, 0.3582, 0.6659, 1.097, 1.665, 2.38, 3.247, 4.294",\
                 "0.03339, 0.05895, 0.1618, 0.3584, 0.6657, 1.097, 1.662, 2.381, 3.247, 4.294",\
                 "0.04954, 0.07756, 0.1645, 0.359, 0.6651, 1.096, 1.662, 2.376, 3.253, 4.293",\
                 "0.07654, 0.1094, 0.2034, 0.3665, 0.6652, 1.096, 1.664, 2.376, 3.25, 4.285",\
                 "0.1107, 0.1519, 0.2557, 0.4261, 0.6818, 1.094, 1.66, 2.375, 3.252, 4.289",\
                 "0.149, 0.2018, 0.3241, 0.5068, 0.762, 1.125, 1.661, 2.374, 3.251, 4.281",\
                 "0.1948, 0.2598, 0.405, 0.602, 0.8766, 1.228, 1.705, 2.376, 3.243, 4.281",\
                 "0.2472, 0.3226, 0.4954, 0.7178, 1.002, 1.376, 1.831, 2.441, 3.251, 4.287",\
                 "0.306, 0.393, 0.5926, 0.8438, 1.15, 1.537, 2.018, 2.587, 3.335, 4.297",\
                 "0.3728, 0.47, 0.6974, 0.9822, 1.318, 1.715, 2.215, 2.807, 3.506, 4.403");
        }
      }
    }
  }

