blob: 89667c87891e5feb5fb9620cdc93399a321c8b60 [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__dffnq_1) {
area : 65.856000 ;
ff(IQ1,IQN1) {
clocked_on : "(!CLKN)" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&!D" ;
value : "0.0001707" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.000177201" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.000146139" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.000145467" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.000177201" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.003317 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 11 ;
min_period : 2.251 ;
min_pulse_width_high : 0.877 ;
min_pulse_width_low : 0.899 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.1083, 0.1079, 0.1073, 0.1082, 0.1111, 0.1162, 0.1235, 0.1332, \
0.1456, 0.161");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.06944, 0.06919, 0.06872, 0.06926, 0.07142, 0.07554, 0.08188, \
0.09049, 0.1017, 0.1154");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.1083, 0.1078, 0.1073, 0.1081, 0.1111, 0.1161, 0.1234, 0.1332, \
0.1456, 0.1609");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.06952, 0.06921, 0.06878, 0.0693, 0.07148, 0.07563, 0.08193, \
0.0906, 0.1016, 0.1154");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.758");
}
rise_constraint(scalar) {
values("0.877");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.899");
}
rise_constraint(scalar) {
values("0.701");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("1.73");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("2.251");
}
}
}
pin(D) {
capacitance : 0.002264 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 11 ;
nextstate_type : data ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.02018, 0.01953, 0.0197, 0.02121, 0.02419, 0.02872, 0.03496, \
0.0431, 0.05321, 0.06535");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.002343, 0.002062, 0.001964, 0.002951, 0.005238, 0.009036, 0.01433, \
0.02125, 0.02991, 0.04033");
}
}
internal_power() {
when : "CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.0672, 0.06685, 0.06671, 0.06773, 0.07046, 0.07478, 0.08076, \
0.08868, 0.09874, 0.111");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.04395, 0.04373, 0.04371, 0.04447, 0.04629, 0.04953, 0.05428, \
0.0608, 0.06905, 0.07929");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.011, 0.031, 0.118, 0.286, 0.451, 0.642, 0.857, 1.113, 1.398, 1.73",\
"-0.009, 0.009, 0.095, 0.262, 0.428, 0.618, 0.835, 1.085, 1.376, 1.705",\
"-0.106, -0.088, -0, 0.167, 0.333, 0.522, 0.734, 0.991, 1.28, 1.609",\
"-0.287, -0.267, -0.181, -0.019, 0.151, 0.341, 0.556, 0.806, 1.096, 1.42",\
"-0.507, -0.494, -0.408, -0.243, -0.076, 0.105, 0.324, 0.579, 0.864, 1.189",\
"-0.771, -0.75, -0.666, -0.506, -0.342, -0.157, 0.062, 0.307, 0.592, 0.914",\
"-1.075, -1.061, -0.974, -0.814, -0.65, -0.471, -0.256, -0.01, 0.275, 0.597",\
"-1.434, -1.416, -1.329, -1.17, -1.011, -0.836, -0.623, -0.371, -0.089, 0.23",\
"-1.842, -1.824, -1.741, -1.583, -1.434, -1.251, -1.042, -0.795, -0.515, -0.197",\
"-2.305, -2.283, -2.201, -2.046, -1.901, -1.728, -1.523, -1.277, -0.991, -0.678");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.326, 0.353, 0.445, 0.622, 0.862, 1.115, 1.387, 1.702, 2.048, 2.431",\
"0.305, 0.335, 0.427, 0.602, 0.835, 1.095, 1.368, 1.681, 2.028, 2.41",\
"0.246, 0.272, 0.362, 0.546, 0.778, 1.032, 1.31, 1.62, 1.972, 2.352",\
"0.201, 0.223, 0.317, 0.498, 0.727, 0.982, 1.26, 1.567, 1.916, 2.302",\
"0.178, 0.208, 0.295, 0.472, 0.706, 0.953, 1.233, 1.545, 1.89, 2.272",\
"0.196, 0.22, 0.314, 0.483, 0.715, 0.967, 1.237, 1.546, 1.896, 2.279",\
"0.244, 0.274, 0.364, 0.532, 0.758, 1.011, 1.284, 1.589, 1.936, 2.313",\
"0.348, 0.371, 0.462, 0.63, 0.855, 1.092, 1.366, 1.673, 2.015, 2.389",\
"0.503, 0.527, 0.618, 0.777, 0.986, 1.225, 1.497, 1.799, 2.14, 2.518",\
"0.723, 0.746, 0.837, 0.983, 1.182, 1.414, 1.673, 1.969, 2.309, 2.681");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.613, 0.584, 0.483, 0.325, 0.132, -0.083, -0.333, -0.614, -0.929, -1.28",\
"0.638, 0.609, 0.509, 0.35, 0.16, -0.059, -0.308, -0.594, -0.908, -1.258",\
"0.737, 0.705, 0.603, 0.443, 0.252, 0.035, -0.211, -0.497, -0.813, -1.159",\
"0.925, 0.896, 0.798, 0.639, 0.445, 0.227, -0.022, -0.308, -0.625, -0.972",\
"1.2, 1.167, 1.073, 0.911, 0.714, 0.495, 0.246, -0.036, -0.359, -0.712",\
"1.531, 1.499, 1.399, 1.238, 1.035, 0.81, 0.56, 0.264, -0.059, -0.412",\
"1.9, 1.869, 1.771, 1.6, 1.399, 1.169, 0.91, 0.622, 0.295, -0.061",\
"2.328, 2.292, 2.201, 2.023, 1.817, 1.583, 1.322, 1.026, 0.7, 0.334",\
"2.816, 2.786, 2.685, 2.509, 2.293, 2.055, 1.793, 1.491, 1.159, 0.8",\
"3.377, 3.342, 3.244, 3.056, 2.84, 2.6, 2.331, 2.019, 1.686, 1.318");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.246, 0.22, 0.125, -0.059, -0.297, -0.563, -0.858, -1.195, -1.58, -1.988",\
"0.267, 0.24, 0.15, -0.036, -0.276, -0.544, -0.841, -1.175, -1.554, -1.97",\
"0.336, 0.312, 0.213, 0.036, -0.21, -0.475, -0.775, -1.109, -1.489, -1.902",\
"0.433, 0.406, 0.307, 0.122, -0.118, -0.387, -0.688, -1.018, -1.4, -1.818",\
"0.515, 0.484, 0.386, 0.203, -0.042, -0.309, -0.599, -0.936, -1.314, -1.734",\
"0.563, 0.537, 0.443, 0.258, 0.006, -0.252, -0.548, -0.884, -1.257, -1.67",\
"0.582, 0.556, 0.455, 0.273, 0.028, -0.236, -0.532, -0.864, -1.237, -1.65",\
"0.569, 0.542, 0.442, 0.257, 0.017, -0.254, -0.549, -0.88, -1.25, -1.663",\
"0.506, 0.476, 0.378, 0.193, -0.049, -0.32, -0.611, -0.94, -1.308, -1.72",\
"0.395, 0.367, 0.267, 0.084, -0.16, -0.427, -0.711, -1.045, -1.413, -1.82");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.3295 ;
max_transition : 11 ;
min_capacitance : 0.001 ;
output_voltage : default ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
related_pin : "CLKN" ;
fall_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.001, 0.003267, 0.01123, 0.02642, 0.0501, 0.08332, 0.127, 0.1821, 0.2493, 0.3295");
values("0.1105, 0.1105, 0.111, 0.1115, 0.1118, 0.1119, 0.1121, 0.1121, 0.1122, 0.1122",\
"0.1105, 0.1106, 0.111, 0.1115, 0.1118, 0.112, 0.1121, 0.1121, 0.1122, 0.1122",\
"0.1106, 0.1106, 0.1111, 0.1115, 0.1118, 0.112, 0.1121, 0.1121, 0.1122, 0.1122",\
"0.1105, 0.1106, 0.1111, 0.1115, 0.1118, 0.112, 0.1121, 0.1121, 0.1121, 0.1122",\
"0.1107, 0.1109, 0.1112, 0.1117, 0.112, 0.1121, 0.1122, 0.1123, 0.1123, 0.1123",\
"0.1111, 0.1112, 0.1116, 0.112, 0.1123, 0.1125, 0.1126, 0.1127, 0.1127, 0.1128",\
"0.1115, 0.1115, 0.112, 0.1124, 0.1127, 0.1129, 0.113, 0.1131, 0.1131, 0.1131",\
"0.1121, 0.1122, 0.1125, 0.113, 0.1134, 0.1135, 0.1136, 0.1136, 0.1137, 0.1137",\
"0.1127, 0.1128, 0.1132, 0.1137, 0.114, 0.1141, 0.1142, 0.1142, 0.1143, 0.1143",\
"0.1134, 0.1136, 0.1139, 0.1143, 0.1147, 0.1149, 0.115, 0.115, 0.1151, 0.1151");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.001, 0.003267, 0.01123, 0.02642, 0.0501, 0.08332, 0.127, 0.1821, 0.2493, 0.3295");
values("0.1476, 0.1475, 0.1477, 0.1482, 0.149, 0.1497, 0.1505, 0.1509, 0.1521, 0.1646",\
"0.1478, 0.1477, 0.1478, 0.1483, 0.1491, 0.1498, 0.1503, 0.1512, 0.153, 0.1649",\
"0.1477, 0.1476, 0.1478, 0.1483, 0.149, 0.1496, 0.1502, 0.1512, 0.1531, 0.1659",\
"0.148, 0.1478, 0.1481, 0.1485, 0.1494, 0.1499, 0.1506, 0.1514, 0.1537, 0.1689",\
"0.1491, 0.149, 0.1492, 0.1496, 0.1505, 0.1511, 0.1517, 0.1526, 0.1543, 0.1746",\
"0.1503, 0.1502, 0.1502, 0.1506, 0.1514, 0.1521, 0.1527, 0.1536, 0.1561, 0.1829",\
"0.1512, 0.1511, 0.1511, 0.1519, 0.1527, 0.1533, 0.1537, 0.1548, 0.1595, 0.1977",\
"0.1521, 0.1521, 0.1522, 0.1527, 0.1534, 0.1546, 0.1549, 0.1557, 0.164, 0.2216",\
"0.1533, 0.1534, 0.1535, 0.1539, 0.1547, 0.1553, 0.1566, 0.1575, 0.1729, 0.2687",\
"0.1545, 0.1544, 0.1546, 0.1553, 0.1557, 0.1562, 0.1569, 0.1615, 0.1959, 0.3568");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.001, 0.003267, 0.01123, 0.02642, 0.0501, 0.08332, 0.127, 0.1821, 0.2493, 0.3295");
values("1.12, 1.162, 1.272, 1.441, 1.681, 2.012, 2.446, 2.994, 3.661, 4.457",\
"1.146, 1.188, 1.298, 1.467, 1.707, 2.038, 2.472, 3.02, 3.687, 4.483",\
"1.242, 1.283, 1.393, 1.563, 1.803, 2.134, 2.568, 3.115, 3.783, 4.578",\
"1.429, 1.47, 1.58, 1.75, 1.99, 2.32, 2.755, 3.302, 3.97, 4.765",\
"1.679, 1.72, 1.831, 2.001, 2.241, 2.571, 3.005, 3.553, 4.22, 5.016",\
"1.955, 1.995, 2.106, 2.276, 2.516, 2.846, 3.281, 3.828, 4.496, 5.291",\
"2.254, 2.295, 2.406, 2.576, 2.816, 3.147, 3.581, 4.128, 4.795, 5.592",\
"2.587, 2.628, 2.739, 2.908, 3.148, 3.479, 3.914, 4.46, 5.128, 5.924",\
"2.954, 2.995, 3.106, 3.276, 3.516, 3.846, 4.281, 4.828, 5.495, 6.291",\
"3.359, 3.401, 3.511, 3.682, 3.922, 4.252, 4.686, 5.233, 5.901, 6.697");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.001, 0.003267, 0.01123, 0.02642, 0.0501, 0.08332, 0.127, 0.1821, 0.2493, 0.3295");
values("1.462, 1.515, 1.678, 1.975, 2.435, 3.079, 3.925, 4.991, 6.293, 7.843",\
"1.488, 1.54, 1.703, 2.001, 2.461, 3.105, 3.951, 5.017, 6.317, 7.87",\
"1.583, 1.636, 1.799, 2.096, 2.557, 3.2, 4.047, 5.113, 6.412, 7.965",\
"1.771, 1.824, 1.987, 2.284, 2.745, 3.389, 4.235, 5.3, 6.6, 8.152",\
"2.027, 2.08, 2.243, 2.54, 3.001, 3.644, 4.491, 5.557, 6.857, 8.409",\
"2.311, 2.364, 2.527, 2.824, 3.284, 3.928, 4.774, 5.841, 7.141, 8.693",\
"2.62, 2.673, 2.835, 3.133, 3.594, 4.237, 5.084, 6.15, 7.45, 9",\
"2.962, 3.015, 3.177, 3.475, 3.935, 4.58, 5.425, 6.491, 7.792, 9.342",\
"3.34, 3.393, 3.556, 3.853, 4.314, 4.957, 5.803, 6.869, 8.169, 9.72",\
"3.755, 3.808, 3.971, 4.269, 4.729, 5.373, 6.219, 7.284, 8.584, 10.13");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.001, 0.003267, 0.01123, 0.02642, 0.0501, 0.08332, 0.127, 0.1821, 0.2493, 0.3295");
values("0.1284, 0.1666, 0.289, 0.5108, 0.8772, 1.415, 2.132, 3.036, 4.136, 5.448",\
"0.1282, 0.1666, 0.289, 0.511, 0.8776, 1.417, 2.132, 3.036, 4.135, 5.449",\
"0.1286, 0.1668, 0.2886, 0.5104, 0.8774, 1.415, 2.131, 3.035, 4.138, 5.443",\
"0.1282, 0.1668, 0.2884, 0.5106, 0.877, 1.415, 2.132, 3.036, 4.138, 5.444",\
"0.1284, 0.167, 0.289, 0.5112, 0.8772, 1.415, 2.132, 3.035, 4.139, 5.453",\
"0.1286, 0.1672, 0.289, 0.5104, 0.8772, 1.415, 2.131, 3.034, 4.136, 5.452",\
"0.129, 0.1674, 0.2892, 0.511, 0.8776, 1.415, 2.129, 3.032, 4.131, 5.451",\
"0.1292, 0.1676, 0.2896, 0.5108, 0.8772, 1.416, 2.128, 3.029, 4.129, 5.444",\
"0.1294, 0.1678, 0.2898, 0.5116, 0.8786, 1.414, 2.13, 3.03, 4.127, 5.437",\
"0.13, 0.1678, 0.29, 0.512, 0.878, 1.418, 2.13, 3.03, 4.128, 5.438");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.001, 0.003267, 0.01123, 0.02642, 0.0501, 0.08332, 0.127, 0.1821, 0.2493, 0.3295");
values("0.1656, 0.2288, 0.4752, 0.9678, 1.751, 2.85, 4.298, 6.125, 8.356, 11",\
"0.1656, 0.2288, 0.4748, 0.9676, 1.751, 2.848, 4.295, 6.122, 8.355, 11.01",\
"0.1648, 0.229, 0.475, 0.9684, 1.749, 2.848, 4.292, 6.119, 8.351, 11.01",\
"0.1654, 0.2292, 0.4752, 0.9688, 1.751, 2.851, 4.296, 6.116, 8.348, 11.01",\
"0.1654, 0.2286, 0.475, 0.9692, 1.751, 2.849, 4.296, 6.123, 8.356, 11.01",\
"0.1654, 0.2284, 0.474, 0.9676, 1.751, 2.849, 4.297, 6.124, 8.355, 11",\
"0.1648, 0.228, 0.475, 0.9676, 1.749, 2.85, 4.295, 6.12, 8.344, 11.02",\
"0.1652, 0.2282, 0.4744, 0.9692, 1.752, 2.848, 4.292, 6.119, 8.343, 11.01",\
"0.1652, 0.2284, 0.475, 0.9694, 1.749, 2.847, 4.292, 6.116, 8.348, 11",\
"0.164, 0.228, 0.474, 0.968, 1.75, 2.846, 4.296, 6.112, 8.336, 10.99");
}
}
}
}