/*
 * 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__dlya_2) {
    area : 36.691200 ;

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

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

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "9.36684e-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.002505 ;
      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.9061 ;
      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.007247, 0.02917, 0.07105, 0.1363, 0.2278, 0.3483, 0.5, 0.6853, 0.9061");
          values("0.3754, 0.3563, 0.3147, 0.2814, 0.263, 0.2513, 0.2439, 0.2385, 0.2349, 0.2323",\
                 "0.375, 0.356, 0.3143, 0.281, 0.2626, 0.2512, 0.2435, 0.2382, 0.2346, 0.2319",\
                 "0.3767, 0.3576, 0.316, 0.2827, 0.2643, 0.2527, 0.2452, 0.2398, 0.2362, 0.2335",\
                 "0.3834, 0.3644, 0.3227, 0.2895, 0.271, 0.2594, 0.252, 0.2465, 0.243, 0.2402",\
                 "0.3953, 0.3761, 0.3344, 0.3013, 0.2828, 0.2712, 0.2638, 0.2585, 0.2549, 0.2523",\
                 "0.4133, 0.3943, 0.3527, 0.3192, 0.3008, 0.2893, 0.2818, 0.2766, 0.273, 0.2704",\
                 "0.4378, 0.4189, 0.3773, 0.344, 0.3256, 0.3141, 0.3064, 0.3012, 0.2975, 0.2949",\
                 "0.4693, 0.4503, 0.4088, 0.3753, 0.3569, 0.3456, 0.3378, 0.3325, 0.3289, 0.3262",\
                 "0.5082, 0.4892, 0.4475, 0.4141, 0.3957, 0.384, 0.3762, 0.3712, 0.3676, 0.3648",\
                 "0.5546, 0.5356, 0.494, 0.46, 0.4417, 0.4305, 0.4227, 0.4175, 0.4138, 0.4111");
        }

        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.007247, 0.02917, 0.07105, 0.1363, 0.2278, 0.3483, 0.5, 0.6853, 0.9061");
          values("0.2136, 0.2048, 0.1942, 0.1883, 0.1857, 0.1861, 0.1869, 0.1892, 0.1911, 0.1962",\
                 "0.2134, 0.2043, 0.1938, 0.1884, 0.1859, 0.1857, 0.188, 0.1895, 0.1911, 0.1959",\
                 "0.2152, 0.206, 0.1951, 0.1898, 0.1876, 0.1867, 0.1894, 0.1906, 0.1929, 0.198",\
                 "0.2198, 0.2105, 0.1996, 0.1943, 0.192, 0.1912, 0.1927, 0.1949, 0.199, 0.1998",\
                 "0.2294, 0.22, 0.2099, 0.204, 0.2017, 0.2016, 0.2031, 0.2046, 0.2076, 0.2121",\
                 "0.2442, 0.2347, 0.2235, 0.2186, 0.2176, 0.216, 0.2172, 0.2194, 0.2213, 0.2247",\
                 "0.2644, 0.255, 0.2449, 0.2386, 0.236, 0.2381, 0.2377, 0.2378, 0.2404, 0.2423",\
                 "0.2901, 0.2807, 0.2699, 0.2652, 0.2611, 0.2619, 0.2654, 0.2669, 0.266, 0.2668",\
                 "0.3223, 0.313, 0.3019, 0.2965, 0.2932, 0.2928, 0.2949, 0.3008, 0.3034, 0.3013",\
                 "0.3604, 0.351, 0.3403, 0.3342, 0.3311, 0.331, 0.3309, 0.3335, 0.3412, 0.3435");
        }
      }

      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.007247, 0.02917, 0.07105, 0.1363, 0.2278, 0.3483, 0.5, 0.6853, 0.9061");
          values("0.5535, 0.5827, 0.6549, 0.7543, 0.8802, 1.034, 1.224, 1.459, 1.745, 2.085",\
                 "0.5601, 0.5894, 0.6615, 0.7609, 0.8868, 1.04, 1.231, 1.466, 1.751, 2.092",\
                 "0.5947, 0.6238, 0.6959, 0.7954, 0.9213, 1.075, 1.265, 1.5, 1.786, 2.126",\
                 "0.6647, 0.6939, 0.7659, 0.8655, 0.9913, 1.145, 1.335, 1.57, 1.856, 2.196",\
                 "0.7626, 0.7918, 0.864, 0.9636, 1.089, 1.243, 1.433, 1.668, 1.954, 2.294",\
                 "0.8877, 0.9168, 0.989, 1.089, 1.214, 1.368, 1.558, 1.793, 2.079, 2.419",\
                 "1.04, 1.069, 1.141, 1.241, 1.366, 1.52, 1.71, 1.945, 2.231, 2.571",\
                 "1.218, 1.248, 1.32, 1.42, 1.545, 1.699, 1.889, 2.124, 2.41, 2.75",\
                 "1.426, 1.456, 1.527, 1.627, 1.753, 1.906, 2.096, 2.332, 2.617, 2.957",\
                 "1.664, 1.693, 1.766, 1.865, 1.991, 2.144, 2.335, 2.57, 2.855, 3.196");
        }

        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.007247, 0.02917, 0.07105, 0.1363, 0.2278, 0.3483, 0.5, 0.6853, 0.9061");
          values("0.3937, 0.4167, 0.4833, 0.5996, 0.7796, 1.033, 1.368, 1.788, 2.304, 2.917",\
                 "0.3995, 0.4227, 0.4891, 0.6056, 0.7856, 1.039, 1.374, 1.795, 2.31, 2.922",\
                 "0.4168, 0.4398, 0.5062, 0.6227, 0.8028, 1.056, 1.391, 1.812, 2.327, 2.94",\
                 "0.4266, 0.4495, 0.5159, 0.6325, 0.8124, 1.066, 1.4, 1.821, 2.337, 2.95",\
                 "0.4209, 0.4438, 0.5103, 0.6266, 0.8066, 1.061, 1.395, 1.817, 2.33, 2.945",\
                 "0.3963, 0.4191, 0.4856, 0.6022, 0.7821, 1.035, 1.37, 1.792, 2.306, 2.92",\
                 "0.3492, 0.3722, 0.439, 0.5553, 0.7351, 0.9883, 1.322, 1.743, 2.257, 2.871",\
                 "0.2787, 0.3016, 0.3679, 0.4847, 0.6645, 0.9181, 1.252, 1.673, 2.187, 2.8",\
                 "0.1817, 0.2048, 0.2713, 0.3877, 0.5675, 0.8212, 1.155, 1.576, 2.09, 2.702",\
                 "0.0569, 0.0798, 0.1465, 0.2627, 0.4427, 0.6963, 1.03, 1.451, 1.965, 2.578");
        }

        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.007247, 0.02917, 0.07105, 0.1363, 0.2278, 0.3483, 0.5, 0.6853, 0.9061");
          values("0.1202, 0.1485, 0.2163, 0.3173, 0.4623, 0.6671, 0.9528, 1.328, 1.798, 2.359",\
                 "0.1202, 0.1485, 0.2163, 0.3173, 0.462, 0.6673, 0.9532, 1.328, 1.797, 2.362",\
                 "0.1202, 0.1485, 0.216, 0.3173, 0.4621, 0.667, 0.953, 1.328, 1.796, 2.359",\
                 "0.1202, 0.1485, 0.2166, 0.3172, 0.462, 0.6672, 0.9532, 1.328, 1.798, 2.359",\
                 "0.1202, 0.1482, 0.2158, 0.3178, 0.4624, 0.667, 0.9516, 1.328, 1.798, 2.361",\
                 "0.12, 0.148, 0.2156, 0.3168, 0.4624, 0.667, 0.952, 1.327, 1.798, 2.362",\
                 "0.1202, 0.1482, 0.216, 0.3178, 0.4624, 0.6666, 0.9528, 1.328, 1.797, 2.359",\
                 "0.12, 0.1484, 0.2162, 0.3178, 0.462, 0.6666, 0.9526, 1.327, 1.797, 2.359",\
                 "0.12, 0.1484, 0.2162, 0.3174, 0.4622, 0.6668, 0.9516, 1.326, 1.795, 2.358",\
                 "0.12, 0.1484, 0.2164, 0.3172, 0.4622, 0.6666, 0.952, 1.329, 1.796, 2.358");
        }

        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.007247, 0.02917, 0.07105, 0.1363, 0.2278, 0.3483, 0.5, 0.6853, 0.9061");
          values("0.0643, 0.09186, 0.1881, 0.3797, 0.6923, 1.133, 1.715, 2.447, 3.339, 4.409",\
                 "0.0645, 0.09198, 0.188, 0.3797, 0.6924, 1.134, 1.716, 2.446, 3.342, 4.415",\
                 "0.06426, 0.09176, 0.1877, 0.3796, 0.6917, 1.133, 1.717, 2.449, 3.342, 4.408",\
                 "0.06422, 0.09186, 0.1881, 0.3796, 0.6919, 1.134, 1.715, 2.445, 3.347, 4.415",\
                 "0.06394, 0.09206, 0.1881, 0.3796, 0.6918, 1.135, 1.716, 2.448, 3.345, 4.405",\
                 "0.0638, 0.0924, 0.188, 0.3802, 0.6916, 1.134, 1.715, 2.449, 3.343, 4.415",\
                 "0.0652, 0.0918, 0.1882, 0.38, 0.6916, 1.132, 1.713, 2.444, 3.342, 4.403",\
                 "0.0648, 0.0922, 0.1884, 0.3798, 0.6918, 1.133, 1.712, 2.443, 3.338, 4.404",\
                 "0.0644, 0.0922, 0.1884, 0.3798, 0.693, 1.135, 1.713, 2.443, 3.336, 4.402",\
                 "0.0646, 0.0922, 0.1882, 0.3802, 0.6928, 1.133, 1.713, 2.444, 3.334, 4.399");
        }
      }
    }
  }

