/*
 * 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__dlyc_2) {
    area : 59.270400 ;

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

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

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

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 0.7075 ;
      max_transition : 15.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.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.005876, 0.02299, 0.05568, 0.1066, 0.1781, 0.2721, 0.3905, 0.5351, 0.7075");
          values("0.2803, 0.2715, 0.2536, 0.2401, 0.2325, 0.2277, 0.2247, 0.2225, 0.221, 0.2199",\
                 "0.2799, 0.2711, 0.2531, 0.2397, 0.2321, 0.2273, 0.2243, 0.2221, 0.2206, 0.2195",\
                 "0.2798, 0.271, 0.253, 0.2396, 0.232, 0.2272, 0.2242, 0.2221, 0.2206, 0.2194",\
                 "0.2814, 0.2726, 0.2546, 0.2413, 0.2336, 0.2289, 0.2258, 0.2236, 0.2221, 0.221",\
                 "0.2851, 0.2763, 0.2583, 0.2449, 0.2373, 0.2326, 0.2295, 0.2274, 0.2258, 0.2246",\
                 "0.2911, 0.2823, 0.2643, 0.251, 0.2433, 0.2385, 0.2355, 0.2334, 0.2318, 0.2304",\
                 "0.2995, 0.2908, 0.2728, 0.2594, 0.2518, 0.247, 0.2439, 0.2418, 0.2402, 0.2384",\
                 "0.3107, 0.3019, 0.2839, 0.2704, 0.2628, 0.2581, 0.255, 0.2528, 0.2508, 0.2481",\
                 "0.3247, 0.3159, 0.2979, 0.2845, 0.2769, 0.2721, 0.2689, 0.2662, 0.2628, 0.2585",\
                 "0.3414, 0.3326, 0.3146, 0.3013, 0.2935, 0.2884, 0.2838, 0.2783, 0.2731, 0.2694");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.005876, 0.02299, 0.05568, 0.1066, 0.1781, 0.2721, 0.3905, 0.5351, 0.7075");
          values("0.198, 0.1945, 0.1899, 0.1873, 0.1865, 0.1865, 0.1886, 0.2059, 0.3306, 0.7484",\
                 "0.1979, 0.1944, 0.1898, 0.1872, 0.1864, 0.1867, 0.1881, 0.2062, 0.3339, 0.7556",\
                 "0.1978, 0.1941, 0.1897, 0.1872, 0.1865, 0.1865, 0.1881, 0.2083, 0.3448, 0.7838",\
                 "0.1985, 0.195, 0.1905, 0.1879, 0.1873, 0.1876, 0.1891, 0.2128, 0.3662, 0.8329",\
                 "0.2009, 0.1973, 0.1926, 0.1902, 0.1895, 0.1901, 0.1918, 0.222, 0.4011, 0.907",\
                 "0.2053, 0.2016, 0.1972, 0.1945, 0.1941, 0.1942, 0.1973, 0.237, 0.4544, 1.01",\
                 "0.2118, 0.2082, 0.2038, 0.2012, 0.2005, 0.2007, 0.2054, 0.2635, 0.5371, 1.149",\
                 "0.2208, 0.2172, 0.2128, 0.2099, 0.2097, 0.2102, 0.2183, 0.308, 0.6625, 1.324",\
                 "0.2323, 0.2288, 0.2242, 0.2217, 0.2204, 0.2214, 0.2414, 0.3891, 0.84, 1.527",\
                 "0.2465, 0.243, 0.2385, 0.2356, 0.2348, 0.2359, 0.2818, 0.5355, 1.082, 1.721");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.005876, 0.02299, 0.05568, 0.1066, 0.1781, 0.2721, 0.3905, 0.5351, 0.7075");
          values("5.618, 5.748, 6.069, 6.502, 7.024, 7.626, 8.324, 9.142, 10.1, 11.23",\
                 "5.647, 5.778, 6.099, 6.532, 7.054, 7.655, 8.353, 9.172, 10.13, 11.26",\
                 "5.777, 5.908, 6.229, 6.662, 7.183, 7.785, 8.483, 9.301, 10.26, 11.39",\
                 "6.053, 6.183, 6.505, 6.937, 7.459, 8.06, 8.759, 9.577, 10.54, 11.66",\
                 "6.464, 6.594, 6.915, 7.348, 7.87, 8.472, 9.17, 9.988, 10.95, 12.07",\
                 "6.966, 7.097, 7.418, 7.851, 8.371, 8.975, 9.673, 10.49, 11.45, 12.58",\
                 "7.56, 7.69, 8.01, 8.444, 8.965, 9.567, 10.26, 11.08, 12.04, 13.17",\
                 "8.255, 8.385, 8.707, 9.138, 9.66, 10.26, 10.96, 11.78, 12.74, 13.86",\
                 "9.058, 9.189, 9.51, 9.943, 10.46, 11.07, 11.76, 12.58, 13.54, 14.67",\
                 "9.971, 10.1, 10.42, 10.86, 11.38, 11.98, 12.68, 13.5, 14.46, 15.58");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.005876, 0.02299, 0.05568, 0.1066, 0.1781, 0.2721, 0.3905, 0.5351, 0.7075");
          values("4.974, 5.078, 5.361, 5.803, 6.441, 7.326, 8.489, 9.954, 11.74, 13.87",\
                 "5.001, 5.105, 5.389, 5.83, 6.469, 7.353, 8.517, 9.981, 11.77, 13.9",\
                 "5.086, 5.19, 5.474, 5.915, 6.554, 7.439, 8.601, 10.07, 11.85, 13.98",\
                 "5.177, 5.282, 5.565, 6.006, 6.645, 7.53, 8.693, 10.16, 11.95, 14.08",\
                 "5.218, 5.322, 5.606, 6.047, 6.686, 7.571, 8.734, 10.2, 11.98, 14.11",\
                 "5.198, 5.302, 5.586, 6.027, 6.666, 7.55, 8.713, 10.18, 11.96, 14.1",\
                 "5.111, 5.215, 5.5, 5.941, 6.579, 7.464, 8.628, 10.09, 11.88, 14.01",\
                 "4.949, 5.054, 5.337, 5.779, 6.418, 7.301, 8.464, 9.929, 11.72, 13.85",\
                 "4.703, 4.808, 5.09, 5.532, 6.171, 7.056, 8.218, 9.682, 11.47, 13.6",\
                 "4.366, 4.47, 4.754, 5.195, 5.834, 6.719, 7.881, 9.345, 11.13, 13.26");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.005876, 0.02299, 0.05568, 0.1066, 0.1781, 0.2721, 0.3905, 0.5351, 0.7075");
          values("0.5322, 0.6554, 0.9512, 1.369, 1.912, 2.605, 3.52, 4.713, 6.219, 8.059",\
                 "0.532, 0.655, 0.9486, 1.37, 1.909, 2.608, 3.524, 4.712, 6.217, 8.052",\
                 "0.5322, 0.6554, 0.949, 1.366, 1.911, 2.605, 3.52, 4.712, 6.219, 8.058",\
                 "0.5336, 0.655, 0.9488, 1.366, 1.909, 2.605, 3.523, 4.711, 6.219, 8.058",\
                 "0.532, 0.6552, 0.9486, 1.366, 1.91, 2.608, 3.524, 4.712, 6.212, 8.058",\
                 "0.5346, 0.6554, 0.9486, 1.369, 1.91, 2.61, 3.52, 4.714, 6.218, 8.058",\
                 "0.532, 0.656, 0.95, 1.368, 1.912, 2.606, 3.524, 4.712, 6.216, 8.05",\
                 "0.532, 0.654, 0.95, 1.368, 1.912, 2.606, 3.524, 4.712, 6.218, 8.052",\
                 "0.532, 0.654, 0.948, 1.366, 1.91, 2.608, 3.526, 4.714, 6.22, 8.052",\
                 "0.532, 0.656, 0.948, 1.368, 1.912, 2.604, 3.526, 4.708, 6.21, 8.056");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
          index_2("0.001, 0.005876, 0.02299, 0.05568, 0.1066, 0.1781, 0.2721, 0.3905, 0.5351, 0.7075");
          values("0.2858, 0.4036, 0.7636, 1.411, 2.479, 4.026, 6.07, 8.661, 11.82, 15.56",\
                 "0.2858, 0.405, 0.7614, 1.412, 2.475, 4.028, 6.07, 8.653, 11.8, 15.57",\
                 "0.2858, 0.4046, 0.7616, 1.411, 2.48, 4.021, 6.067, 8.662, 11.81, 15.57",\
                 "0.2842, 0.4034, 0.7618, 1.412, 2.477, 4.029, 6.07, 8.662, 11.82, 15.57",\
                 "0.2848, 0.404, 0.7646, 1.411, 2.477, 4.022, 6.075, 8.661, 11.81, 15.57",\
                 "0.2858, 0.4044, 0.762, 1.412, 2.476, 4.028, 6.081, 8.666, 11.81, 15.58",\
                 "0.2844, 0.405, 0.7616, 1.41, 2.479, 4.026, 6.068, 8.65, 11.82, 15.57",\
                 "0.284, 0.404, 0.762, 1.41, 2.478, 4.024, 6.072, 8.658, 11.82, 15.57",\
                 "0.284, 0.404, 0.764, 1.41, 2.476, 4.018, 6.066, 8.652, 11.8, 15.57",\
                 "0.284, 0.406, 0.762, 1.412, 2.478, 4.026, 6.074, 8.652, 11.8, 15.57");
        }
      }
    }
  }

