blob: 595218c82c98cbc7e1ea7ac80358f414b7af6d3f [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__dffq_4) {
area : 79.027200 ;
ff(IQ1,IQN1) {
clocked_on : "CLK" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&!D" ;
value : "0.00124749" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.001336635" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.00133524" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.001381455" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.001381455" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.003451 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 7 ;
min_period : 2.196 ;
min_pulse_width_high : 1.046 ;
min_pulse_width_low : 1.093 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.2372, 0.2368, 0.238, 0.2462, 0.2653, 0.2959, 0.3392, 0.3958, \
0.4662, 0.5509");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.1823, 0.1819, 0.1824, 0.1887, 0.2046, 0.2305, 0.2685, 0.3187, \
0.3815, 0.4574");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.2408, 0.2404, 0.2415, 0.2497, 0.2688, 0.2994, 0.3427, 0.3992, \
0.4695, 0.5542");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.182, 0.1816, 0.182, 0.1885, 0.2044, 0.2304, 0.2684, 0.3187, \
0.3815, 0.4576");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("1.093");
}
rise_constraint(scalar) {
values("0.704");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.73");
}
rise_constraint(scalar) {
values("1.046");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("2.196");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("2.139");
}
}
}
pin(D) {
capacitance : 0.002379 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 7 ;
nextstate_type : data ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.1307, 0.1301, 0.1295, 0.132, 0.1398, 0.1534, 0.1727, 0.1981, \
0.23, 0.2683");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.09026, 0.09049, 0.09117, 0.09423, 0.1007, 0.1111, 0.1262, 0.1463, \
0.1716, 0.2022");
}
}
internal_power() {
when : "CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.007553, 0.00754, 0.007554, 0.007553, 0.007566, 0.00754, 0.007551, \
0.007551, 0.007543, 0.007533");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("-0.00474, -0.004767, -0.004756, -0.004757, -0.00476, -0.004775, \
-0.0048, -0.004813, -0.004827, -0.004843");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.166, 0.173, 0.212, 0.275, 0.349, 0.409, 0.458, 0.486, 0.499, 0.5",\
"0.158, 0.166, 0.203, 0.272, 0.339, 0.397, 0.449, 0.479, 0.494, 0.492",\
"0.132, 0.135, 0.174, 0.237, 0.307, 0.368, 0.414, 0.444, 0.46, 0.46",\
"0.034, 0.046, 0.082, 0.15, 0.216, 0.28, 0.326, 0.358, 0.377, 0.373",\
"-0.115, -0.104, -0.072, -0.004, 0.067, 0.134, 0.182, 0.21, 0.23, 0.227",\
"-0.304, -0.299, -0.267, -0.194, -0.127, -0.062, -0.021, 0.011, 0.028, 0.02",\
"-0.536, -0.528, -0.496, -0.433, -0.362, -0.301, -0.259, -0.235, -0.225, -0.23",\
"-0.807, -0.804, -0.777, -0.71, -0.643, -0.578, -0.542, -0.516, -0.517, -0.521",\
"-1.127, -1.127, -1.098, -1.03, -0.968, -0.904, -0.869, -0.854, -0.853, -0.862",\
"-1.498, -1.497, -1.47, -1.399, -1.349, -1.291, -1.247, -1.24, -1.235, -1.253");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.097, 0.107, 0.143, 0.204, 0.254, 0.294, 0.333, 0.349, 0.361, 0.363",\
"0.092, 0.098, 0.138, 0.197, 0.248, 0.298, 0.329, 0.351, 0.355, 0.363",\
"0.083, 0.087, 0.118, 0.178, 0.234, 0.277, 0.317, 0.342, 0.351, 0.355",\
"0.074, 0.08, 0.112, 0.169, 0.225, 0.274, 0.309, 0.33, 0.341, 0.345",\
"0.081, 0.093, 0.126, 0.182, 0.235, 0.28, 0.305, 0.326, 0.339, 0.335",\
"0.12, 0.125, 0.154, 0.207, 0.258, 0.304, 0.323, 0.343, 0.346, 0.338",\
"0.192, 0.197, 0.231, 0.277, 0.327, 0.359, 0.378, 0.389, 0.385, 0.371",\
"0.322, 0.328, 0.355, 0.401, 0.441, 0.474, 0.483, 0.487, 0.472, 0.457",\
"0.502, 0.502, 0.533, 0.577, 0.616, 0.634, 0.632, 0.633, 0.611, 0.588",\
"0.739, 0.746, 0.772, 0.802, 0.837, 0.843, 0.838, 0.828, 0.804, 0.778");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.504, 0.496, 0.455, 0.383, 0.296, 0.226, 0.164, 0.127, 0.097, 0.098",\
"0.505, 0.497, 0.456, 0.381, 0.302, 0.233, 0.168, 0.131, 0.106, 0.101",\
"0.545, 0.529, 0.493, 0.421, 0.332, 0.26, 0.209, 0.165, 0.139, 0.139",\
"0.64, 0.632, 0.596, 0.52, 0.439, 0.365, 0.302, 0.264, 0.24, 0.233",\
"0.823, 0.811, 0.769, 0.703, 0.617, 0.549, 0.487, 0.441, 0.422, 0.417",\
"1.084, 1.068, 1.029, 0.955, 0.875, 0.803, 0.743, 0.702, 0.677, 0.669",\
"1.403, 1.394, 1.352, 1.284, 1.202, 1.127, 1.068, 1.027, 0.999, 0.989",\
"1.8, 1.789, 1.745, 1.673, 1.587, 1.519, 1.454, 1.416, 1.384, 1.376",\
"2.252, 2.243, 2.2, 2.128, 2.047, 1.97, 1.914, 1.865, 1.832, 1.827",\
"2.771, 2.761, 2.719, 2.647, 2.56, 2.487, 2.426, 2.382, 2.347, 2.341");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.481, 0.476, 0.426, 0.351, 0.265, 0.207, 0.157, 0.127, 0.11, 0.124",\
"0.485, 0.482, 0.44, 0.356, 0.276, 0.214, 0.168, 0.131, 0.12, 0.127",\
"0.525, 0.508, 0.465, 0.391, 0.31, 0.239, 0.194, 0.16, 0.145, 0.156",\
"0.569, 0.565, 0.516, 0.442, 0.359, 0.292, 0.244, 0.203, 0.19, 0.196",\
"0.608, 0.595, 0.557, 0.473, 0.398, 0.324, 0.28, 0.24, 0.22, 0.222",\
"0.613, 0.615, 0.566, 0.487, 0.41, 0.339, 0.288, 0.252, 0.23, 0.235",\
"0.598, 0.592, 0.542, 0.466, 0.381, 0.317, 0.265, 0.227, 0.215, 0.213",\
"0.534, 0.528, 0.48, 0.402, 0.32, 0.253, 0.205, 0.169, 0.152, 0.163",\
"0.427, 0.415, 0.378, 0.298, 0.215, 0.149, 0.104, 0.058, 0.051, 0.06",\
"0.278, 0.26, 0.214, 0.144, 0.061, -0.017, -0.061, -0.097, -0.104, -0.091");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.9885 ;
max_transition : 7 ;
min_capacitance : 0.001 ;
output_voltage : default ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
related_pin : "CLK" ;
fall_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.001, 0.007816, 0.03174, 0.07743, 0.1486, 0.2485, 0.3799, 0.5455, 0.7476, 0.9885");
values("0.5962, 0.5814, 0.5577, 0.5442, 0.5371, 0.5332, 0.5307, 0.5293, 0.528, 0.5273",\
"0.5962, 0.5815, 0.5578, 0.5443, 0.5373, 0.5333, 0.5307, 0.5292, 0.528, 0.5273",\
"0.5959, 0.5812, 0.5576, 0.5442, 0.5372, 0.5331, 0.5309, 0.5292, 0.5281, 0.5272",\
"0.5964, 0.5819, 0.5582, 0.545, 0.5378, 0.5336, 0.5311, 0.5294, 0.5284, 0.5276",\
"0.5971, 0.5822, 0.5586, 0.5454, 0.5384, 0.5345, 0.532, 0.5303, 0.529, 0.5282",\
"0.5983, 0.5836, 0.5601, 0.5472, 0.54, 0.5358, 0.5334, 0.5319, 0.5307, 0.5297",\
"0.5995, 0.5846, 0.5613, 0.548, 0.5412, 0.5366, 0.5342, 0.5328, 0.5316, 0.5307",\
"0.6007, 0.5858, 0.5625, 0.5493, 0.5423, 0.5381, 0.5356, 0.534, 0.5324, 0.5317",\
"0.6026, 0.5876, 0.5641, 0.5506, 0.544, 0.5399, 0.5372, 0.5358, 0.5343, 0.5333",\
"0.6043, 0.5893, 0.5659, 0.5529, 0.5455, 0.5416, 0.5389, 0.5372, 0.5362, 0.5353");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.001, 0.007816, 0.03174, 0.07743, 0.1486, 0.2485, 0.3799, 0.5455, 0.7476, 0.9885");
values("0.6614, 0.6478, 0.6254, 0.608, 0.6, 0.5973, 0.5964, 0.5993, 0.6038, 0.6117",\
"0.6615, 0.6475, 0.6255, 0.6084, 0.5999, 0.5986, 0.5968, 0.6007, 0.6037, 0.6117",\
"0.6614, 0.6478, 0.6248, 0.6083, 0.5992, 0.5986, 0.5963, 0.5997, 0.6037, 0.6134",\
"0.6611, 0.6475, 0.625, 0.6086, 0.6006, 0.5966, 0.5993, 0.6004, 0.6044, 0.6132",\
"0.6611, 0.6482, 0.6257, 0.608, 0.6007, 0.5983, 0.5987, 0.6008, 0.6043, 0.6144",\
"0.6622, 0.6482, 0.626, 0.6088, 0.6011, 0.5979, 0.5975, 0.6018, 0.6048, 0.6172",\
"0.664, 0.6502, 0.6266, 0.6115, 0.6034, 0.6, 0.6, 0.6025, 0.6076, 0.6232",\
"0.6664, 0.6527, 0.6296, 0.6122, 0.6034, 0.6036, 0.6028, 0.6034, 0.6079, 0.6254",\
"0.6695, 0.6558, 0.6322, 0.6152, 0.6053, 0.6043, 0.6092, 0.61, 0.613, 0.6366",\
"0.674, 0.6605, 0.6375, 0.6202, 0.6099, 0.6061, 0.6066, 0.6167, 0.6251, 0.6579");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.001, 0.007816, 0.03174, 0.07743, 0.1486, 0.2485, 0.3799, 0.5455, 0.7476, 0.9885");
values("1.306, 1.341, 1.432, 1.569, 1.753, 1.999, 2.318, 2.721, 3.212, 3.798",\
"1.316, 1.351, 1.442, 1.578, 1.763, 2.008, 2.328, 2.73, 3.221, 3.807",\
"1.353, 1.387, 1.479, 1.615, 1.799, 2.045, 2.365, 2.767, 3.258, 3.844",\
"1.425, 1.46, 1.552, 1.688, 1.872, 2.118, 2.437, 2.839, 3.33, 3.917",\
"1.509, 1.544, 1.636, 1.772, 1.956, 2.202, 2.522, 2.924, 3.415, 4.001",\
"1.585, 1.62, 1.711, 1.847, 2.032, 2.278, 2.597, 2.999, 3.49, 4.077",\
"1.651, 1.686, 1.777, 1.914, 2.098, 2.344, 2.663, 3.066, 3.557, 4.142",\
"1.703, 1.738, 1.83, 1.966, 2.15, 2.396, 2.715, 3.118, 3.609, 4.194",\
"1.74, 1.774, 1.866, 2.002, 2.186, 2.432, 2.752, 3.154, 3.645, 4.23",\
"1.758, 1.793, 1.884, 2.02, 2.204, 2.45, 2.77, 3.172, 3.663, 4.248");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.001, 0.007816, 0.03174, 0.07743, 0.1486, 0.2485, 0.3799, 0.5455, 0.7476, 0.9885");
values("1.349, 1.386, 1.49, 1.669, 1.945, 2.333, 2.844, 3.489, 4.275, 5.214",\
"1.358, 1.395, 1.5, 1.679, 1.955, 2.342, 2.854, 3.498, 4.285, 5.224",\
"1.395, 1.432, 1.536, 1.715, 1.991, 2.379, 2.89, 3.535, 4.321, 5.26",\
"1.467, 1.504, 1.608, 1.787, 2.063, 2.451, 2.963, 3.607, 4.393, 5.332",\
"1.551, 1.588, 1.693, 1.871, 2.148, 2.536, 3.047, 3.692, 4.479, 5.417",\
"1.628, 1.665, 1.77, 1.949, 2.225, 2.612, 3.124, 3.768, 4.555, 5.493",\
"1.697, 1.734, 1.838, 2.017, 2.294, 2.681, 3.193, 3.837, 4.624, 5.563",\
"1.754, 1.791, 1.895, 2.074, 2.35, 2.738, 3.249, 3.893, 4.681, 5.619",\
"1.796, 1.833, 1.938, 2.117, 2.393, 2.78, 3.291, 3.936, 4.723, 5.661",\
"1.822, 1.86, 1.964, 2.143, 2.419, 2.807, 3.318, 3.962, 4.749, 5.687");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.001, 0.007816, 0.03174, 0.07743, 0.1486, 0.2485, 0.3799, 0.5455, 0.7476, 0.9885");
values("0.1212, 0.1552, 0.253, 0.4216, 0.687, 1.08, 1.615, 2.291, 3.125, 4.116",\
"0.1216, 0.1556, 0.2534, 0.4216, 0.687, 1.082, 1.614, 2.293, 3.125, 4.112",\
"0.121, 0.1556, 0.2536, 0.4216, 0.6872, 1.08, 1.613, 2.293, 3.124, 4.112",\
"0.121, 0.1554, 0.2534, 0.4222, 0.6878, 1.08, 1.613, 2.294, 3.124, 4.112",\
"0.121, 0.1556, 0.2532, 0.421, 0.687, 1.082, 1.613, 2.294, 3.125, 4.118",\
"0.121, 0.1556, 0.2532, 0.4226, 0.6868, 1.081, 1.614, 2.292, 3.125, 4.118",\
"0.1216, 0.1554, 0.2536, 0.4222, 0.6872, 1.08, 1.614, 2.291, 3.122, 4.113",\
"0.121, 0.1552, 0.2536, 0.421, 0.6878, 1.08, 1.613, 2.29, 3.123, 4.114",\
"0.1212, 0.1554, 0.2526, 0.422, 0.6866, 1.08, 1.613, 2.291, 3.119, 4.108",\
"0.121, 0.1554, 0.2532, 0.4218, 0.6874, 1.08, 1.614, 2.293, 3.123, 4.109");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.001, 0.007816, 0.03174, 0.07743, 0.1486, 0.2485, 0.3799, 0.5455, 0.7476, 0.9885");
values("0.1322, 0.175, 0.3238, 0.6236, 1.114, 1.811, 2.731, 3.888, 5.305, 6.99",\
"0.1322, 0.175, 0.3238, 0.6238, 1.114, 1.811, 2.732, 3.893, 5.306, 6.989",\
"0.1322, 0.1752, 0.3234, 0.624, 1.114, 1.811, 2.732, 3.893, 5.305, 7",\
"0.1322, 0.175, 0.3234, 0.6238, 1.116, 1.812, 2.73, 3.894, 5.309, 7.002",\
"0.132, 0.175, 0.323, 0.6238, 1.116, 1.812, 2.73, 3.889, 5.309, 7.002",\
"0.1314, 0.1744, 0.3238, 0.6236, 1.115, 1.813, 2.732, 3.889, 5.304, 7.001",\
"0.1322, 0.1754, 0.323, 0.6248, 1.115, 1.813, 2.734, 3.893, 5.306, 7",\
"0.1324, 0.1752, 0.3236, 0.6246, 1.116, 1.811, 2.731, 3.888, 5.308, 6.993",\
"0.1322, 0.1754, 0.3234, 0.6244, 1.115, 1.812, 2.731, 3.888, 5.31, 7.002",\
"0.1322, 0.1754, 0.3234, 0.6246, 1.115, 1.812, 2.73, 3.888, 5.305, 6.996");
}
}
}
}