blob: 0c8bd9be51524e577204bfd0793d57a1adc766ad [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.000374695" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.00040022" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.00046696" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.000494555" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.000494555" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.003246 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 4 ;
min_period : 1.118 ;
min_pulse_width_high : 0.554 ;
min_pulse_width_low : 0.559 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.2837, 0.2834, 0.2865, 0.3021, 0.3345, 0.3849, 0.4549, 0.5453, \
0.6566, 0.79");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.2146, 0.2142, 0.2161, 0.2285, 0.2556, 0.299, 0.3607, 0.441, \
0.5408, 0.6606");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.2878, 0.2874, 0.2907, 0.3063, 0.3386, 0.3891, 0.459, 0.5492, \
0.6603, 0.7935");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.2141, 0.2137, 0.2156, 0.2282, 0.2553, 0.2989, 0.3605, 0.4411, \
0.5409, 0.6607");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.559");
}
rise_constraint(scalar) {
values("0.31");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.376");
}
rise_constraint(scalar) {
values("0.554");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("1.113");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("1.118");
}
}
}
pin(D) {
capacitance : 0.00239 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 4 ;
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.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.1615, 0.1606, 0.1606, 0.1659, 0.1796, 0.2023, 0.2341, 0.2757, \
0.3273, 0.3893");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.1085, 0.1087, 0.1102, 0.1159, 0.1271, 0.145, 0.1705, 0.2037, \
0.2451, 0.295");
}
}
internal_power() {
when : "CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.009665, 0.009661, 0.009637, 0.009654, 0.009657, 0.009655, 0.009664, \
0.009672, 0.009655, 0.009667");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("-0.006714, -0.006704, -0.006676, -0.00667, -0.006673, -0.006694, \
-0.006711, -0.00675, -0.006736, -0.006767");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.092, 0.095, 0.116, 0.151, 0.184, 0.221, 0.245, 0.26, 0.27, 0.265",\
"0.087, 0.095, 0.114, 0.145, 0.188, 0.218, 0.247, 0.255, 0.263, 0.261",\
"0.069, 0.075, 0.094, 0.129, 0.165, 0.196, 0.228, 0.242, 0.25, 0.246",\
"0.015, 0.023, 0.044, 0.078, 0.115, 0.146, 0.171, 0.192, 0.195, 0.194",\
"-0.066, -0.066, -0.04, -0.013, 0.028, 0.064, 0.092, 0.105, 0.116, 0.108",\
"-0.178, -0.173, -0.155, -0.123, -0.081, -0.048, -0.026, -0.011, -0.005, -0.012",\
"-0.313, -0.307, -0.282, -0.251, -0.217, -0.185, -0.157, -0.154, -0.15, -0.157",\
"-0.471, -0.463, -0.445, -0.409, -0.374, -0.342, -0.319, -0.32, -0.315, -0.32",\
"-0.65, -0.646, -0.628, -0.594, -0.565, -0.53, -0.508, -0.512, -0.511, -0.523",\
"-0.868, -0.862, -0.84, -0.814, -0.777, -0.756, -0.729, -0.729, -0.734, -0.746");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.046, 0.051, 0.068, 0.094, 0.125, 0.14, 0.167, 0.172, 0.177, 0.175",\
"0.043, 0.048, 0.063, 0.091, 0.119, 0.142, 0.16, 0.172, 0.177, 0.175",\
"0.037, 0.041, 0.057, 0.087, 0.117, 0.135, 0.155, 0.168, 0.177, 0.174",\
"0.027, 0.035, 0.051, 0.078, 0.109, 0.131, 0.151, 0.159, 0.17, 0.167",\
"0.036, 0.038, 0.056, 0.083, 0.112, 0.135, 0.149, 0.156, 0.162, 0.159",\
"0.054, 0.057, 0.072, 0.103, 0.132, 0.146, 0.159, 0.169, 0.167, 0.161",\
"0.099, 0.102, 0.121, 0.145, 0.17, 0.186, 0.197, 0.196, 0.196, 0.184",\
"0.173, 0.171, 0.194, 0.216, 0.235, 0.249, 0.257, 0.253, 0.247, 0.234",\
"0.282, 0.278, 0.299, 0.314, 0.333, 0.339, 0.343, 0.341, 0.326, 0.315",\
"0.412, 0.412, 0.426, 0.446, 0.464, 0.464, 0.463, 0.456, 0.437, 0.416");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.235, 0.23, 0.214, 0.171, 0.137, 0.097, 0.065, 0.045, 0.033, 0.036",\
"0.238, 0.237, 0.212, 0.174, 0.134, 0.095, 0.068, 0.047, 0.035, 0.038",\
"0.261, 0.251, 0.234, 0.196, 0.152, 0.119, 0.084, 0.065, 0.057, 0.059",\
"0.318, 0.307, 0.288, 0.259, 0.214, 0.171, 0.145, 0.124, 0.11, 0.112",\
"0.42, 0.414, 0.396, 0.358, 0.315, 0.283, 0.25, 0.228, 0.214, 0.218",\
"0.569, 0.561, 0.544, 0.508, 0.464, 0.426, 0.398, 0.372, 0.363, 0.365",\
"0.76, 0.753, 0.732, 0.693, 0.649, 0.617, 0.583, 0.559, 0.547, 0.545",\
"0.98, 0.972, 0.949, 0.915, 0.874, 0.833, 0.8, 0.781, 0.767, 0.767",\
"1.233, 1.226, 1.209, 1.172, 1.133, 1.087, 1.059, 1.041, 1.023, 1.027",\
"1.526, 1.519, 1.497, 1.459, 1.417, 1.381, 1.349, 1.328, 1.315, 1.317");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.235, 0.23, 0.214, 0.171, 0.129, 0.091, 0.065, 0.045, 0.041, 0.046",\
"0.238, 0.237, 0.212, 0.174, 0.134, 0.095, 0.068, 0.053, 0.043, 0.053",\
"0.253, 0.251, 0.229, 0.189, 0.152, 0.112, 0.084, 0.065, 0.057, 0.064",\
"0.278, 0.271, 0.253, 0.216, 0.174, 0.134, 0.1, 0.084, 0.076, 0.075",\
"0.293, 0.284, 0.271, 0.228, 0.182, 0.15, 0.113, 0.098, 0.086, 0.098",\
"0.288, 0.287, 0.263, 0.222, 0.18, 0.141, 0.113, 0.102, 0.091, 0.093",\
"0.27, 0.264, 0.246, 0.206, 0.16, 0.12, 0.087, 0.078, 0.071, 0.082",\
"0.219, 0.214, 0.193, 0.159, 0.112, 0.079, 0.045, 0.033, 0.024, 0.038",\
"0.146, 0.138, 0.121, 0.077, 0.042, 0.005, -0.025, -0.037, -0.044, -0.024",\
"0.039, 0.033, 0.014, -0.021, -0.064, -0.105, -0.13, -0.138, -0.138, -0.117");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.4803 ;
max_transition : 4 ;
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.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.001, 0.004308, 0.01592, 0.03809, 0.07264, 0.1211, 0.1849, 0.2653, 0.3633, 0.4803");
values("0.409, 0.3975, 0.3755, 0.3604, 0.3515, 0.3461, 0.3425, 0.34, 0.3385, 0.337",\
"0.4088, 0.3975, 0.3754, 0.3603, 0.3517, 0.346, 0.3425, 0.34, 0.3383, 0.3372",\
"0.4092, 0.3977, 0.3758, 0.3606, 0.3519, 0.3463, 0.3427, 0.3401, 0.3384, 0.3371",\
"0.4098, 0.3984, 0.3762, 0.3612, 0.3525, 0.3468, 0.3433, 0.3408, 0.3391, 0.338",\
"0.4112, 0.3998, 0.3777, 0.3626, 0.354, 0.3484, 0.3447, 0.3424, 0.3406, 0.3393",\
"0.4134, 0.4021, 0.3802, 0.3654, 0.3566, 0.3509, 0.3471, 0.3446, 0.3429, 0.3416",\
"0.4155, 0.4041, 0.3821, 0.3673, 0.3581, 0.3525, 0.3489, 0.3464, 0.3448, 0.3435",\
"0.4181, 0.4067, 0.3847, 0.3699, 0.3606, 0.3554, 0.3518, 0.3492, 0.3475, 0.3462",\
"0.4209, 0.4095, 0.3874, 0.3725, 0.3638, 0.3582, 0.3544, 0.3521, 0.3503, 0.3489",\
"0.4241, 0.4127, 0.3904, 0.3759, 0.3668, 0.3611, 0.3574, 0.3548, 0.3532, 0.3521");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.001, 0.004308, 0.01592, 0.03809, 0.07264, 0.1211, 0.1849, 0.2653, 0.3633, 0.4803");
values("0.4111, 0.3994, 0.3802, 0.3639, 0.3527, 0.3463, 0.3433, 0.3425, 0.3441, 0.3421",\
"0.4114, 0.4, 0.38, 0.3642, 0.3531, 0.3463, 0.3437, 0.3423, 0.343, 0.3435",\
"0.4111, 0.3998, 0.3803, 0.364, 0.3527, 0.3461, 0.3429, 0.3425, 0.3426, 0.3426",\
"0.4117, 0.4004, 0.3803, 0.3645, 0.3535, 0.3465, 0.3442, 0.3428, 0.3435, 0.3454",\
"0.4138, 0.4023, 0.3821, 0.3663, 0.3552, 0.3486, 0.3476, 0.3462, 0.3444, 0.3483",\
"0.4163, 0.4051, 0.3852, 0.3691, 0.3583, 0.3513, 0.349, 0.3486, 0.3468, 0.3487",\
"0.4205, 0.4092, 0.3893, 0.374, 0.3628, 0.3554, 0.353, 0.3516, 0.3522, 0.3522",\
"0.4247, 0.4128, 0.3936, 0.3764, 0.3658, 0.3617, 0.3578, 0.3559, 0.3546, 0.3561",\
"0.4305, 0.419, 0.3989, 0.3821, 0.37, 0.3647, 0.3661, 0.3642, 0.3633, 0.3623",\
"0.4371, 0.4257, 0.4054, 0.3887, 0.3769, 0.3702, 0.3678, 0.3704, 0.372, 0.371");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.001, 0.004308, 0.01592, 0.03809, 0.07264, 0.1211, 0.1849, 0.2653, 0.3633, 0.4803");
values("0.6358, 0.6562, 0.7106, 0.7918, 0.9015, 1.046, 1.234, 1.47, 1.759, 2.103",\
"0.6405, 0.6609, 0.7153, 0.7966, 0.9062, 1.051, 1.239, 1.475, 1.763, 2.107",\
"0.6597, 0.6801, 0.7345, 0.8156, 0.9255, 1.07, 1.258, 1.494, 1.782, 2.127",\
"0.6979, 0.7183, 0.7727, 0.8539, 0.9636, 1.108, 1.296, 1.532, 1.821, 2.165",\
"0.741, 0.7615, 0.8159, 0.8971, 1.007, 1.152, 1.339, 1.575, 1.864, 2.208",\
"0.7812, 0.8016, 0.8559, 0.9372, 1.047, 1.192, 1.379, 1.616, 1.904, 2.248",\
"0.8154, 0.8358, 0.8902, 0.9714, 1.081, 1.226, 1.414, 1.65, 1.938, 2.282",\
"0.8419, 0.8622, 0.9167, 0.9979, 1.108, 1.252, 1.44, 1.676, 1.965, 2.309",\
"0.8592, 0.8795, 0.934, 1.015, 1.125, 1.27, 1.457, 1.693, 1.982, 2.326",\
"0.8658, 0.8862, 0.9407, 1.022, 1.132, 1.276, 1.464, 1.7, 1.989, 2.332");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.001, 0.004308, 0.01592, 0.03809, 0.07264, 0.1211, 0.1849, 0.2653, 0.3633, 0.4803");
values("0.7275, 0.749, 0.8095, 0.9119, 1.069, 1.292, 1.587, 1.959, 2.415, 2.958",\
"0.7323, 0.7538, 0.8142, 0.9169, 1.074, 1.297, 1.591, 1.964, 2.419, 2.963",\
"0.7511, 0.7727, 0.8332, 0.9358, 1.093, 1.316, 1.61, 1.983, 2.438, 2.981",\
"0.7897, 0.8112, 0.8716, 0.9743, 1.131, 1.354, 1.649, 2.021, 2.477, 3.02",\
"0.8346, 0.8561, 0.9163, 1.019, 1.176, 1.399, 1.694, 2.066, 2.521, 3.065",\
"0.8765, 0.8981, 0.9584, 1.061, 1.218, 1.441, 1.736, 2.108, 2.563, 3.107",\
"0.9144, 0.9359, 0.9964, 1.099, 1.256, 1.479, 1.774, 2.146, 2.602, 3.145",\
"0.9453, 0.9669, 1.027, 1.13, 1.287, 1.51, 1.804, 2.177, 2.632, 3.176",\
"0.9682, 0.9898, 1.05, 1.153, 1.31, 1.533, 1.827, 2.2, 2.655, 3.198",\
"0.9818, 1.003, 1.064, 1.166, 1.323, 1.546, 1.841, 2.213, 2.669, 3.211");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.001, 0.004308, 0.01592, 0.03809, 0.07264, 0.1211, 0.1849, 0.2653, 0.3633, 0.4803");
values("0.0796, 0.1003, 0.1573, 0.2546, 0.4067, 0.6311, 0.9382, 1.329, 1.81, 2.384",\
"0.07968, 0.1004, 0.1574, 0.2544, 0.4071, 0.6306, 0.9382, 1.329, 1.809, 2.384",\
"0.07962, 0.1002, 0.1575, 0.2549, 0.4071, 0.6304, 0.9382, 1.33, 1.81, 2.381",\
"0.0796, 0.1006, 0.1573, 0.2548, 0.4072, 0.6306, 0.9382, 1.329, 1.809, 2.384",\
"0.0798, 0.1008, 0.1574, 0.255, 0.4072, 0.6308, 0.938, 1.329, 1.809, 2.382",\
"0.0796, 0.1004, 0.1578, 0.2548, 0.4072, 0.6306, 0.9372, 1.329, 1.81, 2.382",\
"0.0798, 0.1002, 0.1576, 0.2548, 0.4072, 0.6304, 0.9374, 1.328, 1.809, 2.381",\
"0.0798, 0.1002, 0.157, 0.2546, 0.4062, 0.6312, 0.9366, 1.327, 1.807, 2.382",\
"0.08, 0.1004, 0.1574, 0.2546, 0.406, 0.6302, 0.9362, 1.328, 1.806, 2.379",\
"0.0798, 0.1004, 0.1576, 0.2546, 0.4072, 0.63, 0.936, 1.328, 1.807, 2.38");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.001, 0.004308, 0.01592, 0.03809, 0.07264, 0.1211, 0.1849, 0.2653, 0.3633, 0.4803");
values("0.08574, 0.1098, 0.1936, 0.3617, 0.6398, 1.039, 1.567, 2.232, 3.036, 4.008",\
"0.08564, 0.1101, 0.1936, 0.3616, 0.64, 1.039, 1.565, 2.232, 3.037, 4.009",\
"0.08574, 0.1101, 0.1936, 0.3619, 0.6398, 1.04, 1.567, 2.231, 3.038, 4.01",\
"0.08556, 0.11, 0.1934, 0.3618, 0.641, 1.04, 1.566, 2.232, 3.037, 4",\
"0.0854, 0.11, 0.1936, 0.362, 0.6408, 1.04, 1.564, 2.228, 3.04, 4.002",\
"0.0854, 0.11, 0.1938, 0.362, 0.6402, 1.04, 1.565, 2.229, 3.042, 4.001",\
"0.0858, 0.1102, 0.1936, 0.362, 0.6398, 1.041, 1.568, 2.232, 3.037, 4.007",\
"0.0856, 0.1102, 0.1938, 0.3622, 0.6398, 1.039, 1.566, 2.232, 3.042, 4.005",\
"0.0856, 0.1104, 0.1938, 0.3618, 0.64, 1.039, 1.566, 2.227, 3.042, 4.001",\
"0.0854, 0.1102, 0.1938, 0.3618, 0.6398, 1.039, 1.565, 2.228, 3.037, 4.004");
}
}
}
}