blob: fe860868f7abf1b6441533aedbe94173e12cbfaa [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.0258478" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.02741805" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.01939905" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.0273196" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.02741805" ;
}
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.81 ;
min_pulse_width_high : 0.378 ;
min_pulse_width_low : 0.395 ;
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.3806, 0.3807, 0.3877, 0.4167, 0.4757, 0.5677, 0.6936, 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.2471, 0.2469, 0.2519, 0.2757, 0.3256, 0.4046, 0.5148, 0.6575, \
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.3874, 0.4162, 0.4752, 0.5672, 0.6936, 0.8553, \
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.2472, 0.2474, 0.2522, 0.2761, 0.3259, 0.4049, 0.5149, 0.6577, \
0.8346, 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.345");
}
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.395");
}
rise_constraint(scalar) {
values("0.321");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("0.763");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("0.81");
}
}
}
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 : 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.07186, 0.07245, 0.08157, 0.1047, 0.145, 0.2037, 0.2823, 0.382, \
0.5042, 0.6504");
}
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.005909, 0.006357, 0.01235, 0.03047, 0.06377, 0.1134, 0.1809, \
0.2672, 0.3734, 0.5007");
}
}
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.2652, 0.2657, 0.2722, 0.2936, 0.3362, 0.4026, 0.4939, 0.6108, \
0.7545, 0.9261");
}
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.1771, 0.1946, 0.2286, 0.2815, 0.3551, 0.4507, \
0.5692, 0.7123");
}
}
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.103, 0.112, 0.126, 0.166, 0.218, 0.275, 0.341, 0.418, 0.507, 0.603",\
"0.098, 0.106, 0.116, 0.161, 0.215, 0.269, 0.329, 0.411, 0.496, 0.597",\
"0.074, 0.079, 0.087, 0.13, 0.182, 0.243, 0.302, 0.385, 0.472, 0.57",\
"0.015, 0.022, 0.034, 0.078, 0.127, 0.181, 0.244, 0.325, 0.409, 0.503",\
"-0.051, -0.051, -0.036, 0.004, 0.049, 0.102, 0.158, 0.235, 0.32, 0.416",\
"-0.135, -0.131, -0.119, -0.081, -0.04, 0.01, 0.057, 0.132, 0.208, 0.297",\
"-0.228, -0.222, -0.214, -0.175, -0.138, -0.103, -0.054, 0.006, 0.08, 0.163",\
"-0.336, -0.329, -0.321, -0.285, -0.26, -0.223, -0.185, -0.123, -0.06, 0.018",\
"-0.453, -0.449, -0.444, -0.409, -0.391, -0.364, -0.324, -0.278, -0.216, -0.148",\
"-0.594, -0.588, -0.579, -0.55, -0.534, -0.52, -0.49, -0.448, -0.394, -0.331");
}
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.247, 0.327, 0.415, 0.51, 0.619, 0.73",\
"0.135, 0.139, 0.158, 0.204, 0.271, 0.347, 0.43, 0.527, 0.634, 0.748",\
"0.178, 0.181, 0.202, 0.245, 0.306, 0.385, 0.469, 0.567, 0.675, 0.788",\
"0.243, 0.252, 0.265, 0.307, 0.367, 0.441, 0.53, 0.624, 0.726, 0.838",\
"0.345, 0.349, 0.363, 0.403, 0.461, 0.522, 0.612, 0.697, 0.8, 0.913",\
"0.477, 0.481, 0.495, 0.532, 0.576, 0.638, 0.713, 0.801, 0.901, 1.01");
}
}
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.151, -0.24",\
"0.253, 0.251, 0.226, 0.188, 0.136, 0.079, 0.014, -0.062, -0.145, -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.416, 0.411, 0.388, 0.343, 0.296, 0.232, 0.178, 0.098, 0.02, -0.072",\
"0.524, 0.517, 0.496, 0.459, 0.405, 0.338, 0.276, 0.208, 0.131, 0.038",\
"0.656, 0.657, 0.63, 0.594, 0.534, 0.471, 0.408, 0.335, 0.261, 0.176",\
"0.819, 0.817, 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.665, 0.59, 0.513",\
"1.216, 1.214, 1.192, 1.142, 1.074, 1.009, 0.939, 0.864, 0.788, 0.704");
}
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.147, 0.128, 0.089, 0.033, -0.037, -0.115, -0.189, -0.272, -0.378",\
"0.161, 0.152, 0.136, 0.094, 0.035, -0.037, -0.108, -0.185, -0.273, -0.362",\
"0.18, 0.165, 0.145, 0.11, 0.05, -0.024, -0.094, -0.177, -0.263, -0.357",\
"0.193, 0.183, 0.168, 0.124, 0.064, -0.008, -0.087, -0.16, -0.255, -0.356",\
"0.218, 0.208, 0.182, 0.142, 0.08, 0.007, -0.069, -0.159, -0.256, -0.357",\
"0.227, 0.225, 0.196, 0.154, 0.094, 0.01, -0.074, -0.153, -0.251, -0.366",\
"0.228, 0.215, 0.198, 0.157, 0.089, 0.006, -0.081, -0.168, -0.265, -0.379",\
"0.215, 0.2, 0.183, 0.137, 0.072, -0.003, -0.091, -0.189, -0.289, -0.402",\
"0.185, 0.172, 0.152, 0.109, 0.036, -0.035, -0.124, -0.221, -0.324, -0.445",\
"0.136, 0.127, 0.1, 0.059, -0.007, -0.091, -0.176, -0.274, -0.374, -0.497");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.4113 ;
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.003832, 0.01377, 0.03275, 0.06232, 0.1038, 0.1584, 0.2272, 0.3112, 0.4113");
values("0.7694, 0.7556, 0.7241, 0.6949, 0.6768, 0.6647, 0.6565, 0.6505, 0.6463, 0.6432",\
"0.7695, 0.7556, 0.7242, 0.695, 0.6768, 0.6648, 0.6564, 0.6505, 0.6462, 0.6432",\
"0.7698, 0.7563, 0.7246, 0.6954, 0.677, 0.665, 0.6569, 0.6507, 0.6467, 0.6434",\
"0.7714, 0.7579, 0.7262, 0.6974, 0.6789, 0.6669, 0.6586, 0.6528, 0.6484, 0.6453",\
"0.7794, 0.766, 0.7344, 0.7051, 0.6867, 0.6747, 0.6662, 0.6603, 0.6561, 0.653",\
"0.7938, 0.7801, 0.7482, 0.7187, 0.7005, 0.6883, 0.68, 0.674, 0.6697, 0.6665",\
"0.8135, 0.7993, 0.7676, 0.7382, 0.7197, 0.7074, 0.6989, 0.6928, 0.6885, 0.6855",\
"0.8365, 0.8231, 0.791, 0.7609, 0.7422, 0.7298, 0.7208, 0.7147, 0.7103, 0.707",\
"0.8642, 0.8502, 0.818, 0.7877, 0.7686, 0.7556, 0.7473, 0.741, 0.7364, 0.7332",\
"0.8955, 0.8816, 0.8485, 0.8175, 0.7984, 0.7854, 0.7762, 0.7699, 0.7653, 0.7619");
}
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.003832, 0.01377, 0.03275, 0.06232, 0.1038, 0.1584, 0.2272, 0.3112, 0.4113");
values("0.8976, 0.8859, 0.8631, 0.8443, 0.8307, 0.8225, 0.8185, 0.8179, 0.8172, 0.8179",\
"0.8979, 0.8853, 0.8625, 0.8445, 0.8309, 0.8227, 0.8191, 0.8179, 0.8172, 0.8184",\
"0.898, 0.8869, 0.8638, 0.8452, 0.8317, 0.8234, 0.8197, 0.8185, 0.8183, 0.819",\
"0.9018, 0.8891, 0.8663, 0.8479, 0.8348, 0.8266, 0.8228, 0.8216, 0.8215, 0.8216",\
"0.9087, 0.8971, 0.8744, 0.855, 0.8419, 0.8338, 0.8298, 0.8291, 0.8284, 0.8291",\
"0.9195, 0.9075, 0.8844, 0.8668, 0.8534, 0.8449, 0.8417, 0.8399, 0.8398, 0.8405",\
"0.9355, 0.9232, 0.9006, 0.8826, 0.8692, 0.8604, 0.8572, 0.8555, 0.8548, 0.8555",\
"0.9557, 0.9432, 0.9198, 0.9011, 0.889, 0.881, 0.8759, 0.8742, 0.8735, 0.8742",\
"0.9761, 0.9662, 0.9427, 0.9229, 0.9084, 0.9014, 0.8991, 0.8963, 0.8944, 0.8946",\
"0.9985, 0.9861, 0.9629, 0.9435, 0.9293, 0.9209, 0.9183, 0.9193, 0.9197, 0.9171");
}
}
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.003832, 0.01377, 0.03275, 0.06232, 0.1038, 0.1584, 0.2272, 0.3112, 0.4113");
values("0.5188, 0.5348, 0.5794, 0.6469, 0.7365, 0.8535, 1.004, 1.194, 1.425, 1.702",\
"0.5239, 0.54, 0.5845, 0.652, 0.7415, 0.8586, 1.009, 1.199, 1.431, 1.707",\
"0.5456, 0.5616, 0.6064, 0.6738, 0.7633, 0.8804, 1.031, 1.221, 1.452, 1.728",\
"0.5917, 0.6076, 0.6522, 0.7198, 0.8094, 0.9264, 1.077, 1.267, 1.498, 1.775",\
"0.6596, 0.6755, 0.7202, 0.7877, 0.8773, 0.9943, 1.145, 1.334, 1.566, 1.842",\
"0.7424, 0.7586, 0.8031, 0.8705, 0.9601, 1.077, 1.228, 1.417, 1.649, 1.925",\
"0.8362, 0.8525, 0.897, 0.9645, 1.054, 1.171, 1.322, 1.511, 1.743, 2.019",\
"0.94, 0.9558, 1.001, 1.068, 1.158, 1.274, 1.425, 1.615, 1.846, 2.122",\
"1.053, 1.069, 1.114, 1.181, 1.271, 1.388, 1.538, 1.728, 1.959, 2.236",\
"1.176, 1.192, 1.237, 1.304, 1.394, 1.511, 1.661, 1.851, 2.082, 2.359");
}
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.003832, 0.01377, 0.03275, 0.06232, 0.1038, 0.1584, 0.2272, 0.3112, 0.4113");
values("0.578, 0.5941, 0.6405, 0.7231, 0.8511, 1.032, 1.273, 1.575, 1.946, 2.388",\
"0.5834, 0.599, 0.6455, 0.728, 0.8562, 1.037, 1.278, 1.58, 1.951, 2.394",\
"0.6053, 0.6214, 0.6678, 0.7502, 0.8784, 1.059, 1.3, 1.603, 1.974, 2.416",\
"0.6532, 0.6688, 0.7153, 0.7979, 0.926, 1.107, 1.347, 1.65, 2.021, 2.464",\
"0.7239, 0.7399, 0.7862, 0.8686, 0.9968, 1.178, 1.418, 1.721, 2.092, 2.534",\
"0.8113, 0.8271, 0.8737, 0.9565, 1.084, 1.266, 1.505, 1.809, 2.179, 2.622",\
"0.9115, 0.9274, 0.9738, 1.057, 1.184, 1.366, 1.606, 1.909, 2.279, 2.722",\
"1.022, 1.038, 1.084, 1.167, 1.295, 1.476, 1.716, 2.019, 2.39, 2.832",\
"1.141, 1.158, 1.204, 1.287, 1.415, 1.596, 1.835, 2.138, 2.509, 2.951",\
"1.271, 1.286, 1.333, 1.416, 1.543, 1.724, 1.964, 2.267, 2.637, 3.08");
}
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.003832, 0.01377, 0.03275, 0.06232, 0.1038, 0.1584, 0.2272, 0.3112, 0.4113");
values("0.07752, 0.09484, 0.1441, 0.2231, 0.3452, 0.5272, 0.7779, 1.099, 1.496, 1.968",\
"0.07762, 0.09506, 0.1441, 0.2231, 0.3459, 0.5276, 0.7773, 1.099, 1.496, 1.969",\
"0.07812, 0.09472, 0.144, 0.2232, 0.3453, 0.5275, 0.778, 1.1, 1.496, 1.968",\
"0.07756, 0.09486, 0.1441, 0.223, 0.3454, 0.5276, 0.778, 1.1, 1.494, 1.968",\
"0.0777, 0.09518, 0.144, 0.2232, 0.3456, 0.5276, 0.7768, 1.099, 1.496, 1.968",\
"0.0778, 0.0948, 0.1442, 0.2232, 0.3458, 0.5272, 0.7768, 1.1, 1.496, 1.968",\
"0.078, 0.0952, 0.1446, 0.2232, 0.3456, 0.5268, 0.7774, 1.099, 1.496, 1.969",\
"0.078, 0.0956, 0.1448, 0.2232, 0.3464, 0.527, 0.7768, 1.099, 1.494, 1.969",\
"0.0782, 0.0958, 0.1448, 0.2238, 0.3464, 0.5268, 0.7768, 1.098, 1.493, 1.965",\
"0.079, 0.096, 0.145, 0.224, 0.3466, 0.5278, 0.7774, 1.1, 1.494, 1.966");
}
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.003832, 0.01377, 0.03275, 0.06232, 0.1038, 0.1584, 0.2272, 0.3112, 0.4113");
values("0.07566, 0.09556, 0.1653, 0.3117, 0.5469, 0.8825, 1.329, 1.89, 2.569, 3.384",\
"0.07564, 0.0953, 0.1654, 0.3116, 0.5469, 0.8827, 1.329, 1.89, 2.569, 3.384",\
"0.07534, 0.0956, 0.1653, 0.3116, 0.5469, 0.8827, 1.329, 1.89, 2.569, 3.384",\
"0.07566, 0.09528, 0.1653, 0.3117, 0.5469, 0.8828, 1.329, 1.89, 2.569, 3.387",\
"0.0756, 0.0954, 0.1652, 0.3118, 0.547, 0.8826, 1.329, 1.89, 2.569, 3.384",\
"0.075, 0.0948, 0.1652, 0.3112, 0.5468, 0.883, 1.328, 1.887, 2.571, 3.383",\
"0.0752, 0.095, 0.1652, 0.311, 0.5466, 0.883, 1.329, 1.886, 2.569, 3.384",\
"0.0754, 0.0952, 0.1654, 0.3116, 0.5474, 0.883, 1.327, 1.89, 2.575, 3.384",\
"0.0756, 0.0956, 0.1654, 0.3118, 0.5472, 0.8834, 1.329, 1.886, 2.572, 3.384",\
"0.0758, 0.0958, 0.166, 0.3118, 0.5468, 0.8834, 1.327, 1.887, 2.569, 3.385");
}
}
}
}