/*
 * 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_mcu9t5v0__dlyb_2) {
    area : 42.336000 ;

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 0.9033 ;
      max_transition : 4.4 ;
      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.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          index_2("0.001, 0.007228, 0.02909, 0.07084, 0.1359, 0.2271, 0.3472, 0.4985, 0.6832, 0.9033");
          values("0.5402, 0.5165, 0.4581, 0.3937, 0.348, 0.3199, 0.3009, 0.2874, 0.2776, 0.2702",\
                 "0.5397, 0.5161, 0.4577, 0.3932, 0.3476, 0.3196, 0.3005, 0.287, 0.2772, 0.2698",\
                 "0.5409, 0.5172, 0.4589, 0.3943, 0.3488, 0.3208, 0.3015, 0.2882, 0.2783, 0.271",\
                 "0.5462, 0.5226, 0.4641, 0.3996, 0.3541, 0.3261, 0.307, 0.2934, 0.2836, 0.2762",\
                 "0.5564, 0.5328, 0.4744, 0.41, 0.3639, 0.3365, 0.3172, 0.3038, 0.2939, 0.2866",\
                 "0.5721, 0.5484, 0.4899, 0.4255, 0.3799, 0.352, 0.333, 0.3195, 0.3096, 0.3023",\
                 "0.594, 0.5704, 0.512, 0.4474, 0.4018, 0.3741, 0.3552, 0.3417, 0.3317, 0.3243",\
                 "0.6226, 0.599, 0.5406, 0.4763, 0.4305, 0.4026, 0.3838, 0.3701, 0.3602, 0.3529",\
                 "0.6582, 0.6348, 0.5765, 0.5119, 0.4662, 0.4386, 0.4193, 0.4058, 0.3959, 0.3885",\
                 "0.7016, 0.6782, 0.6197, 0.5551, 0.5093, 0.4815, 0.4621, 0.4489, 0.4389, 0.4315");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          index_2("0.001, 0.007228, 0.02909, 0.07084, 0.1359, 0.2271, 0.3472, 0.4985, 0.6832, 0.9033");
          values("0.2892, 0.2715, 0.2469, 0.2313, 0.2221, 0.2171, 0.2149, 0.2159, 0.2158, 0.2163",\
                 "0.2891, 0.2718, 0.2468, 0.2312, 0.2219, 0.2166, 0.2145, 0.2159, 0.2154, 0.2163",\
                 "0.2897, 0.2723, 0.2474, 0.2319, 0.222, 0.2171, 0.2153, 0.2156, 0.2176, 0.217",\
                 "0.2929, 0.2752, 0.2507, 0.2352, 0.2252, 0.2203, 0.2185, 0.2192, 0.2208, 0.2202",\
                 "0.3005, 0.2826, 0.2583, 0.2425, 0.2326, 0.2276, 0.2264, 0.2278, 0.2298, 0.2325",\
                 "0.3134, 0.2958, 0.2713, 0.256, 0.246, 0.2408, 0.2394, 0.2393, 0.2417, 0.2407",\
                 "0.3316, 0.3142, 0.2887, 0.2725, 0.2652, 0.2597, 0.2581, 0.258, 0.2586, 0.2598",\
                 "0.3557, 0.3377, 0.3124, 0.2964, 0.2874, 0.2842, 0.2822, 0.2822, 0.2827, 0.2836",\
                 "0.3859, 0.3681, 0.3432, 0.3268, 0.3165, 0.3115, 0.3121, 0.3142, 0.3155, 0.3127",\
                 "0.4219, 0.4044, 0.3796, 0.364, 0.3543, 0.3481, 0.3434, 0.347, 0.3533, 0.3541");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          index_2("0.001, 0.007228, 0.02909, 0.07084, 0.1359, 0.2271, 0.3472, 0.4985, 0.6832, 0.9033");
          values("0.9382, 0.9734, 1.061, 1.182, 1.331, 1.51, 1.718, 1.964, 2.254, 2.595",\
                 "0.9447, 0.9799, 1.068, 1.189, 1.338, 1.516, 1.725, 1.97, 2.261, 2.602",\
                 "0.9776, 1.013, 1.101, 1.222, 1.371, 1.549, 1.758, 2.003, 2.294, 2.635",\
                 "1.05, 1.085, 1.173, 1.294, 1.443, 1.621, 1.83, 2.076, 2.366, 2.707",\
                 "1.156, 1.192, 1.28, 1.401, 1.55, 1.728, 1.936, 2.182, 2.472, 2.814",\
                 "1.292, 1.328, 1.416, 1.536, 1.686, 1.864, 2.072, 2.318, 2.608, 2.949",\
                 "1.459, 1.494, 1.582, 1.703, 1.852, 2.03, 2.238, 2.484, 2.774, 3.116",\
                 "1.654, 1.689, 1.777, 1.899, 2.048, 2.226, 2.434, 2.68, 2.97, 3.311",\
                 "1.879, 1.915, 2.002, 2.124, 2.273, 2.451, 2.659, 2.905, 3.195, 3.536",\
                 "2.135, 2.17, 2.258, 2.379, 2.529, 2.706, 2.915, 3.161, 3.451, 3.792");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          index_2("0.001, 0.007228, 0.02909, 0.07084, 0.1359, 0.2271, 0.3472, 0.4985, 0.6832, 0.9033");
          values("0.7337, 0.7614, 0.8357, 0.9582, 1.139, 1.39, 1.722, 2.141, 2.654, 3.264",\
                 "0.7394, 0.7671, 0.8415, 0.9639, 1.144, 1.396, 1.728, 2.146, 2.659, 3.269",\
                 "0.757, 0.7848, 0.8589, 0.9814, 1.162, 1.413, 1.745, 2.164, 2.677, 3.286",\
                 "0.7721, 0.7996, 0.874, 0.9965, 1.177, 1.428, 1.76, 2.179, 2.692, 3.301",\
                 "0.773, 0.8007, 0.8751, 0.9975, 1.178, 1.429, 1.761, 2.18, 2.693, 3.305",\
                 "0.7574, 0.7851, 0.8594, 0.9818, 1.162, 1.414, 1.745, 2.164, 2.677, 3.288",\
                 "0.7217, 0.7495, 0.8237, 0.9461, 1.126, 1.378, 1.71, 2.129, 2.642, 3.253",\
                 "0.6621, 0.6898, 0.764, 0.8866, 1.067, 1.318, 1.65, 2.069, 2.581, 3.192",\
                 "0.5776, 0.6052, 0.6795, 0.8019, 0.9823, 1.234, 1.566, 1.985, 2.497, 3.107",\
                 "0.4648, 0.4926, 0.5669, 0.6893, 0.8698, 1.121, 1.453, 1.872, 2.383, 2.994");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          index_2("0.001, 0.007228, 0.02909, 0.07084, 0.1359, 0.2271, 0.3472, 0.4985, 0.6832, 0.9033");
          values("0.185, 0.2193, 0.305, 0.4218, 0.579, 0.7862, 1.054, 1.404, 1.85, 2.395",\
                 "0.1845, 0.2194, 0.305, 0.4216, 0.5788, 0.786, 1.054, 1.403, 1.848, 2.395",\
                 "0.1848, 0.2194, 0.3046, 0.4226, 0.579, 0.7854, 1.054, 1.403, 1.85, 2.393",\
                 "0.1844, 0.2196, 0.305, 0.4216, 0.579, 0.786, 1.054, 1.403, 1.848, 2.395",\
                 "0.1846, 0.2194, 0.3044, 0.4218, 0.578, 0.785, 1.053, 1.403, 1.847, 2.395",\
                 "0.1848, 0.2196, 0.3046, 0.4218, 0.5794, 0.7852, 1.054, 1.403, 1.85, 2.393",\
                 "0.1846, 0.219, 0.304, 0.4218, 0.578, 0.7856, 1.054, 1.403, 1.847, 2.393",\
                 "0.1842, 0.2192, 0.3048, 0.4214, 0.5782, 0.7856, 1.053, 1.403, 1.849, 2.395",\
                 "0.1846, 0.2194, 0.3044, 0.4214, 0.5786, 0.7848, 1.054, 1.403, 1.847, 2.396",\
                 "0.1848, 0.2196, 0.3046, 0.4222, 0.5794, 0.7856, 1.053, 1.402, 1.848, 2.392");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          index_2("0.001, 0.007228, 0.02909, 0.07084, 0.1359, 0.2271, 0.3472, 0.4985, 0.6832, 0.9033");
          values("0.09072, 0.1211, 0.2173, 0.4034, 0.7032, 1.136, 1.713, 2.444, 3.337, 4.396",\
                 "0.09074, 0.121, 0.2173, 0.4032, 0.7034, 1.136, 1.713, 2.445, 3.337, 4.396",\
                 "0.09046, 0.1201, 0.2173, 0.403, 0.703, 1.137, 1.714, 2.443, 3.337, 4.394",\
                 "0.09028, 0.1207, 0.2172, 0.403, 0.7032, 1.136, 1.714, 2.444, 3.337, 4.394",\
                 "0.0908, 0.1212, 0.2174, 0.403, 0.7028, 1.137, 1.715, 2.445, 3.337, 4.403",\
                 "0.0906, 0.1206, 0.2166, 0.403, 0.7016, 1.137, 1.715, 2.445, 3.337, 4.398",\
                 "0.0906, 0.1206, 0.2172, 0.4032, 0.702, 1.136, 1.714, 2.444, 3.336, 4.401",\
                 "0.091, 0.1208, 0.2178, 0.403, 0.703, 1.137, 1.713, 2.442, 3.334, 4.398",\
                 "0.0914, 0.1214, 0.2178, 0.403, 0.7028, 1.136, 1.714, 2.441, 3.33, 4.397",\
                 "0.0902, 0.1206, 0.2172, 0.4034, 0.7024, 1.136, 1.713, 2.442, 3.332, 4.391");
        }
      }
    }
  }

