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

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

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

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

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

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

    pin(I) {
      capacitance : 0.06523 ;
      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 : 4.331 ;
      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.03089, 0.1358, 0.3362, 0.6483, 1.086, 1.663, 2.389, 3.275, 4.331");
          values("-0.08721, -0.07537, -0.06246, -0.05711, -0.05473, -0.05368, -0.05252, -0.05213, -0.05196, -0.05182",\
                 "-0.09577, -0.08607, -0.07018, -0.06091, -0.05706, -0.05509, -0.05349, -0.0529, -0.05244, -0.05213",\
                 "-0.0312, -0.03908, -0.0473, -0.04985, -0.05078, -0.05074, -0.05116, -0.05113, -0.05128, -0.05178",\
                 "0.1907, 0.1537, 0.08834, 0.04091, 0.01075, -0.008525, -0.02084, -0.02888, -0.0343, -0.0381",\
                 "0.5862, 0.5235, 0.3903, 0.27, 0.1824, 0.1201, 0.07665, 0.04603, 0.02382, 0.007934",\
                 "1.164, 1.082, 0.8876, 0.679, 0.5096, 0.3805, 0.2839, 0.212, 0.1576, 0.1166",\
                 "1.937, 1.841, 1.593, 1.298, 1.031, 0.814, 0.6427, 0.508, 0.4036, 0.3214",\
                 "2.918, 2.809, 2.519, 2.144, 1.773, 1.454, 1.19, 0.9738, 0.8, 0.6593",\
                 "4.122, 4.001, 3.674, 3.23, 2.76, 2.324, 1.953, 1.638, 1.375, 1.16",\
                 "5.559, 5.429, 5.072, 4.567, 4, 3.451, 2.957, 2.53, 2.167, 1.856");
        }

        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.03089, 0.1358, 0.3362, 0.6483, 1.086, 1.663, 2.389, 3.275, 4.331");
          values("0.6413, 0.6556, 0.6721, 0.6765, 0.6791, 0.6882, 0.6977, 0.7074, 0.7283, 0.7238",\
                 "0.6477, 0.6535, 0.6677, 0.6779, 0.6776, 0.6915, 0.697, 0.7096, 0.7247, 0.7346",\
                 "0.7564, 0.7346, 0.7113, 0.6988, 0.6946, 0.6997, 0.7035, 0.7099, 0.7211, 0.7418",\
                 "1.019, 0.9706, 0.8835, 0.8191, 0.7774, 0.7566, 0.7459, 0.742, 0.7463, 0.7706",\
                 "1.456, 1.386, 1.231, 1.095, 0.9919, 0.9165, 0.8705, 0.8442, 0.8219, 0.8246",\
                 "2.079, 1.996, 1.786, 1.559, 1.38, 1.231, 1.12, 1.043, 0.9875, 0.947",\
                 "2.909, 2.814, 2.557, 2.246, 1.962, 1.743, 1.552, 1.392, 1.283, 1.195",\
                 "3.96, 3.852, 3.562, 3.177, 2.787, 2.454, 2.189, 1.954, 1.758, 1.609",\
                 "5.245, 5.127, 4.804, 4.358, 3.87, 3.418, 3.042, 2.721, 2.438, 2.203",\
                 "6.782, 6.656, 6.303, 5.801, 5.226, 4.662, 4.155, 3.74, 3.349, 3.027");
        }
      }

      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.03089, 0.1358, 0.3362, 0.6483, 1.086, 1.663, 2.389, 3.275, 4.331");
          values("0.03967, 0.05877, 0.1233, 0.2448, 0.4334, 0.6965, 1.046, 1.482, 2.019, 2.653",\
                 "0.0458, 0.06488, 0.1295, 0.2513, 0.4397, 0.7039, 1.052, 1.49, 2.025, 2.662",\
                 "0.05598, 0.08357, 0.1559, 0.2763, 0.4643, 0.7289, 1.077, 1.513, 2.047, 2.683",\
                 "0.06132, 0.09915, 0.1945, 0.3305, 0.5164, 0.7787, 1.125, 1.561, 2.095, 2.733",\
                 "0.0602, 0.1086, 0.2285, 0.3949, 0.6025, 0.8621, 1.205, 1.641, 2.174, 2.809",\
                 "0.05283, 0.1108, 0.2551, 0.4538, 0.6968, 0.9842, 1.325, 1.756, 2.286, 2.917",\
                 "0.0382, 0.1057, 0.274, 0.5054, 0.7859, 1.112, 1.487, 1.916, 2.441, 3.07",\
                 "0.0151, 0.093, 0.2844, 0.5478, 0.8668, 1.234, 1.652, 2.119, 2.644, 3.269",\
                 "-0.0163, 0.0711, 0.2853, 0.5818, 0.9386, 1.349, 1.81, 2.325, 2.892, 3.518",\
                 "-0.056, 0.0399, 0.2773, 0.6038, 1, 1.454, 1.961, 2.522, 3.14, 3.812");
        }

        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.03089, 0.1358, 0.3362, 0.6483, 1.086, 1.663, 2.389, 3.275, 4.331");
          values("0.03186, 0.05167, 0.118, 0.2428, 0.4365, 0.7089, 1.067, 1.517, 2.067, 2.721",\
                 "0.0412, 0.06058, 0.1266, 0.2516, 0.4455, 0.7174, 1.076, 1.525, 2.074, 2.733",\
                 "0.0635, 0.09115, 0.1626, 0.2857, 0.4792, 0.7502, 1.108, 1.558, 2.109, 2.762",\
                 "0.09183, 0.13, 0.2241, 0.3574, 0.5472, 0.8167, 1.173, 1.622, 2.172, 2.827",\
                 "0.1251, 0.1742, 0.294, 0.4575, 0.6609, 0.9261, 1.279, 1.725, 2.274, 2.928",\
                 "0.1635, 0.2236, 0.3707, 0.5673, 0.8054, 1.086, 1.435, 1.878, 2.422, 3.072",\
                 "0.2072, 0.2789, 0.4531, 0.6848, 0.9611, 1.281, 1.647, 2.085, 2.625, 3.271",\
                 "0.2567, 0.3402, 0.541, 0.8093, 1.126, 1.487, 1.895, 2.353, 2.888, 3.53",\
                 "0.3123, 0.407, 0.6351, 0.9401, 1.298, 1.704, 2.156, 2.659, 3.214, 3.852",\
                 "0.3751, 0.4808, 0.7376, 1.077, 1.479, 1.93, 2.429, 2.978, 3.583, 4.241");
        }

        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.03089, 0.1358, 0.3362, 0.6483, 1.086, 1.663, 2.389, 3.275, 4.331");
          values("0.03151, 0.06256, 0.1714, 0.3799, 0.704, 1.158, 1.76, 2.512, 3.44, 4.534",\
                 "0.03355, 0.06248, 0.1714, 0.3802, 0.7042, 1.161, 1.758, 2.513, 3.435, 4.541",\
                 "0.0579, 0.08874, 0.1783, 0.3794, 0.7032, 1.161, 1.759, 2.51, 3.429, 4.527",\
                 "0.09768, 0.1378, 0.2386, 0.4033, 0.7034, 1.158, 1.758, 2.51, 3.436, 4.536",\
                 "0.1499, 0.2025, 0.3252, 0.5027, 0.754, 1.163, 1.758, 2.509, 3.435, 4.53",\
                 "0.2144, 0.2807, 0.4311, 0.632, 0.8966, 1.247, 1.773, 2.512, 3.429, 4.533",\
                 "0.2898, 0.3716, 0.5542, 0.7868, 1.075, 1.438, 1.895, 2.548, 3.429, 4.528",\
                 "0.3746, 0.4752, 0.6918, 0.9624, 1.282, 1.664, 2.133, 2.712, 3.498, 4.535",\
                 "0.475, 0.5888, 0.8434, 1.159, 1.517, 1.927, 2.42, 3, 3.709, 4.645",\
                 "0.5876, 0.715, 1.008, 1.372, 1.771, 2.222, 2.74, 3.349, 4.049, 4.899");
        }

        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.03089, 0.1358, 0.3362, 0.6483, 1.086, 1.663, 2.389, 3.275, 4.331");
          values("0.03915, 0.07328, 0.1928, 0.4194, 0.7738, 1.27, 1.925, 2.747, 3.761, 4.955",\
                 "0.04396, 0.07321, 0.193, 0.4205, 0.7738, 1.271, 1.925, 2.757, 3.767, 4.954",\
                 "0.0695, 0.1007, 0.1974, 0.4191, 0.7727, 1.274, 1.924, 2.745, 3.753, 4.97",\
                 "0.1091, 0.1498, 0.2536, 0.4357, 0.7733, 1.271, 1.923, 2.748, 3.754, 4.963",\
                 "0.1602, 0.2126, 0.3378, 0.5243, 0.8078, 1.271, 1.924, 2.756, 3.751, 4.962",\
                 "0.2221, 0.2886, 0.442, 0.6492, 0.928, 1.328, 1.929, 2.749, 3.753, 4.953",\
                 "0.295, 0.375, 0.5596, 0.8026, 1.099, 1.484, 2.014, 2.762, 3.751, 4.951",\
                 "0.3804, 0.4734, 0.691, 0.9716, 1.301, 1.705, 2.206, 2.878, 3.781, 4.955",\
                 "0.4786, 0.5872, 0.8336, 1.159, 1.531, 1.958, 2.476, 3.108, 3.939, 5.006",\
                 "0.5922, 0.709, 0.991, 1.36, 1.777, 2.247, 2.787, 3.429, 4.2, 5.199");
        }
      }
    }
  }

