/*
 * 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_3) {
    area : 21.952000 ;

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

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

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

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 0.5778 ;
      max_transition : 25 ;
      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.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
          index_2("0.001, 0.004981, 0.01896, 0.04564, 0.08722, 0.1456, 0.2223, 0.319, 0.4371, 0.5778");
          values("0.03842, 0.03866, 0.03928, 0.03981, 0.04015, 0.04035, 0.04047, 0.04054, 0.04059, 0.0406",\
                 "0.03825, 0.03852, 0.03915, 0.0397, 0.04003, 0.04023, 0.04035, 0.04041, 0.04046, 0.04048",\
                 "0.03794, 0.0382, 0.0388, 0.03936, 0.03971, 0.03991, 0.04003, 0.0401, 0.04014, 0.04016",\
                 "0.03763, 0.03785, 0.03842, 0.03895, 0.03934, 0.03957, 0.03971, 0.0398, 0.03985, 0.03986",\
                 "0.03734, 0.03753, 0.03803, 0.03856, 0.03899, 0.03928, 0.03946, 0.03957, 0.03964, 0.03962",\
                 "0.03716, 0.03734, 0.03775, 0.03826, 0.0387, 0.03902, 0.03925, 0.0394, 0.03946, 0.03933",\
                 "0.03711, 0.03725, 0.03761, 0.03809, 0.03852, 0.03888, 0.03911, 0.03928, 0.03924, 0.03865",\
                 "0.03715, 0.03726, 0.03756, 0.03799, 0.03841, 0.03878, 0.03902, 0.03896, 0.03809, 0.0365",\
                 "0.03704, 0.0371, 0.03736, 0.03774, 0.0381, 0.03812, 0.03689, 0.03498, 0.03355, 0.03253",\
                 "0.02082, 0.02001, 0.01892, 0.01852, 0.01852, 0.01868, 0.01886, 0.01903, 0.01916, 0.01926");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
          index_2("0.001, 0.004981, 0.01896, 0.04564, 0.08722, 0.1456, 0.2223, 0.319, 0.4371, 0.5778");
          values("0.02469, 0.02498, 0.02567, 0.02639, 0.02694, 0.02722, 0.02833, 0.04176, 0.1174, 0.2863",\
                 "0.02464, 0.02492, 0.02565, 0.02636, 0.02681, 0.02714, 0.02819, 0.04231, 0.1203, 0.2897",\
                 "0.02445, 0.02472, 0.02536, 0.02609, 0.0266, 0.0269, 0.02828, 0.0445, 0.1289, 0.3016",\
                 "0.02407, 0.02429, 0.02481, 0.02553, 0.02607, 0.02644, 0.02825, 0.05046, 0.1482, 0.3238",\
                 "0.02374, 0.02394, 0.02443, 0.02501, 0.02565, 0.02608, 0.02991, 0.06157, 0.1788, 0.3517",\
                 "0.02356, 0.02371, 0.02408, 0.02472, 0.02514, 0.0258, 0.03206, 0.08357, 0.2203, 0.3793",\
                 "0.02347, 0.02359, 0.02391, 0.02434, 0.02499, 0.02615, 0.04112, 0.1238, 0.2682, 0.3963",\
                 "0.02346, 0.02356, 0.02386, 0.02421, 0.02461, 0.02868, 0.06989, 0.1837, 0.3018, 0.3882",\
                 "0.02361, 0.02369, 0.02398, 0.02437, 0.02568, 0.04826, 0.1339, 0.2265, 0.2914, 0.3366",\
                 "0.02408, 0.02417, 0.02442, 0.02554, 0.05001, 0.1111, 0.1564, 0.1855, 0.2047, 0.2177");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
          index_2("0.001, 0.004981, 0.01896, 0.04564, 0.08722, 0.1456, 0.2223, 0.319, 0.4371, 0.5778");
          values("1.689, 1.784, 2.037, 2.397, 2.863, 3.457, 4.21, 5.146, 6.284, 7.64",\
                 "1.763, 1.859, 2.112, 2.472, 2.938, 3.532, 4.284, 5.221, 6.358, 7.714",\
                 "2.037, 2.133, 2.385, 2.746, 3.212, 3.806, 4.559, 5.494, 6.633, 7.989",\
                 "2.579, 2.674, 2.927, 3.288, 3.753, 4.348, 5.1, 6.037, 7.176, 8.533",\
                 "3.43, 3.526, 3.78, 4.141, 4.607, 5.202, 5.955, 6.892, 8.031, 9.388",\
                 "4.531, 4.636, 4.905, 5.277, 5.75, 6.348, 7.102, 8.038, 9.177, 10.53",\
                 "5.757, 5.877, 6.177, 6.577, 7.068, 7.678, 8.435, 9.373, 10.51, 11.87",\
                 "7.085, 7.22, 7.558, 7.989, 8.506, 9.128, 9.894, 10.83, 11.97, 13.33",\
                 "8.514, 8.669, 9.044, 9.513, 10.05, 10.7, 11.47, 12.42, 13.56, 14.91",\
                 "10.04, 10.21, 10.63, 11.14, 11.71, 12.38, 13.16, 14.11, 15.25, 16.6");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
          index_2("0.001, 0.004981, 0.01896, 0.04564, 0.08722, 0.1456, 0.2223, 0.319, 0.4371, 0.5778");
          values("1.044, 1.162, 1.541, 2.23, 3.288, 4.765, 6.704, 9.146, 12.14, 15.68",\
                 "1.115, 1.233, 1.613, 2.302, 3.36, 4.836, 6.775, 9.217, 12.21, 15.75",\
                 "1.365, 1.483, 1.86, 2.549, 3.608, 5.088, 7.03, 9.476, 12.45, 16",\
                 "1.828, 1.946, 2.322, 3.01, 4.07, 5.548, 7.497, 9.931, 12.91, 16.46",\
                 "2.402, 2.526, 2.909, 3.596, 4.655, 6.133, 8.078, 10.52, 13.5, 17.05",\
                 "2.998, 3.13, 3.524, 4.214, 5.272, 6.751, 8.694, 11.14, 14.13, 17.67",\
                 "3.6, 3.744, 4.153, 4.846, 5.906, 7.385, 9.325, 11.77, 14.75, 18.31",\
                 "4.197, 4.355, 4.783, 5.484, 6.54, 8.018, 9.962, 12.41, 15.39, 18.94",\
                 "4.777, 4.95, 5.405, 6.114, 7.172, 8.649, 10.59, 13.03, 16.02, 19.57",\
                 "5.324, 5.516, 6.003, 6.726, 7.783, 9.26, 11.2, 13.64, 16.62, 20.18");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
          index_2("0.001, 0.004981, 0.01896, 0.04564, 0.08722, 0.1456, 0.2223, 0.319, 0.4371, 0.5778");
          values("0.4666, 0.5458, 0.7862, 1.196, 1.819, 2.718, 3.94, 5.521, 7.463, 9.792",\
                 "0.4672, 0.5464, 0.786, 1.197, 1.819, 2.718, 3.94, 5.52, 7.459, 9.792",\
                 "0.4666, 0.5458, 0.7868, 1.196, 1.819, 2.717, 3.938, 5.519, 7.46, 9.793",\
                 "0.467, 0.5458, 0.787, 1.196, 1.821, 2.718, 3.943, 5.517, 7.464, 9.776",\
                 "0.475, 0.5528, 0.7918, 1.199, 1.821, 2.717, 3.94, 5.517, 7.457, 9.791",\
                 "0.5474, 0.6196, 0.8412, 1.233, 1.841, 2.727, 3.946, 5.514, 7.454, 9.78",\
                 "0.656, 0.73, 0.948, 1.324, 1.91, 2.774, 3.968, 5.526, 7.458, 9.782",\
                 "0.776, 0.854, 1.07, 1.434, 1.998, 2.842, 4.012, 5.554, 7.474, 9.786",\
                 "0.904, 0.986, 1.214, 1.562, 2.112, 2.922, 4.068, 5.588, 7.496, 9.792",\
                 "1.038, 1.128, 1.362, 1.706, 2.232, 3.018, 4.132, 5.638, 7.524, 9.822");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
          index_2("0.001, 0.004981, 0.01896, 0.04564, 0.08722, 0.1456, 0.2223, 0.319, 0.4371, 0.5778");
          values("0.471, 0.6276, 1.196, 2.322, 4.096, 6.577, 9.849, 13.95, 18.99, 24.98",\
                 "0.4702, 0.6284, 1.197, 2.323, 4.092, 6.575, 9.845, 13.96, 18.99, 24.96",\
                 "0.4718, 0.6288, 1.197, 2.324, 4.094, 6.578, 9.85, 13.97, 18.98, 24.96",\
                 "0.4788, 0.6334, 1.197, 2.326, 4.093, 6.575, 9.852, 13.98, 18.98, 25.01",\
                 "0.5214, 0.6688, 1.213, 2.326, 4.098, 6.578, 9.863, 13.96, 19.01, 24.96",\
                 "0.5836, 0.7212, 1.247, 2.341, 4.098, 6.576, 9.85, 13.98, 19, 24.96",\
                 "0.6576, 0.7882, 1.289, 2.356, 4.112, 6.58, 9.846, 13.98, 18.98, 25",\
                 "0.744, 0.87, 1.34, 2.382, 4.126, 6.594, 9.85, 13.97, 19.02, 25",\
                 "0.848, 0.97, 1.408, 2.41, 4.132, 6.604, 9.868, 13.97, 18.99, 25",\
                 "0.96, 1.084, 1.502, 2.452, 4.146, 6.61, 9.888, 13.98, 19, 24.98");
        }
      }
    }
  }

