/*
 * 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__dlyb_2) {
    area : 39.513600 ;

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

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

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "7.93122e-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.002712 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 0.7195 ;
      max_transition : 8.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.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005959, 0.02337, 0.05661, 0.1084, 0.1811, 0.2767, 0.3971, 0.5442, 0.7195");
          values("0.2765, 0.2644, 0.2389, 0.2185, 0.2067, 0.1992, 0.1941, 0.1907, 0.1883, 0.1866",\
                 "0.276, 0.264, 0.2385, 0.2179, 0.2062, 0.1986, 0.1937, 0.1902, 0.1878, 0.1861",\
                 "0.2764, 0.2644, 0.2389, 0.2184, 0.2066, 0.199, 0.194, 0.1907, 0.1882, 0.1865",\
                 "0.2797, 0.2677, 0.2422, 0.2216, 0.2098, 0.2023, 0.1974, 0.1939, 0.1916, 0.1898",\
                 "0.2865, 0.2745, 0.2489, 0.2284, 0.2166, 0.2092, 0.2042, 0.2008, 0.1983, 0.1966",\
                 "0.297, 0.285, 0.2594, 0.2389, 0.2272, 0.2196, 0.2147, 0.2113, 0.2089, 0.2071",\
                 "0.3118, 0.2998, 0.2744, 0.2538, 0.242, 0.2345, 0.2296, 0.2261, 0.2237, 0.222",\
                 "0.3313, 0.3192, 0.2938, 0.2732, 0.2615, 0.254, 0.2491, 0.2456, 0.2432, 0.2415",\
                 "0.3559, 0.3438, 0.3183, 0.2978, 0.2861, 0.2786, 0.2735, 0.2701, 0.2677, 0.2659",\
                 "0.3857, 0.3737, 0.3481, 0.3275, 0.3158, 0.3082, 0.3033, 0.2998, 0.2974, 0.2956");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005959, 0.02337, 0.05661, 0.1084, 0.1811, 0.2767, 0.3971, 0.5442, 0.7195");
          values("0.1738, 0.1677, 0.1603, 0.1557, 0.154, 0.1538, 0.1543, 0.1553, 0.1568, 0.1658",\
                 "0.1737, 0.1677, 0.1603, 0.1555, 0.1538, 0.1537, 0.1542, 0.1553, 0.1568, 0.1662",\
                 "0.1738, 0.1678, 0.1604, 0.1557, 0.1539, 0.154, 0.1542, 0.1556, 0.1565, 0.1668",\
                 "0.1755, 0.1696, 0.1623, 0.1578, 0.156, 0.156, 0.156, 0.1569, 0.1595, 0.1695",\
                 "0.1803, 0.1744, 0.1669, 0.1624, 0.1604, 0.1606, 0.1617, 0.1619, 0.1631, 0.175",\
                 "0.1885, 0.1825, 0.1753, 0.171, 0.1689, 0.1688, 0.1691, 0.1698, 0.1717, 0.1862",\
                 "0.2006, 0.1948, 0.1874, 0.1821, 0.1814, 0.1811, 0.1811, 0.1829, 0.1843, 0.2012",\
                 "0.2167, 0.2109, 0.2034, 0.1983, 0.1962, 0.1971, 0.1988, 0.1987, 0.2009, 0.2226",\
                 "0.2373, 0.2314, 0.2239, 0.2187, 0.2169, 0.2158, 0.2176, 0.2212, 0.2228, 0.252",\
                 "0.2622, 0.2562, 0.2488, 0.2436, 0.2419, 0.2409, 0.2404, 0.2436, 0.2535, 0.2944");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005959, 0.02337, 0.05661, 0.1084, 0.1811, 0.2767, 0.3971, 0.5442, 0.7195");
          values("1.628, 1.694, 1.858, 2.083, 2.36, 2.686, 3.074, 3.536, 4.086, 4.737",\
                 "1.643, 1.709, 1.873, 2.098, 2.374, 2.701, 3.088, 3.55, 4.101, 4.751",\
                 "1.71, 1.777, 1.941, 2.166, 2.442, 2.769, 3.156, 3.619, 4.169, 4.819",\
                 "1.856, 1.922, 2.086, 2.311, 2.587, 2.914, 3.302, 3.764, 4.314, 4.964",\
                 "2.067, 2.134, 2.298, 2.523, 2.799, 3.126, 3.513, 3.975, 4.526, 5.176",\
                 "2.33, 2.397, 2.561, 2.785, 3.062, 3.388, 3.776, 4.238, 4.788, 5.439",\
                 "2.648, 2.715, 2.879, 3.104, 3.38, 3.707, 4.094, 4.556, 5.107, 5.757",\
                 "3.024, 3.091, 3.255, 3.479, 3.756, 4.083, 4.47, 4.932, 5.483, 6.133",\
                 "3.458, 3.524, 3.688, 3.913, 4.19, 4.517, 4.904, 5.366, 5.917, 6.567",\
                 "3.95, 4.016, 4.181, 4.405, 4.681, 5.009, 5.396, 5.858, 6.409, 7.059");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005959, 0.02337, 0.05661, 0.1084, 0.1811, 0.2767, 0.3971, 0.5442, 0.7195");
          values("1.352, 1.404, 1.549, 1.784, 2.134, 2.621, 3.263, 4.073, 5.06, 6.24",\
                 "1.365, 1.417, 1.562, 1.798, 2.147, 2.634, 3.276, 4.086, 5.073, 6.253",\
                 "1.405, 1.457, 1.603, 1.838, 2.187, 2.675, 3.317, 4.126, 5.113, 6.293",\
                 "1.442, 1.494, 1.639, 1.875, 2.224, 2.712, 3.353, 4.162, 5.151, 6.33",\
                 "1.45, 1.502, 1.648, 1.883, 2.232, 2.719, 3.361, 4.171, 5.159, 6.339",\
                 "1.425, 1.477, 1.623, 1.858, 2.208, 2.695, 3.337, 4.146, 5.134, 6.31",\
                 "1.363, 1.416, 1.561, 1.796, 2.145, 2.632, 3.274, 4.084, 5.072, 6.252",\
                 "1.257, 1.31, 1.455, 1.691, 2.039, 2.527, 3.169, 3.977, 4.965, 6.141",\
                 "1.104, 1.156, 1.302, 1.537, 1.886, 2.373, 3.015, 3.824, 4.811, 5.988",\
                 "0.8981, 0.9504, 1.096, 1.331, 1.681, 2.168, 2.81, 3.618, 4.606, 5.783");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005959, 0.02337, 0.05661, 0.1084, 0.1811, 0.2767, 0.3971, 0.5442, 0.7195");
          values("0.2722, 0.3358, 0.4894, 0.711, 1.012, 1.408, 1.939, 2.634, 3.513, 4.582",\
                 "0.2722, 0.3358, 0.4894, 0.7124, 1.014, 1.408, 1.94, 2.634, 3.511, 4.582",\
                 "0.2724, 0.3356, 0.4894, 0.7126, 1.013, 1.408, 1.939, 2.635, 3.512, 4.582",\
                 "0.272, 0.3358, 0.4894, 0.7126, 1.012, 1.408, 1.938, 2.634, 3.511, 4.577",\
                 "0.2732, 0.3368, 0.4892, 0.712, 1.011, 1.408, 1.941, 2.636, 3.512, 4.58",\
                 "0.2722, 0.3356, 0.4892, 0.7118, 1.013, 1.41, 1.941, 2.635, 3.512, 4.581",\
                 "0.2716, 0.3362, 0.4888, 0.7108, 1.012, 1.407, 1.941, 2.636, 3.513, 4.582",\
                 "0.2732, 0.3358, 0.489, 0.7122, 1.011, 1.407, 1.939, 2.632, 3.512, 4.582",\
                 "0.2724, 0.3358, 0.4906, 0.712, 1.013, 1.408, 1.94, 2.632, 3.509, 4.581",\
                 "0.2732, 0.336, 0.4906, 0.712, 1.011, 1.409, 1.94, 2.634, 3.508, 4.576");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005959, 0.02337, 0.05661, 0.1084, 0.1811, 0.2767, 0.3971, 0.5442, 0.7195");
          values("0.145, 0.2046, 0.3992, 0.7612, 1.359, 2.213, 3.347, 4.772, 6.513, 8.592",\
                 "0.1456, 0.2046, 0.3994, 0.7612, 1.359, 2.214, 3.347, 4.772, 6.51, 8.593",\
                 "0.145, 0.2052, 0.3992, 0.7612, 1.356, 2.214, 3.347, 4.771, 6.51, 8.593",\
                 "0.145, 0.204, 0.3994, 0.7612, 1.358, 2.214, 3.347, 4.778, 6.514, 8.593",\
                 "0.1448, 0.2046, 0.3996, 0.761, 1.358, 2.215, 3.348, 4.772, 6.514, 8.593",\
                 "0.1452, 0.2046, 0.3992, 0.7618, 1.357, 2.212, 3.347, 4.772, 6.525, 8.592",\
                 "0.1458, 0.2044, 0.3994, 0.7622, 1.358, 2.212, 3.344, 4.771, 6.515, 8.593",\
                 "0.1452, 0.2046, 0.3994, 0.7622, 1.357, 2.211, 3.342, 4.775, 6.516, 8.597",\
                 "0.1448, 0.2058, 0.3998, 0.762, 1.358, 2.212, 3.343, 4.767, 6.51, 8.591",\
                 "0.1464, 0.2058, 0.4002, 0.7622, 1.359, 2.212, 3.343, 4.769, 6.51, 8.584");
        }
      }
    }
  }

