blob: c544c194a1dd08ddd6743d331f1beb58ca19a5b1 [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_mcu9t5v0__dffnq_1) {
area : 84.672000 ;
ff(IQ1,IQN1) {
clocked_on : "(!CLKN)" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&!D" ;
value : "0.017039" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.01958165" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.0140613" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.0194458" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.01958165" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.004982 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 3.6 ;
min_period : 0.714 ;
min_pulse_width_high : 0.31 ;
min_pulse_width_low : 0.31 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.5026, 0.5029, 0.5168, 0.569, 0.6706, 0.8243, 1.032, 1.297, 1.621, \
2.008");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.3244, 0.3244, 0.3351, 0.379, 0.4657, 0.5999, 0.7848, 1.022, \
1.315, 1.664");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.5031, 0.5035, 0.5172, 0.5696, 0.6712, 0.825, 1.033, 1.298, 1.622, \
2.008");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.3242, 0.3241, 0.3344, 0.3787, 0.4653, 0.5995, 0.7844, 1.022, \
1.314, 1.663");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.292");
}
rise_constraint(scalar) {
values("0.31");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.31");
}
rise_constraint(scalar) {
values("0.266");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("0.645");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("0.714");
}
}
}
pin(D) {
capacitance : 0.003884 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 3.6 ;
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.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.1072, 0.1087, 0.1254, 0.1673, 0.2383, 0.3413, 0.4783, 0.6521, \
0.8649, 1.119");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.01046, 0.01106, 0.0221, 0.05612, 0.1178, 0.2092, 0.3321, 0.4889, \
0.6815, 0.9117");
}
}
internal_power() {
when : "CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.3887, 0.3901, 0.403, 0.4432, 0.5202, 0.6375, 0.7965, 0.9987, \
1.246, 1.54");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.2582, 0.2586, 0.2684, 0.3014, 0.3649, 0.4643, 0.6008, 0.7769, \
0.9948, 1.256");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.04, 0.044, 0.065, 0.1, 0.147, 0.192, 0.255, 0.327, 0.414, 0.508",\
"0.03, 0.04, 0.06, 0.098, 0.135, 0.183, 0.25, 0.324, 0.409, 0.501",\
"0.005, 0.014, 0.03, 0.069, 0.109, 0.162, 0.225, 0.293, 0.38, 0.48",\
"-0.034, -0.029, -0.011, 0.024, 0.064, 0.113, 0.174, 0.24, 0.33, 0.424",\
"-0.092, -0.086, -0.064, -0.032, 0.006, 0.05, 0.109, 0.175, 0.254, 0.345",\
"-0.152, -0.149, -0.131, -0.092, -0.058, -0.019, 0.03, 0.094, 0.164, 0.252",\
"-0.223, -0.218, -0.2, -0.165, -0.14, -0.102, -0.057, -0.002, 0.064, 0.148",\
"-0.306, -0.303, -0.288, -0.252, -0.227, -0.198, -0.152, -0.099, -0.046, 0.033",\
"-0.4, -0.388, -0.373, -0.354, -0.329, -0.302, -0.259, -0.217, -0.161, -0.094",\
"-0.5, -0.493, -0.481, -0.453, -0.439, -0.42, -0.382, -0.342, -0.292, -0.228");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.086, 0.093, 0.112, 0.166, 0.226, 0.305, 0.397, 0.488, 0.597, 0.718",\
"0.086, 0.086, 0.11, 0.16, 0.224, 0.304, 0.393, 0.486, 0.594, 0.712",\
"0.075, 0.08, 0.099, 0.148, 0.216, 0.291, 0.376, 0.473, 0.585, 0.705",\
"0.059, 0.067, 0.087, 0.137, 0.2, 0.279, 0.367, 0.462, 0.57, 0.687",\
"0.057, 0.06, 0.078, 0.135, 0.2, 0.278, 0.364, 0.458, 0.57, 0.682",\
"0.062, 0.064, 0.085, 0.137, 0.203, 0.286, 0.368, 0.466, 0.577, 0.695",\
"0.084, 0.094, 0.111, 0.165, 0.223, 0.302, 0.394, 0.486, 0.599, 0.714",\
"0.127, 0.135, 0.149, 0.203, 0.261, 0.338, 0.422, 0.519, 0.632, 0.747",\
"0.193, 0.203, 0.213, 0.263, 0.32, 0.386, 0.47, 0.566, 0.677, 0.794",\
"0.284, 0.286, 0.297, 0.347, 0.395, 0.46, 0.543, 0.633, 0.743, 0.857");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.2, 0.197, 0.169, 0.13, 0.081, 0.023, -0.042, -0.114, -0.195, -0.281",\
"0.205, 0.206, 0.18, 0.136, 0.084, 0.03, -0.034, -0.108, -0.188, -0.282",\
"0.237, 0.226, 0.208, 0.165, 0.114, 0.054, -0.007, -0.08, -0.16, -0.256",\
"0.286, 0.28, 0.252, 0.218, 0.161, 0.103, 0.046, -0.03, -0.107, -0.2",\
"0.36, 0.354, 0.332, 0.284, 0.232, 0.178, 0.114, 0.043, -0.038, -0.128",\
"0.451, 0.448, 0.42, 0.383, 0.327, 0.266, 0.206, 0.137, 0.056, -0.033",\
"0.562, 0.553, 0.527, 0.495, 0.436, 0.374, 0.315, 0.242, 0.167, 0.08",\
"0.685, 0.681, 0.652, 0.612, 0.557, 0.496, 0.435, 0.369, 0.291, 0.214",\
"0.823, 0.821, 0.79, 0.747, 0.694, 0.632, 0.568, 0.503, 0.429, 0.349",\
"0.973, 0.969, 0.949, 0.902, 0.843, 0.779, 0.721, 0.651, 0.578, 0.498");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.137, 0.136, 0.114, 0.075, 0.026, -0.028, -0.074, -0.124, -0.174, -0.235",\
"0.143, 0.14, 0.114, 0.079, 0.028, -0.022, -0.066, -0.119, -0.181, -0.236",\
"0.159, 0.151, 0.129, 0.087, 0.043, -0.014, -0.057, -0.114, -0.16, -0.218",\
"0.182, 0.177, 0.154, 0.113, 0.057, -0.001, -0.046, -0.108, -0.161, -0.219",\
"0.21, 0.208, 0.18, 0.137, 0.084, 0.024, -0.042, -0.102, -0.162, -0.221",\
"0.231, 0.229, 0.199, 0.155, 0.099, 0.04, -0.036, -0.109, -0.173, -0.246",\
"0.247, 0.242, 0.216, 0.165, 0.109, 0.042, -0.029, -0.109, -0.193, -0.271",\
"0.247, 0.243, 0.215, 0.169, 0.109, 0.042, -0.036, -0.119, -0.211, -0.301",\
"0.244, 0.238, 0.211, 0.169, 0.104, 0.036, -0.049, -0.134, -0.228, -0.323",\
"0.226, 0.217, 0.19, 0.141, 0.081, 0.011, -0.068, -0.159, -0.256, -0.359");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.3595 ;
max_transition : 3.6 ;
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.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.001, 0.003474, 0.01216, 0.02875, 0.05459, 0.09085, 0.1386, 0.1987, 0.272, 0.3595");
values("0.6671, 0.6581, 0.6375, 0.6206, 0.6104, 0.6038, 0.5992, 0.596, 0.5938, 0.5921",\
"0.6671, 0.6576, 0.6374, 0.6207, 0.6106, 0.6039, 0.5993, 0.5961, 0.5939, 0.5922",\
"0.6672, 0.6581, 0.6372, 0.6207, 0.6107, 0.6039, 0.5993, 0.5961, 0.5939, 0.5923",\
"0.6709, 0.6613, 0.6413, 0.6246, 0.6144, 0.6077, 0.6032, 0.5999, 0.5977, 0.596",\
"0.6833, 0.6737, 0.6532, 0.6366, 0.6264, 0.6196, 0.6152, 0.612, 0.6097, 0.6081",\
"0.7029, 0.6929, 0.6726, 0.656, 0.646, 0.6391, 0.6345, 0.6312, 0.629, 0.6273",\
"0.7283, 0.7184, 0.6974, 0.6803, 0.6704, 0.6633, 0.6584, 0.655, 0.6529, 0.651",\
"0.7583, 0.7491, 0.7278, 0.7104, 0.6995, 0.6928, 0.688, 0.6846, 0.6821, 0.6804",\
"0.7926, 0.7836, 0.7619, 0.744, 0.733, 0.7264, 0.7214, 0.7181, 0.7158, 0.7139",\
"0.8309, 0.8211, 0.7993, 0.7817, 0.7707, 0.7633, 0.7584, 0.755, 0.7525, 0.7507");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.001, 0.003474, 0.01216, 0.02875, 0.05459, 0.09085, 0.1386, 0.1987, 0.272, 0.3595");
values("0.7873, 0.7795, 0.7645, 0.754, 0.7468, 0.7429, 0.7408, 0.7415, 0.7416, 0.7424",\
"0.7872, 0.7794, 0.7644, 0.7539, 0.7467, 0.7428, 0.7406, 0.7411, 0.7418, 0.7426",\
"0.7897, 0.7819, 0.7674, 0.7562, 0.7488, 0.7451, 0.7439, 0.7433, 0.7439, 0.7448",\
"0.7948, 0.7869, 0.7718, 0.7614, 0.7539, 0.7499, 0.7487, 0.7487, 0.7493, 0.7502",\
"0.8045, 0.7967, 0.7819, 0.7713, 0.7641, 0.7595, 0.7581, 0.7587, 0.7593, 0.7602",\
"0.8189, 0.8112, 0.796, 0.7854, 0.7783, 0.773, 0.7726, 0.7726, 0.7739, 0.7742",\
"0.8374, 0.8296, 0.8149, 0.8043, 0.7975, 0.7923, 0.7916, 0.7916, 0.7922, 0.7925",\
"0.8556, 0.8476, 0.8334, 0.8219, 0.8148, 0.8126, 0.8114, 0.8103, 0.8098, 0.8112",\
"0.877, 0.8687, 0.8541, 0.8426, 0.8349, 0.8322, 0.8319, 0.8324, 0.8325, 0.8334",\
"0.8991, 0.8917, 0.8771, 0.8653, 0.857, 0.8529, 0.8523, 0.8561, 0.8579, 0.8587");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.001, 0.003474, 0.01216, 0.02875, 0.05459, 0.09085, 0.1386, 0.1987, 0.272, 0.3595");
values("0.4436, 0.4594, 0.5046, 0.5754, 0.673, 0.8037, 0.9743, 1.19, 1.453, 1.767",\
"0.4489, 0.4648, 0.51, 0.5808, 0.6783, 0.8091, 0.9797, 1.195, 1.458, 1.772",\
"0.4725, 0.4882, 0.5335, 0.6043, 0.7018, 0.8325, 1.003, 1.218, 1.482, 1.795",\
"0.521, 0.5369, 0.582, 0.6528, 0.7504, 0.8811, 1.052, 1.267, 1.53, 1.844",\
"0.5897, 0.6055, 0.6507, 0.7215, 0.819, 0.9498, 1.12, 1.336, 1.598, 1.912",\
"0.6712, 0.6871, 0.7323, 0.8032, 0.9008, 1.032, 1.202, 1.417, 1.68, 1.994",\
"0.7633, 0.779, 0.8241, 0.8949, 0.9925, 1.123, 1.294, 1.509, 1.772, 2.086",\
"0.8648, 0.8806, 0.9258, 0.9965, 1.094, 1.225, 1.395, 1.611, 1.873, 2.187",\
"0.9762, 0.992, 1.037, 1.108, 1.205, 1.336, 1.507, 1.722, 1.985, 2.298",\
"1.098, 1.113, 1.159, 1.229, 1.327, 1.458, 1.628, 1.843, 2.106, 2.42");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.001, 0.003474, 0.01216, 0.02875, 0.05459, 0.09085, 0.1386, 0.1987, 0.272, 0.3595");
values("0.4907, 0.5064, 0.5547, 0.6427, 0.7793, 0.9729, 1.228, 1.551, 1.945, 2.415",\
"0.4961, 0.5118, 0.5601, 0.6481, 0.7847, 0.9783, 1.233, 1.556, 1.95, 2.42",\
"0.5204, 0.5362, 0.5843, 0.6721, 0.809, 1.002, 1.258, 1.58, 1.975, 2.445",\
"0.5701, 0.5859, 0.6339, 0.7218, 0.8587, 1.052, 1.307, 1.629, 2.024, 2.495",\
"0.64, 0.6557, 0.704, 0.792, 0.9287, 1.122, 1.377, 1.7, 2.094, 2.564",\
"0.7238, 0.7396, 0.7874, 0.8752, 1.012, 1.205, 1.461, 1.784, 2.177, 2.647",\
"0.8181, 0.8339, 0.882, 0.9699, 1.106, 1.3, 1.555, 1.877, 2.272, 2.743",\
"0.9207, 0.9364, 0.9847, 1.073, 1.209, 1.402, 1.658, 1.98, 2.374, 2.845",\
"1.033, 1.048, 1.097, 1.185, 1.321, 1.514, 1.77, 2.092, 2.486, 2.956",\
"1.154, 1.17, 1.218, 1.306, 1.442, 1.636, 1.891, 2.213, 2.607, 3.077");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.001, 0.003474, 0.01216, 0.02875, 0.05459, 0.09085, 0.1386, 0.1987, 0.272, 0.3595");
values("0.0753, 0.093, 0.1448, 0.2349, 0.378, 0.5898, 0.8771, 1.244, 1.694, 2.23",\
"0.0756, 0.09266, 0.1449, 0.2347, 0.3779, 0.5896, 0.8777, 1.245, 1.694, 2.23",\
"0.07528, 0.093, 0.1449, 0.2351, 0.3777, 0.5898, 0.8769, 1.243, 1.693, 2.228",\
"0.07542, 0.0928, 0.1449, 0.2349, 0.3783, 0.5888, 0.8778, 1.245, 1.693, 2.228",\
"0.07552, 0.0929, 0.145, 0.2348, 0.3778, 0.5892, 0.878, 1.245, 1.693, 2.23",\
"0.0756, 0.0928, 0.145, 0.2348, 0.3782, 0.5894, 0.878, 1.244, 1.694, 2.23",\
"0.0758, 0.0932, 0.1452, 0.2352, 0.3776, 0.5886, 0.8776, 1.244, 1.694, 2.229",\
"0.076, 0.0934, 0.1458, 0.2354, 0.3782, 0.5888, 0.8764, 1.242, 1.691, 2.228",\
"0.0764, 0.0936, 0.1458, 0.2358, 0.378, 0.5888, 0.8764, 1.243, 1.69, 2.225",\
"0.0768, 0.0942, 0.146, 0.236, 0.3778, 0.5892, 0.8772, 1.244, 1.691, 2.225");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.001, 0.003474, 0.01216, 0.02875, 0.05459, 0.09085, 0.1386, 0.1987, 0.272, 0.3595");
values("0.07702, 0.09786, 0.1739, 0.331, 0.5819, 0.9386, 1.409, 2.003, 2.724, 3.585",\
"0.07698, 0.0979, 0.1739, 0.331, 0.5819, 0.9387, 1.409, 2.003, 2.724, 3.585",\
"0.07698, 0.09764, 0.1741, 0.3303, 0.582, 0.9383, 1.409, 2.005, 2.724, 3.585",\
"0.07716, 0.09754, 0.1741, 0.3304, 0.5817, 0.9386, 1.408, 2.005, 2.724, 3.584",\
"0.07682, 0.09788, 0.1738, 0.331, 0.5818, 0.9392, 1.408, 2.004, 2.724, 3.585",\
"0.0762, 0.097, 0.174, 0.3308, 0.5818, 0.9384, 1.408, 2, 2.724, 3.585",\
"0.0768, 0.0974, 0.174, 0.331, 0.5818, 0.9386, 1.408, 2.005, 2.724, 3.586",\
"0.0762, 0.0972, 0.1738, 0.331, 0.5816, 0.939, 1.41, 2.005, 2.723, 3.585",\
"0.0762, 0.097, 0.1738, 0.331, 0.5816, 0.9398, 1.408, 2.001, 2.728, 3.585",\
"0.0764, 0.0974, 0.174, 0.3304, 0.5828, 0.9386, 1.409, 2.001, 2.724, 3.59");
}
}
}
}