blob: c783ac2b5631842a8d6ef8c5869b4817925908a0 [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_4) {
area : 79.027200 ;
ff(IQ1,IQN1) {
clocked_on : "CLK" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&!D" ;
value : "0.0002322396" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.0002459304" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.0002825172" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.0002969388" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.0002969388" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.003375 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 5.2 ;
min_period : 0.948 ;
min_pulse_width_high : 0.44 ;
min_pulse_width_low : 0.474 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.1443, 0.1441, 0.1466, 0.158, 0.1797, 0.213, 0.2586, 0.3172, \
0.3893, 0.4754");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.1049, 0.1045, 0.1064, 0.1157, 0.1337, 0.1624, 0.2024, 0.2539, \
0.3175, 0.3937");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.1465, 0.1463, 0.1488, 0.1601, 0.1817, 0.2149, 0.2606, 0.3191, \
0.3911, 0.477");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.1047, 0.1043, 0.1063, 0.1156, 0.1338, 0.1627, 0.2024, 0.254, \
0.3176, 0.3936");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.474");
}
rise_constraint(scalar) {
values("0.287");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.34");
}
rise_constraint(scalar) {
values("0.44");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("0.948");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("0.905");
}
}
}
pin(D) {
capacitance : 0.002427 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 5.2 ;
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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.08123, 0.08057, 0.08091, 0.08562, 0.09577, 0.1112, 0.1326, 0.1605, \
0.1948, 0.2358");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.05434, 0.05454, 0.05574, 0.05985, 0.06782, 0.08036, 0.09772, \
0.1203, 0.1482, 0.1816");
}
}
internal_power() {
when : "CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.005373, 0.005376, 0.005375, 0.005371, 0.005375, 0.005376, 0.005381, \
0.005373, 0.005382, 0.005376");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("-0.003829, -0.003843, -0.003839, -0.003856, -0.003879, -0.003892, \
-0.003916, -0.003916, -0.003924, -0.003931");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.074, 0.078, 0.109, 0.142, 0.171, 0.19, 0.201, 0.198, 0.178, 0.142",\
"0.069, 0.078, 0.106, 0.141, 0.17, 0.185, 0.197, 0.191, 0.178, 0.135",\
"0.048, 0.054, 0.076, 0.111, 0.143, 0.161, 0.167, 0.169, 0.146, 0.112",\
"-0.023, -0.023, 0.01, 0.041, 0.071, 0.098, 0.103, 0.104, 0.078, 0.051",\
"-0.12, -0.123, -0.091, -0.051, -0.027, -0.009, 0.002, -0.003, -0.02, -0.051",\
"-0.243, -0.246, -0.211, -0.183, -0.153, -0.136, -0.125, -0.133, -0.154, -0.189",\
"-0.394, -0.398, -0.368, -0.337, -0.304, -0.287, -0.286, -0.292, -0.315, -0.349",\
"-0.575, -0.587, -0.551, -0.521, -0.486, -0.478, -0.474, -0.479, -0.504, -0.538",\
"-0.791, -0.795, -0.767, -0.739, -0.712, -0.693, -0.696, -0.706, -0.734, -0.767",\
"-1.043, -1.06, -1.026, -0.989, -0.962, -0.956, -0.955, -0.957, -0.995, -1.031");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.04, 0.046, 0.074, 0.096, 0.115, 0.13, 0.125, 0.116, 0.099, 0.065",\
"0.037, 0.043, 0.069, 0.092, 0.112, 0.124, 0.126, 0.116, 0.098, 0.064",\
"0.031, 0.035, 0.059, 0.087, 0.108, 0.119, 0.121, 0.115, 0.089, 0.059",\
"0.03, 0.033, 0.067, 0.088, 0.106, 0.116, 0.116, 0.112, 0.083, 0.05",\
"0.041, 0.05, 0.077, 0.101, 0.121, 0.124, 0.124, 0.108, 0.085, 0.051",\
"0.088, 0.092, 0.12, 0.137, 0.154, 0.156, 0.152, 0.134, 0.105, 0.065",\
"0.16, 0.164, 0.19, 0.206, 0.221, 0.218, 0.201, 0.185, 0.151, 0.106",\
"0.269, 0.274, 0.298, 0.314, 0.316, 0.306, 0.292, 0.268, 0.234, 0.185",\
"0.416, 0.422, 0.445, 0.448, 0.454, 0.439, 0.418, 0.389, 0.344, 0.296",\
"0.603, 0.603, 0.635, 0.625, 0.63, 0.61, 0.577, 0.548, 0.498, 0.443");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.206, 0.197, 0.171, 0.136, 0.097, 0.073, 0.052, 0.054, 0.08, 0.114",\
"0.212, 0.205, 0.176, 0.137, 0.102, 0.076, 0.061, 0.065, 0.083, 0.117",\
"0.24, 0.229, 0.206, 0.165, 0.13, 0.104, 0.086, 0.088, 0.106, 0.145",\
"0.321, 0.308, 0.29, 0.249, 0.212, 0.184, 0.168, 0.172, 0.188, 0.225",\
"0.449, 0.442, 0.416, 0.377, 0.347, 0.315, 0.3, 0.298, 0.313, 0.351",\
"0.626, 0.615, 0.591, 0.558, 0.515, 0.489, 0.471, 0.468, 0.484, 0.523",\
"0.846, 0.835, 0.811, 0.773, 0.735, 0.708, 0.688, 0.685, 0.702, 0.734",\
"1.102, 1.09, 1.065, 1.03, 0.994, 0.959, 0.945, 0.945, 0.953, 0.988",\
"1.395, 1.385, 1.363, 1.324, 1.285, 1.256, 1.235, 1.238, 1.25, 1.285",\
"1.737, 1.727, 1.707, 1.658, 1.621, 1.591, 1.577, 1.573, 1.585, 1.618");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.212, 0.191, 0.171, 0.129, 0.097, 0.073, 0.063, 0.077, 0.1, 0.147",\
"0.219, 0.205, 0.186, 0.137, 0.107, 0.084, 0.072, 0.08, 0.113, 0.156",\
"0.24, 0.22, 0.2, 0.165, 0.124, 0.104, 0.092, 0.096, 0.121, 0.165",\
"0.255, 0.245, 0.225, 0.176, 0.143, 0.118, 0.105, 0.113, 0.139, 0.183",\
"0.262, 0.248, 0.23, 0.189, 0.156, 0.126, 0.113, 0.123, 0.143, 0.19",\
"0.243, 0.231, 0.21, 0.173, 0.136, 0.109, 0.1, 0.107, 0.135, 0.181",\
"0.201, 0.186, 0.167, 0.122, 0.096, 0.068, 0.051, 0.063, 0.098, 0.148",\
"0.124, 0.109, 0.084, 0.054, 0.016, -0.013, -0.02, -0.007, 0.024, 0.079",\
"0.01, -0.002, -0.023, -0.068, -0.096, -0.121, -0.133, -0.114, -0.085, -0.031",\
"-0.14, -0.156, -0.172, -0.212, -0.249, -0.269, -0.279, -0.255, -0.222, -0.169");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 1.43 ;
max_transition : 5.2 ;
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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.001, 0.01087, 0.0455, 0.1116, 0.2147, 0.3593, 0.5495, 0.7892, 1.082, 1.43");
values("0.3569, 0.3438, 0.3296, 0.3232, 0.3203, 0.3185, 0.3174, 0.317, 0.3166, 0.3164",\
"0.3569, 0.344, 0.3298, 0.3234, 0.3204, 0.3187, 0.3176, 0.3169, 0.3166, 0.3164",\
"0.3571, 0.344, 0.3299, 0.3235, 0.3203, 0.3187, 0.3177, 0.3171, 0.3167, 0.3165",\
"0.3577, 0.3446, 0.3304, 0.324, 0.321, 0.3191, 0.3182, 0.3176, 0.3172, 0.317",\
"0.3587, 0.3456, 0.3312, 0.3248, 0.3217, 0.3202, 0.3194, 0.3188, 0.3184, 0.3181",\
"0.3596, 0.3465, 0.3322, 0.3259, 0.3228, 0.3212, 0.3201, 0.3195, 0.3191, 0.3188",\
"0.3609, 0.3476, 0.3333, 0.3269, 0.324, 0.3222, 0.3212, 0.3206, 0.3202, 0.32",\
"0.3621, 0.3491, 0.3349, 0.3284, 0.3254, 0.3237, 0.3226, 0.322, 0.3217, 0.3214",\
"0.364, 0.3509, 0.3368, 0.3305, 0.3274, 0.3256, 0.3246, 0.324, 0.3235, 0.3232",\
"0.3655, 0.3525, 0.3384, 0.332, 0.3289, 0.3274, 0.3259, 0.3254, 0.325, 0.3247");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.001, 0.01087, 0.0455, 0.1116, 0.2147, 0.3593, 0.5495, 0.7892, 1.082, 1.43");
values("0.3819, 0.3712, 0.3577, 0.3516, 0.3477, 0.3484, 0.3517, 0.3538, 0.3568, 0.3588",\
"0.3816, 0.3714, 0.3576, 0.3506, 0.3484, 0.3484, 0.3514, 0.3553, 0.3572, 0.3581",\
"0.3814, 0.3712, 0.3577, 0.3505, 0.3482, 0.3483, 0.3512, 0.3551, 0.357, 0.3579",\
"0.3815, 0.3713, 0.358, 0.3506, 0.3475, 0.3487, 0.3516, 0.3541, 0.3574, 0.3579",\
"0.3821, 0.3717, 0.3581, 0.3511, 0.3482, 0.3492, 0.3532, 0.3543, 0.3579, 0.3581",\
"0.383, 0.3725, 0.3593, 0.353, 0.3496, 0.3498, 0.3524, 0.3542, 0.3575, 0.3613",\
"0.3851, 0.3747, 0.3606, 0.353, 0.3533, 0.3533, 0.3548, 0.3577, 0.3606, 0.3658",\
"0.3878, 0.3773, 0.3644, 0.3565, 0.3528, 0.3561, 0.3594, 0.3608, 0.3623, 0.3704",\
"0.391, 0.3804, 0.3664, 0.3605, 0.3573, 0.3551, 0.3624, 0.3692, 0.3693, 0.3697",\
"0.3951, 0.3847, 0.3715, 0.3641, 0.3597, 0.3587, 0.3613, 0.3677, 0.3753, 0.3798");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.001, 0.01087, 0.0455, 0.1116, 0.2147, 0.3593, 0.5495, 0.7892, 1.082, 1.43");
values("0.5704, 0.5938, 0.6523, 0.7402, 0.8654, 1.039, 1.267, 1.554, 1.905, 2.323",\
"0.5774, 0.6008, 0.6595, 0.7473, 0.8724, 1.046, 1.274, 1.561, 1.912, 2.33",\
"0.6048, 0.6282, 0.6868, 0.7746, 0.8999, 1.073, 1.301, 1.589, 1.939, 2.358",\
"0.647, 0.6705, 0.729, 0.8169, 0.9422, 1.115, 1.343, 1.631, 1.982, 2.4",\
"0.684, 0.7075, 0.766, 0.8538, 0.979, 1.152, 1.38, 1.668, 2.019, 2.437",\
"0.7131, 0.7366, 0.7951, 0.883, 1.008, 1.181, 1.409, 1.697, 2.048, 2.466",\
"0.7315, 0.7547, 0.8132, 0.9011, 1.026, 1.2, 1.428, 1.715, 2.066, 2.484",\
"0.7364, 0.7599, 0.8185, 0.9064, 1.032, 1.205, 1.433, 1.72, 2.071, 2.489",\
"0.7266, 0.75, 0.8085, 0.8963, 1.022, 1.195, 1.423, 1.71, 2.061, 2.479",\
"0.7006, 0.724, 0.7826, 0.8705, 0.9957, 1.169, 1.397, 1.684, 2.035, 2.453");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.001, 0.01087, 0.0455, 0.1116, 0.2147, 0.3593, 0.5495, 0.7892, 1.082, 1.43");
values("0.5882, 0.6137, 0.6876, 0.8238, 1.037, 1.338, 1.734, 2.233, 2.843, 3.569",\
"0.5952, 0.6207, 0.6946, 0.8309, 1.045, 1.345, 1.741, 2.24, 2.849, 3.576",\
"0.6223, 0.6478, 0.7218, 0.858, 1.072, 1.372, 1.768, 2.267, 2.876, 3.603",\
"0.6643, 0.6899, 0.764, 0.9001, 1.114, 1.414, 1.81, 2.31, 2.919, 3.645",\
"0.7015, 0.7271, 0.8011, 0.9373, 1.151, 1.452, 1.848, 2.347, 2.956, 3.683",\
"0.7318, 0.7573, 0.8314, 0.9674, 1.181, 1.482, 1.878, 2.377, 2.986, 3.713",\
"0.7526, 0.7782, 0.8519, 0.9882, 1.202, 1.503, 1.898, 2.398, 3.007, 3.734",\
"0.7608, 0.7863, 0.8604, 0.9964, 1.21, 1.511, 1.907, 2.406, 3.015, 3.742",\
"0.7548, 0.7804, 0.8542, 0.9905, 1.204, 1.505, 1.901, 2.4, 3.009, 3.735",\
"0.7334, 0.759, 0.8331, 0.9692, 1.183, 1.484, 1.879, 2.378, 2.987, 3.714");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.001, 0.01087, 0.0455, 0.1116, 0.2147, 0.3593, 0.5495, 0.7892, 1.082, 1.43");
values("0.05608, 0.07866, 0.1428, 0.2592, 0.4541, 0.7391, 1.118, 1.596, 2.18, 2.873",\
"0.05602, 0.0788, 0.1431, 0.2595, 0.4541, 0.7381, 1.118, 1.595, 2.177, 2.872",\
"0.05628, 0.07868, 0.1428, 0.259, 0.4542, 0.7392, 1.117, 1.596, 2.177, 2.877",\
"0.0563, 0.0787, 0.1427, 0.2594, 0.4544, 0.7392, 1.117, 1.596, 2.179, 2.876",\
"0.0564, 0.0788, 0.1428, 0.259, 0.4542, 0.739, 1.117, 1.594, 2.178, 2.872",\
"0.056, 0.079, 0.143, 0.2594, 0.454, 0.739, 1.117, 1.596, 2.179, 2.877",\
"0.056, 0.0786, 0.143, 0.259, 0.4534, 0.7386, 1.116, 1.593, 2.176, 2.874",\
"0.056, 0.0788, 0.143, 0.2592, 0.454, 0.7382, 1.117, 1.593, 2.174, 2.869",\
"0.056, 0.0786, 0.1428, 0.259, 0.4542, 0.739, 1.116, 1.594, 2.176, 2.867",\
"0.0562, 0.0786, 0.1428, 0.2594, 0.4542, 0.7388, 1.116, 1.593, 2.176, 2.869");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.001, 0.01087, 0.0455, 0.1116, 0.2147, 0.3593, 0.5495, 0.7892, 1.082, 1.43");
values("0.06012, 0.0908, 0.2041, 0.4382, 0.8109, 1.334, 2.023, 2.89, 3.948, 5.216",\
"0.05978, 0.09094, 0.2041, 0.4383, 0.8105, 1.334, 2.024, 2.893, 3.951, 5.217",\
"0.05976, 0.0909, 0.2041, 0.4383, 0.8105, 1.334, 2.024, 2.893, 3.951, 5.217",\
"0.05974, 0.09082, 0.2041, 0.4382, 0.8104, 1.335, 2.024, 2.892, 3.951, 5.217",\
"0.0594, 0.0904, 0.204, 0.4388, 0.8106, 1.336, 2.024, 2.892, 3.951, 5.216",\
"0.0594, 0.0906, 0.2042, 0.4392, 0.8104, 1.334, 2.024, 2.893, 3.95, 5.214",\
"0.0598, 0.0906, 0.2042, 0.4386, 0.8112, 1.333, 2.023, 2.89, 3.948, 5.214",\
"0.06, 0.0906, 0.2042, 0.439, 0.8112, 1.335, 2.022, 2.891, 3.95, 5.213",\
"0.06, 0.0908, 0.2038, 0.4386, 0.8102, 1.334, 2.023, 2.889, 3.95, 5.213",\
"0.0602, 0.0908, 0.2042, 0.4388, 0.8106, 1.335, 2.023, 2.89, 3.948, 5.212");
}
}
}
}