blob: bcd7941d502bfd61a61019ddf08061d872a7910f [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_4) {
area : 83.417600 ;
ff(IQ1,IQN1) {
clocked_on : "(!CLKN)" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&!D" ;
value : "0.00079908" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.00081606" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.00074559" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.00076668" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.00081606" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.003409 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 15.6 ;
min_period : 2.94 ;
min_pulse_width_high : 1.272 ;
min_pulse_width_low : 1.465 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.1118, 0.1114, 0.1113, 0.1139, 0.1203, 0.1306, 0.1453, 0.1647, \
0.1891, 0.2187");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.07169, 0.07145, 0.0714, 0.07351, 0.07856, 0.08734, 0.1002, 0.1174, \
0.1391, 0.1654");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.1118, 0.1114, 0.1113, 0.1138, 0.1203, 0.1306, 0.1453, 0.1646, \
0.1891, 0.2186");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.07178, 0.07157, 0.07145, 0.07358, 0.07862, 0.08738, 0.1003, \
0.1175, 0.1391, 0.1656");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("1.331");
}
rise_constraint(scalar) {
values("1.272");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("1.465");
}
rise_constraint(scalar) {
values("1.016");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("2.812");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("2.94");
}
}
}
pin(D) {
capacitance : 0.00232 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 15.6 ;
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.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.02125, 0.02062, 0.02129, 0.02426, 0.02973, 0.03793, 0.04912, \
0.06346, 0.08114, 0.1024");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.002803, 0.002569, 0.002899, 0.004956, 0.009301, 0.01609, 0.02548, \
0.03763, 0.05267, 0.07079");
}
}
internal_power() {
when : "CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.07162, 0.07127, 0.07154, 0.07381, 0.07904, 0.08711, 0.09837, \
0.1131, 0.1316, 0.154");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.04661, 0.04644, 0.04677, 0.04861, 0.0524, 0.05865, 0.06765, \
0.07962, 0.09474, 0.1132");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
index_2("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.097, 0.134, 0.242, 0.456, 0.682, 0.947, 1.262, 1.617, 2.03, 2.494",\
"0.067, 0.097, 0.211, 0.423, 0.653, 0.915, 1.234, 1.589, 2, 2.468",\
"-0.071, -0.035, 0.078, 0.29, 0.514, 0.779, 1.098, 1.45, 1.859, 2.326",\
"-0.321, -0.286, -0.177, 0.032, 0.262, 0.525, 0.84, 1.191, 1.596, 2.057",\
"-0.633, -0.602, -0.492, -0.29, -0.064, 0.193, 0.501, 0.854, 1.258, 1.714",\
"-1.015, -0.981, -0.873, -0.67, -0.453, -0.199, 0.1, 0.455, 0.853, 1.301",\
"-1.468, -1.436, -1.328, -1.129, -0.924, -0.678, -0.38, -0.031, 0.362, 0.811",\
"-1.998, -1.965, -1.858, -1.664, -1.472, -1.235, -0.937, -0.6, -0.205, 0.24",\
"-2.604, -2.572, -2.471, -2.282, -2.095, -1.865, -1.584, -1.249, -0.86, -0.424",\
"-3.295, -3.256, -3.16, -2.979, -2.808, -2.595, -2.309, -1.983, -1.603, -1.171");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
index_2("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.452, 0.49, 0.612, 0.852, 1.164, 1.519, 1.91, 2.357, 2.858, 3.416",\
"0.423, 0.458, 0.582, 0.832, 1.135, 1.487, 1.885, 2.328, 2.828, 3.386",\
"0.351, 0.386, 0.508, 0.758, 1.063, 1.412, 1.812, 2.258, 2.757, 3.313",\
"0.31, 0.336, 0.468, 0.707, 1.009, 1.363, 1.761, 2.203, 2.702, 3.254",\
"0.312, 0.342, 0.465, 0.71, 1.006, 1.358, 1.752, 2.195, 2.694, 3.246",\
"0.376, 0.405, 0.53, 0.764, 1.064, 1.417, 1.801, 2.247, 2.745, 3.29",\
"0.505, 0.541, 0.663, 0.899, 1.185, 1.53, 1.919, 2.357, 2.849, 3.398",\
"0.728, 0.763, 0.88, 1.106, 1.382, 1.721, 2.105, 2.54, 3.029, 3.574",\
"1.05, 1.086, 1.197, 1.401, 1.672, 1.995, 2.369, 2.797, 3.286, 3.831",\
"1.49, 1.523, 1.626, 1.813, 2.048, 2.357, 2.719, 3.144, 3.624, 4.157");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
index_2("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.922, 0.888, 0.744, 0.522, 0.244, -0.058, -0.408, -0.81, -1.251, -1.75",\
"0.954, 0.917, 0.773, 0.549, 0.272, -0.03, -0.38, -0.778, -1.222, -1.719",\
"1.086, 1.053, 0.909, 0.684, 0.414, 0.101, -0.241, -0.643, -1.086, -1.587",\
"1.355, 1.318, 1.179, 0.949, 0.683, 0.371, 0.021, -0.38, -0.826, -1.321",\
"1.738, 1.707, 1.567, 1.333, 1.059, 0.75, 0.393, -0.006, -0.456, -0.956",\
"2.22, 2.185, 2.045, 1.807, 1.527, 1.208, 0.85, 0.446, -0.011, -0.513",\
"2.786, 2.754, 2.605, 2.367, 2.07, 1.748, 1.387, 0.981, 0.522, 0.016",\
"3.447, 3.409, 3.259, 3.014, 2.721, 2.39, 2.017, 1.603, 1.143, 0.635",\
"4.218, 4.186, 4.032, 3.777, 3.471, 3.139, 2.754, 2.333, 1.873, 1.355",\
"5.1, 5.064, 4.906, 4.651, 4.324, 3.98, 3.597, 3.172, 2.697, 2.185");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
index_2("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.418, 0.392, 0.262, 0.026, -0.281, -0.641, -1.063, -1.534, -2.065, -2.662",\
"0.451, 0.419, 0.293, 0.055, -0.255, -0.612, -1.031, -1.511, -2.05, -2.628",\
"0.531, 0.506, 0.371, 0.132, -0.171, -0.526, -0.947, -1.428, -1.955, -2.546",\
"0.647, 0.62, 0.486, 0.242, -0.064, -0.429, -0.839, -1.315, -1.853, -2.443",\
"0.732, 0.698, 0.565, 0.316, 0, -0.346, -0.762, -1.235, -1.765, -2.354",\
"0.769, 0.738, 0.603, 0.354, 0.04, -0.323, -0.732, -1.197, -1.724, -2.321",\
"0.754, 0.724, 0.59, 0.331, 0.016, -0.342, -0.754, -1.215, -1.754, -2.335",\
"0.674, 0.645, 0.511, 0.256, -0.067, -0.423, -0.833, -1.307, -1.837, -2.42",\
"0.529, 0.492, 0.356, 0.101, -0.219, -0.581, -0.987, -1.459, -1.986, -2.568",\
"0.307, 0.266, 0.129, -0.13, -0.447, -0.809, -1.22, -1.682, -2.215, -2.793");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 1.26 ;
max_transition : 15.6 ;
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.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
index_2("0.001, 0.009689, 0.04019, 0.09843, 0.1892, 0.3165, 0.484, 0.6951, 0.9527, 1.26");
values("0.2575, 0.2507, 0.2423, 0.2384, 0.2364, 0.2354, 0.2348, 0.2344, 0.2342, 0.234",\
"0.2575, 0.2508, 0.2424, 0.2384, 0.2365, 0.2355, 0.2349, 0.2345, 0.2342, 0.2341",\
"0.2574, 0.2507, 0.2422, 0.2384, 0.2365, 0.2354, 0.2348, 0.2344, 0.2342, 0.2339",\
"0.2575, 0.2509, 0.2424, 0.2386, 0.2365, 0.2356, 0.2349, 0.2345, 0.2343, 0.2341",\
"0.2581, 0.2513, 0.2428, 0.239, 0.2371, 0.236, 0.2354, 0.235, 0.2348, 0.2346",\
"0.259, 0.2523, 0.2437, 0.2398, 0.2379, 0.2369, 0.2362, 0.2358, 0.2356, 0.2353",\
"0.26, 0.2532, 0.2448, 0.2407, 0.2388, 0.2378, 0.2371, 0.2368, 0.2365, 0.2362",\
"0.2614, 0.2545, 0.2459, 0.242, 0.2401, 0.2391, 0.2385, 0.238, 0.2377, 0.2373",\
"0.263, 0.2562, 0.2474, 0.2435, 0.2415, 0.2405, 0.2398, 0.2394, 0.2391, 0.2384",\
"0.2648, 0.2579, 0.2492, 0.2452, 0.2432, 0.2422, 0.2415, 0.241, 0.2404, 0.2381");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
index_2("0.001, 0.009689, 0.04019, 0.09843, 0.1892, 0.3165, 0.484, 0.6951, 0.9527, 1.26");
values("0.2998, 0.2969, 0.2927, 0.2919, 0.2927, 0.2949, 0.2967, 0.3106, 0.428, 0.9243",\
"0.2998, 0.2968, 0.2926, 0.2916, 0.2928, 0.295, 0.2971, 0.3097, 0.4301, 0.9321",\
"0.2998, 0.2969, 0.2927, 0.2915, 0.2928, 0.2945, 0.2966, 0.3114, 0.4437, 0.9743",\
"0.3004, 0.2974, 0.2934, 0.2925, 0.2933, 0.2953, 0.2974, 0.3155, 0.4689, 1.055",\
"0.3016, 0.2986, 0.2944, 0.2937, 0.2949, 0.2963, 0.2993, 0.3245, 0.5162, 1.193",\
"0.3027, 0.3, 0.2959, 0.2949, 0.2959, 0.2989, 0.3012, 0.3403, 0.5968, 1.402",\
"0.3042, 0.3012, 0.2967, 0.2966, 0.2976, 0.2991, 0.3041, 0.3707, 0.7385, 1.702",\
"0.3062, 0.3029, 0.2985, 0.2976, 0.2992, 0.3024, 0.3133, 0.4401, 0.9917, 2.126",\
"0.3078, 0.3046, 0.3004, 0.2999, 0.3002, 0.3036, 0.3412, 0.6067, 1.413, 2.632",\
"0.3098, 0.3067, 0.3025, 0.3022, 0.3025, 0.3101, 0.4378, 1.001, 2.01, 3.048");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
index_2("0.001, 0.009689, 0.04019, 0.09843, 0.1892, 0.3165, 0.484, 0.6951, 0.9527, 1.26");
values("1.943, 2.023, 2.224, 2.505, 2.852, 3.287, 3.837, 4.522, 5.357, 6.351",\
"1.977, 2.057, 2.259, 2.539, 2.886, 3.321, 3.871, 4.556, 5.391, 6.385",\
"2.106, 2.186, 2.387, 2.668, 3.015, 3.45, 4, 4.685, 5.519, 6.514",\
"2.357, 2.437, 2.639, 2.919, 3.266, 3.702, 4.252, 4.936, 5.771, 6.765",\
"2.692, 2.772, 2.973, 3.254, 3.6, 4.036, 4.586, 5.271, 6.105, 7.099",\
"3.067, 3.147, 3.349, 3.629, 3.976, 4.412, 4.962, 5.647, 6.481, 7.475",\
"3.491, 3.571, 3.773, 4.053, 4.4, 4.836, 5.386, 6.071, 6.905, 7.9",\
"3.969, 4.049, 4.251, 4.532, 4.879, 5.314, 5.865, 6.55, 7.384, 8.376",\
"4.5, 4.58, 4.782, 5.062, 5.409, 5.845, 6.395, 7.08, 7.914, 8.908",\
"5.084, 5.164, 5.366, 5.647, 5.994, 6.43, 6.98, 7.664, 8.499, 9.494");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
index_2("0.001, 0.009689, 0.04019, 0.09843, 0.1892, 0.3165, 0.484, 0.6951, 0.9527, 1.26");
values("2.202, 2.287, 2.525, 2.936, 3.568, 4.452, 5.616, 7.082, 8.87, 11.01",\
"2.236, 2.32, 2.558, 2.969, 3.601, 4.486, 5.65, 7.115, 8.904, 11.04",\
"2.365, 2.45, 2.688, 3.098, 3.73, 4.615, 5.779, 7.244, 9.035, 11.17",\
"2.62, 2.704, 2.942, 3.354, 3.985, 4.87, 6.033, 7.499, 9.288, 11.42",\
"2.964, 3.049, 3.287, 3.698, 4.33, 5.215, 6.378, 7.843, 9.634, 11.77",\
"3.354, 3.438, 3.676, 4.088, 4.719, 5.604, 6.768, 8.233, 10.02, 12.16",\
"3.794, 3.878, 4.115, 4.527, 5.158, 6.044, 7.208, 8.674, 10.46, 12.59",\
"4.29, 4.373, 4.611, 5.022, 5.655, 6.539, 7.702, 9.17, 10.96, 13.09",\
"4.839, 4.924, 5.161, 5.573, 6.204, 7.089, 8.252, 9.717, 11.51, 13.64",\
"5.443, 5.528, 5.765, 6.177, 6.808, 7.693, 8.856, 10.32, 12.11, 14.24");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
index_2("0.001, 0.009689, 0.04019, 0.09843, 0.1892, 0.3165, 0.484, 0.6951, 0.9527, 1.26");
values("0.2616, 0.3334, 0.5322, 0.83, 1.265, 1.907, 2.793, 3.943, 5.359, 7.053",\
"0.2614, 0.3334, 0.5322, 0.8304, 1.265, 1.909, 2.795, 3.94, 5.358, 7.051",\
"0.261, 0.3334, 0.5318, 0.8306, 1.266, 1.907, 2.792, 3.943, 5.36, 7.055",\
"0.2614, 0.334, 0.5316, 0.8304, 1.266, 1.906, 2.792, 3.943, 5.354, 7.053",\
"0.2614, 0.3336, 0.5324, 0.8304, 1.265, 1.906, 2.791, 3.943, 5.36, 7.054",\
"0.2614, 0.3342, 0.532, 0.8308, 1.267, 1.908, 2.796, 3.944, 5.355, 7.055",\
"0.2618, 0.334, 0.5324, 0.8308, 1.265, 1.908, 2.794, 3.944, 5.36, 7.054",\
"0.2624, 0.335, 0.5324, 0.831, 1.267, 1.908, 2.796, 3.942, 5.352, 7.05",\
"0.262, 0.336, 0.532, 0.83, 1.266, 1.906, 2.794, 3.938, 5.35, 7.038",\
"0.264, 0.334, 0.534, 0.832, 1.268, 1.908, 2.794, 3.94, 5.358, 7.05");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
index_2("0.001, 0.009689, 0.04019, 0.09843, 0.1892, 0.3165, 0.484, 0.6951, 0.9527, 1.26");
values("0.2376, 0.34, 0.673, 1.358, 2.459, 4.016, 6.072, 8.659, 11.82, 15.59",\
"0.2376, 0.3396, 0.6726, 1.359, 2.462, 4.015, 6.073, 8.657, 11.82, 15.59",\
"0.2376, 0.3394, 0.6736, 1.358, 2.462, 4.023, 6.079, 8.656, 11.84, 15.61",\
"0.2386, 0.3394, 0.6728, 1.358, 2.461, 4.018, 6.074, 8.659, 11.81, 15.58",\
"0.2384, 0.34, 0.672, 1.358, 2.462, 4.022, 6.075, 8.658, 11.81, 15.57",\
"0.2372, 0.3398, 0.6714, 1.358, 2.459, 4.021, 6.08, 8.656, 11.82, 15.58",\
"0.2382, 0.3396, 0.6722, 1.358, 2.461, 4.021, 6.079, 8.658, 11.82, 15.58",\
"0.2376, 0.3384, 0.6714, 1.359, 2.462, 4.018, 6.074, 8.652, 11.84, 15.59",\
"0.238, 0.338, 0.672, 1.358, 2.46, 4.016, 6.07, 8.66, 11.83, 15.58",\
"0.238, 0.34, 0.672, 1.358, 2.462, 4.016, 6.068, 8.656, 11.81, 15.57");
}
}
}
}