blob: d5cb2068a2c66f965602a5a433c3795e7e6b8a53 [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_4) {
area : 98.784000 ;
ff(IQ1,IQN1) {
clocked_on : "(!CLKN)" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&!D" ;
value : "0.00788868" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.01505952" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.00668088" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.014985" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.01505952" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.00495 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 5.2 ;
min_period : 1.055 ;
min_pulse_width_high : 0.403 ;
min_pulse_width_low : 0.528 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.2109, 0.2103, 0.2133, 0.2289, 0.2605, 0.3096, 0.3771, 0.4639, \
0.571, 0.6991");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.1349, 0.1344, 0.1369, 0.1503, 0.177, 0.2195, 0.279, 0.3561, \
0.4515, 0.5658");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.2112, 0.2107, 0.2136, 0.2291, 0.2608, 0.3098, 0.3774, 0.4641, \
0.5712, 0.6993");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.1346, 0.1343, 0.1367, 0.1501, 0.1768, 0.2193, 0.2788, 0.3558, \
0.4512, 0.5657");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.484");
}
rise_constraint(scalar) {
values("0.403");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.528");
}
rise_constraint(scalar) {
values("0.363");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("0.976");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("1.055");
}
}
}
pin(D) {
capacitance : 0.003823 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 5.2 ;
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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.04505, 0.04477, 0.04953, 0.0632, 0.0871, 0.1221, 0.1689, 0.2284, \
0.3016, 0.3891");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.006098, 0.005805, 0.008765, 0.01953, 0.03987, 0.07044, 0.1119, \
0.165, 0.2303, 0.3086");
}
}
internal_power() {
when : "CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.1607, 0.1606, 0.1639, 0.1761, 0.2005, 0.238, 0.2899, 0.3563, \
0.4383, 0.5361");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.1064, 0.1062, 0.1088, 0.1188, 0.1386, 0.17, 0.2139, 0.271, 0.3422, \
0.4278");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.046, 0.053, 0.083, 0.135, 0.196, 0.273, 0.362, 0.472, 0.603, 0.74",\
"0.037, 0.043, 0.078, 0.127, 0.185, 0.262, 0.35, 0.461, 0.587, 0.73",\
"-0.004, 0.007, 0.035, 0.087, 0.149, 0.227, 0.311, 0.418, 0.547, 0.688",\
"-0.07, -0.057, -0.023, 0.025, 0.085, 0.154, 0.242, 0.346, 0.473, 0.616",\
"-0.146, -0.138, -0.109, -0.058, -0, 0.069, 0.153, 0.256, 0.372, 0.506",\
"-0.243, -0.231, -0.202, -0.155, -0.103, -0.034, 0.043, 0.139, 0.254, 0.383",\
"-0.351, -0.343, -0.311, -0.268, -0.218, -0.152, -0.08, 0.004, 0.114, 0.237",\
"-0.472, -0.467, -0.434, -0.396, -0.357, -0.295, -0.22, -0.141, -0.039, 0.077",\
"-0.613, -0.606, -0.577, -0.544, -0.507, -0.447, -0.383, -0.308, -0.209, -0.101",\
"-0.773, -0.769, -0.735, -0.707, -0.676, -0.622, -0.561, -0.488, -0.4, -0.294");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.132, 0.136, 0.179, 0.248, 0.338, 0.453, 0.582, 0.724, 0.89, 1.062",\
"0.127, 0.135, 0.172, 0.238, 0.332, 0.446, 0.579, 0.723, 0.886, 1.06",\
"0.11, 0.11, 0.147, 0.217, 0.312, 0.425, 0.558, 0.699, 0.865, 1.039",\
"0.089, 0.096, 0.132, 0.202, 0.293, 0.408, 0.539, 0.688, 0.847, 1.023",\
"0.082, 0.086, 0.124, 0.198, 0.295, 0.403, 0.533, 0.68, 0.84, 1.02",\
"0.095, 0.099, 0.137, 0.203, 0.298, 0.415, 0.548, 0.688, 0.849, 1.027",\
"0.122, 0.126, 0.167, 0.238, 0.329, 0.445, 0.572, 0.716, 0.878, 1.052",\
"0.18, 0.185, 0.228, 0.289, 0.381, 0.489, 0.618, 0.754, 0.923, 1.094",\
"0.278, 0.282, 0.316, 0.372, 0.454, 0.562, 0.687, 0.82, 0.983, 1.155",\
"0.404, 0.402, 0.436, 0.494, 0.564, 0.658, 0.779, 0.91, 1.06, 1.231");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.281, 0.268, 0.232, 0.169, 0.087, -0.002, -0.109, -0.227, -0.355, -0.509",\
"0.289, 0.276, 0.242, 0.179, 0.097, 0.007, -0.098, -0.213, -0.346, -0.497",\
"0.327, 0.314, 0.282, 0.213, 0.136, 0.046, -0.063, -0.177, -0.315, -0.464",\
"0.4, 0.384, 0.355, 0.29, 0.205, 0.118, 0.01, -0.104, -0.24, -0.389",\
"0.505, 0.494, 0.463, 0.398, 0.312, 0.22, 0.113, 0.003, -0.138, -0.28",\
"0.641, 0.631, 0.599, 0.53, 0.442, 0.347, 0.243, 0.123, -0.008, -0.153",\
"0.803, 0.786, 0.754, 0.69, 0.606, 0.506, 0.397, 0.28, 0.149, 0.008",\
"0.991, 0.978, 0.939, 0.872, 0.79, 0.688, 0.577, 0.459, 0.331, 0.187",\
"1.197, 1.185, 1.148, 1.08, 0.987, 0.888, 0.776, 0.657, 0.524, 0.382",\
"1.434, 1.41, 1.383, 1.313, 1.218, 1.107, 0.999, 0.879, 0.742, 0.6");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.183, 0.172, 0.145, 0.083, 0.006, -0.07, -0.152, -0.242, -0.326, -0.438",\
"0.187, 0.184, 0.157, 0.089, 0.019, -0.062, -0.141, -0.235, -0.326, -0.426",\
"0.214, 0.21, 0.176, 0.116, 0.037, -0.045, -0.121, -0.208, -0.315, -0.404",\
"0.248, 0.245, 0.209, 0.145, 0.06, -0.023, -0.103, -0.196, -0.3, -0.403",\
"0.282, 0.274, 0.242, 0.182, 0.095, -0.002, -0.103, -0.209, -0.313, -0.404",\
"0.31, 0.3, 0.268, 0.201, 0.108, 0.007, -0.102, -0.227, -0.337, -0.447",\
"0.324, 0.317, 0.282, 0.211, 0.117, 0.018, -0.105, -0.227, -0.368, -0.491",\
"0.324, 0.311, 0.278, 0.212, 0.117, 0.003, -0.117, -0.253, -0.399, -0.537",\
"0.297, 0.297, 0.259, 0.186, 0.091, -0.018, -0.14, -0.28, -0.438, -0.593",\
"0.258, 0.252, 0.218, 0.147, 0.044, -0.062, -0.183, -0.333, -0.487, -0.65");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 1.512 ;
max_transition : 5.2 ;
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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.001, 0.01143, 0.04803, 0.1179, 0.2268, 0.3797, 0.5807, 0.834, 1.143, 1.512");
values("0.6969, 0.6722, 0.6197, 0.5781, 0.5553, 0.5412, 0.532, 0.5256, 0.5211, 0.518",\
"0.697, 0.6721, 0.6197, 0.578, 0.5554, 0.5412, 0.532, 0.5257, 0.5212, 0.5181",\
"0.6969, 0.6722, 0.6197, 0.5781, 0.5553, 0.5412, 0.532, 0.5257, 0.5212, 0.518",\
"0.6979, 0.6731, 0.6207, 0.5791, 0.5562, 0.5422, 0.5329, 0.5265, 0.5222, 0.5188",\
"0.7014, 0.6765, 0.6241, 0.5823, 0.5597, 0.5455, 0.5363, 0.5299, 0.5254, 0.5222",\
"0.7072, 0.6824, 0.6294, 0.5879, 0.5651, 0.5508, 0.5415, 0.5352, 0.5308, 0.5276",\
"0.715, 0.6901, 0.637, 0.5955, 0.5722, 0.558, 0.5487, 0.5422, 0.5377, 0.5345",\
"0.7252, 0.7005, 0.6472, 0.6053, 0.582, 0.5677, 0.5584, 0.5518, 0.5472, 0.5439",\
"0.7374, 0.7119, 0.6591, 0.6166, 0.5932, 0.5787, 0.5693, 0.5628, 0.5583, 0.555",\
"0.7509, 0.7254, 0.6719, 0.6293, 0.6059, 0.5911, 0.5816, 0.5751, 0.5704, 0.5672");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.001, 0.01143, 0.04803, 0.1179, 0.2268, 0.3797, 0.5807, 0.834, 1.143, 1.512");
values("0.6855, 0.6624, 0.6276, 0.6058, 0.592, 0.5866, 0.5853, 0.5855, 0.5864, 0.5895",\
"0.6854, 0.6623, 0.6276, 0.6054, 0.5918, 0.5868, 0.5854, 0.5857, 0.5865, 0.5897",\
"0.6859, 0.6626, 0.6281, 0.6057, 0.5921, 0.587, 0.5857, 0.5859, 0.5868, 0.591",\
"0.6873, 0.6643, 0.6298, 0.6075, 0.595, 0.5903, 0.5871, 0.5874, 0.5893, 0.5914",\
"0.69, 0.6674, 0.6318, 0.6104, 0.5975, 0.5928, 0.5901, 0.5903, 0.5905, 0.5943",\
"0.6941, 0.6715, 0.6375, 0.6149, 0.6014, 0.596, 0.5943, 0.5942, 0.5958, 0.5996",\
"0.6985, 0.6756, 0.6418, 0.6196, 0.6069, 0.5997, 0.5991, 0.6, 0.5998, 0.6015",\
"0.7041, 0.6814, 0.6465, 0.6238, 0.6134, 0.608, 0.6052, 0.6051, 0.6056, 0.6098",\
"0.7101, 0.6861, 0.6521, 0.63, 0.6168, 0.6107, 0.6133, 0.6153, 0.6144, 0.6154",\
"0.7162, 0.693, 0.6601, 0.6366, 0.6224, 0.6151, 0.6171, 0.6234, 0.6262, 0.6296");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.001, 0.01143, 0.04803, 0.1179, 0.2268, 0.3797, 0.5807, 0.834, 1.143, 1.512");
values("0.7062, 0.7345, 0.8075, 0.9118, 1.045, 1.214, 1.428, 1.695, 2.02, 2.408",\
"0.7147, 0.743, 0.8159, 0.9203, 1.054, 1.223, 1.436, 1.703, 2.028, 2.416",\
"0.7505, 0.7788, 0.8517, 0.956, 1.09, 1.258, 1.472, 1.739, 2.064, 2.452",\
"0.8237, 0.852, 0.9249, 1.029, 1.163, 1.332, 1.545, 1.812, 2.137, 2.525",\
"0.926, 0.9542, 1.027, 1.131, 1.265, 1.434, 1.647, 1.914, 2.239, 2.627",\
"1.048, 1.077, 1.15, 1.254, 1.388, 1.557, 1.77, 2.037, 2.362, 2.75",\
"1.19, 1.218, 1.291, 1.395, 1.529, 1.698, 1.912, 2.178, 2.503, 2.891",\
"1.348, 1.376, 1.449, 1.554, 1.687, 1.856, 2.07, 2.336, 2.661, 3.049",\
"1.523, 1.552, 1.625, 1.729, 1.863, 2.032, 2.245, 2.512, 2.837, 3.225",\
"1.716, 1.745, 1.818, 1.922, 2.056, 2.225, 2.439, 2.705, 3.03, 3.418");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.001, 0.01143, 0.04803, 0.1179, 0.2268, 0.3797, 0.5807, 0.834, 1.143, 1.512");
values("0.7749, 0.8027, 0.8795, 1.011, 1.21, 1.492, 1.864, 2.334, 2.908, 3.594",\
"0.7834, 0.8112, 0.8879, 1.019, 1.219, 1.501, 1.873, 2.342, 2.917, 3.602",\
"0.8197, 0.8474, 0.9243, 1.055, 1.255, 1.537, 1.909, 2.379, 2.953, 3.638",\
"0.8938, 0.9216, 0.9984, 1.129, 1.329, 1.611, 1.983, 2.453, 3.027, 3.711",\
"0.9963, 1.024, 1.101, 1.232, 1.432, 1.713, 2.086, 2.555, 3.129, 3.814",\
"1.12, 1.147, 1.224, 1.355, 1.555, 1.837, 2.209, 2.678, 3.252, 3.936",\
"1.261, 1.289, 1.366, 1.497, 1.697, 1.979, 2.35, 2.82, 3.395, 4.08",\
"1.418, 1.446, 1.523, 1.654, 1.854, 2.135, 2.507, 2.977, 3.552, 4.235",\
"1.591, 1.618, 1.695, 1.826, 2.026, 2.308, 2.68, 3.15, 3.723, 4.408",\
"1.779, 1.807, 1.884, 2.014, 2.214, 2.496, 2.868, 3.338, 3.912, 4.595");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.001, 0.01143, 0.04803, 0.1179, 0.2268, 0.3797, 0.5807, 0.834, 1.143, 1.512");
values("0.1086, 0.1377, 0.2123, 0.328, 0.5002, 0.7506, 1.099, 1.548, 2.107, 2.775",\
"0.1084, 0.1381, 0.2123, 0.3283, 0.5, 0.7508, 1.099, 1.55, 2.108, 2.775",\
"0.1086, 0.1376, 0.2123, 0.3281, 0.5002, 0.7506, 1.099, 1.548, 2.107, 2.775",\
"0.1084, 0.1378, 0.2122, 0.3278, 0.4994, 0.7514, 1.098, 1.548, 2.107, 2.774",\
"0.1086, 0.1378, 0.2124, 0.3278, 0.5002, 0.7514, 1.098, 1.548, 2.108, 2.775",\
"0.1086, 0.1378, 0.2124, 0.3284, 0.5004, 0.7514, 1.1, 1.548, 2.107, 2.775",\
"0.1092, 0.138, 0.2126, 0.3284, 0.5002, 0.7508, 1.098, 1.55, 2.108, 2.772",\
"0.1094, 0.1382, 0.213, 0.3286, 0.5004, 0.7504, 1.098, 1.548, 2.106, 2.772",\
"0.1094, 0.138, 0.2134, 0.329, 0.5008, 0.751, 1.099, 1.549, 2.104, 2.771",\
"0.1096, 0.1388, 0.2134, 0.329, 0.501, 0.7518, 1.099, 1.549, 2.104, 2.769");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.001, 0.01143, 0.04803, 0.1179, 0.2268, 0.3797, 0.5807, 0.834, 1.143, 1.512");
values("0.09546, 0.1283, 0.2389, 0.4604, 0.821, 1.342, 2.026, 2.889, 3.937, 5.187",\
"0.09524, 0.1282, 0.2389, 0.4606, 0.821, 1.342, 2.026, 2.889, 3.937, 5.188",\
"0.0962, 0.1282, 0.2389, 0.4606, 0.821, 1.342, 2.026, 2.889, 3.936, 5.189",\
"0.0952, 0.1284, 0.2388, 0.4606, 0.821, 1.34, 2.026, 2.885, 3.934, 5.187",\
"0.0958, 0.1282, 0.2386, 0.4606, 0.8212, 1.34, 2.026, 2.884, 3.936, 5.188",\
"0.0954, 0.1274, 0.2394, 0.4604, 0.8212, 1.342, 2.026, 2.887, 3.935, 5.186",\
"0.095, 0.1276, 0.2392, 0.4608, 0.822, 1.339, 2.025, 2.889, 3.939, 5.186",\
"0.0952, 0.127, 0.2384, 0.4596, 0.822, 1.341, 2.022, 2.887, 3.938, 5.188",\
"0.095, 0.1278, 0.2392, 0.4602, 0.8222, 1.339, 2.023, 2.885, 3.935, 5.188",\
"0.0948, 0.1278, 0.239, 0.4596, 0.8214, 1.34, 2.022, 2.884, 3.935, 5.187");
}
}
}
}