/*
 * 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_2) {
    area : 39.513600 ;

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 0.7114 ;
      max_transition : 5.2 ;
      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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.005903, 0.02311, 0.05598, 0.1072, 0.179, 0.2736, 0.3927, 0.5381, 0.7114");
          values("0.3565, 0.3414, 0.3072, 0.2764, 0.2576, 0.2458, 0.2377, 0.232, 0.2279, 0.2251",\
                 "0.3561, 0.3409, 0.3067, 0.2758, 0.2574, 0.2454, 0.2373, 0.2316, 0.2275, 0.2246",\
                 "0.3577, 0.3425, 0.3083, 0.2775, 0.259, 0.247, 0.2389, 0.2332, 0.2291, 0.2263",\
                 "0.3641, 0.3489, 0.3147, 0.2839, 0.2654, 0.2533, 0.2453, 0.2396, 0.2356, 0.2326",\
                 "0.3763, 0.3612, 0.327, 0.2961, 0.2777, 0.2657, 0.2575, 0.2519, 0.2478, 0.2448",\
                 "0.395, 0.3797, 0.3456, 0.3149, 0.2963, 0.2844, 0.2763, 0.2706, 0.2664, 0.2635",\
                 "0.4209, 0.4058, 0.3716, 0.3408, 0.3223, 0.3104, 0.3023, 0.2966, 0.2925, 0.2895",\
                 "0.4551, 0.4398, 0.4057, 0.3748, 0.3565, 0.3444, 0.3362, 0.3305, 0.3263, 0.3233",\
                 "0.4975, 0.4823, 0.4481, 0.4171, 0.3986, 0.3866, 0.3784, 0.3727, 0.3686, 0.3656",\
                 "0.5486, 0.5334, 0.499, 0.468, 0.4495, 0.4375, 0.4293, 0.4237, 0.4196, 0.4165");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.005903, 0.02311, 0.05598, 0.1072, 0.179, 0.2736, 0.3927, 0.5381, 0.7114");
          values("0.2225, 0.2132, 0.2007, 0.1927, 0.1885, 0.1864, 0.1869, 0.1869, 0.189, 0.1893",\
                 "0.2224, 0.213, 0.201, 0.1926, 0.1884, 0.1863, 0.1869, 0.1866, 0.189, 0.1893",\
                 "0.2233, 0.2138, 0.2017, 0.1934, 0.1892, 0.1872, 0.1876, 0.1876, 0.1897, 0.19",\
                 "0.2274, 0.2179, 0.2058, 0.1976, 0.1931, 0.1912, 0.1912, 0.192, 0.194, 0.1943",\
                 "0.2367, 0.2273, 0.2148, 0.2067, 0.2022, 0.2006, 0.2009, 0.202, 0.2026, 0.203",\
                 "0.2516, 0.2421, 0.2302, 0.2224, 0.2173, 0.2159, 0.2157, 0.2164, 0.2174, 0.2181",\
                 "0.2734, 0.2641, 0.2515, 0.2427, 0.2394, 0.2378, 0.2369, 0.2377, 0.2379, 0.2411",\
                 "0.3017, 0.2922, 0.2797, 0.2711, 0.2666, 0.2655, 0.2675, 0.2668, 0.2682, 0.2676",\
                 "0.3373, 0.3278, 0.315, 0.3061, 0.3023, 0.2997, 0.301, 0.3046, 0.3049, 0.3036",\
                 "0.3802, 0.3705, 0.3578, 0.3502, 0.3435, 0.3425, 0.3399, 0.3435, 0.3492, 0.3507");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.005903, 0.02311, 0.05598, 0.1072, 0.179, 0.2736, 0.3927, 0.5381, 0.7114");
          values("0.892, 0.9298, 1.023, 1.153, 1.315, 1.511, 1.749, 2.038, 2.385, 2.798",\
                 "0.9, 0.9379, 1.032, 1.161, 1.323, 1.519, 1.757, 2.046, 2.393, 2.806",\
                 "0.9399, 0.9777, 1.071, 1.2, 1.362, 1.559, 1.797, 2.086, 2.433, 2.846",\
                 "1.025, 1.063, 1.157, 1.286, 1.448, 1.644, 1.882, 2.171, 2.518, 2.931",\
                 "1.15, 1.188, 1.282, 1.411, 1.573, 1.769, 2.008, 2.296, 2.643, 3.056",\
                 "1.31, 1.348, 1.441, 1.57, 1.732, 1.929, 2.167, 2.455, 2.802, 3.215",\
                 "1.505, 1.542, 1.636, 1.765, 1.927, 2.124, 2.362, 2.65, 2.998, 3.41",\
                 "1.734, 1.772, 1.865, 1.995, 2.157, 2.353, 2.591, 2.88, 3.227, 3.64",\
                 "1.998, 2.035, 2.129, 2.258, 2.421, 2.617, 2.855, 3.144, 3.491, 3.904",\
                 "2.297, 2.335, 2.429, 2.558, 2.72, 2.916, 3.154, 3.443, 3.79, 4.203");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.005903, 0.02311, 0.05598, 0.1072, 0.179, 0.2736, 0.3927, 0.5381, 0.7114");
          values("0.7492, 0.7792, 0.8623, 1.002, 1.214, 1.512, 1.904, 2.4, 3.005, 3.728",\
                 "0.7561, 0.7861, 0.8691, 1.009, 1.221, 1.519, 1.911, 2.407, 3.012, 3.735",\
                 "0.7764, 0.8063, 0.8894, 1.029, 1.241, 1.539, 1.931, 2.427, 3.032, 3.755",\
                 "0.7919, 0.8218, 0.905, 1.045, 1.257, 1.555, 1.947, 2.443, 3.048, 3.769",\
                 "0.7912, 0.8212, 0.904, 1.044, 1.256, 1.553, 1.946, 2.441, 3.047, 3.769",\
                 "0.7701, 0.7999, 0.8829, 1.023, 1.235, 1.532, 1.925, 2.421, 3.025, 3.748",\
                 "0.725, 0.7551, 0.8379, 0.978, 1.19, 1.487, 1.88, 2.375, 2.981, 3.702",\
                 "0.6524, 0.6822, 0.7655, 0.9055, 1.117, 1.415, 1.807, 2.302, 2.907, 3.63",\
                 "0.5489, 0.5789, 0.6618, 0.802, 1.014, 1.312, 1.704, 2.199, 2.804, 3.524",\
                 "0.4138, 0.4434, 0.5269, 0.6671, 0.8787, 1.177, 1.569, 2.064, 2.669, 3.389");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.005903, 0.02311, 0.05598, 0.1072, 0.179, 0.2736, 0.3927, 0.5381, 0.7114");
          values("0.1541, 0.1917, 0.2828, 0.4126, 0.5964, 0.845, 1.185, 1.631, 2.188, 2.867",\
                 "0.1538, 0.192, 0.282, 0.4122, 0.5958, 0.8462, 1.185, 1.628, 2.188, 2.868",\
                 "0.154, 0.192, 0.282, 0.4124, 0.5962, 0.8462, 1.184, 1.63, 2.189, 2.869",\
                 "0.154, 0.192, 0.2818, 0.4122, 0.596, 0.8458, 1.184, 1.628, 2.188, 2.869",\
                 "0.1538, 0.1916, 0.2814, 0.412, 0.5952, 0.8456, 1.183, 1.628, 2.188, 2.869",\
                 "0.1534, 0.191, 0.2814, 0.4122, 0.5962, 0.8464, 1.184, 1.63, 2.189, 2.869",\
                 "0.1538, 0.1914, 0.2816, 0.4116, 0.5954, 0.8458, 1.184, 1.629, 2.19, 2.867",\
                 "0.154, 0.1918, 0.2824, 0.412, 0.5956, 0.8462, 1.185, 1.631, 2.189, 2.869",\
                 "0.1544, 0.1916, 0.282, 0.4128, 0.5956, 0.845, 1.184, 1.627, 2.189, 2.868",\
                 "0.1538, 0.1918, 0.2816, 0.4122, 0.5962, 0.8456, 1.185, 1.63, 2.187, 2.865");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.005903, 0.02311, 0.05598, 0.1072, 0.179, 0.2736, 0.3927, 0.5381, 0.7114");
          values("0.0849, 0.1192, 0.234, 0.4549, 0.8164, 1.336, 2.019, 2.879, 3.939, 5.196",\
                 "0.08492, 0.119, 0.234, 0.455, 0.8164, 1.335, 2.019, 2.879, 3.939, 5.196",\
                 "0.0849, 0.1195, 0.2341, 0.4554, 0.8162, 1.336, 2.019, 2.879, 3.939, 5.196",\
                 "0.085, 0.1194, 0.234, 0.456, 0.8164, 1.335, 2.018, 2.882, 3.939, 5.193",\
                 "0.085, 0.1188, 0.2338, 0.4552, 0.8166, 1.336, 2.02, 2.883, 3.939, 5.195",\
                 "0.0842, 0.1194, 0.234, 0.455, 0.817, 1.335, 2.017, 2.882, 3.932, 5.188",\
                 "0.0844, 0.1186, 0.2338, 0.455, 0.817, 1.334, 2.018, 2.882, 3.938, 5.197",\
                 "0.0848, 0.1188, 0.2342, 0.4554, 0.8178, 1.334, 2.018, 2.881, 3.936, 5.196",\
                 "0.0854, 0.119, 0.2338, 0.4552, 0.8162, 1.335, 2.017, 2.88, 3.93, 5.186",\
                 "0.0852, 0.1192, 0.2346, 0.4556, 0.8168, 1.334, 2.019, 2.88, 3.931, 5.183");
        }
      }
    }
  }

