blob: 12c6b95b7a5b772af349ff53a76d4984cc0cbe78 [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 : "9.2763e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "9.603792e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "7.65072e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "7.543206e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "9.603792e-05" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.003183 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 6.8 ;
min_period : 1.781 ;
min_pulse_width_high : 0.689 ;
min_pulse_width_low : 0.893 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
values("0.04468, 0.0445, 0.0442, 0.04409, 0.0445, 0.04541, 0.04686, 0.04884, \
0.05142, 0.05471");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
values("0.02873, 0.02865, 0.02844, 0.02833, 0.02854, 0.02926, 0.03047, \
0.03222, 0.03461, 0.03757");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
values("0.04465, 0.04448, 0.04415, 0.04405, 0.04447, 0.04537, 0.04681, \
0.04881, 0.0514, 0.05468");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
values("0.02878, 0.02869, 0.02849, 0.02839, 0.0286, 0.02929, 0.03048, \
0.03225, 0.03463, 0.03763");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.801");
}
rise_constraint(scalar) {
values("0.689");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.893");
}
rise_constraint(scalar) {
values("0.57");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("1.641");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("1.781");
}
}
}
pin(D) {
capacitance : 0.002292 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 6.8 ;
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.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
values("0.008873, 0.008616, 0.008485, 0.008724, 0.009366, 0.01038, 0.01184, \
0.0138, 0.01631, 0.01938");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
values("0.001132, 0.001027, 0.0009031, 0.001029, 0.001499, 0.002348, 0.003626, \
0.005335, 0.007507, 0.01016");
}
}
internal_power() {
when : "CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
values("0.029, 0.02884, 0.02868, 0.02874, 0.02924, 0.03016, 0.03149, 0.03331, \
0.03564, 0.03853");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
values("0.0195, 0.01943, 0.01934, 0.01943, 0.01974, 0.0204, 0.02143, 0.02292, \
0.02485, 0.0273");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
index_2("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
values("0.08, 0.094, 0.15, 0.246, 0.378, 0.513, 0.658, 0.833, 1.02, 1.249",\
"0.065, 0.075, 0.13, 0.234, 0.364, 0.494, 0.645, 0.811, 1.007, 1.23",\
"0.004, 0.017, 0.068, 0.174, 0.3, 0.432, 0.578, 0.756, 0.95, 1.173",\
"-0.122, -0.102, -0.057, 0.051, 0.185, 0.314, 0.462, 0.632, 0.827, 1.048",\
"-0.279, -0.261, -0.214, -0.107, 0.016, 0.145, 0.297, 0.465, 0.662, 0.884",\
"-0.456, -0.445, -0.396, -0.29, -0.166, -0.034, 0.109, 0.273, 0.47, 0.693",\
"-0.658, -0.645, -0.594, -0.495, -0.371, -0.249, -0.104, 0.067, 0.261, 0.479",\
"-0.88, -0.869, -0.817, -0.723, -0.602, -0.482, -0.34, -0.174, 0.019, 0.241",\
"-1.147, -1.129, -1.082, -0.981, -0.866, -0.755, -0.61, -0.449, -0.253, -0.031",\
"-1.432, -1.422, -1.371, -1.281, -1.16, -1.053, -0.917, -0.755, -0.564, -0.342");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
index_2("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
values("0.286, 0.305, 0.363, 0.48, 0.65, 0.851, 1.046, 1.278, 1.516, 1.789",\
"0.276, 0.292, 0.347, 0.472, 0.639, 0.83, 1.033, 1.262, 1.508, 1.773",\
"0.237, 0.249, 0.307, 0.427, 0.601, 0.791, 0.995, 1.225, 1.466, 1.737",\
"0.197, 0.21, 0.275, 0.387, 0.557, 0.753, 0.953, 1.178, 1.428, 1.699",\
"0.179, 0.193, 0.252, 0.368, 0.536, 0.732, 0.931, 1.158, 1.402, 1.672",\
"0.183, 0.199, 0.253, 0.373, 0.542, 0.73, 0.929, 1.154, 1.406, 1.666",\
"0.214, 0.227, 0.283, 0.406, 0.567, 0.755, 0.955, 1.181, 1.428, 1.688",\
"0.276, 0.281, 0.35, 0.46, 0.619, 0.811, 1.007, 1.231, 1.47, 1.737",\
"0.368, 0.38, 0.438, 0.548, 0.713, 0.892, 1.085, 1.303, 1.547, 1.815",\
"0.503, 0.517, 0.57, 0.681, 0.833, 1.005, 1.195, 1.414, 1.654, 1.917");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
index_2("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
values("0.538, 0.514, 0.45, 0.337, 0.197, 0.033, -0.147, -0.35, -0.574, -0.826",\
"0.556, 0.531, 0.466, 0.358, 0.213, 0.055, -0.133, -0.332, -0.557, -0.812",\
"0.615, 0.59, 0.525, 0.421, 0.274, 0.108, -0.075, -0.278, -0.5, -0.755",\
"0.737, 0.711, 0.652, 0.54, 0.394, 0.231, 0.052, -0.156, -0.381, -0.63",\
"0.922, 0.895, 0.838, 0.721, 0.579, 0.414, 0.236, 0.027, -0.201, -0.448",\
"1.152, 1.138, 1.066, 0.955, 0.809, 0.643, 0.458, 0.252, 0.023, -0.235",\
"1.421, 1.393, 1.331, 1.218, 1.069, 0.897, 0.71, 0.501, 0.275, 0.014",\
"1.714, 1.684, 1.624, 1.504, 1.354, 1.181, 0.994, 0.784, 0.54, 0.279",\
"2.038, 2.015, 1.948, 1.833, 1.674, 1.498, 1.306, 1.088, 0.854, 0.588",\
"2.403, 2.375, 2.31, 2.19, 2.033, 1.856, 1.654, 1.446, 1.193, 0.934");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
index_2("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
values("0.218, 0.204, 0.15, 0.034, -0.149, -0.343, -0.556, -0.795, -1.058, -1.341",\
"0.232, 0.217, 0.16, 0.046, -0.133, -0.33, -0.542, -0.773, -1.045, -1.33",\
"0.276, 0.257, 0.204, 0.089, -0.085, -0.287, -0.499, -0.737, -0.996, -1.285",\
"0.34, 0.324, 0.271, 0.146, -0.03, -0.225, -0.438, -0.675, -0.939, -1.218",\
"0.403, 0.383, 0.328, 0.202, 0.027, -0.166, -0.38, -0.619, -0.881, -1.16",\
"0.447, 0.426, 0.365, 0.243, 0.067, -0.121, -0.335, -0.569, -0.829, -1.115",\
"0.467, 0.451, 0.388, 0.261, 0.085, -0.113, -0.323, -0.551, -0.807, -1.098",\
"0.463, 0.447, 0.387, 0.257, 0.08, -0.117, -0.33, -0.566, -0.82, -1.104",\
"0.434, 0.416, 0.355, 0.227, 0.05, -0.148, -0.36, -0.594, -0.853, -1.136",\
"0.377, 0.361, 0.293, 0.174, -0.008, -0.213, -0.429, -0.66, -0.918, -1.195");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.8483 ;
max_transition : 6.8 ;
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.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
index_2("0.001, 0.006848, 0.02738, 0.06658, 0.1277, 0.2134, 0.3261, 0.4682, 0.6416, 0.8483");
values("0.09188, 0.09133, 0.09095, 0.09128, 0.09167, 0.09197, 0.09222, 0.09237, 0.09247, 0.09255",\
"0.09197, 0.09137, 0.09104, 0.0913, 0.09174, 0.09202, 0.09227, 0.0924, 0.0925, 0.09259",\
"0.09192, 0.09139, 0.09103, 0.09133, 0.09165, 0.092, 0.09225, 0.09238, 0.09248, 0.09256",\
"0.09195, 0.09131, 0.09094, 0.09128, 0.09176, 0.09198, 0.09223, 0.09236, 0.09246, 0.09253",\
"0.09194, 0.09134, 0.09095, 0.09127, 0.09161, 0.09195, 0.0922, 0.09234, 0.09246, 0.09253",\
"0.09196, 0.09135, 0.09095, 0.09131, 0.09175, 0.09202, 0.09225, 0.09239, 0.0925, 0.09257",\
"0.09201, 0.09136, 0.091, 0.09126, 0.09167, 0.09205, 0.09228, 0.09243, 0.09253, 0.09261",\
"0.09207, 0.09144, 0.09106, 0.09137, 0.09179, 0.09215, 0.09234, 0.09249, 0.0926, 0.09267",\
"0.09232, 0.09168, 0.09121, 0.09154, 0.09194, 0.09226, 0.09251, 0.09267, 0.09278, 0.09284",\
"0.09238, 0.0918, 0.0913, 0.09158, 0.09204, 0.09236, 0.09261, 0.09278, 0.09287, 0.09296");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
index_2("0.001, 0.006848, 0.02738, 0.06658, 0.1277, 0.2134, 0.3261, 0.4682, 0.6416, 0.8483");
values("0.108, 0.1079, 0.1078, 0.1087, 0.1097, 0.1107, 0.1122, 0.1129, 0.1135, 0.1146",\
"0.108, 0.1079, 0.1078, 0.1087, 0.1098, 0.1107, 0.1125, 0.1128, 0.1134, 0.1146",\
"0.1081, 0.1079, 0.1079, 0.1088, 0.1098, 0.1109, 0.1125, 0.1128, 0.1136, 0.1147",\
"0.108, 0.1079, 0.1079, 0.1087, 0.1099, 0.1111, 0.1123, 0.1131, 0.1149, 0.1151",\
"0.1082, 0.1082, 0.1082, 0.109, 0.1099, 0.1115, 0.1128, 0.113, 0.1138, 0.1149",\
"0.1087, 0.1085, 0.1086, 0.1094, 0.1103, 0.1114, 0.1127, 0.1135, 0.1143, 0.1159",\
"0.1089, 0.1089, 0.109, 0.1097, 0.1107, 0.112, 0.1132, 0.1139, 0.1145, 0.1155",\
"0.1094, 0.1094, 0.1093, 0.1101, 0.1114, 0.112, 0.1133, 0.114, 0.1149, 0.1167",\
"0.1097, 0.1096, 0.1096, 0.1104, 0.1115, 0.113, 0.1141, 0.1146, 0.1153, 0.1177",\
"0.1101, 0.11, 0.1099, 0.111, 0.1115, 0.1127, 0.1147, 0.1157, 0.1158, 0.1191");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
index_2("0.001, 0.006848, 0.02738, 0.06658, 0.1277, 0.2134, 0.3261, 0.4682, 0.6416, 0.8483");
values("1.14, 1.177, 1.27, 1.395, 1.544, 1.725, 1.947, 2.22, 2.551, 2.944",\
"1.157, 1.193, 1.286, 1.411, 1.561, 1.742, 1.964, 2.236, 2.567, 2.961",\
"1.218, 1.254, 1.347, 1.472, 1.622, 1.803, 2.025, 2.297, 2.628, 3.022",\
"1.339, 1.376, 1.469, 1.594, 1.744, 1.924, 2.146, 2.419, 2.75, 3.143",\
"1.52, 1.556, 1.649, 1.774, 1.924, 2.105, 2.327, 2.599, 2.93, 3.324",\
"1.73, 1.767, 1.86, 1.985, 2.135, 2.315, 2.537, 2.81, 3.141, 3.535",\
"1.956, 1.993, 2.086, 2.211, 2.361, 2.542, 2.763, 3.036, 3.367, 3.761",\
"2.2, 2.236, 2.329, 2.455, 2.605, 2.785, 3.007, 3.28, 3.611, 4.005",\
"2.464, 2.501, 2.594, 2.719, 2.869, 3.05, 3.272, 3.545, 3.875, 4.269",\
"2.754, 2.79, 2.884, 3.009, 3.158, 3.339, 3.561, 3.834, 4.165, 4.559");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
index_2("0.001, 0.006848, 0.02738, 0.06658, 0.1277, 0.2134, 0.3261, 0.4682, 0.6416, 0.8483");
values("1.294, 1.332, 1.441, 1.627, 1.909, 2.303, 2.82, 3.471, 4.265, 5.212",\
"1.311, 1.349, 1.458, 1.644, 1.926, 2.32, 2.837, 3.488, 4.282, 5.228",\
"1.372, 1.41, 1.519, 1.705, 1.987, 2.381, 2.898, 3.549, 4.343, 5.289",\
"1.493, 1.532, 1.64, 1.826, 2.109, 2.502, 3.02, 3.67, 4.464, 5.41",\
"1.676, 1.714, 1.823, 2.008, 2.291, 2.685, 3.202, 3.853, 4.647, 5.594",\
"1.89, 1.928, 2.037, 2.222, 2.505, 2.899, 3.416, 4.067, 4.86, 5.807",\
"2.12, 2.159, 2.267, 2.453, 2.735, 3.129, 3.646, 4.297, 5.091, 6.038",\
"2.369, 2.408, 2.516, 2.702, 2.984, 3.378, 3.895, 4.546, 5.34, 6.286",\
"2.639, 2.678, 2.786, 2.972, 3.254, 3.648, 4.165, 4.816, 5.61, 6.557",\
"2.933, 2.972, 3.08, 3.266, 3.549, 3.942, 4.459, 5.111, 5.904, 6.849");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
index_2("0.001, 0.006848, 0.02738, 0.06658, 0.1277, 0.2134, 0.3261, 0.4682, 0.6416, 0.8483");
values("0.1542, 0.1858, 0.2654, 0.3848, 0.553, 0.7948, 1.134, 1.577, 2.13, 2.795",\
"0.154, 0.186, 0.2652, 0.3846, 0.553, 0.796, 1.133, 1.578, 2.131, 2.796",\
"0.154, 0.1858, 0.2652, 0.3846, 0.5518, 0.7944, 1.133, 1.578, 2.131, 2.797",\
"0.1544, 0.1858, 0.2654, 0.3846, 0.5532, 0.796, 1.134, 1.576, 2.129, 2.795",\
"0.1544, 0.186, 0.2652, 0.385, 0.552, 0.795, 1.133, 1.578, 2.13, 2.795",\
"0.1544, 0.186, 0.2658, 0.3848, 0.5532, 0.795, 1.134, 1.578, 2.129, 2.793",\
"0.1542, 0.1858, 0.2654, 0.3848, 0.5528, 0.7958, 1.133, 1.577, 2.131, 2.794",\
"0.1544, 0.1864, 0.2652, 0.3848, 0.5528, 0.7948, 1.134, 1.577, 2.131, 2.795",\
"0.1548, 0.1862, 0.2656, 0.3848, 0.553, 0.7944, 1.133, 1.577, 2.13, 2.792",\
"0.155, 0.1868, 0.2664, 0.3852, 0.553, 0.7952, 1.133, 1.577, 2.128, 2.792");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
index_2("0.001, 0.006848, 0.02738, 0.06658, 0.1277, 0.2134, 0.3261, 0.4682, 0.6416, 0.8483");
values("0.141, 0.1812, 0.3214, 0.6174, 1.093, 1.769, 2.661, 3.782, 5.157, 6.787",\
"0.1408, 0.1806, 0.322, 0.6172, 1.093, 1.768, 2.659, 3.785, 5.153, 6.795",\
"0.1408, 0.1804, 0.3216, 0.6176, 1.094, 1.769, 2.66, 3.782, 5.151, 6.792",\
"0.1406, 0.1804, 0.3216, 0.6174, 1.094, 1.768, 2.661, 3.784, 5.149, 6.789",\
"0.1406, 0.1804, 0.3216, 0.6178, 1.093, 1.769, 2.658, 3.784, 5.157, 6.787",\
"0.1408, 0.181, 0.3212, 0.617, 1.093, 1.767, 2.661, 3.783, 5.153, 6.786",\
"0.1402, 0.1806, 0.3216, 0.617, 1.094, 1.77, 2.661, 3.782, 5.156, 6.785",\
"0.1392, 0.1798, 0.3214, 0.6172, 1.094, 1.768, 2.659, 3.784, 5.152, 6.792",\
"0.1396, 0.1796, 0.3208, 0.6174, 1.093, 1.767, 2.657, 3.781, 5.155, 6.788",\
"0.1396, 0.1794, 0.3214, 0.6176, 1.094, 1.769, 2.661, 3.779, 5.146, 6.787");
}
}
}
}