/*
 * 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__dlyc_1) {
    area : 56.448000 ;

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

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

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

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 0.3742 ;
      max_transition : 2.8 ;
      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.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.001, 0.003576, 0.01262, 0.02988, 0.05678, 0.09453, 0.1442, 0.2068, 0.2831, 0.3742");
          values("0.8495, 0.8327, 0.7895, 0.7394, 0.7024, 0.6782, 0.6609, 0.6484, 0.6391, 0.632",\
                 "0.8495, 0.8326, 0.7894, 0.7394, 0.7023, 0.6782, 0.6611, 0.6484, 0.6391, 0.6319",\
                 "0.855, 0.8384, 0.7952, 0.7449, 0.7078, 0.6838, 0.6664, 0.6539, 0.6446, 0.6375",\
                 "0.8727, 0.856, 0.8128, 0.7625, 0.7259, 0.7014, 0.6841, 0.6717, 0.6624, 0.6552",\
                 "0.9055, 0.8887, 0.8455, 0.7954, 0.7584, 0.734, 0.7169, 0.7045, 0.6952, 0.6879",\
                 "0.955, 0.9383, 0.8944, 0.845, 0.8079, 0.784, 0.7668, 0.7542, 0.7448, 0.7377",\
                 "1.023, 1.006, 0.9626, 0.9125, 0.8756, 0.8513, 0.8342, 0.8216, 0.8123, 0.8052",\
                 "1.11, 1.094, 1.05, 1, 0.963, 0.9392, 0.9221, 0.9096, 0.9001, 0.893",\
                 "1.218, 1.201, 1.158, 1.108, 1.072, 1.047, 1.03, 1.017, 1.008, 1.001",\
                 "1.348, 1.332, 1.288, 1.238, 1.201, 1.177, 1.16, 1.147, 1.138, 1.131");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.001, 0.003576, 0.01262, 0.02988, 0.05678, 0.09453, 0.1442, 0.2068, 0.2831, 0.3742");
          values("0.6514, 0.6396, 0.6194, 0.6015, 0.5898, 0.581, 0.5764, 0.5747, 0.5748, 0.5746",\
                 "0.6516, 0.6397, 0.6192, 0.6019, 0.5893, 0.5814, 0.5769, 0.5753, 0.5748, 0.5757",\
                 "0.6552, 0.6434, 0.6229, 0.6052, 0.5927, 0.5842, 0.581, 0.5786, 0.5786, 0.5785",\
                 "0.667, 0.6554, 0.6352, 0.6171, 0.6048, 0.5981, 0.5929, 0.5907, 0.5907, 0.5911",\
                 "0.6927, 0.6804, 0.6599, 0.6426, 0.6298, 0.6212, 0.6172, 0.6143, 0.6171, 0.6175",\
                 "0.7324, 0.7205, 0.6997, 0.6826, 0.6697, 0.6628, 0.658, 0.655, 0.6556, 0.656",\
                 "0.788, 0.7762, 0.7558, 0.7384, 0.7257, 0.7179, 0.7125, 0.7122, 0.7112, 0.7121",\
                 "0.8601, 0.848, 0.8268, 0.8091, 0.798, 0.792, 0.7858, 0.7837, 0.7832, 0.7831",\
                 "0.9501, 0.9384, 0.9175, 0.9004, 0.8867, 0.8791, 0.8796, 0.8745, 0.874, 0.8727",\
                 "1.058, 1.047, 1.027, 1.008, 0.9953, 0.9871, 0.9827, 0.9856, 0.9862, 0.9849");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.001, 0.003576, 0.01262, 0.02988, 0.05678, 0.09453, 0.1442, 0.2068, 0.2831, 0.3742");
          values("0.8483, 0.8646, 0.9094, 0.9752, 1.061, 1.168, 1.301, 1.464, 1.662, 1.898",\
                 "0.8524, 0.8686, 0.9135, 0.9797, 1.065, 1.172, 1.305, 1.468, 1.666, 1.902",\
                 "0.8735, 0.8899, 0.9346, 1, 1.086, 1.193, 1.326, 1.489, 1.687, 1.923",\
                 "0.9205, 0.9367, 0.9815, 1.048, 1.133, 1.24, 1.373, 1.536, 1.734, 1.971",\
                 "0.9931, 1.01, 1.054, 1.121, 1.206, 1.313, 1.446, 1.609, 1.807, 2.043",\
                 "1.088, 1.104, 1.149, 1.215, 1.3, 1.407, 1.54, 1.704, 1.902, 2.138",\
                 "1.203, 1.22, 1.264, 1.33, 1.416, 1.523, 1.656, 1.819, 2.017, 2.253",\
                 "1.338, 1.354, 1.399, 1.465, 1.55, 1.657, 1.79, 1.954, 2.152, 2.388",\
                 "1.492, 1.509, 1.553, 1.619, 1.705, 1.812, 1.945, 2.108, 2.306, 2.542",\
                 "1.668, 1.684, 1.729, 1.795, 1.88, 1.988, 2.121, 2.284, 2.482, 2.718");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.001, 0.003576, 0.01262, 0.02988, 0.05678, 0.09453, 0.1442, 0.2068, 0.2831, 0.3742");
          values("0.7931, 0.8069, 0.8478, 0.9199, 1.032, 1.19, 1.399, 1.664, 1.987, 2.373",\
                 "0.7959, 0.8098, 0.8507, 0.9229, 1.034, 1.192, 1.402, 1.666, 1.99, 2.377",\
                 "0.8053, 0.8192, 0.8602, 0.9324, 1.044, 1.202, 1.411, 1.676, 2, 2.386",\
                 "0.8145, 0.8284, 0.8693, 0.9414, 1.053, 1.211, 1.42, 1.685, 2.009, 2.395",\
                 "0.8156, 0.8295, 0.8704, 0.9425, 1.054, 1.212, 1.421, 1.686, 2.009, 2.396",\
                 "0.806, 0.8199, 0.8607, 0.9329, 1.044, 1.202, 1.412, 1.676, 2, 2.387",\
                 "0.7826, 0.7963, 0.8373, 0.9094, 1.021, 1.179, 1.388, 1.653, 1.977, 2.363",\
                 "0.7429, 0.7567, 0.7976, 0.8698, 0.9815, 1.14, 1.349, 1.613, 1.937, 2.323",\
                 "0.6864, 0.7002, 0.741, 0.8133, 0.9248, 1.083, 1.292, 1.557, 1.88, 2.267",\
                 "0.6121, 0.6261, 0.667, 0.739, 0.8507, 1.009, 1.218, 1.483, 1.806, 2.192");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.001, 0.003576, 0.01262, 0.02988, 0.05678, 0.09453, 0.1442, 0.2068, 0.2831, 0.3742");
          values("0.0996, 0.1173, 0.1637, 0.2334, 0.3356, 0.4782, 0.6736, 0.9296, 1.251, 1.637",\
                 "0.09958, 0.1169, 0.1637, 0.2332, 0.3354, 0.479, 0.6746, 0.9296, 1.251, 1.637",\
                 "0.0996, 0.1171, 0.1638, 0.2332, 0.3352, 0.479, 0.6736, 0.9296, 1.251, 1.637",\
                 "0.0996, 0.117, 0.1638, 0.2332, 0.3346, 0.479, 0.674, 0.9296, 1.251, 1.637",\
                 "0.0996, 0.1172, 0.1636, 0.2332, 0.3346, 0.4788, 0.6738, 0.9296, 1.251, 1.637",\
                 "0.0992, 0.117, 0.1632, 0.2334, 0.3354, 0.4792, 0.674, 0.93, 1.25, 1.638",\
                 "0.0996, 0.117, 0.1634, 0.2332, 0.3354, 0.4788, 0.6738, 0.9296, 1.251, 1.638",\
                 "0.0994, 0.117, 0.1636, 0.2332, 0.3346, 0.4784, 0.6738, 0.9294, 1.251, 1.637",\
                 "0.0992, 0.1166, 0.1634, 0.2334, 0.3352, 0.4784, 0.6742, 0.9304, 1.251, 1.637",\
                 "0.0988, 0.1168, 0.1638, 0.2336, 0.3346, 0.479, 0.674, 0.9292, 1.25, 1.639");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.001, 0.003576, 0.01262, 0.02988, 0.05678, 0.09453, 0.1442, 0.2068, 0.2831, 0.3742");
          values("0.06556, 0.08276, 0.1405, 0.2598, 0.453, 0.7286, 1.094, 1.552, 2.115, 2.784",\
                 "0.06528, 0.0828, 0.1407, 0.2599, 0.4534, 0.7286, 1.094, 1.552, 2.114, 2.782",\
                 "0.0656, 0.0828, 0.1404, 0.2601, 0.4528, 0.7284, 1.093, 1.553, 2.115, 2.787",\
                 "0.06526, 0.08266, 0.1403, 0.26, 0.4528, 0.7288, 1.093, 1.552, 2.115, 2.786",\
                 "0.0656, 0.0826, 0.1404, 0.2606, 0.4528, 0.7286, 1.094, 1.553, 2.114, 2.788",\
                 "0.0656, 0.0826, 0.1404, 0.2606, 0.4532, 0.7288, 1.093, 1.552, 2.115, 2.786",\
                 "0.065, 0.082, 0.1404, 0.2598, 0.4528, 0.7298, 1.095, 1.555, 2.114, 2.783",\
                 "0.0652, 0.0822, 0.1408, 0.2596, 0.4532, 0.729, 1.092, 1.552, 2.114, 2.784",\
                 "0.0656, 0.0828, 0.1408, 0.2598, 0.4536, 0.7296, 1.094, 1.552, 2.116, 2.785",\
                 "0.0652, 0.0822, 0.1404, 0.2596, 0.4524, 0.7288, 1.094, 1.554, 2.113, 2.781");
        }
      }
    }
  }

