blob: 05b2dd86fb572f83f854ba67cd7596f09e074cd9 [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_2) {
area : 87.494400 ;
ff(IQ1,IQN1) {
clocked_on : "(!CLKN)" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&!D" ;
value : "0.000609675" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.000625735" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.0005300955" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.000523622" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.000625735" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.004993 ;
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.4986 ;
min_pulse_width_high : 0.1998 ;
min_pulse_width_low : 0.2442 ;
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.4891, 0.4902, 0.5052, 0.5572, 0.6535, 0.7977, 0.9914, 1.237, \
1.536, 1.891");
}
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.3111, 0.311, 0.323, 0.3679, 0.451, 0.5793, 0.7524, 0.9729, 1.243, \
1.565");
}
}
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.4905, 0.4909, 0.506, 0.5579, 0.6545, 0.7984, 0.9922, 1.237, \
1.536, 1.893");
}
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.3103, 0.3105, 0.3227, 0.3674, 0.4503, 0.5782, 0.7518, 0.9719, \
1.243, 1.565");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.2237");
}
rise_constraint(scalar) {
values("0.1998");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.2442");
}
rise_constraint(scalar) {
values("0.1998");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("0.4601");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("0.4986");
}
}
}
pin(D) {
capacitance : 0.003887 ;
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 : "!CLKN" ;
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.1066, 0.1092, 0.1264, 0.1672, 0.2355, 0.3339, 0.4644, 0.6299, \
0.8319, 1.074");
}
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.005005, 0.006137, 0.01835, 0.05241, 0.1121, 0.1995, 0.3169, \
0.4659, 0.649, 0.8678");
}
}
internal_power() {
when : "CLKN" ;
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.3758, 0.3775, 0.3905, 0.4296, 0.5027, 0.6116, 0.7587, 0.9453, \
1.173, 1.443");
}
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.2572, 0.2581, 0.2685, 0.3014, 0.3626, 0.4564, 0.5841, 0.7479, \
0.949, 1.19");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
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.0229, 0.0309, 0.0463, 0.0737, 0.1118, 0.149, 0.2004, 0.2624, 0.335, 0.417",\
"0.0178, 0.0258, 0.0402, 0.0707, 0.107, 0.151, 0.1959, 0.2556, 0.331, 0.411",\
"-0.0022, 0.006, 0.018, 0.0487, 0.0839, 0.1224, 0.175, 0.2347, 0.308, 0.387",\
"-0.0347, -0.0302, -0.0146, 0.0138, 0.0489, 0.0863, 0.1404, 0.1966, 0.268, 0.343",\
"-0.078, -0.0724, -0.0612, -0.0314, -0, 0.0403, 0.0918, 0.1389, 0.208, 0.289",\
"-0.1302, -0.1221, -0.1122, -0.0863, -0.0536, -0.0159, 0.0287, 0.0804, 0.144, 0.212",\
"-0.194, -0.1893, -0.175, -0.1479, -0.1169, -0.0869, -0.0457, 0.005, 0.067, 0.14",\
"-0.2622, -0.2556, -0.2437, -0.2255, -0.197, -0.1636, -0.1275, -0.079, -0.023, 0.047",\
"-0.3404, -0.3365, -0.3252, -0.3055, -0.2804, -0.2535, -0.2134, -0.1713, -0.1163, -0.05",\
"-0.4311, -0.4256, -0.4169, -0.397, -0.3711, -0.3448, -0.3154, -0.2748, -0.2177, -0.158");
}
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.0687, 0.0735, 0.0904, 0.1322, 0.1794, 0.2429, 0.3097, 0.3914, 0.476, 0.568",\
"0.0665, 0.0709, 0.0865, 0.1263, 0.1765, 0.2467, 0.3131, 0.3864, 0.473, 0.571",\
"0.0566, 0.06, 0.0808, 0.117, 0.1672, 0.2296, 0.298, 0.3794, 0.465, 0.558",\
"0.0532, 0.0508, 0.0708, 0.1103, 0.163, 0.2232, 0.2892, 0.3694, 0.453, 0.551",\
"0.0369, 0.0456, 0.0598, 0.1003, 0.1545, 0.213, 0.2845, 0.3604, 0.446, 0.543",\
"0.0389, 0.0405, 0.0613, 0.0963, 0.1524, 0.215, 0.2905, 0.3654, 0.45, 0.548",\
"0.0504, 0.052, 0.0712, 0.1051, 0.1596, 0.2234, 0.2915, 0.3724, 0.457, 0.559",\
"0.0736, 0.0752, 0.0901, 0.1306, 0.178, 0.2345, 0.3083, 0.3874, 0.467, 0.567",\
"0.1053, 0.107, 0.1248, 0.1616, 0.2091, 0.263, 0.3323, 0.4104, 0.491, 0.588",\
"0.1545, 0.1564, 0.1704, 0.2064, 0.2525, 0.3023, 0.3656, 0.4452, 0.524, 0.618");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
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.1317, 0.1334, 0.1081, 0.0824, 0.0369, -0.0081, -0.0718, -0.1332, -0.205, -0.2866",\
"0.1404, 0.1353, 0.1139, 0.0811, 0.0386, -0.0074, -0.0654, -0.125, -0.2001, -0.2801",\
"0.1565, 0.1559, 0.1346, 0.0991, 0.0599, 0.0102, -0.0451, -0.1084, -0.1791, -0.2608",\
"0.2006, 0.1921, 0.1739, 0.1379, 0.1003, 0.045, -0.0065, -0.0716, -0.1395, -0.219",\
"0.2537, 0.2528, 0.2353, 0.1982, 0.1545, 0.1059, 0.0507, -0.0174, -0.082, -0.1577",\
"0.3275, 0.3233, 0.3061, 0.2688, 0.2263, 0.1752, 0.1168, 0.0563, -0.0134, -0.0877",\
"0.4127, 0.4111, 0.387, 0.3562, 0.3096, 0.2614, 0.2001, 0.1381, 0.0718, -0.004",\
"0.5034, 0.5084, 0.4874, 0.4464, 0.3974, 0.3474, 0.2908, 0.2291, 0.1611, 0.0878",\
"0.606, 0.609, 0.588, 0.551, 0.505, 0.45, 0.4, 0.337, 0.264, 0.196",\
"0.728, 0.724, 0.707, 0.667, 0.617, 0.566, 0.51, 0.448, 0.382, 0.309");
}
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.0973, 0.0969, 0.0787, 0.0532, 0.0099, -0.0269, -0.0589, -0.0987, -0.1483, -0.1926",\
"0.1039, 0.1031, 0.0831, 0.0508, 0.0178, -0.0266, -0.0589, -0.0987, -0.1432, -0.1854",\
"0.1197, 0.1173, 0.0987, 0.0651, 0.0296, -0.0153, -0.0519, -0.0904, -0.1264, -0.179",\
"0.142, 0.1364, 0.117, 0.0827, 0.0388, -0.0064, -0.0437, -0.0812, -0.1272, -0.1726",\
"0.1591, 0.1556, 0.1369, 0.1103, 0.0586, 0.0129, -0.0331, -0.0861, -0.1217, -0.1742",\
"0.177, 0.1796, 0.1581, 0.1205, 0.0735, 0.0239, -0.0287, -0.0863, -0.1444, -0.1852",\
"0.194, 0.1893, 0.1682, 0.133, 0.0835, 0.0287, -0.0285, -0.0933, -0.1562, -0.2083",\
"0.1935, 0.1946, 0.1806, 0.1389, 0.0914, 0.0328, -0.0292, -0.0869, -0.162, -0.237",\
"0.194, 0.189, 0.173, 0.139, 0.089, 0.028, -0.0311, -0.1059, -0.185, -0.2602",\
"0.178, 0.178, 0.164, 0.126, 0.076, 0.017, -0.045, -0.12, -0.202, -0.282");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.7568 ;
max_transition : 2.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.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
index_2("0.001, 0.006217, 0.02453, 0.0595, 0.114, 0.1904, 0.291, 0.4177, 0.5724, 0.7568");
values("1.01, 0.9851, 0.9361, 0.9044, 0.8862, 0.8745, 0.8667, 0.8612, 0.8575, 0.8549",\
"1.009, 0.9842, 0.9352, 0.9032, 0.8854, 0.8734, 0.8654, 0.8603, 0.8565, 0.8539",\
"1.009, 0.9843, 0.9357, 0.9039, 0.8856, 0.8738, 0.866, 0.8606, 0.8571, 0.8544",\
"1.013, 0.9888, 0.9393, 0.9072, 0.8891, 0.8776, 0.8697, 0.8644, 0.8606, 0.8581",\
"1.025, 1.001, 0.9519, 0.9195, 0.9013, 0.8896, 0.8819, 0.8766, 0.8728, 0.8701",\
"1.043, 1.018, 0.9691, 0.9368, 0.9187, 0.9066, 0.8987, 0.8932, 0.8894, 0.8867",\
"1.067, 1.042, 0.9924, 0.9605, 0.942, 0.9296, 0.922, 0.9165, 0.9128, 0.9105",\
"1.095, 1.07, 1.021, 0.9883, 0.969, 0.9577, 0.9494, 0.9438, 0.9401, 0.9374",\
"1.129, 1.105, 1.054, 1.021, 1.002, 0.9895, 0.9816, 0.9761, 0.9721, 0.9694",\
"1.166, 1.141, 1.09, 1.057, 1.038, 1.025, 1.017, 1.012, 1.008, 1.005");
}
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.006217, 0.02453, 0.0595, 0.114, 0.1904, 0.291, 0.4177, 0.5724, 0.7568");
values("1.099, 1.079, 1.05, 1.029, 1.013, 1.006, 1.004, 1.006, 1.007, 1.014",\
"1.099, 1.08, 1.05, 1.027, 1.013, 1.007, 1.003, 1.005, 1.007, 1.012",\
"1.101, 1.081, 1.051, 1.029, 1.015, 1.007, 1.003, 1.007, 1.009, 1.014",\
"1.106, 1.086, 1.056, 1.033, 1.02, 1.012, 1.011, 1.01, 1.015, 1.021",\
"1.115, 1.095, 1.065, 1.044, 1.029, 1.021, 1.02, 1.02, 1.027, 1.029",\
"1.127, 1.106, 1.077, 1.055, 1.04, 1.033, 1.029, 1.031, 1.035, 1.04",\
"1.143, 1.124, 1.09, 1.069, 1.058, 1.048, 1.047, 1.045, 1.053, 1.055",\
"1.16, 1.14, 1.111, 1.086, 1.074, 1.069, 1.065, 1.066, 1.067, 1.073",\
"1.179, 1.16, 1.129, 1.105, 1.091, 1.088, 1.091, 1.087, 1.089, 1.089",\
"1.196, 1.177, 1.146, 1.125, 1.111, 1.1, 1.104, 1.109, 1.11, 1.114");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_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.006217, 0.02453, 0.0595, 0.114, 0.1904, 0.291, 0.4177, 0.5724, 0.7568");
values("0.3352, 0.349, 0.3849, 0.4381, 0.5111, 0.6102, 0.7405, 0.905, 1.106, 1.346",\
"0.3393, 0.3532, 0.389, 0.4422, 0.5152, 0.6143, 0.7446, 0.9091, 1.11, 1.35",\
"0.3577, 0.3715, 0.4074, 0.4606, 0.5335, 0.6327, 0.763, 0.9275, 1.129, 1.368",\
"0.3961, 0.41, 0.4459, 0.4991, 0.572, 0.6712, 0.8015, 0.966, 1.167, 1.407",\
"0.4509, 0.4647, 0.5006, 0.5538, 0.6267, 0.7259, 0.8562, 1.021, 1.222, 1.462",\
"0.517, 0.5308, 0.5667, 0.62, 0.6929, 0.792, 0.9223, 1.087, 1.288, 1.528",\
"0.592, 0.6058, 0.6418, 0.695, 0.7679, 0.8671, 0.9973, 1.162, 1.363, 1.603",\
"0.676, 0.6899, 0.7257, 0.7789, 0.8518, 0.9509, 1.081, 1.246, 1.447, 1.687",\
"0.7683, 0.7821, 0.8182, 0.8713, 0.9442, 1.043, 1.174, 1.338, 1.539, 1.779",\
"0.8695, 0.8833, 0.9192, 0.9724, 1.045, 1.144, 1.275, 1.439, 1.64, 1.88");
}
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.006217, 0.02453, 0.0595, 0.114, 0.1904, 0.291, 0.4177, 0.5724, 0.7568");
values("0.3686, 0.3823, 0.4216, 0.4936, 0.6074, 0.7684, 0.9811, 1.25, 1.577, 1.969",\
"0.3728, 0.3865, 0.4258, 0.4978, 0.6115, 0.7725, 0.9854, 1.254, 1.582, 1.974",\
"0.3915, 0.4052, 0.4445, 0.5166, 0.6303, 0.7914, 1.004, 1.273, 1.6, 1.992",\
"0.4304, 0.4442, 0.4834, 0.5554, 0.6691, 0.8302, 1.043, 1.311, 1.64, 2.03",\
"0.4851, 0.4988, 0.5381, 0.6101, 0.7239, 0.885, 1.097, 1.366, 1.694, 2.086",\
"0.551, 0.5647, 0.6041, 0.6761, 0.7898, 0.9509, 1.164, 1.432, 1.76, 2.152",\
"0.6263, 0.6401, 0.6791, 0.7512, 0.8648, 1.026, 1.239, 1.507, 1.836, 2.227",\
"0.7092, 0.723, 0.7623, 0.8343, 0.9479, 1.109, 1.322, 1.59, 1.918, 2.31",\
"0.7997, 0.8135, 0.8527, 0.9247, 1.038, 1.199, 1.412, 1.68, 2.008, 2.399",\
"0.8987, 0.9124, 0.9517, 1.024, 1.137, 1.298, 1.511, 1.779, 2.107, 2.498");
}
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.006217, 0.02453, 0.0595, 0.114, 0.1904, 0.291, 0.4177, 0.5724, 0.7568");
values("0.04108, 0.05592, 0.0952, 0.1599, 0.2658, 0.4245, 0.6386, 0.91, 1.242, 1.637",\
"0.04114, 0.05596, 0.09528, 0.1599, 0.2658, 0.4239, 0.638, 0.9099, 1.242, 1.636",\
"0.04118, 0.05586, 0.09514, 0.1598, 0.2658, 0.4245, 0.6386, 0.9088, 1.242, 1.637",\
"0.04118, 0.05598, 0.09514, 0.1599, 0.2658, 0.4245, 0.6381, 0.9097, 1.242, 1.635",\
"0.04114, 0.05614, 0.0953, 0.16, 0.2658, 0.4245, 0.6384, 0.9098, 1.241, 1.637",\
"0.04126, 0.0559, 0.09542, 0.1598, 0.2658, 0.4238, 0.638, 0.9098, 1.242, 1.637",\
"0.0412, 0.0562, 0.0952, 0.1602, 0.2656, 0.4236, 0.638, 0.9088, 1.24, 1.638",\
"0.0414, 0.0562, 0.0956, 0.1602, 0.2656, 0.424, 0.6372, 0.9088, 1.24, 1.635",\
"0.0414, 0.0564, 0.0954, 0.1602, 0.2658, 0.4246, 0.6378, 0.9088, 1.24, 1.635",\
"0.0414, 0.0562, 0.0958, 0.1602, 0.2658, 0.424, 0.6382, 0.9096, 1.239, 1.634");
}
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.006217, 0.02453, 0.0595, 0.114, 0.1904, 0.291, 0.4177, 0.5724, 0.7568");
values("0.03914, 0.05626, 0.1166, 0.2407, 0.4392, 0.7203, 1.089, 1.557, 2.123, 2.801",\
"0.03912, 0.0564, 0.1166, 0.2404, 0.4392, 0.72, 1.088, 1.557, 2.123, 2.805",\
"0.03924, 0.05646, 0.1166, 0.2404, 0.4394, 0.7197, 1.089, 1.556, 2.123, 2.805",\
"0.03908, 0.05636, 0.1169, 0.2404, 0.4393, 0.72, 1.088, 1.554, 2.123, 2.8",\
"0.03906, 0.05584, 0.1168, 0.2403, 0.4394, 0.7195, 1.089, 1.555, 2.124, 2.802",\
"0.03968, 0.05576, 0.1166, 0.2404, 0.4394, 0.7198, 1.089, 1.554, 2.123, 2.804",\
"0.039, 0.0558, 0.1166, 0.2402, 0.439, 0.7196, 1.09, 1.554, 2.126, 2.8",\
"0.0392, 0.056, 0.1166, 0.2402, 0.4392, 0.72, 1.09, 1.557, 2.124, 2.803",\
"0.0388, 0.0554, 0.1164, 0.2402, 0.4392, 0.7202, 1.088, 1.554, 2.123, 2.8",\
"0.0394, 0.0558, 0.1166, 0.2408, 0.4398, 0.7194, 1.09, 1.553, 2.121, 2.798");
}
}
}
}