blob: 5f1464f0cfba17e9797e9920e4e01cc87245713a [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_2) {
area : 84.672000 ;
ff(IQ1,IQN1) {
clocked_on : "CLK" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&!D" ;
value : "0.0004958085" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.000481206" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.000692615" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.00067848" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.000692615" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.004988 ;
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.2169 ;
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.5067, 0.5073, 0.5228, 0.5749, 0.6724, 0.8158, 1.01, 1.255, 1.554, \
1.91");
}
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.311, 0.3113, 0.3229, 0.3675, 0.4504, 0.5782, 0.7511, 0.9712, \
1.242, 1.564");
}
}
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.5057, 0.5065, 0.5223, 0.5745, 0.6713, 0.8147, 1.008, 1.253, \
1.552, 1.907");
}
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.3093, 0.3093, 0.3214, 0.3663, 0.4498, 0.5772, 0.7499, 0.9702, \
1.24, 1.561");
}
}
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.1759");
}
}
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.2169");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("0.4986");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("0.4371");
}
}
}
pin(D) {
capacitance : 0.003894 ;
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.2881, 0.2875, 0.2946, 0.3244, 0.3816, 0.468, 0.5835, 0.7288, \
0.9057, 1.116");
}
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.1801, 0.1808, 0.1882, 0.2137, 0.2623, 0.3364, 0.437, 0.5645, \
0.7212, 0.9078");
}
}
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.02668, 0.02674, 0.02674, 0.02677, 0.02679, 0.02678, 0.02685, \
0.02685, 0.02684, 0.02689");
}
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.0303, -0.03026, -0.03017, -0.03007, -0.03006, -0.03016, -0.03019, \
-0.03024, -0.03032, -0.03026");
}
}
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.0857, 0.0977, 0.1225, 0.1388, 0.1584, 0.1683, 0.1676, 0.165, 0.156",\
"0.0786, 0.0838, 0.0942, 0.1162, 0.1348, 0.151, 0.1632, 0.1685, 0.16, 0.149",\
"0.0713, 0.0754, 0.0808, 0.1057, 0.1218, 0.1378, 0.1477, 0.1535, 0.15, 0.134",\
"0.0532, 0.0558, 0.0651, 0.0827, 0.1016, 0.1148, 0.1255, 0.1292, 0.121, 0.111",\
"0.0301, 0.0317, 0.0448, 0.0652, 0.0799, 0.0934, 0.1002, 0.1019, 0.095, 0.084",\
"0.0107, 0.0117, 0.0204, 0.0393, 0.0528, 0.0716, 0.0772, 0.0744, 0.064, 0.052",\
"-0.0203, -0.0197, -0.0109, 0.0084, 0.0256, 0.0392, 0.04, 0.039, 0.026, 0.014",\
"-0.0557, -0.0466, -0.0362, -0.0234, -0.0069, -0.0032, 0.0088, -0, -0.014, -0.028",\
"-0.0922, -0.0863, -0.0797, -0.0658, -0.0489, -0.0425, -0.0341, -0.042, -0.0635, -0.08",\
"-0.1276, -0.1272, -0.1196, -0.1107, -0.0921, -0.0877, -0.0916, -0.0962, -0.1143, -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.0172, 0.0187, 0.0316, 0.0444, 0.051, 0.055, 0.0525, 0.047, 0.03, 0.012",\
"0.0117, 0.0193, 0.0248, 0.0403, 0.0516, 0.0553, 0.0524, 0.0466, 0.029, 0.011",\
"0.0052, 0.0137, 0.018, 0.0317, 0.0461, 0.0459, 0.0451, 0.0362, 0.021, -0",\
"0.0044, 0.0002, 0.0139, 0.0276, 0.0313, 0.0349, 0.0363, 0.0234, 0.01, -0.013",\
"-0.0104, -0.0099, -0.0007, 0.0125, 0.0213, 0.0203, 0.0164, 0.0069, -0.011, -0.031",\
"-0.0081, -0.0074, -0, 0.0107, 0.0129, 0.0079, -0.0004, -0.0147, -0.0303, -0.063",\
"-0.0075, -0.0002, 0.0096, 0.0158, 0.0172, 0.0101, -0, -0.0224, -0.0474, -0.074",\
"0.0133, 0.0143, 0.0269, 0.0343, 0.03, 0.0206, 0.002, -0.0158, -0.0505, -0.088",\
"0.0432, 0.0445, 0.0547, 0.0572, 0.057, 0.0448, 0.0229, -0.0051, -0.0423, -0.08",\
"0.0894, 0.0909, 0.096, 0.0981, 0.0883, 0.0718, 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.0801, 0.0786, 0.064, 0.0434, 0.0234, 0.0107, -0.0075, -0.004, -0.0076, 0.0098",\
"0.0857, 0.0838, 0.0677, 0.0457, 0.0248, 0.0117, -0.0067, -0.0031, -0.0067, 0.0108",\
"0.0977, 0.0942, 0.0808, 0.0594, 0.0447, 0.0255, 0.0096, 0.0089, 0.0138, 0.0291",\
"0.142, 0.1364, 0.1227, 0.1034, 0.0827, 0.0621, 0.053, 0.0536, 0.051, 0.0672",\
"0.1929, 0.1903, 0.1823, 0.163, 0.1385, 0.1192, 0.1094, 0.1039, 0.1033, 0.1211",\
"0.2711, 0.2659, 0.25, 0.2289, 0.213, 0.1911, 0.1846, 0.1751, 0.1757, 0.1871",\
"0.3548, 0.3458, 0.3323, 0.319, 0.2929, 0.2808, 0.263, 0.2607, 0.259, 0.2782",\
"0.4434, 0.4474, 0.4334, 0.4084, 0.3874, 0.3714, 0.3584, 0.3554, 0.3554, 0.3694",\
"0.555, 0.547, 0.536, 0.514, 0.492, 0.479, 0.466, 0.457, 0.46, 0.475",\
"0.67, 0.673, 0.655, 0.637, 0.617, 0.602, 0.588, 0.578, 0.576, 0.591");
}
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.1151, 0.1007, 0.0727, 0.0572, 0.0483, 0.0504, 0.065, 0.0714, 0.0966",\
"0.1161, 0.1096, 0.0985, 0.0811, 0.0664, 0.0596, 0.052, 0.0665, 0.0786, 0.1054",\
"0.1271, 0.125, 0.1166, 0.0878, 0.075, 0.0613, 0.0643, 0.072, 0.0839, 0.1109",\
"0.142, 0.1364, 0.1284, 0.1103, 0.0915, 0.0792, 0.0828, 0.0921, 0.1002, 0.1291",\
"0.1591, 0.1556, 0.1445, 0.1279, 0.1065, 0.0993, 0.101, 0.1093, 0.1231, 0.1541",\
"0.1678, 0.1702, 0.1531, 0.1319, 0.12, 0.1115, 0.1168, 0.1275, 0.1393, 0.1694",\
"0.1747, 0.1763, 0.1545, 0.1404, 0.1253, 0.116, 0.1201, 0.1381, 0.1532, 0.1906",\
"0.1676, 0.1685, 0.1535, 0.1389, 0.1178, 0.116, 0.1206, 0.1422, 0.1611, 0.196",\
"0.154, 0.16, 0.138, 0.121, 0.115, 0.101, 0.115, 0.134, 0.153, 0.19",\
"0.135, 0.127, 0.119, 0.103, 0.092, 0.079, 0.091, 0.107, 0.132, 0.172");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.7573 ;
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.00622, 0.02454, 0.05953, 0.114, 0.1905, 0.2912, 0.418, 0.5728, 0.7573");
values("0.8262, 0.8048, 0.7664, 0.7429, 0.729, 0.7205, 0.7147, 0.7113, 0.7083, 0.7065",\
"0.8257, 0.8047, 0.7667, 0.7426, 0.7289, 0.7205, 0.7146, 0.7113, 0.7086, 0.7066",\
"0.8268, 0.806, 0.7673, 0.7439, 0.7301, 0.7211, 0.716, 0.712, 0.7092, 0.7075",\
"0.8313, 0.81, 0.7717, 0.7478, 0.7342, 0.7258, 0.7198, 0.7162, 0.7134, 0.7119",\
"0.8378, 0.8163, 0.7781, 0.7544, 0.7406, 0.7322, 0.7263, 0.7227, 0.72, 0.7181",\
"0.8447, 0.8232, 0.7856, 0.7616, 0.7478, 0.7397, 0.7337, 0.7301, 0.7276, 0.7258",\
"0.8542, 0.833, 0.7946, 0.7713, 0.7573, 0.7492, 0.7433, 0.7401, 0.7372, 0.7354",\
"0.8656, 0.8442, 0.806, 0.7825, 0.769, 0.7604, 0.7547, 0.7514, 0.7484, 0.7466",\
"0.8769, 0.8556, 0.8169, 0.7933, 0.7801, 0.7714, 0.7655, 0.7618, 0.7596, 0.7578",\
"0.8907, 0.8697, 0.8317, 0.8072, 0.794, 0.7852, 0.7797, 0.7765, 0.774, 0.7718");
}
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.00622, 0.02454, 0.05953, 0.114, 0.1905, 0.2912, 0.418, 0.5728, 0.7573");
values("0.752, 0.7371, 0.7122, 0.6938, 0.6827, 0.678, 0.675, 0.68, 0.682, 0.6873",\
"0.7521, 0.7372, 0.7123, 0.6939, 0.6829, 0.6786, 0.675, 0.6778, 0.682, 0.6879",\
"0.7519, 0.737, 0.7122, 0.6937, 0.6827, 0.6785, 0.6749, 0.6777, 0.6836, 0.6878",\
"0.7564, 0.7414, 0.7164, 0.6979, 0.6868, 0.682, 0.6811, 0.684, 0.686, 0.6919",\
"0.7645, 0.7491, 0.7246, 0.7066, 0.6953, 0.6898, 0.689, 0.6924, 0.6977, 0.6992",\
"0.7763, 0.761, 0.7344, 0.7196, 0.707, 0.7032, 0.7012, 0.703, 0.7105, 0.7103",\
"0.7929, 0.7772, 0.7529, 0.7316, 0.7256, 0.7202, 0.715, 0.7189, 0.7215, 0.7263",\
"0.8118, 0.7961, 0.7711, 0.7531, 0.7404, 0.7387, 0.7389, 0.7429, 0.7427, 0.7458",\
"0.835, 0.8189, 0.7919, 0.7733, 0.7613, 0.7559, 0.7622, 0.7694, 0.7709, 0.7663",\
"0.8622, 0.8462, 0.8217, 0.8003, 0.7903, 0.7827, 0.7813, 0.794, 0.8027, 0.8024");
}
}
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.00622, 0.02454, 0.05953, 0.114, 0.1905, 0.2912, 0.418, 0.5728, 0.7573");
values("0.3462, 0.3591, 0.3925, 0.4433, 0.5154, 0.6146, 0.7449, 0.9095, 1.111, 1.351",\
"0.3493, 0.3622, 0.3956, 0.4464, 0.5185, 0.6176, 0.748, 0.9127, 1.114, 1.354",\
"0.3623, 0.3752, 0.4086, 0.4594, 0.5315, 0.6306, 0.761, 0.9255, 1.127, 1.367",\
"0.3854, 0.3983, 0.4316, 0.4825, 0.5545, 0.6536, 0.784, 0.9487, 1.15, 1.39",\
"0.4085, 0.4214, 0.4547, 0.5056, 0.5777, 0.6767, 0.8071, 0.9718, 1.173, 1.413",\
"0.4286, 0.4416, 0.4749, 0.5258, 0.5979, 0.6969, 0.8274, 0.9921, 1.193, 1.433",\
"0.4433, 0.4562, 0.4896, 0.5404, 0.6125, 0.7116, 0.842, 1.007, 1.208, 1.448",\
"0.451, 0.4639, 0.4973, 0.5481, 0.6202, 0.7193, 0.8497, 1.014, 1.216, 1.455",\
"0.451, 0.4639, 0.4974, 0.5482, 0.6203, 0.7194, 0.8498, 1.014, 1.216, 1.456",\
"0.4425, 0.4555, 0.4888, 0.5397, 0.6118, 0.7109, 0.8413, 1.006, 1.207, 1.447");
}
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.00622, 0.02454, 0.05953, 0.114, 0.1905, 0.2912, 0.418, 0.5728, 0.7573");
values("0.3199, 0.333, 0.3714, 0.4432, 0.5572, 0.7186, 0.9316, 1.2, 1.528, 1.92",\
"0.3229, 0.3361, 0.3744, 0.4463, 0.5602, 0.7217, 0.9346, 1.203, 1.531, 1.923",\
"0.3356, 0.3487, 0.3871, 0.4589, 0.5729, 0.7343, 0.9473, 1.216, 1.544, 1.936",\
"0.3583, 0.3713, 0.4097, 0.4816, 0.5955, 0.757, 0.9698, 1.239, 1.567, 1.959",\
"0.381, 0.394, 0.4325, 0.5043, 0.6184, 0.7797, 0.9926, 1.261, 1.589, 1.981",\
"0.4008, 0.4138, 0.4522, 0.5241, 0.638, 0.7994, 1.012, 1.281, 1.61, 2.001",\
"0.4155, 0.4285, 0.4671, 0.5387, 0.6527, 0.814, 1.027, 1.296, 1.624, 2.016",\
"0.4236, 0.4367, 0.4751, 0.5471, 0.6611, 0.8222, 1.035, 1.304, 1.632, 2.023",\
"0.4248, 0.4378, 0.476, 0.5479, 0.6619, 0.8231, 1.036, 1.305, 1.633, 2.024",\
"0.4185, 0.4315, 0.4699, 0.5415, 0.6556, 0.8169, 1.03, 1.298, 1.626, 2.017");
}
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.00622, 0.02454, 0.05953, 0.114, 0.1905, 0.2912, 0.418, 0.5728, 0.7573");
values("0.03836, 0.05198, 0.08872, 0.1547, 0.2636, 0.4235, 0.6383, 0.91, 1.24, 1.637",\
"0.0383, 0.05198, 0.08864, 0.155, 0.2636, 0.4237, 0.6375, 0.9088, 1.24, 1.637",\
"0.03836, 0.052, 0.08876, 0.1547, 0.2632, 0.4235, 0.6378, 0.9101, 1.243, 1.637",\
"0.03832, 0.05196, 0.08868, 0.1548, 0.2632, 0.4244, 0.6377, 0.9091, 1.242, 1.636",\
"0.03828, 0.05192, 0.08854, 0.1547, 0.2632, 0.424, 0.6375, 0.91, 1.242, 1.636",\
"0.03832, 0.052, 0.08862, 0.1547, 0.2628, 0.4242, 0.638, 0.9098, 1.242, 1.638",\
"0.0384, 0.0522, 0.0886, 0.1544, 0.2632, 0.4232, 0.6374, 0.9096, 1.242, 1.638",\
"0.0382, 0.0518, 0.0886, 0.1546, 0.263, 0.4242, 0.6382, 0.9086, 1.239, 1.636",\
"0.0384, 0.0518, 0.0888, 0.1548, 0.2632, 0.424, 0.6384, 0.9094, 1.24, 1.634",\
"0.0382, 0.052, 0.0886, 0.1546, 0.2636, 0.4238, 0.6382, 0.9092, 1.24, 1.635");
}
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.00622, 0.02454, 0.05953, 0.114, 0.1905, 0.2912, 0.418, 0.5728, 0.7573");
values("0.0374, 0.05368, 0.1144, 0.24, 0.4397, 0.7208, 1.089, 1.555, 2.122, 2.805",\
"0.03748, 0.0537, 0.1144, 0.24, 0.4397, 0.7207, 1.091, 1.555, 2.123, 2.804",\
"0.03748, 0.05368, 0.1144, 0.24, 0.4396, 0.7206, 1.091, 1.554, 2.122, 2.803",\
"0.03756, 0.05374, 0.1144, 0.24, 0.4398, 0.721, 1.089, 1.555, 2.123, 2.805",\
"0.03742, 0.0535, 0.1145, 0.2401, 0.4397, 0.7202, 1.089, 1.555, 2.123, 2.8",\
"0.03742, 0.05362, 0.1144, 0.2401, 0.4395, 0.72, 1.089, 1.555, 2.126, 2.802",\
"0.0374, 0.0538, 0.1144, 0.2404, 0.4394, 0.7198, 1.089, 1.555, 2.122, 2.8",\
"0.0376, 0.0538, 0.1146, 0.24, 0.4402, 0.7206, 1.089, 1.555, 2.122, 2.8",\
"0.0376, 0.054, 0.1146, 0.2402, 0.4398, 0.7198, 1.089, 1.554, 2.123, 2.799",\
"0.0376, 0.0538, 0.1146, 0.2402, 0.44, 0.721, 1.089, 1.554, 2.122, 2.799");
}
}
}
}