/*
 * 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_4) {
    area : 48.294400 ;

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

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

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

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

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

    pin(I) {
      capacitance : 0.002727 ;
      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 : 1.437 ;
      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.01091, 0.04572, 0.1122, 0.2157, 0.361, 0.5522, 0.793, 1.087, 1.437");
          values("0.6635, 0.6315, 0.5535, 0.469, 0.4091, 0.3716, 0.3464, 0.328, 0.3149, 0.3049",\
                 "0.6631, 0.631, 0.5529, 0.4684, 0.4085, 0.371, 0.3457, 0.3274, 0.3141, 0.3043",\
                 "0.6635, 0.6314, 0.5534, 0.4689, 0.4089, 0.3714, 0.3458, 0.3279, 0.3146, 0.3047",\
                 "0.6667, 0.6347, 0.5567, 0.4722, 0.4121, 0.3748, 0.3496, 0.3313, 0.3181, 0.3081",\
                 "0.6735, 0.6415, 0.5635, 0.479, 0.4189, 0.3818, 0.3561, 0.3381, 0.3248, 0.3149",\
                 "0.684, 0.652, 0.5739, 0.4894, 0.4293, 0.3919, 0.3664, 0.3484, 0.3352, 0.3253",\
                 "0.6988, 0.6665, 0.5885, 0.5042, 0.4442, 0.4069, 0.3815, 0.3633, 0.3501, 0.3401",\
                 "0.7183, 0.6862, 0.608, 0.5237, 0.4638, 0.4266, 0.4011, 0.3829, 0.3697, 0.3598",\
                 "0.7424, 0.7104, 0.6324, 0.5482, 0.4882, 0.4507, 0.4256, 0.4072, 0.394, 0.384",\
                 "0.7725, 0.7403, 0.6624, 0.578, 0.518, 0.4808, 0.4553, 0.4372, 0.4238, 0.4139");
        }

        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.01091, 0.04572, 0.1122, 0.2157, 0.361, 0.5522, 0.793, 1.087, 1.437");
          values("0.324, 0.3022, 0.2743, 0.2566, 0.2461, 0.2418, 0.2399, 0.2403, 0.2448, 0.2613",\
                 "0.324, 0.3018, 0.2739, 0.2565, 0.2463, 0.2415, 0.2403, 0.241, 0.2412, 0.2616",\
                 "0.3241, 0.3018, 0.2742, 0.2565, 0.246, 0.2428, 0.2413, 0.2417, 0.2432, 0.2631",\
                 "0.3259, 0.3038, 0.2759, 0.2591, 0.2484, 0.2444, 0.2432, 0.2417, 0.2475, 0.2669",\
                 "0.3306, 0.3087, 0.2806, 0.2629, 0.2529, 0.2491, 0.2482, 0.2483, 0.2525, 0.2761",\
                 "0.3388, 0.3168, 0.2888, 0.2708, 0.2606, 0.2563, 0.2548, 0.2554, 0.2575, 0.2925",\
                 "0.351, 0.3288, 0.3003, 0.2828, 0.274, 0.2689, 0.2667, 0.2679, 0.2698, 0.3066",\
                 "0.3672, 0.3449, 0.3167, 0.2981, 0.2883, 0.2867, 0.2851, 0.2861, 0.2892, 0.3367",\
                 "0.388, 0.3659, 0.3379, 0.3199, 0.3079, 0.3028, 0.3046, 0.3069, 0.3136, 0.3764",\
                 "0.413, 0.3907, 0.3625, 0.3443, 0.333, 0.3289, 0.3261, 0.3305, 0.3446, 0.437");
        }
      }

      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.01091, 0.04572, 0.1122, 0.2157, 0.361, 0.5522, 0.793, 1.087, 1.437");
          values("2.238, 2.319, 2.521, 2.795, 3.125, 3.511, 3.949, 4.451, 5.027, 5.693",\
                 "2.253, 2.334, 2.536, 2.81, 3.14, 3.525, 3.964, 4.465, 5.042, 5.707",\
                 "2.321, 2.402, 2.604, 2.877, 3.208, 3.594, 4.032, 4.533, 5.11, 5.775",\
                 "2.466, 2.547, 2.749, 3.023, 3.353, 3.739, 4.177, 4.678, 5.255, 5.921",\
                 "2.677, 2.759, 2.961, 3.234, 3.565, 3.95, 4.389, 4.89, 5.467, 6.132",\
                 "2.94, 3.021, 3.224, 3.498, 3.828, 4.213, 4.652, 5.153, 5.729, 6.395",\
                 "3.258, 3.339, 3.542, 3.816, 4.145, 4.531, 4.969, 5.47, 6.047, 6.713",\
                 "3.634, 3.715, 3.917, 4.191, 4.522, 4.907, 5.345, 5.846, 6.422, 7.088",\
                 "4.067, 4.149, 4.35, 4.624, 4.954, 5.34, 5.779, 6.279, 6.856, 7.521",\
                 "4.558, 4.639, 4.841, 5.114, 5.445, 5.831, 6.27, 6.771, 7.347, 8.013");
        }

        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.01091, 0.04572, 0.1122, 0.2157, 0.361, 0.5522, 0.793, 1.087, 1.437");
          values("1.616, 1.677, 1.838, 2.091, 2.449, 2.937, 3.578, 4.387, 5.376, 6.554",\
                 "1.629, 1.69, 1.851, 2.105, 2.462, 2.95, 3.592, 4.401, 5.387, 6.565",\
                 "1.669, 1.73, 1.892, 2.145, 2.502, 2.991, 3.632, 4.44, 5.429, 6.606",\
                 "1.706, 1.767, 1.928, 2.182, 2.539, 3.027, 3.668, 4.477, 5.466, 6.646",\
                 "1.715, 1.775, 1.937, 2.19, 2.547, 3.036, 3.677, 4.485, 5.474, 6.651",\
                 "1.69, 1.751, 1.911, 2.165, 2.522, 3.011, 3.652, 4.461, 5.448, 6.628",\
                 "1.628, 1.689, 1.85, 2.103, 2.46, 2.949, 3.59, 4.399, 5.386, 6.566",\
                 "1.522, 1.583, 1.744, 1.997, 2.355, 2.843, 3.485, 4.293, 5.28, 6.461",\
                 "1.37, 1.431, 1.592, 1.846, 2.203, 2.691, 3.332, 4.14, 5.127, 6.303",\
                 "1.165, 1.226, 1.387, 1.64, 1.998, 2.486, 3.128, 3.936, 4.923, 6.1");
        }

        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.01091, 0.04572, 0.1122, 0.2157, 0.361, 0.5522, 0.793, 1.087, 1.437");
          values("0.4398, 0.5162, 0.7082, 0.965, 1.296, 1.712, 2.228, 2.887, 3.717, 4.741",\
                 "0.4392, 0.5166, 0.7074, 0.964, 1.295, 1.712, 2.227, 2.886, 3.716, 4.742",\
                 "0.4392, 0.516, 0.7068, 0.9648, 1.295, 1.712, 2.227, 2.887, 3.716, 4.741",\
                 "0.4392, 0.516, 0.7072, 0.964, 1.296, 1.709, 2.229, 2.888, 3.718, 4.741",\
                 "0.4408, 0.5162, 0.708, 0.965, 1.296, 1.709, 2.227, 2.886, 3.717, 4.737",\
                 "0.439, 0.5168, 0.7076, 0.9646, 1.294, 1.711, 2.229, 2.885, 3.715, 4.741",\
                 "0.438, 0.515, 0.7066, 0.964, 1.294, 1.712, 2.228, 2.889, 3.717, 4.741",\
                 "0.439, 0.5164, 0.7064, 0.963, 1.296, 1.71, 2.228, 2.888, 3.716, 4.74",\
                 "0.439, 0.5158, 0.7066, 0.9646, 1.294, 1.71, 2.225, 2.886, 3.718, 4.74",\
                 "0.439, 0.5162, 0.7084, 0.964, 1.294, 1.712, 2.228, 2.888, 3.716, 4.74");
        }

        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.01091, 0.04572, 0.1122, 0.2157, 0.361, 0.5522, 0.793, 1.087, 1.437");
          values("0.1906, 0.2544, 0.4568, 0.8176, 1.391, 2.232, 3.361, 4.791, 6.529, 8.617",\
                 "0.1922, 0.254, 0.4572, 0.817, 1.393, 2.233, 3.36, 4.787, 6.532, 8.606",\
                 "0.1916, 0.2544, 0.4574, 0.8174, 1.393, 2.233, 3.358, 4.791, 6.529, 8.608",\
                 "0.1914, 0.254, 0.4572, 0.8182, 1.393, 2.233, 3.362, 4.782, 6.529, 8.606",\
                 "0.1906, 0.2544, 0.4564, 0.8182, 1.393, 2.233, 3.36, 4.789, 6.54, 8.613",\
                 "0.1906, 0.2534, 0.4566, 0.8168, 1.393, 2.232, 3.361, 4.784, 6.525, 8.61",\
                 "0.1906, 0.254, 0.457, 0.8176, 1.391, 2.232, 3.36, 4.787, 6.536, 8.619",\
                 "0.1912, 0.2542, 0.4568, 0.8184, 1.391, 2.232, 3.357, 4.787, 6.534, 8.622",\
                 "0.1908, 0.2538, 0.4572, 0.8182, 1.393, 2.233, 3.359, 4.781, 6.529, 8.61",\
                 "0.1924, 0.2546, 0.4576, 0.8184, 1.391, 2.233, 3.358, 4.787, 6.523, 8.6");
        }
      }
    }
  }

