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

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

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

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

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

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

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

    pin(ZN) {
      direction : output ;
      function : "(!I)" ;
      max_capacitance : 3.627 ;
      max_transition : 2.6 ;
      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.03781, 0.1003, 0.2197, 0.4057, 0.6666, 1.01, 1.443, 1.971, 2.6");
          index_2("0.001, 0.02603, 0.1139, 0.2817, 0.543, 0.9098, 1.392, 2, 2.743, 3.627");
          values("-0.234, -0.2152, -0.1845, -0.1663, -0.1581, -0.1536, -0.1513, -0.1487, -0.1485, -0.148",\
                 "-0.2015, -0.1947, -0.1779, -0.1628, -0.1571, -0.1523, -0.1509, -0.1492, -0.1483, -0.148",\
                 "0.06552, 0.03111, -0.02314, -0.06468, -0.09068, -0.1082, -0.1172, -0.1243, -0.1288, -0.1342",\
                 "0.7402, 0.654, 0.4723, 0.3128, 0.1911, 0.1037, 0.0427, -0.0001676, -0.03285, -0.05572",\
                 "1.881, 1.754, 1.444, 1.113, 0.8382, 0.6244, 0.4612, 0.3373, 0.2423, 0.1693",\
                 "3.526, 3.37, 2.953, 2.441, 1.969, 1.579, 1.263, 1.01, 0.8084, 0.6479",\
                 "5.721, 5.537, 5.031, 4.36, 3.669, 3.065, 2.55, 2.125, 1.771, 1.48",\
                 "8.499, 8.295, 7.72, 6.903, 6.011, 5.168, 4.42, 3.779, 3.234, 2.769",\
                 "11.91, 11.68, 11.04, 10.11, 9.033, 7.947, 6.94, 6.053, 5.275, 4.608",\
                 "15.97, 15.74, 15.04, 14, 12.76, 11.45, 10.17, 9.012, 7.978, 7.056");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.03781, 0.1003, 0.2197, 0.4057, 0.6666, 1.01, 1.443, 1.971, 2.6");
          index_2("0.001, 0.02603, 0.1139, 0.2817, 0.543, 0.9098, 1.392, 2, 2.743, 3.627");
          values("1.629, 1.652, 1.705, 1.743, 1.767, 1.771, 1.789, 1.772, 1.827, 1.851",\
                 "1.701, 1.7, 1.709, 1.73, 1.748, 1.783, 1.786, 1.794, 1.843, 1.901",\
                 "2.071, 2.022, 1.932, 1.869, 1.841, 1.818, 1.837, 1.827, 1.909, 1.851",\
                 "2.872, 2.773, 2.582, 2.376, 2.213, 2.1, 2.043, 2.019, 2.03, 2.044",\
                 "4.172, 4.046, 3.727, 3.39, 3.06, 2.797, 2.599, 2.465, 2.382, 2.319",\
                 "6.027, 5.878, 5.462, 4.955, 4.485, 4.024, 3.642, 3.339, 3.103, 2.951",\
                 "8.481, 8.312, 7.833, 7.166, 6.52, 5.881, 5.286, 4.786, 4.39, 4.024",\
                 "11.58, 11.4, 10.86, 10.08, 9.205, 8.405, 7.639, 6.892, 6.282, 5.718",\
                 "15.37, 15.18, 14.59, 13.71, 12.66, 11.66, 10.68, 9.725, 8.872, 8.083",\
                 "19.9, 19.69, 19.06, 18.11, 16.92, 15.66, 14.48, 13.33, 12.23, 11.17");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.03781, 0.1003, 0.2197, 0.4057, 0.6666, 1.01, 1.443, 1.971, 2.6");
          index_2("0.001, 0.02603, 0.1139, 0.2817, 0.543, 0.9098, 1.392, 2, 2.743, 3.627");
          values("0.01931, 0.02599, 0.04872, 0.09141, 0.1576, 0.2504, 0.3723, 0.5261, 0.7135, 0.937",\
                 "0.02119, 0.02899, 0.05163, 0.09428, 0.1604, 0.2532, 0.3752, 0.5287, 0.7162, 0.9395",\
                 "0.02259, 0.03346, 0.06225, 0.1056, 0.1711, 0.2633, 0.3852, 0.5386, 0.7256, 0.9491",\
                 "0.01884, 0.03367, 0.07199, 0.126, 0.1944, 0.2855, 0.4062, 0.5589, 0.7457, 0.9686",\
                 "0.00818, 0.02707, 0.07567, 0.1431, 0.2254, 0.3228, 0.4421, 0.5936, 0.7792, 1.001",\
                 "-0.01044, 0.01259, 0.07156, 0.1529, 0.2513, 0.3647, 0.4948, 0.6452, 0.8291, 1.05",\
                 "-0.03778, -0.01056, 0.05864, 0.1543, 0.2687, 0.4006, 0.5483, 0.7139, 0.8987, 1.117",\
                 "-0.07481, -0.04331, 0.03645, 0.1461, 0.2774, 0.4279, 0.5951, 0.7793, 0.9829, 1.206",\
                 "-0.1222, -0.0864, 0.004, 0.1276, 0.2758, 0.4446, 0.6327, 0.8379, 1.061, 1.305",\
                 "-0.1804, -0.1405, -0.0389, 0.0986, 0.2627, 0.4505, 0.6599, 0.8871, 1.133, 1.398");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.03781, 0.1003, 0.2197, 0.4057, 0.6666, 1.01, 1.443, 1.971, 2.6");
          index_2("0.001, 0.02603, 0.1139, 0.2817, 0.543, 0.9098, 1.392, 2, 2.743, 3.627");
          values("0.02374, 0.03421, 0.07032, 0.1379, 0.2424, 0.3884, 0.5813, 0.8226, 1.117, 1.472",\
                 "0.02909, 0.03904, 0.0742, 0.1415, 0.2457, 0.3926, 0.5841, 0.8263, 1.122, 1.475",\
                 "0.0449, 0.05732, 0.09262, 0.1577, 0.2609, 0.4061, 0.5981, 0.8401, 1.135, 1.486",\
                 "0.06909, 0.08569, 0.1289, 0.1948, 0.2948, 0.4377, 0.6271, 0.8688, 1.162, 1.515",\
                 "0.1012, 0.1222, 0.1765, 0.2529, 0.3541, 0.4933, 0.6798, 0.9172, 1.21, 1.56",\
                 "0.1412, 0.1675, 0.2338, 0.3245, 0.437, 0.5772, 0.7596, 0.9933, 1.282, 1.628",\
                 "0.1899, 0.2214, 0.3004, 0.407, 0.5355, 0.6877, 0.8714, 1.1, 1.384, 1.727",\
                 "0.2477, 0.2849, 0.3766, 0.5002, 0.6468, 0.8156, 1.012, 1.241, 1.52, 1.858",\
                 "0.3158, 0.358, 0.4634, 0.6036, 0.77, 0.9583, 1.171, 1.414, 1.694, 2.025",\
                 "0.3948, 0.4421, 0.5608, 0.7192, 0.9043, 1.114, 1.347, 1.606, 1.9, 2.232");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.03781, 0.1003, 0.2197, 0.4057, 0.6666, 1.01, 1.443, 1.971, 2.6");
          index_2("0.001, 0.02603, 0.1139, 0.2817, 0.543, 0.9098, 1.392, 2, 2.743, 3.627");
          values("0.01468, 0.02497, 0.06157, 0.1313, 0.24, 0.3938, 0.5933, 0.8488, 1.156, 1.523",\
                 "0.01912, 0.02757, 0.06151, 0.132, 0.2413, 0.3936, 0.595, 0.8466, 1.159, 1.523",\
                 "0.03057, 0.04189, 0.07292, 0.1324, 0.2404, 0.3929, 0.5948, 0.8466, 1.155, 1.523",\
                 "0.0491, 0.0646, 0.1028, 0.1598, 0.2476, 0.3929, 0.5938, 0.8468, 1.155, 1.523",\
                 "0.07344, 0.09392, 0.1427, 0.2085, 0.2948, 0.4139, 0.5966, 0.8483, 1.154, 1.523",\
                 "0.1028, 0.1289, 0.1903, 0.2691, 0.3649, 0.4846, 0.6379, 0.8586, 1.157, 1.523",\
                 "0.1363, 0.1693, 0.2447, 0.3395, 0.449, 0.5782, 0.7338, 0.925, 1.186, 1.529",\
                 "0.1752, 0.2147, 0.3053, 0.4173, 0.5448, 0.688, 0.853, 1.048, 1.28, 1.583",\
                 "0.2182, 0.2652, 0.3716, 0.5022, 0.6488, 0.81, 0.9894, 1.194, 1.433, 1.708",\
                 "0.2662, 0.3214, 0.4436, 0.5952, 0.761, 0.9438, 1.141, 1.36, 1.606, 1.889");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.03781, 0.1003, 0.2197, 0.4057, 0.6666, 1.01, 1.443, 1.971, 2.6");
          index_2("0.001, 0.02603, 0.1139, 0.2817, 0.543, 0.9098, 1.392, 2, 2.743, 3.627");
          values("0.02555, 0.04288, 0.1036, 0.2196, 0.3991, 0.6515, 0.9869, 1.404, 1.915, 2.531",\
                 "0.0279, 0.04301, 0.1035, 0.2188, 0.3987, 0.6531, 0.9867, 1.402, 1.918, 2.529",\
                 "0.03928, 0.0543, 0.1054, 0.2195, 0.4, 0.6517, 0.9864, 1.406, 1.918, 2.524",\
                 "0.05748, 0.0759, 0.1274, 0.2243, 0.3992, 0.652, 0.9852, 1.406, 1.922, 2.529",\
                 "0.07998, 0.104, 0.1641, 0.2576, 0.4097, 0.6522, 0.985, 1.406, 1.918, 2.53",\
                 "0.1073, 0.1369, 0.2103, 0.3103, 0.454, 0.6704, 0.9855, 1.404, 1.917, 2.532",\
                 "0.1384, 0.1752, 0.2618, 0.3789, 0.5246, 0.7266, 1.012, 1.408, 1.915, 2.531",\
                 "0.1746, 0.216, 0.3186, 0.4514, 0.6138, 0.814, 1.08, 1.444, 1.923, 2.526",\
                 "0.212, 0.2616, 0.381, 0.5338, 0.714, 0.9234, 1.188, 1.523, 1.969, 2.537",\
                 "0.2548, 0.31, 0.446, 0.6234, 0.8218, 1.052, 1.317, 1.65, 2.062, 2.598");
        }
      }
    }
  }

