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

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

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

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

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

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

    pin(ZN) {
      direction : output ;
      function : "(!I)" ;
      max_capacitance : 2.753 ;
      max_transition : 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.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
          index_2("0.001, 0.02, 0.08669, 0.214, 0.4124, 0.6908, 1.057, 1.519, 2.082, 2.753");
          values("-0.1286, -0.1144, -0.0964, -0.0877, -0.08404, -0.08202, -0.08073, -0.08006, -0.07963, -0.07943",\
                 "-0.138, -0.1261, -0.1055, -0.09337, -0.087, -0.08393, -0.08222, -0.08132, -0.0806, -0.08017",\
                 "-0.06254, -0.06964, -0.07788, -0.07943, -0.07975, -0.07913, -0.07894, -0.07875, -0.07844, -0.07865",\
                 "0.1954, 0.1569, 0.0858, 0.0318, -0.003451, -0.02584, -0.04064, -0.05057, -0.05721, -0.06173",\
                 "0.6571, 0.5924, 0.4473, 0.3106, 0.2075, 0.1332, 0.08092, 0.0437, 0.01609, -0.003166",\
                 "1.337, 1.25, 1.037, 0.8051, 0.6078, 0.4538, 0.338, 0.2507, 0.1844, 0.1341",\
                 "2.247, 2.143, 1.873, 1.544, 1.238, 0.9849, 0.7799, 0.6191, 0.4911, 0.3912",\
                 "3.406, 3.287, 2.97, 2.55, 2.134, 1.762, 1.45, 1.192, 0.9811, 0.8105",\
                 "4.824, 4.695, 4.337, 3.843, 3.311, 2.813, 2.38, 2.007, 1.694, 1.432",\
                 "6.524, 6.383, 5.988, 5.424, 4.793, 4.167, 3.598, 3.096, 2.664, 2.293");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
          index_2("0.001, 0.02, 0.08669, 0.214, 0.4124, 0.6908, 1.057, 1.519, 2.082, 2.753");
          values("0.9119, 0.9261, 0.9444, 0.9561, 0.9586, 0.97, 0.9862, 1.002, 1.01, 1.043",\
                 "0.9234, 0.9289, 0.9432, 0.9516, 0.9576, 0.9685, 0.9782, 0.996, 1.005, 1.038",\
                 "1.051, 1.029, 1.005, 0.9851, 0.9806, 0.9815, 0.9882, 1.006, 1.02, 1.028",\
                 "1.361, 1.31, 1.218, 1.141, 1.088, 1.061, 1.043, 1.043, 1.04, 1.068",\
                 "1.877, 1.803, 1.639, 1.488, 1.361, 1.265, 1.204, 1.169, 1.145, 1.143",\
                 "2.612, 2.529, 2.306, 2.049, 1.849, 1.661, 1.528, 1.438, 1.365, 1.313",\
                 "3.589, 3.492, 3.227, 2.886, 2.568, 2.307, 2.066, 1.885, 1.745, 1.638",\
                 "4.829, 4.722, 4.419, 4.005, 3.568, 3.195, 2.864, 2.583, 2.345, 2.153",\
                 "6.345, 6.229, 5.897, 5.419, 4.881, 4.373, 3.943, 3.541, 3.21, 2.913",\
                 "8.157, 8.033, 7.671, 7.138, 6.513, 5.875, 5.308, 4.818, 4.35, 3.958");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
          index_2("0.001, 0.02, 0.08669, 0.214, 0.4124, 0.6908, 1.057, 1.519, 2.082, 2.753");
          values("0.03794, 0.05402, 0.1082, 0.21, 0.368, 0.5896, 0.8815, 1.248, 1.696, 2.231",\
                 "0.0425, 0.05838, 0.1127, 0.2147, 0.3731, 0.5947, 0.8862, 1.254, 1.701, 2.236",\
                 "0.05277, 0.07397, 0.1323, 0.2334, 0.3913, 0.6123, 0.9042, 1.271, 1.719, 2.254",\
                 "0.06165, 0.09002, 0.1645, 0.2744, 0.4299, 0.65, 0.9404, 1.307, 1.755, 2.287",\
                 "0.06721, 0.1032, 0.1957, 0.3278, 0.4959, 0.7128, 1, 1.365, 1.812, 2.344",\
                 "0.06842, 0.1124, 0.2237, 0.3797, 0.5738, 0.8065, 1.091, 1.452, 1.895, 2.427",\
                 "0.06523, 0.1167, 0.2474, 0.4286, 0.6501, 0.9123, 1.216, 1.573, 2.013, 2.54",\
                 "0.0569, 0.116, 0.2665, 0.4725, 0.7234, 1.016, 1.352, 1.731, 2.167, 2.689",\
                 "0.0427, 0.1099, 0.279, 0.5119, 0.7927, 1.117, 1.485, 1.9, 2.36, 2.879",\
                 "0.0243, 0.0978, 0.2871, 0.5456, 0.8563, 1.214, 1.616, 2.064, 2.564, 3.109");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
          index_2("0.001, 0.02, 0.08669, 0.214, 0.4124, 0.6908, 1.057, 1.519, 2.082, 2.753");
          values("0.03038, 0.04591, 0.09875, 0.1986, 0.3529, 0.5707, 0.856, 1.216, 1.653, 2.179",\
                 "0.03759, 0.05279, 0.1055, 0.2051, 0.3603, 0.5769, 0.8628, 1.223, 1.66, 2.186",\
                 "0.05628, 0.07685, 0.1324, 0.2307, 0.3844, 0.6007, 0.8856, 1.246, 1.686, 2.207",\
                 "0.08019, 0.1083, 0.1801, 0.2845, 0.436, 0.6508, 0.9345, 1.293, 1.732, 2.253",\
                 "0.1079, 0.1441, 0.2352, 0.3618, 0.5215, 0.733, 1.014, 1.37, 1.808, 2.33",\
                 "0.1391, 0.1837, 0.2953, 0.4473, 0.6329, 0.8538, 1.131, 1.485, 1.918, 2.439",\
                 "0.1738, 0.2272, 0.3599, 0.5387, 0.7535, 1.003, 1.291, 1.64, 2.07, 2.586",\
                 "0.212, 0.2747, 0.4286, 0.636, 0.8819, 1.163, 1.482, 1.843, 2.268, 2.78",\
                 "0.2544, 0.3261, 0.5019, 0.7376, 1.016, 1.331, 1.684, 2.078, 2.516, 3.022",\
                 "0.3006, 0.3814, 0.58, 0.8447, 1.156, 1.506, 1.896, 2.325, 2.798, 3.317");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
          index_2("0.001, 0.02, 0.08669, 0.214, 0.4124, 0.6908, 1.057, 1.519, 2.082, 2.753");
          values("0.03161, 0.05712, 0.1453, 0.3145, 0.578, 0.9456, 1.433, 2.046, 2.804, 3.682",\
                 "0.03254, 0.05692, 0.1459, 0.3154, 0.5795, 0.9496, 1.434, 2.045, 2.795, 3.682",\
                 "0.0516, 0.07568, 0.1488, 0.3149, 0.5793, 0.9499, 1.432, 2.046, 2.805, 3.682",\
                 "0.08196, 0.1117, 0.1923, 0.328, 0.577, 0.9496, 1.437, 2.044, 2.792, 3.688",\
                 "0.1218, 0.1598, 0.2548, 0.3989, 0.6077, 0.9479, 1.435, 2.047, 2.79, 3.685",\
                 "0.1687, 0.2168, 0.332, 0.4922, 0.7084, 1, 1.441, 2.049, 2.795, 3.695",\
                 "0.2212, 0.2816, 0.4218, 0.6046, 0.8376, 1.132, 1.517, 2.064, 2.795, 3.691",\
                 "0.2812, 0.3536, 0.5196, 0.7324, 0.9862, 1.3, 1.68, 2.167, 2.828, 3.691",\
                 "0.3486, 0.4324, 0.6276, 0.8734, 1.156, 1.49, 1.893, 2.364, 2.96, 3.744",\
                 "0.4236, 0.5198, 0.7442, 1.024, 1.341, 1.702, 2.122, 2.621, 3.194, 3.905");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
          index_2("0.001, 0.02, 0.08669, 0.214, 0.4124, 0.6908, 1.057, 1.519, 2.082, 2.753");
          values("0.03632, 0.06251, 0.1545, 0.3311, 0.6067, 0.9895, 1.495, 2.135, 2.913, 3.84",\
                 "0.03948, 0.06285, 0.1552, 0.3319, 0.6056, 0.9898, 1.498, 2.135, 2.913, 3.84",\
                 "0.05914, 0.0827, 0.1582, 0.3312, 0.6065, 0.9903, 1.497, 2.133, 2.911, 3.841",\
                 "0.08926, 0.1192, 0.1993, 0.3419, 0.6047, 0.9894, 1.497, 2.134, 2.916, 3.84",\
                 "0.1274, 0.166, 0.2619, 0.4058, 0.6277, 0.9897, 1.495, 2.133, 2.914, 3.839",\
                 "0.1722, 0.2204, 0.3386, 0.4983, 0.715, 1.028, 1.503, 2.138, 2.912, 3.841",\
                 "0.223, 0.2816, 0.4224, 0.6094, 0.841, 1.141, 1.559, 2.142, 2.909, 3.837",\
                 "0.2832, 0.35, 0.517, 0.7352, 0.989, 1.303, 1.694, 2.223, 2.928, 3.847",\
                 "0.3474, 0.4268, 0.6182, 0.8684, 1.158, 1.489, 1.893, 2.386, 3.031, 3.869",\
                 "0.422, 0.513, 0.728, 1.012, 1.336, 1.702, 2.12, 2.623, 3.225, 3.998");
        }
      }
    }
  }

