blob: 5d23866b9b369ff667f1c51857b86881c62cf795 [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_2) {
area : 72.441600 ;
ff(IQ1,IQN1) {
clocked_on : "(!CLKN)" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&!D" ;
value : "0.0002603808" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.0002635272" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.0002256768" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.0002236608" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.0002635272" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.003433 ;
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.777 ;
min_pulse_width_high : 0.324 ;
min_pulse_width_low : 0.376 ;
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.1545, 0.1541, 0.1567, 0.1682, 0.1904, 0.2246, 0.2717, 0.3321, \
0.4065, 0.4957");
}
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.09827, 0.09805, 0.1001, 0.1097, 0.1284, 0.1579, 0.199, 0.252, \
0.3173, 0.3957");
}
}
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.1544, 0.1541, 0.1566, 0.1682, 0.1904, 0.2247, 0.2717, 0.332, \
0.4066, 0.4955");
}
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.09849, 0.09818, 0.1002, 0.1099, 0.1284, 0.158, 0.1991, 0.252, \
0.3174, 0.3958");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.332");
}
rise_constraint(scalar) {
values("0.324");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.376");
}
rise_constraint(scalar) {
values("0.3");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("0.698");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("0.777");
}
}
}
pin(D) {
capacitance : 0.002447 ;
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.02939, 0.02937, 0.033, 0.04247, 0.05879, 0.08248, 0.1143, 0.1546, \
0.2042, 0.2635");
}
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.002561, 0.00256, 0.004968, 0.01242, 0.02599, 0.04604, 0.0731, \
0.1076, 0.1501, 0.2009");
}
}
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.1034, 0.1034, 0.1056, 0.1143, 0.1307, 0.1556, 0.19, 0.2339, \
0.2879, 0.3526");
}
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.06653, 0.06657, 0.06871, 0.07571, 0.08873, 0.109, 0.1369, 0.1732, \
0.2182, 0.2723");
}
}
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.04, 0.046, 0.083, 0.142, 0.211, 0.295, 0.4, 0.517, 0.653, 0.804",\
"0.031, 0.036, 0.078, 0.127, 0.201, 0.293, 0.388, 0.506, 0.637, 0.795",\
"-0.004, -0.003, 0.035, 0.087, 0.16, 0.243, 0.345, 0.465, 0.593, 0.747",\
"-0.083, -0.078, -0.039, 0.015, 0.078, 0.163, 0.261, 0.379, 0.511, 0.664",\
"-0.181, -0.175, -0.138, -0.086, -0.018, 0.063, 0.16, 0.274, 0.395, 0.543",\
"-0.296, -0.292, -0.26, -0.211, -0.147, -0.068, 0.026, 0.134, 0.26, 0.407",\
"-0.442, -0.441, -0.403, -0.356, -0.297, -0.219, -0.135, -0.026, 0.093, 0.237",\
"-0.605, -0.602, -0.566, -0.521, -0.468, -0.4, -0.317, -0.211, -0.097, 0.048",\
"-0.801, -0.795, -0.762, -0.722, -0.671, -0.609, -0.528, -0.425, -0.314, -0.178",\
"-1.017, -1.021, -0.98, -0.948, -0.903, -0.837, -0.763, -0.664, -0.56, -0.432");
}
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.132, 0.142, 0.179, 0.248, 0.338, 0.446, 0.577, 0.716, 0.88, 1.055",\
"0.127, 0.135, 0.172, 0.238, 0.332, 0.446, 0.568, 0.716, 0.876, 1.047",\
"0.11, 0.12, 0.153, 0.225, 0.317, 0.425, 0.552, 0.699, 0.855, 1.032",\
"0.103, 0.11, 0.148, 0.218, 0.307, 0.417, 0.545, 0.688, 0.847, 1.023",\
"0.112, 0.118, 0.153, 0.226, 0.321, 0.425, 0.556, 0.698, 0.858, 1.034",\
"0.148, 0.146, 0.186, 0.259, 0.343, 0.455, 0.582, 0.724, 0.888, 1.059",\
"0.203, 0.203, 0.242, 0.313, 0.4, 0.504, 0.632, 0.77, 0.937, 1.113",\
"0.291, 0.289, 0.322, 0.397, 0.473, 0.583, 0.709, 0.847, 1.006, 1.182",\
"0.416, 0.412, 0.445, 0.507, 0.582, 0.685, 0.811, 0.944, 1.107, 1.276",\
"0.571, 0.564, 0.595, 0.659, 0.733, 0.825, 0.945, 1.086, 1.236, 1.406");
}
}
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.229, 0.21, 0.18, 0.116, 0.036, -0.055, -0.163, -0.286, -0.424, -0.573",\
"0.238, 0.227, 0.186, 0.13, 0.045, -0.047, -0.152, -0.273, -0.406, -0.568",\
"0.275, 0.267, 0.229, 0.165, 0.083, -0.004, -0.115, -0.231, -0.372, -0.523",\
"0.354, 0.343, 0.306, 0.249, 0.164, 0.071, -0.034, -0.154, -0.294, -0.445",\
"0.474, 0.462, 0.422, 0.363, 0.278, 0.187, 0.077, -0.043, -0.179, -0.331",\
"0.626, 0.608, 0.574, 0.511, 0.425, 0.333, 0.227, 0.097, -0.033, -0.185",\
"0.808, 0.792, 0.754, 0.69, 0.606, 0.506, 0.397, 0.274, 0.141, -0.01",\
"1.028, 1.008, 0.971, 0.905, 0.817, 0.714, 0.601, 0.48, 0.347, 0.196",\
"1.276, 1.255, 1.219, 1.15, 1.057, 0.952, 0.842, 0.715, 0.582, 0.426",\
"1.55, 1.533, 1.502, 1.43, 1.328, 1.226, 1.113, 0.977, 0.841, 0.693");
}
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.132, 0.121, 0.092, 0.023, -0.065, -0.168, -0.302, -0.435, -0.593, -0.76",\
"0.136, 0.128, 0.101, 0.033, -0.055, -0.162, -0.294, -0.422, -0.586, -0.75",\
"0.161, 0.154, 0.117, 0.051, -0.039, -0.136, -0.27, -0.41, -0.577, -0.715",\
"0.188, 0.176, 0.144, 0.072, -0.017, -0.117, -0.242, -0.379, -0.554, -0.707",\
"0.206, 0.191, 0.16, 0.092, 0, -0.108, -0.239, -0.376, -0.536, -0.705",\
"0.213, 0.193, 0.161, 0.088, -0.004, -0.109, -0.236, -0.374, -0.544, -0.71",\
"0.19, 0.18, 0.144, 0.072, -0.02, -0.125, -0.26, -0.402, -0.565, -0.736",\
"0.154, 0.139, 0.107, 0.037, -0.058, -0.17, -0.304, -0.444, -0.615, -0.781",\
"0.089, 0.078, 0.043, -0.031, -0.126, -0.238, -0.366, -0.512, -0.677, -0.852",\
"-0.005, -0.02, -0.047, -0.122, -0.22, -0.324, -0.455, -0.597, -0.767, -0.95");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.64 ;
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.00541, 0.02089, 0.05046, 0.09651, 0.1611, 0.2462, 0.3533, 0.4841, 0.64");
values("0.2553, 0.2493, 0.2408, 0.2363, 0.2341, 0.2327, 0.2319, 0.2314, 0.231, 0.2307",\
"0.2553, 0.2494, 0.2407, 0.2364, 0.2341, 0.2327, 0.2318, 0.2313, 0.2309, 0.2307",\
"0.2553, 0.2493, 0.2407, 0.2363, 0.234, 0.2326, 0.2318, 0.2313, 0.2309, 0.2306",\
"0.2563, 0.2501, 0.2416, 0.2372, 0.235, 0.2337, 0.2328, 0.2323, 0.2319, 0.2317",\
"0.2588, 0.2526, 0.2441, 0.2397, 0.2375, 0.236, 0.2352, 0.2346, 0.2343, 0.234",\
"0.2622, 0.2563, 0.2477, 0.2432, 0.2406, 0.2394, 0.2385, 0.2379, 0.2375, 0.2372",\
"0.2668, 0.2608, 0.2519, 0.2475, 0.2453, 0.2439, 0.2429, 0.2425, 0.242, 0.2417",\
"0.2727, 0.2667, 0.2578, 0.2533, 0.2509, 0.2496, 0.2487, 0.248, 0.2476, 0.2474",\
"0.2796, 0.2735, 0.2646, 0.2598, 0.2575, 0.2561, 0.2551, 0.2545, 0.2542, 0.2538",\
"0.287, 0.2806, 0.2715, 0.2669, 0.2643, 0.2628, 0.2618, 0.2613, 0.2609, 0.2606");
}
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.00541, 0.02089, 0.05046, 0.09651, 0.1611, 0.2462, 0.3533, 0.4841, 0.64");
values("0.2974, 0.2938, 0.289, 0.2868, 0.2864, 0.2868, 0.2882, 0.2893, 0.29, 0.2922",\
"0.2976, 0.2941, 0.289, 0.287, 0.2863, 0.2873, 0.2885, 0.29, 0.2903, 0.2936",\
"0.2977, 0.294, 0.2896, 0.287, 0.2868, 0.2867, 0.2885, 0.2893, 0.2904, 0.2925",\
"0.2991, 0.2957, 0.2907, 0.2885, 0.2878, 0.2889, 0.2903, 0.2914, 0.2921, 0.2954",\
"0.3017, 0.2984, 0.2937, 0.2912, 0.2908, 0.2914, 0.2922, 0.2933, 0.2954, 0.2973",\
"0.3043, 0.3007, 0.2959, 0.2941, 0.2934, 0.2936, 0.2953, 0.2961, 0.2986, 0.2993",\
"0.3085, 0.3054, 0.2999, 0.2982, 0.2985, 0.2984, 0.2998, 0.301, 0.3016, 0.305",\
"0.3129, 0.3094, 0.3042, 0.3027, 0.3019, 0.3045, 0.305, 0.3054, 0.3061, 0.3087",\
"0.3178, 0.3148, 0.31, 0.3074, 0.3067, 0.3079, 0.3107, 0.3118, 0.3121, 0.3133",\
"0.3229, 0.3197, 0.3149, 0.3126, 0.3121, 0.3114, 0.3132, 0.3176, 0.319, 0.3196");
}
}
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.00541, 0.02089, 0.05046, 0.09651, 0.1611, 0.2462, 0.3533, 0.4841, 0.64");
values("0.4987, 0.5215, 0.5806, 0.6653, 0.7798, 0.9344, 1.137, 1.392, 1.704, 2.075",\
"0.5076, 0.5305, 0.5895, 0.6744, 0.7888, 0.9434, 1.146, 1.401, 1.713, 2.084",\
"0.5446, 0.5675, 0.6265, 0.7113, 0.8258, 0.9804, 1.183, 1.438, 1.75, 2.121",\
"0.618, 0.6409, 0.6999, 0.7847, 0.8991, 1.054, 1.256, 1.511, 1.823, 2.195",\
"0.7155, 0.7384, 0.7974, 0.8824, 0.9967, 1.151, 1.354, 1.609, 1.921, 2.292",\
"0.8325, 0.8554, 0.9144, 0.9993, 1.114, 1.268, 1.471, 1.726, 2.037, 2.409",\
"0.9668, 0.9897, 1.049, 1.134, 1.248, 1.403, 1.605, 1.86, 2.172, 2.543",\
"1.118, 1.141, 1.2, 1.285, 1.399, 1.554, 1.756, 2.011, 2.323, 2.694",\
"1.286, 1.309, 1.368, 1.453, 1.567, 1.722, 1.924, 2.179, 2.491, 2.862",\
"1.47, 1.493, 1.552, 1.637, 1.752, 1.906, 2.109, 2.364, 2.676, 3.047");
}
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.00541, 0.02089, 0.05046, 0.09651, 0.1611, 0.2462, 0.3533, 0.4841, 0.64");
values("0.5658, 0.5897, 0.6631, 0.7993, 1.012, 1.312, 1.706, 2.202, 2.809, 3.532",\
"0.5751, 0.599, 0.6722, 0.8085, 1.021, 1.321, 1.715, 2.211, 2.817, 3.54",\
"0.6124, 0.6361, 0.7097, 0.8457, 1.059, 1.358, 1.752, 2.249, 2.855, 3.579",\
"0.6871, 0.711, 0.7843, 0.9204, 1.133, 1.433, 1.827, 2.323, 2.929, 3.652",\
"0.7882, 0.8121, 0.8854, 1.021, 1.234, 1.533, 1.928, 2.424, 3.031, 3.753",\
"0.9094, 0.9332, 1.007, 1.143, 1.356, 1.655, 2.049, 2.545, 3.152, 3.876",\
"1.05, 1.074, 1.147, 1.283, 1.496, 1.796, 2.189, 2.686, 3.293, 4.016",\
"1.207, 1.231, 1.304, 1.441, 1.654, 1.953, 2.347, 2.844, 3.45, 4.174",\
"1.381, 1.405, 1.479, 1.615, 1.828, 2.127, 2.521, 3.017, 3.623, 4.346",\
"1.571, 1.595, 1.668, 1.804, 2.017, 2.316, 2.71, 3.207, 3.813, 4.535");
}
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.00541, 0.02089, 0.05046, 0.09651, 0.1611, 0.2462, 0.3533, 0.4841, 0.64");
values("0.06434, 0.08678, 0.1483, 0.2487, 0.4147, 0.6624, 0.9952, 1.419, 1.939, 2.556",\
"0.06446, 0.0871, 0.1483, 0.2484, 0.4141, 0.6623, 0.9953, 1.419, 1.939, 2.556",\
"0.06444, 0.0868, 0.1484, 0.2486, 0.4134, 0.6621, 0.997, 1.421, 1.938, 2.559",\
"0.06448, 0.0866, 0.1483, 0.2482, 0.4146, 0.662, 0.9958, 1.421, 1.94, 2.557",\
"0.0644, 0.0866, 0.1484, 0.2482, 0.414, 0.6624, 0.9958, 1.42, 1.938, 2.558",\
"0.0646, 0.087, 0.1484, 0.2482, 0.4136, 0.6624, 0.9974, 1.421, 1.94, 2.556",\
"0.065, 0.0874, 0.1484, 0.2488, 0.4136, 0.661, 0.9948, 1.419, 1.936, 2.557",\
"0.065, 0.0872, 0.1486, 0.2484, 0.4136, 0.6624, 0.995, 1.418, 1.936, 2.552",\
"0.0654, 0.0876, 0.149, 0.2486, 0.4142, 0.6628, 0.996, 1.419, 1.935, 2.552",\
"0.0654, 0.0876, 0.1492, 0.2486, 0.4138, 0.6618, 0.9956, 1.421, 1.935, 2.552");
}
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.00541, 0.02089, 0.05046, 0.09651, 0.1611, 0.2462, 0.3533, 0.4841, 0.64");
values("0.06128, 0.09352, 0.2089, 0.4427, 0.813, 1.335, 2.02, 2.883, 3.944, 5.198",\
"0.06104, 0.09354, 0.209, 0.4427, 0.8142, 1.335, 2.021, 2.882, 3.94, 5.199",\
"0.06116, 0.09354, 0.209, 0.4426, 0.8142, 1.335, 2.02, 2.886, 3.945, 5.198",\
"0.06084, 0.09354, 0.2089, 0.4426, 0.8142, 1.335, 2.02, 2.882, 3.94, 5.199",\
"0.0608, 0.0928, 0.2088, 0.4424, 0.8132, 1.335, 2.018, 2.884, 3.938, 5.197",\
"0.0608, 0.093, 0.209, 0.4428, 0.8146, 1.335, 2.02, 2.883, 3.944, 5.198",\
"0.0606, 0.0926, 0.2088, 0.4426, 0.8128, 1.333, 2.022, 2.884, 3.94, 5.202",\
"0.0604, 0.0928, 0.2088, 0.4426, 0.8126, 1.334, 2.02, 2.881, 3.941, 5.197",\
"0.0606, 0.0926, 0.209, 0.4432, 0.8144, 1.334, 2.018, 2.882, 3.944, 5.196",\
"0.0602, 0.0926, 0.2088, 0.4428, 0.8136, 1.335, 2.019, 2.884, 3.936, 5.202");
}
}
}
}