/*
 * 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.00624096" ;
    }

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

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

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

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

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

    pin(ZN) {
      direction : output ;
      function : "(!I)" ;
      max_capacitance : 3.858 ;
      max_transition : 8.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.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
          index_2("0.001, 0.02762, 0.1211, 0.2995, 0.5776, 0.9677, 1.481, 2.128, 2.917, 3.858");
          values("-0.0142, -0.01162, -0.009391, -0.008637, -0.008444, -0.008221, -0.008186, -0.008137, -0.008123, -0.008089",\
                 "-0.02042, -0.01702, -0.01251, -0.01023, -0.00932, -0.008841, -0.008566, -0.008436, -0.00833, -0.008257",\
                 "-0.02191, -0.02009, -0.01604, -0.01282, -0.01092, -0.009954, -0.009378, -0.008992, -0.008809, -0.008522",\
                 "-0.003871, -0.006641, -0.009295, -0.009617, -0.00925, -0.008892, -0.008725, -0.008536, -0.008463, -0.008435",\
                 "0.03722, 0.02935, 0.01605, 0.00688, 0.001628, -0.001465, -0.003467, -0.004609, -0.005527, -0.00612",\
                 "0.1016, 0.08949, 0.06443, 0.04276, 0.02786, 0.01789, 0.01126, 0.006515, 0.003227, 0.0008291",\
                 "0.1906, 0.1745, 0.1385, 0.1023, 0.07455, 0.05399, 0.03952, 0.02897, 0.02124, 0.01523",\
                 "0.3049, 0.2861, 0.2399, 0.1888, 0.1456, 0.1116, 0.08598, 0.06654, 0.05179, 0.04088",\
                 "0.4464, 0.425, 0.37, 0.3041, 0.2438, 0.1941, 0.155, 0.1239, 0.09971, 0.08087",\
                 "0.6161, 0.5923, 0.5295, 0.45, 0.3723, 0.305, 0.2493, 0.2043, 0.1687, 0.1393");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
          index_2("0.001, 0.02762, 0.1211, 0.2995, 0.5776, 0.9677, 1.481, 2.128, 2.917, 3.858");
          values("0.1897, 0.1932, 0.1974, 0.199, 0.1989, 0.2002, 0.2054, 0.2079, 0.2151, 0.2288",\
                 "0.1836, 0.1874, 0.1933, 0.196, 0.1989, 0.1997, 0.2058, 0.2041, 0.2078, 0.2286",\
                 "0.1891, 0.1887, 0.1909, 0.1941, 0.1959, 0.2004, 0.2032, 0.2083, 0.2119, 0.2248",\
                 "0.215, 0.2091, 0.2024, 0.1992, 0.1993, 0.201, 0.2023, 0.2081, 0.2107, 0.2253",\
                 "0.2631, 0.2523, 0.233, 0.2211, 0.2131, 0.2103, 0.211, 0.212, 0.2157, 0.2361",\
                 "0.3352, 0.3197, 0.2886, 0.2623, 0.2456, 0.2337, 0.2272, 0.2223, 0.2236, 0.2442",\
                 "0.4332, 0.4139, 0.371, 0.3284, 0.2977, 0.2767, 0.2605, 0.2497, 0.2459, 0.2688",\
                 "0.5588, 0.5355, 0.4817, 0.4243, 0.3753, 0.3404, 0.3145, 0.2947, 0.2796, 0.3149",\
                 "0.7143, 0.6874, 0.6237, 0.5491, 0.4818, 0.4301, 0.3937, 0.3592, 0.3427, 0.3922",\
                 "0.8999, 0.8706, 0.7969, 0.7071, 0.623, 0.5503, 0.4925, 0.4536, 0.4317, 0.5449");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
          index_2("0.001, 0.02762, 0.1211, 0.2995, 0.5776, 0.9677, 1.481, 2.128, 2.917, 3.858");
          values("0.06065, 0.08674, 0.1746, 0.3403, 0.5981, 0.9608, 1.435, 2.037, 2.765, 3.641",\
                 "0.07412, 0.1004, 0.1892, 0.3559, 0.6142, 0.9749, 1.453, 2.049, 2.785, 3.656",\
                 "0.09936, 0.1407, 0.2437, 0.4106, 0.6687, 1.031, 1.508, 2.107, 2.84, 3.714",\
                 "0.1102, 0.1685, 0.3176, 0.518, 0.7764, 1.138, 1.614, 2.211, 2.947, 3.819",\
                 "0.1076, 0.1828, 0.3736, 0.6363, 0.9444, 1.308, 1.782, 2.382, 3.111, 3.986",\
                 "0.0893, 0.1821, 0.414, 0.7338, 1.117, 1.543, 2.023, 2.619, 3.348, 4.22",\
                 "0.0555, 0.1638, 0.439, 0.8139, 1.265, 1.776, 2.331, 2.938, 3.667, 4.535",\
                 "0.0027, 0.1286, 0.4459, 0.8755, 1.393, 1.982, 2.63, 3.322, 4.068, 4.934",\
                 "-0.0683, 0.0742, 0.431, 0.9191, 1.5, 2.164, 2.901, 3.694, 4.534, 5.426",\
                 "-0.1608, -0.0005, 0.3967, 0.9428, 1.588, 2.327, 3.147, 4.036, 4.983, 5.977");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
          index_2("0.001, 0.02762, 0.1211, 0.2995, 0.5776, 0.9677, 1.481, 2.128, 2.917, 3.858");
          values("0.06034, 0.09357, 0.2049, 0.4147, 0.7404, 1.199, 1.803, 2.563, 3.485, 4.595",\
                 "0.07669, 0.11, 0.2225, 0.433, 0.7605, 1.218, 1.821, 2.579, 3.505, 4.616",\
                 "0.1256, 0.1716, 0.2898, 0.501, 0.8278, 1.286, 1.888, 2.646, 3.578, 4.677",\
                 "0.1864, 0.2495, 0.4119, 0.6345, 0.9605, 1.418, 2.021, 2.78, 3.709, 4.814",\
                 "0.2602, 0.3413, 0.5468, 0.8317, 1.172, 1.627, 2.227, 2.984, 3.911, 5.012",\
                 "0.3475, 0.4468, 0.6959, 1.042, 1.456, 1.927, 2.524, 3.279, 4.201, 5.303",\
                 "0.45, 0.5679, 0.8625, 1.266, 1.755, 2.306, 2.919, 3.671, 4.593, 5.69",\
                 "0.5677, 0.7046, 1.046, 1.508, 2.067, 2.705, 3.402, 4.169, 5.087, 6.181",\
                 "0.7014, 0.8583, 1.246, 1.769, 2.395, 3.116, 3.911, 4.764, 5.696, 6.791",\
                 "0.8536, 1.029, 1.464, 2.049, 2.745, 3.542, 4.43, 5.392, 6.409, 7.516");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
          index_2("0.001, 0.02762, 0.1211, 0.2995, 0.5776, 0.9677, 1.481, 2.128, 2.917, 3.858");
          values("0.05183, 0.09535, 0.2468, 0.5362, 0.9854, 1.62, 2.45, 3.501, 4.774, 6.307",\
                 "0.05226, 0.09486, 0.2465, 0.5355, 0.987, 1.618, 2.453, 3.497, 4.782, 6.302",\
                 "0.09506, 0.1385, 0.2563, 0.5357, 0.9862, 1.621, 2.454, 3.498, 4.78, 6.308",\
                 "0.1499, 0.2103, 0.3637, 0.5789, 0.9867, 1.619, 2.449, 3.5, 4.788, 6.31",\
                 "0.2223, 0.2972, 0.4902, 0.7576, 1.085, 1.631, 2.452, 3.5, 4.78, 6.316",\
                 "0.307, 0.4026, 0.6318, 0.9556, 1.343, 1.794, 2.491, 3.502, 4.784, 6.306",\
                 "0.4066, 0.5206, 0.794, 1.165, 1.626, 2.14, 2.729, 3.589, 4.782, 6.302",\
                 "0.5188, 0.6556, 0.975, 1.4, 1.918, 2.519, 3.166, 3.907, 4.939, 6.337",\
                 "0.6456, 0.8002, 1.172, 1.651, 2.227, 2.907, 3.651, 4.442, 5.342, 6.563",\
                 "0.7854, 0.9614, 1.389, 1.931, 2.566, 3.308, 4.142, 5.04, 5.984, 7.057");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
          index_2("0.001, 0.02762, 0.1211, 0.2995, 0.5776, 0.9677, 1.481, 2.128, 2.917, 3.858");
          values("0.07195, 0.1277, 0.3244, 0.6993, 1.284, 2.102, 3.183, 4.547, 6.204, 8.184",\
                 "0.07234, 0.1277, 0.3245, 0.6979, 1.283, 2.1, 3.183, 4.54, 6.201, 8.19",\
                 "0.1156, 0.1654, 0.3265, 0.6995, 1.284, 2.104, 3.183, 4.543, 6.208, 8.179",\
                 "0.1727, 0.2385, 0.4109, 0.7094, 1.282, 2.103, 3.185, 4.541, 6.212, 8.188",\
                 "0.2458, 0.3258, 0.5406, 0.8422, 1.31, 2.105, 3.18, 4.538, 6.197, 8.179",\
                 "0.333, 0.4306, 0.6816, 1.047, 1.492, 2.152, 3.187, 4.537, 6.198, 8.177",\
                 "0.4308, 0.5488, 0.842, 1.258, 1.778, 2.381, 3.266, 4.554, 6.211, 8.178",\
                 "0.5466, 0.681, 1.022, 1.489, 2.078, 2.756, 3.54, 4.662, 6.209, 8.168",\
                 "0.677, 0.8294, 1.217, 1.739, 2.388, 3.157, 3.994, 4.989, 6.371, 8.199",\
                 "0.8236, 0.9992, 1.43, 2.012, 2.725, 3.562, 4.503, 5.514, 6.749, 8.404");
        }
      }
    }
  }

