blob: 70e6880495a5cd4eadcf2377578a18a8096f92a5 [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_2) {
area : 68.051200 ;
ff(IQ1,IQN1) {
clocked_on : "CLK" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&!D" ;
value : "0.0003097215" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.0003112065" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.000342864" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.0003360735" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.000342864" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.003239 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 5 ;
min_period : 1.485 ;
min_pulse_width_high : 0.73 ;
min_pulse_width_low : 0.725 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.2325, 0.232, 0.2327, 0.2393, 0.2547, 0.2792, 0.3134, 0.3582, \
0.414, 0.481");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.1777, 0.1773, 0.1773, 0.182, 0.1948, 0.2148, 0.2449, 0.2845, \
0.3344, 0.3947");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.2311, 0.2306, 0.2314, 0.238, 0.2534, 0.2777, 0.3119, 0.3568, \
0.4125, 0.4794");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.1775, 0.177, 0.177, 0.1819, 0.1945, 0.215, 0.245, 0.2847, 0.3346, \
0.3947");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.725");
}
rise_constraint(scalar) {
values("0.412");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.488");
}
rise_constraint(scalar) {
values("0.73");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("1.457");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("1.485");
}
}
}
pin(D) {
capacitance : 0.00237 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 5 ;
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.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.122, 0.1213, 0.1205, 0.1227, 0.1296, 0.141, 0.1569, 0.1776, \
0.2037, 0.2351");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.08609, 0.08627, 0.08672, 0.08916, 0.09441, 0.1031, 0.1158, 0.1326, \
0.1538, 0.1796");
}
}
internal_power() {
when : "CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.007516, 0.007516, 0.007522, 0.007538, 0.00752, 0.007523, 0.007526, \
0.007516, 0.007529, 0.007526");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("-0.00502, -0.005018, -0.005021, -0.005048, -0.005067, -0.005092, \
-0.005123, -0.005134, -0.005143, -0.005153");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.114, 0.122, 0.151, 0.198, 0.254, 0.308, 0.35, 0.384, 0.419, 0.434",\
"0.114, 0.119, 0.142, 0.193, 0.251, 0.306, 0.348, 0.386, 0.411, 0.429",\
"0.091, 0.099, 0.121, 0.173, 0.229, 0.283, 0.322, 0.358, 0.387, 0.408",\
"0.023, 0.032, 0.058, 0.106, 0.163, 0.221, 0.258, 0.301, 0.325, 0.347",\
"-0.078, -0.079, -0.054, -0.002, 0.058, 0.109, 0.161, 0.193, 0.222, 0.24",\
"-0.221, -0.217, -0.188, -0.14, -0.078, -0.026, 0.017, 0.053, 0.088, 0.101",\
"-0.386, -0.38, -0.355, -0.306, -0.245, -0.195, -0.145, -0.113, -0.087, -0.067",\
"-0.577, -0.574, -0.553, -0.502, -0.442, -0.39, -0.346, -0.312, -0.286, -0.274",\
"-0.8, -0.796, -0.774, -0.732, -0.674, -0.618, -0.579, -0.544, -0.514, -0.505",\
"-1.066, -1.059, -1.039, -0.992, -0.933, -0.882, -0.844, -0.809, -0.789, -0.776");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.04, 0.051, 0.073, 0.114, 0.156, 0.191, 0.214, 0.241, 0.256, 0.261",\
"0.037, 0.042, 0.068, 0.111, 0.15, 0.186, 0.211, 0.235, 0.247, 0.255",\
"0.022, 0.024, 0.052, 0.093, 0.133, 0.171, 0.2, 0.223, 0.239, 0.254",\
"0.003, 0.011, 0.034, 0.081, 0.123, 0.158, 0.191, 0.212, 0.231, 0.241",\
"0.001, 0.007, 0.03, 0.079, 0.117, 0.152, 0.189, 0.211, 0.228, 0.24",\
"0.005, 0.014, 0.037, 0.088, 0.122, 0.157, 0.196, 0.214, 0.231, 0.239",\
"0.04, 0.048, 0.067, 0.114, 0.151, 0.186, 0.213, 0.231, 0.243, 0.254",\
"0.096, 0.105, 0.13, 0.175, 0.207, 0.234, 0.264, 0.279, 0.289, 0.291",\
"0.192, 0.195, 0.216, 0.26, 0.291, 0.317, 0.339, 0.35, 0.358, 0.359",\
"0.315, 0.324, 0.338, 0.383, 0.409, 0.434, 0.455, 0.462, 0.462, 0.463");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.298, 0.292, 0.264, 0.204, 0.149, 0.085, 0.03, -0.019, -0.056, -0.075",\
"0.3, 0.294, 0.266, 0.208, 0.144, 0.088, 0.032, -0.018, -0.055, -0.075",\
"0.323, 0.318, 0.288, 0.232, 0.172, 0.109, 0.056, 0.01, -0.021, -0.051",\
"0.392, 0.39, 0.363, 0.303, 0.24, 0.179, 0.127, 0.078, 0.046, 0.018",\
"0.52, 0.515, 0.483, 0.426, 0.37, 0.305, 0.248, 0.207, 0.166, 0.141",\
"0.694, 0.685, 0.66, 0.603, 0.54, 0.479, 0.422, 0.375, 0.342, 0.312",\
"0.905, 0.897, 0.867, 0.813, 0.751, 0.691, 0.639, 0.59, 0.55, 0.531",\
"1.162, 1.152, 1.125, 1.074, 1.011, 0.945, 0.893, 0.843, 0.805, 0.782",\
"1.458, 1.45, 1.427, 1.369, 1.306, 1.247, 1.189, 1.144, 1.102, 1.078",\
"1.791, 1.788, 1.759, 1.703, 1.639, 1.579, 1.527, 1.477, 1.441, 1.413");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.298, 0.292, 0.264, 0.198, 0.139, 0.085, 0.03, -0.004, -0.028, -0.044",\
"0.306, 0.301, 0.266, 0.215, 0.144, 0.096, 0.037, -0.003, -0.027, -0.043",\
"0.332, 0.328, 0.294, 0.232, 0.166, 0.117, 0.062, 0.018, -0.001, -0.025",\
"0.373, 0.363, 0.331, 0.273, 0.207, 0.151, 0.096, 0.054, 0.025, 0.005",\
"0.402, 0.393, 0.359, 0.305, 0.235, 0.181, 0.123, 0.083, 0.048, 0.028",\
"0.41, 0.402, 0.372, 0.312, 0.244, 0.19, 0.137, 0.088, 0.061, 0.044",\
"0.396, 0.396, 0.361, 0.307, 0.238, 0.187, 0.126, 0.084, 0.052, 0.033",\
"0.369, 0.358, 0.328, 0.269, 0.202, 0.144, 0.091, 0.048, 0.023, 0.001",\
"0.304, 0.295, 0.259, 0.205, 0.143, 0.082, 0.032, -0.015, -0.037, -0.057",\
"0.205, 0.205, 0.172, 0.108, 0.049, -0.014, -0.067, -0.104, -0.134, -0.151");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.5078 ;
max_transition : 5 ;
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.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.001, 0.004498, 0.01678, 0.04023, 0.07676, 0.128, 0.1955, 0.2804, 0.3842, 0.5078");
values("0.2918, 0.2846, 0.2749, 0.2696, 0.2669, 0.2659, 0.2647, 0.2641, 0.2639, 0.2636",\
"0.2918, 0.2849, 0.275, 0.2698, 0.267, 0.2656, 0.2647, 0.2641, 0.2638, 0.2636",\
"0.2918, 0.2847, 0.2751, 0.2697, 0.2671, 0.2656, 0.2647, 0.2642, 0.2638, 0.2636",\
"0.2921, 0.2851, 0.2753, 0.27, 0.2675, 0.266, 0.265, 0.2645, 0.2642, 0.264",\
"0.2929, 0.2859, 0.2761, 0.2708, 0.2681, 0.267, 0.2659, 0.2652, 0.2648, 0.2646",\
"0.2943, 0.2873, 0.2775, 0.2722, 0.2695, 0.268, 0.2672, 0.2667, 0.2663, 0.2661",\
"0.2951, 0.288, 0.2781, 0.2729, 0.2706, 0.2689, 0.2679, 0.2674, 0.2673, 0.2669",\
"0.2963, 0.2892, 0.2796, 0.2744, 0.2716, 0.2701, 0.2691, 0.2687, 0.2684, 0.2681",\
"0.2976, 0.2906, 0.2807, 0.2758, 0.273, 0.2716, 0.2706, 0.2701, 0.2697, 0.2694",\
"0.299, 0.2922, 0.2822, 0.2771, 0.2744, 0.2732, 0.2721, 0.2714, 0.2711, 0.2709");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.001, 0.004498, 0.01678, 0.04023, 0.07676, 0.128, 0.1955, 0.2804, 0.3842, 0.5078");
values("0.2905, 0.2843, 0.2737, 0.2659, 0.2614, 0.2589, 0.2589, 0.2605, 0.2614, 0.2628",\
"0.2909, 0.2847, 0.274, 0.2652, 0.2614, 0.2589, 0.2601, 0.2605, 0.2619, 0.2646",\
"0.2907, 0.2845, 0.2736, 0.2655, 0.2607, 0.2591, 0.2589, 0.2605, 0.261, 0.2624",\
"0.2909, 0.2844, 0.2741, 0.2655, 0.2615, 0.2601, 0.2602, 0.2601, 0.2615, 0.2629",\
"0.2917, 0.2854, 0.275, 0.2664, 0.2625, 0.2603, 0.2603, 0.2615, 0.2624, 0.2643",\
"0.2927, 0.2864, 0.2757, 0.2671, 0.2632, 0.261, 0.2614, 0.2612, 0.2635, 0.2649",\
"0.294, 0.2877, 0.2771, 0.269, 0.2645, 0.2627, 0.2629, 0.2641, 0.265, 0.2669",\
"0.2959, 0.2895, 0.2788, 0.2699, 0.2663, 0.2652, 0.2652, 0.2653, 0.2658, 0.2681",\
"0.298, 0.2916, 0.281, 0.2721, 0.2682, 0.2659, 0.2688, 0.2694, 0.2685, 0.2708",\
"0.3009, 0.2943, 0.2839, 0.2748, 0.2705, 0.2682, 0.2677, 0.2736, 0.2741, 0.2737");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.001, 0.004498, 0.01678, 0.04023, 0.07676, 0.128, 0.1955, 0.2804, 0.3842, 0.5078");
values("0.8424, 0.8694, 0.9412, 1.048, 1.192, 1.383, 1.633, 1.948, 2.332, 2.789",\
"0.8492, 0.8763, 0.9481, 1.055, 1.198, 1.39, 1.64, 1.954, 2.338, 2.796",\
"0.8763, 0.9034, 0.9751, 1.082, 1.225, 1.417, 1.667, 1.981, 2.365, 2.823",\
"0.9307, 0.9578, 1.03, 1.136, 1.28, 1.472, 1.721, 2.036, 2.42, 2.878",\
"0.9964, 1.024, 1.095, 1.202, 1.346, 1.537, 1.787, 2.102, 2.485, 2.943",\
"1.057, 1.084, 1.156, 1.262, 1.406, 1.598, 1.848, 2.162, 2.546, 3.004",\
"1.113, 1.141, 1.212, 1.319, 1.463, 1.654, 1.904, 2.219, 2.602, 3.06",\
"1.163, 1.19, 1.262, 1.368, 1.512, 1.704, 1.954, 2.268, 2.652, 3.11",\
"1.204, 1.231, 1.303, 1.41, 1.553, 1.745, 1.995, 2.309, 2.693, 3.151",\
"1.235, 1.262, 1.334, 1.441, 1.584, 1.776, 2.026, 2.34, 2.724, 3.182");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.001, 0.004498, 0.01678, 0.04023, 0.07676, 0.128, 0.1955, 0.2804, 0.3842, 0.5078");
values("0.9767, 1.006, 1.087, 1.221, 1.425, 1.714, 2.095, 2.576, 3.163, 3.863",\
"0.9837, 1.012, 1.094, 1.227, 1.432, 1.721, 2.102, 2.582, 3.169, 3.87",\
"1.011, 1.039, 1.12, 1.255, 1.459, 1.748, 2.129, 2.609, 3.197, 3.897",\
"1.065, 1.094, 1.175, 1.309, 1.513, 1.802, 2.183, 2.664, 3.251, 3.951",\
"1.131, 1.16, 1.241, 1.375, 1.58, 1.869, 2.25, 2.73, 3.318, 4.018",\
"1.193, 1.222, 1.303, 1.437, 1.642, 1.931, 2.312, 2.792, 3.38, 4.08",\
"1.252, 1.281, 1.362, 1.496, 1.701, 1.99, 2.37, 2.851, 3.438, 4.138",\
"1.306, 1.334, 1.415, 1.549, 1.754, 2.042, 2.423, 2.904, 3.491, 4.192",\
"1.351, 1.38, 1.461, 1.595, 1.8, 2.088, 2.469, 2.95, 3.537, 4.237",\
"1.388, 1.418, 1.498, 1.632, 1.837, 2.125, 2.507, 2.987, 3.574, 4.273");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.001, 0.004498, 0.01678, 0.04023, 0.07676, 0.128, 0.1955, 0.2804, 0.3842, 0.5078");
values("0.09138, 0.1177, 0.1925, 0.3183, 0.5192, 0.8154, 1.22, 1.732, 2.362, 3.11",\
"0.09148, 0.1174, 0.1927, 0.3186, 0.519, 0.8166, 1.219, 1.733, 2.36, 3.11",\
"0.09134, 0.1176, 0.1926, 0.3188, 0.5192, 0.8166, 1.219, 1.733, 2.36, 3.11",\
"0.0912, 0.1174, 0.1926, 0.3186, 0.5192, 0.8164, 1.219, 1.732, 2.362, 3.109",\
"0.0914, 0.1176, 0.1926, 0.3188, 0.5192, 0.8154, 1.22, 1.732, 2.361, 3.108",\
"0.0912, 0.1176, 0.1926, 0.3184, 0.5184, 0.8166, 1.219, 1.731, 2.361, 3.111",\
"0.0914, 0.1176, 0.1924, 0.3186, 0.5182, 0.8152, 1.219, 1.732, 2.361, 3.112",\
"0.0912, 0.1176, 0.1928, 0.319, 0.5186, 0.8154, 1.218, 1.732, 2.361, 3.107",\
"0.0914, 0.1176, 0.1926, 0.3188, 0.5182, 0.8166, 1.219, 1.732, 2.359, 3.106",\
"0.0912, 0.1178, 0.1926, 0.3188, 0.5194, 0.816, 1.219, 1.732, 2.359, 3.106");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.001, 0.004498, 0.01678, 0.04023, 0.07676, 0.128, 0.1955, 0.2804, 0.3842, 0.5078");
values("0.09932, 0.1314, 0.2384, 0.4468, 0.7976, 1.297, 1.954, 2.785, 3.797, 5.002",\
"0.0994, 0.1322, 0.238, 0.447, 0.7976, 1.297, 1.955, 2.783, 3.8, 5.008",\
"0.0994, 0.132, 0.2384, 0.447, 0.7962, 1.297, 1.954, 2.784, 3.799, 5.003",\
"0.0998, 0.1312, 0.2382, 0.4468, 0.796, 1.297, 1.955, 2.782, 3.798, 5.003",\
"0.0992, 0.1318, 0.2382, 0.447, 0.7976, 1.295, 1.954, 2.784, 3.797, 5.001",\
"0.0996, 0.1316, 0.2382, 0.4468, 0.796, 1.296, 1.953, 2.782, 3.796, 5.003",\
"0.099, 0.1318, 0.2384, 0.447, 0.7958, 1.295, 1.954, 2.785, 3.794, 5.007",\
"0.0996, 0.1312, 0.2384, 0.4472, 0.7966, 1.296, 1.954, 2.783, 3.793, 5.011",\
"0.0994, 0.1314, 0.2382, 0.447, 0.7962, 1.295, 1.952, 2.782, 3.794, 5.006",\
"0.0996, 0.1312, 0.2382, 0.447, 0.7968, 1.295, 1.955, 2.782, 3.792, 5.004");
}
}
}
}