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

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

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

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

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 0.4939 ;
      max_transition : 7 ;
      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.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
          index_2("0.001, 0.004402, 0.01634, 0.03915, 0.07468, 0.1245, 0.1901, 0.2728, 0.3737, 0.4939");
          values("0.3881, 0.3758, 0.3487, 0.3263, 0.3129, 0.3045, 0.299, 0.2951, 0.2923, 0.2903",\
                 "0.3874, 0.375, 0.3479, 0.3254, 0.3122, 0.3037, 0.2982, 0.2943, 0.2915, 0.2894",\
                 "0.3884, 0.3759, 0.349, 0.3265, 0.3132, 0.3047, 0.2992, 0.2953, 0.2926, 0.2905",\
                 "0.3951, 0.3827, 0.3556, 0.3331, 0.3199, 0.3115, 0.3059, 0.302, 0.2992, 0.2972",\
                 "0.4084, 0.396, 0.369, 0.3466, 0.3332, 0.3248, 0.3193, 0.3153, 0.3125, 0.3105",\
                 "0.4284, 0.416, 0.3888, 0.3666, 0.3533, 0.3449, 0.3393, 0.3354, 0.3325, 0.3306",\
                 "0.4559, 0.4434, 0.4166, 0.3941, 0.3807, 0.3722, 0.3666, 0.3627, 0.3599, 0.3579",\
                 "0.4914, 0.4789, 0.452, 0.4293, 0.4163, 0.4077, 0.402, 0.3982, 0.3954, 0.3934",\
                 "0.535, 0.5226, 0.4955, 0.4729, 0.4598, 0.4512, 0.4456, 0.4416, 0.4388, 0.4368",\
                 "0.5872, 0.5747, 0.5476, 0.5251, 0.5118, 0.5033, 0.4976, 0.4937, 0.4908, 0.4889");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
          index_2("0.001, 0.004402, 0.01634, 0.03915, 0.07468, 0.1245, 0.1901, 0.2728, 0.3737, 0.4939");
          values("0.2491, 0.2429, 0.2342, 0.2292, 0.2274, 0.227, 0.2279, 0.2297, 0.2306, 0.2359",\
                 "0.2488, 0.2428, 0.2341, 0.229, 0.2273, 0.2275, 0.2281, 0.2297, 0.2306, 0.2355",\
                 "0.2498, 0.2437, 0.2351, 0.23, 0.228, 0.2286, 0.2287, 0.2306, 0.2319, 0.2368",\
                 "0.2546, 0.2486, 0.2398, 0.2347, 0.2328, 0.2329, 0.2332, 0.2355, 0.2364, 0.2418",\
                 "0.2643, 0.2582, 0.2498, 0.2443, 0.2425, 0.2426, 0.2428, 0.2441, 0.2466, 0.2517",\
                 "0.2801, 0.2743, 0.2652, 0.2607, 0.2585, 0.2587, 0.259, 0.2607, 0.2628, 0.2669",\
                 "0.3023, 0.2962, 0.2877, 0.2819, 0.2804, 0.2815, 0.282, 0.2832, 0.2835, 0.2903",\
                 "0.3309, 0.3249, 0.3158, 0.3098, 0.3071, 0.3083, 0.3118, 0.3129, 0.3136, 0.3182",\
                 "0.3667, 0.3606, 0.3517, 0.3455, 0.3432, 0.3426, 0.3448, 0.3494, 0.3522, 0.3595",\
                 "0.4099, 0.4038, 0.395, 0.3886, 0.386, 0.3852, 0.385, 0.389, 0.3948, 0.4067");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
          index_2("0.001, 0.004402, 0.01634, 0.03915, 0.07468, 0.1245, 0.1901, 0.2728, 0.3737, 0.4939");
          values("0.9952, 1.039, 1.156, 1.325, 1.54, 1.806, 2.133, 2.536, 3.023, 3.603",\
                 "1.005, 1.05, 1.167, 1.335, 1.55, 1.816, 2.143, 2.546, 3.033, 3.613",\
                 "1.06, 1.104, 1.221, 1.389, 1.604, 1.87, 2.198, 2.6, 3.087, 3.667",\
                 "1.177, 1.221, 1.339, 1.507, 1.722, 1.988, 2.315, 2.718, 3.205, 3.785",\
                 "1.346, 1.39, 1.507, 1.675, 1.89, 2.156, 2.484, 2.886, 3.373, 3.953",\
                 "1.558, 1.602, 1.719, 1.887, 2.103, 2.369, 2.696, 3.098, 3.586, 4.165",\
                 "1.814, 1.859, 1.976, 2.144, 2.359, 2.625, 2.953, 3.355, 3.842, 4.422",\
                 "2.115, 2.159, 2.277, 2.445, 2.66, 2.926, 3.254, 3.656, 4.144, 4.723",\
                 "2.462, 2.506, 2.623, 2.792, 3.007, 3.273, 3.601, 4.003, 4.49, 5.07",\
                 "2.857, 2.902, 3.02, 3.188, 3.403, 3.669, 3.997, 4.399, 4.886, 5.466");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
          index_2("0.001, 0.004402, 0.01634, 0.03915, 0.07468, 0.1245, 0.1901, 0.2728, 0.3737, 0.4939");
          values("0.7619, 0.7979, 0.9044, 1.086, 1.362, 1.749, 2.259, 2.904, 3.69, 4.627",\
                 "0.7716, 0.8077, 0.9141, 1.096, 1.372, 1.759, 2.269, 2.914, 3.699, 4.636",\
                 "0.8042, 0.8404, 0.9467, 1.128, 1.404, 1.792, 2.303, 2.946, 3.732, 4.669",\
                 "0.8334, 0.8696, 0.9758, 1.157, 1.433, 1.821, 2.332, 2.974, 3.761, 4.699",\
                 "0.8373, 0.8734, 0.9799, 1.161, 1.437, 1.824, 2.336, 2.979, 3.765, 4.703",\
                 "0.8118, 0.8479, 0.9545, 1.136, 1.411, 1.799, 2.309, 2.952, 3.74, 4.678",\
                 "0.7511, 0.7873, 0.8937, 1.075, 1.351, 1.738, 2.248, 2.891, 3.677, 4.614",\
                 "0.652, 0.6882, 0.7946, 0.976, 1.252, 1.639, 2.149, 2.792, 3.576, 4.513",\
                 "0.5123, 0.5485, 0.6549, 0.8361, 1.112, 1.499, 2.01, 2.653, 3.437, 4.372",\
                 "0.3283, 0.3644, 0.4711, 0.6519, 0.9283, 1.315, 1.826, 2.468, 3.252, 4.188");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
          index_2("0.001, 0.004402, 0.01634, 0.03915, 0.07468, 0.1245, 0.1901, 0.2728, 0.3737, 0.4939");
          values("0.2071, 0.2515, 0.367, 0.5472, 0.8076, 1.171, 1.669, 2.318, 3.13, 4.106",\
                 "0.2067, 0.2514, 0.367, 0.548, 0.8086, 1.172, 1.669, 2.319, 3.132, 4.106",\
                 "0.207, 0.2516, 0.3668, 0.5466, 0.8088, 1.171, 1.669, 2.319, 3.13, 4.106",\
                 "0.2066, 0.2514, 0.367, 0.5466, 0.8086, 1.171, 1.668, 2.318, 3.128, 4.106",\
                 "0.2072, 0.2516, 0.3668, 0.5474, 0.8088, 1.171, 1.67, 2.319, 3.129, 4.104",\
                 "0.2066, 0.251, 0.3662, 0.5468, 0.8078, 1.171, 1.67, 2.32, 3.129, 4.107",\
                 "0.207, 0.2516, 0.3674, 0.5476, 0.8076, 1.172, 1.669, 2.319, 3.128, 4.106",\
                 "0.2072, 0.2512, 0.3672, 0.5468, 0.8088, 1.172, 1.669, 2.32, 3.129, 4.108",\
                 "0.207, 0.2514, 0.3678, 0.5472, 0.8084, 1.171, 1.667, 2.318, 3.129, 4.105",\
                 "0.2074, 0.2516, 0.3674, 0.548, 0.8086, 1.171, 1.668, 2.319, 3.126, 4.101");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
          index_2("0.001, 0.004402, 0.01634, 0.03915, 0.07468, 0.1245, 0.1901, 0.2728, 0.3737, 0.4939");
          values("0.1318, 0.1767, 0.3306, 0.6302, 1.118, 1.815, 2.734, 3.891, 5.302, 6.984",\
                 "0.1326, 0.1767, 0.3307, 0.6302, 1.117, 1.816, 2.735, 3.891, 5.302, 6.984",\
                 "0.132, 0.1766, 0.3308, 0.629, 1.119, 1.816, 2.733, 3.892, 5.299, 6.984",\
                 "0.1318, 0.1768, 0.3308, 0.6292, 1.119, 1.816, 2.732, 3.891, 5.299, 6.984",\
                 "0.1318, 0.1768, 0.3314, 0.63, 1.119, 1.816, 2.732, 3.89, 5.299, 6.996",\
                 "0.132, 0.1766, 0.3306, 0.6288, 1.118, 1.813, 2.734, 3.888, 5.305, 6.996",\
                 "0.1322, 0.1772, 0.3308, 0.6306, 1.118, 1.813, 2.734, 3.888, 5.296, 6.98",\
                 "0.1318, 0.1772, 0.331, 0.6294, 1.119, 1.814, 2.732, 3.886, 5.307, 6.988",\
                 "0.1328, 0.1772, 0.3314, 0.6302, 1.118, 1.814, 2.73, 3.886, 5.296, 6.991",\
                 "0.1318, 0.1776, 0.3308, 0.6304, 1.118, 1.813, 2.732, 3.89, 5.296, 6.981");
        }
      }
    }
  }

