blob: 0aca762e700fac1981d7243b6f3c2b056221c7a2 [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 : "0.00065846" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.00065285" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.000591415" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.00058289" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.00065846" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.003459 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 2.6 ;
min_period : 0.6337 ;
min_pulse_width_high : 0.2443 ;
min_pulse_width_low : 0.3189 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.03781, 0.1003, 0.2197, 0.4057, 0.6666, 1.01, 1.443, 1.971, 2.6");
values("0.3722, 0.3726, 0.38, 0.4078, 0.4632, 0.5479, 0.6629, 0.8098, \
0.9897, 1.204");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.03781, 0.1003, 0.2197, 0.4057, 0.6666, 1.01, 1.443, 1.971, 2.6");
values("0.2379, 0.2378, 0.2436, 0.2675, 0.3146, 0.3881, 0.4897, 0.6201, \
0.7804, 0.9721");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.03781, 0.1003, 0.2197, 0.4057, 0.6666, 1.01, 1.443, 1.971, 2.6");
values("0.3723, 0.3726, 0.38, 0.4078, 0.4632, 0.5479, 0.6627, 0.8098, \
0.9896, 1.204");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.03781, 0.1003, 0.2197, 0.4057, 0.6666, 1.01, 1.443, 1.971, 2.6");
values("0.2382, 0.2381, 0.2439, 0.2679, 0.3149, 0.3883, 0.49, 0.6204, \
0.781, 0.9729");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.2808");
}
rise_constraint(scalar) {
values("0.2443");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.3189");
}
rise_constraint(scalar) {
values("0.2364");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("0.5694");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("0.6337");
}
}
}
pin(D) {
capacitance : 0.002458 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 2.6 ;
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.03781, 0.1003, 0.2197, 0.4057, 0.6666, 1.01, 1.443, 1.971, 2.6");
values("0.06863, 0.06999, 0.07916, 0.1011, 0.1385, 0.1931, 0.2658, 0.358, \
0.4711, 0.6061");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.03781, 0.1003, 0.2197, 0.4057, 0.6666, 1.01, 1.443, 1.971, 2.6");
values("0.004394, 0.0052, 0.01142, 0.02904, 0.06042, 0.1067, 0.1694, 0.2492, \
0.3473, 0.4648");
}
}
internal_power() {
when : "CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.03781, 0.1003, 0.2197, 0.4057, 0.6666, 1.01, 1.443, 1.971, 2.6");
values("0.2522, 0.2529, 0.2592, 0.2794, 0.3187, 0.3786, 0.4606, 0.565, \
0.6929, 0.8451");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.03781, 0.1003, 0.2197, 0.4057, 0.6666, 1.01, 1.443, 1.971, 2.6");
values("0.1598, 0.1604, 0.1661, 0.1833, 0.2153, 0.2644, 0.3319, 0.4189, \
0.526, 0.6547");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.03781, 0.1003, 0.2197, 0.4057, 0.6666, 1.01, 1.443, 1.971, 2.6");
index_2("0.02, 0.03781, 0.1003, 0.2197, 0.4057, 0.6666, 1.01, 1.443, 1.971, 2.6");
values("0.063, 0.0671, 0.0815, 0.1092, 0.1521, 0.2036, 0.2493, 0.3192, 0.3873, 0.4702",\
"0.0541, 0.0639, 0.0772, 0.1026, 0.1487, 0.1976, 0.2458, 0.3134, 0.3842, 0.4662",\
"0.0341, 0.0362, 0.0524, 0.0798, 0.1233, 0.169, 0.2227, 0.2878, 0.359, 0.4382",\
"-0.005, -0.0046, 0.008, 0.0396, 0.0798, 0.1246, 0.1808, 0.2384, 0.3142, 0.3922",\
"-0.0615, -0.0624, -0.0438, -0.013, 0.0202, 0.063, 0.1176, 0.1746, 0.2436, 0.3232",\
"-0.1322, -0.1249, -0.111, -0.0868, -0.0505, -0.0075, 0.0359, 0.0918, 0.162, 0.2306",\
"-0.213, -0.2089, -0.1969, -0.1669, -0.1334, -0.0996, -0.0536, -0.0019, 0.0621, 0.1307",\
"-0.3029, -0.2971, -0.2879, -0.2565, -0.2341, -0.1975, -0.1574, -0.1107, -0.0471, 0.0189",\
"-0.4084, -0.4002, -0.3919, -0.3662, -0.3426, -0.3116, -0.2751, -0.2288, -0.1676, -0.1089",\
"-0.5244, -0.5201, -0.5075, -0.4863, -0.4614, -0.4376, -0.4032, -0.3622, -0.3105, -0.2498");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.03781, 0.1003, 0.2197, 0.4057, 0.6666, 1.01, 1.443, 1.971, 2.6");
index_2("0.02, 0.03781, 0.1003, 0.2197, 0.4057, 0.6666, 1.01, 1.443, 1.971, 2.6");
values("0.0973, 0.1034, 0.1177, 0.1565, 0.204, 0.2661, 0.3405, 0.4163, 0.5036, 0.5992",\
"0.0965, 0.1023, 0.115, 0.1516, 0.2019, 0.2703, 0.3383, 0.4116, 0.5014, 0.5952",\
"0.092, 0.0892, 0.1136, 0.1457, 0.1956, 0.2561, 0.3259, 0.4066, 0.4904, 0.5912",\
"0.0802, 0.0836, 0.1013, 0.1388, 0.1883, 0.2487, 0.321, 0.4011, 0.4871, 0.5802",\
"0.081, 0.0905, 0.1008, 0.1373, 0.1917, 0.2511, 0.3222, 0.4025, 0.485, 0.5842",\
"0.0998, 0.1024, 0.1116, 0.1507, 0.2003, 0.2623, 0.3363, 0.409, 0.4953, 0.5952",\
"0.1209, 0.1233, 0.1384, 0.1764, 0.2212, 0.2918, 0.3535, 0.4376, 0.5186, 0.6122",\
"0.1587, 0.1612, 0.1782, 0.2133, 0.2613, 0.32, 0.3905, 0.4726, 0.5564, 0.6502",\
"0.2155, 0.218, 0.2323, 0.2668, 0.3136, 0.3755, 0.44, 0.5213, 0.6014, 0.6962",\
"0.2937, 0.2964, 0.3127, 0.3451, 0.3896, 0.4399, 0.5051, 0.5818, 0.6641, 0.7622");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.03781, 0.1003, 0.2197, 0.4057, 0.6666, 1.01, 1.443, 1.971, 2.6");
index_2("0.02, 0.03781, 0.1003, 0.2197, 0.4057, 0.6666, 1.01, 1.443, 1.971, 2.6");
values("0.1603, 0.151, 0.1354, 0.1086, 0.0616, 0.0106, -0.043, -0.1085, -0.1811, -0.2608",\
"0.164, 0.1598, 0.1421, 0.1131, 0.0639, 0.0206, -0.0429, -0.1007, -0.1764, -0.2548",\
"0.1828, 0.1755, 0.1572, 0.1287, 0.0863, 0.0342, -0.0228, -0.0845, -0.1564, -0.2365",\
"0.2228, 0.2202, 0.2005, 0.1718, 0.1289, 0.0752, 0.0222, -0.0397, -0.113, -0.1898",\
"0.2882, 0.2816, 0.2607, 0.23, 0.1867, 0.1376, 0.0872, 0.0235, -0.0517, -0.1318",\
"0.3732, 0.3612, 0.3432, 0.3136, 0.2697, 0.2173, 0.1643, 0.0974, 0.0285, -0.0485",\
"0.4679, 0.4673, 0.4482, 0.419, 0.3695, 0.3181, 0.2624, 0.1993, 0.1281, 0.06",\
"0.5864, 0.5835, 0.5676, 0.5366, 0.4916, 0.4368, 0.3804, 0.3175, 0.2453, 0.1729",\
"0.7207, 0.7197, 0.6987, 0.6654, 0.6211, 0.57, 0.511, 0.4443, 0.3845, 0.3072",\
"0.8762, 0.8742, 0.8552, 0.8192, 0.7682, 0.7192, 0.6572, 0.5942, 0.5262, 0.4552");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.03781, 0.1003, 0.2197, 0.4057, 0.6666, 1.01, 1.443, 1.971, 2.6");
index_2("0.02, 0.03781, 0.1003, 0.2197, 0.4057, 0.6666, 1.01, 1.443, 1.971, 2.6");
values("0.1088, 0.1026, 0.092, 0.0613, 0.0098, -0.043, -0.0977, -0.1732, -0.2551, -0.3217",\
"0.1095, 0.1087, 0.0892, 0.064, 0.0107, -0.043, -0.1044, -0.1662, -0.2403, -0.3228",\
"0.1249, 0.1226, 0.1048, 0.0683, 0.0213, -0.0239, -0.0872, -0.1608, -0.2331, -0.3129",\
"0.1376, 0.1418, 0.1182, 0.0859, 0.0371, -0.022, -0.0829, -0.1481, -0.2224, -0.2983",\
"0.1522, 0.1487, 0.1378, 0.1048, 0.0504, -0.0066, -0.0703, -0.1449, -0.2188, -0.3004",\
"0.1679, 0.1612, 0.14, 0.1084, 0.063, 0, -0.0632, -0.1419, -0.2164, -0.2968",\
"0.1645, 0.1598, 0.1453, 0.1109, 0.0624, -0.0005, -0.0696, -0.151, -0.2295, -0.3123",\
"0.1572, 0.1498, 0.1354, 0.103, 0.0458, -0.0139, -0.0783, -0.155, -0.2374, -0.3319",\
"0.1335, 0.1284, 0.1071, 0.0727, 0.0207, -0.0353, -0.1052, -0.185, -0.2662, -0.3615",\
"0.0917, 0.0915, 0.0766, 0.038, -0.014, -0.0674, -0.1418, -0.2234, -0.3072, -0.3971");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.842 ;
max_transition : 2.6 ;
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.03781, 0.1003, 0.2197, 0.4057, 0.6666, 1.01, 1.443, 1.971, 2.6");
index_2("0.001, 0.006805, 0.02718, 0.06609, 0.1267, 0.2118, 0.3237, 0.4647, 0.6369, 0.842");
values("1.248, 1.214, 1.13, 1.044, 0.9895, 0.9534, 0.9276, 0.9091, 0.8956, 0.8854",\
"1.248, 1.214, 1.13, 1.044, 0.9894, 0.9531, 0.9277, 0.9091, 0.8956, 0.8854",\
"1.248, 1.214, 1.13, 1.044, 0.989, 0.9532, 0.9275, 0.9091, 0.8955, 0.8854",\
"1.25, 1.216, 1.132, 1.046, 0.9912, 0.9555, 0.9293, 0.911, 0.8973, 0.8871",\
"1.256, 1.223, 1.138, 1.053, 0.9972, 0.9614, 0.9356, 0.9171, 0.9036, 0.8935",\
"1.267, 1.233, 1.149, 1.063, 1.009, 0.9723, 0.9463, 0.928, 0.9142, 0.904",\
"1.283, 1.248, 1.164, 1.078, 1.023, 0.9862, 0.9604, 0.9417, 0.9279, 0.9178",\
"1.3, 1.266, 1.181, 1.095, 1.04, 1.003, 0.9772, 0.9583, 0.9447, 0.9344",\
"1.321, 1.287, 1.202, 1.116, 1.06, 1.024, 0.9966, 0.9777, 0.964, 0.9537",\
"1.345, 1.311, 1.226, 1.139, 1.083, 1.045, 1.019, 1, 0.9864, 0.9759");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.03781, 0.1003, 0.2197, 0.4057, 0.6666, 1.01, 1.443, 1.971, 2.6");
index_2("0.001, 0.006805, 0.02718, 0.06609, 0.1267, 0.2118, 0.3237, 0.4647, 0.6369, 0.842");
values("1.267, 1.24, 1.193, 1.152, 1.121, 1.102, 1.085, 1.081, 1.082, 1.083",\
"1.267, 1.24, 1.193, 1.151, 1.122, 1.098, 1.088, 1.08, 1.081, 1.084",\
"1.268, 1.24, 1.194, 1.151, 1.121, 1.097, 1.088, 1.08, 1.081, 1.083",\
"1.271, 1.244, 1.196, 1.156, 1.124, 1.102, 1.091, 1.083, 1.084, 1.089",\
"1.276, 1.249, 1.202, 1.16, 1.129, 1.108, 1.097, 1.091, 1.092, 1.093",\
"1.284, 1.257, 1.211, 1.169, 1.138, 1.118, 1.102, 1.1, 1.099, 1.1",\
"1.295, 1.269, 1.223, 1.18, 1.15, 1.126, 1.114, 1.11, 1.111, 1.11",\
"1.307, 1.28, 1.233, 1.191, 1.164, 1.141, 1.128, 1.122, 1.123, 1.128",\
"1.322, 1.294, 1.246, 1.207, 1.174, 1.158, 1.144, 1.137, 1.136, 1.136",\
"1.338, 1.309, 1.267, 1.223, 1.19, 1.171, 1.163, 1.161, 1.15, 1.15");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.03781, 0.1003, 0.2197, 0.4057, 0.6666, 1.01, 1.443, 1.971, 2.6");
index_2("0.001, 0.006805, 0.02718, 0.06609, 0.1267, 0.2118, 0.3237, 0.4647, 0.6369, 0.842");
values("0.4281, 0.4418, 0.479, 0.5334, 0.6035, 0.6924, 0.805, 0.9457, 1.118, 1.323",\
"0.4319, 0.4457, 0.4829, 0.5372, 0.6073, 0.6962, 0.8088, 0.9495, 1.122, 1.327",\
"0.4485, 0.4622, 0.4995, 0.5538, 0.6239, 0.7128, 0.8253, 0.966, 1.138, 1.344",\
"0.4842, 0.4979, 0.5351, 0.5894, 0.6596, 0.7485, 0.861, 1.002, 1.174, 1.379",\
"0.5374, 0.551, 0.5883, 0.6427, 0.7128, 0.8017, 0.9143, 1.055, 1.227, 1.432",\
"0.6026, 0.6164, 0.6535, 0.7079, 0.7781, 0.8669, 0.9795, 1.12, 1.292, 1.498",\
"0.6772, 0.6911, 0.7283, 0.7824, 0.8528, 0.9417, 1.054, 1.195, 1.367, 1.572",\
"0.7602, 0.7741, 0.8112, 0.8656, 0.9356, 1.024, 1.137, 1.278, 1.45, 1.655",\
"0.8511, 0.8649, 0.902, 0.9564, 1.026, 1.115, 1.228, 1.369, 1.541, 1.746",\
"0.9507, 0.9645, 1.002, 1.056, 1.126, 1.215, 1.327, 1.468, 1.64, 1.846");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.03781, 0.1003, 0.2197, 0.4057, 0.6666, 1.01, 1.443, 1.971, 2.6");
index_2("0.001, 0.006805, 0.02718, 0.06609, 0.1267, 0.2118, 0.3237, 0.4647, 0.6369, 0.842");
values("0.4719, 0.4847, 0.5217, 0.5876, 0.6909, 0.838, 1.033, 1.28, 1.582, 1.943",\
"0.4758, 0.4886, 0.5256, 0.5912, 0.6948, 0.8419, 1.037, 1.284, 1.586, 1.946",\
"0.4927, 0.5054, 0.5424, 0.6081, 0.7116, 0.8586, 1.054, 1.301, 1.603, 1.964",\
"0.5293, 0.5421, 0.5791, 0.6449, 0.7481, 0.8952, 1.091, 1.337, 1.639, 2",\
"0.584, 0.5969, 0.6338, 0.6995, 0.8028, 0.9501, 1.145, 1.392, 1.694, 2.055",\
"0.6521, 0.6649, 0.7019, 0.7675, 0.871, 1.018, 1.213, 1.46, 1.762, 2.123",\
"0.7305, 0.7433, 0.7802, 0.8459, 0.9494, 1.097, 1.292, 1.539, 1.841, 2.201",\
"0.8175, 0.8303, 0.8672, 0.9329, 1.036, 1.184, 1.379, 1.626, 1.928, 2.288",\
"0.9123, 0.9248, 0.9617, 1.028, 1.131, 1.278, 1.473, 1.72, 2.022, 2.383",\
"1.016, 1.028, 1.066, 1.132, 1.235, 1.382, 1.577, 1.824, 2.126, 2.486");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.03781, 0.1003, 0.2197, 0.4057, 0.6666, 1.01, 1.443, 1.971, 2.6");
index_2("0.001, 0.006805, 0.02718, 0.06609, 0.1267, 0.2118, 0.3237, 0.4647, 0.6369, 0.842");
values("0.06864, 0.08338, 0.1211, 0.1796, 0.2647, 0.3906, 0.5652, 0.7938, 1.078, 1.416",\
"0.0688, 0.08362, 0.1212, 0.1795, 0.2646, 0.3903, 0.5654, 0.7932, 1.078, 1.416",\
"0.0689, 0.08334, 0.1212, 0.1794, 0.2646, 0.3906, 0.5654, 0.794, 1.078, 1.418",\
"0.06876, 0.08364, 0.1211, 0.1794, 0.2646, 0.3906, 0.565, 0.7943, 1.077, 1.415",\
"0.06878, 0.08334, 0.1212, 0.1795, 0.2646, 0.3907, 0.5652, 0.7938, 1.078, 1.416",\
"0.06868, 0.083, 0.121, 0.1794, 0.2644, 0.3904, 0.5652, 0.7944, 1.078, 1.417",\
"0.069, 0.0832, 0.121, 0.1792, 0.2646, 0.3902, 0.5646, 0.7944, 1.078, 1.415",\
"0.0686, 0.0834, 0.121, 0.1798, 0.2646, 0.3898, 0.5646, 0.794, 1.077, 1.417",\
"0.069, 0.0834, 0.1212, 0.1798, 0.2648, 0.3906, 0.5646, 0.7926, 1.076, 1.416",\
"0.069, 0.0836, 0.1212, 0.1798, 0.2652, 0.3898, 0.5648, 0.7934, 1.076, 1.415");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.03781, 0.1003, 0.2197, 0.4057, 0.6666, 1.01, 1.443, 1.971, 2.6");
index_2("0.001, 0.006805, 0.02718, 0.06609, 0.1267, 0.2118, 0.3237, 0.4647, 0.6369, 0.842");
values("0.0556, 0.07094, 0.1238, 0.236, 0.4181, 0.6761, 1.017, 1.448, 1.972, 2.598",\
"0.05608, 0.07056, 0.1238, 0.2367, 0.4177, 0.6764, 1.017, 1.448, 1.973, 2.598",\
"0.05514, 0.07056, 0.1238, 0.2359, 0.4181, 0.6763, 1.017, 1.448, 1.973, 2.598",\
"0.05516, 0.07102, 0.1239, 0.236, 0.4183, 0.6774, 1.018, 1.448, 1.973, 2.603",\
"0.05598, 0.07108, 0.1237, 0.2367, 0.4174, 0.6764, 1.017, 1.448, 1.973, 2.598",\
"0.0552, 0.0702, 0.1234, 0.2362, 0.4182, 0.6764, 1.018, 1.447, 1.973, 2.598",\
"0.055, 0.07, 0.1234, 0.2358, 0.4182, 0.6758, 1.019, 1.448, 1.971, 2.597",\
"0.0558, 0.0706, 0.1236, 0.2358, 0.4178, 0.6768, 1.017, 1.448, 1.973, 2.598",\
"0.0552, 0.0704, 0.1238, 0.2358, 0.4182, 0.6772, 1.018, 1.447, 1.972, 2.599",\
"0.0548, 0.07, 0.1234, 0.2358, 0.4186, 0.6768, 1.017, 1.448, 1.971, 2.599");
}
}
}
}