/*
 * 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_1) {
    area : 54.880000 ;

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

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

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

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 0.2525 ;
      max_transition : 5 ;
      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.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.002736, 0.008829, 0.02046, 0.03859, 0.06403, 0.09749, 0.1397, 0.1911, 0.2525");
          values("0.4596, 0.4547, 0.4433, 0.4339, 0.4276, 0.4232, 0.4203, 0.4182, 0.4166, 0.4156",\
                 "0.459, 0.4541, 0.4428, 0.4333, 0.427, 0.4227, 0.4197, 0.4176, 0.4161, 0.415",\
                 "0.4592, 0.4542, 0.443, 0.4335, 0.4271, 0.4228, 0.4199, 0.4178, 0.4163, 0.4151",\
                 "0.4629, 0.4581, 0.4468, 0.4374, 0.431, 0.4267, 0.4237, 0.4216, 0.4201, 0.419",\
                 "0.4715, 0.4666, 0.4553, 0.4459, 0.4396, 0.4353, 0.4324, 0.4302, 0.4287, 0.4276",\
                 "0.4853, 0.4803, 0.4691, 0.4597, 0.4534, 0.449, 0.4461, 0.4439, 0.4424, 0.4413",\
                 "0.5046, 0.4997, 0.4883, 0.4789, 0.4727, 0.4682, 0.4654, 0.4631, 0.4617, 0.4606",\
                 "0.5297, 0.5247, 0.5134, 0.5039, 0.4976, 0.4933, 0.4904, 0.4883, 0.4868, 0.4857",\
                 "0.5613, 0.5562, 0.545, 0.5357, 0.5293, 0.5249, 0.5219, 0.5199, 0.5184, 0.5173",\
                 "0.5997, 0.5947, 0.5834, 0.5739, 0.5678, 0.5634, 0.5604, 0.5584, 0.5568, 0.5556");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.002736, 0.008829, 0.02046, 0.03859, 0.06403, 0.09749, 0.1397, 0.1911, 0.2525");
          values("0.3722, 0.3703, 0.3665, 0.3624, 0.3608, 0.3595, 0.3603, 0.3603, 0.3613, 0.3614",\
                 "0.3721, 0.3702, 0.3659, 0.3621, 0.3605, 0.3593, 0.3601, 0.3601, 0.361, 0.3614",\
                 "0.3723, 0.3704, 0.3662, 0.3628, 0.3603, 0.3597, 0.36, 0.3606, 0.3611, 0.3614",\
                 "0.3743, 0.3723, 0.3681, 0.3642, 0.3628, 0.3619, 0.3621, 0.3627, 0.3631, 0.3648",\
                 "0.3795, 0.3777, 0.3733, 0.3698, 0.3679, 0.3675, 0.3674, 0.3679, 0.3684, 0.3693",\
                 "0.3895, 0.3875, 0.3836, 0.3801, 0.3779, 0.3771, 0.3776, 0.3774, 0.3788, 0.3787",\
                 "0.4043, 0.4023, 0.3981, 0.3947, 0.3927, 0.3925, 0.3926, 0.3933, 0.3938, 0.3936",\
                 "0.4247, 0.4227, 0.4182, 0.4153, 0.4131, 0.4121, 0.4129, 0.4129, 0.4141, 0.4143",\
                 "0.4507, 0.4485, 0.4449, 0.4405, 0.4385, 0.4387, 0.4389, 0.4387, 0.44, 0.4408",\
                 "0.4825, 0.4805, 0.4763, 0.4723, 0.4704, 0.47, 0.4703, 0.472, 0.4729, 0.4728");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.002736, 0.008829, 0.02046, 0.03859, 0.06403, 0.09749, 0.1397, 0.1911, 0.2525");
          values("2.097, 2.128, 2.219, 2.352, 2.526, 2.739, 3, 3.317, 3.7, 4.154",\
                 "2.104, 2.136, 2.226, 2.36, 2.533, 2.747, 3.008, 3.325, 3.707, 4.161",\
                 "2.14, 2.172, 2.262, 2.396, 2.57, 2.783, 3.044, 3.361, 3.743, 4.197",\
                 "2.221, 2.253, 2.344, 2.477, 2.651, 2.864, 3.125, 3.442, 3.825, 4.279",\
                 "2.35, 2.383, 2.473, 2.607, 2.78, 2.994, 3.254, 3.572, 3.954, 4.408",\
                 "2.516, 2.548, 2.638, 2.773, 2.946, 3.159, 3.42, 3.737, 4.119, 4.574",\
                 "2.714, 2.746, 2.836, 2.97, 3.143, 3.357, 3.618, 3.935, 4.317, 4.771",\
                 "2.946, 2.978, 3.068, 3.202, 3.375, 3.589, 3.849, 4.167, 4.549, 5.003",\
                 "3.212, 3.244, 3.334, 3.468, 3.641, 3.855, 4.116, 4.433, 4.815, 5.269",\
                 "3.512, 3.543, 3.634, 3.768, 3.941, 4.154, 4.415, 4.732, 5.115, 5.569");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.002736, 0.008829, 0.02046, 0.03859, 0.06403, 0.09749, 0.1397, 0.1911, 0.2525");
          values("1.958, 1.984, 2.065, 2.201, 2.406, 2.693, 3.072, 3.549, 4.132, 4.828",\
                 "1.965, 1.992, 2.072, 2.208, 2.413, 2.701, 3.079, 3.557, 4.139, 4.835",\
                 "1.99, 2.017, 2.097, 2.234, 2.438, 2.726, 3.104, 3.582, 4.165, 4.86",\
                 "2.027, 2.053, 2.133, 2.269, 2.475, 2.762, 3.141, 3.618, 4.201, 4.897",\
                 "2.053, 2.08, 2.16, 2.296, 2.501, 2.789, 3.167, 3.645, 4.228, 4.923",\
                 "2.062, 2.089, 2.169, 2.305, 2.51, 2.798, 3.176, 3.654, 4.237, 4.932",\
                 "2.053, 2.079, 2.16, 2.296, 2.501, 2.788, 3.167, 3.644, 4.227, 4.923",\
                 "2.021, 2.047, 2.127, 2.264, 2.469, 2.757, 3.135, 3.612, 4.196, 4.891",\
                 "1.965, 1.99, 2.071, 2.207, 2.412, 2.7, 3.078, 3.555, 4.139, 4.834",\
                 "1.882, 1.908, 1.988, 2.124, 2.33, 2.617, 2.996, 3.473, 4.056, 4.75");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.002736, 0.008829, 0.02046, 0.03859, 0.06403, 0.09749, 0.1397, 0.1911, 0.2525");
          values("0.1876, 0.219, 0.3066, 0.449, 0.6498, 0.9228, 1.293, 1.778, 2.384, 3.12",\
                 "0.1878, 0.2188, 0.3068, 0.4484, 0.6496, 0.9236, 1.295, 1.777, 2.384, 3.121",\
                 "0.1876, 0.2192, 0.3066, 0.4484, 0.65, 0.9236, 1.294, 1.777, 2.384, 3.118",\
                 "0.1876, 0.2184, 0.307, 0.4486, 0.6492, 0.924, 1.293, 1.778, 2.384, 3.119",\
                 "0.1876, 0.2188, 0.307, 0.4492, 0.6496, 0.9228, 1.294, 1.778, 2.385, 3.119",\
                 "0.1874, 0.2188, 0.3064, 0.4482, 0.6494, 0.9238, 1.293, 1.777, 2.384, 3.119",\
                 "0.1876, 0.2198, 0.3072, 0.4488, 0.6492, 0.9228, 1.295, 1.778, 2.385, 3.119",\
                 "0.1882, 0.2198, 0.307, 0.4486, 0.6492, 0.9242, 1.294, 1.778, 2.385, 3.124",\
                 "0.1882, 0.2184, 0.3068, 0.4486, 0.6496, 0.923, 1.293, 1.778, 2.384, 3.122",\
                 "0.1874, 0.2188, 0.307, 0.4484, 0.6494, 0.9238, 1.293, 1.779, 2.384, 3.118");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.002736, 0.008829, 0.02046, 0.03859, 0.06403, 0.09749, 0.1397, 0.1911, 0.2525");
          values("0.1282, 0.1616, 0.2712, 0.4814, 0.824, 1.319, 1.971, 2.792, 3.802, 5.004",\
                 "0.1288, 0.1616, 0.2722, 0.4814, 0.8238, 1.319, 1.971, 2.791, 3.802, 5.004",\
                 "0.1284, 0.1608, 0.272, 0.4808, 0.8254, 1.317, 1.971, 2.794, 3.798, 5.005",\
                 "0.128, 0.1614, 0.2716, 0.4814, 0.8246, 1.318, 1.971, 2.795, 3.802, 5.002",\
                 "0.1282, 0.161, 0.2722, 0.481, 0.824, 1.317, 1.971, 2.793, 3.798, 4.996",\
                 "0.1282, 0.1614, 0.2718, 0.481, 0.8244, 1.317, 1.971, 2.792, 3.803, 5.005",\
                 "0.1292, 0.1618, 0.2712, 0.4806, 0.824, 1.318, 1.971, 2.792, 3.803, 5.005",\
                 "0.128, 0.1612, 0.2714, 0.4804, 0.8234, 1.318, 1.971, 2.795, 3.803, 4.997",\
                 "0.1278, 0.1616, 0.2716, 0.4808, 0.8236, 1.317, 1.97, 2.791, 3.802, 5.004",\
                 "0.1286, 0.161, 0.2718, 0.4808, 0.8238, 1.318, 1.97, 2.792, 3.798, 5");
        }
      }
    }
  }

