blob: 67ad5a5d7dced722a92fef1383677f4afbabfe4e [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__dffq_4) {
area : 98.784000 ;
ff(IQ1,IQN1) {
clocked_on : "CLK" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&!D" ;
value : "0.0005491365" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.00057442" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.00067397" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.00077165" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.00077165" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.004947 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 2.8 ;
min_period : 0.5063 ;
min_pulse_width_high : 0.2511 ;
min_pulse_width_low : 0.2511 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
values("0.4798, 0.4804, 0.4967, 0.5495, 0.6465, 0.7906, 0.9845, 1.23, \
1.53, 1.885");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
values("0.3091, 0.3089, 0.3212, 0.3659, 0.4494, 0.577, 0.7498, 0.9704, \
1.24, 1.562");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
values("0.4947, 0.4952, 0.5113, 0.5641, 0.6612, 0.8046, 0.9982, 1.243, \
1.542, 1.897");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
values("0.3075, 0.3073, 0.3196, 0.3648, 0.4485, 0.5756, 0.7486, 0.969, \
1.238, 1.56");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.2511");
}
rise_constraint(scalar) {
values("0.2101");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.1913");
}
rise_constraint(scalar) {
values("0.2511");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("0.5063");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("0.5063");
}
}
}
pin(D) {
capacitance : 0.003767 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 2.8 ;
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.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
values("0.2801, 0.2793, 0.2865, 0.3165, 0.374, 0.4604, 0.5759, 0.7219, \
0.8987, 1.108");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
values("0.1839, 0.1845, 0.1919, 0.2173, 0.2661, 0.3401, 0.4408, 0.5687, \
0.7253, 0.9116");
}
}
internal_power() {
when : "CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
values("0.02676, 0.02673, 0.02673, 0.02676, 0.02676, 0.02679, 0.02688, \
0.02688, 0.02691, 0.0269");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
values("-0.03033, -0.03028, -0.03018, -0.03008, -0.03011, -0.03015, -0.03021, \
-0.03023, -0.03033, -0.03038");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
index_2("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
values("0.0859, 0.0918, 0.1051, 0.1225, 0.1456, 0.1584, 0.1683, 0.1763, 0.165, 0.156",\
"0.0847, 0.0902, 0.1019, 0.1213, 0.1418, 0.1606, 0.1632, 0.1685, 0.16, 0.149",\
"0.0713, 0.0754, 0.0897, 0.1113, 0.1294, 0.1429, 0.1545, 0.1535, 0.15, 0.134",\
"0.0629, 0.0609, 0.0765, 0.0965, 0.1103, 0.1205, 0.133, 0.1292, 0.127, 0.111",\
"0.0436, 0.0525, 0.0599, 0.0739, 0.0906, 0.1001, 0.1085, 0.1072, 0.095, 0.084",\
"0.0295, 0.0309, 0.0408, 0.0564, 0.066, 0.0796, 0.0869, 0.0803, 0.064, 0.052",\
"0.0118, 0.0194, 0.0233, 0.0382, 0.0507, 0.0489, 0.0515, 0.0457, 0.034, 0.014",\
"-0.004, 0.0056, 0.0089, 0.0151, 0.0248, 0.0206, 0.0156, 0.0079, -0.004, -0.028",\
"-0.0301, -0.0181, -0.0213, -0.0104, -0.0092, -0.0134, -0.0178, -0.0328, -0.0582, -0.074",\
"-0.048, -0.0401, -0.0452, -0.0411, -0.0429, -0.0611, -0.0624, -0.0746, -0.1022, -0.131");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
index_2("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
values("0.0229, 0.0248, 0.0389, 0.0444, 0.0576, 0.0644, 0.0589, 0.047, 0.036, 0.012",\
"0.0178, 0.0193, 0.0325, 0.0454, 0.0584, 0.0553, 0.0523, 0.0466, 0.035, 0.011",\
"0.0125, 0.0137, 0.027, 0.0374, 0.0461, 0.051, 0.052, 0.0453, 0.027, 0.008",\
"0.0044, 0.0052, 0.0196, 0.0276, 0.0402, 0.0406, 0.0363, 0.033, 0.017, -0.006",\
"-0.0037, -0.003, 0.0069, 0.0213, 0.0266, 0.027, 0.0247, 0.0121, -0.004, -0.031",\
"-0.0081, -0.0074, 0.0051, 0.0164, 0.0195, 0.0159, 0.0093, -0.0088, -0.0302, -0.054",\
"0.0054, 0.0064, 0.0165, 0.0233, 0.0256, 0.0198, -0, -0.0156, -0.0474, -0.074",\
"0.0219, 0.023, 0.0359, 0.0439, 0.0354, 0.0265, 0.0088, -0.0158, -0.0412, -0.088",\
"0.0545, 0.0558, 0.0664, 0.0695, 0.0635, 0.0448, 0.0229, 0.0042, -0.0371, -0.08",\
"0.1038, 0.1054, 0.1109, 0.1136, 0.1048, 0.0807, 0.0544, 0.0228, -0.017, -0.062");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
index_2("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
values("0.0859, 0.0847, 0.0713, 0.0532, 0.0301, 0.0107, -0.001, 0.0047, 0.0037, 0.0171",\
"0.0857, 0.0838, 0.0754, 0.0508, 0.0317, 0.0117, 0.0064, 0.0056, 0.0047, 0.0254",\
"0.1051, 0.1019, 0.0897, 0.0651, 0.0448, 0.0306, 0.0233, 0.0179, 0.0255, 0.0366",\
"0.142, 0.1415, 0.1284, 0.1034, 0.0827, 0.0678, 0.0605, 0.0536, 0.0572, 0.0749",\
"0.1996, 0.1973, 0.1824, 0.163, 0.1438, 0.1258, 0.1177, 0.1093, 0.1165, 0.1293",\
"0.2711, 0.2755, 0.2551, 0.2346, 0.2197, 0.1991, 0.1943, 0.187, 0.1903, 0.2048",\
"0.3548, 0.3589, 0.3391, 0.319, 0.3013, 0.2808, 0.2743, 0.2675, 0.2672, 0.2879",\
"0.4524, 0.4474, 0.4334, 0.4184, 0.3974, 0.3774, 0.3654, 0.3634, 0.3644, 0.3804",\
"0.56, 0.558, 0.541, 0.52, 0.505, 0.486, 0.474, 0.476, 0.47, 0.487",\
"0.677, 0.68, 0.662, 0.644, 0.625, 0.602, 0.597, 0.588, 0.588, 0.598");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
index_2("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
values("0.1088, 0.1091, 0.0934, 0.0824, 0.0639, 0.0577, 0.0569, 0.065, 0.0771, 0.1038",\
"0.1161, 0.1096, 0.0985, 0.076, 0.0664, 0.0596, 0.0585, 0.0665, 0.0786, 0.1127",\
"0.1197, 0.125, 0.1077, 0.0878, 0.075, 0.0664, 0.0712, 0.072, 0.0898, 0.1183",\
"0.142, 0.1415, 0.1284, 0.1035, 0.0915, 0.0848, 0.0828, 0.1017, 0.1063, 0.1368",\
"0.1523, 0.1556, 0.1445, 0.1279, 0.1065, 0.0993, 0.101, 0.1093, 0.1297, 0.1541",\
"0.1678, 0.1702, 0.1531, 0.1376, 0.12, 0.1115, 0.1168, 0.1335, 0.1466, 0.1782",\
"0.1811, 0.1763, 0.1614, 0.1404, 0.1337, 0.1257, 0.1258, 0.1449, 0.1613, 0.2004",\
"0.1676, 0.1772, 0.1625, 0.1389, 0.1231, 0.1279, 0.1274, 0.1422, 0.1704, 0.2014",\
"0.16, 0.16, 0.15, 0.133, 0.115, 0.115, 0.124, 0.134, 0.158, 0.196",\
"0.135, 0.135, 0.127, 0.111, 0.1, 0.096, 0.101, 0.112, 0.144, 0.179");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 1.519 ;
max_transition : 2.8 ;
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.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
index_2("0.001, 0.01148, 0.04825, 0.1185, 0.2279, 0.3814, 0.5833, 0.8378, 1.148, 1.519");
values("1.524, 1.478, 1.398, 1.351, 1.325, 1.308, 1.298, 1.29, 1.285, 1.282",\
"1.523, 1.478, 1.4, 1.352, 1.325, 1.308, 1.298, 1.291, 1.286, 1.283",\
"1.523, 1.478, 1.4, 1.352, 1.325, 1.309, 1.298, 1.291, 1.286, 1.283",\
"1.527, 1.482, 1.404, 1.356, 1.329, 1.313, 1.303, 1.295, 1.29, 1.287",\
"1.533, 1.488, 1.41, 1.361, 1.335, 1.318, 1.308, 1.3, 1.295, 1.292",\
"1.541, 1.495, 1.417, 1.369, 1.341, 1.325, 1.314, 1.308, 1.302, 1.299",\
"1.548, 1.503, 1.424, 1.377, 1.35, 1.334, 1.324, 1.317, 1.313, 1.309",\
"1.56, 1.516, 1.436, 1.389, 1.362, 1.346, 1.335, 1.328, 1.323, 1.32",\
"1.571, 1.527, 1.449, 1.401, 1.374, 1.358, 1.347, 1.341, 1.337, 1.333",\
"1.587, 1.542, 1.464, 1.418, 1.389, 1.373, 1.362, 1.356, 1.351, 1.348");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
index_2("0.001, 0.01148, 0.04825, 0.1185, 0.2279, 0.3814, 0.5833, 0.8378, 1.148, 1.519");
values("1.511, 1.474, 1.418, 1.377, 1.347, 1.334, 1.326, 1.329, 1.339, 1.35",\
"1.512, 1.474, 1.419, 1.377, 1.347, 1.334, 1.332, 1.331, 1.333, 1.35",\
"1.512, 1.474, 1.418, 1.376, 1.346, 1.334, 1.325, 1.329, 1.337, 1.351",\
"1.513, 1.475, 1.42, 1.378, 1.348, 1.336, 1.329, 1.33, 1.338, 1.343",\
"1.518, 1.481, 1.422, 1.381, 1.354, 1.341, 1.334, 1.339, 1.34, 1.349",\
"1.529, 1.493, 1.434, 1.396, 1.363, 1.351, 1.343, 1.349, 1.355, 1.36",\
"1.544, 1.506, 1.447, 1.403, 1.384, 1.371, 1.358, 1.364, 1.369, 1.374",\
"1.564, 1.524, 1.471, 1.427, 1.394, 1.393, 1.39, 1.385, 1.39, 1.401",\
"1.587, 1.549, 1.49, 1.447, 1.411, 1.399, 1.41, 1.421, 1.422, 1.411",\
"1.616, 1.577, 1.518, 1.472, 1.446, 1.429, 1.424, 1.445, 1.457, 1.46");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
index_2("0.001, 0.01148, 0.04825, 0.1185, 0.2279, 0.3814, 0.5833, 0.8378, 1.148, 1.519");
values("0.379, 0.3917, 0.4242, 0.4741, 0.5458, 0.6453, 0.7764, 0.9419, 1.144, 1.385",\
"0.3821, 0.3948, 0.4272, 0.4772, 0.549, 0.6484, 0.7795, 0.945, 1.147, 1.388",\
"0.3949, 0.4077, 0.4401, 0.4901, 0.5618, 0.6613, 0.7924, 0.9579, 1.16, 1.401",\
"0.4176, 0.4303, 0.4628, 0.5127, 0.5845, 0.6839, 0.815, 0.9805, 1.183, 1.424",\
"0.4401, 0.4528, 0.4853, 0.5352, 0.607, 0.7064, 0.8375, 1.003, 1.205, 1.446",\
"0.4595, 0.4723, 0.5047, 0.5547, 0.6264, 0.7258, 0.8569, 1.022, 1.225, 1.466",\
"0.4735, 0.4861, 0.5186, 0.5686, 0.6403, 0.7398, 0.8708, 1.036, 1.238, 1.48",\
"0.4807, 0.4934, 0.5258, 0.5758, 0.6475, 0.747, 0.8781, 1.044, 1.246, 1.487",\
"0.4805, 0.4934, 0.5259, 0.5758, 0.6476, 0.747, 0.8781, 1.044, 1.246, 1.487",\
"0.4718, 0.4845, 0.5169, 0.5669, 0.6387, 0.7381, 0.8692, 1.035, 1.237, 1.478");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
index_2("0.001, 0.01148, 0.04825, 0.1185, 0.2279, 0.3814, 0.5833, 0.8378, 1.148, 1.519");
values("0.3569, 0.3703, 0.409, 0.4809, 0.595, 0.7567, 0.9702, 1.24, 1.569, 1.962",\
"0.36, 0.3733, 0.4121, 0.484, 0.598, 0.7597, 0.9732, 1.243, 1.572, 1.965",\
"0.3726, 0.3859, 0.4247, 0.4967, 0.6106, 0.7722, 0.9858, 1.255, 1.585, 1.978",\
"0.3945, 0.4079, 0.4465, 0.5185, 0.6325, 0.7942, 1.008, 1.277, 1.607, 1.999",\
"0.4163, 0.4295, 0.468, 0.54, 0.6542, 0.8157, 1.029, 1.299, 1.628, 2.021",\
"0.4351, 0.4486, 0.487, 0.559, 0.6729, 0.8346, 1.048, 1.318, 1.647, 2.04",\
"0.4489, 0.4623, 0.5008, 0.5727, 0.6868, 0.8484, 1.062, 1.331, 1.661, 2.054",\
"0.4563, 0.4696, 0.5084, 0.5804, 0.6943, 0.856, 1.069, 1.339, 1.668, 2.061",\
"0.4564, 0.4699, 0.5082, 0.5802, 0.6943, 0.8559, 1.069, 1.339, 1.668, 2.06",\
"0.4491, 0.4624, 0.5009, 0.5728, 0.6871, 0.8487, 1.062, 1.332, 1.661, 2.053");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
index_2("0.001, 0.01148, 0.04825, 0.1185, 0.2279, 0.3814, 0.5833, 0.8378, 1.148, 1.519");
values("0.03658, 0.04988, 0.08594, 0.1526, 0.2629, 0.4251, 0.6408, 0.9127, 1.246, 1.646",\
"0.03658, 0.0499, 0.0859, 0.1525, 0.263, 0.4253, 0.6405, 0.913, 1.247, 1.644",\
"0.03662, 0.04992, 0.0862, 0.1524, 0.2623, 0.4242, 0.6407, 0.9129, 1.247, 1.644",\
"0.03658, 0.04992, 0.0859, 0.1524, 0.2629, 0.4251, 0.6407, 0.914, 1.246, 1.644",\
"0.03658, 0.04986, 0.08594, 0.1523, 0.2629, 0.425, 0.6401, 0.9132, 1.246, 1.644",\
"0.03656, 0.04986, 0.08604, 0.1524, 0.2624, 0.4252, 0.6408, 0.9136, 1.246, 1.644",\
"0.0366, 0.05, 0.086, 0.1524, 0.2626, 0.424, 0.64, 0.9134, 1.246, 1.643",\
"0.0368, 0.0498, 0.0858, 0.1524, 0.262, 0.4248, 0.6404, 0.9124, 1.245, 1.644",\
"0.0366, 0.0498, 0.086, 0.1526, 0.2622, 0.4244, 0.6406, 0.9126, 1.246, 1.642",\
"0.0364, 0.0498, 0.0858, 0.1526, 0.2624, 0.4244, 0.6404, 0.9136, 1.246, 1.642");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
index_2("0.001, 0.01148, 0.04825, 0.1185, 0.2279, 0.3814, 0.5833, 0.8378, 1.148, 1.519");
values("0.03788, 0.0538, 0.1144, 0.2405, 0.4402, 0.7219, 1.094, 1.558, 2.129, 2.81",\
"0.038, 0.0541, 0.1144, 0.2405, 0.4405, 0.7214, 1.092, 1.559, 2.13, 2.81",\
"0.03802, 0.05386, 0.1145, 0.2401, 0.4405, 0.7228, 1.093, 1.559, 2.129, 2.81",\
"0.03802, 0.05404, 0.1145, 0.2403, 0.4403, 0.7217, 1.094, 1.559, 2.13, 2.81",\
"0.03782, 0.05408, 0.1146, 0.2403, 0.4401, 0.7228, 1.094, 1.559, 2.13, 2.81",\
"0.03788, 0.0541, 0.1145, 0.2405, 0.44, 0.7228, 1.094, 1.559, 2.128, 2.81",\
"0.0378, 0.0538, 0.1146, 0.2406, 0.4406, 0.7216, 1.093, 1.558, 2.129, 2.808",\
"0.038, 0.0538, 0.1146, 0.2406, 0.4404, 0.7218, 1.092, 1.559, 2.129, 2.811",\
"0.0378, 0.0542, 0.1144, 0.2406, 0.44, 0.7222, 1.091, 1.558, 2.129, 2.809",\
"0.0382, 0.054, 0.1144, 0.2402, 0.44, 0.7212, 1.092, 1.559, 2.128, 2.807");
}
}
}
}