blob: 5372d0da3388201e69caf9780cba17bc3e90ed61 [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 : "8.12988e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "8.63136e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "6.34338e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "6.2892e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "8.63136e-05" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.003116 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 12 ;
min_period : 4.095 ;
min_pulse_width_high : 1.593 ;
min_pulse_width_low : 2.045 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.03757, 0.03747, 0.03722, 0.037, 0.03689, 0.03693, 0.03711, 0.03743, \
0.03789, 0.03852");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.02437, 0.02432, 0.02417, 0.02395, 0.02381, 0.02376, 0.02388, \
0.02415, 0.02458, 0.02512");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.03755, 0.03744, 0.0372, 0.03697, 0.03688, 0.03691, 0.03708, \
0.03741, 0.03788, 0.03848");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.02439, 0.02435, 0.02419, 0.02398, 0.02384, 0.02379, 0.0239, \
0.02418, 0.02458, 0.02516");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("1.753");
}
rise_constraint(scalar) {
values("1.593");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("2.045");
}
rise_constraint(scalar) {
values("1.19");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("3.642");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("4.095");
}
}
}
pin(D) {
capacitance : 0.002197 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 12 ;
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.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.007387, 0.007165, 0.006959, 0.006948, 0.007059, 0.007299, 0.007655, \
0.008152, 0.008792, 0.009599");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.001126, 0.001049, 0.000916, 0.000847, 0.0008918, 0.001061, 0.001364, \
0.0018, 0.002377, 0.003102");
}
}
internal_power() {
when : "CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.02375, 0.02362, 0.02346, 0.02336, 0.02338, 0.02355, 0.02384, \
0.02429, 0.02489, 0.02563");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.0162, 0.01615, 0.01607, 0.01601, 0.016, 0.01607, 0.01627, 0.01658, \
0.01703, 0.01763");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.24, 0.271, 0.372, 0.572, 0.88, 1.192, 1.499, 1.858, 2.257, 2.698",\
"0.216, 0.247, 0.342, 0.545, 0.85, 1.153, 1.468, 1.827, 2.223, 2.668",\
"0.092, 0.128, 0.226, 0.428, 0.729, 1.05, 1.348, 1.709, 2.106, 2.546",\
"-0.145, -0.12, -0.014, 0.182, 0.497, 0.807, 1.116, 1.474, 1.868, 2.306",\
"-0.487, -0.467, -0.366, -0.17, 0.137, 0.449, 0.752, 1.11, 1.509, 1.955",\
"-0.889, -0.868, -0.774, -0.578, -0.275, 0.03, 0.336, 0.694, 1.086, 1.533",\
"-1.327, -1.299, -1.213, -1.021, -0.721, -0.429, -0.123, 0.232, 0.627, 1.076",\
"-1.793, -1.761, -1.676, -1.492, -1.206, -0.921, -0.617, -0.27, 0.127, 0.567",\
"-2.306, -2.278, -2.191, -2.018, -1.737, -1.456, -1.159, -0.81, -0.421, 0.018",\
"-2.87, -2.842, -2.754, -2.584, -2.318, -2.034, -1.748, -1.413, -1.024, -0.583");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.658, 0.693, 0.81, 1.04, 1.411, 1.859, 2.344, 2.862, 3.409, 3.993",\
"0.631, 0.662, 0.778, 1.014, 1.376, 1.83, 2.315, 2.835, 3.379, 3.965",\
"0.538, 0.563, 0.69, 0.917, 1.286, 1.74, 2.226, 2.742, 3.286, 3.874",\
"0.427, 0.459, 0.58, 0.81, 1.177, 1.63, 2.114, 2.631, 3.182, 3.761",\
"0.348, 0.381, 0.497, 0.73, 1.093, 1.536, 2.023, 2.542, 3.09, 3.67",\
"0.305, 0.332, 0.451, 0.683, 1.039, 1.487, 1.966, 2.483, 3.028, 3.611",\
"0.298, 0.33, 0.444, 0.673, 1.028, 1.47, 1.948, 2.457, 3.007, 3.588",\
"0.336, 0.369, 0.492, 0.712, 1.062, 1.496, 1.972, 2.479, 3.027, 3.599",\
"0.431, 0.461, 0.581, 0.803, 1.151, 1.572, 2.047, 2.549, 3.087, 3.656",\
"0.592, 0.622, 0.74, 0.954, 1.295, 1.71, 2.179, 2.671, 3.203, 3.775");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("1.265, 1.242, 1.116, 0.878, 0.584, 0.235, -0.161, -0.595, -1.044, -1.56",\
"1.297, 1.271, 1.148, 0.903, 0.616, 0.26, -0.137, -0.566, -1.011, -1.531",\
"1.421, 1.391, 1.271, 1.024, 0.734, 0.382, -0.013, -0.446, -0.891, -1.411",\
"1.653, 1.631, 1.504, 1.261, 0.971, 0.623, 0.222, -0.206, -0.656, -1.175",\
"2.03, 2.004, 1.876, 1.638, 1.349, 0.968, 0.597, 0.165, -0.286, -0.808",\
"2.518, 2.497, 2.369, 2.127, 1.835, 1.479, 1.081, 0.648, 0.196, -0.323",\
"3.102, 3.075, 2.949, 2.708, 2.407, 2.05, 1.642, 1.21, 0.755, 0.23",\
"3.737, 3.712, 3.579, 3.338, 3.037, 2.669, 2.255, 1.821, 1.36, 0.828",\
"4.418, 4.398, 4.268, 4.02, 3.711, 3.339, 2.917, 2.475, 2.013, 1.477",\
"5.167, 5.139, 5.016, 4.76, 4.454, 4.059, 3.638, 3.19, 2.725, 2.183");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.412, 0.384, 0.277, 0.046, -0.33, -0.827, -1.333, -1.907, -2.465, -3.1",\
"0.438, 0.414, 0.299, 0.071, -0.304, -0.805, -1.305, -1.885, -2.428, -3.067",\
"0.531, 0.506, 0.394, 0.159, -0.209, -0.713, -1.213, -1.761, -2.34, -2.976",\
"0.671, 0.644, 0.533, 0.294, -0.071, -0.568, -1.069, -1.621, -2.199, -2.839",\
"0.831, 0.809, 0.69, 0.454, 0.091, -0.406, -0.901, -1.456, -2.031, -2.672",\
"0.983, 0.955, 0.834, 0.588, 0.228, -0.259, -0.753, -1.327, -1.876, -2.509",\
"1.097, 1.071, 0.953, 0.707, 0.337, -0.146, -0.64, -1.204, -1.756, -2.391",\
"1.178, 1.155, 1.027, 0.785, 0.416, -0.067, -0.563, -1.125, -1.671, -2.299",\
"1.22, 1.188, 1.067, 0.819, 0.45, -0.037, -0.526, -1.09, -1.635, -2.256",\
"1.208, 1.183, 1.055, 0.812, 0.437, -0.044, -0.537, -1.099, -1.652, -2.261");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.7377 ;
max_transition : 12 ;
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.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.001, 0.006085, 0.02393, 0.05802, 0.1111, 0.1856, 0.2837, 0.4072, 0.558, 0.7377");
values("0.07333, 0.07352, 0.0741, 0.07488, 0.07552, 0.07595, 0.07625, 0.07643, 0.07656, 0.07665",\
"0.07335, 0.07351, 0.07411, 0.07488, 0.07553, 0.07597, 0.07625, 0.07644, 0.07657, 0.07666",\
"0.07334, 0.07351, 0.07412, 0.07488, 0.07551, 0.07596, 0.07625, 0.07645, 0.07657, 0.07666",\
"0.07331, 0.07347, 0.07408, 0.07485, 0.07551, 0.07593, 0.07623, 0.07642, 0.07654, 0.07663",\
"0.07328, 0.07341, 0.07404, 0.07482, 0.07545, 0.07589, 0.07618, 0.07637, 0.0765, 0.07659",\
"0.07323, 0.0734, 0.07402, 0.07476, 0.07541, 0.07585, 0.07614, 0.07632, 0.07645, 0.07652",\
"0.07318, 0.07336, 0.07394, 0.07471, 0.07536, 0.07582, 0.07611, 0.0763, 0.07642, 0.0765",\
"0.07316, 0.0733, 0.07388, 0.07467, 0.07533, 0.07576, 0.07606, 0.07625, 0.07637, 0.07647",\
"0.07316, 0.0733, 0.07389, 0.07466, 0.07531, 0.07577, 0.07606, 0.07627, 0.07638, 0.07647",\
"0.07313, 0.07331, 0.07389, 0.07463, 0.07529, 0.07574, 0.07604, 0.07624, 0.07636, 0.07644");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.001, 0.006085, 0.02393, 0.05802, 0.1111, 0.1856, 0.2837, 0.4072, 0.558, 0.7377");
values("0.08963, 0.08981, 0.09026, 0.09116, 0.09206, 0.09295, 0.09389, 0.09448, 0.09831, 0.1241",\
"0.0897, 0.08988, 0.09041, 0.09129, 0.09217, 0.09308, 0.09401, 0.09461, 0.09862, 0.1248",\
"0.08973, 0.08988, 0.09036, 0.09128, 0.09214, 0.09314, 0.09384, 0.09461, 0.09857, 0.1264",\
"0.08962, 0.08983, 0.09033, 0.09119, 0.09207, 0.09299, 0.09392, 0.09455, 0.09951, 0.133",\
"0.08971, 0.08986, 0.09036, 0.09133, 0.0921, 0.0931, 0.09403, 0.09528, 0.1003, 0.1433",\
"0.09003, 0.09024, 0.09072, 0.09157, 0.0925, 0.09336, 0.09458, 0.09517, 0.105, 0.1632",\
"0.09037, 0.09052, 0.09107, 0.09188, 0.09278, 0.0938, 0.09463, 0.09631, 0.1117, 0.1979",\
"0.09062, 0.09083, 0.09128, 0.09216, 0.09302, 0.09392, 0.09473, 0.09769, 0.127, 0.259",\
"0.09096, 0.09116, 0.09171, 0.09252, 0.0934, 0.09459, 0.09525, 0.1031, 0.1634, 0.3631",\
"0.09125, 0.09145, 0.09189, 0.09268, 0.09365, 0.0947, 0.09704, 0.1215, 0.2486, 0.5134");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.001, 0.006085, 0.02393, 0.05802, 0.1111, 0.1856, 0.2837, 0.4072, 0.558, 0.7377");
values("2.446, 2.508, 2.667, 2.881, 3.137, 3.438, 3.801, 4.238, 4.764, 5.388",\
"2.48, 2.542, 2.701, 2.915, 3.171, 3.473, 3.835, 4.272, 4.798, 5.422",\
"2.602, 2.664, 2.823, 3.037, 3.293, 3.595, 3.957, 4.394, 4.92, 5.544",\
"2.842, 2.904, 3.062, 3.277, 3.533, 3.835, 4.197, 4.634, 5.16, 5.784",\
"3.215, 3.277, 3.436, 3.65, 3.906, 4.208, 4.57, 5.008, 5.534, 6.158",\
"3.692, 3.754, 3.913, 4.127, 4.383, 4.684, 5.047, 5.485, 6.01, 6.634",\
"4.216, 4.279, 4.437, 4.651, 4.908, 5.209, 5.572, 6.009, 6.535, 7.159",\
"4.775, 4.838, 4.996, 5.211, 5.467, 5.769, 6.131, 6.569, 7.095, 7.718",\
"5.368, 5.43, 5.589, 5.803, 6.059, 6.361, 6.723, 7.161, 7.687, 8.31",\
"5.993, 6.055, 6.214, 6.428, 6.684, 6.986, 7.348, 7.786, 8.312, 8.936");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.001, 0.006085, 0.02393, 0.05802, 0.1111, 0.1856, 0.2837, 0.4072, 0.558, 0.7377");
values("2.876, 2.943, 3.137, 3.469, 3.971, 4.67, 5.587, 6.741, 8.149, 9.826",\
"2.911, 2.977, 3.171, 3.503, 4.006, 4.705, 5.622, 6.776, 8.183, 9.86",\
"3.032, 3.099, 3.293, 3.625, 4.127, 4.827, 5.744, 6.897, 8.305, 9.981",\
"3.272, 3.339, 3.533, 3.864, 4.367, 5.066, 5.983, 7.137, 8.545, 10.22",\
"3.647, 3.713, 3.907, 4.239, 4.742, 5.441, 6.357, 7.511, 8.919, 10.6",\
"4.128, 4.195, 4.389, 4.72, 5.223, 5.922, 6.84, 7.993, 9.401, 11.08",\
"4.663, 4.73, 4.925, 5.255, 5.758, 6.458, 7.374, 8.528, 9.936, 11.61",\
"5.233, 5.3, 5.494, 5.826, 6.328, 7.027, 7.944, 9.098, 10.51, 12.18",\
"5.836, 5.904, 6.097, 6.429, 6.932, 7.63, 8.547, 9.702, 11.11, 12.79",\
"6.472, 6.539, 6.732, 7.064, 7.569, 8.267, 9.184, 10.34, 11.75, 13.42");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.001, 0.006085, 0.02393, 0.05802, 0.1111, 0.1856, 0.2837, 0.4072, 0.558, 0.7377");
values("0.3064, 0.3534, 0.4842, 0.6894, 0.9644, 1.347, 1.875, 2.57, 3.441, 4.497",\
"0.3062, 0.3532, 0.484, 0.6892, 0.9648, 1.347, 1.876, 2.568, 3.439, 4.498",\
"0.3064, 0.353, 0.484, 0.6884, 0.9642, 1.348, 1.875, 2.568, 3.442, 4.498",\
"0.3064, 0.3538, 0.4842, 0.6892, 0.9648, 1.348, 1.876, 2.569, 3.442, 4.494",\
"0.3064, 0.3532, 0.4842, 0.6894, 0.9646, 1.347, 1.874, 2.57, 3.441, 4.497",\
"0.3068, 0.353, 0.4842, 0.6884, 0.9642, 1.349, 1.875, 2.57, 3.441, 4.494",\
"0.3062, 0.353, 0.4842, 0.6888, 0.9654, 1.349, 1.875, 2.569, 3.442, 4.492",\
"0.307, 0.3538, 0.484, 0.6886, 0.9656, 1.347, 1.873, 2.568, 3.44, 4.496",\
"0.308, 0.354, 0.486, 0.69, 0.964, 1.348, 1.874, 2.568, 3.436, 4.496",\
"0.306, 0.354, 0.484, 0.69, 0.964, 1.348, 1.876, 2.568, 3.438, 4.492");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.001, 0.006085, 0.02393, 0.05802, 0.1111, 0.1856, 0.2837, 0.4072, 0.558, 0.7377");
values("0.2822, 0.351, 0.6, 1.122, 1.958, 3.142, 4.71, 6.684, 9.1, 11.98",\
"0.2818, 0.3496, 0.5994, 1.122, 1.958, 3.141, 4.71, 6.685, 9.1, 11.98",\
"0.2818, 0.3498, 0.5992, 1.122, 1.958, 3.144, 4.712, 6.689, 9.103, 11.97",\
"0.2812, 0.35, 0.5996, 1.121, 1.958, 3.141, 4.709, 6.686, 9.1, 11.98",\
"0.2812, 0.3502, 0.5992, 1.121, 1.958, 3.143, 4.711, 6.688, 9.096, 11.98",\
"0.2816, 0.35, 0.5994, 1.122, 1.958, 3.142, 4.71, 6.681, 9.101, 11.98",\
"0.2824, 0.3496, 0.6002, 1.122, 1.958, 3.145, 4.712, 6.681, 9.102, 11.98",\
"0.2808, 0.3506, 0.5998, 1.121, 1.957, 3.142, 4.708, 6.686, 9.1, 11.98",\
"0.282, 0.35, 0.598, 1.122, 1.956, 3.142, 4.71, 6.678, 9.102, 11.98",\
"0.28, 0.348, 0.598, 1.122, 1.956, 3.142, 4.71, 6.684, 9.098, 11.98");
}
}
}
}