blob: c7120c4085fd02d3aa936665fae61e3ea616be40 [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_4) {
area : 83.417600 ;
ff(IQ1,IQN1) {
clocked_on : "(!CLKN)" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&!D" ;
value : "0.00357786" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.004715766" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.002957526" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.0047025" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.004715766" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.003341 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 8.9 ;
min_period : 2.328 ;
min_pulse_width_high : 0.963 ;
min_pulse_width_low : 1.16 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.04679, 0.04663, 0.04647, 0.04706, 0.04905, 0.05239, 0.05725, \
0.06378, 0.0721, 0.08232");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.03005, 0.02997, 0.02988, 0.03043, 0.03194, 0.03471, 0.03886, \
0.0446, 0.05193, 0.06091");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.04668, 0.04653, 0.04636, 0.04696, 0.04894, 0.05229, 0.05714, \
0.06366, 0.072, 0.0822");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.03012, 0.03002, 0.02995, 0.03049, 0.03197, 0.03473, 0.03895, \
0.04464, 0.05198, 0.06095");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("1.035");
}
rise_constraint(scalar) {
values("0.963");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("1.16");
}
rise_constraint(scalar) {
values("0.773");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("2.175");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("2.328");
}
}
}
pin(D) {
capacitance : 0.002391 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 8.9 ;
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.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.00949, 0.00923, 0.009331, 0.01025, 0.01208, 0.01493, 0.01886, \
0.02399, 0.03036, 0.03806");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.001343, 0.001252, 0.001315, 0.001951, 0.003377, 0.005718, 0.009018, \
0.01332, 0.01869, 0.02517");
}
}
internal_power() {
when : "CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.03186, 0.03172, 0.03172, 0.03232, 0.03399, 0.03673, 0.04063, \
0.04582, 0.05238, 0.0604");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.02105, 0.02099, 0.02104, 0.02161, 0.02286, 0.02495, 0.02805, \
0.03221, 0.03754, 0.0441");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
fall_constraint(cnst_ctin_rtin_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.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.068, 0.091, 0.155, 0.278, 0.423, 0.595, 0.781, 1.013, 1.271, 1.552",\
"0.053, 0.072, 0.138, 0.263, 0.413, 0.576, 0.765, 0.991, 1.254, 1.532",\
"-0.017, 0.001, 0.065, 0.189, 0.339, 0.502, 0.695, 0.918, 1.169, 1.457",\
"-0.167, -0.144, -0.075, 0.047, 0.19, 0.355, 0.547, 0.768, 1.027, 1.31",\
"-0.363, -0.333, -0.268, -0.152, -0.007, 0.158, 0.341, 0.564, 0.82, 1.095",\
"-0.583, -0.564, -0.503, -0.386, -0.249, -0.09, 0.099, 0.319, 0.568, 0.842",\
"-0.86, -0.835, -0.77, -0.656, -0.525, -0.364, -0.184, 0.027, 0.272, 0.55",\
"-1.172, -1.151, -1.085, -0.968, -0.847, -0.694, -0.522, -0.308, -0.066, 0.207",\
"-1.526, -1.502, -1.443, -1.334, -1.211, -1.072, -0.902, -0.695, -0.45, -0.179",\
"-1.934, -1.911, -1.851, -1.744, -1.63, -1.491, -1.333, -1.131, -0.893, -0.63");
}
rise_constraint(cnst_ctin_rtin_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.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.349, 0.373, 0.438, 0.575, 0.775, 0.993, 1.242, 1.525, 1.846, 2.191",\
"0.335, 0.353, 0.422, 0.559, 0.762, 0.977, 1.233, 1.515, 1.826, 2.177",\
"0.287, 0.308, 0.378, 0.516, 0.715, 0.937, 1.191, 1.47, 1.786, 2.134",\
"0.261, 0.281, 0.341, 0.48, 0.674, 0.898, 1.145, 1.43, 1.75, 2.097",\
"0.249, 0.278, 0.341, 0.479, 0.673, 0.89, 1.139, 1.421, 1.739, 2.086",\
"0.282, 0.304, 0.373, 0.512, 0.701, 0.919, 1.164, 1.451, 1.759, 2.106",\
"0.358, 0.376, 0.445, 0.581, 0.769, 0.986, 1.234, 1.51, 1.824, 2.166",\
"0.474, 0.502, 0.565, 0.702, 0.89, 1.099, 1.344, 1.621, 1.931, 2.278",\
"0.654, 0.688, 0.754, 0.878, 1.058, 1.258, 1.499, 1.776, 2.084, 2.42",\
"0.912, 0.939, 0.993, 1.113, 1.283, 1.471, 1.707, 1.979, 2.284, 2.62");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
fall_constraint(cnst_ctin_rtin_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.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.727, 0.706, 0.631, 0.494, 0.312, 0.117, -0.103, -0.354, -0.628, -0.943",\
"0.744, 0.722, 0.646, 0.518, 0.334, 0.134, -0.084, -0.337, -0.615, -0.931",\
"0.82, 0.796, 0.716, 0.585, 0.404, 0.208, -0.013, -0.263, -0.546, -0.858",\
"0.966, 0.944, 0.867, 0.732, 0.555, 0.361, 0.138, -0.113, -0.395, -0.709",\
"1.204, 1.175, 1.1, 0.962, 0.784, 0.583, 0.361, 0.109, -0.174, -0.491",\
"1.491, 1.469, 1.391, 1.253, 1.071, 0.864, 0.645, 0.385, 0.104, -0.214",\
"1.834, 1.817, 1.733, 1.599, 1.41, 1.205, 0.976, 0.714, 0.43, 0.113",\
"2.25, 2.218, 2.138, 1.996, 1.803, 1.599, 1.359, 1.1, 0.813, 0.494",\
"2.727, 2.689, 2.607, 2.463, 2.258, 2.046, 1.812, 1.547, 1.255, 0.933",\
"3.242, 3.217, 3.132, 2.988, 2.789, 2.567, 2.328, 2.055, 1.759, 1.439");
}
rise_constraint(cnst_ctin_rtin_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.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.333, 0.315, 0.25, 0.123, -0.063, -0.275, -0.537, -0.835, -1.156, -1.529",\
"0.346, 0.329, 0.266, 0.133, -0.047, -0.267, -0.517, -0.812, -1.129, -1.499",\
"0.395, 0.38, 0.314, 0.18, -0.008, -0.22, -0.471, -0.764, -1.101, -1.456",\
"0.464, 0.45, 0.379, 0.244, 0.054, -0.159, -0.409, -0.699, -1.018, -1.397",\
"0.523, 0.508, 0.438, 0.299, 0.104, -0.113, -0.365, -0.648, -0.976, -1.341",\
"0.554, 0.54, 0.47, 0.325, 0.131, -0.095, -0.343, -0.633, -0.958, -1.317",\
"0.564, 0.535, 0.471, 0.326, 0.123, -0.103, -0.351, -0.643, -0.969, -1.333",\
"0.519, 0.503, 0.43, 0.285, 0.082, -0.142, -0.402, -0.692, -1.023, -1.379",\
"0.448, 0.424, 0.35, 0.205, 0.008, -0.223, -0.485, -0.778, -1.102, -1.47",\
"0.319, 0.297, 0.227, 0.084, -0.125, -0.355, -0.608, -0.899, -1.231, -1.598");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.8355 ;
max_transition : 8.9 ;
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.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
index_2("0.001, 0.00676, 0.02698, 0.06559, 0.1257, 0.2101, 0.3212, 0.4611, 0.6319, 0.8355");
values("0.1132, 0.1109, 0.1069, 0.1045, 0.1032, 0.1025, 0.102, 0.1017, 0.1015, 0.1013",\
"0.1132, 0.1109, 0.1069, 0.1045, 0.1032, 0.1025, 0.102, 0.1017, 0.1015, 0.1014",\
"0.1132, 0.1109, 0.1069, 0.1045, 0.1032, 0.1025, 0.102, 0.1017, 0.1015, 0.1014",\
"0.1132, 0.1109, 0.1069, 0.1045, 0.1032, 0.1025, 0.102, 0.1017, 0.1015, 0.1013",\
"0.1135, 0.1111, 0.1071, 0.1047, 0.1034, 0.1026, 0.1022, 0.1019, 0.1017, 0.1015",\
"0.1138, 0.1115, 0.1074, 0.105, 0.1037, 0.103, 0.1025, 0.1022, 0.102, 0.1019",\
"0.1142, 0.1119, 0.1079, 0.1054, 0.1041, 0.1034, 0.1029, 0.1026, 0.1024, 0.1022",\
"0.1147, 0.1124, 0.1084, 0.1059, 0.1046, 0.1039, 0.1034, 0.1031, 0.1029, 0.1027",\
"0.1154, 0.113, 0.1089, 0.1065, 0.1052, 0.1044, 0.104, 0.1037, 0.1035, 0.1033",\
"0.1162, 0.1138, 0.1097, 0.1072, 0.1059, 0.1051, 0.1047, 0.1044, 0.1042, 0.104");
}
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.00676, 0.02698, 0.06559, 0.1257, 0.2101, 0.3212, 0.4611, 0.6319, 0.8355");
values("0.1253, 0.1242, 0.1225, 0.1216, 0.1217, 0.1222, 0.1229, 0.1237, 0.1253, 0.1322",\
"0.1253, 0.1242, 0.1225, 0.1217, 0.1218, 0.1223, 0.1229, 0.1237, 0.1253, 0.1325",\
"0.1253, 0.1242, 0.1225, 0.1217, 0.1217, 0.1223, 0.123, 0.1239, 0.125, 0.1328",\
"0.1254, 0.1243, 0.1226, 0.1217, 0.1219, 0.1224, 0.1231, 0.1239, 0.1251, 0.1345",\
"0.1258, 0.1248, 0.1232, 0.1222, 0.1223, 0.1229, 0.1235, 0.1243, 0.1258, 0.1363",\
"0.1263, 0.1252, 0.1235, 0.1227, 0.1228, 0.1232, 0.124, 0.1247, 0.1267, 0.1404",\
"0.1268, 0.1258, 0.124, 0.1232, 0.1233, 0.1239, 0.1246, 0.1254, 0.1279, 0.1462",\
"0.1275, 0.1264, 0.1247, 0.1238, 0.1241, 0.1246, 0.1253, 0.126, 0.1297, 0.1562",\
"0.1282, 0.1271, 0.1254, 0.1246, 0.1247, 0.1258, 0.1266, 0.1277, 0.1333, 0.1735",\
"0.129, 0.1279, 0.1261, 0.1253, 0.1254, 0.1258, 0.1271, 0.1293, 0.1406, 0.2052");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_edge ;
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.00676, 0.02698, 0.06559, 0.1257, 0.2101, 0.3212, 0.4611, 0.6319, 0.8355");
values("1.495, 1.539, 1.658, 1.828, 2.034, 2.279, 2.574, 2.932, 3.362, 3.873",\
"1.514, 1.558, 1.677, 1.846, 2.053, 2.297, 2.593, 2.95, 3.381, 3.891",\
"1.585, 1.629, 1.747, 1.917, 2.123, 2.368, 2.664, 3.021, 3.451, 3.962",\
"1.728, 1.772, 1.89, 2.06, 2.266, 2.511, 2.807, 3.164, 3.595, 4.105",\
"1.936, 1.98, 2.098, 2.268, 2.474, 2.719, 3.014, 3.372, 3.802, 4.313",\
"2.176, 2.22, 2.339, 2.509, 2.715, 2.96, 3.255, 3.613, 4.043, 4.554",\
"2.445, 2.489, 2.607, 2.777, 2.983, 3.228, 3.524, 3.881, 4.312, 4.822",\
"2.747, 2.791, 2.909, 3.079, 3.286, 3.531, 3.826, 4.184, 4.614, 5.125",\
"3.083, 3.127, 3.246, 3.416, 3.622, 3.867, 4.162, 4.52, 4.95, 5.461",\
"3.454, 3.498, 3.617, 3.787, 3.993, 4.238, 4.534, 4.892, 5.323, 5.834");
}
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.00676, 0.02698, 0.06559, 0.1257, 0.2101, 0.3212, 0.4611, 0.6319, 0.8355");
values("1.694, 1.741, 1.881, 2.116, 2.47, 2.965, 3.615, 4.434, 5.434, 6.626",\
"1.712, 1.759, 1.9, 2.135, 2.489, 2.983, 3.634, 4.453, 5.453, 6.645",\
"1.783, 1.83, 1.97, 2.205, 2.559, 3.054, 3.704, 4.524, 5.523, 6.715",\
"1.927, 1.975, 2.115, 2.35, 2.704, 3.199, 3.849, 4.668, 5.667, 6.86",\
"2.139, 2.187, 2.327, 2.561, 2.916, 3.41, 4.061, 4.88, 5.879, 7.072",\
"2.389, 2.436, 2.576, 2.811, 3.166, 3.66, 4.311, 5.129, 6.129, 7.321",\
"2.669, 2.716, 2.856, 3.09, 3.446, 3.941, 4.591, 5.41, 6.41, 7.602",\
"2.982, 3.029, 3.17, 3.404, 3.758, 4.253, 4.904, 5.723, 6.722, 7.914",\
"3.332, 3.379, 3.519, 3.755, 4.109, 4.603, 5.253, 6.072, 7.072, 8.263",\
"3.716, 3.763, 3.902, 4.137, 4.492, 4.988, 5.638, 6.457, 7.456, 8.647");
}
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.00676, 0.02698, 0.06559, 0.1257, 0.2101, 0.3212, 0.4611, 0.6319, 0.8355");
values("0.2242, 0.2644, 0.378, 0.5548, 0.7862, 1.11, 1.551, 2.135, 2.863, 3.751",\
"0.224, 0.2638, 0.3784, 0.555, 0.7856, 1.11, 1.552, 2.131, 2.866, 3.748",\
"0.2242, 0.2642, 0.3784, 0.5548, 0.7862, 1.11, 1.552, 2.136, 2.864, 3.75",\
"0.2242, 0.2644, 0.3786, 0.555, 0.7862, 1.108, 1.552, 2.132, 2.866, 3.746",\
"0.2242, 0.2642, 0.3784, 0.5544, 0.786, 1.108, 1.553, 2.135, 2.863, 3.751",\
"0.2246, 0.2646, 0.3784, 0.5552, 0.786, 1.108, 1.55, 2.136, 2.865, 3.751",\
"0.2248, 0.265, 0.3786, 0.5556, 0.7858, 1.11, 1.552, 2.136, 2.865, 3.751",\
"0.2248, 0.2652, 0.3788, 0.5554, 0.786, 1.107, 1.551, 2.132, 2.867, 3.751",\
"0.2254, 0.2654, 0.3794, 0.5552, 0.786, 1.107, 1.552, 2.133, 2.861, 3.745",\
"0.2256, 0.2658, 0.3796, 0.5556, 0.7872, 1.109, 1.55, 2.133, 2.862, 3.748");
}
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.00676, 0.02698, 0.06559, 0.1257, 0.2101, 0.3212, 0.4611, 0.6319, 0.8355");
values("0.2044, 0.2624, 0.4516, 0.8298, 1.448, 2.33, 3.491, 4.965, 6.751, 8.885",\
"0.2048, 0.2626, 0.4522, 0.8296, 1.447, 2.327, 3.492, 4.969, 6.752, 8.887",\
"0.204, 0.2626, 0.4508, 0.8304, 1.448, 2.331, 3.492, 4.969, 6.752, 8.894",\
"0.2042, 0.2622, 0.4516, 0.8296, 1.448, 2.331, 3.492, 4.969, 6.75, 8.912",\
"0.204, 0.2624, 0.451, 0.829, 1.448, 2.327, 3.491, 4.959, 6.753, 8.894",\
"0.2038, 0.2622, 0.4516, 0.8298, 1.448, 2.331, 3.497, 4.957, 6.752, 8.914",\
"0.2034, 0.2618, 0.4512, 0.83, 1.448, 2.33, 3.49, 4.968, 6.752, 8.885",\
"0.2044, 0.2618, 0.451, 0.8302, 1.448, 2.33, 3.493, 4.97, 6.753, 8.89",\
"0.2032, 0.2612, 0.4504, 0.8292, 1.447, 2.327, 3.49, 4.966, 6.751, 8.888",\
"0.2036, 0.262, 0.451, 0.8288, 1.447, 2.33, 3.492, 4.958, 6.752, 8.906");
}
}
}
}