blob: 810ac93afc136254e75ff8c73b0f79f751f15a04 [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_mcu9t5v0__dffnq_4) {
area : 98.784000 ;
ff(IQ1,IQN1) {
clocked_on : "(!CLKN)" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&!D" ;
value : "0.002737152" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.005027616" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.002451834" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.005011578" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.005027616" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.004759 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 8.4 ;
min_period : 2.041 ;
min_pulse_width_high : 0.757 ;
min_pulse_width_low : 1.015 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("0.06143, 0.06118, 0.06087, 0.06166, 0.06436, 0.06893, 0.0755, \
0.08439, 0.09571, 0.1096");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("0.03956, 0.03941, 0.03925, 0.03992, 0.042, 0.04586, 0.05167, 0.05965, \
0.06978, 0.08222");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("0.0615, 0.06121, 0.0609, 0.06171, 0.06444, 0.06899, 0.07559, 0.08445, \
0.09577, 0.1097");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("0.03951, 0.03936, 0.03918, 0.03988, 0.04195, 0.04579, 0.05162, \
0.05955, 0.06972, 0.08219");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.938");
}
rise_constraint(scalar) {
values("0.757");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("1.015");
}
rise_constraint(scalar) {
values("0.648");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("1.908");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("2.041");
}
}
}
pin(D) {
capacitance : 0.003686 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 8.4 ;
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.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("0.01368, 0.0133, 0.01337, 0.01456, 0.01706, 0.02094, 0.02634, \
0.03336, 0.04212, 0.05267");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("0.002574, 0.002381, 0.002313, 0.003115, 0.005157, 0.008492, 0.01323, \
0.01945, 0.02718, 0.03653");
}
}
internal_power() {
when : "CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("0.04594, 0.04573, 0.0457, 0.0465, 0.04872, 0.05237, 0.0576, 0.06463, \
0.07354, 0.08447");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("0.03123, 0.03108, 0.03106, 0.03172, 0.03337, 0.03629, 0.04065, \
0.04662, 0.05425, 0.06367");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
index_2("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("-0, 0.022, 0.08, 0.186, 0.287, 0.402, 0.551, 0.728, 0.945, 1.188",\
"-0.015, 0.008, 0.063, 0.167, 0.265, 0.386, 0.532, 0.71, 0.927, 1.171",\
"-0.081, -0.064, -0.008, 0.101, 0.204, 0.315, 0.464, 0.644, 0.856, 1.106",\
"-0.204, -0.186, -0.13, -0.022, 0.073, 0.194, 0.338, 0.518, 0.732, 0.976",\
"-0.345, -0.326, -0.273, -0.17, -0.072, 0.047, 0.178, 0.352, 0.562, 0.802",\
"-0.521, -0.496, -0.447, -0.344, -0.244, -0.132, 0.002, 0.17, 0.372, 0.607",\
"-0.716, -0.692, -0.642, -0.533, -0.447, -0.331, -0.197, -0.031, 0.159, 0.388",\
"-0.941, -0.921, -0.87, -0.766, -0.678, -0.565, -0.436, -0.274, -0.082, 0.141",\
"-1.194, -1.17, -1.123, -1.022, -0.932, -0.828, -0.702, -0.538, -0.357, -0.133",\
"-1.472, -1.454, -1.404, -1.309, -1.226, -1.124, -1.001, -0.843, -0.659, -0.44");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
index_2("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("0.269, 0.287, 0.346, 0.481, 0.652, 0.848, 1.071, 1.311, 1.591, 1.89",\
"0.251, 0.268, 0.332, 0.461, 0.635, 0.836, 1.052, 1.3, 1.57, 1.874",\
"0.206, 0.223, 0.286, 0.414, 0.588, 0.79, 1.005, 1.252, 1.527, 1.828",\
"0.163, 0.175, 0.235, 0.368, 0.543, 0.738, 0.963, 1.203, 1.484, 1.78",\
"0.129, 0.152, 0.213, 0.342, 0.514, 0.716, 0.927, 1.17, 1.45, 1.751",\
"0.122, 0.145, 0.21, 0.336, 0.511, 0.707, 0.924, 1.166, 1.443, 1.744",\
"0.15, 0.164, 0.227, 0.356, 0.527, 0.723, 0.939, 1.18, 1.458, 1.762",\
"0.202, 0.218, 0.279, 0.404, 0.575, 0.768, 0.986, 1.219, 1.495, 1.802",\
"0.3, 0.321, 0.381, 0.498, 0.65, 0.836, 1.048, 1.29, 1.559, 1.865",\
"0.451, 0.472, 0.525, 0.632, 0.771, 0.948, 1.154, 1.379, 1.656, 1.95");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
index_2("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("0.578, 0.564, 0.482, 0.359, 0.21, 0.043, -0.147, -0.358, -0.602, -0.872",\
"0.594, 0.576, 0.498, 0.374, 0.22, 0.058, -0.13, -0.342, -0.582, -0.854",\
"0.664, 0.648, 0.573, 0.44, 0.29, 0.128, -0.066, -0.28, -0.517, -0.786",\
"0.803, 0.783, 0.705, 0.579, 0.425, 0.257, 0.073, -0.145, -0.382, -0.659",\
"0.989, 0.97, 0.895, 0.766, 0.62, 0.451, 0.253, 0.038, -0.201, -0.476",\
"1.22, 1.2, 1.127, 0.996, 0.844, 0.671, 0.473, 0.258, 0.012, -0.259",\
"1.483, 1.463, 1.386, 1.257, 1.095, 0.924, 0.726, 0.509, 0.263, -0.011",\
"1.772, 1.761, 1.69, 1.55, 1.388, 1.216, 1.018, 0.794, 0.544, 0.272",\
"2.112, 2.096, 2.029, 1.894, 1.718, 1.54, 1.343, 1.118, 0.874, 0.6",\
"2.501, 2.479, 2.406, 2.267, 2.095, 1.915, 1.713, 1.49, 1.24, 0.96");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
index_2("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("0.298, 0.285, 0.222, 0.109, -0.031, -0.171, -0.32, -0.508, -0.68, -0.912",\
"0.308, 0.3, 0.24, 0.127, -0.015, -0.155, -0.306, -0.471, -0.668, -0.88",\
"0.356, 0.344, 0.286, 0.172, 0.026, -0.109, -0.261, -0.426, -0.637, -0.838",\
"0.437, 0.423, 0.363, 0.241, 0.083, -0.058, -0.221, -0.393, -0.57, -0.817",\
"0.513, 0.499, 0.434, 0.305, 0.145, -0.012, -0.194, -0.374, -0.589, -0.772",\
"0.571, 0.559, 0.49, 0.366, 0.193, 0.016, -0.173, -0.384, -0.593, -0.815",\
"0.609, 0.599, 0.535, 0.397, 0.223, 0.041, -0.158, -0.388, -0.638, -0.862",\
"0.63, 0.611, 0.541, 0.413, 0.236, 0.047, -0.165, -0.403, -0.663, -0.944",\
"0.626, 0.605, 0.54, 0.399, 0.22, 0.029, -0.182, -0.432, -0.692, -0.984",\
"0.582, 0.563, 0.498, 0.364, 0.179, -0.013, -0.233, -0.482, -0.749, -1.05");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 1.318 ;
max_transition : 8.4 ;
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.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
index_2("0.001, 0.01009, 0.042, 0.1029, 0.1979, 0.3311, 0.5063, 0.7271, 0.9967, 1.318");
values("0.1571, 0.153, 0.1468, 0.1438, 0.1425, 0.1418, 0.1414, 0.1412, 0.141, 0.1408",\
"0.1571, 0.1529, 0.1468, 0.1439, 0.1425, 0.1418, 0.1414, 0.1412, 0.141, 0.1409",\
"0.1571, 0.153, 0.1468, 0.1438, 0.1424, 0.1418, 0.1414, 0.1411, 0.141, 0.1408",\
"0.1571, 0.1529, 0.1468, 0.1437, 0.1424, 0.1417, 0.1414, 0.1411, 0.1409, 0.1408",\
"0.1573, 0.1531, 0.1469, 0.144, 0.1426, 0.142, 0.1416, 0.1413, 0.1412, 0.141",\
"0.1576, 0.1534, 0.1473, 0.1444, 0.143, 0.1423, 0.1419, 0.1416, 0.1414, 0.1413",\
"0.1582, 0.1539, 0.1478, 0.1448, 0.1435, 0.1427, 0.1424, 0.1421, 0.1419, 0.1418",\
"0.1587, 0.1547, 0.1484, 0.1453, 0.144, 0.1433, 0.1429, 0.1426, 0.1424, 0.1423",\
"0.1596, 0.1554, 0.1491, 0.1461, 0.1447, 0.144, 0.1436, 0.1434, 0.1432, 0.1431",\
"0.1605, 0.1564, 0.1501, 0.147, 0.1455, 0.1448, 0.1445, 0.1441, 0.144, 0.1439");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
index_2("0.001, 0.01009, 0.042, 0.1029, 0.1979, 0.3311, 0.5063, 0.7271, 0.9967, 1.318");
values("0.1583, 0.1562, 0.1534, 0.1524, 0.1528, 0.154, 0.1554, 0.1563, 0.1581, 0.1659",\
"0.1584, 0.1562, 0.1533, 0.1524, 0.1528, 0.1539, 0.1553, 0.1564, 0.1578, 0.1655",\
"0.1584, 0.1562, 0.1533, 0.1524, 0.1528, 0.154, 0.1552, 0.1563, 0.1581, 0.1659",\
"0.1585, 0.1563, 0.1534, 0.1527, 0.153, 0.1542, 0.1554, 0.1565, 0.1583, 0.1671",\
"0.1589, 0.1569, 0.154, 0.1531, 0.1535, 0.1546, 0.1558, 0.157, 0.1589, 0.17",\
"0.1595, 0.1573, 0.1545, 0.1536, 0.154, 0.1551, 0.1564, 0.1575, 0.1599, 0.1725",\
"0.16, 0.1579, 0.1549, 0.1542, 0.1546, 0.1557, 0.1569, 0.1582, 0.16, 0.1798",\
"0.1607, 0.1586, 0.1557, 0.1548, 0.1556, 0.1568, 0.1576, 0.1588, 0.1622, 0.1888",\
"0.1613, 0.1591, 0.1562, 0.1553, 0.1557, 0.1572, 0.1593, 0.1601, 0.1654, 0.2036",\
"0.1621, 0.16, 0.1571, 0.1562, 0.1566, 0.1576, 0.1591, 0.1624, 0.1716, 0.2329");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
index_2("0.001, 0.01009, 0.042, 0.1029, 0.1979, 0.3311, 0.5063, 0.7271, 0.9967, 1.318");
values("1.333, 1.378, 1.495, 1.659, 1.855, 2.094, 2.387, 2.748, 3.186, 3.706",\
"1.35, 1.396, 1.513, 1.676, 1.873, 2.111, 2.405, 2.766, 3.203, 3.723",\
"1.417, 1.462, 1.579, 1.742, 1.939, 2.177, 2.471, 2.832, 3.269, 3.79",\
"1.55, 1.596, 1.713, 1.876, 2.073, 2.311, 2.605, 2.966, 3.403, 3.924",\
"1.74, 1.786, 1.903, 2.066, 2.262, 2.501, 2.795, 3.156, 3.593, 4.113",\
"1.956, 2.002, 2.119, 2.282, 2.479, 2.717, 3.011, 3.372, 3.809, 4.329",\
"2.196, 2.242, 2.359, 2.523, 2.719, 2.958, 3.252, 3.612, 4.05, 4.57",\
"2.466, 2.512, 2.629, 2.792, 2.989, 3.227, 3.521, 3.882, 4.319, 4.84",\
"2.766, 2.812, 2.929, 3.093, 3.289, 3.528, 3.822, 4.182, 4.62, 5.14",\
"3.097, 3.143, 3.26, 3.424, 3.62, 3.859, 4.153, 4.513, 4.951, 5.472");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
index_2("0.001, 0.01009, 0.042, 0.1029, 0.1979, 0.3311, 0.5063, 0.7271, 0.9967, 1.318");
values("1.462, 1.512, 1.649, 1.875, 2.211, 2.68, 3.297, 4.073, 5.021, 6.152",\
"1.48, 1.529, 1.667, 1.892, 2.228, 2.697, 3.314, 4.09, 5.037, 6.168",\
"1.546, 1.595, 1.733, 1.958, 2.294, 2.763, 3.38, 4.156, 5.103, 6.235",\
"1.68, 1.729, 1.867, 2.093, 2.429, 2.898, 3.515, 4.291, 5.238, 6.369",\
"1.869, 1.919, 2.056, 2.282, 2.618, 3.087, 3.703, 4.48, 5.428, 6.558",\
"2.084, 2.134, 2.271, 2.497, 2.833, 3.301, 3.918, 4.694, 5.642, 6.773",\
"2.323, 2.372, 2.51, 2.735, 3.072, 3.541, 4.157, 4.934, 5.882, 7.012",\
"2.591, 2.64, 2.777, 3.003, 3.339, 3.808, 4.424, 5.201, 6.15, 7.28",\
"2.888, 2.938, 3.075, 3.301, 3.637, 4.106, 4.723, 5.498, 6.446, 7.576",\
"3.215, 3.264, 3.401, 3.627, 3.963, 4.432, 5.049, 5.825, 6.772, 7.901");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
index_2("0.001, 0.01009, 0.042, 0.1029, 0.1979, 0.3311, 0.5063, 0.7271, 0.9967, 1.318");
values("0.1806, 0.2228, 0.3374, 0.5062, 0.738, 1.071, 1.534, 2.138, 2.892, 3.793",\
"0.1804, 0.2224, 0.3372, 0.5066, 0.7382, 1.072, 1.534, 2.139, 2.891, 3.797",\
"0.1804, 0.2222, 0.3372, 0.5062, 0.7368, 1.071, 1.536, 2.139, 2.888, 3.797",\
"0.1804, 0.2224, 0.3372, 0.5064, 0.7378, 1.071, 1.534, 2.139, 2.893, 3.797",\
"0.1806, 0.2224, 0.3374, 0.5064, 0.738, 1.071, 1.536, 2.139, 2.891, 3.796",\
"0.1806, 0.2226, 0.3376, 0.5066, 0.7384, 1.072, 1.534, 2.138, 2.889, 3.798",\
"0.1808, 0.223, 0.3378, 0.5068, 0.737, 1.071, 1.535, 2.14, 2.891, 3.798",\
"0.1808, 0.2228, 0.338, 0.507, 0.737, 1.073, 1.533, 2.137, 2.888, 3.798",\
"0.1816, 0.2234, 0.3382, 0.5072, 0.7384, 1.072, 1.536, 2.137, 2.889, 3.792",\
"0.1818, 0.2242, 0.3384, 0.5078, 0.739, 1.072, 1.533, 2.138, 2.888, 3.792");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
index_2("0.001, 0.01009, 0.042, 0.1029, 0.1979, 0.3311, 0.5063, 0.7271, 0.9967, 1.318");
values("0.162, 0.221, 0.4028, 0.7588, 1.34, 2.179, 3.281, 4.666, 6.366, 8.406",\
"0.162, 0.2208, 0.4024, 0.7588, 1.34, 2.179, 3.282, 4.67, 6.368, 8.393",\
"0.1618, 0.2208, 0.4024, 0.759, 1.342, 2.179, 3.284, 4.67, 6.368, 8.393",\
"0.163, 0.2204, 0.4026, 0.7588, 1.342, 2.178, 3.284, 4.67, 6.368, 8.393",\
"0.163, 0.2204, 0.4024, 0.7588, 1.341, 2.179, 3.277, 4.667, 6.368, 8.412",\
"0.1614, 0.2196, 0.4026, 0.7588, 1.34, 2.179, 3.283, 4.668, 6.368, 8.393",\
"0.1616, 0.2208, 0.4018, 0.7576, 1.343, 2.179, 3.284, 4.667, 6.37, 8.408",\
"0.1616, 0.2196, 0.402, 0.7582, 1.341, 2.175, 3.284, 4.67, 6.363, 8.408",\
"0.1616, 0.221, 0.4022, 0.7582, 1.34, 2.178, 3.278, 4.67, 6.368, 8.411",\
"0.1614, 0.221, 0.4018, 0.7574, 1.341, 2.177, 3.277, 4.669, 6.368, 8.396");
}
}
}
}