blob: 33fc899cdd981bbd68dde12388471ae51c5d8e9b [file] [log] [blame]
/*
* 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__dffq_2) {
area : 68.051200 ;
ff(IQ1,IQN1) {
clocked_on : "CLK" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&!D" ;
value : "0.0001619574" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.0001817145" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.0002207865" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.000236874" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.000236874" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.003182 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 8.6 ;
min_period : 1.721 ;
min_pulse_width_high : 0.776 ;
min_pulse_width_low : 0.86 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.1204, 0.12, 0.1208, 0.1266, 0.1385, 0.1573, 0.1837, 0.2179, \
0.2606, 0.3119");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.09115, 0.09089, 0.09134, 0.09599, 0.1057, 0.1218, 0.1449, 0.175, \
0.2126, 0.2578");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.1223, 0.1219, 0.1227, 0.1285, 0.1404, 0.1591, 0.1855, 0.2198, \
0.2623, 0.3135");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.09112, 0.0908, 0.09125, 0.09594, 0.1057, 0.1219, 0.1449, 0.1751, \
0.2126, 0.258");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.86");
}
rise_constraint(scalar) {
values("0.44");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.63");
}
rise_constraint(scalar) {
values("0.776");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("1.721");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("1.615");
}
}
}
pin(D) {
capacitance : 0.002363 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 8.6 ;
nextstate_type : data ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.06689, 0.06631, 0.06599, 0.06819, 0.07382, 0.08251, 0.09447, \
0.1101, 0.1297, 0.1532");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.04624, 0.04638, 0.04687, 0.04892, 0.0531, 0.0599, 0.06958, 0.08233, \
0.09827, 0.1176");
}
}
internal_power() {
when : "CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.004373, 0.004372, 0.004373, 0.004367, 0.00437, 0.004377, 0.004371, \
0.00437, 0.004363, 0.004354");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("-0.00271, -0.002706, -0.002717, -0.002738, -0.002762, -0.002779, \
-0.002788, -0.002797, -0.002808, -0.002819");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.08, 0.097, 0.141, 0.207, 0.263, 0.301, 0.319, 0.313, 0.282, 0.226",\
"0.074, 0.087, 0.136, 0.207, 0.255, 0.294, 0.313, 0.302, 0.273, 0.219",\
"0.026, 0.042, 0.087, 0.161, 0.208, 0.252, 0.266, 0.261, 0.23, 0.177",\
"-0.089, -0.073, -0.033, 0.046, 0.095, 0.14, 0.156, 0.149, 0.119, 0.065",\
"-0.27, -0.255, -0.208, -0.132, -0.08, -0.04, -0.018, -0.024, -0.05, -0.108",\
"-0.486, -0.471, -0.43, -0.351, -0.302, -0.259, -0.241, -0.247, -0.274, -0.33",\
"-0.757, -0.741, -0.701, -0.625, -0.576, -0.527, -0.509, -0.52, -0.553, -0.609",\
"-1.075, -1.061, -1.019, -0.95, -0.901, -0.848, -0.827, -0.847, -0.875, -0.932",\
"-1.452, -1.438, -1.397, -1.335, -1.275, -1.23, -1.209, -1.225, -1.253, -1.316",\
"-1.892, -1.881, -1.844, -1.765, -1.72, -1.674, -1.645, -1.66, -1.692, -1.755");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.04, 0.049, 0.093, 0.144, 0.174, 0.186, 0.184, 0.16, 0.122, 0.054",\
"0.026, 0.039, 0.082, 0.131, 0.162, 0.182, 0.175, 0.153, 0.113, 0.052",\
"0.004, 0.018, 0.063, 0.109, 0.148, 0.162, 0.166, 0.143, 0.106, 0.048",\
"0.002, 0.013, 0.054, 0.108, 0.137, 0.154, 0.156, 0.135, 0.093, 0.037",\
"0.013, 0.031, 0.07, 0.117, 0.148, 0.171, 0.165, 0.146, 0.102, 0.034",\
"0.067, 0.083, 0.125, 0.168, 0.198, 0.211, 0.197, 0.174, 0.129, 0.065",\
"0.17, 0.184, 0.232, 0.264, 0.287, 0.295, 0.283, 0.251, 0.204, 0.133",\
"0.336, 0.348, 0.385, 0.419, 0.44, 0.441, 0.413, 0.378, 0.327, 0.248",\
"0.554, 0.569, 0.605, 0.632, 0.636, 0.635, 0.605, 0.564, 0.505, 0.422",\
"0.831, 0.845, 0.88, 0.899, 0.908, 0.893, 0.859, 0.813, 0.749, 0.655");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.395, 0.388, 0.331, 0.256, 0.184, 0.142, 0.111, 0.112, 0.14, 0.196",\
"0.404, 0.389, 0.338, 0.254, 0.193, 0.148, 0.116, 0.121, 0.152, 0.2",\
"0.452, 0.438, 0.386, 0.309, 0.244, 0.196, 0.169, 0.168, 0.2, 0.248",\
"0.581, 0.575, 0.52, 0.437, 0.37, 0.329, 0.304, 0.299, 0.326, 0.378",\
"0.807, 0.788, 0.739, 0.654, 0.592, 0.548, 0.516, 0.514, 0.542, 0.592",\
"1.084, 1.072, 1.024, 0.937, 0.872, 0.831, 0.8, 0.803, 0.824, 0.873",\
"1.44, 1.427, 1.371, 1.294, 1.223, 1.18, 1.147, 1.145, 1.173, 1.223",\
"1.86, 1.843, 1.79, 1.712, 1.642, 1.606, 1.568, 1.568, 1.59, 1.635",\
"2.343, 2.329, 2.282, 2.199, 2.136, 2.084, 2.053, 2.049, 2.077, 2.118",\
"2.897, 2.887, 2.836, 2.749, 2.686, 2.638, 2.608, 2.602, 2.629, 2.671");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.395, 0.381, 0.321, 0.238, 0.176, 0.142, 0.128, 0.129, 0.172, 0.238",\
"0.404, 0.397, 0.332, 0.254, 0.185, 0.148, 0.133, 0.139, 0.184, 0.247",\
"0.442, 0.432, 0.378, 0.292, 0.227, 0.189, 0.169, 0.174, 0.217, 0.274",\
"0.49, 0.488, 0.422, 0.345, 0.27, 0.234, 0.214, 0.212, 0.248, 0.306",\
"0.509, 0.502, 0.435, 0.359, 0.29, 0.259, 0.23, 0.232, 0.267, 0.324",\
"0.486, 0.477, 0.417, 0.337, 0.276, 0.232, 0.207, 0.213, 0.248, 0.311",\
"0.428, 0.424, 0.357, 0.286, 0.211, 0.177, 0.153, 0.159, 0.192, 0.26",\
"0.319, 0.308, 0.243, 0.169, 0.101, 0.065, 0.046, 0.046, 0.091, 0.159",\
"0.154, 0.137, 0.081, 0.006, -0.059, -0.106, -0.121, -0.112, -0.07, 0.001",\
"-0.076, -0.085, -0.145, -0.215, -0.287, -0.323, -0.338, -0.334, -0.289, -0.215");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.72 ;
max_transition : 8.6 ;
min_capacitance : 0.001 ;
output_voltage : default ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
related_pin : "CLK" ;
fall_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
index_2("0.001, 0.005962, 0.02338, 0.05664, 0.1085, 0.1812, 0.2769, 0.3974, 0.5446, 0.72");
values("0.1523, 0.148, 0.1436, 0.1417, 0.1407, 0.1405, 0.14, 0.1399, 0.1398, 0.1397",\
"0.1522, 0.1479, 0.1435, 0.1415, 0.1407, 0.1404, 0.14, 0.1398, 0.1397, 0.1397",\
"0.1522, 0.1479, 0.1435, 0.1417, 0.1408, 0.1403, 0.14, 0.1399, 0.1398, 0.1397",\
"0.1526, 0.1483, 0.1439, 0.142, 0.1411, 0.1407, 0.1404, 0.1402, 0.1401, 0.1401",\
"0.1533, 0.149, 0.1446, 0.1426, 0.1418, 0.1414, 0.1412, 0.141, 0.1409, 0.1408",\
"0.1538, 0.1495, 0.145, 0.1432, 0.1423, 0.1419, 0.1415, 0.1414, 0.1413, 0.1412",\
"0.1545, 0.1502, 0.1458, 0.144, 0.143, 0.1426, 0.1422, 0.1421, 0.142, 0.1419",\
"0.1554, 0.1511, 0.1467, 0.1447, 0.1439, 0.1435, 0.1431, 0.143, 0.1429, 0.1428",\
"0.1562, 0.1519, 0.1474, 0.1456, 0.1446, 0.1442, 0.1439, 0.1437, 0.1437, 0.1436",\
"0.1573, 0.153, 0.1485, 0.1467, 0.1457, 0.1454, 0.145, 0.1448, 0.1447, 0.1446");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
index_2("0.001, 0.005962, 0.02338, 0.05664, 0.1085, 0.1812, 0.2769, 0.3974, 0.5446, 0.72");
values("0.1472, 0.1436, 0.1389, 0.1367, 0.1359, 0.1368, 0.1379, 0.1393, 0.1407, 0.1482",\
"0.1473, 0.1436, 0.1387, 0.1367, 0.1359, 0.1369, 0.1377, 0.139, 0.1407, 0.1486",\
"0.1473, 0.1435, 0.1388, 0.1363, 0.136, 0.137, 0.1378, 0.1386, 0.1407, 0.1501",\
"0.1475, 0.1438, 0.139, 0.1367, 0.1366, 0.1369, 0.1383, 0.1395, 0.1412, 0.15",\
"0.148, 0.1442, 0.1394, 0.1371, 0.1366, 0.1375, 0.1382, 0.1392, 0.1424, 0.1517",\
"0.1486, 0.1451, 0.1401, 0.138, 0.1374, 0.1383, 0.1392, 0.1399, 0.1424, 0.1563",\
"0.1496, 0.1461, 0.141, 0.1383, 0.1391, 0.1397, 0.1406, 0.1423, 0.1436, 0.1613",\
"0.1509, 0.1472, 0.1425, 0.1395, 0.139, 0.141, 0.1431, 0.1437, 0.1444, 0.1683",\
"0.1524, 0.1488, 0.1439, 0.1413, 0.1406, 0.1411, 0.1432, 0.1458, 0.15, 0.1808",\
"0.1542, 0.1507, 0.1459, 0.1428, 0.1426, 0.1428, 0.143, 0.1459, 0.1549, 0.2023");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
index_2("0.001, 0.005962, 0.02338, 0.05664, 0.1085, 0.1812, 0.2769, 0.3974, 0.5446, 0.72");
values("0.9113, 0.9526, 1.056, 1.204, 1.406, 1.677, 2.031, 2.477, 3.021, 3.67",\
"0.9248, 0.966, 1.069, 1.218, 1.419, 1.69, 2.044, 2.49, 3.035, 3.684",\
"0.975, 1.016, 1.12, 1.268, 1.469, 1.74, 2.095, 2.54, 3.085, 3.733",\
"1.054, 1.095, 1.198, 1.347, 1.548, 1.819, 2.173, 2.619, 3.163, 3.812",\
"1.12, 1.162, 1.265, 1.413, 1.615, 1.886, 2.24, 2.686, 3.23, 3.879",\
"1.172, 1.213, 1.316, 1.465, 1.666, 1.937, 2.291, 2.737, 3.281, 3.931",\
"1.205, 1.246, 1.349, 1.498, 1.699, 1.97, 2.324, 2.77, 3.314, 3.962",\
"1.216, 1.257, 1.361, 1.509, 1.71, 1.981, 2.336, 2.781, 3.325, 3.974",\
"1.201, 1.242, 1.345, 1.494, 1.695, 1.966, 2.321, 2.766, 3.31, 3.959",\
"1.159, 1.201, 1.304, 1.453, 1.654, 1.925, 2.279, 2.725, 3.269, 3.918");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
index_2("0.001, 0.005962, 0.02338, 0.05664, 0.1085, 0.1812, 0.2769, 0.3974, 0.5446, 0.72");
values("1.043, 1.09, 1.221, 1.445, 1.792, 2.28, 2.923, 3.732, 4.722, 5.902",\
"1.056, 1.103, 1.234, 1.458, 1.805, 2.294, 2.936, 3.746, 4.736, 5.916",\
"1.106, 1.153, 1.284, 1.508, 1.855, 2.343, 2.986, 3.796, 4.784, 5.962",\
"1.185, 1.232, 1.362, 1.586, 1.934, 2.422, 3.065, 3.874, 4.864, 6.044",\
"1.253, 1.3, 1.431, 1.655, 2.002, 2.491, 3.133, 3.943, 4.932, 6.111",\
"1.308, 1.355, 1.485, 1.709, 2.057, 2.545, 3.188, 3.998, 4.986, 6.164",\
"1.346, 1.393, 1.524, 1.748, 2.095, 2.583, 3.226, 4.036, 5.025, 6.205",\
"1.365, 1.411, 1.542, 1.766, 2.113, 2.602, 3.244, 4.054, 5.042, 6.223",\
"1.359, 1.406, 1.536, 1.76, 2.108, 2.596, 3.238, 4.048, 5.037, 6.214",\
"1.328, 1.375, 1.506, 1.73, 2.077, 2.565, 3.208, 4.017, 5.007, 6.185");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
index_2("0.001, 0.005962, 0.02338, 0.05664, 0.1085, 0.1812, 0.2769, 0.3974, 0.5446, 0.72");
values("0.1077, 0.1465, 0.2546, 0.437, 0.7348, 1.172, 1.762, 2.511, 3.424, 4.52",\
"0.1078, 0.1466, 0.255, 0.437, 0.7332, 1.172, 1.762, 2.509, 3.424, 4.52",\
"0.1076, 0.1466, 0.2552, 0.4376, 0.7338, 1.172, 1.762, 2.51, 3.428, 4.519",\
"0.1076, 0.1466, 0.255, 0.4372, 0.7326, 1.17, 1.762, 2.511, 3.428, 4.52",\
"0.1078, 0.1466, 0.255, 0.4374, 0.7328, 1.172, 1.762, 2.51, 3.428, 4.514",\
"0.1076, 0.1466, 0.255, 0.4376, 0.734, 1.172, 1.762, 2.509, 3.429, 4.516",\
"0.1076, 0.1466, 0.2544, 0.4376, 0.7332, 1.171, 1.76, 2.507, 3.42, 4.516",\
"0.1076, 0.1468, 0.2544, 0.4368, 0.7326, 1.172, 1.76, 2.509, 3.419, 4.51",\
"0.1076, 0.1466, 0.2546, 0.437, 0.7326, 1.172, 1.76, 2.508, 3.422, 4.507",\
"0.1076, 0.1468, 0.2546, 0.4378, 0.7338, 1.172, 1.76, 2.509, 3.421, 4.509");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
index_2("0.001, 0.005962, 0.02338, 0.05664, 0.1085, 0.1812, 0.2769, 0.3974, 0.5446, 0.72");
values("0.1168, 0.173, 0.357, 0.732, 1.344, 2.204, 3.34, 4.763, 6.509, 8.59",\
"0.1172, 0.173, 0.3568, 0.732, 1.344, 2.204, 3.335, 4.771, 6.51, 8.59",\
"0.1172, 0.1732, 0.3566, 0.732, 1.342, 2.205, 3.341, 4.766, 6.51, 8.586",\
"0.1176, 0.173, 0.357, 0.7316, 1.343, 2.205, 3.34, 4.763, 6.508, 8.59",\
"0.117, 0.1728, 0.3568, 0.7316, 1.345, 2.206, 3.341, 4.764, 6.506, 8.592",\
"0.1166, 0.173, 0.3566, 0.7316, 1.343, 2.206, 3.341, 4.766, 6.51, 8.585",\
"0.1166, 0.173, 0.3572, 0.7334, 1.342, 2.203, 3.338, 4.764, 6.508, 8.593",\
"0.1164, 0.1736, 0.357, 0.7318, 1.343, 2.204, 3.336, 4.767, 6.51, 8.59",\
"0.1164, 0.1738, 0.357, 0.7328, 1.343, 2.204, 3.342, 4.762, 6.506, 8.584",\
"0.117, 0.1732, 0.3572, 0.732, 1.343, 2.204, 3.339, 4.763, 6.504, 8.582");
}
}
}
}