blob: fccc1c7ca522d6ddb77235cb7f211f5b44df12f0 [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.02617285" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.0356631" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.01972465" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.03556465" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.0356631" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.003451 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 3.4 ;
min_period : 0.885 ;
min_pulse_width_high : 0.378 ;
min_pulse_width_low : 0.436 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
values("0.3808, 0.3808, 0.3879, 0.4165, 0.4758, 0.5676, 0.6937, 0.8557, \
1.054, 1.291");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
values("0.247, 0.2468, 0.2518, 0.2757, 0.3256, 0.4047, 0.5146, 0.6574, \
0.8343, 1.046");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
values("0.3803, 0.3803, 0.3876, 0.4163, 0.4753, 0.5671, 0.6934, 0.8552, \
1.054, 1.291");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
values("0.2473, 0.2474, 0.2522, 0.2762, 0.3259, 0.4048, 0.5149, 0.658, \
0.8347, 1.047");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.386");
}
rise_constraint(scalar) {
values("0.378");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.436");
}
rise_constraint(scalar) {
values("0.326");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("0.81");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("0.885");
}
}
}
pin(D) {
capacitance : 0.002456 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 3.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.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
values("0.07192, 0.07255, 0.0816, 0.1047, 0.145, 0.2037, 0.2822, 0.3821, \
0.5043, 0.6505");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
values("0.005937, 0.006308, 0.01234, 0.03045, 0.06371, 0.1135, 0.1809, \
0.2673, 0.3734, 0.5005");
}
}
internal_power() {
when : "CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
values("0.2651, 0.2657, 0.2723, 0.2935, 0.3361, 0.4025, 0.4938, 0.6107, \
0.7545, 0.9259");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
values("0.1714, 0.1718, 0.1772, 0.1946, 0.2286, 0.2815, 0.355, 0.4506, \
0.5691, 0.7122");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
index_2("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
values("0.109, 0.112, 0.134, 0.166, 0.226, 0.281, 0.348, 0.423, 0.507, 0.611",\
"0.098, 0.106, 0.124, 0.161, 0.223, 0.274, 0.344, 0.416, 0.503, 0.605",\
"0.074, 0.079, 0.097, 0.136, 0.19, 0.249, 0.31, 0.391, 0.472, 0.57",\
"0.015, 0.022, 0.04, 0.078, 0.132, 0.187, 0.253, 0.331, 0.416, 0.513",\
"-0.051, -0.043, -0.027, 0.004, 0.056, 0.11, 0.168, 0.241, 0.328, 0.425",\
"-0.135, -0.125, -0.107, -0.081, -0.032, 0.01, 0.069, 0.139, 0.217, 0.308",\
"-0.22, -0.222, -0.198, -0.175, -0.128, -0.097, -0.048, 0.014, 0.09, 0.169",\
"-0.331, -0.323, -0.31, -0.285, -0.247, -0.216, -0.177, -0.123, -0.054, 0.025",\
"-0.453, -0.449, -0.43, -0.409, -0.383, -0.355, -0.314, -0.272, -0.216, -0.14",\
"-0.586, -0.579, -0.57, -0.55, -0.524, -0.509, -0.484, -0.441, -0.386, -0.323");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
index_2("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
values("0.132, 0.136, 0.157, 0.198, 0.264, 0.34, 0.431, 0.525, 0.634, 0.75",\
"0.129, 0.132, 0.157, 0.194, 0.262, 0.34, 0.428, 0.524, 0.631, 0.753",\
"0.121, 0.12, 0.145, 0.187, 0.251, 0.331, 0.422, 0.513, 0.625, 0.739",\
"0.11, 0.116, 0.135, 0.179, 0.242, 0.32, 0.41, 0.507, 0.614, 0.735",\
"0.117, 0.121, 0.145, 0.185, 0.253, 0.327, 0.415, 0.51, 0.619, 0.73",\
"0.135, 0.139, 0.158, 0.204, 0.271, 0.347, 0.436, 0.527, 0.634, 0.748",\
"0.178, 0.181, 0.202, 0.245, 0.306, 0.385, 0.476, 0.567, 0.675, 0.788",\
"0.243, 0.247, 0.271, 0.313, 0.367, 0.441, 0.53, 0.624, 0.726, 0.844",\
"0.345, 0.342, 0.363, 0.403, 0.461, 0.522, 0.612, 0.697, 0.8, 0.913",\
"0.477, 0.472, 0.495, 0.532, 0.576, 0.632, 0.719, 0.801, 0.901, 1.018");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
index_2("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
values("0.246, 0.24, 0.221, 0.185, 0.132, 0.071, 0.013, -0.067, -0.145, -0.24",\
"0.253, 0.251, 0.226, 0.188, 0.136, 0.079, 0.014, -0.062, -0.138, -0.232",\
"0.28, 0.271, 0.252, 0.21, 0.162, 0.099, 0.042, -0.033, -0.117, -0.206",\
"0.331, 0.327, 0.3, 0.264, 0.21, 0.151, 0.088, 0.017, -0.065, -0.152",\
"0.408, 0.403, 0.388, 0.343, 0.296, 0.232, 0.168, 0.098, 0.02, -0.062",\
"0.518, 0.517, 0.496, 0.459, 0.405, 0.338, 0.276, 0.208, 0.131, 0.043",\
"0.656, 0.649, 0.63, 0.594, 0.534, 0.471, 0.408, 0.343, 0.261, 0.176",\
"0.819, 0.812, 0.79, 0.747, 0.692, 0.633, 0.567, 0.492, 0.415, 0.333",\
"1.003, 1.003, 0.979, 0.936, 0.872, 0.808, 0.743, 0.671, 0.59, 0.513",\
"1.216, 1.214, 1.192, 1.142, 1.074, 1.009, 0.939, 0.864, 0.788, 0.712");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
index_2("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
values("0.16, 0.16, 0.136, 0.089, 0.033, -0.037, -0.1, -0.184, -0.272, -0.361",\
"0.161, 0.158, 0.136, 0.094, 0.035, -0.032, -0.101, -0.18, -0.273, -0.345",\
"0.18, 0.173, 0.155, 0.11, 0.042, -0.018, -0.086, -0.172, -0.263, -0.34",\
"0.193, 0.189, 0.168, 0.124, 0.064, -0.001, -0.078, -0.16, -0.255, -0.337",\
"0.218, 0.208, 0.19, 0.142, 0.08, 0.007, -0.069, -0.159, -0.241, -0.337",\
"0.227, 0.219, 0.196, 0.154, 0.094, 0.019, -0.068, -0.153, -0.251, -0.345",\
"0.228, 0.222, 0.198, 0.157, 0.089, 0.017, -0.068, -0.16, -0.265, -0.367",\
"0.215, 0.211, 0.183, 0.137, 0.072, -0.003, -0.091, -0.18, -0.283, -0.389",\
"0.185, 0.178, 0.152, 0.109, 0.036, -0.035, -0.124, -0.215, -0.324, -0.437",\
"0.136, 0.136, 0.109, 0.059, -0.007, -0.085, -0.17, -0.274, -0.374, -0.48");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.822 ;
max_transition : 3.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.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
index_2("0.001, 0.006667, 0.02656, 0.06454, 0.1237, 0.2068, 0.316, 0.4537, 0.6217, 0.822");
values("1.344, 1.309, 1.223, 1.13, 1.063, 1.02, 0.9906, 0.9692, 0.9535, 0.9417",\
"1.344, 1.309, 1.223, 1.13, 1.063, 1.021, 0.9907, 0.9696, 0.9538, 0.942",\
"1.344, 1.309, 1.223, 1.131, 1.063, 1.021, 0.9908, 0.9691, 0.9537, 0.9419",\
"1.346, 1.312, 1.225, 1.133, 1.066, 1.023, 0.993, 0.9713, 0.9556, 0.944",\
"1.353, 1.319, 1.233, 1.14, 1.073, 1.03, 1, 0.9785, 0.963, 0.9512",\
"1.368, 1.334, 1.247, 1.154, 1.087, 1.044, 1.014, 0.9925, 0.9766, 0.9649",\
"1.388, 1.353, 1.266, 1.173, 1.106, 1.062, 1.032, 1.01, 0.9945, 0.9826",\
"1.411, 1.376, 1.29, 1.195, 1.128, 1.084, 1.054, 1.032, 1.016, 1.003",\
"1.439, 1.404, 1.317, 1.223, 1.154, 1.11, 1.08, 1.057, 1.041, 1.029",\
"1.471, 1.435, 1.348, 1.254, 1.184, 1.139, 1.108, 1.086, 1.069, 1.057");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
index_2("0.001, 0.006667, 0.02656, 0.06454, 0.1237, 0.2068, 0.316, 0.4537, 0.6217, 0.822");
values("1.402, 1.371, 1.308, 1.253, 1.214, 1.186, 1.171, 1.163, 1.157, 1.158",\
"1.403, 1.372, 1.307, 1.252, 1.214, 1.186, 1.171, 1.164, 1.158, 1.156",\
"1.404, 1.372, 1.306, 1.252, 1.215, 1.187, 1.171, 1.16, 1.158, 1.157",\
"1.406, 1.374, 1.311, 1.256, 1.218, 1.191, 1.176, 1.167, 1.163, 1.159",\
"1.414, 1.383, 1.319, 1.264, 1.226, 1.198, 1.182, 1.171, 1.169, 1.167",\
"1.425, 1.394, 1.33, 1.274, 1.237, 1.209, 1.196, 1.184, 1.179, 1.178",\
"1.44, 1.41, 1.346, 1.291, 1.252, 1.224, 1.207, 1.199, 1.194, 1.192",\
"1.459, 1.426, 1.362, 1.308, 1.271, 1.243, 1.226, 1.214, 1.211, 1.21",\
"1.48, 1.448, 1.386, 1.328, 1.289, 1.266, 1.251, 1.239, 1.233, 1.229",\
"1.502, 1.47, 1.407, 1.35, 1.308, 1.281, 1.268, 1.264, 1.258, 1.253");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
index_2("0.001, 0.006667, 0.02656, 0.06454, 0.1237, 0.2068, 0.316, 0.4537, 0.6217, 0.822");
values("0.584, 0.6018, 0.6518, 0.7262, 0.8228, 0.9448, 1.098, 1.288, 1.519, 1.796",\
"0.589, 0.607, 0.6568, 0.7313, 0.8279, 0.95, 1.103, 1.293, 1.525, 1.801",\
"0.6108, 0.6286, 0.6786, 0.7531, 0.8496, 0.9717, 1.125, 1.315, 1.546, 1.823",\
"0.6568, 0.6747, 0.7245, 0.7989, 0.8954, 1.018, 1.171, 1.361, 1.592, 1.869",\
"0.7245, 0.7425, 0.7923, 0.8669, 0.9634, 1.086, 1.239, 1.429, 1.66, 1.936",\
"0.8072, 0.8254, 0.8752, 0.9495, 1.046, 1.168, 1.321, 1.511, 1.743, 2.019",\
"0.9007, 0.9188, 0.9684, 1.043, 1.14, 1.262, 1.415, 1.605, 1.836, 2.113",\
"1.004, 1.022, 1.072, 1.147, 1.243, 1.365, 1.518, 1.708, 1.94, 2.216",\
"1.117, 1.135, 1.185, 1.26, 1.356, 1.478, 1.631, 1.821, 2.053, 2.329",\
"1.24, 1.258, 1.308, 1.383, 1.479, 1.601, 1.754, 1.944, 2.175, 2.452");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
index_2("0.001, 0.006667, 0.02656, 0.06454, 0.1237, 0.2068, 0.316, 0.4537, 0.6217, 0.822");
values("0.648, 0.6653, 0.7143, 0.7969, 0.924, 1.104, 1.343, 1.646, 2.017, 2.459",\
"0.6531, 0.6705, 0.7192, 0.8019, 0.9292, 1.109, 1.348, 1.651, 2.022, 2.465",\
"0.6755, 0.6927, 0.7414, 0.8241, 0.9515, 1.131, 1.371, 1.674, 2.045, 2.487",\
"0.7229, 0.7401, 0.7891, 0.8718, 0.9991, 1.179, 1.418, 1.721, 2.092, 2.535",\
"0.7937, 0.811, 0.8599, 0.9425, 1.07, 1.25, 1.489, 1.792, 2.163, 2.605",\
"0.8812, 0.8983, 0.9472, 1.03, 1.157, 1.337, 1.576, 1.879, 2.25, 2.693",\
"0.9814, 0.9989, 1.048, 1.13, 1.257, 1.437, 1.677, 1.979, 2.35, 2.793",\
"1.092, 1.109, 1.158, 1.24, 1.368, 1.548, 1.786, 2.09, 2.46, 2.903",\
"1.211, 1.228, 1.277, 1.36, 1.487, 1.667, 1.906, 2.209, 2.579, 3.022",\
"1.34, 1.357, 1.406, 1.489, 1.616, 1.795, 2.034, 2.337, 2.708, 3.15");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
index_2("0.001, 0.006667, 0.02656, 0.06454, 0.1237, 0.2068, 0.316, 0.4537, 0.6217, 0.822");
values("0.1035, 0.123, 0.1758, 0.2586, 0.3793, 0.5539, 0.7957, 1.112, 1.505, 1.979",\
"0.1044, 0.1232, 0.1759, 0.2586, 0.3789, 0.5542, 0.796, 1.112, 1.505, 1.978",\
"0.1043, 0.1229, 0.176, 0.2588, 0.3791, 0.554, 0.7958, 1.111, 1.504, 1.978",\
"0.1044, 0.1237, 0.1757, 0.2586, 0.3793, 0.5552, 0.7964, 1.111, 1.506, 1.979",\
"0.1042, 0.1234, 0.176, 0.2588, 0.3792, 0.554, 0.7954, 1.111, 1.506, 1.978",\
"0.1036, 0.123, 0.176, 0.2588, 0.3794, 0.554, 0.7952, 1.112, 1.505, 1.976",\
"0.1038, 0.1234, 0.176, 0.259, 0.3786, 0.5548, 0.7962, 1.112, 1.506, 1.977",\
"0.1038, 0.1238, 0.1764, 0.2592, 0.3796, 0.5544, 0.7952, 1.112, 1.506, 1.978",\
"0.1042, 0.1236, 0.1762, 0.2592, 0.3798, 0.5552, 0.7964, 1.111, 1.503, 1.978",\
"0.105, 0.124, 0.1764, 0.2598, 0.3798, 0.5544, 0.7956, 1.111, 1.503, 1.975");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04333, 0.1252, 0.2816, 0.5252, 0.8671, 1.317, 1.884, 2.575, 3.4");
index_2("0.001, 0.006667, 0.02656, 0.06454, 0.1237, 0.2068, 0.316, 0.4537, 0.6217, 0.822");
values("0.08968, 0.1105, 0.1779, 0.3191, 0.5529, 0.8875, 1.333, 1.895, 2.58, 3.393",\
"0.0897, 0.1109, 0.1779, 0.3191, 0.5524, 0.8874, 1.332, 1.895, 2.581, 3.393",\
"0.08996, 0.1108, 0.1778, 0.3191, 0.5525, 0.8874, 1.333, 1.895, 2.581, 3.393",\
"0.0893, 0.1105, 0.178, 0.3191, 0.5524, 0.8874, 1.334, 1.893, 2.577, 3.392",\
"0.0896, 0.1104, 0.1778, 0.319, 0.553, 0.8874, 1.333, 1.895, 2.581, 3.393",\
"0.089, 0.1096, 0.1772, 0.319, 0.5528, 0.8874, 1.333, 1.892, 2.577, 3.396",\
"0.0888, 0.1096, 0.1774, 0.3194, 0.5526, 0.887, 1.334, 1.893, 2.579, 3.393",\
"0.0894, 0.1102, 0.1776, 0.3192, 0.5526, 0.8876, 1.334, 1.895, 2.58, 3.391",\
"0.0892, 0.11, 0.1776, 0.3194, 0.552, 0.889, 1.334, 1.895, 2.581, 3.392",\
"0.0892, 0.1106, 0.1778, 0.319, 0.5522, 0.8876, 1.332, 1.893, 2.579, 3.393");
}
}
}
}