blob: d85f92b329dfafaec818addb2435d894963ea729 [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.0003762288" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.0003863862" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.0003513456" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.000358911" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.0003863862" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.003106 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 25 ;
min_period : 10.51 ;
min_pulse_width_high : 4.128 ;
min_pulse_width_low : 5.249 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("0.03154, 0.03148, 0.03131, 0.03114, 0.03101, 0.03094, 0.03093, \
0.03098, 0.03084, 0.01504");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("0.02053, 0.0205, 0.02041, 0.02023, 0.02009, 0.01998, 0.01994, \
0.01995, 0.02009, 0.02046");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("0.03152, 0.03146, 0.0313, 0.03113, 0.03099, 0.03093, 0.03092, \
0.03096, 0.03081, 0.01495");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("0.02054, 0.02052, 0.02042, 0.02025, 0.02011, 0.02, 0.01995, 0.01997, \
0.0201, 0.02048");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("4.303");
}
rise_constraint(scalar) {
values("4.128");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("5.249");
}
rise_constraint(scalar) {
values("2.821");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("9.043");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("10.51");
}
}
}
pin(D) {
capacitance : 0.002145 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 25 ;
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.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("0.006114, 0.005953, 0.005778, 0.005728, 0.00574, 0.005819, 0.005941, \
0.006119, 0.006269, 0.006171");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("0.001037, 0.0009938, 0.0009006, 0.0008263, 0.0007952, 0.0008279, \
0.0009142, 0.001059, 0.001288, 0.00167");
}
}
internal_power() {
when : "CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("0.01964, 0.01954, 0.01942, 0.01933, 0.01929, 0.0193, 0.01939, \
0.01953, 0.01909, 0.007887");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("0.01339, 0.01336, 0.0133, 0.01324, 0.0132, 0.01318, 0.01321, 0.01329, \
0.01345, 0.01376");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
index_2("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("0.739, 0.802, 1.06, 1.528, 2.271, 3.211, 4.141, 5.112, 6.13, 7.267",\
"0.676, 0.744, 0.997, 1.462, 2.212, 3.153, 4.069, 5.05, 6.063, 7.196",\
"0.417, 0.48, 0.741, 1.202, 1.943, 2.891, 3.803, 4.783, 5.801, 6.937",\
"-0.122, -0.061, 0.197, 0.665, 1.41, 2.359, 3.275, 4.246, 5.259, 6.391",\
"-0.946, -0.888, -0.633, -0.171, 0.583, 1.512, 2.43, 3.392, 4.41, 5.546",\
"-1.934, -1.873, -1.627, -1.174, -0.443, 0.473, 1.361, 2.321, 3.352, 4.499",\
"-3.034, -2.977, -2.74, -2.312, -1.591, -0.699, 0.171, 1.131, 2.156, 3.303",\
"-4.239, -4.181, -3.939, -3.524, -2.834, -1.976, -1.138, -0.188, 0.843, 1.992",\
"-5.562, -5.512, -5.268, -4.875, -4.195, -3.359, -2.551, -1.616, -0.591, 0.554",\
"-6.997, -6.938, -6.708, -6.327, -5.676, -4.856, -4.094, -3.165, -2.146, -1.001");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
index_2("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("1.66, 1.743, 2.009, 2.535, 3.369, 4.496, 5.786, 7.184, 8.694, 10.29",\
"1.599, 1.677, 1.945, 2.474, 3.307, 4.432, 5.725, 7.121, 8.633, 10.25",\
"1.377, 1.451, 1.726, 2.249, 3.083, 4.216, 5.502, 6.906, 8.416, 10.02",\
"1.085, 1.16, 1.427, 1.956, 2.796, 3.923, 5.215, 6.619, 8.124, 9.735",\
"0.834, 0.908, 1.179, 1.698, 2.533, 3.654, 4.945, 6.342, 7.849, 9.457",\
"0.636, 0.716, 0.981, 1.495, 2.321, 3.427, 4.711, 6.105, 7.609, 9.215",\
"0.507, 0.584, 0.848, 1.367, 2.176, 3.276, 4.542, 5.928, 7.433, 9.025",\
"0.455, 0.528, 0.797, 1.307, 2.107, 3.196, 4.45, 5.826, 7.323, 8.907",\
"0.505, 0.581, 0.85, 1.357, 2.146, 3.218, 4.454, 5.821, 7.296, 8.877",\
"0.677, 0.758, 1.019, 1.527, 2.299, 3.347, 4.563, 5.91, 7.379, 8.957");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
index_2("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("3.435, 3.292, 2.966, 2.449, 1.715, 0.851, -0.101, -1.187, -2.395, -3.705",\
"3.498, 3.359, 3.039, 2.516, 1.777, 0.922, -0.035, -1.125, -2.329, -3.631",\
"3.77, 3.628, 3.305, 2.791, 2.048, 1.196, 0.235, -0.857, -2.057, -3.386",\
"4.304, 4.164, 3.846, 3.325, 2.586, 1.724, 0.771, -0.316, -1.521, -2.839",\
"5.159, 5.015, 4.692, 4.168, 3.434, 2.574, 1.618, 0.526, -0.675, -2.003",\
"6.312, 6.162, 5.842, 5.327, 4.589, 3.727, 2.765, 1.677, 0.474, -0.858",\
"7.721, 7.583, 7.259, 6.746, 6.005, 5.128, 4.171, 3.07, 1.858, 0.523",\
"9.361, 9.209, 8.891, 8.365, 7.625, 6.737, 5.755, 4.643, 3.426, 2.093",\
"11.13, 10.99, 10.66, 10.15, 9.367, 8.456, 7.475, 6.357, 5.137, 3.788",\
"13.08, 12.91, 12.57, 12.08, 11.29, 10.36, 9.327, 8.227, 6.987, 5.618");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
index_2("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("0.933, 0.856, 0.58, 0.046, -0.832, -2.026, -3.375, -4.849, -6.456, -8.202",\
"0.999, 0.915, 0.644, 0.115, -0.77, -1.96, -3.307, -4.791, -6.391, -8.114",\
"1.207, 1.121, 0.854, 0.317, -0.566, -1.756, -3.095, -4.574, -6.176, -7.912",\
"1.544, 1.462, 1.188, 0.655, -0.227, -1.413, -2.755, -4.236, -5.84, -7.578",\
"1.968, 1.886, 1.604, 1.06, 0.201, -0.993, -2.334, -3.816, -5.417, -7.155",\
"2.396, 2.308, 2.022, 1.473, 0.612, -0.571, -1.91, -3.382, -4.977, -6.708",\
"2.785, 2.701, 2.415, 1.862, 0.993, -0.181, -1.506, -2.982, -4.566, -6.296",\
"3.133, 3.046, 2.754, 2.201, 1.327, 0.164, -1.164, -2.628, -4.213, -5.928",\
"3.403, 3.323, 3.034, 2.468, 1.609, 0.429, -0.896, -2.354, -3.921, -5.633",\
"3.597, 3.516, 3.218, 2.651, 1.791, 0.627, -0.702, -2.156, -3.729, -5.434");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.6852 ;
max_transition : 25 ;
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.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
index_2("0.001, 0.005722, 0.0223, 0.05395, 0.1033, 0.1725, 0.2635, 0.3782, 0.5183, 0.6852");
values("0.06077, 0.06096, 0.06154, 0.06221, 0.06275, 0.0631, 0.06334, 0.06349, 0.06358, 0.06359",\
"0.06077, 0.06097, 0.06156, 0.06222, 0.06276, 0.06312, 0.06335, 0.06349, 0.06359, 0.06359",\
"0.06077, 0.06097, 0.06156, 0.06222, 0.06275, 0.06311, 0.06335, 0.0635, 0.06359, 0.06356",\
"0.06076, 0.06097, 0.06154, 0.06221, 0.06274, 0.06309, 0.06332, 0.06348, 0.06356, 0.06347",\
"0.06072, 0.06092, 0.0615, 0.06217, 0.06271, 0.06307, 0.06329, 0.06344, 0.06348, 0.06322",\
"0.06068, 0.06088, 0.06147, 0.06213, 0.06267, 0.06302, 0.06325, 0.06337, 0.06322, 0.06237",\
"0.06063, 0.06083, 0.06141, 0.06208, 0.0626, 0.06296, 0.06314, 0.06294, 0.06175, 0.05975",\
"0.06047, 0.06068, 0.06125, 0.06189, 0.06235, 0.06233, 0.06099, 0.0586, 0.05662, 0.05518",\
"0.04502, 0.04402, 0.04154, 0.04014, 0.03958, 0.03935, 0.03924, 0.03918, 0.03915, 0.03913",\
"-0.0001826, -0.0001829, -0.0001902, -0.0001925, -0.0001946, -0.0001962, -0.0001975, -0.0001985, -0.0001993, -0.0002");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
index_2("0.001, 0.005722, 0.0223, 0.05395, 0.1033, 0.1725, 0.2635, 0.3782, 0.5183, 0.6852");
values("-0.03277, -0.03256, -0.03212, -0.03144, -0.03072, -0.02967, -0.02063, 0.04592, 0.2123, 0.3943",\
"-0.03273, -0.03253, -0.03212, -0.03146, -0.03066, -0.02984, -0.02036, 0.04934, 0.2164, 0.3961",\
"-0.03276, -0.03255, -0.03211, -0.03148, -0.03069, -0.02983, -0.01807, 0.06057, 0.2308, 0.4018",\
"-0.03276, -0.03261, -0.03213, -0.03148, -0.03063, -0.02943, -0.0117, 0.08467, 0.2559, 0.4086",\
"-0.03277, -0.03255, -0.03214, -0.03145, -0.03062, -0.02816, 0.004972, 0.1282, 0.2856, 0.4079",\
"-0.03261, -0.03241, -0.03198, -0.03132, -0.03041, -0.02176, 0.04793, 0.1842, 0.3004, 0.3829",\
"-0.03234, -0.03215, -0.03164, -0.03103, -0.02786, 0.01333, 0.1183, 0.2075, 0.2682, 0.3102",\
"-0.03238, -0.03218, -0.03175, -0.02805, 0.01398, 0.07265, 0.1102, 0.1339, 0.1495, 0.16",\
"-0.08889, -0.08892, -0.08895, -0.08898, -0.089, -0.08901, -0.08902, -0.08902, -0.08903, -0.08903",\
"-0.1077, -0.1077, -0.1077, -0.1077, -0.1077, -0.1077, -0.1077, -0.1077, -0.1077, -0.1077");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
index_2("0.001, 0.005722, 0.0223, 0.05395, 0.1033, 0.1725, 0.2635, 0.3782, 0.5183, 0.6852");
values("5.928, 6.05, 6.366, 6.801, 7.324, 7.932, 8.653, 9.512, 10.54, 11.75",\
"6.005, 6.127, 6.444, 6.878, 7.401, 8.01, 8.73, 9.59, 10.61, 11.83",\
"6.283, 6.405, 6.722, 7.156, 7.679, 8.288, 9.008, 9.867, 10.89, 12.1",\
"6.825, 6.946, 7.263, 7.697, 8.221, 8.829, 9.549, 10.41, 11.43, 12.65",\
"7.677, 7.799, 8.115, 8.549, 9.072, 9.681, 10.4, 11.26, 12.29, 13.5",\
"8.831, 8.953, 9.27, 9.704, 10.23, 10.84, 11.56, 12.42, 13.44, 14.65",\
"10.19, 10.31, 10.62, 11.06, 11.58, 12.19, 12.91, 13.77, 14.79, 16.01",\
"11.66, 11.79, 12.1, 12.54, 13.06, 13.67, 14.39, 15.25, 16.27, 17.49",\
"13.25, 13.38, 13.69, 14.13, 14.65, 15.26, 15.98, 16.84, 17.87, 19.07",\
"14.95, 15.07, 15.39, 15.82, 16.35, 16.96, 17.68, 18.54, 19.56, 20.77");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
index_2("0.001, 0.005722, 0.0223, 0.05395, 0.1033, 0.1725, 0.2635, 0.3782, 0.5183, 0.6852");
values("7.213, 7.351, 7.759, 8.462, 9.528, 11.01, 12.95, 15.39, 18.36, 21.91",\
"7.291, 7.428, 7.835, 8.537, 9.603, 11.08, 13.02, 15.46, 18.44, 21.99",\
"7.568, 7.706, 8.112, 8.815, 9.88, 11.36, 13.3, 15.74, 18.72, 22.26",\
"8.11, 8.245, 8.654, 9.357, 10.42, 11.9, 13.84, 16.28, 19.26, 22.8",\
"8.962, 9.1, 9.505, 10.21, 11.28, 12.75, 14.69, 17.13, 20.11, 23.66",\
"10.13, 10.26, 10.67, 11.37, 12.44, 13.92, 15.86, 18.3, 21.27, 24.82",\
"11.5, 11.64, 12.05, 12.75, 13.81, 15.29, 17.23, 19.67, 22.65, 26.2",\
"13.01, 13.15, 13.56, 14.26, 15.32, 16.8, 18.74, 21.18, 24.16, 27.71",\
"14.63, 14.77, 15.18, 15.88, 16.95, 18.43, 20.37, 22.81, 25.78, 29.33",\
"16.37, 16.5, 16.91, 17.61, 18.68, 20.16, 22.1, 24.54, 27.52, 31.06");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
index_2("0.001, 0.005722, 0.0223, 0.05395, 0.1033, 0.1725, 0.2635, 0.3782, 0.5183, 0.6852");
values("0.6698, 0.7602, 1.023, 1.441, 1.998, 2.743, 3.755, 5.083, 6.762, 8.796",\
"0.6702, 0.7604, 1.024, 1.442, 1.998, 2.746, 3.757, 5.083, 6.758, 8.794",\
"0.6702, 0.7596, 1.022, 1.443, 1.998, 2.745, 3.758, 5.087, 6.753, 8.796",\
"0.6704, 0.7602, 1.023, 1.441, 1.999, 2.743, 3.756, 5.084, 6.752, 8.796",\
"0.6696, 0.7592, 1.022, 1.444, 1.998, 2.744, 3.758, 5.086, 6.762, 8.794",\
"0.67, 0.76, 1.022, 1.444, 1.998, 2.742, 3.756, 5.084, 6.76, 8.786",\
"0.67, 0.76, 1.022, 1.442, 1.998, 2.742, 3.758, 5.086, 6.762, 8.788",\
"0.67, 0.76, 1.022, 1.444, 1.998, 2.744, 3.758, 5.082, 6.756, 8.796",\
"0.67, 0.76, 1.024, 1.444, 2, 2.744, 3.756, 5.086, 6.762, 8.8",\
"0.67, 0.762, 1.024, 1.442, 1.998, 2.744, 3.76, 5.082, 6.764, 8.78");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
index_2("0.001, 0.005722, 0.0223, 0.05395, 0.1033, 0.1725, 0.2635, 0.3782, 0.5183, 0.6852");
values("0.6288, 0.7738, 1.305, 2.395, 4.136, 6.599, 9.868, 13.97, 19.01, 24.96",\
"0.6278, 0.7752, 1.305, 2.396, 4.139, 6.606, 9.868, 13.98, 19.01, 24.98",\
"0.6296, 0.774, 1.303, 2.396, 4.141, 6.606, 9.858, 13.98, 18.98, 24.98",\
"0.6288, 0.7746, 1.305, 2.395, 4.138, 6.604, 9.86, 13.98, 18.99, 24.95",\
"0.628, 0.776, 1.302, 2.396, 4.138, 6.606, 9.868, 13.98, 18.98, 24.98",\
"0.63, 0.776, 1.304, 2.396, 4.14, 6.606, 9.862, 13.97, 19, 25",\
"0.63, 0.774, 1.304, 2.394, 4.14, 6.608, 9.854, 13.98, 19.01, 25.01",\
"0.628, 0.774, 1.306, 2.394, 4.14, 6.602, 9.87, 13.98, 19.01, 25.01",\
"0.628, 0.776, 1.306, 2.396, 4.14, 6.602, 9.868, 13.97, 19.01, 25",\
"0.628, 0.776, 1.304, 2.396, 4.136, 6.6, 9.854, 13.98, 19, 24.99");
}
}
}
}