blob: 87ed3d129c646dd5ff8567b02c14d46de3e38519 [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.00114066" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.001201725" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.001228545" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.001246275" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.001246275" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.003265 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 7 ;
min_period : 2.148 ;
min_pulse_width_high : 1.054 ;
min_pulse_width_low : 1.077 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.2343, 0.2338, 0.235, 0.2433, 0.2624, 0.2931, 0.3365, 0.3931, \
0.4636, 0.5483");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.1822, 0.1818, 0.1822, 0.1887, 0.2045, 0.2305, 0.2686, 0.3187, \
0.3816, 0.4576");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.2379, 0.2374, 0.2385, 0.2468, 0.266, 0.2966, 0.34, 0.3966, 0.4669, \
0.5515");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.1819, 0.1814, 0.182, 0.1884, 0.2044, 0.2306, 0.2684, 0.3188, \
0.3816, 0.4577");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("1.077");
}
rise_constraint(scalar) {
values("0.593");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.746");
}
rise_constraint(scalar) {
values("1.054");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("2.148");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("2.148");
}
}
}
pin(D) {
capacitance : 0.00238 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 7 ;
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.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.1307, 0.1301, 0.1295, 0.132, 0.1398, 0.1534, 0.1728, 0.1982, \
0.23, 0.2683");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.09026, 0.0905, 0.09117, 0.09425, 0.1006, 0.1111, 0.1262, 0.1463, \
0.1716, 0.2022");
}
}
internal_power() {
when : "CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.00755, 0.007542, 0.007552, 0.007545, 0.007558, 0.007545, 0.007558, \
0.007554, 0.007546, 0.007531");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("-0.004744, -0.004758, -0.004755, -0.004755, -0.004755, -0.004787, \
-0.0048, -0.004814, -0.004826, -0.004846");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.149, 0.154, 0.192, 0.259, 0.33, 0.391, 0.438, 0.466, 0.485, 0.483",\
"0.145, 0.151, 0.187, 0.255, 0.326, 0.388, 0.428, 0.46, 0.474, 0.475",\
"0.112, 0.119, 0.153, 0.217, 0.292, 0.353, 0.399, 0.429, 0.446, 0.451",\
"0.018, 0.029, 0.062, 0.13, 0.198, 0.262, 0.309, 0.341, 0.355, 0.364",\
"-0.134, -0.13, -0.094, -0.021, 0.05, 0.113, 0.163, 0.192, 0.207, 0.208",\
"-0.333, -0.328, -0.288, -0.225, -0.148, -0.089, -0.038, -0.01, 0.002, 0.005",\
"-0.571, -0.563, -0.526, -0.458, -0.39, -0.329, -0.286, -0.259, -0.245, -0.248",\
"-0.846, -0.844, -0.803, -0.748, -0.673, -0.613, -0.566, -0.544, -0.539, -0.547",\
"-1.179, -1.174, -1.132, -1.073, -0.999, -0.939, -0.898, -0.887, -0.878, -0.892",\
"-1.549, -1.549, -1.514, -1.454, -1.388, -1.328, -1.287, -1.273, -1.265, -1.278");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.069, 0.081, 0.114, 0.164, 0.216, 0.256, 0.284, 0.311, 0.309, 0.304",\
"0.058, 0.068, 0.106, 0.163, 0.208, 0.25, 0.279, 0.302, 0.309, 0.303",\
"0.044, 0.049, 0.084, 0.148, 0.197, 0.236, 0.264, 0.291, 0.297, 0.293",\
"0.026, 0.038, 0.072, 0.124, 0.181, 0.219, 0.252, 0.275, 0.284, 0.281",\
"0.031, 0.04, 0.075, 0.129, 0.179, 0.222, 0.248, 0.271, 0.277, 0.276",\
"0.062, 0.066, 0.1, 0.152, 0.2, 0.24, 0.267, 0.281, 0.286, 0.275",\
"0.122, 0.133, 0.171, 0.219, 0.261, 0.293, 0.318, 0.325, 0.326, 0.307",\
"0.244, 0.249, 0.283, 0.33, 0.368, 0.397, 0.411, 0.422, 0.406, 0.386",\
"0.404, 0.416, 0.451, 0.491, 0.53, 0.548, 0.554, 0.555, 0.541, 0.514",\
"0.628, 0.643, 0.675, 0.71, 0.739, 0.748, 0.75, 0.75, 0.723, 0.694");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.481, 0.476, 0.436, 0.359, 0.277, 0.207, 0.15, 0.108, 0.084, 0.081",\
"0.485, 0.482, 0.44, 0.365, 0.283, 0.214, 0.154, 0.121, 0.087, 0.084",\
"0.525, 0.513, 0.472, 0.401, 0.317, 0.244, 0.186, 0.145, 0.125, 0.121",\
"0.624, 0.616, 0.576, 0.494, 0.421, 0.341, 0.285, 0.247, 0.219, 0.215",\
"0.804, 0.791, 0.755, 0.677, 0.6, 0.527, 0.469, 0.423, 0.398, 0.398",\
"1.056, 1.049, 1.007, 0.937, 0.853, 0.785, 0.726, 0.681, 0.66, 0.653",\
"1.382, 1.373, 1.329, 1.259, 1.183, 1.11, 1.048, 1.003, 0.98, 0.972",\
"1.771, 1.76, 1.72, 1.651, 1.568, 1.498, 1.438, 1.397, 1.362, 1.357",\
"2.226, 2.216, 2.173, 2.099, 2.024, 1.944, 1.895, 1.843, 1.813, 1.805",\
"2.737, 2.727, 2.685, 2.61, 2.531, 2.456, 2.397, 2.356, 2.325, 2.316");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.487, 0.476, 0.436, 0.359, 0.271, 0.207, 0.15, 0.108, 0.097, 0.107",\
"0.492, 0.482, 0.445, 0.365, 0.283, 0.214, 0.161, 0.121, 0.106, 0.11",\
"0.525, 0.513, 0.472, 0.391, 0.317, 0.239, 0.186, 0.145, 0.132, 0.139",\
"0.576, 0.565, 0.526, 0.448, 0.359, 0.286, 0.236, 0.187, 0.176, 0.178",\
"0.608, 0.595, 0.557, 0.482, 0.398, 0.324, 0.27, 0.228, 0.212, 0.212",\
"0.622, 0.615, 0.571, 0.493, 0.403, 0.339, 0.277, 0.238, 0.221, 0.219",\
"0.598, 0.584, 0.549, 0.466, 0.381, 0.317, 0.252, 0.211, 0.196, 0.201",\
"0.534, 0.519, 0.48, 0.407, 0.314, 0.253, 0.189, 0.15, 0.135, 0.143",\
"0.42, 0.408, 0.378, 0.298, 0.207, 0.14, 0.084, 0.041, 0.032, 0.038",\
"0.261, 0.252, 0.214, 0.144, 0.052, -0.027, -0.078, -0.117, -0.126, -0.108");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.4952 ;
max_transition : 7 ;
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.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.001, 0.004411, 0.01638, 0.03925, 0.07487, 0.1248, 0.1906, 0.2735, 0.3746, 0.4952");
values("0.3173, 0.3096, 0.2959, 0.287, 0.2821, 0.2792, 0.2773, 0.2762, 0.2753, 0.2746",\
"0.3173, 0.3095, 0.2957, 0.287, 0.2821, 0.2792, 0.2774, 0.2761, 0.2753, 0.2745",\
"0.3174, 0.3095, 0.2957, 0.287, 0.2822, 0.2792, 0.2774, 0.2761, 0.2753, 0.2745",\
"0.3178, 0.31, 0.2961, 0.2875, 0.2826, 0.2797, 0.2778, 0.2765, 0.2758, 0.2751",\
"0.3186, 0.3109, 0.297, 0.2883, 0.2836, 0.2804, 0.2786, 0.2774, 0.2765, 0.2758",\
"0.32, 0.3121, 0.2983, 0.2898, 0.2848, 0.2817, 0.2799, 0.2787, 0.2779, 0.2773",\
"0.321, 0.3132, 0.2994, 0.2909, 0.286, 0.2829, 0.281, 0.2799, 0.2789, 0.2783",\
"0.3226, 0.3149, 0.3009, 0.2924, 0.2876, 0.2844, 0.2827, 0.2813, 0.2804, 0.2798",\
"0.3241, 0.3165, 0.3027, 0.294, 0.2892, 0.2862, 0.2842, 0.2829, 0.2822, 0.2815",\
"0.3261, 0.3182, 0.3043, 0.2958, 0.291, 0.288, 0.2861, 0.2847, 0.2839, 0.2832");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.001, 0.004411, 0.01638, 0.03925, 0.07487, 0.1248, 0.1906, 0.2735, 0.3746, 0.4952");
values("0.3216, 0.3134, 0.2994, 0.2883, 0.2817, 0.2786, 0.2777, 0.2781, 0.2795, 0.2818",\
"0.3216, 0.3134, 0.2995, 0.2887, 0.2821, 0.2789, 0.2782, 0.2782, 0.2791, 0.2832",\
"0.3214, 0.3131, 0.2992, 0.2883, 0.2819, 0.2786, 0.2779, 0.2781, 0.279, 0.2827",\
"0.3216, 0.3136, 0.2998, 0.289, 0.2825, 0.2794, 0.278, 0.2784, 0.2797, 0.2834",\
"0.3226, 0.3143, 0.3005, 0.2899, 0.283, 0.2807, 0.2798, 0.28, 0.2799, 0.2845",\
"0.3238, 0.3156, 0.3016, 0.2907, 0.2843, 0.2811, 0.2818, 0.2803, 0.2816, 0.2858",\
"0.3261, 0.3179, 0.304, 0.2935, 0.2868, 0.2834, 0.2827, 0.283, 0.2838, 0.2906",\
"0.3285, 0.3205, 0.307, 0.2947, 0.2888, 0.2873, 0.2863, 0.2852, 0.2859, 0.2951",\
"0.332, 0.3237, 0.3097, 0.2982, 0.2912, 0.2889, 0.2897, 0.2911, 0.2904, 0.301",\
"0.3358, 0.3276, 0.3141, 0.302, 0.2956, 0.2917, 0.2914, 0.2946, 0.2971, 0.3152");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.001, 0.004411, 0.01638, 0.03925, 0.07487, 0.1248, 0.1906, 0.2735, 0.3746, 0.4952");
values("1.181, 1.217, 1.314, 1.458, 1.648, 1.896, 2.214, 2.614, 3.102, 3.684",\
"1.19, 1.227, 1.324, 1.467, 1.657, 1.905, 2.224, 2.624, 3.111, 3.693",\
"1.227, 1.264, 1.36, 1.504, 1.694, 1.942, 2.26, 2.66, 3.148, 3.73",\
"1.3, 1.336, 1.433, 1.576, 1.767, 2.014, 2.333, 2.733, 3.221, 3.802",\
"1.383, 1.419, 1.516, 1.66, 1.85, 2.098, 2.416, 2.816, 3.304, 3.886",\
"1.458, 1.494, 1.591, 1.735, 1.925, 2.173, 2.491, 2.891, 3.379, 3.961",\
"1.523, 1.559, 1.656, 1.799, 1.99, 2.238, 2.556, 2.956, 3.444, 4.026",\
"1.573, 1.61, 1.707, 1.85, 2.04, 2.288, 2.607, 3.006, 3.494, 4.076",\
"1.608, 1.644, 1.741, 1.885, 2.075, 2.323, 2.642, 3.041, 3.529, 4.111",\
"1.624, 1.661, 1.757, 1.901, 2.091, 2.339, 2.658, 3.057, 3.545, 4.127");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.001, 0.004411, 0.01638, 0.03925, 0.07487, 0.1248, 0.1906, 0.2735, 0.3746, 0.4952");
values("1.37, 1.41, 1.521, 1.705, 1.979, 2.366, 2.876, 3.519, 4.306, 5.244",\
"1.38, 1.419, 1.53, 1.715, 1.989, 2.375, 2.886, 3.529, 4.315, 5.253",\
"1.416, 1.456, 1.567, 1.751, 2.025, 2.412, 2.922, 3.565, 4.351, 5.29",\
"1.489, 1.528, 1.639, 1.824, 2.098, 2.484, 2.995, 3.638, 4.424, 5.362",\
"1.574, 1.614, 1.725, 1.909, 2.183, 2.57, 3.08, 3.724, 4.509, 5.448",\
"1.652, 1.692, 1.803, 1.987, 2.261, 2.648, 3.158, 3.802, 4.588, 5.526",\
"1.722, 1.762, 1.873, 2.057, 2.331, 2.718, 3.228, 3.872, 4.658, 5.596",\
"1.78, 1.821, 1.932, 2.115, 2.39, 2.776, 3.286, 3.93, 4.716, 5.655",\
"1.824, 1.864, 1.976, 2.159, 2.434, 2.82, 3.33, 3.973, 4.759, 5.697",\
"1.852, 1.892, 2.003, 2.187, 2.461, 2.847, 3.357, 4.001, 4.787, 5.724");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.001, 0.004411, 0.01638, 0.03925, 0.07487, 0.1248, 0.1906, 0.2735, 0.3746, 0.4952");
values("0.1394, 0.175, 0.277, 0.4464, 0.7074, 1.091, 1.615, 2.286, 3.109, 4.09",\
"0.1396, 0.1754, 0.2766, 0.447, 0.7078, 1.089, 1.614, 2.284, 3.107, 4.097",\
"0.1396, 0.1756, 0.2768, 0.4476, 0.7078, 1.089, 1.614, 2.283, 3.111, 4.091",\
"0.1394, 0.1754, 0.277, 0.4472, 0.707, 1.09, 1.614, 2.283, 3.108, 4.092",\
"0.1392, 0.1756, 0.2766, 0.4478, 0.708, 1.09, 1.615, 2.283, 3.111, 4.093",\
"0.139, 0.1754, 0.276, 0.4474, 0.7082, 1.09, 1.613, 2.285, 3.111, 4.097",\
"0.1396, 0.1752, 0.2768, 0.447, 0.7072, 1.09, 1.613, 2.283, 3.109, 4.091",\
"0.139, 0.1754, 0.2766, 0.447, 0.7074, 1.09, 1.612, 2.282, 3.105, 4.093",\
"0.1392, 0.1754, 0.277, 0.4474, 0.7082, 1.089, 1.613, 2.282, 3.106, 4.088",\
"0.139, 0.1754, 0.277, 0.4474, 0.7078, 1.09, 1.612, 2.285, 3.11, 4.093");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.001, 0.004411, 0.01638, 0.03925, 0.07487, 0.1248, 0.1906, 0.2735, 0.3746, 0.4952");
values("0.155, 0.1996, 0.3518, 0.6432, 1.124, 1.821, 2.74, 3.897, 5.313, 7.008",\
"0.155, 0.2002, 0.3524, 0.6426, 1.124, 1.821, 2.743, 3.896, 5.31, 6.999",\
"0.1552, 0.2002, 0.3524, 0.6434, 1.125, 1.821, 2.743, 3.896, 5.309, 6.999",\
"0.1552, 0.1996, 0.3522, 0.6424, 1.124, 1.818, 2.741, 3.896, 5.316, 7.01",\
"0.1554, 0.2004, 0.3514, 0.6422, 1.125, 1.82, 2.741, 3.899, 5.313, 6.998",\
"0.1544, 0.2004, 0.3518, 0.6422, 1.125, 1.821, 2.739, 3.904, 5.321, 6.998",\
"0.1544, 0.1996, 0.3522, 0.6432, 1.125, 1.818, 2.739, 3.904, 5.322, 7.01",\
"0.1552, 0.2006, 0.352, 0.6432, 1.124, 1.819, 2.74, 3.903, 5.321, 7.002",\
"0.1546, 0.2006, 0.3516, 0.6424, 1.125, 1.821, 2.738, 3.897, 5.314, 7.002",\
"0.1554, 0.2008, 0.3524, 0.6426, 1.125, 1.82, 2.74, 3.898, 5.312, 7");
}
}
}
}