/*
 * 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_2) {
    area : 17.561600 ;

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

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

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "1.661616e-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.004415 ;
      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 : 0.4153 ;
      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.003859, 0.0139, 0.03306, 0.06293, 0.1048, 0.16, 0.2294, 0.3142, 0.4153");
          values("0.0342, 0.03447, 0.03501, 0.03541, 0.03567, 0.0358, 0.03589, 0.03593, 0.03596, 0.03598",\
                 "0.03391, 0.03418, 0.03475, 0.03517, 0.03542, 0.03556, 0.03563, 0.03567, 0.0357, 0.03573",\
                 "0.03342, 0.03366, 0.03419, 0.03464, 0.0349, 0.03504, 0.03513, 0.03518, 0.03521, 0.03523",\
                 "0.03301, 0.03322, 0.03368, 0.03416, 0.03447, 0.03466, 0.03478, 0.03486, 0.03492, 0.03492",\
                 "0.03285, 0.03303, 0.03341, 0.03386, 0.03422, 0.03446, 0.03461, 0.03469, 0.03476, 0.03481",\
                 "0.03293, 0.03303, 0.03335, 0.03377, 0.03414, 0.03441, 0.03459, 0.03471, 0.03478, 0.03485",\
                 "0.03324, 0.0333, 0.03356, 0.03392, 0.03428, 0.03456, 0.03476, 0.03489, 0.03498, 0.03505",\
                 "0.03371, 0.03374, 0.0339, 0.03419, 0.03454, 0.03482, 0.03506, 0.03521, 0.03532, 0.0354",\
                 "0.03439, 0.03436, 0.03443, 0.03467, 0.03498, 0.03529, 0.03549, 0.03565, 0.03577, 0.03587",\
                 "0.03525, 0.03518, 0.03517, 0.03536, 0.03563, 0.0359, 0.03612, 0.0363, 0.03641, 0.0365");
        }

        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.003859, 0.0139, 0.03306, 0.06293, 0.1048, 0.16, 0.2294, 0.3142, 0.4153");
          values("0.01962, 0.01994, 0.02063, 0.02123, 0.0216, 0.02212, 0.02246, 0.02303, 0.02328, 0.03008",\
                 "0.01948, 0.01981, 0.02052, 0.0211, 0.02154, 0.02174, 0.02237, 0.02305, 0.02315, 0.03007",\
                 "0.01914, 0.01939, 0.02, 0.02056, 0.02106, 0.02135, 0.02157, 0.02206, 0.0228, 0.03223",\
                 "0.01871, 0.01893, 0.0194, 0.02, 0.0205, 0.02106, 0.02147, 0.0218, 0.02233, 0.03151",\
                 "0.01851, 0.01859, 0.01903, 0.01958, 0.02005, 0.02054, 0.02112, 0.02195, 0.02237, 0.03337",\
                 "0.0185, 0.0186, 0.01886, 0.01933, 0.01998, 0.02041, 0.02084, 0.02135, 0.02291, 0.03826",\
                 "0.01871, 0.0188, 0.01901, 0.01935, 0.01982, 0.02057, 0.02075, 0.02114, 0.02373, 0.04352",\
                 "0.01909, 0.01911, 0.01925, 0.01959, 0.01996, 0.0205, 0.0212, 0.02159, 0.02572, 0.05354",\
                 "0.01968, 0.01968, 0.01982, 0.0201, 0.02037, 0.02073, 0.02143, 0.02236, 0.02919, 0.07111",\
                 "0.02044, 0.02047, 0.02057, 0.02073, 0.02111, 0.02118, 0.0217, 0.02342, 0.03708, 0.1029");
        }
      }

      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.003859, 0.0139, 0.03306, 0.06293, 0.1048, 0.16, 0.2294, 0.3142, 0.4153");
          values("0.5581, 0.6015, 0.7147, 0.8802, 1.103, 1.398, 1.781, 2.263, 2.851, 3.551",\
                 "0.5895, 0.6329, 0.7462, 0.9117, 1.134, 1.43, 1.813, 2.294, 2.882, 3.583",\
                 "0.7094, 0.7526, 0.8661, 1.031, 1.254, 1.55, 1.933, 2.415, 3.002, 3.703",\
                 "0.949, 0.9923, 1.106, 1.271, 1.494, 1.79, 2.174, 2.655, 3.243, 3.943",\
                 "1.291, 1.339, 1.458, 1.628, 1.853, 2.15, 2.533, 3.014, 3.602, 4.302",\
                 "1.67, 1.726, 1.861, 2.042, 2.273, 2.573, 2.957, 3.438, 4.025, 4.725",\
                 "2.075, 2.139, 2.292, 2.488, 2.728, 3.032, 3.418, 3.9, 4.487, 5.186",\
                 "2.508, 2.58, 2.751, 2.964, 3.214, 3.524, 3.911, 4.394, 4.982, 5.681",\
                 "2.967, 3.047, 3.239, 3.47, 3.733, 4.048, 4.438, 4.92, 5.508, 6.208",\
                 "3.458, 3.545, 3.754, 4.007, 4.285, 4.607, 4.999, 5.483, 6.069, 6.77");
        }

        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.003859, 0.0139, 0.03306, 0.06293, 0.1048, 0.16, 0.2294, 0.3142, 0.4153");
          values("0.3806, 0.4354, 0.6127, 0.9385, 1.44, 2.143, 3.065, 4.224, 5.639, 7.334",\
                 "0.4103, 0.4652, 0.6427, 0.9684, 1.47, 2.17, 3.095, 4.255, 5.667, 7.364",\
                 "0.5155, 0.5699, 0.7463, 1.072, 1.574, 2.276, 3.201, 4.36, 5.772, 7.467",\
                 "0.6866, 0.7426, 0.9191, 1.245, 1.747, 2.45, 3.371, 4.53, 5.945, 7.642",\
                 "0.8568, 0.916, 1.096, 1.422, 1.924, 2.627, 3.549, 4.713, 6.132, 7.821",\
                 "1.009, 1.074, 1.259, 1.585, 2.088, 2.79, 3.712, 4.875, 6.286, 7.975",\
                 "1.139, 1.21, 1.403, 1.729, 2.231, 2.935, 3.856, 5.015, 6.432, 8.116",\
                 "1.239, 1.317, 1.521, 1.85, 2.352, 3.054, 3.975, 5.136, 6.55, 8.239",\
                 "1.307, 1.394, 1.612, 1.944, 2.444, 3.146, 4.068, 5.228, 6.644, 8.33",\
                 "1.339, 1.436, 1.67, 2.009, 2.507, 3.208, 4.131, 5.29, 6.705, 8.392");
        }

        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.003859, 0.0139, 0.03306, 0.06293, 0.1048, 0.16, 0.2294, 0.3142, 0.4153");
          values("0.1696, 0.208, 0.3236, 0.5296, 0.8546, 1.332, 1.978, 2.795, 3.797, 5.004",\
                 "0.1699, 0.208, 0.3235, 0.5301, 0.8555, 1.331, 1.978, 2.794, 3.804, 5.004",\
                 "0.1694, 0.2078, 0.3238, 0.5296, 0.856, 1.333, 1.977, 2.799, 3.803, 5.004",\
                 "0.1718, 0.2102, 0.325, 0.5304, 0.8558, 1.333, 1.978, 2.797, 3.801, 5.003",\
                 "0.1994, 0.2344, 0.3424, 0.5402, 0.8596, 1.333, 1.977, 2.796, 3.801, 4.998",\
                 "0.2446, 0.2816, 0.385, 0.5746, 0.8822, 1.344, 1.98, 2.799, 3.804, 5.004",\
                 "0.293, 0.334, 0.439, 0.6174, 0.915, 1.367, 1.993, 2.801, 3.803, 5",\
                 "0.3408, 0.387, 0.4964, 0.6668, 0.952, 1.389, 2.007, 2.813, 3.807, 4.997",\
                 "0.389, 0.4402, 0.5586, 0.7262, 0.9936, 1.415, 2.021, 2.822, 3.816, 5.006",\
                 "0.434, 0.49, 0.62, 0.792, 1.046, 1.45, 2.04, 2.834, 3.822, 5.014");
        }

        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.003859, 0.0139, 0.03306, 0.06293, 0.1048, 0.16, 0.2294, 0.3142, 0.4153");
          values("0.1804, 0.2565, 0.5343, 1.082, 1.936, 3.142, 4.725, 6.709, 9.103, 12.01",\
                 "0.1813, 0.2563, 0.5345, 1.082, 1.938, 3.136, 4.724, 6.711, 9.102, 12.01",\
                 "0.1812, 0.2565, 0.5354, 1.082, 1.936, 3.131, 4.714, 6.692, 9.107, 12.04",\
                 "0.1926, 0.265, 0.536, 1.08, 1.939, 3.14, 4.718, 6.699, 9.114, 12.01",\
                 "0.2164, 0.285, 0.545, 1.084, 1.935, 3.137, 4.72, 6.709, 9.12, 12.01",\
                 "0.247, 0.3098, 0.5574, 1.09, 1.938, 3.135, 4.714, 6.708, 9.129, 12.03",\
                 "0.2838, 0.3454, 0.574, 1.093, 1.945, 3.136, 4.714, 6.7, 9.123, 12.03",\
                 "0.323, 0.3832, 0.5978, 1.1, 1.944, 3.139, 4.71, 6.697, 9.112, 12.02",\
                 "0.3656, 0.4276, 0.6296, 1.11, 1.947, 3.142, 4.713, 6.699, 9.116, 12.01",\
                 "0.409, 0.477, 0.6712, 1.125, 1.953, 3.145, 4.718, 6.698, 9.122, 12");
        }
      }
    }
  }

