blob: 8a6dd0932ae2c4d1acd57261c8e609529bcbbd35 [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.0004370265" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.000440433" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.000392526" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.000388143" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.000440433" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.003476 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 5 ;
min_period : 1.265 ;
min_pulse_width_high : 0.534 ;
min_pulse_width_low : 0.626 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.2505, 0.2499, 0.2504, 0.257, 0.2729, 0.2982, 0.3338, 0.3799, \
0.4378, 0.5075");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.1604, 0.1599, 0.16, 0.1651, 0.178, 0.1991, 0.23, 0.2708, 0.3221, \
0.3843");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.2504, 0.2499, 0.2504, 0.257, 0.273, 0.2982, 0.3336, 0.3801, \
0.4379, 0.5072");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.1604, 0.16, 0.1602, 0.1652, 0.1781, 0.1992, 0.23, 0.271, 0.3223, \
0.3845");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.571");
}
rise_constraint(scalar) {
values("0.534");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.626");
}
rise_constraint(scalar) {
values("0.473");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("1.183");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("1.265");
}
}
}
pin(D) {
capacitance : 0.002353 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 5 ;
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.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.04544, 0.04474, 0.04677, 0.05353, 0.06581, 0.08388, 0.1084, \
0.1397, 0.1782, 0.2243");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.004165, 0.003782, 0.004712, 0.009425, 0.0191, 0.03414, 0.05489, \
0.08161, 0.1148, 0.1546");
}
}
internal_power() {
when : "CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.1578, 0.1574, 0.1585, 0.1638, 0.1754, 0.1938, 0.2193, 0.2524, \
0.2937, 0.3432");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.1011, 0.1008, 0.1017, 0.1059, 0.1148, 0.1292, 0.1497, 0.177, \
0.2111, 0.2527");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.046, 0.051, 0.09, 0.152, 0.235, 0.322, 0.422, 0.534, 0.657, 0.8",\
"0.037, 0.042, 0.087, 0.145, 0.221, 0.313, 0.411, 0.524, 0.651, 0.791",\
"-0.004, 0.006, 0.04, 0.109, 0.184, 0.275, 0.372, 0.486, 0.615, 0.752",\
"-0.074, -0.07, -0.037, 0.031, 0.103, 0.194, 0.295, 0.406, 0.528, 0.673",\
"-0.176, -0.176, -0.139, -0.076, -0, 0.088, 0.189, 0.3, 0.42, 0.558",\
"-0.308, -0.299, -0.26, -0.194, -0.126, -0.04, 0.058, 0.164, 0.287, 0.422",\
"-0.453, -0.448, -0.411, -0.349, -0.279, -0.195, -0.096, 0.004, 0.123, 0.262",\
"-0.627, -0.618, -0.583, -0.518, -0.451, -0.375, -0.282, -0.176, -0.063, 0.074",\
"-0.819, -0.815, -0.774, -0.716, -0.652, -0.574, -0.488, -0.385, -0.267, -0.14",\
"-1.042, -1.035, -0.994, -0.939, -0.877, -0.806, -0.717, -0.62, -0.508, -0.379");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.195, 0.198, 0.237, 0.308, 0.412, 0.526, 0.656, 0.806, 0.972, 1.14",\
"0.184, 0.196, 0.226, 0.301, 0.404, 0.521, 0.649, 0.799, 0.959, 1.134",\
"0.16, 0.173, 0.202, 0.276, 0.381, 0.5, 0.628, 0.779, 0.942, 1.115",\
"0.139, 0.147, 0.185, 0.252, 0.352, 0.476, 0.606, 0.752, 0.91, 1.085",\
"0.129, 0.134, 0.166, 0.24, 0.344, 0.459, 0.592, 0.735, 0.899, 1.074",\
"0.129, 0.133, 0.173, 0.242, 0.342, 0.459, 0.593, 0.738, 0.898, 1.073",\
"0.149, 0.153, 0.189, 0.261, 0.359, 0.478, 0.61, 0.754, 0.915, 1.089",\
"0.189, 0.199, 0.236, 0.304, 0.403, 0.516, 0.642, 0.788, 0.952, 1.129",\
"0.259, 0.272, 0.296, 0.365, 0.46, 0.572, 0.697, 0.845, 1.01, 1.176",\
"0.352, 0.362, 0.395, 0.457, 0.551, 0.657, 0.784, 0.932, 1.083, 1.257");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.349, 0.337, 0.298, 0.23, 0.149, 0.049, -0.063, -0.19, -0.323, -0.472",\
"0.357, 0.35, 0.312, 0.242, 0.155, 0.059, -0.058, -0.177, -0.315, -0.467",\
"0.401, 0.393, 0.346, 0.28, 0.194, 0.093, -0.016, -0.14, -0.279, -0.427",\
"0.476, 0.465, 0.426, 0.358, 0.274, 0.179, 0.06, -0.067, -0.199, -0.348",\
"0.599, 0.587, 0.545, 0.48, 0.395, 0.289, 0.179, 0.056, -0.082, -0.234",\
"0.745, 0.737, 0.7, 0.63, 0.54, 0.44, 0.324, 0.199, 0.061, -0.086",\
"0.926, 0.918, 0.878, 0.807, 0.717, 0.618, 0.503, 0.369, 0.234, 0.084",\
"1.135, 1.124, 1.087, 1.018, 0.931, 0.819, 0.702, 0.571, 0.438, 0.283",\
"1.373, 1.373, 1.328, 1.254, 1.164, 1.054, 0.936, 0.808, 0.67, 0.51",\
"1.648, 1.639, 1.6, 1.524, 1.434, 1.318, 1.198, 1.063, 0.926, 0.776");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.189, 0.184, 0.151, 0.081, -0.009, -0.133, -0.271, -0.412, -0.581, -0.763",\
"0.198, 0.196, 0.164, 0.086, -0.008, -0.12, -0.263, -0.408, -0.575, -0.754",\
"0.228, 0.226, 0.179, 0.113, 0.019, -0.099, -0.233, -0.381, -0.546, -0.733",\
"0.269, 0.261, 0.228, 0.152, 0.059, -0.049, -0.19, -0.349, -0.513, -0.699",\
"0.313, 0.297, 0.263, 0.19, 0.092, -0.018, -0.155, -0.3, -0.471, -0.651",\
"0.344, 0.335, 0.299, 0.221, 0.125, 0.006, -0.122, -0.275, -0.444, -0.622",\
"0.36, 0.353, 0.317, 0.24, 0.141, 0.025, -0.106, -0.265, -0.432, -0.608",\
"0.362, 0.358, 0.321, 0.245, 0.148, 0.023, -0.113, -0.258, -0.425, -0.611",\
"0.342, 0.343, 0.298, 0.225, 0.126, 0.007, -0.129, -0.278, -0.45, -0.63",\
"0.304, 0.298, 0.261, 0.188, 0.085, -0.029, -0.168, -0.321, -0.484, -0.668");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.8989 ;
max_transition : 5 ;
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.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.001, 0.007197, 0.02895, 0.07049, 0.1352, 0.226, 0.3455, 0.4961, 0.6798, 0.8989");
values("0.6327, 0.6152, 0.5825, 0.5621, 0.5503, 0.5429, 0.538, 0.5349, 0.5325, 0.531",\
"0.6324, 0.6152, 0.5825, 0.5618, 0.5499, 0.5427, 0.538, 0.5348, 0.5325, 0.531",\
"0.6325, 0.6153, 0.5826, 0.562, 0.55, 0.543, 0.538, 0.535, 0.5328, 0.5312",\
"0.6328, 0.6156, 0.5831, 0.5622, 0.5504, 0.5428, 0.5381, 0.535, 0.533, 0.5314",\
"0.6343, 0.6171, 0.5843, 0.5635, 0.5515, 0.5443, 0.5397, 0.5365, 0.5342, 0.5327",\
"0.6362, 0.6194, 0.5863, 0.5659, 0.5538, 0.5464, 0.542, 0.539, 0.5367, 0.535",\
"0.6393, 0.6222, 0.5894, 0.5687, 0.5566, 0.5491, 0.5444, 0.5414, 0.5391, 0.5375",\
"0.6436, 0.6258, 0.5931, 0.5725, 0.5605, 0.5529, 0.5482, 0.545, 0.5428, 0.5412",\
"0.6479, 0.6303, 0.5973, 0.5767, 0.5647, 0.5572, 0.5524, 0.5492, 0.5469, 0.5453",\
"0.6529, 0.6352, 0.6022, 0.5812, 0.5693, 0.5619, 0.5573, 0.5539, 0.5517, 0.5501");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.001, 0.007197, 0.02895, 0.07049, 0.1352, 0.226, 0.3455, 0.4961, 0.6798, 0.8989");
values("0.72, 0.7104, 0.6948, 0.6813, 0.6747, 0.6718, 0.6748, 0.6768, 0.6791, 0.683",\
"0.7201, 0.7109, 0.6933, 0.6812, 0.6753, 0.6747, 0.674, 0.6765, 0.6792, 0.6831",\
"0.7202, 0.711, 0.6941, 0.6822, 0.6746, 0.6746, 0.6753, 0.6755, 0.6782, 0.6844",\
"0.7213, 0.7115, 0.6949, 0.6823, 0.6767, 0.6752, 0.6759, 0.6761, 0.6788, 0.6805",\
"0.7233, 0.714, 0.6974, 0.6849, 0.6784, 0.678, 0.6788, 0.679, 0.6812, 0.6856",\
"0.7259, 0.7169, 0.7001, 0.687, 0.68, 0.6799, 0.6806, 0.6808, 0.6844, 0.6865",\
"0.7288, 0.7187, 0.7027, 0.691, 0.6841, 0.6809, 0.6839, 0.685, 0.6877, 0.6893",\
"0.7326, 0.7229, 0.7081, 0.6937, 0.6895, 0.6858, 0.6883, 0.689, 0.6912, 0.6964",\
"0.7363, 0.7276, 0.7113, 0.6964, 0.6932, 0.6927, 0.6943, 0.6932, 0.6955, 0.6997",\
"0.7417, 0.7322, 0.7158, 0.7034, 0.6969, 0.6941, 0.6993, 0.7013, 0.7058, 0.7038");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.001, 0.007197, 0.02895, 0.07049, 0.1352, 0.226, 0.3455, 0.4961, 0.6798, 0.8989");
values("0.8736, 0.9017, 0.9767, 1.087, 1.227, 1.403, 1.627, 1.906, 2.246, 2.652",\
"0.8827, 0.9109, 0.9856, 1.095, 1.236, 1.412, 1.636, 1.915, 2.255, 2.661",\
"0.9181, 0.9462, 1.021, 1.131, 1.271, 1.448, 1.671, 1.95, 2.291, 2.697",\
"0.9914, 1.02, 1.094, 1.204, 1.344, 1.521, 1.744, 2.024, 2.364, 2.77",\
"1.098, 1.126, 1.201, 1.311, 1.451, 1.628, 1.851, 2.13, 2.471, 2.876",\
"1.223, 1.251, 1.326, 1.435, 1.575, 1.752, 1.976, 2.255, 2.595, 3.001",\
"1.364, 1.392, 1.466, 1.576, 1.716, 1.893, 2.117, 2.396, 2.736, 3.142",\
"1.521, 1.549, 1.624, 1.733, 1.874, 2.05, 2.274, 2.553, 2.893, 3.299",\
"1.692, 1.72, 1.795, 1.905, 2.045, 2.222, 2.445, 2.724, 3.065, 3.47",\
"1.878, 1.906, 1.981, 2.091, 2.231, 2.408, 2.631, 2.91, 3.251, 3.657");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.001, 0.007197, 0.02895, 0.07049, 0.1352, 0.226, 0.3455, 0.4961, 0.6798, 0.8989");
values("0.9826, 1.009, 1.086, 1.218, 1.422, 1.71, 2.09, 2.569, 3.153, 3.85",\
"0.9919, 1.018, 1.095, 1.227, 1.431, 1.719, 2.099, 2.578, 3.163, 3.859",\
"1.027, 1.054, 1.13, 1.263, 1.467, 1.755, 2.134, 2.613, 3.198, 3.895",\
"1.102, 1.128, 1.205, 1.337, 1.541, 1.829, 2.209, 2.687, 3.272, 3.969",\
"1.211, 1.237, 1.314, 1.446, 1.65, 1.938, 2.318, 2.796, 3.381, 4.079",\
"1.339, 1.365, 1.442, 1.574, 1.778, 2.066, 2.446, 2.924, 3.509, 4.206",\
"1.484, 1.51, 1.587, 1.72, 1.924, 2.212, 2.591, 3.07, 3.655, 4.353",\
"1.646, 1.673, 1.75, 1.882, 2.086, 2.374, 2.753, 3.232, 3.817, 4.514",\
"1.825, 1.852, 1.929, 2.061, 2.265, 2.553, 2.933, 3.411, 3.996, 4.693",\
"2.018, 2.044, 2.121, 2.254, 2.458, 2.746, 3.125, 3.604, 4.189, 4.885");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.001, 0.007197, 0.02895, 0.07049, 0.1352, 0.226, 0.3455, 0.4961, 0.6798, 0.8989");
values("0.118, 0.145, 0.2177, 0.3372, 0.5062, 0.755, 1.1, 1.551, 2.105, 2.766",\
"0.1179, 0.1444, 0.2181, 0.3374, 0.5056, 0.755, 1.1, 1.549, 2.106, 2.768",\
"0.1182, 0.145, 0.2182, 0.3372, 0.5062, 0.7552, 1.101, 1.55, 2.104, 2.769",\
"0.1184, 0.1446, 0.218, 0.3372, 0.506, 0.7534, 1.1, 1.549, 2.103, 2.769",\
"0.1182, 0.1446, 0.218, 0.3374, 0.5056, 0.755, 1.1, 1.549, 2.106, 2.769",\
"0.1176, 0.1442, 0.2178, 0.3372, 0.5058, 0.7544, 1.1, 1.55, 2.105, 2.767",\
"0.1178, 0.1442, 0.2178, 0.3372, 0.5058, 0.7542, 1.1, 1.549, 2.105, 2.767",\
"0.1182, 0.1444, 0.2182, 0.3376, 0.506, 0.7536, 1.1, 1.55, 2.105, 2.767",\
"0.1182, 0.1444, 0.2182, 0.3378, 0.5062, 0.7552, 1.1, 1.549, 2.103, 2.767",\
"0.118, 0.1444, 0.218, 0.3378, 0.506, 0.7542, 1.1, 1.549, 2.106, 2.766");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.001, 0.007197, 0.02895, 0.07049, 0.1352, 0.226, 0.3455, 0.4961, 0.6798, 0.8989");
values("0.09868, 0.1304, 0.236, 0.4498, 0.7992, 1.297, 1.953, 2.781, 3.785, 4.988",\
"0.099, 0.1306, 0.2364, 0.4498, 0.8002, 1.298, 1.953, 2.781, 3.786, 4.989",\
"0.0992, 0.1306, 0.2362, 0.4508, 0.8008, 1.298, 1.954, 2.778, 3.793, 4.995",\
"0.0992, 0.131, 0.236, 0.4508, 0.8006, 1.296, 1.954, 2.778, 3.793, 4.998",\
"0.0994, 0.1308, 0.236, 0.4498, 0.8002, 1.297, 1.954, 2.778, 3.793, 4.996",\
"0.0988, 0.1306, 0.236, 0.4508, 0.8006, 1.298, 1.954, 2.778, 3.792, 4.998",\
"0.0986, 0.13, 0.2362, 0.4496, 0.8002, 1.297, 1.953, 2.779, 3.793, 4.999",\
"0.0994, 0.1304, 0.2358, 0.4496, 0.7998, 1.297, 1.954, 2.779, 3.793, 4.989",\
"0.0984, 0.13, 0.236, 0.4498, 0.8006, 1.297, 1.951, 2.776, 3.785, 4.987",\
"0.099, 0.13, 0.2358, 0.4506, 0.8002, 1.298, 1.953, 2.778, 3.787, 4.987");
}
}
}
}