blob: e81efb20c65a4cde327752e1e43cf285bf4f4589 [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__dffq_1) {
area : 63.660800 ;
ff(IQ1,IQN1) {
clocked_on : "CLK" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&!D" ;
value : "0.000348205" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.00037477" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.000440465" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.0004693" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.0004693" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.003247 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 4 ;
min_period : 1.107 ;
min_pulse_width_high : 0.495 ;
min_pulse_width_low : 0.553 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.2837, 0.2832, 0.2866, 0.3021, 0.3344, 0.3849, 0.4549, 0.5452, \
0.6566, 0.79");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.2146, 0.2141, 0.2162, 0.2285, 0.2556, 0.2991, 0.3605, 0.441, \
0.5408, 0.6607");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.2878, 0.2874, 0.2907, 0.3062, 0.3386, 0.3891, 0.4588, 0.5492, \
0.6605, 0.7935");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.214, 0.2137, 0.2156, 0.2282, 0.2554, 0.2989, 0.3606, 0.4409, \
0.5409, 0.6608");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.553");
}
rise_constraint(scalar) {
values("0.3");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.357");
}
rise_constraint(scalar) {
values("0.495");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("1.107");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("1.058");
}
}
}
pin(D) {
capacitance : 0.002389 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 4 ;
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.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.1615, 0.1606, 0.1605, 0.1659, 0.1796, 0.2023, 0.2341, 0.2758, \
0.3274, 0.3892");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.1085, 0.1087, 0.1102, 0.1159, 0.1271, 0.145, 0.1705, 0.2036, \
0.2451, 0.295");
}
}
internal_power() {
when : "CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.009643, 0.009646, 0.009643, 0.009646, 0.009653, 0.009676, 0.009643, \
0.009669, 0.00967, 0.009666");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("-0.006699, -0.006701, -0.006688, -0.006665, -0.006678, -0.006703, \
-0.006714, -0.006747, -0.006734, -0.006762");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.086, 0.089, 0.108, 0.14, 0.175, 0.209, 0.236, 0.248, 0.254, 0.255",\
"0.08, 0.088, 0.106, 0.139, 0.179, 0.212, 0.23, 0.249, 0.255, 0.25",\
"0.061, 0.067, 0.083, 0.122, 0.156, 0.189, 0.219, 0.23, 0.242, 0.236",\
"0.01, 0.011, 0.03, 0.069, 0.103, 0.138, 0.161, 0.178, 0.187, 0.183",\
"-0.074, -0.075, -0.059, -0.024, 0.014, 0.055, 0.075, 0.09, 0.097, 0.096",\
"-0.19, -0.192, -0.169, -0.138, -0.099, -0.064, -0.04, -0.028, -0.025, -0.025",\
"-0.33, -0.325, -0.31, -0.276, -0.234, -0.199, -0.181, -0.163, -0.167, -0.17",\
"-0.489, -0.486, -0.47, -0.436, -0.396, -0.366, -0.347, -0.336, -0.341, -0.35",\
"-0.674, -0.677, -0.66, -0.628, -0.592, -0.555, -0.542, -0.537, -0.541, -0.549",\
"-0.898, -0.897, -0.882, -0.846, -0.811, -0.781, -0.763, -0.759, -0.768, -0.785");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.04, 0.045, 0.068, 0.094, 0.116, 0.14, 0.159, 0.166, 0.169, 0.165",\
"0.037, 0.041, 0.063, 0.091, 0.119, 0.136, 0.16, 0.166, 0.169, 0.165",\
"0.029, 0.032, 0.047, 0.08, 0.108, 0.135, 0.155, 0.162, 0.169, 0.164",\
"0.021, 0.029, 0.044, 0.078, 0.103, 0.131, 0.146, 0.159, 0.161, 0.156",\
"0.027, 0.03, 0.046, 0.078, 0.105, 0.135, 0.149, 0.156, 0.162, 0.153",\
"0.042, 0.051, 0.065, 0.096, 0.123, 0.146, 0.159, 0.169, 0.162, 0.155",\
"0.091, 0.094, 0.112, 0.135, 0.159, 0.179, 0.189, 0.196, 0.191, 0.177",\
"0.162, 0.165, 0.176, 0.209, 0.228, 0.249, 0.257, 0.247, 0.24, 0.227",\
"0.259, 0.27, 0.283, 0.306, 0.324, 0.334, 0.337, 0.334, 0.319, 0.306",\
"0.392, 0.397, 0.41, 0.435, 0.447, 0.458, 0.456, 0.448, 0.429, 0.407");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.229, 0.224, 0.206, 0.171, 0.129, 0.091, 0.065, 0.045, 0.033, 0.031",\
"0.232, 0.23, 0.212, 0.174, 0.134, 0.095, 0.068, 0.047, 0.035, 0.033",\
"0.253, 0.251, 0.229, 0.189, 0.152, 0.112, 0.084, 0.065, 0.049, 0.053",\
"0.312, 0.307, 0.288, 0.25, 0.208, 0.171, 0.14, 0.124, 0.11, 0.112",\
"0.42, 0.414, 0.396, 0.353, 0.315, 0.274, 0.244, 0.228, 0.214, 0.212",\
"0.563, 0.555, 0.537, 0.501, 0.464, 0.421, 0.392, 0.372, 0.359, 0.359",\
"0.751, 0.744, 0.723, 0.688, 0.644, 0.61, 0.583, 0.559, 0.542, 0.545",\
"0.974, 0.966, 0.943, 0.909, 0.867, 0.833, 0.8, 0.781, 0.767, 0.76",\
"1.225, 1.226, 1.201, 1.163, 1.124, 1.086, 1.059, 1.034, 1.023, 1.019",\
"1.516, 1.509, 1.492, 1.454, 1.411, 1.375, 1.342, 1.328, 1.315, 1.307");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.218, 0.211, 0.19, 0.153, 0.112, 0.073, 0.048, 0.033, 0.026, 0.036",\
"0.226, 0.217, 0.195, 0.156, 0.117, 0.082, 0.05, 0.041, 0.028, 0.038",\
"0.245, 0.234, 0.213, 0.175, 0.133, 0.099, 0.066, 0.053, 0.041, 0.053",\
"0.261, 0.253, 0.233, 0.198, 0.157, 0.118, 0.085, 0.071, 0.059, 0.069",\
"0.285, 0.275, 0.252, 0.211, 0.168, 0.132, 0.102, 0.083, 0.077, 0.087",\
"0.276, 0.268, 0.25, 0.214, 0.162, 0.13, 0.1, 0.085, 0.076, 0.087",\
"0.253, 0.247, 0.228, 0.186, 0.143, 0.106, 0.079, 0.068, 0.059, 0.068",\
"0.207, 0.196, 0.181, 0.139, 0.098, 0.062, 0.035, 0.022, 0.018, 0.031",\
"0.13, 0.122, 0.105, 0.068, 0.024, -0.015, -0.042, -0.05, -0.044, -0.041",\
"0.024, 0.013, -0.007, -0.043, -0.087, -0.117, -0.143, -0.153, -0.155, -0.136");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.2394 ;
max_transition : 4 ;
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.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.001, 0.002646, 0.008422, 0.01945, 0.03664, 0.06075, 0.09248, 0.1324, 0.1812, 0.2394");
values("0.2735, 0.2709, 0.266, 0.2626, 0.2606, 0.2593, 0.2584, 0.258, 0.2575, 0.2573",\
"0.274, 0.2712, 0.2663, 0.2629, 0.2608, 0.2596, 0.2587, 0.2582, 0.2577, 0.2575",\
"0.2739, 0.2711, 0.2663, 0.2628, 0.2608, 0.2595, 0.2587, 0.2581, 0.2576, 0.2574",\
"0.2743, 0.2717, 0.2668, 0.2634, 0.2615, 0.2602, 0.2593, 0.2587, 0.2582, 0.2581",\
"0.276, 0.2733, 0.2685, 0.2651, 0.2631, 0.2618, 0.2608, 0.2603, 0.26, 0.2597",\
"0.2779, 0.2751, 0.2703, 0.2671, 0.2648, 0.2634, 0.2626, 0.2621, 0.2617, 0.2615",\
"0.2804, 0.2776, 0.2728, 0.2695, 0.2673, 0.2662, 0.2653, 0.2647, 0.2643, 0.2641",\
"0.283, 0.2803, 0.2753, 0.272, 0.2697, 0.2686, 0.2678, 0.2673, 0.2668, 0.2666",\
"0.2858, 0.2831, 0.2783, 0.2748, 0.2728, 0.2715, 0.2706, 0.2701, 0.2697, 0.2694",\
"0.2889, 0.2862, 0.2814, 0.2779, 0.2758, 0.2747, 0.2738, 0.2733, 0.2729, 0.2725");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.001, 0.002646, 0.008422, 0.01945, 0.03664, 0.06075, 0.09248, 0.1324, 0.1812, 0.2394");
values("0.2832, 0.2804, 0.2744, 0.2697, 0.2665, 0.2647, 0.264, 0.2646, 0.2652, 0.2661",\
"0.2832, 0.2804, 0.2748, 0.2697, 0.2662, 0.2647, 0.2648, 0.2647, 0.265, 0.2665",\
"0.2832, 0.2805, 0.2746, 0.2697, 0.266, 0.2646, 0.2645, 0.265, 0.2651, 0.2666",\
"0.2838, 0.2806, 0.2753, 0.2702, 0.2666, 0.2652, 0.2649, 0.2651, 0.2655, 0.267",\
"0.2855, 0.2828, 0.2768, 0.272, 0.2685, 0.2671, 0.2665, 0.2671, 0.2679, 0.2683",\
"0.2881, 0.2853, 0.2797, 0.2744, 0.2711, 0.2697, 0.2691, 0.2697, 0.2703, 0.2722",\
"0.2923, 0.2895, 0.2834, 0.2784, 0.276, 0.2738, 0.273, 0.2737, 0.2746, 0.2751",\
"0.2968, 0.294, 0.2882, 0.283, 0.28, 0.2795, 0.2791, 0.2783, 0.2788, 0.2788",\
"0.3023, 0.2995, 0.2936, 0.2887, 0.2843, 0.2832, 0.2845, 0.2856, 0.2848, 0.2858",\
"0.3086, 0.3058, 0.3, 0.2948, 0.2908, 0.2887, 0.2888, 0.291, 0.2924, 0.2919");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.001, 0.002646, 0.008422, 0.01945, 0.03664, 0.06075, 0.09248, 0.1324, 0.1812, 0.2394");
values("0.5998, 0.6156, 0.6619, 0.7359, 0.8406, 0.9829, 1.169, 1.405, 1.692, 2.034",\
"0.6046, 0.6205, 0.6667, 0.7407, 0.8453, 0.9877, 1.174, 1.409, 1.696, 2.039",\
"0.6237, 0.6396, 0.6859, 0.7599, 0.8645, 1.007, 1.193, 1.428, 1.715, 2.058",\
"0.6618, 0.6777, 0.7239, 0.7979, 0.9025, 1.045, 1.231, 1.467, 1.754, 2.096",\
"0.7052, 0.721, 0.7673, 0.8413, 0.9459, 1.088, 1.275, 1.51, 1.797, 2.139",\
"0.7452, 0.7611, 0.8073, 0.8814, 0.986, 1.128, 1.315, 1.55, 1.837, 2.18",\
"0.7794, 0.7953, 0.8415, 0.9155, 1.02, 1.163, 1.349, 1.584, 1.871, 2.214",\
"0.806, 0.8219, 0.8682, 0.9421, 1.047, 1.189, 1.376, 1.611, 1.898, 2.24",\
"0.8233, 0.8392, 0.8855, 0.9595, 1.064, 1.206, 1.393, 1.628, 1.915, 2.258",\
"0.8301, 0.8459, 0.8922, 0.9662, 1.071, 1.213, 1.4, 1.635, 1.922, 2.264");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.001, 0.002646, 0.008422, 0.01945, 0.03664, 0.06075, 0.09248, 0.1324, 0.1812, 0.2394");
values("0.6763, 0.6941, 0.7497, 0.8504, 1.008, 1.231, 1.525, 1.896, 2.349, 2.89",\
"0.6809, 0.6987, 0.7545, 0.8552, 1.013, 1.236, 1.529, 1.9, 2.353, 2.894",\
"0.7, 0.7178, 0.7735, 0.8742, 1.031, 1.255, 1.548, 1.919, 2.372, 2.913",\
"0.7384, 0.756, 0.8119, 0.9126, 1.07, 1.293, 1.587, 1.958, 2.411, 2.952",\
"0.7832, 0.801, 0.8566, 0.9573, 1.115, 1.338, 1.631, 2.003, 2.456, 2.997",\
"0.8252, 0.8429, 0.8986, 0.9993, 1.157, 1.38, 1.673, 2.045, 2.498, 3.038",\
"0.8633, 0.8809, 0.9366, 1.037, 1.195, 1.417, 1.711, 2.083, 2.536, 3.077",\
"0.8942, 0.9119, 0.9678, 1.068, 1.226, 1.449, 1.742, 2.113, 2.567, 3.108",\
"0.9169, 0.9346, 0.9905, 1.091, 1.248, 1.471, 1.765, 2.136, 2.589, 3.129",\
"0.9304, 0.9481, 1.004, 1.105, 1.262, 1.485, 1.778, 2.149, 2.602, 3.143");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.001, 0.002646, 0.008422, 0.01945, 0.03664, 0.06075, 0.09248, 0.1324, 0.1812, 0.2394");
values("0.07834, 0.0952, 0.1483, 0.2446, 0.4015, 0.6308, 0.94, 1.331, 1.808, 2.382",\
"0.07858, 0.09526, 0.1483, 0.2449, 0.4012, 0.6311, 0.9389, 1.331, 1.81, 2.377",\
"0.07858, 0.09524, 0.1483, 0.2449, 0.4013, 0.6311, 0.9398, 1.331, 1.81, 2.379",\
"0.07844, 0.09502, 0.1481, 0.2448, 0.4004, 0.6312, 0.9398, 1.331, 1.81, 2.38",\
"0.0786, 0.095, 0.1484, 0.2448, 0.4008, 0.6308, 0.9382, 1.331, 1.81, 2.381",\
"0.0784, 0.095, 0.1478, 0.2444, 0.4016, 0.631, 0.9398, 1.331, 1.81, 2.379",\
"0.0782, 0.0948, 0.148, 0.2446, 0.4008, 0.6302, 0.9386, 1.329, 1.808, 2.379",\
"0.0782, 0.0954, 0.1476, 0.245, 0.4008, 0.6294, 0.9384, 1.328, 1.806, 2.376",\
"0.0782, 0.0954, 0.1482, 0.2446, 0.4006, 0.6302, 0.9394, 1.33, 1.805, 2.374",\
"0.0784, 0.0948, 0.1482, 0.2444, 0.4008, 0.63, 0.9376, 1.329, 1.806, 2.375");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.001, 0.002646, 0.008422, 0.01945, 0.03664, 0.06075, 0.09248, 0.1324, 0.1812, 0.2394");
values("0.09314, 0.1166, 0.2021, 0.3748, 0.6556, 1.054, 1.577, 2.239, 3.039, 4",\
"0.0931, 0.1164, 0.2025, 0.3749, 0.6557, 1.053, 1.577, 2.237, 3.041, 3.997",\
"0.09298, 0.1168, 0.2016, 0.375, 0.656, 1.054, 1.576, 2.234, 3.041, 3.997",\
"0.09314, 0.1166, 0.2025, 0.3748, 0.6554, 1.053, 1.578, 2.237, 3.041, 3.999",\
"0.093, 0.1166, 0.202, 0.3746, 0.6558, 1.054, 1.576, 2.239, 3.039, 4",\
"0.0926, 0.1164, 0.2024, 0.375, 0.6558, 1.053, 1.577, 2.24, 3.041, 4.001",\
"0.093, 0.1168, 0.2024, 0.375, 0.656, 1.053, 1.576, 2.239, 3.04, 3.999",\
"0.0932, 0.1168, 0.202, 0.3748, 0.6562, 1.053, 1.576, 2.239, 3.04, 4",\
"0.0932, 0.117, 0.202, 0.3748, 0.656, 1.054, 1.576, 2.235, 3.046, 3.997",\
"0.0934, 0.1172, 0.202, 0.375, 0.656, 1.053, 1.577, 2.235, 3.04, 4.001");
}
}
}
}