blob: 4d92163a954129600885179f404e4ba9cd13f5d5 [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_1) {
area : 65.856000 ;
ff(IQ1,IQN1) {
clocked_on : "(!CLKN)" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&!D" ;
value : "0.0101394" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.00909936" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.00752436" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.00904968" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.0101394" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.003448 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 7.4 ;
min_period : 1.29 ;
min_pulse_width_high : 0.498 ;
min_pulse_width_low : 0.525 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.1598, 0.1595, 0.1633, 0.1792, 0.21, 0.2569, 0.321, 0.4028, 0.5032, \
0.623");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.1023, 0.102, 0.1051, 0.1186, 0.1446, 0.1851, 0.241, 0.3127, \
0.4014, 0.5077");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.1595, 0.1592, 0.163, 0.1789, 0.2097, 0.2566, 0.3206, 0.4025, \
0.5028, 0.6227");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.1025, 0.1022, 0.1054, 0.1188, 0.1448, 0.1853, 0.2411, 0.313, \
0.4016, 0.5077");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.443");
}
rise_constraint(scalar) {
values("0.498");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.525");
}
rise_constraint(scalar) {
values("0.413");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("1.001");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("1.29");
}
}
}
pin(D) {
capacitance : 0.002456 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 7.4 ;
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.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.03109, 0.03102, 0.03582, 0.0484, 0.06988, 0.101, 0.1426, 0.1954, \
0.2602, 0.3376");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.003294, 0.003351, 0.006626, 0.01653, 0.03425, 0.06058, 0.096, \
0.1411, 0.1966, 0.263");
}
}
internal_power() {
when : "CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.111, 0.111, 0.1144, 0.1261, 0.1487, 0.183, 0.2297, 0.2893, 0.3623, \
0.4496");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.07156, 0.07165, 0.07462, 0.08418, 0.1019, 0.1292, 0.1669, 0.2156, \
0.276, 0.3486");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.052, 0.061, 0.111, 0.195, 0.298, 0.41, 0.549, 0.717, 0.906, 1.122",\
"0.039, 0.045, 0.098, 0.178, 0.286, 0.396, 0.54, 0.702, 0.89, 1.109",\
"-0.021, -0.01, 0.043, 0.117, 0.221, 0.336, 0.475, 0.641, 0.83, 1.042",\
"-0.121, -0.118, -0.066, 0.013, 0.106, 0.217, 0.352, 0.517, 0.701, 0.915",\
"-0.265, -0.253, -0.206, -0.134, -0.041, 0.064, 0.192, 0.351, 0.53, 0.735",\
"-0.435, -0.423, -0.376, -0.307, -0.225, -0.122, -0.005, 0.143, 0.32, 0.519",\
"-0.637, -0.623, -0.578, -0.518, -0.431, -0.346, -0.231, -0.095, 0.069, 0.262",\
"-0.871, -0.864, -0.819, -0.76, -0.691, -0.61, -0.504, -0.366, -0.218, -0.034",\
"-1.147, -1.141, -1.094, -1.041, -0.98, -0.91, -0.815, -0.685, -0.544, -0.366",\
"-1.455, -1.444, -1.404, -1.361, -1.311, -1.251, -1.162, -1.047, -0.908, -0.741");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.166, 0.181, 0.231, 0.334, 0.463, 0.617, 0.791, 0.989, 1.215, 1.464",\
"0.159, 0.175, 0.224, 0.326, 0.45, 0.608, 0.779, 0.983, 1.21, 1.463",\
"0.14, 0.149, 0.201, 0.304, 0.436, 0.588, 0.759, 0.965, 1.188, 1.441",\
"0.134, 0.152, 0.199, 0.298, 0.431, 0.581, 0.752, 0.957, 1.177, 1.428",\
"0.157, 0.172, 0.224, 0.32, 0.447, 0.606, 0.779, 0.98, 1.202, 1.45",\
"0.216, 0.228, 0.278, 0.377, 0.508, 0.657, 0.831, 1.033, 1.254, 1.502",\
"0.326, 0.341, 0.384, 0.482, 0.602, 0.752, 0.923, 1.129, 1.346, 1.593",\
"0.482, 0.495, 0.54, 0.631, 0.747, 0.892, 1.058, 1.257, 1.473, 1.723",\
"0.701, 0.717, 0.754, 0.835, 0.944, 1.075, 1.233, 1.438, 1.653, 1.903",\
"0.977, 0.994, 1.026, 1.096, 1.186, 1.319, 1.47, 1.667, 1.875, 2.119");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.343, 0.333, 0.275, 0.191, 0.085, -0.036, -0.174, -0.338, -0.519, -0.725",\
"0.355, 0.343, 0.292, 0.204, 0.096, -0.025, -0.16, -0.324, -0.508, -0.71",\
"0.412, 0.4, 0.351, 0.261, 0.155, 0.032, -0.105, -0.264, -0.45, -0.652",\
"0.532, 0.526, 0.465, 0.38, 0.274, 0.147, 0.013, -0.152, -0.33, -0.529",\
"0.701, 0.69, 0.636, 0.551, 0.441, 0.317, 0.175, 0.022, -0.162, -0.364",\
"0.925, 0.918, 0.862, 0.773, 0.66, 0.535, 0.39, 0.236, 0.06, -0.145",\
"1.203, 1.198, 1.138, 1.047, 0.928, 0.796, 0.657, 0.501, 0.319, 0.126",\
"1.538, 1.522, 1.462, 1.369, 1.243, 1.113, 0.96, 0.802, 0.627, 0.434",\
"1.913, 1.906, 1.84, 1.745, 1.611, 1.472, 1.321, 1.158, 0.981, 0.787",\
"2.347, 2.342, 2.267, 2.164, 2.022, 1.877, 1.723, 1.564, 1.39, 1.192");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.183, 0.172, 0.12, 0.027, -0.094, -0.248, -0.409, -0.604, -0.816, -1.068",\
"0.195, 0.183, 0.127, 0.039, -0.088, -0.237, -0.406, -0.604, -0.814, -1.055",\
"0.221, 0.208, 0.158, 0.064, -0.06, -0.208, -0.381, -0.577, -0.786, -1.033",\
"0.261, 0.247, 0.19, 0.095, -0.032, -0.179, -0.353, -0.546, -0.761, -1.013",\
"0.278, 0.266, 0.214, 0.115, -0.018, -0.172, -0.342, -0.543, -0.759, -1.007",\
"0.273, 0.257, 0.208, 0.108, -0.02, -0.179, -0.358, -0.559, -0.774, -1.027",\
"0.24, 0.226, 0.168, 0.074, -0.056, -0.221, -0.399, -0.597, -0.82, -1.076",\
"0.169, 0.153, 0.102, -0.005, -0.131, -0.294, -0.467, -0.673, -0.901, -1.157",\
"0.064, 0.049, -0.009, -0.109, -0.24, -0.396, -0.579, -0.784, -1.014, -1.265",\
"-0.085, -0.097, -0.154, -0.264, -0.393, -0.548, -0.73, -0.936, -1.159, -1.421");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.3346 ;
max_transition : 7.4 ;
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.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.001, 0.003303, 0.01139, 0.02682, 0.05087, 0.08462, 0.129, 0.185, 0.2533, 0.3346");
values("0.1993, 0.1972, 0.1941, 0.1923, 0.1912, 0.1906, 0.1902, 0.1899, 0.1897, 0.1896",\
"0.1993, 0.1972, 0.1942, 0.1922, 0.1912, 0.1906, 0.1902, 0.1899, 0.1897, 0.1896",\
"0.1993, 0.1974, 0.1942, 0.1924, 0.1912, 0.1906, 0.1902, 0.19, 0.1898, 0.1896",\
"0.2009, 0.1989, 0.1958, 0.1939, 0.1928, 0.1922, 0.1918, 0.1916, 0.1914, 0.1912",\
"0.2048, 0.2028, 0.1996, 0.1977, 0.1967, 0.1961, 0.1957, 0.1954, 0.1952, 0.1951",\
"0.2107, 0.2086, 0.2056, 0.2036, 0.2026, 0.2019, 0.2015, 0.2012, 0.2011, 0.2009",\
"0.2184, 0.2163, 0.2132, 0.2111, 0.2098, 0.2092, 0.2088, 0.2085, 0.2083, 0.2082",\
"0.2274, 0.2253, 0.222, 0.2199, 0.2187, 0.218, 0.2176, 0.2173, 0.2171, 0.2169",\
"0.238, 0.2358, 0.2323, 0.23, 0.2288, 0.228, 0.2276, 0.2273, 0.2271, 0.2269",\
"0.2496, 0.2473, 0.2437, 0.2414, 0.24, 0.2393, 0.2388, 0.2384, 0.2382, 0.238");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.001, 0.003303, 0.01139, 0.02682, 0.05087, 0.08462, 0.129, 0.185, 0.2533, 0.3346");
values("0.2659, 0.2639, 0.2608, 0.259, 0.2581, 0.2583, 0.2585, 0.259, 0.2599, 0.2618",\
"0.2659, 0.264, 0.2609, 0.2591, 0.2582, 0.2584, 0.2586, 0.2591, 0.2599, 0.2617",\
"0.2664, 0.2645, 0.2613, 0.2594, 0.2586, 0.2588, 0.259, 0.2595, 0.2604, 0.2625",\
"0.268, 0.2662, 0.2629, 0.2613, 0.2604, 0.2606, 0.2609, 0.2613, 0.2618, 0.2649",\
"0.2714, 0.2697, 0.2666, 0.2647, 0.2638, 0.264, 0.2643, 0.2647, 0.2657, 0.2686",\
"0.2756, 0.2739, 0.2712, 0.269, 0.2681, 0.2683, 0.2686, 0.2688, 0.2694, 0.2735",\
"0.2816, 0.2795, 0.2763, 0.2746, 0.2741, 0.2742, 0.2745, 0.2746, 0.2754, 0.2802",\
"0.288, 0.2861, 0.2827, 0.2811, 0.2804, 0.2809, 0.2811, 0.2814, 0.2821, 0.2887",\
"0.2948, 0.2926, 0.2894, 0.288, 0.2867, 0.2868, 0.2881, 0.289, 0.2898, 0.2997",\
"0.3016, 0.2998, 0.2966, 0.2945, 0.2935, 0.293, 0.2937, 0.2955, 0.2979, 0.3139");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.001, 0.003303, 0.01139, 0.02682, 0.05087, 0.08462, 0.129, 0.185, 0.2533, 0.3346");
values("0.642, 0.6684, 0.742, 0.857, 1.018, 1.237, 1.526, 1.89, 2.334, 2.864",\
"0.6547, 0.681, 0.7547, 0.8695, 1.03, 1.25, 1.539, 1.903, 2.347, 2.877",\
"0.7074, 0.7337, 0.8074, 0.9223, 1.083, 1.303, 1.591, 1.955, 2.399, 2.93",\
"0.8106, 0.837, 0.9106, 1.026, 1.186, 1.406, 1.695, 2.059, 2.503, 3.033",\
"0.9482, 0.9746, 1.048, 1.163, 1.324, 1.544, 1.833, 2.197, 2.641, 3.17",\
"1.112, 1.138, 1.212, 1.327, 1.488, 1.708, 1.996, 2.36, 2.804, 3.334",\
"1.299, 1.326, 1.399, 1.514, 1.675, 1.895, 2.184, 2.547, 2.991, 3.521",\
"1.509, 1.535, 1.609, 1.724, 1.885, 2.105, 2.393, 2.757, 3.201, 3.73",\
"1.742, 1.768, 1.842, 1.958, 2.118, 2.338, 2.627, 2.99, 3.434, 3.964",\
"1.999, 2.025, 2.099, 2.215, 2.375, 2.595, 2.884, 3.247, 3.691, 4.221");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.001, 0.003303, 0.01139, 0.02682, 0.05087, 0.08462, 0.129, 0.185, 0.2533, 0.3346");
values("0.8078, 0.8393, 0.9387, 1.122, 1.407, 1.808, 2.337, 3.003, 3.818, 4.79",\
"0.8206, 0.8519, 0.9514, 1.134, 1.42, 1.821, 2.349, 3.016, 3.831, 4.802",\
"0.8742, 0.9056, 1.005, 1.188, 1.473, 1.875, 2.403, 3.069, 3.884, 4.856",\
"0.9801, 1.012, 1.111, 1.294, 1.579, 1.981, 2.51, 3.176, 3.989, 4.959",\
"1.125, 1.157, 1.256, 1.439, 1.724, 2.126, 2.654, 3.32, 4.135, 5.107",\
"1.299, 1.331, 1.431, 1.614, 1.899, 2.3, 2.828, 3.495, 4.31, 5.282",\
"1.499, 1.53, 1.63, 1.813, 2.098, 2.5, 3.028, 3.695, 4.51, 5.481",\
"1.721, 1.752, 1.852, 2.035, 2.32, 2.721, 3.249, 3.915, 4.73, 5.701",\
"1.965, 1.996, 2.095, 2.278, 2.563, 2.964, 3.493, 4.159, 4.973, 5.943",\
"2.232, 2.263, 2.363, 2.545, 2.83, 3.231, 3.76, 4.427, 5.24, 6.209");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.001, 0.003303, 0.01139, 0.02682, 0.05087, 0.08462, 0.129, 0.185, 0.2533, 0.3346");
values("0.096, 0.1239, 0.2104, 0.3647, 0.6155, 0.9858, 1.481, 2.108, 2.874, 3.784",\
"0.09616, 0.1239, 0.2109, 0.3646, 0.6152, 0.9864, 1.48, 2.107, 2.872, 3.787",\
"0.09604, 0.1242, 0.2106, 0.3646, 0.6152, 0.9852, 1.479, 2.107, 2.872, 3.787",\
"0.0962, 0.1238, 0.211, 0.3648, 0.6154, 0.9862, 1.479, 2.108, 2.872, 3.787",\
"0.0964, 0.1238, 0.2108, 0.3648, 0.6158, 0.9844, 1.482, 2.107, 2.873, 3.779",\
"0.0966, 0.1242, 0.211, 0.365, 0.6154, 0.984, 1.481, 2.108, 2.873, 3.786",\
"0.0972, 0.1244, 0.212, 0.3654, 0.616, 0.9846, 1.478, 2.106, 2.872, 3.785",\
"0.0978, 0.1256, 0.2124, 0.3654, 0.616, 0.9854, 1.479, 2.104, 2.867, 3.78",\
"0.0984, 0.126, 0.2124, 0.3658, 0.616, 0.9864, 1.482, 2.105, 2.868, 3.778",\
"0.099, 0.1268, 0.2132, 0.366, 0.6156, 0.9864, 1.479, 2.106, 2.869, 3.781");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.001, 0.003303, 0.01139, 0.02682, 0.05087, 0.08462, 0.129, 0.185, 0.2533, 0.3346");
values("0.1183, 0.1632, 0.3273, 0.6563, 1.178, 1.914, 2.889, 4.114, 5.598, 7.373",\
"0.1184, 0.1634, 0.3275, 0.6562, 1.178, 1.914, 2.889, 4.114, 5.598, 7.372",\
"0.1186, 0.1636, 0.3274, 0.655, 1.178, 1.914, 2.889, 4.114, 5.598, 7.371",\
"0.1188, 0.1634, 0.3274, 0.6548, 1.18, 1.917, 2.884, 4.106, 5.596, 7.378",\
"0.1176, 0.1628, 0.3272, 0.655, 1.179, 1.914, 2.889, 4.114, 5.598, 7.373",\
"0.1176, 0.163, 0.3276, 0.6548, 1.178, 1.914, 2.889, 4.111, 5.597, 7.377",\
"0.1178, 0.1632, 0.3274, 0.6552, 1.179, 1.914, 2.886, 4.111, 5.597, 7.376",\
"0.1182, 0.1626, 0.3274, 0.656, 1.18, 1.915, 2.884, 4.111, 5.597, 7.377",\
"0.1174, 0.1628, 0.3272, 0.6554, 1.178, 1.914, 2.884, 4.105, 5.599, 7.374",\
"0.1174, 0.1624, 0.3272, 0.655, 1.179, 1.917, 2.889, 4.108, 5.597, 7.375");
}
}
}
}