blob: e3a07075c4039ee9b1da14c673222976948c914a [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_1) {
area : 84.672000 ;
ff(IQ1,IQN1) {
clocked_on : "(!CLKN)" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&!D" ;
value : "0.00702252" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.007965" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.00581436" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.00789048" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.007965" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.004978 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 5.2 ;
min_period : 0.984 ;
min_pulse_width_high : 0.411 ;
min_pulse_width_low : 0.427 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.2113, 0.2107, 0.2137, 0.2292, 0.2609, 0.3099, 0.3773, 0.4643, \
0.5715, 0.6994");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.1349, 0.1344, 0.137, 0.1503, 0.177, 0.2195, 0.2791, 0.3561, \
0.4515, 0.5658");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.2115, 0.211, 0.2139, 0.2295, 0.2612, 0.3101, 0.3777, 0.4645, \
0.5716, 0.6996");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.1346, 0.1343, 0.1367, 0.1501, 0.1768, 0.2194, 0.2787, 0.3558, \
0.4513, 0.5655");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.401");
}
rise_constraint(scalar) {
values("0.411");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.427");
}
rise_constraint(scalar) {
values("0.348");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("0.855");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("0.984");
}
}
}
pin(D) {
capacitance : 0.003875 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 5.2 ;
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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.04632, 0.04598, 0.05067, 0.0643, 0.08811, 0.1229, 0.1698, 0.2293, \
0.3025, 0.3899");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.006118, 0.005788, 0.008693, 0.01944, 0.03965, 0.07023, 0.1117, \
0.1647, 0.23, 0.3083");
}
}
internal_power() {
when : "CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.1626, 0.1626, 0.1657, 0.1779, 0.2021, 0.2397, 0.2915, 0.358, \
0.4399, 0.5377");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.1077, 0.1075, 0.11, 0.12, 0.1397, 0.1711, 0.2149, 0.2721, 0.3432, \
0.4287");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.011, 0.021, 0.056, 0.109, 0.166, 0.243, 0.335, 0.45, 0.574, 0.721",\
"0.005, 0.015, 0.05, 0.099, 0.159, 0.231, 0.328, 0.438, 0.567, 0.711",\
"-0.03, -0.022, 0.006, 0.062, 0.12, 0.194, 0.288, 0.403, 0.526, 0.675",\
"-0.096, -0.085, -0.055, -0.006, 0.057, 0.126, 0.217, 0.329, 0.451, 0.595",\
"-0.176, -0.17, -0.138, -0.086, -0.027, 0.041, 0.124, 0.228, 0.349, 0.492",\
"-0.273, -0.269, -0.236, -0.183, -0.131, -0.061, 0.018, 0.113, 0.228, 0.367",\
"-0.388, -0.381, -0.351, -0.305, -0.247, -0.186, -0.11, -0.02, 0.093, 0.22",\
"-0.524, -0.512, -0.481, -0.438, -0.385, -0.327, -0.251, -0.162, -0.064, 0.058",\
"-0.662, -0.655, -0.629, -0.587, -0.542, -0.486, -0.412, -0.333, -0.228, -0.117",\
"-0.831, -0.821, -0.794, -0.755, -0.712, -0.662, -0.596, -0.517, -0.422, -0.313");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.12, 0.129, 0.17, 0.235, 0.333, 0.446, 0.577, 0.724, 0.879, 1.062",\
"0.114, 0.128, 0.163, 0.231, 0.327, 0.439, 0.568, 0.716, 0.875, 1.054",\
"0.101, 0.11, 0.141, 0.209, 0.306, 0.417, 0.552, 0.699, 0.86, 1.039",\
"0.076, 0.089, 0.124, 0.192, 0.286, 0.398, 0.532, 0.68, 0.842, 1.016",\
"0.072, 0.076, 0.112, 0.184, 0.278, 0.397, 0.527, 0.671, 0.835, 1.012",\
"0.08, 0.084, 0.12, 0.193, 0.287, 0.401, 0.54, 0.682, 0.849, 1.027",\
"0.106, 0.115, 0.15, 0.219, 0.314, 0.429, 0.562, 0.71, 0.878, 1.052",\
"0.165, 0.177, 0.213, 0.272, 0.362, 0.473, 0.606, 0.755, 0.923, 1.094",\
"0.258, 0.262, 0.296, 0.356, 0.436, 0.542, 0.664, 0.82, 0.983, 1.161",\
"0.378, 0.389, 0.417, 0.466, 0.542, 0.642, 0.77, 0.91, 1.065, 1.243");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.281, 0.274, 0.241, 0.169, 0.092, 0.005, -0.098, -0.212, -0.336, -0.49",\
"0.289, 0.283, 0.252, 0.179, 0.102, 0.015, -0.087, -0.205, -0.336, -0.478",\
"0.327, 0.323, 0.282, 0.221, 0.136, 0.054, -0.052, -0.169, -0.295, -0.444",\
"0.4, 0.391, 0.355, 0.29, 0.212, 0.127, 0.023, -0.095, -0.224, -0.369",\
"0.51, 0.499, 0.463, 0.398, 0.321, 0.226, 0.127, 0.012, -0.12, -0.265",\
"0.641, 0.631, 0.599, 0.53, 0.448, 0.36, 0.252, 0.138, 0.012, -0.129",\
"0.802, 0.791, 0.759, 0.69, 0.606, 0.514, 0.407, 0.298, 0.17, 0.025",\
"0.991, 0.978, 0.948, 0.879, 0.79, 0.693, 0.589, 0.473, 0.347, 0.206",\
"1.197, 1.185, 1.148, 1.08, 0.992, 0.894, 0.791, 0.674, 0.544, 0.404",\
"1.428, 1.416, 1.383, 1.313, 1.218, 1.122, 1.008, 0.889, 0.764, 0.625");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.172, 0.165, 0.136, 0.076, 0.001, -0.085, -0.173, -0.264, -0.365, -0.464",\
"0.18, 0.17, 0.139, 0.082, 0.008, -0.077, -0.163, -0.257, -0.356, -0.458",\
"0.205, 0.201, 0.165, 0.108, 0.031, -0.054, -0.144, -0.239, -0.336, -0.437",\
"0.241, 0.231, 0.201, 0.14, 0.053, -0.032, -0.135, -0.229, -0.332, -0.424",\
"0.272, 0.264, 0.236, 0.169, 0.086, -0.014, -0.117, -0.237, -0.331, -0.448",\
"0.303, 0.293, 0.26, 0.191, 0.102, 0, -0.118, -0.238, -0.363, -0.479",\
"0.314, 0.306, 0.271, 0.204, 0.11, 0.009, -0.115, -0.239, -0.383, -0.526",\
"0.309, 0.303, 0.27, 0.196, 0.108, -0.002, -0.129, -0.26, -0.408, -0.566",\
"0.297, 0.287, 0.244, 0.175, 0.085, -0.024, -0.155, -0.296, -0.438, -0.604",\
"0.252, 0.239, 0.205, 0.133, 0.037, -0.07, -0.192, -0.333, -0.492, -0.663");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.3769 ;
max_transition : 5.2 ;
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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.001, 0.003595, 0.0127, 0.03009, 0.05719, 0.09521, 0.1452, 0.2083, 0.2852, 0.3769");
values("0.2574, 0.2541, 0.2479, 0.2436, 0.2412, 0.2396, 0.2386, 0.2378, 0.2373, 0.237",\
"0.2574, 0.2541, 0.2479, 0.2437, 0.2412, 0.2396, 0.2385, 0.2378, 0.2373, 0.237",\
"0.2573, 0.254, 0.2477, 0.2435, 0.2411, 0.2395, 0.2384, 0.2376, 0.2372, 0.2368",\
"0.2583, 0.255, 0.2489, 0.2445, 0.242, 0.2404, 0.2394, 0.2387, 0.2382, 0.2379",\
"0.2614, 0.2581, 0.2519, 0.2476, 0.2452, 0.2436, 0.2425, 0.2418, 0.2413, 0.2409",\
"0.2667, 0.2636, 0.2573, 0.2529, 0.2503, 0.2487, 0.2477, 0.247, 0.2465, 0.2461",\
"0.2737, 0.2704, 0.2641, 0.2596, 0.2571, 0.2555, 0.2544, 0.2537, 0.2532, 0.2528",\
"0.2819, 0.2786, 0.2722, 0.2679, 0.2652, 0.2636, 0.2626, 0.2618, 0.2613, 0.2609",\
"0.2916, 0.2884, 0.2819, 0.2772, 0.2746, 0.273, 0.272, 0.2712, 0.2707, 0.2703",\
"0.3025, 0.2991, 0.2925, 0.288, 0.2853, 0.2836, 0.2825, 0.2818, 0.2813, 0.2808");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.001, 0.003595, 0.0127, 0.03009, 0.05719, 0.09521, 0.1452, 0.2083, 0.2852, 0.3769");
values("0.3023, 0.3, 0.2961, 0.294, 0.2929, 0.293, 0.2934, 0.2939, 0.2945, 0.2957",\
"0.3022, 0.3, 0.2963, 0.294, 0.2928, 0.2929, 0.2933, 0.2939, 0.2946, 0.2954",\
"0.3026, 0.3002, 0.2964, 0.2943, 0.2931, 0.2932, 0.2937, 0.2943, 0.2949, 0.2957",\
"0.3041, 0.3017, 0.2979, 0.2958, 0.2946, 0.2948, 0.2953, 0.296, 0.2966, 0.2971",\
"0.3072, 0.3049, 0.301, 0.2988, 0.2978, 0.2977, 0.2982, 0.2986, 0.2995, 0.3003",\
"0.3111, 0.3087, 0.3049, 0.3029, 0.3018, 0.3019, 0.3024, 0.3029, 0.3036, 0.3047",\
"0.3155, 0.3137, 0.3096, 0.3075, 0.3067, 0.3064, 0.3069, 0.3077, 0.3079, 0.3087",\
"0.3209, 0.3186, 0.3148, 0.3123, 0.3116, 0.3122, 0.3127, 0.313, 0.3133, 0.3144",\
"0.3264, 0.3242, 0.3208, 0.3182, 0.3169, 0.3172, 0.3188, 0.3198, 0.3204, 0.3206",\
"0.3326, 0.3302, 0.3266, 0.3244, 0.3233, 0.3226, 0.3237, 0.3262, 0.3279, 0.3285");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.001, 0.003595, 0.0127, 0.03009, 0.05719, 0.09521, 0.1452, 0.2083, 0.2852, 0.3769");
values("0.6035, 0.6251, 0.6857, 0.7785, 0.9023, 1.065, 1.276, 1.541, 1.865, 2.251",\
"0.612, 0.6337, 0.6943, 0.787, 0.9108, 1.074, 1.285, 1.549, 1.873, 2.259",\
"0.6478, 0.6694, 0.73, 0.8227, 0.9466, 1.109, 1.32, 1.585, 1.909, 2.295",\
"0.7207, 0.7424, 0.803, 0.8957, 1.02, 1.182, 1.393, 1.658, 1.982, 2.368",\
"0.8216, 0.8431, 0.9038, 0.9965, 1.12, 1.283, 1.494, 1.759, 2.083, 2.469",\
"0.9422, 0.9637, 1.025, 1.117, 1.241, 1.404, 1.615, 1.88, 2.203, 2.589",\
"1.08, 1.101, 1.162, 1.255, 1.379, 1.542, 1.752, 2.018, 2.341, 2.727",\
"1.235, 1.256, 1.317, 1.41, 1.534, 1.697, 1.907, 2.172, 2.496, 2.881",\
"1.405, 1.427, 1.488, 1.58, 1.704, 1.867, 2.078, 2.343, 2.666, 3.052",\
"1.593, 1.615, 1.676, 1.768, 1.892, 2.055, 2.266, 2.531, 2.854, 3.24");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.001, 0.003595, 0.0127, 0.03009, 0.05719, 0.09521, 0.1452, 0.2083, 0.2852, 0.3769");
values("0.6697, 0.6922, 0.7633, 0.8928, 1.093, 1.375, 1.746, 2.213, 2.784, 3.466",\
"0.6783, 0.701, 0.7719, 0.9013, 1.102, 1.383, 1.754, 2.222, 2.793, 3.475",\
"0.7145, 0.737, 0.808, 0.9375, 1.138, 1.419, 1.791, 2.258, 2.829, 3.511",\
"0.7884, 0.811, 0.8819, 1.011, 1.212, 1.493, 1.864, 2.332, 2.903, 3.585",\
"0.8913, 0.9138, 0.9848, 1.114, 1.314, 1.596, 1.967, 2.435, 3.005, 3.686",\
"1.014, 1.036, 1.107, 1.237, 1.437, 1.719, 2.09, 2.558, 3.129, 3.81",\
"1.154, 1.177, 1.248, 1.377, 1.577, 1.859, 2.23, 2.698, 3.269, 3.951",\
"1.31, 1.332, 1.403, 1.533, 1.733, 2.015, 2.386, 2.853, 3.424, 4.105",\
"1.481, 1.504, 1.575, 1.704, 1.904, 2.186, 2.557, 3.024, 3.595, 4.276",\
"1.668, 1.691, 1.762, 1.891, 2.092, 2.373, 2.744, 3.212, 3.783, 4.463");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.001, 0.003595, 0.0127, 0.03009, 0.05719, 0.09521, 0.1452, 0.2083, 0.2852, 0.3769");
values("0.09736, 0.1199, 0.187, 0.3004, 0.475, 0.7347, 1.089, 1.542, 2.098, 2.759",\
"0.09732, 0.1196, 0.1868, 0.3006, 0.4752, 0.7337, 1.089, 1.54, 2.099, 2.762",\
"0.0973, 0.1197, 0.187, 0.3004, 0.475, 0.7342, 1.089, 1.543, 2.097, 2.759",\
"0.0974, 0.1196, 0.187, 0.3006, 0.475, 0.734, 1.089, 1.541, 2.096, 2.76",\
"0.0974, 0.1198, 0.1872, 0.3004, 0.4746, 0.7346, 1.088, 1.541, 2.098, 2.763",\
"0.0976, 0.1202, 0.1874, 0.3004, 0.4752, 0.7348, 1.089, 1.543, 2.095, 2.762",\
"0.0976, 0.1206, 0.1874, 0.301, 0.4748, 0.7338, 1.087, 1.54, 2.098, 2.762",\
"0.098, 0.1204, 0.188, 0.301, 0.4752, 0.734, 1.089, 1.54, 2.096, 2.76",\
"0.0986, 0.1206, 0.188, 0.301, 0.4752, 0.735, 1.088, 1.542, 2.095, 2.757",\
"0.0988, 0.1212, 0.1886, 0.3012, 0.4758, 0.7348, 1.088, 1.543, 2.094, 2.756");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.001, 0.003595, 0.0127, 0.03009, 0.05719, 0.09521, 0.1452, 0.2083, 0.2852, 0.3769");
values("0.1007, 0.1321, 0.2461, 0.4746, 0.8385, 1.356, 2.036, 2.894, 3.935, 5.18",\
"0.1004, 0.1319, 0.2459, 0.4747, 0.8385, 1.356, 2.036, 2.894, 3.935, 5.18",\
"0.1007, 0.1322, 0.2461, 0.4746, 0.8386, 1.356, 2.036, 2.894, 3.935, 5.179",\
"0.1006, 0.1322, 0.246, 0.4748, 0.8384, 1.356, 2.037, 2.895, 3.935, 5.177",\
"0.1004, 0.1316, 0.246, 0.474, 0.838, 1.354, 2.035, 2.891, 3.933, 5.182",\
"0.0998, 0.1314, 0.2458, 0.4742, 0.838, 1.354, 2.033, 2.893, 3.935, 5.181",\
"0.0998, 0.1312, 0.2458, 0.4736, 0.8378, 1.354, 2.037, 2.894, 3.935, 5.179",\
"0.0996, 0.1314, 0.2456, 0.4736, 0.8392, 1.355, 2.036, 2.89, 3.933, 5.182",\
"0.0996, 0.1312, 0.2456, 0.4738, 0.8384, 1.354, 2.033, 2.889, 3.939, 5.184",\
"0.0994, 0.1314, 0.2456, 0.4746, 0.8398, 1.354, 2.034, 2.89, 3.936, 5.18");
}
}
}
}