/*
 * 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__dlyd_2) {
    area : 79.027200 ;

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

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

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

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

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

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

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 0.4656 ;
      max_transition : 8.9 ;
      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.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
          index_2("0.001, 0.004207, 0.01546, 0.03696, 0.07044, 0.1174, 0.1793, 0.2572, 0.3522, 0.4656");
          values("0.1485, 0.1458, 0.1395, 0.1336, 0.1299, 0.1276, 0.126, 0.125, 0.1242, 0.1236",\
                 "0.1483, 0.1456, 0.1393, 0.1334, 0.1298, 0.1274, 0.1259, 0.1248, 0.1241, 0.1235",\
                 "0.1482, 0.1455, 0.1392, 0.1333, 0.1296, 0.1273, 0.1257, 0.1247, 0.1239, 0.1234",\
                 "0.1486, 0.1459, 0.1396, 0.1337, 0.1301, 0.1277, 0.1262, 0.1251, 0.1243, 0.1238",\
                 "0.1498, 0.1471, 0.1407, 0.1349, 0.1312, 0.1289, 0.1274, 0.1263, 0.1255, 0.125",\
                 "0.1518, 0.1491, 0.1428, 0.1369, 0.1332, 0.1309, 0.1294, 0.1283, 0.1275, 0.127",\
                 "0.1547, 0.152, 0.1457, 0.1399, 0.1361, 0.1338, 0.1323, 0.1312, 0.1305, 0.1299",\
                 "0.1586, 0.156, 0.1496, 0.1438, 0.1401, 0.1378, 0.1362, 0.1352, 0.1344, 0.1339",\
                 "0.1637, 0.161, 0.1547, 0.1488, 0.1451, 0.1428, 0.1413, 0.1402, 0.1394, 0.1389",\
                 "0.1699, 0.1672, 0.1609, 0.155, 0.1513, 0.149, 0.1474, 0.1464, 0.1456, 0.145");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
          index_2("0.001, 0.004207, 0.01546, 0.03696, 0.07044, 0.1174, 0.1793, 0.2572, 0.3522, 0.4656");
          values("0.1131, 0.1119, 0.1101, 0.1089, 0.1084, 0.1085, 0.1087, 0.109, 0.1106, 0.1234",\
                 "0.1131, 0.1119, 0.11, 0.1089, 0.1084, 0.1084, 0.1086, 0.109, 0.1108, 0.1237",\
                 "0.113, 0.1118, 0.11, 0.1088, 0.1083, 0.1083, 0.1085, 0.109, 0.1108, 0.1247",\
                 "0.1132, 0.112, 0.1101, 0.1091, 0.1086, 0.1085, 0.1087, 0.109, 0.1111, 0.1262",\
                 "0.1139, 0.1127, 0.1108, 0.1097, 0.1093, 0.1093, 0.1094, 0.1099, 0.1121, 0.1292",\
                 "0.1154, 0.1141, 0.1123, 0.1112, 0.1108, 0.1108, 0.1111, 0.1114, 0.1142, 0.1341",\
                 "0.1176, 0.1164, 0.1147, 0.1135, 0.113, 0.1131, 0.1132, 0.1137, 0.1176, 0.1416",\
                 "0.1208, 0.1196, 0.1179, 0.1167, 0.1162, 0.1163, 0.1165, 0.1173, 0.1227, 0.1533",\
                 "0.125, 0.1237, 0.1219, 0.1208, 0.1203, 0.1203, 0.1206, 0.1214, 0.1288, 0.1692",\
                 "0.1301, 0.1289, 0.127, 0.1258, 0.1254, 0.1256, 0.1259, 0.1272, 0.1386, 0.1932");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
          index_2("0.001, 0.004207, 0.01546, 0.03696, 0.07044, 0.1174, 0.1793, 0.2572, 0.3522, 0.4656");
          values("5.893, 5.962, 6.143, 6.394, 6.7, 7.051, 7.448, 7.897, 8.41, 8.999",\
                 "5.909, 5.977, 6.158, 6.409, 6.715, 7.067, 7.463, 7.912, 8.426, 9.014",\
                 "5.977, 6.045, 6.226, 6.478, 6.784, 7.135, 7.532, 7.981, 8.494, 9.083",\
                 "6.129, 6.197, 6.378, 6.63, 6.935, 7.286, 7.683, 8.133, 8.646, 9.235",\
                 "6.367, 6.435, 6.616, 6.868, 7.174, 7.525, 7.921, 8.371, 8.884, 9.473",\
                 "6.669, 6.737, 6.918, 7.17, 7.476, 7.827, 8.224, 8.674, 9.187, 9.776",\
                 "7.024, 7.092, 7.273, 7.524, 7.83, 8.182, 8.578, 9.027, 9.541, 10.13",\
                 "7.435, 7.503, 7.684, 7.935, 8.242, 8.593, 8.989, 9.439, 9.952, 10.54",\
                 "7.908, 7.976, 8.158, 8.409, 8.715, 9.066, 9.462, 9.912, 10.43, 11.01",\
                 "8.446, 8.514, 8.695, 8.946, 9.252, 9.603, 9.999, 10.45, 10.96, 11.55");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
          index_2("0.001, 0.004207, 0.01546, 0.03696, 0.07044, 0.1174, 0.1793, 0.2572, 0.3522, 0.4656");
          values("5.44, 5.497, 5.662, 5.919, 6.282, 6.779, 7.43, 8.249, 9.249, 10.44",\
                 "5.455, 5.513, 5.677, 5.934, 6.298, 6.795, 7.445, 8.264, 9.265, 10.46",\
                 "5.503, 5.561, 5.724, 5.982, 6.345, 6.842, 7.493, 8.311, 9.312, 10.5",\
                 "5.56, 5.617, 5.781, 6.039, 6.402, 6.898, 7.549, 8.368, 9.369, 10.56",\
                 "5.59, 5.648, 5.812, 6.069, 6.432, 6.929, 7.58, 8.399, 9.399, 10.59",\
                 "5.585, 5.643, 5.807, 6.064, 6.428, 6.924, 7.576, 8.395, 9.394, 10.59",\
                 "5.542, 5.599, 5.764, 6.021, 6.384, 6.881, 7.531, 8.35, 9.35, 10.54",\
                 "5.457, 5.514, 5.679, 5.936, 6.298, 6.796, 7.447, 8.266, 9.266, 10.46",\
                 "5.323, 5.381, 5.545, 5.803, 6.166, 6.662, 7.313, 8.132, 9.132, 10.32",\
                 "5.139, 5.197, 5.361, 5.618, 5.981, 6.478, 7.128, 7.947, 8.946, 10.14");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
          index_2("0.001, 0.004207, 0.01546, 0.03696, 0.07044, 0.1174, 0.1793, 0.2572, 0.3522, 0.4656");
          values("0.4306, 0.4942, 0.6604, 0.8994, 1.212, 1.594, 2.07, 2.67, 3.427, 4.356",\
                 "0.43, 0.4938, 0.6608, 0.8994, 1.211, 1.593, 2.07, 2.673, 3.424, 4.349",\
                 "0.4302, 0.494, 0.6608, 0.8992, 1.212, 1.596, 2.07, 2.67, 3.426, 4.352",\
                 "0.4304, 0.494, 0.6604, 0.8996, 1.213, 1.595, 2.07, 2.67, 3.424, 4.355",\
                 "0.4302, 0.495, 0.6604, 0.8998, 1.212, 1.594, 2.07, 2.67, 3.423, 4.355",\
                 "0.4294, 0.4948, 0.6598, 0.8994, 1.211, 1.595, 2.069, 2.671, 3.424, 4.356",\
                 "0.4306, 0.4936, 0.6604, 0.8994, 1.213, 1.594, 2.07, 2.672, 3.424, 4.354",\
                 "0.43, 0.496, 0.662, 0.9, 1.212, 1.594, 2.068, 2.67, 3.426, 4.35",\
                 "0.43, 0.494, 0.662, 0.898, 1.212, 1.596, 2.068, 2.67, 3.426, 4.356",\
                 "0.43, 0.496, 0.66, 0.898, 1.21, 1.596, 2.068, 2.672, 3.43, 4.354");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
          index_2("0.001, 0.004207, 0.01546, 0.03696, 0.07044, 0.1174, 0.1793, 0.2572, 0.3522, 0.4656");
          values("0.2304, 0.2968, 0.5044, 0.8702, 1.463, 2.33, 3.491, 4.958, 6.747, 8.883",\
                 "0.2306, 0.2966, 0.5048, 0.8706, 1.463, 2.331, 3.496, 4.956, 6.749, 8.888",\
                 "0.2306, 0.2968, 0.505, 0.8712, 1.463, 2.335, 3.496, 4.962, 6.745, 8.9",\
                 "0.2306, 0.297, 0.5052, 0.871, 1.465, 2.331, 3.494, 4.958, 6.746, 8.887",\
                 "0.2302, 0.297, 0.5048, 0.8708, 1.464, 2.33, 3.493, 4.965, 6.744, 8.885",\
                 "0.2306, 0.2968, 0.505, 0.871, 1.465, 2.331, 3.494, 4.966, 6.749, 8.884",\
                 "0.2302, 0.2972, 0.5042, 0.8706, 1.463, 2.331, 3.493, 4.964, 6.748, 8.88",\
                 "0.2302, 0.2972, 0.5046, 0.87, 1.463, 2.329, 3.497, 4.956, 6.746, 8.888",\
                 "0.2314, 0.298, 0.5044, 0.8716, 1.464, 2.33, 3.488, 4.966, 6.748, 8.9",\
                 "0.23, 0.298, 0.506, 0.872, 1.464, 2.332, 3.49, 4.956, 6.746, 8.902");
        }
      }
    }
  }

