blob: c39a9b685cca5c2caf2029a30d9b40e2abd69ff7 [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_2) {
area : 72.441600 ;
ff(IQ1,IQN1) {
clocked_on : "(!CLKN)" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&!D" ;
value : "0.01045296" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.0109404" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.00783792" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.01089036" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.0109404" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.003449 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 7.4 ;
min_period : 1.107 ;
min_pulse_width_high : 0.509 ;
min_pulse_width_low : 0.543 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.1602, 0.1599, 0.1638, 0.1796, 0.2104, 0.2574, 0.3214, 0.4032, \
0.5036, 0.6235");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.1025, 0.1023, 0.1054, 0.1189, 0.1448, 0.1853, 0.2411, 0.3129, \
0.4015, 0.5078");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.1599, 0.1596, 0.1634, 0.1794, 0.2101, 0.2571, 0.321, 0.4028, \
0.5032, 0.623");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.1027, 0.1025, 0.1056, 0.119, 0.145, 0.1855, 0.2413, 0.3131, \
0.4018, 0.5079");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.48");
}
rise_constraint(scalar) {
values("0.509");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.543");
}
rise_constraint(scalar) {
values("0.424");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("1.036");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("1.107");
}
}
}
pin(D) {
capacitance : 0.002459 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 7.4 ;
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.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.0311, 0.03101, 0.03581, 0.0484, 0.06987, 0.101, 0.1426, 0.1954, \
0.2602, 0.3376");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.003272, 0.003346, 0.006621, 0.01653, 0.03426, 0.06055, 0.09598, \
0.1412, 0.1966, 0.263");
}
}
internal_power() {
when : "CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.111, 0.111, 0.1144, 0.1261, 0.1487, 0.183, 0.2297, 0.2893, 0.3624, \
0.4495");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.07155, 0.07164, 0.07463, 0.08417, 0.1019, 0.1292, 0.1669, 0.2155, \
0.276, 0.3485");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.074, 0.088, 0.136, 0.219, 0.311, 0.43, 0.571, 0.733, 0.92, 1.14",\
"0.059, 0.076, 0.12, 0.204, 0.3, 0.417, 0.555, 0.718, 0.911, 1.126",\
"-0.001, 0.012, 0.064, 0.143, 0.237, 0.353, 0.491, 0.652, 0.844, 1.061",\
"-0.105, -0.092, -0.045, 0.034, 0.125, 0.236, 0.369, 0.528, 0.716, 0.926",\
"-0.245, -0.232, -0.183, -0.106, -0.024, 0.079, 0.212, 0.363, 0.538, 0.75",\
"-0.41, -0.397, -0.354, -0.282, -0.21, -0.104, 0.013, 0.158, 0.33, 0.53",\
"-0.608, -0.593, -0.547, -0.492, -0.421, -0.329, -0.217, -0.078, 0.085, 0.275",\
"-0.84, -0.827, -0.787, -0.731, -0.672, -0.588, -0.487, -0.356, -0.201, -0.02",\
"-1.105, -1.099, -1.051, -1.004, -0.956, -0.892, -0.794, -0.673, -0.53, -0.351",\
"-1.41, -1.399, -1.357, -1.322, -1.29, -1.228, -1.143, -1.033, -0.892, -0.732");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.177, 0.188, 0.236, 0.343, 0.47, 0.622, 0.799, 0.999, 1.223, 1.473",\
"0.166, 0.183, 0.23, 0.334, 0.464, 0.613, 0.794, 0.988, 1.217, 1.463",\
"0.145, 0.16, 0.208, 0.309, 0.444, 0.594, 0.775, 0.97, 1.195, 1.45",\
"0.142, 0.16, 0.204, 0.305, 0.44, 0.588, 0.769, 0.963, 1.185, 1.439",\
"0.17, 0.178, 0.231, 0.33, 0.459, 0.614, 0.789, 0.986, 1.21, 1.456",\
"0.231, 0.244, 0.289, 0.389, 0.516, 0.666, 0.843, 1.04, 1.263, 1.508",\
"0.341, 0.356, 0.4, 0.499, 0.612, 0.764, 0.937, 1.129, 1.356, 1.6",\
"0.503, 0.521, 0.562, 0.648, 0.76, 0.899, 1.075, 1.267, 1.485, 1.73",\
"0.736, 0.751, 0.783, 0.865, 0.96, 1.093, 1.254, 1.444, 1.66, 1.903",\
"1.031, 1.04, 1.063, 1.135, 1.212, 1.336, 1.494, 1.667, 1.883, 2.128");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.349, 0.339, 0.285, 0.199, 0.091, -0.036, -0.174, -0.338, -0.519, -0.725",\
"0.362, 0.351, 0.297, 0.213, 0.103, -0.02, -0.159, -0.324, -0.507, -0.719",\
"0.422, 0.411, 0.358, 0.271, 0.162, 0.037, -0.105, -0.264, -0.45, -0.652",\
"0.54, 0.526, 0.47, 0.386, 0.274, 0.153, 0.013, -0.152, -0.33, -0.539",\
"0.708, 0.703, 0.644, 0.561, 0.447, 0.325, 0.185, 0.022, -0.162, -0.364",\
"0.935, 0.924, 0.873, 0.779, 0.667, 0.535, 0.396, 0.236, 0.06, -0.145",\
"1.218, 1.213, 1.154, 1.056, 0.938, 0.802, 0.657, 0.501, 0.319, 0.12",\
"1.553, 1.543, 1.478, 1.386, 1.256, 1.121, 0.969, 0.812, 0.627, 0.434",\
"1.939, 1.927, 1.869, 1.76, 1.619, 1.481, 1.331, 1.164, 0.981, 0.787",\
"2.383, 2.369, 2.295, 2.184, 2.043, 1.887, 1.735, 1.564, 1.39, 1.192");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
values("0.195, 0.186, 0.135, 0.043, -0.08, -0.218, -0.38, -0.569, -0.788, -0.996",\
"0.208, 0.198, 0.149, 0.056, -0.061, -0.206, -0.369, -0.563, -0.772, -1",\
"0.236, 0.23, 0.179, 0.079, -0.045, -0.181, -0.349, -0.539, -0.743, -0.977",\
"0.269, 0.265, 0.21, 0.108, -0.014, -0.16, -0.326, -0.517, -0.731, -0.945",\
"0.292, 0.279, 0.229, 0.125, 0, -0.149, -0.322, -0.517, -0.727, -0.976",\
"0.288, 0.277, 0.225, 0.121, -0.012, -0.16, -0.335, -0.537, -0.737, -0.994",\
"0.255, 0.241, 0.191, 0.083, -0.046, -0.203, -0.378, -0.58, -0.81, -1.051",\
"0.184, 0.173, 0.118, 0.013, -0.124, -0.272, -0.45, -0.653, -0.889, -1.137",\
"0.078, 0.062, 0.013, -0.093, -0.231, -0.387, -0.564, -0.772, -1.001, -1.25",\
"-0.067, -0.079, -0.136, -0.245, -0.383, -0.537, -0.717, -0.922, -1.151, -1.403");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.6512 ;
max_transition : 7.4 ;
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.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.001, 0.005488, 0.02124, 0.05133, 0.0982, 0.164, 0.2505, 0.3595, 0.4926, 0.6512");
values("0.2882, 0.2813, 0.269, 0.2618, 0.2577, 0.2552, 0.2535, 0.2524, 0.2517, 0.2512",\
"0.2882, 0.2812, 0.269, 0.2618, 0.2578, 0.2552, 0.2536, 0.2525, 0.2518, 0.2512",\
"0.2882, 0.2811, 0.269, 0.2618, 0.2578, 0.2552, 0.2535, 0.2525, 0.2517, 0.2512",\
"0.2897, 0.2829, 0.2706, 0.2633, 0.2593, 0.2568, 0.2551, 0.2541, 0.2533, 0.2528",\
"0.2937, 0.2866, 0.2744, 0.2671, 0.2629, 0.2603, 0.2587, 0.2576, 0.2569, 0.2564",\
"0.2996, 0.2927, 0.2802, 0.2729, 0.2688, 0.2662, 0.2645, 0.2634, 0.2626, 0.2621",\
"0.3075, 0.3004, 0.2879, 0.2803, 0.2761, 0.2738, 0.272, 0.2709, 0.27, 0.2695",\
"0.3169, 0.3099, 0.2973, 0.2896, 0.2853, 0.2828, 0.281, 0.2799, 0.2791, 0.2786",\
"0.3281, 0.3207, 0.308, 0.3001, 0.2957, 0.2929, 0.2913, 0.2902, 0.2894, 0.2889",\
"0.3403, 0.333, 0.32, 0.3119, 0.3073, 0.3046, 0.3027, 0.3015, 0.3006, 0.3001");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.001, 0.005488, 0.02124, 0.05133, 0.0982, 0.164, 0.2505, 0.3595, 0.4926, 0.6512");
values("0.3376, 0.332, 0.3245, 0.3205, 0.3185, 0.3187, 0.3193, 0.3201, 0.3212, 0.3256",\
"0.3377, 0.3325, 0.325, 0.3207, 0.3187, 0.3189, 0.3193, 0.3208, 0.3212, 0.3264",\
"0.3378, 0.3328, 0.3253, 0.3209, 0.3189, 0.3191, 0.3194, 0.321, 0.3213, 0.3271",\
"0.3395, 0.3345, 0.3271, 0.3229, 0.3208, 0.321, 0.3215, 0.3227, 0.323, 0.329",\
"0.3431, 0.3383, 0.3307, 0.3264, 0.3242, 0.3244, 0.3253, 0.3258, 0.3272, 0.3333",\
"0.3478, 0.3427, 0.3353, 0.3311, 0.329, 0.3292, 0.3298, 0.3303, 0.3324, 0.3396",\
"0.3544, 0.3495, 0.3408, 0.3367, 0.3354, 0.3353, 0.3353, 0.3367, 0.3379, 0.348",\
"0.3613, 0.356, 0.3482, 0.3436, 0.3416, 0.3425, 0.3439, 0.3439, 0.3446, 0.3571",\
"0.3683, 0.363, 0.3557, 0.3511, 0.3485, 0.3481, 0.3508, 0.3534, 0.3545, 0.3722",\
"0.3758, 0.3709, 0.3633, 0.358, 0.3559, 0.3551, 0.3562, 0.3597, 0.3652, 0.3963");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.001, 0.005488, 0.02124, 0.05133, 0.0982, 0.164, 0.2505, 0.3595, 0.4926, 0.6512");
values("0.7012, 0.7334, 0.8173, 0.9387, 1.101, 1.317, 1.598, 1.953, 2.386, 2.901",\
"0.7138, 0.7461, 0.8299, 0.9513, 1.114, 1.33, 1.611, 1.965, 2.398, 2.914",\
"0.7667, 0.7988, 0.8826, 1.004, 1.166, 1.382, 1.664, 2.018, 2.451, 2.968",\
"0.8698, 0.902, 0.9859, 1.107, 1.27, 1.486, 1.767, 2.121, 2.554, 3.07",\
"1.008, 1.04, 1.124, 1.246, 1.408, 1.624, 1.906, 2.26, 2.693, 3.21",\
"1.173, 1.205, 1.289, 1.411, 1.573, 1.789, 2.071, 2.425, 2.858, 3.373",\
"1.362, 1.394, 1.478, 1.6, 1.762, 1.978, 2.259, 2.614, 3.046, 3.562",\
"1.573, 1.605, 1.689, 1.811, 1.973, 2.189, 2.471, 2.825, 3.257, 3.773",\
"1.809, 1.841, 1.925, 2.047, 2.209, 2.425, 2.707, 3.061, 3.494, 4.009",\
"2.068, 2.1, 2.184, 2.306, 2.469, 2.685, 2.966, 3.32, 3.753, 4.269");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.001, 0.005488, 0.02124, 0.05133, 0.0982, 0.164, 0.2505, 0.3595, 0.4926, 0.6512");
values("0.794, 0.8269, 0.9274, 1.111, 1.397, 1.801, 2.331, 3.001, 3.819, 4.793",\
"0.8065, 0.8397, 0.9402, 1.124, 1.41, 1.813, 2.344, 3.014, 3.832, 4.806",\
"0.86, 0.8933, 0.9937, 1.177, 1.463, 1.867, 2.398, 3.067, 3.886, 4.86",\
"0.9664, 0.9997, 1.1, 1.284, 1.57, 1.973, 2.504, 3.174, 3.992, 4.966",\
"1.112, 1.145, 1.245, 1.429, 1.715, 2.118, 2.649, 3.319, 4.137, 5.111",\
"1.286, 1.32, 1.42, 1.603, 1.89, 2.293, 2.824, 3.494, 4.312, 5.289",\
"1.486, 1.52, 1.62, 1.803, 2.089, 2.492, 3.023, 3.693, 4.511, 5.487",\
"1.709, 1.742, 1.842, 2.025, 2.311, 2.714, 3.245, 3.915, 4.734, 5.71",\
"1.953, 1.987, 2.087, 2.27, 2.556, 2.96, 3.491, 4.16, 4.977, 5.952",\
"2.222, 2.255, 2.355, 2.538, 2.824, 3.227, 3.758, 4.429, 5.245, 6.219");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.001, 0.005488, 0.02124, 0.05133, 0.0982, 0.164, 0.2505, 0.3595, 0.4926, 0.6512");
values("0.1005, 0.1334, 0.2227, 0.3706, 0.6063, 0.9592, 1.438, 2.045, 2.793, 3.683",\
"0.1009, 0.1333, 0.2227, 0.3702, 0.6066, 0.9596, 1.438, 2.045, 2.793, 3.684",\
"0.1009, 0.1333, 0.2226, 0.3706, 0.6066, 0.9588, 1.438, 2.046, 2.79, 3.684",\
"0.1008, 0.133, 0.2228, 0.3706, 0.6062, 0.9592, 1.437, 2.045, 2.793, 3.683",\
"0.1008, 0.133, 0.223, 0.3702, 0.6068, 0.9582, 1.438, 2.045, 2.795, 3.678",\
"0.1012, 0.1334, 0.223, 0.3704, 0.6062, 0.9592, 1.437, 2.048, 2.795, 3.682",\
"0.1016, 0.1338, 0.2232, 0.3706, 0.606, 0.958, 1.436, 2.047, 2.79, 3.678",\
"0.1018, 0.1342, 0.2236, 0.3714, 0.6068, 0.9592, 1.436, 2.045, 2.789, 3.68",\
"0.1026, 0.1346, 0.2242, 0.3712, 0.6068, 0.9592, 1.437, 2.044, 2.79, 3.675",\
"0.1032, 0.1358, 0.2246, 0.3716, 0.6074, 0.9598, 1.437, 2.045, 2.789, 3.677");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07094, 0.2497, 0.5912, 1.123, 1.87, 2.852, 4.089, 5.6, 7.4");
index_2("0.001, 0.005488, 0.02124, 0.05133, 0.0982, 0.164, 0.2505, 0.3595, 0.4926, 0.6512");
values("0.09862, 0.1436, 0.3063, 0.635, 1.163, 1.902, 2.881, 4.109, 5.6, 7.39",\
"0.09862, 0.1432, 0.3063, 0.6354, 1.163, 1.903, 2.88, 4.111, 5.601, 7.392",\
"0.09828, 0.1434, 0.3064, 0.6362, 1.163, 1.903, 2.88, 4.111, 5.601, 7.392",\
"0.0986, 0.143, 0.3064, 0.6354, 1.163, 1.903, 2.88, 4.111, 5.601, 7.392",\
"0.0978, 0.1422, 0.3064, 0.6356, 1.163, 1.903, 2.88, 4.112, 5.603, 7.392",\
"0.0972, 0.143, 0.3066, 0.6356, 1.16, 1.904, 2.875, 4.109, 5.601, 7.39",\
"0.0978, 0.1428, 0.3062, 0.6354, 1.162, 1.901, 2.88, 4.111, 5.602, 7.394",\
"0.098, 0.1428, 0.3062, 0.6362, 1.163, 1.9, 2.877, 4.108, 5.599, 7.389",\
"0.098, 0.1428, 0.3064, 0.6358, 1.16, 1.905, 2.875, 4.103, 5.603, 7.392",\
"0.098, 0.1428, 0.306, 0.6364, 1.16, 1.902, 2.876, 4.102, 5.603, 7.392");
}
}
}
}