blob: 21a536b4230ea011fc4fc2c8454ad70b46160a9b [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__dffq_1) {
area : 63.660800 ;
ff(IQ1,IQN1) {
clocked_on : "CLK" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&!D" ;
value : "0.00064821" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.0006804" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.00070815" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.00071259" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.00071259" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.003181 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 15.6 ;
min_period : 3.562 ;
min_pulse_width_high : 1.474 ;
min_pulse_width_low : 1.784 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.102, 0.1016, 0.1016, 0.1044, 0.1109, 0.1212, 0.136, 0.1556, \
0.1801, 0.2098");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.07953, 0.07926, 0.07918, 0.08122, 0.08637, 0.09523, 0.1081, \
0.1253, 0.147, 0.1734");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.1036, 0.1032, 0.1032, 0.106, 0.1124, 0.1228, 0.1375, 0.1571, \
0.1816, 0.2113");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.07952, 0.07926, 0.07913, 0.08126, 0.08642, 0.09526, 0.1082, \
0.1255, 0.1471, 0.1735");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("1.784");
}
rise_constraint(scalar) {
values("0.855");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("1.254");
}
rise_constraint(scalar) {
values("1.474");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("3.562");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("3.101");
}
}
}
pin(D) {
capacitance : 0.002342 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 15.6 ;
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.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.05551, 0.0552, 0.05472, 0.05561, 0.05865, 0.06374, 0.07063, \
0.07955, 0.09076, 0.1043");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.03948, 0.03959, 0.0398, 0.04077, 0.04293, 0.04663, 0.05199, \
0.05918, 0.06823, 0.0793");
}
}
internal_power() {
when : "CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.003419, 0.003422, 0.003414, 0.003415, 0.003419, 0.003412, 0.003407, \
0.003394, 0.003373, 0.003327");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("-0.001974, -0.001983, -0.001986, -0.001993, -0.002022, -0.002036, \
-0.002048, -0.002066, -0.002095, -0.002161");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
index_2("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.097, 0.126, 0.22, 0.363, 0.491, 0.582, 0.636, 0.642, 0.614, 0.53",\
"0.082, 0.107, 0.203, 0.346, 0.467, 0.556, 0.612, 0.618, 0.585, 0.51",\
"-0.005, 0.024, 0.114, 0.262, 0.383, 0.471, 0.527, 0.538, 0.504, 0.426",\
"-0.236, -0.203, -0.112, 0.039, 0.163, 0.259, 0.313, 0.321, 0.288, 0.21",\
"-0.571, -0.538, -0.448, -0.298, -0.174, -0.075, -0.019, -0.001, -0.034, -0.111",\
"-0.996, -0.971, -0.884, -0.727, -0.606, -0.503, -0.449, -0.43, -0.459, -0.536",\
"-1.512, -1.481, -1.399, -1.251, -1.131, -1.031, -0.969, -0.955, -0.982, -1.06",\
"-2.128, -2.102, -2.023, -1.878, -1.755, -1.647, -1.59, -1.573, -1.604, -1.682",\
"-2.844, -2.822, -2.743, -2.593, -2.475, -2.38, -2.315, -2.291, -2.328, -2.401",\
"-3.676, -3.649, -3.573, -3.433, -3.315, -3.214, -3.148, -3.13, -3.159, -3.236");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
index_2("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.052, 0.08, 0.168, 0.271, 0.336, 0.375, 0.379, 0.35, 0.281, 0.176",\
"0.036, 0.058, 0.144, 0.248, 0.319, 0.354, 0.365, 0.339, 0.271, 0.172",\
"-0.027, -0.002, 0.09, 0.196, 0.273, 0.317, 0.329, 0.307, 0.246, 0.148",\
"-0.051, -0.028, 0.066, 0.172, 0.244, 0.29, 0.304, 0.279, 0.218, 0.115",\
"-0.034, -0.011, 0.078, 0.188, 0.256, 0.301, 0.309, 0.281, 0.22, 0.119",\
"0.04, 0.061, 0.151, 0.25, 0.321, 0.352, 0.363, 0.335, 0.263, 0.159",\
"0.204, 0.219, 0.306, 0.407, 0.454, 0.486, 0.482, 0.448, 0.373, 0.26",\
"0.452, 0.478, 0.561, 0.644, 0.692, 0.708, 0.702, 0.65, 0.57, 0.448",\
"0.816, 0.828, 0.917, 0.989, 1.022, 1.03, 1.014, 0.955, 0.867, 0.735",\
"1.275, 1.298, 1.377, 1.438, 1.461, 1.459, 1.431, 1.366, 1.266, 1.125");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
index_2("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.87, 0.841, 0.736, 0.565, 0.417, 0.307, 0.233, 0.207, 0.229, 0.298",\
"0.885, 0.858, 0.748, 0.579, 0.432, 0.324, 0.249, 0.225, 0.243, 0.324",\
"0.975, 0.944, 0.837, 0.674, 0.524, 0.415, 0.338, 0.313, 0.335, 0.408",\
"1.214, 1.189, 1.076, 0.911, 0.764, 0.649, 0.582, 0.555, 0.569, 0.646",\
"1.621, 1.592, 1.487, 1.315, 1.169, 1.064, 0.984, 0.955, 0.979, 1.045",\
"2.161, 2.129, 2.023, 1.852, 1.71, 1.598, 1.524, 1.496, 1.508, 1.575",\
"2.801, 2.776, 2.668, 2.498, 2.348, 2.243, 2.163, 2.14, 2.152, 2.219",\
"3.572, 3.536, 3.429, 3.262, 3.116, 3.005, 2.932, 2.899, 2.912, 2.979",\
"4.465, 4.436, 4.319, 4.151, 4.012, 3.898, 3.818, 3.793, 3.803, 3.868",\
"5.482, 5.456, 5.347, 5.172, 5.023, 4.908, 4.833, 4.807, 4.812, 4.876");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
index_2("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.801, 0.779, 0.655, 0.48, 0.349, 0.267, 0.218, 0.217, 0.264, 0.373",\
"0.823, 0.8, 0.68, 0.503, 0.374, 0.279, 0.242, 0.235, 0.286, 0.38",\
"0.909, 0.876, 0.765, 0.59, 0.451, 0.36, 0.314, 0.308, 0.343, 0.446",\
"1.015, 0.984, 0.87, 0.695, 0.566, 0.466, 0.416, 0.407, 0.444, 0.525",\
"1.083, 1.052, 0.938, 0.766, 0.634, 0.528, 0.474, 0.468, 0.498, 0.586",\
"1.075, 1.047, 0.928, 0.754, 0.622, 0.523, 0.468, 0.461, 0.496, 0.583",\
"0.997, 0.979, 0.852, 0.682, 0.551, 0.452, 0.396, 0.388, 0.426, 0.509",\
"0.84, 0.814, 0.697, 0.528, 0.393, 0.29, 0.239, 0.23, 0.265, 0.362",\
"0.585, 0.557, 0.445, 0.28, 0.144, 0.038, -0.014, -0.017, 0.021, 0.123",\
"0.232, 0.2, 0.091, -0.085, -0.212, -0.316, -0.374, -0.37, -0.326, -0.221");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.3545 ;
max_transition : 15.6 ;
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.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
index_2("0.001, 0.00344, 0.012, 0.02836, 0.05384, 0.08959, 0.1366, 0.1959, 0.2683, 0.3545");
values("0.08882, 0.08857, 0.08847, 0.08861, 0.08874, 0.08879, 0.08882, 0.08884, 0.08886, 0.08887",\
"0.08882, 0.08858, 0.08849, 0.08864, 0.08874, 0.0888, 0.08883, 0.08885, 0.08887, 0.08888",\
"0.08877, 0.08853, 0.08844, 0.08857, 0.08869, 0.08876, 0.08879, 0.08882, 0.08883, 0.08884",\
"0.08908, 0.08882, 0.08872, 0.08883, 0.089, 0.08905, 0.08908, 0.0891, 0.08912, 0.08913",\
"0.0894, 0.08916, 0.08909, 0.08922, 0.08935, 0.08942, 0.08945, 0.08946, 0.08948, 0.08948",\
"0.08967, 0.08948, 0.08943, 0.08952, 0.08961, 0.0897, 0.08973, 0.08975, 0.08976, 0.08976",\
"0.09023, 0.09002, 0.08989, 0.09001, 0.09013, 0.09019, 0.09023, 0.09024, 0.09026, 0.09026",\
"0.09069, 0.09044, 0.09034, 0.09046, 0.0906, 0.09065, 0.09068, 0.09071, 0.09073, 0.09068",\
"0.09123, 0.09101, 0.09088, 0.091, 0.09115, 0.09122, 0.09125, 0.09127, 0.09127, 0.09117",\
"0.09168, 0.09143, 0.09131, 0.09146, 0.09161, 0.09165, 0.09167, 0.09171, 0.09166, 0.09139");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
index_2("0.001, 0.00344, 0.012, 0.02836, 0.05384, 0.08959, 0.1366, 0.1959, 0.2683, 0.3545");
values("0.08854, 0.08807, 0.08742, 0.08739, 0.08778, 0.08837, 0.08903, 0.09288, 0.1242, 0.2593",\
"0.08856, 0.08808, 0.08744, 0.08744, 0.08789, 0.08851, 0.08932, 0.09257, 0.1248, 0.261",\
"0.08854, 0.08806, 0.08738, 0.08739, 0.08784, 0.08843, 0.08915, 0.09302, 0.1282, 0.2716",\
"0.0886, 0.08812, 0.08749, 0.08748, 0.08787, 0.08855, 0.08919, 0.09384, 0.1335, 0.2904",\
"0.08878, 0.08834, 0.08765, 0.08766, 0.08811, 0.08867, 0.08948, 0.0955, 0.1433, 0.3205",\
"0.08914, 0.0886, 0.08797, 0.08806, 0.08836, 0.08901, 0.08986, 0.0985, 0.1593, 0.3632",\
"0.08962, 0.08912, 0.08844, 0.0884, 0.08909, 0.08967, 0.09063, 0.1039, 0.185, 0.4247",\
"0.09025, 0.08974, 0.08904, 0.08909, 0.08954, 0.09018, 0.09251, 0.1141, 0.2278, 0.5107",\
"0.0911, 0.0906, 0.08997, 0.08978, 0.09002, 0.09059, 0.09512, 0.1357, 0.3001, 0.6236",\
"0.092, 0.09147, 0.09085, 0.09066, 0.09096, 0.09151, 0.1019, 0.1815, 0.4125, 0.7538");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
index_2("0.001, 0.00344, 0.012, 0.02836, 0.05384, 0.08959, 0.1366, 0.1959, 0.2683, 0.3545");
values("1.722, 1.781, 1.94, 2.182, 2.523, 2.987, 3.596, 4.361, 5.297, 6.412",\
"1.749, 1.808, 1.968, 2.21, 2.55, 3.015, 3.623, 4.389, 5.323, 6.44",\
"1.85, 1.909, 2.069, 2.311, 2.651, 3.115, 3.724, 4.49, 5.424, 6.541",\
"2.016, 2.075, 2.235, 2.477, 2.817, 3.282, 3.89, 4.656, 5.592, 6.707",\
"2.164, 2.223, 2.383, 2.625, 2.965, 3.43, 4.038, 4.804, 5.74, 6.855",\
"2.279, 2.338, 2.498, 2.74, 3.081, 3.545, 4.154, 4.92, 5.856, 6.969",\
"2.362, 2.421, 2.581, 2.822, 3.163, 3.627, 4.236, 5.001, 5.936, 7.052",\
"2.406, 2.464, 2.624, 2.866, 3.207, 3.671, 4.28, 5.045, 5.979, 7.094",\
"2.405, 2.464, 2.624, 2.866, 3.206, 3.67, 4.279, 5.045, 5.98, 7.093",\
"2.355, 2.414, 2.574, 2.816, 3.156, 3.62, 4.229, 4.995, 5.93, 7.043");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
index_2("0.001, 0.00344, 0.012, 0.02836, 0.05384, 0.08959, 0.1366, 0.1959, 0.2683, 0.3545");
values("2, 2.077, 2.305, 2.713, 3.344, 4.229, 5.392, 6.858, 8.647, 10.78",\
"2.028, 2.105, 2.333, 2.74, 3.372, 4.257, 5.419, 6.885, 8.674, 10.8",\
"2.128, 2.205, 2.433, 2.84, 3.472, 4.356, 5.52, 6.985, 8.773, 10.91",\
"2.292, 2.369, 2.597, 3.005, 3.636, 4.521, 5.684, 7.149, 8.937, 11.07",\
"2.442, 2.519, 2.748, 3.155, 3.787, 4.671, 5.834, 7.3, 9.088, 11.22",\
"2.562, 2.639, 2.867, 3.275, 3.906, 4.79, 5.954, 7.42, 9.209, 11.34",\
"2.652, 2.729, 2.957, 3.364, 3.995, 4.88, 6.043, 7.509, 9.299, 11.43",\
"2.707, 2.784, 3.013, 3.42, 4.051, 4.936, 6.099, 7.564, 9.351, 11.49",\
"2.723, 2.8, 3.027, 3.434, 4.066, 4.951, 6.113, 7.578, 9.366, 11.5",\
"2.691, 2.768, 2.996, 3.403, 4.035, 4.919, 6.083, 7.547, 9.337, 11.47");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
index_2("0.001, 0.00344, 0.012, 0.02836, 0.05384, 0.08959, 0.1366, 0.1959, 0.2683, 0.3545");
values("0.2006, 0.2606, 0.4376, 0.7598, 1.289, 2.06, 3.095, 4.4, 5.997, 7.888",\
"0.2014, 0.2612, 0.4384, 0.7604, 1.288, 2.061, 3.091, 4.395, 5.998, 7.894",\
"0.2014, 0.2612, 0.4384, 0.76, 1.288, 2.061, 3.091, 4.401, 5.998, 7.892",\
"0.2006, 0.2612, 0.437, 0.76, 1.289, 2.06, 3.095, 4.4, 5.997, 7.889",\
"0.2012, 0.2616, 0.4382, 0.762, 1.288, 2.06, 3.093, 4.401, 5.998, 7.892",\
"0.2012, 0.2604, 0.4374, 0.7612, 1.29, 2.062, 3.092, 4.401, 5.99, 7.9",\
"0.2014, 0.2608, 0.4374, 0.7598, 1.288, 2.062, 3.09, 4.391, 5.984, 7.887",\
"0.2008, 0.2604, 0.4372, 0.761, 1.29, 2.062, 3.093, 4.395, 5.984, 7.882",\
"0.2014, 0.2606, 0.4374, 0.761, 1.288, 2.062, 3.09, 4.396, 5.982, 7.878",\
"0.202, 0.262, 0.438, 0.76, 1.288, 2.062, 3.092, 4.402, 5.986, 7.878");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
index_2("0.001, 0.00344, 0.012, 0.02836, 0.05384, 0.08959, 0.1366, 0.1959, 0.2683, 0.3545");
values("0.2666, 0.3616, 0.6948, 1.387, 2.496, 4.059, 6.106, 8.69, 11.85, 15.6",\
"0.2668, 0.361, 0.6938, 1.39, 2.496, 4.059, 6.103, 8.69, 11.84, 15.62",\
"0.2668, 0.3604, 0.6936, 1.387, 2.494, 4.054, 6.114, 8.69, 11.86, 15.65",\
"0.2666, 0.3612, 0.6934, 1.388, 2.494, 4.057, 6.109, 8.686, 11.85, 15.61",\
"0.2658, 0.3608, 0.6942, 1.387, 2.496, 4.059, 6.102, 8.691, 11.85, 15.61",\
"0.2654, 0.3602, 0.693, 1.387, 2.495, 4.054, 6.114, 8.69, 11.85, 15.61",\
"0.2664, 0.3608, 0.6946, 1.39, 2.494, 4.052, 6.111, 8.689, 11.85, 15.61",\
"0.266, 0.3608, 0.6932, 1.388, 2.495, 4.051, 6.102, 8.7, 11.84, 15.61",\
"0.266, 0.3606, 0.6944, 1.39, 2.494, 4.058, 6.1, 8.686, 11.85, 15.6",\
"0.268, 0.36, 0.696, 1.388, 2.496, 4.052, 6.11, 8.688, 11.84, 15.6");
}
}
}
}