blob: a2a146683a188c18728e6161f96ada67bb982453 [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.0005559" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.00055645" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.000490295" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.00048566" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.00055645" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.003465 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 4 ;
min_period : 1.008 ;
min_pulse_width_high : 0.412 ;
min_pulse_width_low : 0.495 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.3094, 0.309, 0.312, 0.3277, 0.3613, 0.4139, 0.4868, 0.5811, \
0.6971, 0.8363");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.1983, 0.1982, 0.2002, 0.2135, 0.2414, 0.2865, 0.3501, 0.4332, \
0.5366, 0.6606");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.3093, 0.3089, 0.312, 0.3275, 0.3613, 0.4138, 0.4869, 0.581, \
0.6971, 0.836");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.1987, 0.1984, 0.2006, 0.2136, 0.2415, 0.2867, 0.3502, 0.4334, \
0.5369, 0.6606");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.446");
}
rise_constraint(scalar) {
values("0.412");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.495");
}
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.92");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("1.008");
}
}
}
pin(D) {
capacitance : 0.002412 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 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.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.05713, 0.05687, 0.06197, 0.07551, 0.09952, 0.1349, 0.1823, 0.2427, \
0.3167, 0.4053");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.004977, 0.004989, 0.00798, 0.01828, 0.03781, 0.06739, 0.1077, \
0.1596, 0.2234, 0.3");
}
}
internal_power() {
when : "CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.2043, 0.2042, 0.2075, 0.2191, 0.2431, 0.2805, 0.3325, 0.3994, \
0.4817, 0.5803");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.131, 0.131, 0.1336, 0.1434, 0.1624, 0.1924, 0.2343, 0.2891, \
0.3574, 0.4399");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.069, 0.076, 0.1, 0.151, 0.209, 0.282, 0.356, 0.453, 0.557, 0.677",\
"0.068, 0.068, 0.088, 0.139, 0.205, 0.274, 0.352, 0.445, 0.552, 0.665",\
"0.029, 0.041, 0.057, 0.108, 0.175, 0.235, 0.32, 0.414, 0.516, 0.634",\
"-0.031, -0.025, -0.004, 0.052, 0.103, 0.176, 0.251, 0.343, 0.45, 0.565",\
"-0.116, -0.109, -0.088, -0.036, 0.021, 0.091, 0.16, 0.25, 0.354, 0.462",\
"-0.214, -0.211, -0.189, -0.138, -0.081, -0.021, 0.047, 0.136, 0.233, 0.341",\
"-0.33, -0.325, -0.301, -0.262, -0.211, -0.152, -0.086, -0.003, 0.094, 0.197",\
"-0.471, -0.462, -0.445, -0.396, -0.352, -0.292, -0.234, -0.155, -0.063, 0.037",\
"-0.627, -0.623, -0.604, -0.56, -0.519, -0.464, -0.406, -0.331, -0.244, -0.147",\
"-0.803, -0.796, -0.778, -0.738, -0.702, -0.656, -0.599, -0.531, -0.452, -0.349");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.149, 0.157, 0.18, 0.238, 0.319, 0.409, 0.519, 0.635, 0.767, 0.908",\
"0.143, 0.149, 0.183, 0.235, 0.31, 0.405, 0.509, 0.628, 0.764, 0.902",\
"0.134, 0.135, 0.161, 0.219, 0.3, 0.39, 0.494, 0.617, 0.749, 0.887",\
"0.119, 0.126, 0.148, 0.207, 0.285, 0.38, 0.482, 0.6, 0.739, 0.878",\
"0.12, 0.125, 0.152, 0.208, 0.28, 0.375, 0.484, 0.598, 0.73, 0.874",\
"0.134, 0.138, 0.166, 0.217, 0.301, 0.389, 0.498, 0.611, 0.743, 0.885",\
"0.168, 0.172, 0.194, 0.25, 0.329, 0.418, 0.528, 0.649, 0.775, 0.919",\
"0.22, 0.225, 0.25, 0.308, 0.38, 0.47, 0.578, 0.693, 0.821, 0.963",\
"0.305, 0.31, 0.331, 0.391, 0.462, 0.546, 0.644, 0.76, 0.897, 1.033",\
"0.417, 0.422, 0.446, 0.5, 0.561, 0.644, 0.742, 0.858, 0.985, 1.123");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.269, 0.261, 0.238, 0.188, 0.12, 0.042, -0.047, -0.143, -0.246, -0.366",\
"0.276, 0.271, 0.238, 0.192, 0.125, 0.045, -0.037, -0.131, -0.239, -0.361",\
"0.309, 0.294, 0.27, 0.224, 0.152, 0.079, -0.007, -0.101, -0.209, -0.329",\
"0.364, 0.361, 0.336, 0.285, 0.214, 0.141, 0.05, -0.041, -0.144, -0.27",\
"0.462, 0.458, 0.425, 0.381, 0.308, 0.23, 0.147, 0.054, -0.051, -0.176",\
"0.587, 0.58, 0.55, 0.507, 0.437, 0.356, 0.266, 0.175, 0.066, -0.051",\
"0.743, 0.735, 0.705, 0.653, 0.587, 0.504, 0.417, 0.323, 0.213, 0.095",\
"0.922, 0.913, 0.882, 0.836, 0.765, 0.677, 0.592, 0.495, 0.386, 0.274",\
"1.132, 1.117, 1.088, 1.044, 0.968, 0.879, 0.786, 0.692, 0.586, 0.472",\
"1.36, 1.347, 1.321, 1.271, 1.194, 1.102, 1.008, 0.918, 0.802, 0.687");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.166, 0.162, 0.134, 0.084, 0.019, -0.08, -0.167, -0.289, -0.425, -0.552",\
"0.17, 0.163, 0.135, 0.09, 0.021, -0.074, -0.168, -0.279, -0.411, -0.553",\
"0.189, 0.183, 0.151, 0.106, 0.037, -0.055, -0.154, -0.261, -0.402, -0.53",\
"0.215, 0.211, 0.184, 0.129, 0.055, -0.033, -0.136, -0.238, -0.382, -0.512",\
"0.243, 0.232, 0.204, 0.149, 0.077, -0.01, -0.114, -0.222, -0.363, -0.491",\
"0.257, 0.249, 0.223, 0.169, 0.091, 0, -0.106, -0.218, -0.348, -0.489",\
"0.262, 0.256, 0.228, 0.171, 0.092, 0, -0.11, -0.224, -0.355, -0.497",\
"0.242, 0.237, 0.211, 0.159, 0.076, -0.011, -0.125, -0.237, -0.376, -0.516",\
"0.215, 0.208, 0.177, 0.127, 0.052, -0.05, -0.156, -0.27, -0.407, -0.554",\
"0.165, 0.154, 0.127, 0.076, -0.007, -0.105, -0.211, -0.32, -0.463, -0.61");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.8562 ;
max_transition : 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.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.001, 0.006903, 0.02762, 0.06719, 0.1288, 0.2153, 0.3291, 0.4725, 0.6476, 0.8562");
values("0.9319, 0.9061, 0.8467, 0.7931, 0.7603, 0.7394, 0.7253, 0.715, 0.7078, 0.7025",\
"0.9317, 0.9064, 0.8466, 0.7931, 0.7605, 0.7393, 0.7253, 0.7151, 0.7079, 0.7025",\
"0.9319, 0.9062, 0.8467, 0.7927, 0.7605, 0.7398, 0.7254, 0.7151, 0.7079, 0.7025",\
"0.9327, 0.9068, 0.8474, 0.7937, 0.7611, 0.7405, 0.7261, 0.7158, 0.7085, 0.7031",\
"0.9361, 0.9105, 0.8508, 0.7971, 0.7645, 0.7434, 0.7292, 0.7194, 0.7121, 0.7067",\
"0.9422, 0.9167, 0.8571, 0.8032, 0.7708, 0.7497, 0.7353, 0.7251, 0.7178, 0.7123",\
"0.9497, 0.9246, 0.8655, 0.8115, 0.7786, 0.7573, 0.743, 0.7328, 0.7253, 0.7194",\
"0.9605, 0.9351, 0.8748, 0.8207, 0.7879, 0.7666, 0.752, 0.7418, 0.7344, 0.7289",\
"0.9721, 0.9463, 0.8863, 0.8321, 0.7988, 0.7777, 0.7638, 0.7532, 0.7457, 0.7402",\
"0.9867, 0.9609, 0.9008, 0.846, 0.8127, 0.7915, 0.7767, 0.7666, 0.759, 0.7534");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.001, 0.006903, 0.02762, 0.06719, 0.1288, 0.2153, 0.3291, 0.4725, 0.6476, 0.8562");
values("0.9908, 0.9726, 0.9382, 0.9131, 0.8943, 0.8818, 0.878, 0.8763, 0.8758, 0.8789",\
"0.9905, 0.9724, 0.9396, 0.9124, 0.8937, 0.8822, 0.8774, 0.8762, 0.8762, 0.8778",\
"0.9909, 0.9728, 0.9398, 0.9126, 0.8941, 0.8822, 0.8773, 0.8766, 0.8767, 0.8798",\
"0.9929, 0.9746, 0.9413, 0.9133, 0.895, 0.8846, 0.8803, 0.8771, 0.8791, 0.8812",\
"0.9958, 0.9777, 0.9448, 0.9176, 0.8991, 0.8894, 0.883, 0.8819, 0.8819, 0.8845",\
"1.001, 0.9832, 0.9496, 0.9233, 0.9048, 0.8933, 0.8885, 0.8858, 0.8864, 0.8919",\
"1.006, 0.9881, 0.9564, 0.9299, 0.9103, 0.8998, 0.8954, 0.8918, 0.8928, 0.8944",\
"1.014, 0.9956, 0.9627, 0.9351, 0.9201, 0.9087, 0.8998, 0.9006, 0.8997, 0.9053",\
"1.023, 1.006, 0.9749, 0.9462, 0.9274, 0.9205, 0.9171, 0.9115, 0.9095, 0.9096",\
"1.033, 1.015, 0.9818, 0.9538, 0.9349, 0.9241, 0.9237, 0.9271, 0.9256, 0.9227");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.001, 0.006903, 0.02762, 0.06719, 0.1288, 0.2153, 0.3291, 0.4725, 0.6476, 0.8562");
values("0.6733, 0.6946, 0.7522, 0.8366, 0.9452, 1.081, 1.251, 1.462, 1.719, 2.026",\
"0.6798, 0.701, 0.7585, 0.843, 0.9516, 1.087, 1.257, 1.469, 1.726, 2.033",\
"0.7063, 0.7276, 0.7851, 0.8696, 0.9783, 1.114, 1.284, 1.495, 1.752, 2.059",\
"0.7622, 0.7835, 0.841, 0.9254, 1.034, 1.17, 1.34, 1.551, 1.808, 2.115",\
"0.8442, 0.8655, 0.923, 1.007, 1.116, 1.252, 1.422, 1.633, 1.89, 2.197",\
"0.9431, 0.9644, 1.022, 1.106, 1.215, 1.351, 1.521, 1.732, 1.989, 2.296",\
"1.056, 1.078, 1.135, 1.22, 1.329, 1.464, 1.634, 1.845, 2.103, 2.41",\
"1.182, 1.204, 1.261, 1.346, 1.454, 1.59, 1.76, 1.971, 2.228, 2.535",\
"1.32, 1.342, 1.399, 1.484, 1.592, 1.728, 1.898, 2.109, 2.366, 2.673",\
"1.471, 1.493, 1.55, 1.635, 1.743, 1.879, 2.049, 2.26, 2.518, 2.824");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.001, 0.006903, 0.02762, 0.06719, 0.1288, 0.2153, 0.3291, 0.4725, 0.6476, 0.8562");
values("0.7513, 0.7713, 0.8292, 0.931, 1.088, 1.31, 1.603, 1.975, 2.429, 2.97",\
"0.7574, 0.7775, 0.8357, 0.9372, 1.094, 1.316, 1.61, 1.981, 2.435, 2.977",\
"0.7845, 0.8045, 0.8625, 0.9641, 1.121, 1.343, 1.637, 2.008, 2.462, 3.003",\
"0.8418, 0.8618, 0.9198, 1.021, 1.178, 1.4, 1.694, 2.066, 2.519, 3.061",\
"0.926, 0.9459, 1.004, 1.105, 1.262, 1.485, 1.779, 2.15, 2.604, 3.145",\
"1.029, 1.049, 1.107, 1.209, 1.366, 1.588, 1.881, 2.253, 2.707, 3.248",\
"1.148, 1.168, 1.227, 1.328, 1.485, 1.707, 2.001, 2.372, 2.826, 3.368",\
"1.281, 1.301, 1.359, 1.461, 1.618, 1.84, 2.134, 2.505, 2.959, 3.501",\
"1.427, 1.447, 1.505, 1.607, 1.764, 1.986, 2.279, 2.651, 3.104, 3.646",\
"1.584, 1.604, 1.662, 1.764, 1.92, 2.143, 2.437, 2.808, 3.261, 3.802");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.001, 0.006903, 0.02762, 0.06719, 0.1288, 0.2153, 0.3291, 0.4725, 0.6476, 0.8562");
values("0.1052, 0.1266, 0.1837, 0.275, 0.4059, 0.595, 0.8578, 1.2, 1.625, 2.137",\
"0.105, 0.1262, 0.1837, 0.2749, 0.4065, 0.5949, 0.8572, 1.199, 1.626, 2.137",\
"0.1053, 0.1265, 0.1837, 0.275, 0.4064, 0.5956, 0.8578, 1.2, 1.625, 2.136",\
"0.1056, 0.1264, 0.1837, 0.2748, 0.4064, 0.5956, 0.8568, 1.2, 1.625, 2.135",\
"0.1054, 0.1262, 0.1838, 0.275, 0.406, 0.595, 0.8562, 1.201, 1.626, 2.136",\
"0.105, 0.1264, 0.1836, 0.275, 0.4064, 0.595, 0.8562, 1.199, 1.626, 2.137",\
"0.1048, 0.1264, 0.1838, 0.2754, 0.406, 0.5956, 0.857, 1.199, 1.626, 2.136",\
"0.1052, 0.1268, 0.184, 0.275, 0.4066, 0.5942, 0.8566, 1.2, 1.624, 2.137",\
"0.1052, 0.1264, 0.184, 0.2754, 0.4062, 0.5944, 0.8562, 1.198, 1.623, 2.133",\
"0.1056, 0.127, 0.1842, 0.2756, 0.4066, 0.5948, 0.856, 1.2, 1.624, 2.133");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.001, 0.006903, 0.02762, 0.06719, 0.1288, 0.2153, 0.3291, 0.4725, 0.6476, 0.8562");
values("0.0872, 0.111, 0.1948, 0.3664, 0.645, 1.041, 1.567, 2.23, 3.034, 3.996",\
"0.0872, 0.1115, 0.1946, 0.3658, 0.6446, 1.043, 1.568, 2.231, 3.034, 3.995",\
"0.0872, 0.111, 0.1946, 0.3658, 0.6446, 1.043, 1.568, 2.23, 3.034, 3.996",\
"0.0872, 0.1108, 0.195, 0.3658, 0.6446, 1.042, 1.567, 2.231, 3.033, 3.996",\
"0.0872, 0.111, 0.1944, 0.3656, 0.6446, 1.042, 1.568, 2.23, 3.034, 3.996",\
"0.0864, 0.1106, 0.1944, 0.3654, 0.645, 1.041, 1.566, 2.231, 3.037, 3.996",\
"0.0866, 0.1112, 0.1948, 0.3658, 0.645, 1.041, 1.565, 2.231, 3.034, 3.995",\
"0.0864, 0.1102, 0.195, 0.3654, 0.6448, 1.041, 1.567, 2.23, 3.038, 3.995",\
"0.0866, 0.1098, 0.1946, 0.3658, 0.6452, 1.041, 1.566, 2.228, 3.033, 4.001",\
"0.0866, 0.1102, 0.1946, 0.3654, 0.6448, 1.042, 1.565, 2.227, 3.035, 4.001");
}
}
}
}