/*
 * 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_8) {
    area : 50.803200 ;

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

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

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

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

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

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

    pin(ZN) {
      direction : output ;
      function : "(!I)" ;
      max_capacitance : 2.783 ;
      max_transition : 3.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.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
          index_2("0.001, 0.0202, 0.0876, 0.2163, 0.4168, 0.6982, 1.068, 1.535, 2.104, 2.783");
          values("-0.1628, -0.148, -0.1275, -0.1168, -0.1119, -0.11, -0.1079, -0.1072, -0.1068, -0.1063",\
                 "-0.1421, -0.1357, -0.1242, -0.115, -0.1117, -0.1086, -0.108, -0.1069, -0.1063, -0.106",\
                 "0.07816, 0.04764, -0.000866, -0.03699, -0.05971, -0.07421, -0.08327, -0.08909, -0.09284, -0.09572",\
                 "0.6543, 0.5764, 0.4147, 0.2724, 0.1698, 0.09723, 0.04613, 0.01032, -0.01532, -0.0345",\
                 "1.634, 1.517, 1.238, 0.9446, 0.7061, 0.5238, 0.3869, 0.2841, 0.2066, 0.1473",\
                 "3.052, 2.904, 2.523, 2.068, 1.651, 1.313, 1.045, 0.8326, 0.6666, 0.5336",\
                 "4.937, 4.766, 4.304, 3.695, 3.09, 2.555, 2.112, 1.75, 1.455, 1.212",\
                 "7.328, 7.138, 6.607, 5.867, 5.074, 4.327, 3.674, 3.121, 2.658, 2.269",\
                 "10.26, 10.05, 9.461, 8.607, 7.641, 6.676, 5.798, 5.02, 4.352, 3.783",\
                 "13.75, 13.53, 12.89, 11.94, 10.82, 9.649, 8.525, 7.506, 6.61, 5.821");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
          index_2("0.001, 0.0202, 0.0876, 0.2163, 0.4168, 0.6982, 1.068, 1.535, 2.104, 2.783");
          values("1.165, 1.189, 1.232, 1.272, 1.262, 1.271, 1.303, 1.295, 1.337, 1.312",\
                 "1.214, 1.215, 1.232, 1.256, 1.271, 1.274, 1.297, 1.316, 1.332, 1.378",\
                 "1.525, 1.481, 1.413, 1.359, 1.333, 1.321, 1.32, 1.347, 1.348, 1.367",\
                 "2.216, 2.128, 1.952, 1.778, 1.651, 1.559, 1.507, 1.468, 1.458, 1.45",\
                 "3.338, 3.221, 2.933, 2.634, 2.362, 2.134, 1.97, 1.852, 1.755, 1.692",\
                 "4.934, 4.799, 4.43, 3.975, 3.557, 3.163, 2.843, 2.593, 2.393, 2.231",\
                 "7.05, 6.898, 6.467, 5.874, 5.287, 4.746, 4.237, 3.81, 3.455, 3.16",\
                 "9.722, 9.556, 9.078, 8.375, 7.608, 6.878, 6.201, 5.585, 5.044, 4.568",\
                 "12.99, 12.81, 12.29, 11.5, 10.57, 9.655, 8.777, 7.975, 7.239, 6.554",\
                 "16.89, 16.7, 16.14, 15.28, 14.22, 13.1, 12.04, 11.03, 10.09, 9.205");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
          index_2("0.001, 0.0202, 0.0876, 0.2163, 0.4168, 0.6982, 1.068, 1.535, 2.104, 2.783");
          values("0.02401, 0.03314, 0.06413, 0.1224, 0.2127, 0.3392, 0.506, 0.7156, 0.972, 1.278",\
                 "0.02659, 0.03687, 0.0676, 0.1257, 0.2162, 0.3431, 0.5093, 0.7194, 0.9748, 1.28",\
                 "0.02637, 0.04151, 0.08095, 0.14, 0.2297, 0.3557, 0.5219, 0.7316, 0.9878, 1.293",\
                 "0.01681, 0.0376, 0.09083, 0.1653, 0.259, 0.3833, 0.5481, 0.7567, 1.012, 1.317",\
                 "-0.00385, 0.02243, 0.08971, 0.1832, 0.2967, 0.4307, 0.5935, 0.8001, 1.054, 1.358",\
                 "-0.03658, -0.00516, 0.07565, 0.1879, 0.3241, 0.4813, 0.66, 0.8657, 1.117, 1.417",\
                 "-0.08271, -0.04608, 0.04749, 0.1772, 0.337, 0.5193, 0.724, 0.9515, 1.205, 1.503",\
                 "-0.1432, -0.1017, 0.005, 0.1533, 0.3343, 0.5427, 0.7747, 1.03, 1.31, 1.616",\
                 "-0.2193, -0.1727, -0.053, 0.1132, 0.314, 0.548, 0.8083, 1.094, 1.403, 1.738",\
                 "-0.3112, -0.2603, -0.1281, 0.0549, 0.2789, 0.5367, 0.824, 1.14, 1.481, 1.848");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
          index_2("0.001, 0.0202, 0.0876, 0.2163, 0.4168, 0.6982, 1.068, 1.535, 2.104, 2.783");
          values("0.0281, 0.04209, 0.08904, 0.1767, 0.3123, 0.5022, 0.7508, 1.066, 1.45, 1.905",\
                 "0.03532, 0.04835, 0.09444, 0.1819, 0.3174, 0.5065, 0.7574, 1.07, 1.455, 1.911",\
                 "0.0569, 0.07382, 0.1202, 0.2047, 0.3384, 0.5278, 0.7762, 1.09, 1.475, 1.932",\
                 "0.08959, 0.1125, 0.1709, 0.2575, 0.3869, 0.5719, 0.8184, 1.131, 1.514, 1.97",\
                 "0.1331, 0.1625, 0.2362, 0.339, 0.4714, 0.6514, 0.8928, 1.201, 1.581, 2.035",\
                 "0.1883, 0.2246, 0.3147, 0.4376, 0.5878, 0.7712, 1.007, 1.31, 1.684, 2.133",\
                 "0.2559, 0.2994, 0.4064, 0.5509, 0.7245, 0.9267, 1.166, 1.462, 1.83, 2.273",\
                 "0.3376, 0.3875, 0.5125, 0.6788, 0.8773, 1.104, 1.363, 1.663, 2.024, 2.461",\
                 "0.4344, 0.4905, 0.6329, 0.8219, 1.046, 1.301, 1.585, 1.905, 2.271, 2.7",\
                 "0.547, 0.6094, 0.7689, 0.9806, 1.232, 1.515, 1.828, 2.175, 2.561, 2.995");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
          index_2("0.001, 0.0202, 0.0876, 0.2163, 0.4168, 0.6982, 1.068, 1.535, 2.104, 2.783");
          values("0.0185, 0.03334, 0.08487, 0.1835, 0.3369, 0.5521, 0.8373, 1.194, 1.632, 2.154",\
                 "0.02381, 0.03557, 0.08509, 0.1842, 0.3374, 0.5537, 0.8376, 1.197, 1.63, 2.154",\
                 "0.03994, 0.05636, 0.1003, 0.1848, 0.3375, 0.5535, 0.8378, 1.196, 1.634, 2.154",\
                 "0.06788, 0.0902, 0.1444, 0.2244, 0.3479, 0.553, 0.8366, 1.196, 1.633, 2.151",\
                 "0.1066, 0.1361, 0.2046, 0.2967, 0.4171, 0.5844, 0.8413, 1.195, 1.631, 2.153",\
                 "0.1556, 0.1935, 0.278, 0.3879, 0.5216, 0.6882, 0.9043, 1.214, 1.632, 2.152",\
                 "0.2131, 0.2608, 0.3659, 0.4951, 0.6478, 0.8284, 1.045, 1.314, 1.679, 2.16",\
                 "0.2811, 0.3388, 0.464, 0.6188, 0.793, 0.9918, 1.223, 1.493, 1.821, 2.244",\
                 "0.359, 0.4258, 0.5754, 0.76, 0.9538, 1.176, 1.427, 1.712, 2.043, 2.43",\
                 "0.4468, 0.5238, 0.6994, 0.9044, 1.135, 1.381, 1.655, 1.961, 2.304, 2.697");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
          index_2("0.001, 0.0202, 0.0876, 0.2163, 0.4168, 0.6982, 1.068, 1.535, 2.104, 2.783");
          values("0.03248, 0.05619, 0.1392, 0.2992, 0.5453, 0.8924, 1.349, 1.925, 2.628, 3.468",\
                 "0.03513, 0.05637, 0.1393, 0.3, 0.546, 0.8919, 1.351, 1.932, 2.627, 3.468",\
                 "0.05324, 0.0737, 0.1423, 0.2983, 0.5453, 0.8925, 1.354, 1.933, 2.626, 3.468",\
                 "0.0814, 0.1075, 0.1768, 0.307, 0.5452, 0.8932, 1.35, 1.924, 2.628, 3.465",\
                 "0.118, 0.1513, 0.2355, 0.3593, 0.5643, 0.8934, 1.35, 1.93, 2.625, 3.464",\
                 "0.1623, 0.2036, 0.3058, 0.4452, 0.6346, 0.9242, 1.354, 1.924, 2.628, 3.467",\
                 "0.2144, 0.2658, 0.3868, 0.55, 0.7478, 1.014, 1.398, 1.933, 2.63, 3.466",\
                 "0.278, 0.3362, 0.4786, 0.6648, 0.8876, 1.154, 1.509, 1.995, 2.643, 3.473",\
                 "0.3518, 0.4154, 0.5808, 0.7944, 1.043, 1.329, 1.677, 2.125, 2.723, 3.492",\
                 "0.4336, 0.5082, 0.6936, 0.934, 1.211, 1.528, 1.89, 2.325, 2.874, 3.592");
        }
      }
    }
  }

