/*
 * 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__buf_12) {
    area : 83.417600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "6.7293e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "6.6582e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "6.7293e-05" ;
    }

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 2.486 ;
      max_transition : 12 ;
      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.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.01815, 0.07836, 0.1933, 0.3725, 0.6238, 0.9545, 1.371, 1.88, 2.486");
          values("0.1932, 0.1949, 0.1983, 0.2008, 0.2023, 0.203, 0.2034, 0.2037, 0.2039, 0.204",\
                 "0.1914, 0.1931, 0.1967, 0.1992, 0.2006, 0.2014, 0.2018, 0.202, 0.2021, 0.2023",\
                 "0.1883, 0.1898, 0.1933, 0.1959, 0.1975, 0.1983, 0.1988, 0.199, 0.1992, 0.1992",\
                 "0.186, 0.1873, 0.1902, 0.193, 0.195, 0.1961, 0.1967, 0.1971, 0.1974, 0.1975",\
                 "0.1851, 0.1862, 0.1887, 0.1914, 0.1936, 0.1949, 0.1957, 0.1963, 0.1967, 0.197",\
                 "0.1857, 0.1864, 0.1882, 0.191, 0.1932, 0.1949, 0.1958, 0.1965, 0.197, 0.1974",\
                 "0.1876, 0.1879, 0.1894, 0.1917, 0.1939, 0.1957, 0.1968, 0.1976, 0.1981, 0.1986",\
                 "0.1906, 0.1905, 0.1916, 0.1937, 0.1957, 0.1975, 0.1988, 0.1997, 0.2002, 0.2006",\
                 "0.1947, 0.1944, 0.1952, 0.1965, 0.1985, 0.2002, 0.2015, 0.2024, 0.2032, 0.2037",\
                 "0.2, 0.1994, 0.1995, 0.2006, 0.2025, 0.2042, 0.2055, 0.2064, 0.2071, 0.2077");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.01815, 0.07836, 0.1933, 0.3725, 0.6238, 0.9545, 1.371, 1.88, 2.486");
          values("0.1154, 0.1174, 0.1217, 0.1251, 0.1276, 0.1297, 0.1306, 0.1314, 0.1413, 0.1773",\
                 "0.1146, 0.1168, 0.121, 0.1247, 0.1277, 0.1284, 0.1306, 0.1304, 0.1347, 0.1797",\
                 "0.1125, 0.1141, 0.1178, 0.1212, 0.1242, 0.1257, 0.1298, 0.1334, 0.133, 0.1784",\
                 "0.1098, 0.1111, 0.1141, 0.1174, 0.1209, 0.123, 0.1271, 0.1314, 0.132, 0.1954",\
                 "0.1086, 0.1094, 0.1117, 0.1155, 0.1185, 0.121, 0.1241, 0.1266, 0.1313, 0.2069",\
                 "0.1087, 0.1095, 0.1111, 0.1136, 0.1176, 0.1199, 0.1237, 0.1269, 0.1374, 0.2249",\
                 "0.1101, 0.1105, 0.1118, 0.1142, 0.1165, 0.1214, 0.1235, 0.1265, 0.14, 0.2564",\
                 "0.1125, 0.1127, 0.1144, 0.1155, 0.1175, 0.1205, 0.1255, 0.1278, 0.1513, 0.3154",\
                 "0.1162, 0.1162, 0.1173, 0.1186, 0.1211, 0.123, 0.1259, 0.1331, 0.1743, 0.4163",\
                 "0.1209, 0.1209, 0.1215, 0.1227, 0.125, 0.1252, 0.1286, 0.1384, 0.2179, 0.6007");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.01815, 0.07836, 0.1933, 0.3725, 0.6238, 0.9545, 1.371, 1.88, 2.486");
          values("0.5116, 0.5548, 0.6663, 0.8288, 1.05, 1.345, 1.729, 2.212, 2.802, 3.503",\
                 "0.5424, 0.5856, 0.6974, 0.8598, 1.081, 1.376, 1.76, 2.243, 2.833, 3.535",\
                 "0.6621, 0.7053, 0.8168, 0.9794, 1.2, 1.496, 1.88, 2.363, 2.952, 3.653",\
                 "0.9011, 0.9445, 1.056, 1.219, 1.44, 1.736, 2.12, 2.603, 3.193, 3.895",\
                 "1.232, 1.281, 1.4, 1.567, 1.791, 2.087, 2.471, 2.955, 3.544, 4.246",\
                 "1.595, 1.652, 1.786, 1.966, 2.196, 2.494, 2.879, 3.362, 3.951, 4.653",\
                 "1.984, 2.049, 2.202, 2.394, 2.632, 2.935, 3.321, 3.805, 4.393, 5.095",\
                 "2.399, 2.474, 2.645, 2.853, 3.1, 3.407, 3.795, 4.279, 4.869, 5.57",\
                 "2.842, 2.924, 3.115, 3.342, 3.601, 3.913, 4.302, 4.786, 5.375, 6.077",\
                 "3.316, 3.407, 3.615, 3.862, 4.134, 4.451, 4.844, 5.328, 5.917, 6.618");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.01815, 0.07836, 0.1933, 0.3725, 0.6238, 0.9545, 1.371, 1.88, 2.486");
          values("0.3478, 0.4031, 0.5811, 0.9075, 1.41, 2.112, 3.037, 4.2, 5.613, 7.31",\
                 "0.3775, 0.4329, 0.6108, 0.9373, 1.44, 2.143, 3.062, 4.223, 5.649, 7.341",\
                 "0.4824, 0.5372, 0.7139, 1.041, 1.543, 2.245, 3.172, 4.335, 5.751, 7.447",\
                 "0.6456, 0.702, 0.8791, 1.205, 1.71, 2.412, 3.337, 4.5, 5.922, 7.611",\
                 "0.8034, 0.8636, 1.044, 1.371, 1.873, 2.577, 3.501, 4.667, 6.088, 7.769",\
                 "0.943, 1.009, 1.195, 1.521, 2.024, 2.728, 3.651, 4.814, 6.236, 7.92",\
                 "1.059, 1.132, 1.324, 1.651, 2.154, 2.858, 3.782, 4.943, 6.363, 8.049",\
                 "1.144, 1.226, 1.43, 1.758, 2.26, 2.963, 3.887, 5.05, 6.465, 8.156",\
                 "1.198, 1.289, 1.507, 1.838, 2.338, 3.04, 3.963, 5.126, 6.544, 8.233",\
                 "1.215, 1.315, 1.55, 1.887, 2.387, 3.088, 4.011, 5.173, 6.591, 8.281");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.01815, 0.07836, 0.1933, 0.3725, 0.6238, 0.9545, 1.371, 1.88, 2.486");
          values("0.1528, 0.1912, 0.3072, 0.5138, 0.8442, 1.327, 1.974, 2.798, 3.808, 5.007",\
                 "0.1528, 0.1915, 0.3072, 0.5134, 0.8434, 1.327, 1.973, 2.799, 3.805, 5.011",\
                 "0.1525, 0.1915, 0.3072, 0.5142, 0.8438, 1.327, 1.975, 2.797, 3.802, 5.003",\
                 "0.1554, 0.194, 0.3088, 0.5144, 0.8444, 1.326, 1.975, 2.796, 3.809, 5.007",\
                 "0.1876, 0.222, 0.329, 0.5266, 0.8498, 1.327, 1.976, 2.796, 3.802, 5.008",\
                 "0.2312, 0.268, 0.371, 0.56, 0.8714, 1.338, 1.979, 2.799, 3.807, 5.008",\
                 "0.2774, 0.3188, 0.4218, 0.5996, 0.9008, 1.359, 1.991, 2.806, 3.809, 5.006",\
                 "0.324, 0.3706, 0.4792, 0.6482, 0.9346, 1.378, 2.002, 2.817, 3.813, 5.008",\
                 "0.3692, 0.4218, 0.54, 0.7064, 0.9744, 1.403, 2.015, 2.821, 3.819, 5.016",\
                 "0.414, 0.472, 0.6, 0.766, 1.022, 1.432, 2.032, 2.83, 3.824, 5.018");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.01815, 0.07836, 0.1933, 0.3725, 0.6238, 0.9545, 1.371, 1.88, 2.486");
          values("0.1615, 0.2372, 0.5178, 1.065, 1.925, 3.126, 4.699, 6.689, 9.141, 12",\
                 "0.1613, 0.2376, 0.5172, 1.064, 1.925, 3.12, 4.704, 6.687, 9.108, 12.01",\
                 "0.1619, 0.2383, 0.5169, 1.065, 1.921, 3.123, 4.713, 6.71, 9.106, 12.01",\
                 "0.1752, 0.247, 0.5198, 1.066, 1.926, 3.118, 4.712, 6.705, 9.119, 12.04",\
                 "0.1984, 0.266, 0.528, 1.068, 1.919, 3.125, 4.698, 6.709, 9.117, 12.04",\
                 "0.2292, 0.2922, 0.5394, 1.073, 1.924, 3.122, 4.702, 6.696, 9.141, 12.03",\
                 "0.2658, 0.3256, 0.5554, 1.079, 1.929, 3.123, 4.701, 6.683, 9.118, 12.03",\
                 "0.3038, 0.3638, 0.5786, 1.085, 1.932, 3.128, 4.702, 6.687, 9.108, 12.02",\
                 "0.345, 0.4086, 0.6092, 1.093, 1.932, 3.131, 4.704, 6.689, 9.11, 12.01",\
                 "0.386, 0.4556, 0.6484, 1.106, 1.939, 3.129, 4.71, 6.696, 9.118, 12");
        }
      }
    }
  }

