/*
 * 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_20) {
    area : 92.198400 ;

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

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

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

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

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

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

    pin(ZN) {
      direction : output ;
      function : "(!I)" ;
      max_capacitance : 7.047 ;
      max_transition : 11 ;
      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.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.04963, 0.2203, 0.5463, 1.054, 1.767, 2.705, 3.886, 5.328, 7.047");
          values("-0.05807, -0.04944, -0.04287, -0.04082, -0.03974, -0.03946, -0.03919, -0.03912, -0.03901, -0.03894",\
                 "-0.07824, -0.06613, -0.0512, -0.04468, -0.04196, -0.04068, -0.04012, -0.03965, -0.03935, -0.03923",\
                 "-0.08348, -0.0787, -0.06401, -0.05323, -0.04726, -0.0441, -0.04234, -0.04121, -0.04048, -0.03998",\
                 "-0.03807, -0.04671, -0.05246, -0.0499, -0.04674, -0.04407, -0.04243, -0.04145, -0.04069, -0.04024",\
                 "0.06032, 0.0379, 0.003267, -0.01634, -0.02553, -0.03022, -0.03278, -0.03423, -0.0354, -0.03606",\
                 "0.2126, 0.1777, 0.1125, 0.06131, 0.02915, 0.00917, -0.003684, -0.01247, -0.01838, -0.02263",\
                 "0.4214, 0.3754, 0.2796, 0.1933, 0.1306, 0.0866, 0.05615, 0.0344, 0.01876, 0.007175",\
                 "0.6908, 0.6349, 0.5108, 0.3851, 0.2856, 0.2115, 0.1565, 0.1145, 0.08428, 0.0607",\
                 "1.022, 0.9585, 0.8091, 0.6434, 0.5026, 0.391, 0.3058, 0.2389, 0.1866, 0.1467",\
                 "1.423, 1.351, 1.176, 0.9734, 0.7865, 0.6332, 0.5122, 0.4136, 0.3355, 0.2729");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.04963, 0.2203, 0.5463, 1.054, 1.767, 2.705, 3.886, 5.328, 7.047");
          values("0.6114, 0.6284, 0.6449, 0.6509, 0.6609, 0.6713, 0.6859, 0.6999, 0.7213, 0.8992",\
                 "0.5853, 0.6003, 0.6255, 0.6401, 0.654, 0.6683, 0.6835, 0.6992, 0.7093, 0.8897",\
                 "0.599, 0.5988, 0.6055, 0.6212, 0.6363, 0.6533, 0.667, 0.6812, 0.7215, 0.8982",\
                 "0.663, 0.6486, 0.6328, 0.6254, 0.6327, 0.6428, 0.6565, 0.6752, 0.7007, 0.9428",\
                 "0.7774, 0.7517, 0.7057, 0.6779, 0.6591, 0.6587, 0.6712, 0.6782, 0.7165, 0.9929",\
                 "0.9484, 0.9101, 0.8405, 0.7763, 0.7398, 0.7061, 0.6958, 0.6992, 0.7269, 1.102",\
                 "1.182, 1.131, 1.032, 0.9377, 0.8676, 0.818, 0.7726, 0.7465, 0.8082, 1.358",\
                 "1.48, 1.419, 1.29, 1.165, 1.051, 0.9788, 0.9151, 0.8615, 0.9362, 1.873",\
                 "1.85, 1.777, 1.62, 1.458, 1.312, 1.189, 1.099, 1.04, 1.246, 3.069",\
                 "2.293, 2.21, 2.023, 1.829, 1.644, 1.478, 1.35, 1.316, 2.049, 5.693");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.04963, 0.2203, 0.5463, 1.054, 1.767, 2.705, 3.886, 5.328, 7.047");
          values("0.05209, 0.07749, 0.1637, 0.327, 0.5815, 0.9383, 1.408, 2, 2.721, 3.582",\
                 "0.07086, 0.09808, 0.1852, 0.349, 0.6038, 0.9606, 1.43, 2.021, 2.742, 3.604",\
                 "0.09305, 0.1438, 0.2623, 0.4289, 0.6835, 1.04, 1.51, 2.102, 2.822, 3.684",\
                 "0.09561, 0.1693, 0.3463, 0.5731, 0.8384, 1.195, 1.665, 2.255, 2.977, 3.839",\
                 "0.0758, 0.1733, 0.4057, 0.7101, 1.056, 1.438, 1.906, 2.497, 3.219, 4.079",\
                 "0.0301, 0.1515, 0.4401, 0.8189, 1.257, 1.734, 2.246, 2.837, 3.558, 4.418",\
                 "-0.0454, 0.1012, 0.4473, 0.8987, 1.427, 2.007, 2.627, 3.283, 4.008, 4.865",\
                 "-0.1522, 0.0202, 0.4237, 0.9504, 1.563, 2.244, 2.979, 3.753, 4.562, 5.433",\
                 "-0.2933, -0.0951, 0.3677, 0.9709, 1.669, 2.45, 3.295, 4.189, 5.125, 6.1",\
                 "-0.4713, -0.246, 0.2774, 0.9561, 1.742, 2.618, 3.572, 4.588, 5.652, 6.76");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.04963, 0.2203, 0.5463, 1.054, 1.767, 2.705, 3.886, 5.328, 7.047");
          values("0.07226, 0.1191, 0.275, 0.5684, 1.023, 1.663, 2.505, 3.564, 4.854, 6.397",\
                 "0.09456, 0.1409, 0.2988, 0.5936, 1.049, 1.689, 2.529, 3.591, 4.884, 6.418",\
                 "0.1651, 0.2301, 0.393, 0.6877, 1.145, 1.785, 2.626, 3.688, 4.981, 6.521",\
                 "0.2558, 0.3471, 0.5717, 0.8765, 1.332, 1.971, 2.812, 3.87, 5.164, 6.708",\
                 "0.373, 0.4873, 0.7777, 1.165, 1.63, 2.267, 3.108, 4.164, 5.459, 7.003",\
                 "0.5179, 0.6574, 1.007, 1.487, 2.043, 2.688, 3.525, 4.583, 5.873, 7.413",\
                 "0.6933, 0.8593, 1.264, 1.831, 2.501, 3.237, 4.08, 5.132, 6.421, 7.958",\
                 "0.9005, 1.094, 1.56, 2.202, 2.98, 3.846, 4.776, 5.833, 7.119, 8.654",\
                 "1.142, 1.362, 1.893, 2.608, 3.486, 4.477, 5.549, 6.686, 7.975, 9.505",\
                 "1.418, 1.668, 2.262, 3.056, 4.024, 5.133, 6.346, 7.634, 8.993, 10.53");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.04963, 0.2203, 0.5463, 1.054, 1.767, 2.705, 3.886, 5.328, 7.047");
          values("0.03999, 0.08018, 0.2212, 0.4907, 0.9116, 1.494, 2.269, 3.242, 4.432, 5.845",\
                 "0.048, 0.08112, 0.2212, 0.4913, 0.9102, 1.498, 2.269, 3.243, 4.432, 5.848",\
                 "0.09592, 0.1427, 0.2521, 0.4906, 0.909, 1.5, 2.271, 3.242, 4.431, 5.853",\
                 "0.1533, 0.221, 0.3835, 0.5872, 0.9218, 1.497, 2.274, 3.243, 4.432, 5.849",\
                 "0.221, 0.3104, 0.5246, 0.8004, 1.111, 1.553, 2.273, 3.249, 4.433, 5.854",\
                 "0.2994, 0.412, 0.675, 1.025, 1.419, 1.846, 2.407, 3.263, 4.438, 5.862",\
                 "0.3896, 0.524, 0.8398, 1.257, 1.74, 2.259, 2.812, 3.502, 4.508, 5.863",\
                 "0.489, 0.6494, 1.02, 1.501, 2.067, 2.689, 3.341, 4.031, 4.859, 6.012",\
                 "0.5968, 0.7868, 1.212, 1.762, 2.404, 3.125, 3.886, 4.683, 5.518, 6.495",\
                 "0.7146, 0.9332, 1.42, 2.042, 2.755, 3.567, 4.444, 5.354, 6.304, 7.29");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.04963, 0.2203, 0.5463, 1.054, 1.767, 2.705, 3.886, 5.328, 7.047");
          values("0.0732, 0.1476, 0.4097, 0.9113, 1.689, 2.786, 4.232, 6.052, 8.249, 10.91",\
                 "0.07472, 0.1478, 0.4101, 0.9106, 1.691, 2.789, 4.228, 6.051, 8.261, 10.89",\
                 "0.1281, 0.1929, 0.4108, 0.911, 1.691, 2.784, 4.222, 6.043, 8.269, 10.89",\
                 "0.1874, 0.2845, 0.5065, 0.9156, 1.689, 2.783, 4.226, 6.04, 8.245, 10.91",\
                 "0.2548, 0.3748, 0.6804, 1.059, 1.703, 2.782, 4.221, 6.042, 8.262, 10.91",\
                 "0.3328, 0.4738, 0.8462, 1.332, 1.891, 2.812, 4.22, 6.033, 8.249, 10.89",\
                 "0.4202, 0.5858, 1.011, 1.611, 2.266, 3.042, 4.264, 6.033, 8.25, 10.9",\
                 "0.517, 0.7088, 1.183, 1.877, 2.669, 3.505, 4.544, 6.101, 8.244, 10.88",\
                 "0.6238, 0.8424, 1.374, 2.14, 3.07, 4.051, 5.084, 6.422, 8.336, 10.88",\
                 "0.7446, 0.9858, 1.58, 2.408, 3.454, 4.598, 5.772, 7.034, 8.72, 11.01");
        }
      }
    }
  }

