/*
 * 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__dlyc_2) {
    area : 59.270400 ;

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 0.4138 ;
      max_transition : 12 ;
      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.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.003849, 0.01385, 0.03295, 0.0627, 0.1044, 0.1594, 0.2286, 0.3131, 0.4138");
          values("0.0725, 0.07218, 0.07186, 0.0719, 0.0721, 0.07233, 0.07254, 0.0727, 0.07281, 0.0729",\
                 "0.0724, 0.07205, 0.07174, 0.07177, 0.07198, 0.07223, 0.07243, 0.07259, 0.07271, 0.07278",\
                 "0.07218, 0.07185, 0.07156, 0.07154, 0.07176, 0.072, 0.07221, 0.07238, 0.07249, 0.07258",\
                 "0.07206, 0.07175, 0.07141, 0.07145, 0.07163, 0.07187, 0.0721, 0.07225, 0.07237, 0.07246",\
                 "0.07202, 0.0717, 0.07141, 0.07139, 0.0716, 0.07184, 0.07207, 0.07223, 0.07234, 0.07242",\
                 "0.07211, 0.0718, 0.07149, 0.0715, 0.07171, 0.07192, 0.07215, 0.07231, 0.07242, 0.0725",\
                 "0.07226, 0.07195, 0.07162, 0.07163, 0.07184, 0.07208, 0.07229, 0.07247, 0.07258, 0.07265",\
                 "0.07255, 0.07223, 0.07194, 0.07193, 0.07214, 0.07237, 0.0726, 0.07274, 0.07284, 0.07286",\
                 "0.07297, 0.07267, 0.07235, 0.07236, 0.07256, 0.0728, 0.07298, 0.07314, 0.07318, 0.07297",\
                 "0.0735, 0.07317, 0.07286, 0.07286, 0.07307, 0.07329, 0.07345, 0.07346, 0.07308, 0.07221");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.003849, 0.01385, 0.03295, 0.0627, 0.1044, 0.1594, 0.2286, 0.3131, 0.4138");
          values("0.06053, 0.06058, 0.06075, 0.06107, 0.06152, 0.06201, 0.0625, 0.06319, 0.069, 0.1052",\
                 "0.06052, 0.06057, 0.06074, 0.06104, 0.06154, 0.062, 0.06239, 0.06314, 0.06907, 0.1061",\
                 "0.06039, 0.06043, 0.06064, 0.06095, 0.06137, 0.06189, 0.06234, 0.06306, 0.06933, 0.1091",\
                 "0.06019, 0.06024, 0.06043, 0.06072, 0.06123, 0.06167, 0.06213, 0.06298, 0.07037, 0.1155",\
                 "0.06006, 0.06012, 0.0603, 0.06059, 0.0611, 0.06164, 0.06211, 0.06323, 0.07286, 0.1258",\
                 "0.06004, 0.06009, 0.06029, 0.0606, 0.06114, 0.06165, 0.06206, 0.06328, 0.07697, 0.1416",\
                 "0.06014, 0.0602, 0.06041, 0.06071, 0.06119, 0.06165, 0.06226, 0.06445, 0.0834, 0.1659",\
                 "0.06036, 0.06041, 0.06058, 0.06091, 0.06139, 0.06187, 0.06248, 0.06621, 0.09569, 0.2011",\
                 "0.06069, 0.06078, 0.06094, 0.06129, 0.06173, 0.06223, 0.06298, 0.07036, 0.1183, 0.2503",\
                 "0.06115, 0.06122, 0.06143, 0.06173, 0.06217, 0.0627, 0.06432, 0.08061, 0.1597, 0.3119");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.003849, 0.01385, 0.03295, 0.0627, 0.1044, 0.1594, 0.2286, 0.3131, 0.4138");
          values("7.164, 7.283, 7.575, 7.941, 8.352, 8.807, 9.312, 9.879, 10.52, 11.25",\
                 "7.193, 7.311, 7.603, 7.97, 8.381, 8.835, 9.34, 9.907, 10.55, 11.28",\
                 "7.306, 7.424, 7.716, 8.083, 8.495, 8.949, 9.454, 10.02, 10.66, 11.4",\
                 "7.54, 7.658, 7.95, 8.317, 8.729, 9.183, 9.687, 10.25, 10.9, 11.63",\
                 "7.914, 8.032, 8.324, 8.691, 9.102, 9.558, 10.06, 10.63, 11.27, 12",\
                 "8.418, 8.537, 8.828, 9.195, 9.607, 10.06, 10.57, 11.13, 11.77, 12.51",\
                 "8.998, 9.117, 9.408, 9.775, 10.19, 10.64, 11.15, 11.71, 12.36, 13.09",\
                 "9.624, 9.742, 10.03, 10.4, 10.81, 11.27, 11.77, 12.34, 12.98, 13.71",\
                 "10.3, 10.42, 10.71, 11.07, 11.49, 11.94, 12.45, 13.01, 13.66, 14.39",\
                 "11.02, 11.14, 11.43, 11.8, 12.21, 12.66, 13.17, 13.73, 14.38, 15.11");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.003849, 0.01385, 0.03295, 0.0627, 0.1044, 0.1594, 0.2286, 0.3131, 0.4138");
          values("6.203, 6.291, 6.527, 6.886, 7.398, 8.101, 9.021, 10.18, 11.59, 13.27",\
                 "6.231, 6.32, 6.555, 6.914, 7.426, 8.129, 9.05, 10.21, 11.62, 13.3",\
                 "6.319, 6.407, 6.643, 7.002, 7.514, 8.217, 9.137, 10.29, 11.7, 13.39",\
                 "6.46, 6.549, 6.784, 7.143, 7.656, 8.358, 9.278, 10.44, 11.84, 13.53",\
                 "6.597, 6.685, 6.921, 7.28, 7.793, 8.496, 9.416, 10.57, 11.98, 13.66",\
                 "6.707, 6.795, 7.03, 7.39, 7.902, 8.605, 9.525, 10.68, 12.09, 13.77",\
                 "6.78, 6.869, 7.104, 7.463, 7.975, 8.678, 9.598, 10.76, 12.17, 13.85",\
                 "6.811, 6.9, 7.134, 7.494, 8.007, 8.71, 9.63, 10.79, 12.2, 13.88",\
                 "6.796, 6.884, 7.12, 7.48, 7.992, 8.695, 9.615, 10.77, 12.18, 13.86",\
                 "6.73, 6.818, 7.054, 7.413, 7.926, 8.629, 9.549, 10.7, 12.11, 13.79");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.003849, 0.01385, 0.03295, 0.0627, 0.1044, 0.1594, 0.2286, 0.3131, 0.4138");
          values("0.635, 0.7234, 0.9324, 1.217, 1.579, 2.035, 2.609, 3.327, 4.23, 5.33",\
                 "0.6354, 0.7236, 0.933, 1.216, 1.58, 2.037, 2.61, 3.328, 4.23, 5.334",\
                 "0.635, 0.7236, 0.9338, 1.215, 1.578, 2.036, 2.607, 3.33, 4.23, 5.332",\
                 "0.6354, 0.7234, 0.933, 1.215, 1.578, 2.037, 2.609, 3.328, 4.23, 5.33",\
                 "0.6348, 0.7232, 0.9338, 1.217, 1.578, 2.036, 2.608, 3.328, 4.232, 5.332",\
                 "0.634, 0.724, 0.934, 1.216, 1.578, 2.036, 2.608, 3.328, 4.23, 5.328",\
                 "0.634, 0.722, 0.934, 1.214, 1.58, 2.038, 2.606, 3.328, 4.23, 5.328",\
                 "0.636, 0.724, 0.932, 1.218, 1.58, 2.034, 2.61, 3.328, 4.228, 5.332",\
                 "0.634, 0.724, 0.934, 1.216, 1.578, 2.036, 2.608, 3.328, 4.23, 5.33",\
                 "0.636, 0.724, 0.934, 1.214, 1.578, 2.038, 2.606, 3.33, 4.232, 5.334");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
          index_2("0.001, 0.003849, 0.01385, 0.03295, 0.0627, 0.1044, 0.1594, 0.2286, 0.3131, 0.4138");
          values("0.3422, 0.4226, 0.6772, 1.169, 1.979, 3.156, 4.727, 6.701, 9.124, 11.99",\
                 "0.3436, 0.4224, 0.6786, 1.17, 1.981, 3.158, 4.723, 6.703, 9.122, 12.01",\
                 "0.3424, 0.4224, 0.6772, 1.17, 1.98, 3.16, 4.729, 6.705, 9.116, 12.01",\
                 "0.3434, 0.4226, 0.6774, 1.169, 1.98, 3.161, 4.724, 6.706, 9.116, 12.01",\
                 "0.3426, 0.4224, 0.6774, 1.168, 1.979, 3.159, 4.729, 6.704, 9.124, 12.01",\
                 "0.3436, 0.4222, 0.677, 1.169, 1.981, 3.159, 4.728, 6.704, 9.126, 12.01",\
                 "0.3418, 0.4226, 0.677, 1.169, 1.98, 3.162, 4.724, 6.704, 9.124, 12.01",\
                 "0.342, 0.422, 0.678, 1.168, 1.98, 3.16, 4.728, 6.7, 9.122, 12.01",\
                 "0.342, 0.422, 0.678, 1.17, 1.98, 3.16, 4.726, 6.706, 9.116, 12.01",\
                 "0.342, 0.422, 0.68, 1.168, 1.982, 3.156, 4.72, 6.698, 9.112, 12");
        }
      }
    }
  }

