blob: 00023ee03cfdff47fc4b600799b6db221bdbbcc8 [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_1) {
area : 79.027200 ;
ff(IQ1,IQN1) {
clocked_on : "CLK" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&!D" ;
value : "0.0004203595" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.0004501255" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.0005451215" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.00064735" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.00064735" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.004973 ;
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.1964 ;
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.4801, 0.481, 0.4969, 0.5495, 0.6468, 0.7906, 0.9845, 1.23, 1.529, \
1.885");
}
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.3102, 0.31, 0.3224, 0.3671, 0.4502, 0.578, 0.7509, 0.9712, 1.241, \
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.4947, 0.4955, 0.5118, 0.5645, 0.6611, 0.805, 0.9981, 1.243, \
1.542, 1.897");
}
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.3084, 0.3084, 0.3208, 0.3659, 0.4496, 0.5772, 0.7501, 0.9699, \
1.239, 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.169");
}
}
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.1964");
}
}
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.4832");
}
}
}
pin(D) {
capacitance : 0.003768 ;
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.2802, 0.2797, 0.2866, 0.3165, 0.3738, 0.4603, 0.5762, 0.722, \
0.8991, 1.109");
}
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.1867, 0.1873, 0.1945, 0.2199, 0.2685, 0.3425, 0.4432, 0.5715, \
0.7281, 0.9141");
}
}
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.02667, 0.02672, 0.02675, 0.02677, 0.02683, 0.02678, 0.02683, \
0.02681, 0.02686, 0.02691");
}
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.03037, -0.03026, -0.03023, -0.03005, -0.03011, -0.03014, -0.03017, \
-0.03034, -0.03033, -0.03038");
}
}
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.0744, 0.0796, 0.0904, 0.1127, 0.132, 0.149, 0.1554, 0.159, 0.154, 0.142",\
"0.0725, 0.0773, 0.0865, 0.1111, 0.1278, 0.1414, 0.1567, 0.1598, 0.154, 0.142",\
"0.064, 0.0677, 0.0808, 0.0943, 0.1141, 0.1326, 0.1408, 0.1445, 0.138, 0.127",\
"0.0434, 0.0406, 0.0537, 0.0758, 0.0928, 0.109, 0.1181, 0.1196, 0.115, 0.103",\
"0.0166, 0.0178, 0.0296, 0.0564, 0.0693, 0.0801, 0.0918, 0.0914, 0.082, 0.067",\
"-0.0081, -0.0074, -0, 0.0221, 0.0395, 0.0557, 0.0578, 0.0566, 0.05, 0.034",\
"-0.046, -0.0458, -0.0314, -0.0139, 0.0088, 0.0198, 0.0229, 0.0185, 0.018, -0.006",\
"-0.0815, -0.0815, -0.0723, -0.0523, -0.0386, -0.0269, -0.0185, -0.0237, -0.032, -0.05",\
"-0.1317, -0.1318, -0.1206, -0.0965, -0.082, -0.0716, -0.0666, -0.0697, -0.0793, -0.105",\
"-0.1854, -0.1784, -0.1716, -0.1495, -0.1331, -0.1232, -0.1208, -0.1233, -0.1387, -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.0115, 0.0127, 0.0242, 0.0347, 0.0441, 0.0456, 0.0461, 0.0384, 0.019, -0.003",\
"0.0117, 0.0129, 0.0248, 0.0353, 0.0445, 0.0457, 0.0459, 0.0379, 0.018, -0.004",\
"-0.0022, 0.006, 0.018, 0.026, 0.0385, 0.0408, 0.0383, 0.0272, 0.015, -0.007",\
"-0.0054, -0.0049, 0.0025, 0.0207, 0.0313, 0.0292, 0.0288, 0.0138, -0.002, -0.021",\
"-0.0172, -0.0169, -0.0082, 0.0037, 0.0107, 0.0137, 0.008, -0.0037, -0.017, -0.039",\
"-0.0175, -0.017, -0.0102, -0.0007, 0.0062, 0.0079, -0.0004, -0.0207, -0.0376, -0.063",\
"-0.0139, -0.0132, -0.004, 0.0084, 0.0088, 0.0004, -0.0114, -0.0292, -0.0555, -0.084",\
"0.0047, 0.0056, 0.0179, 0.0247, 0.0194, 0.0147, -0.0048, -0.0237, -0.0505, -0.093",\
"0.0319, 0.0388, 0.043, 0.051, 0.0437, 0.0302, 0.0148, -0.0143, -0.0476, -0.087",\
"0.0749, 0.0763, 0.0886, 0.0904, 0.0802, 0.0718, 0.0447, 0.012, -0.0232, -0.069");
}
}
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.0126, -0.0076, 0.0098",\
"0.0796, 0.0838, 0.0677, 0.0457, 0.0248, 0.0117, -0.0067, -0.0031, -0.001, 0.0108",\
"0.0977, 0.0942, 0.0808, 0.0594, 0.0372, 0.0204, 0.0096, 0.0089, 0.0138, 0.0291",\
"0.142, 0.1364, 0.1227, 0.0965, 0.0827, 0.0621, 0.053, 0.0439, 0.051, 0.0672",\
"0.1929, 0.1903, 0.1824, 0.163, 0.1332, 0.1192, 0.1094, 0.104, 0.1099, 0.1212",\
"0.2711, 0.2659, 0.25, 0.2289, 0.2064, 0.1911, 0.1846, 0.1751, 0.183, 0.1959",\
"0.3546, 0.3522, 0.3321, 0.3188, 0.2929, 0.2808, 0.263, 0.2607, 0.2672, 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.553, 0.536, 0.514, 0.492, 0.479, 0.466, 0.467, 0.46, 0.475",\
"0.67, 0.673, 0.655, 0.637, 0.617, 0.602, 0.588, 0.578, 0.582, 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.109, 0.0933, 0.0727, 0.0572, 0.0577, 0.0504, 0.065, 0.0771, 0.1038",\
"0.11, 0.1096, 0.0985, 0.076, 0.0595, 0.05, 0.052, 0.0665, 0.0786, 0.1054",\
"0.1197, 0.125, 0.1077, 0.0878, 0.0675, 0.0613, 0.0643, 0.072, 0.0898, 0.1109",\
"0.142, 0.1414, 0.1227, 0.1034, 0.0915, 0.0791, 0.0828, 0.0921, 0.1063, 0.1368",\
"0.1523, 0.1556, 0.1445, 0.1191, 0.1012, 0.0993, 0.101, 0.1093, 0.1231, 0.1541",\
"0.1678, 0.1702, 0.1479, 0.1319, 0.1133, 0.1115, 0.1168, 0.1275, 0.1466, 0.1694",\
"0.1683, 0.1698, 0.1545, 0.1404, 0.1253, 0.116, 0.1201, 0.1381, 0.1613, 0.1906",\
"0.1676, 0.1685, 0.1535, 0.1389, 0.1178, 0.116, 0.1206, 0.1343, 0.1611, 0.196",\
"0.149, 0.155, 0.138, 0.121, 0.108, 0.108, 0.115, 0.134, 0.153, 0.19",\
"0.135, 0.135, 0.112, 0.103, 0.084, 0.079, 0.091, 0.107, 0.138, 0.172");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.3763 ;
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.003591, 0.01268, 0.03005, 0.0571, 0.09506, 0.145, 0.2079, 0.2848, 0.3763");
values("0.5357, 0.5276, 0.5127, 0.5021, 0.4958, 0.4917, 0.4888, 0.487, 0.4856, 0.4848",\
"0.5361, 0.5279, 0.513, 0.5027, 0.4962, 0.4923, 0.4894, 0.4873, 0.4862, 0.4854",\
"0.5367, 0.5287, 0.5137, 0.5033, 0.4969, 0.493, 0.49, 0.488, 0.4868, 0.4859",\
"0.5407, 0.5328, 0.5178, 0.5074, 0.501, 0.4968, 0.4942, 0.4922, 0.4907, 0.4899",\
"0.5477, 0.5397, 0.525, 0.5147, 0.5081, 0.5038, 0.5012, 0.4993, 0.4977, 0.4971",\
"0.5548, 0.5468, 0.5319, 0.5218, 0.5152, 0.5111, 0.5086, 0.5067, 0.5053, 0.5042",\
"0.5648, 0.5568, 0.5415, 0.5314, 0.5252, 0.521, 0.5183, 0.5168, 0.5151, 0.5141",\
"0.5758, 0.5675, 0.5524, 0.5425, 0.5361, 0.5317, 0.529, 0.5273, 0.5259, 0.525",\
"0.5872, 0.579, 0.564, 0.5542, 0.5475, 0.5435, 0.5406, 0.5391, 0.5377, 0.5366",\
"0.5996, 0.5915, 0.5766, 0.566, 0.5601, 0.5558, 0.5535, 0.5512, 0.5497, 0.549");
}
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.003591, 0.01268, 0.03005, 0.0571, 0.09506, 0.145, 0.2079, 0.2848, 0.3763");
values("0.4723, 0.467, 0.4576, 0.4495, 0.4444, 0.4431, 0.4432, 0.4448, 0.4474, 0.4496",\
"0.4724, 0.4671, 0.4577, 0.4497, 0.4446, 0.4432, 0.4427, 0.4442, 0.4463, 0.4507",\
"0.4726, 0.4673, 0.4579, 0.4495, 0.4456, 0.4434, 0.4435, 0.4451, 0.4478, 0.4504",\
"0.4769, 0.472, 0.4622, 0.4537, 0.4494, 0.4478, 0.4477, 0.4494, 0.4499, 0.4543",\
"0.4849, 0.48, 0.4698, 0.4626, 0.4582, 0.4553, 0.4552, 0.4576, 0.4609, 0.4608",\
"0.497, 0.4918, 0.4811, 0.4751, 0.47, 0.4675, 0.4673, 0.4691, 0.4707, 0.4739",\
"0.5128, 0.5074, 0.4966, 0.4887, 0.4864, 0.4847, 0.4828, 0.4822, 0.486, 0.4898",\
"0.5311, 0.526, 0.5156, 0.5079, 0.5021, 0.5029, 0.5043, 0.5032, 0.5042, 0.5053",\
"0.5529, 0.5473, 0.5366, 0.5283, 0.5227, 0.5212, 0.5235, 0.5262, 0.5278, 0.5272",\
"0.5774, 0.572, 0.5613, 0.5519, 0.5475, 0.5447, 0.5444, 0.5499, 0.5537, 0.5542");
}
}
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.003591, 0.01268, 0.03005, 0.0571, 0.09506, 0.145, 0.2079, 0.2848, 0.3763");
values("0.3395, 0.3509, 0.3829, 0.4331, 0.5046, 0.603, 0.7325, 0.8959, 1.096, 1.334",\
"0.3425, 0.354, 0.3859, 0.4361, 0.5077, 0.606, 0.7355, 0.899, 1.099, 1.337",\
"0.3556, 0.367, 0.3989, 0.4492, 0.5207, 0.6191, 0.7486, 0.912, 1.112, 1.35",\
"0.3784, 0.3899, 0.4218, 0.472, 0.5435, 0.6419, 0.7713, 0.9348, 1.135, 1.373",\
"0.4011, 0.4126, 0.4445, 0.4947, 0.5663, 0.6647, 0.7942, 0.9576, 1.157, 1.396",\
"0.4207, 0.4322, 0.4641, 0.5143, 0.5859, 0.6843, 0.8138, 0.9772, 1.177, 1.415",\
"0.4349, 0.4463, 0.4783, 0.5285, 0.6, 0.6984, 0.828, 0.9912, 1.191, 1.429",\
"0.4419, 0.4533, 0.4852, 0.5354, 0.607, 0.7054, 0.8348, 0.9984, 1.198, 1.436",\
"0.4413, 0.4527, 0.4846, 0.5349, 0.6065, 0.7049, 0.8343, 0.9978, 1.197, 1.435",\
"0.4321, 0.4436, 0.4754, 0.5256, 0.5972, 0.6956, 0.8251, 0.9887, 1.188, 1.426");
}
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.003591, 0.01268, 0.03005, 0.0571, 0.09506, 0.145, 0.2079, 0.2848, 0.3763");
values("0.3099, 0.3217, 0.3597, 0.4313, 0.5447, 0.705, 0.9164, 1.183, 1.509, 1.897",\
"0.3129, 0.3247, 0.3627, 0.4343, 0.5478, 0.708, 0.9194, 1.186, 1.512, 1.9",\
"0.3256, 0.3374, 0.3754, 0.447, 0.5605, 0.7206, 0.9321, 1.199, 1.525, 1.913",\
"0.348, 0.3599, 0.3978, 0.4693, 0.5828, 0.7431, 0.9544, 1.221, 1.547, 1.935",\
"0.3702, 0.382, 0.4198, 0.4916, 0.605, 0.7652, 0.9766, 1.243, 1.569, 1.958",\
"0.3898, 0.4015, 0.4393, 0.511, 0.6244, 0.7847, 0.9962, 1.263, 1.589, 1.977",\
"0.4039, 0.4157, 0.4535, 0.5251, 0.6385, 0.7988, 1.01, 1.277, 1.603, 1.991",\
"0.4117, 0.4234, 0.4612, 0.5329, 0.6463, 0.8065, 1.018, 1.284, 1.61, 1.998",\
"0.4124, 0.4241, 0.462, 0.5336, 0.6469, 0.8071, 1.018, 1.285, 1.611, 1.999",\
"0.4052, 0.4169, 0.4547, 0.5262, 0.6396, 0.7998, 1.011, 1.278, 1.603, 1.991");
}
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.003591, 0.01268, 0.03005, 0.0571, 0.09506, 0.145, 0.2079, 0.2848, 0.3763");
values("0.04648, 0.05848, 0.09436, 0.1603, 0.2677, 0.4269, 0.6403, 0.9091, 1.239, 1.629",\
"0.0465, 0.05846, 0.09434, 0.1601, 0.2674, 0.4269, 0.6404, 0.9098, 1.24, 1.633",\
"0.0465, 0.05848, 0.09432, 0.1601, 0.2674, 0.4269, 0.6404, 0.9098, 1.24, 1.633",\
"0.04654, 0.05848, 0.09424, 0.1601, 0.2678, 0.4273, 0.6396, 0.9087, 1.238, 1.629",\
"0.04644, 0.05852, 0.09428, 0.1599, 0.2678, 0.4268, 0.6399, 0.9098, 1.238, 1.633",\
"0.0465, 0.05864, 0.0943, 0.1598, 0.2672, 0.4268, 0.6394, 0.9098, 1.239, 1.631",\
"0.0466, 0.0582, 0.0942, 0.1602, 0.2674, 0.4262, 0.639, 0.909, 1.237, 1.629",\
"0.0466, 0.0584, 0.0942, 0.16, 0.2676, 0.4264, 0.6402, 0.908, 1.237, 1.63",\
"0.0464, 0.0586, 0.0942, 0.16, 0.2676, 0.4268, 0.639, 0.9086, 1.237, 1.628",\
"0.0464, 0.0584, 0.0944, 0.1598, 0.2678, 0.4266, 0.6396, 0.9084, 1.236, 1.628");
}
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.003591, 0.01268, 0.03005, 0.0571, 0.09506, 0.145, 0.2079, 0.2848, 0.3763");
values("0.04644, 0.0629, 0.1244, 0.2494, 0.4476, 0.7268, 1.093, 1.554, 2.119, 2.79",\
"0.04644, 0.0629, 0.1244, 0.2494, 0.4476, 0.7268, 1.093, 1.555, 2.119, 2.789",\
"0.04644, 0.06288, 0.1244, 0.2497, 0.4479, 0.7262, 1.093, 1.554, 2.12, 2.789",\
"0.04642, 0.06286, 0.1243, 0.2495, 0.4478, 0.726, 1.093, 1.554, 2.119, 2.789",\
"0.0463, 0.06286, 0.1244, 0.2493, 0.4475, 0.726, 1.093, 1.554, 2.118, 2.791",\
"0.04642, 0.06294, 0.1244, 0.2496, 0.4473, 0.7266, 1.092, 1.554, 2.118, 2.79",\
"0.0464, 0.0628, 0.1244, 0.2494, 0.4478, 0.7254, 1.092, 1.554, 2.118, 2.79",\
"0.0464, 0.063, 0.1244, 0.2498, 0.4478, 0.7256, 1.092, 1.554, 2.121, 2.789",\
"0.0466, 0.063, 0.1246, 0.2494, 0.4476, 0.7264, 1.092, 1.554, 2.117, 2.792",\
"0.0466, 0.0632, 0.1244, 0.2506, 0.4478, 0.7268, 1.093, 1.553, 2.117, 2.788");
}
}
}
}