blob: a8e3a7a3335939264004d9128e31d2aafd39faec [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.0002496351" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.0002546511" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.0002134473" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.0002114079" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.0002546511" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.003401 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 8.6 ;
min_period : 1.461 ;
min_pulse_width_high : 0.604 ;
min_pulse_width_low : 0.728 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.1313, 0.1308, 0.1314, 0.1372, 0.1494, 0.1683, 0.1949, 0.2297, \
0.2732, 0.3254");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.08396, 0.08368, 0.08418, 0.08896, 0.09883, 0.1152, 0.1385, 0.1691, \
0.2074, 0.2535");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.1312, 0.1308, 0.1314, 0.1372, 0.1493, 0.1682, 0.1949, 0.2297, \
0.2731, 0.3253");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.08409, 0.08377, 0.08431, 0.08908, 0.09892, 0.1153, 0.1386, 0.1693, \
0.2075, 0.2536");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.655");
}
rise_constraint(scalar) {
values("0.604");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.728");
}
rise_constraint(scalar) {
values("0.518");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("1.366");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("1.461");
}
}
}
pin(D) {
capacitance : 0.002369 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 8.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.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.02498, 0.02445, 0.02618, 0.03154, 0.0411, 0.05512, 0.07415, \
0.09844, 0.1284, 0.1643");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.002809, 0.002598, 0.003591, 0.007613, 0.01538, 0.02718, 0.04329, \
0.06394, 0.08946, 0.1201");
}
}
internal_power() {
when : "CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.08556, 0.08526, 0.08616, 0.09077, 0.1, 0.1141, 0.1339, 0.1595, \
0.1914, 0.2298");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.05571, 0.05557, 0.05645, 0.06008, 0.06716, 0.07852, 0.09447, \
0.1155, 0.1419, 0.1738");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.057, 0.076, 0.136, 0.244, 0.353, 0.503, 0.664, 0.856, 1.078, 1.33",\
"0.046, 0.063, 0.118, 0.218, 0.34, 0.483, 0.647, 0.84, 1.06, 1.309",\
"-0.023, -0.006, 0.047, 0.149, 0.269, 0.411, 0.574, 0.765, 0.983, 1.238",\
"-0.153, -0.131, -0.079, 0.023, 0.137, 0.279, 0.445, 0.63, 0.845, 1.094",\
"-0.315, -0.294, -0.243, -0.142, -0.033, 0.109, 0.268, 0.449, 0.669, 0.91",\
"-0.514, -0.495, -0.443, -0.344, -0.24, -0.103, 0.049, 0.233, 0.444, 0.685",\
"-0.748, -0.733, -0.682, -0.585, -0.49, -0.359, -0.202, -0.022, 0.18, 0.418",\
"-1.027, -1.013, -0.963, -0.876, -0.775, -0.646, -0.504, -0.332, -0.125, 0.113",\
"-1.348, -1.334, -1.281, -1.194, -1.105, -0.989, -0.848, -0.679, -0.475, -0.244",\
"-1.709, -1.692, -1.645, -1.569, -1.487, -1.37, -1.238, -1.07, -0.873, -0.649");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.223, 0.24, 0.307, 0.434, 0.591, 0.768, 0.985, 1.222, 1.484, 1.783",\
"0.21, 0.23, 0.29, 0.42, 0.572, 0.76, 0.972, 1.21, 1.478, 1.771",\
"0.181, 0.196, 0.26, 0.38, 0.539, 0.724, 0.936, 1.175, 1.446, 1.737",\
"0.165, 0.177, 0.24, 0.368, 0.523, 0.703, 0.915, 1.157, 1.421, 1.715",\
"0.176, 0.185, 0.253, 0.369, 0.532, 0.714, 0.92, 1.16, 1.426, 1.72",\
"0.217, 0.23, 0.291, 0.416, 0.574, 0.75, 0.958, 1.193, 1.46, 1.752",\
"0.305, 0.313, 0.377, 0.494, 0.648, 0.827, 1.034, 1.266, 1.533, 1.824",\
"0.436, 0.45, 0.504, 0.62, 0.765, 0.937, 1.145, 1.379, 1.644, 1.94",\
"0.625, 0.641, 0.688, 0.807, 0.939, 1.102, 1.303, 1.536, 1.797, 2.088",\
"0.878, 0.886, 0.934, 1.037, 1.158, 1.32, 1.516, 1.739, 2.001, 2.282");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.418, 0.409, 0.331, 0.22, 0.087, -0.071, -0.251, -0.461, -0.696, -0.954",\
"0.438, 0.421, 0.35, 0.245, 0.1, -0.059, -0.236, -0.446, -0.675, -0.943",\
"0.506, 0.491, 0.417, 0.309, 0.175, 0.017, -0.166, -0.373, -0.602, -0.868",\
"0.653, 0.633, 0.561, 0.452, 0.307, 0.153, -0.026, -0.242, -0.469, -0.735",\
"0.844, 0.834, 0.756, 0.644, 0.505, 0.346, 0.155, -0.049, -0.281, -0.547",\
"1.09, 1.078, 1.005, 0.893, 0.749, 0.583, 0.396, 0.188, -0.051, -0.31",\
"1.39, 1.384, 1.299, 1.185, 1.04, 0.871, 0.686, 0.471, 0.233, -0.025",\
"1.753, 1.735, 1.659, 1.538, 1.39, 1.219, 1.022, 0.807, 0.57, 0.31",\
"2.16, 2.152, 2.067, 1.946, 1.786, 1.612, 1.415, 1.198, 0.957, 0.695",\
"2.631, 2.62, 2.542, 2.415, 2.245, 2.063, 1.867, 1.645, 1.404, 1.131");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.218, 0.204, 0.138, 0.02, -0.129, -0.324, -0.529, -0.785, -1.054, -1.371",\
"0.233, 0.222, 0.154, 0.033, -0.116, -0.306, -0.527, -0.768, -1.045, -1.351",\
"0.275, 0.26, 0.197, 0.077, -0.077, -0.258, -0.474, -0.727, -1.008, -1.318",\
"0.335, 0.315, 0.248, 0.123, -0.036, -0.221, -0.435, -0.676, -0.958, -1.267",\
"0.36, 0.348, 0.278, 0.153, 0, -0.188, -0.399, -0.641, -0.925, -1.237",\
"0.376, 0.359, 0.29, 0.162, 0.004, -0.189, -0.399, -0.646, -0.921, -1.235",\
"0.352, 0.338, 0.266, 0.146, -0.024, -0.207, -0.42, -0.67, -0.949, -1.26",\
"0.296, 0.284, 0.211, 0.082, -0.076, -0.272, -0.481, -0.732, -1.009, -1.317",\
"0.202, 0.185, 0.114, -0.012, -0.182, -0.368, -0.582, -0.834, -1.113, -1.422",\
"0.059, 0.046, -0.027, -0.159, -0.323, -0.511, -0.73, -0.972, -1.244, -1.56");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 1.289 ;
max_transition : 8.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.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
index_2("0.001, 0.009891, 0.0411, 0.1007, 0.1936, 0.3238, 0.4953, 0.7113, 0.9749, 1.289");
values("0.3286, 0.3174, 0.3003, 0.2918, 0.2871, 0.2845, 0.2829, 0.2819, 0.2812, 0.2806",\
"0.3286, 0.3172, 0.3003, 0.2917, 0.287, 0.2845, 0.2829, 0.2818, 0.2811, 0.2806",\
"0.3285, 0.3171, 0.3002, 0.2916, 0.287, 0.2845, 0.2829, 0.2818, 0.281, 0.2806",\
"0.329, 0.3177, 0.3006, 0.292, 0.2874, 0.2849, 0.2833, 0.2822, 0.2815, 0.2809",\
"0.3302, 0.3189, 0.302, 0.2933, 0.2886, 0.286, 0.2844, 0.2834, 0.2826, 0.2821",\
"0.3316, 0.3205, 0.3036, 0.2947, 0.2901, 0.2875, 0.2858, 0.2848, 0.284, 0.2835",\
"0.3341, 0.3227, 0.3055, 0.2969, 0.2923, 0.2895, 0.2879, 0.2868, 0.2861, 0.2856",\
"0.3367, 0.3254, 0.3083, 0.2997, 0.2948, 0.2921, 0.2904, 0.2894, 0.2886, 0.2881",\
"0.34, 0.3286, 0.3114, 0.3024, 0.2977, 0.295, 0.2933, 0.2923, 0.2915, 0.291",\
"0.344, 0.3326, 0.3151, 0.3061, 0.3012, 0.2986, 0.2968, 0.2958, 0.295, 0.2945");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
index_2("0.001, 0.009891, 0.0411, 0.1007, 0.1936, 0.3238, 0.4953, 0.7113, 0.9749, 1.289");
values("0.3637, 0.3581, 0.3503, 0.347, 0.3463, 0.3479, 0.3494, 0.3519, 0.3552, 0.3712",\
"0.3636, 0.3578, 0.3498, 0.3465, 0.3459, 0.3477, 0.3495, 0.3514, 0.355, 0.369",\
"0.3639, 0.3582, 0.3503, 0.347, 0.3462, 0.3477, 0.3506, 0.3527, 0.3551, 0.3726",\
"0.3647, 0.3589, 0.3512, 0.3478, 0.3479, 0.3489, 0.3504, 0.3532, 0.3556, 0.3749",\
"0.3663, 0.3603, 0.3527, 0.3494, 0.3492, 0.3503, 0.3521, 0.3536, 0.3582, 0.3789",\
"0.3678, 0.3621, 0.3548, 0.3512, 0.3505, 0.3522, 0.3537, 0.357, 0.3592, 0.3875",\
"0.3702, 0.3647, 0.3568, 0.3536, 0.3537, 0.3549, 0.3574, 0.3594, 0.3634, 0.4022",\
"0.3726, 0.3674, 0.36, 0.3554, 0.3569, 0.359, 0.3598, 0.3618, 0.3674, 0.4229",\
"0.3761, 0.3707, 0.3631, 0.3591, 0.3583, 0.3598, 0.3653, 0.3667, 0.3753, 0.4624",\
"0.3791, 0.3738, 0.3658, 0.3624, 0.361, 0.3617, 0.3649, 0.3733, 0.3911, 0.5356");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
index_2("0.001, 0.009891, 0.0411, 0.1007, 0.1936, 0.3238, 0.4953, 0.7113, 0.9749, 1.289");
values("0.9739, 1.018, 1.128, 1.283, 1.479, 1.728, 2.048, 2.448, 2.936, 3.518",\
"0.9908, 1.034, 1.145, 1.3, 1.495, 1.745, 2.065, 2.465, 2.952, 3.534",\
"1.057, 1.1, 1.211, 1.366, 1.561, 1.811, 2.131, 2.531, 3.019, 3.6",\
"1.186, 1.229, 1.339, 1.495, 1.69, 1.94, 2.26, 2.659, 3.147, 3.729",\
"1.354, 1.398, 1.508, 1.663, 1.859, 2.108, 2.428, 2.828, 3.316, 3.897",\
"1.549, 1.593, 1.703, 1.859, 2.054, 2.304, 2.624, 3.023, 3.511, 4.093",\
"1.775, 1.819, 1.929, 2.084, 2.28, 2.53, 2.849, 3.249, 3.737, 4.319",\
"2.028, 2.072, 2.182, 2.338, 2.533, 2.783, 3.103, 3.503, 3.99, 4.572",\
"2.31, 2.354, 2.464, 2.62, 2.815, 3.065, 3.385, 3.785, 4.272, 4.855",\
"2.62, 2.664, 2.774, 2.929, 3.125, 3.375, 3.694, 4.094, 4.582, 5.163");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
index_2("0.001, 0.009891, 0.0411, 0.1007, 0.1936, 0.3238, 0.4953, 0.7113, 0.9749, 1.289");
values("1.094, 1.138, 1.266, 1.491, 1.839, 2.328, 2.973, 3.785, 4.776, 5.959",\
"1.111, 1.155, 1.282, 1.507, 1.855, 2.345, 2.989, 3.801, 4.791, 5.973",\
"1.177, 1.221, 1.349, 1.574, 1.922, 2.411, 3.055, 3.868, 4.859, 6.039",\
"1.308, 1.352, 1.479, 1.704, 2.053, 2.542, 3.187, 3.998, 4.989, 6.173",\
"1.482, 1.526, 1.654, 1.879, 2.227, 2.716, 3.36, 4.173, 5.163, 6.344",\
"1.685, 1.728, 1.856, 2.081, 2.429, 2.919, 3.563, 4.375, 5.366, 6.549",\
"1.919, 1.963, 2.09, 2.316, 2.664, 3.154, 3.798, 4.61, 5.602, 6.783",\
"2.183, 2.228, 2.355, 2.58, 2.929, 3.418, 4.062, 4.874, 5.866, 7.05",\
"2.477, 2.521, 2.648, 2.873, 3.222, 3.711, 4.355, 5.166, 6.157, 7.338",\
"2.796, 2.84, 2.967, 3.192, 3.54, 4.03, 4.674, 5.487, 6.476, 7.657");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
index_2("0.001, 0.009891, 0.0411, 0.1007, 0.1936, 0.3238, 0.4953, 0.7113, 0.9749, 1.289");
values("0.1414, 0.181, 0.2898, 0.4576, 0.7078, 1.083, 1.598, 2.265, 3.085, 4.065",\
"0.141, 0.181, 0.2898, 0.4578, 0.709, 1.084, 1.599, 2.265, 3.083, 4.064",\
"0.1408, 0.1806, 0.2898, 0.4576, 0.7092, 1.084, 1.599, 2.266, 3.085, 4.065",\
"0.1414, 0.181, 0.2896, 0.4578, 0.7076, 1.084, 1.598, 2.265, 3.085, 4.062",\
"0.141, 0.1812, 0.2902, 0.4584, 0.7088, 1.084, 1.599, 2.266, 3.085, 4.06",\
"0.1408, 0.1812, 0.2902, 0.4576, 0.7094, 1.083, 1.599, 2.266, 3.083, 4.062",\
"0.1416, 0.1814, 0.29, 0.458, 0.7084, 1.083, 1.599, 2.266, 3.085, 4.063",\
"0.1416, 0.1816, 0.2904, 0.458, 0.708, 1.084, 1.599, 2.262, 3.08, 4.06",\
"0.1416, 0.1828, 0.2908, 0.4586, 0.7086, 1.082, 1.598, 2.265, 3.08, 4.055",\
"0.1422, 0.1822, 0.2908, 0.4588, 0.7086, 1.083, 1.6, 2.264, 3.082, 4.056");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
index_2("0.001, 0.009891, 0.0411, 0.1007, 0.1936, 0.3238, 0.4953, 0.7113, 0.9749, 1.289");
values("0.1204, 0.1764, 0.3616, 0.743, 1.356, 2.22, 3.352, 4.785, 6.532, 8.624",\
"0.121, 0.1764, 0.362, 0.743, 1.356, 2.22, 3.359, 4.787, 6.536, 8.62",\
"0.121, 0.176, 0.3616, 0.7428, 1.356, 2.22, 3.354, 4.783, 6.536, 8.62",\
"0.1206, 0.1758, 0.3618, 0.7438, 1.356, 2.216, 3.359, 4.785, 6.533, 8.621",\
"0.1208, 0.1762, 0.3614, 0.743, 1.356, 2.22, 3.359, 4.787, 6.536, 8.616",\
"0.12, 0.176, 0.3618, 0.7436, 1.356, 2.22, 3.359, 4.784, 6.537, 8.621",\
"0.1198, 0.1752, 0.3616, 0.7436, 1.354, 2.219, 3.352, 4.786, 6.535, 8.623",\
"0.1202, 0.1758, 0.3618, 0.7434, 1.355, 2.219, 3.355, 4.784, 6.535, 8.62",\
"0.1196, 0.1748, 0.3618, 0.7428, 1.356, 2.22, 3.351, 4.786, 6.53, 8.62",\
"0.1198, 0.1752, 0.3614, 0.7428, 1.354, 2.218, 3.356, 4.783, 6.532, 8.622");
}
}
}
}