blob: 10ac08961049f29c5bfe5e92cad28f2ab8baef46 [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.01921315" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.03790875" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.016236" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.03777235" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.03790875" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.004955 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 3.6 ;
min_period : 0.783 ;
min_pulse_width_high : 0.31 ;
min_pulse_width_low : 0.389 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.5019, 0.502, 0.516, 0.5682, 0.6697, 0.8235, 1.031, 1.297, 1.621, \
2.007");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.3247, 0.3245, 0.3347, 0.3792, 0.4656, 0.6003, 0.7849, 1.022, \
1.315, 1.664");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.5025, 0.5027, 0.5168, 0.5689, 0.6702, 0.824, 1.032, 1.297, 1.621, \
2.007");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.324, 0.3242, 0.3341, 0.3787, 0.465, 0.5998, 0.7842, 1.022, 1.314, \
1.663");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.354");
}
rise_constraint(scalar) {
values("0.31");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.389");
}
rise_constraint(scalar) {
values("0.277");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("0.714");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("0.783");
}
}
}
pin(D) {
capacitance : 0.00383 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 3.6 ;
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.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.1043, 0.106, 0.1227, 0.1648, 0.2362, 0.3391, 0.4761, 0.65, 0.8628, \
1.117");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.01045, 0.01098, 0.02223, 0.05642, 0.1182, 0.2097, 0.3329, 0.4895, \
0.6823, 0.9126");
}
}
internal_power() {
when : "CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.3842, 0.3855, 0.3986, 0.439, 0.5162, 0.6334, 0.7927, 0.9947, \
1.242, 1.537");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.2552, 0.2556, 0.2654, 0.2986, 0.3622, 0.4617, 0.5984, 0.7746, \
0.9927, 1.254");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.069, 0.069, 0.089, 0.127, 0.171, 0.22, 0.279, 0.354, 0.435, 0.536",\
"0.067, 0.06, 0.085, 0.12, 0.167, 0.212, 0.273, 0.346, 0.43, 0.529",\
"0.036, 0.031, 0.059, 0.095, 0.136, 0.186, 0.25, 0.316, 0.402, 0.499",\
"-0.007, -0.012, 0.009, 0.049, 0.085, 0.134, 0.193, 0.264, 0.346, 0.444",\
"-0.061, -0.062, -0.038, -0.006, 0.032, 0.075, 0.13, 0.195, 0.279, 0.366",\
"-0.124, -0.126, -0.106, -0.071, -0.033, -0, 0.054, 0.117, 0.192, 0.274",\
"-0.184, -0.194, -0.174, -0.146, -0.114, -0.078, -0.036, 0.024, 0.085, 0.166",\
"-0.269, -0.276, -0.254, -0.228, -0.201, -0.168, -0.126, -0.08, -0.023, 0.054",\
"-0.35, -0.359, -0.343, -0.315, -0.295, -0.274, -0.239, -0.193, -0.141, -0.071",\
"-0.445, -0.456, -0.443, -0.414, -0.408, -0.386, -0.357, -0.322, -0.269, -0.21");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.097, 0.099, 0.12, 0.171, 0.234, 0.31, 0.397, 0.493, 0.604, 0.718",\
"0.092, 0.1, 0.118, 0.166, 0.232, 0.31, 0.393, 0.492, 0.601, 0.712",\
"0.083, 0.089, 0.109, 0.154, 0.225, 0.297, 0.384, 0.478, 0.585, 0.705",\
"0.069, 0.073, 0.093, 0.145, 0.211, 0.286, 0.376, 0.468, 0.577, 0.697",\
"0.065, 0.068, 0.096, 0.14, 0.206, 0.286, 0.369, 0.465, 0.57, 0.687",\
"0.073, 0.076, 0.097, 0.151, 0.211, 0.296, 0.374, 0.474, 0.577, 0.695",\
"0.099, 0.102, 0.119, 0.174, 0.228, 0.308, 0.394, 0.495, 0.593, 0.714",\
"0.143, 0.145, 0.16, 0.209, 0.267, 0.338, 0.422, 0.519, 0.62, 0.74",\
"0.215, 0.217, 0.235, 0.278, 0.328, 0.395, 0.47, 0.56, 0.663, 0.779",\
"0.311, 0.314, 0.325, 0.366, 0.4, 0.465, 0.536, 0.626, 0.719, 0.831");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.2, 0.197, 0.169, 0.13, 0.073, 0.017, -0.05, -0.124, -0.209, -0.299",\
"0.205, 0.199, 0.18, 0.136, 0.084, 0.024, -0.042, -0.119, -0.203, -0.3",\
"0.229, 0.226, 0.198, 0.158, 0.105, 0.048, -0.015, -0.097, -0.175, -0.274",\
"0.28, 0.274, 0.252, 0.21, 0.156, 0.096, 0.037, -0.042, -0.122, -0.219",\
"0.352, 0.354, 0.323, 0.284, 0.226, 0.17, 0.104, 0.03, -0.054, -0.144",\
"0.446, 0.442, 0.42, 0.376, 0.319, 0.266, 0.194, 0.122, 0.047, -0.05",\
"0.562, 0.553, 0.527, 0.486, 0.426, 0.368, 0.301, 0.233, 0.152, 0.062",\
"0.685, 0.681, 0.652, 0.612, 0.551, 0.489, 0.426, 0.349, 0.274, 0.193",\
"0.823, 0.821, 0.79, 0.747, 0.686, 0.622, 0.557, 0.486, 0.409, 0.326",\
"0.982, 0.978, 0.949, 0.902, 0.838, 0.768, 0.702, 0.631, 0.555, 0.481");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.149, 0.136, 0.122, 0.075, 0.034, -0.022, -0.066, -0.119, -0.16, -0.217",\
"0.149, 0.14, 0.122, 0.079, 0.028, -0.016, -0.066, -0.108, -0.16, -0.208",\
"0.167, 0.159, 0.139, 0.1, 0.043, -0.001, -0.049, -0.097, -0.146, -0.2",\
"0.193, 0.183, 0.161, 0.121, 0.067, 0.012, -0.036, -0.096, -0.145, -0.19",\
"0.218, 0.208, 0.189, 0.143, 0.084, 0.024, -0.042, -0.082, -0.146, -0.201",\
"0.237, 0.229, 0.205, 0.161, 0.107, 0.04, -0.03, -0.086, -0.164, -0.218",\
"0.255, 0.242, 0.225, 0.174, 0.115, 0.048, -0.021, -0.109, -0.182, -0.252",\
"0.258, 0.249, 0.221, 0.175, 0.115, 0.05, -0.028, -0.109, -0.199, -0.28",\
"0.251, 0.238, 0.219, 0.169, 0.112, 0.036, -0.044, -0.128, -0.221, -0.308",\
"0.235, 0.226, 0.199, 0.151, 0.087, 0.017, -0.068, -0.152, -0.249, -0.35");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 1.452 ;
max_transition : 3.6 ;
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.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.001, 0.01101, 0.04617, 0.1133, 0.2179, 0.3646, 0.5577, 0.8009, 1.098, 1.452");
values("1.901, 1.837, 1.688, 1.546, 1.459, 1.404, 1.367, 1.341, 1.323, 1.309",\
"1.902, 1.837, 1.689, 1.546, 1.459, 1.405, 1.367, 1.342, 1.323, 1.309",\
"1.902, 1.836, 1.689, 1.546, 1.459, 1.404, 1.368, 1.342, 1.323, 1.31",\
"1.906, 1.841, 1.693, 1.55, 1.463, 1.408, 1.371, 1.345, 1.327, 1.313",\
"1.918, 1.854, 1.705, 1.563, 1.476, 1.421, 1.384, 1.358, 1.339, 1.325",\
"1.942, 1.877, 1.728, 1.585, 1.498, 1.443, 1.406, 1.38, 1.361, 1.347",\
"1.972, 1.907, 1.758, 1.615, 1.527, 1.471, 1.434, 1.407, 1.388, 1.375",\
"2.01, 1.945, 1.795, 1.651, 1.562, 1.507, 1.468, 1.441, 1.422, 1.409",\
"2.054, 1.989, 1.837, 1.694, 1.604, 1.547, 1.509, 1.482, 1.462, 1.449",\
"2.104, 2.038, 1.886, 1.741, 1.65, 1.593, 1.554, 1.527, 1.508, 1.493");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.001, 0.01101, 0.04617, 0.1133, 0.2179, 0.3646, 0.5577, 0.8009, 1.098, 1.452");
values("1.905, 1.842, 1.715, 1.628, 1.567, 1.529, 1.509, 1.499, 1.494, 1.491",\
"1.905, 1.84, 1.716, 1.628, 1.567, 1.53, 1.511, 1.498, 1.493, 1.49",\
"1.907, 1.842, 1.716, 1.629, 1.568, 1.53, 1.51, 1.5, 1.495, 1.501",\
"1.912, 1.847, 1.721, 1.634, 1.574, 1.536, 1.518, 1.506, 1.5, 1.506",\
"1.923, 1.858, 1.732, 1.646, 1.585, 1.551, 1.529, 1.516, 1.511, 1.508",\
"1.939, 1.874, 1.75, 1.66, 1.599, 1.562, 1.541, 1.532, 1.528, 1.524",\
"1.956, 1.892, 1.765, 1.681, 1.621, 1.581, 1.563, 1.552, 1.547, 1.552",\
"1.979, 1.915, 1.791, 1.698, 1.643, 1.609, 1.583, 1.572, 1.567, 1.567",\
"2.001, 1.936, 1.812, 1.723, 1.658, 1.625, 1.61, 1.601, 1.595, 1.592",\
"2.027, 1.963, 1.838, 1.749, 1.684, 1.648, 1.633, 1.634, 1.631, 1.63");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.001, 0.01101, 0.04617, 0.1133, 0.2179, 0.3646, 0.5577, 0.8009, 1.098, 1.452");
values("0.5212, 0.5417, 0.5956, 0.6747, 0.7785, 0.9134, 1.086, 1.304, 1.57, 1.887",\
"0.5265, 0.547, 0.601, 0.6801, 0.7839, 0.9187, 1.092, 1.309, 1.575, 1.892",\
"0.55, 0.5706, 0.6246, 0.7037, 0.8074, 0.9422, 1.115, 1.333, 1.599, 1.916",\
"0.5989, 0.6195, 0.6735, 0.7526, 0.8564, 0.9912, 1.164, 1.382, 1.647, 1.965",\
"0.6687, 0.6893, 0.7431, 0.8223, 0.9261, 1.061, 1.234, 1.451, 1.717, 2.034",\
"0.7524, 0.7732, 0.8272, 0.9062, 1.01, 1.145, 1.318, 1.535, 1.801, 2.118",\
"0.8473, 0.868, 0.9218, 1.001, 1.105, 1.24, 1.413, 1.63, 1.896, 2.213",\
"0.9525, 0.9731, 1.027, 1.106, 1.21, 1.345, 1.518, 1.735, 2.001, 2.318",\
"1.068, 1.089, 1.143, 1.222, 1.325, 1.46, 1.633, 1.851, 2.116, 2.433",\
"1.194, 1.215, 1.269, 1.348, 1.452, 1.586, 1.759, 1.977, 2.242, 2.56");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.001, 0.01101, 0.04617, 0.1133, 0.2179, 0.3646, 0.5577, 0.8009, 1.098, 1.452");
values("0.573, 0.5933, 0.647, 0.7363, 0.873, 1.067, 1.324, 1.65, 2.049, 2.525",\
"0.5782, 0.5984, 0.6523, 0.7417, 0.8783, 1.072, 1.33, 1.655, 2.054, 2.53",\
"0.6024, 0.6227, 0.6764, 0.7658, 0.9023, 1.097, 1.354, 1.679, 2.078, 2.553",\
"0.652, 0.6721, 0.726, 0.8154, 0.9521, 1.146, 1.403, 1.729, 2.128, 2.602",\
"0.7221, 0.7422, 0.796, 0.8856, 1.022, 1.216, 1.474, 1.799, 2.198, 2.674",\
"0.8062, 0.8265, 0.8802, 0.9696, 1.106, 1.3, 1.558, 1.883, 2.282, 2.758",\
"0.9009, 0.9211, 0.975, 1.064, 1.201, 1.395, 1.653, 1.978, 2.376, 2.851",\
"1.005, 1.025, 1.079, 1.168, 1.305, 1.499, 1.756, 2.082, 2.48, 2.957",\
"1.118, 1.138, 1.192, 1.281, 1.418, 1.612, 1.869, 2.194, 2.593, 3.068",\
"1.24, 1.261, 1.314, 1.403, 1.54, 1.734, 1.991, 2.317, 2.715, 3.19");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.001, 0.01101, 0.04617, 0.1133, 0.2179, 0.3646, 0.5577, 0.8009, 1.098, 1.452");
values("0.08296, 0.1064, 0.1649, 0.2556, 0.395, 0.6021, 0.8875, 1.256, 1.709, 2.249",\
"0.08316, 0.1061, 0.1649, 0.2557, 0.3947, 0.6011, 0.8874, 1.256, 1.71, 2.251",\
"0.08336, 0.106, 0.1649, 0.2558, 0.3952, 0.6018, 0.8874, 1.256, 1.71, 2.251",\
"0.08296, 0.1061, 0.1649, 0.2557, 0.3948, 0.6012, 0.8872, 1.256, 1.71, 2.25",\
"0.08324, 0.1066, 0.165, 0.2558, 0.3952, 0.602, 0.8864, 1.256, 1.71, 2.249",\
"0.0834, 0.1062, 0.165, 0.2558, 0.395, 0.6016, 0.887, 1.256, 1.71, 2.25",\
"0.0832, 0.1062, 0.1654, 0.2558, 0.3956, 0.6022, 0.8874, 1.255, 1.708, 2.25",\
"0.0836, 0.107, 0.1658, 0.2562, 0.3952, 0.6022, 0.8862, 1.254, 1.707, 2.252",\
"0.084, 0.107, 0.1658, 0.2562, 0.3954, 0.6014, 0.886, 1.254, 1.707, 2.25",\
"0.084, 0.1072, 0.166, 0.2566, 0.3956, 0.602, 0.8868, 1.254, 1.707, 2.248");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.001, 0.01101, 0.04617, 0.1133, 0.2179, 0.3646, 0.5577, 0.8009, 1.098, 1.452");
values("0.07548, 0.1, 0.1732, 0.3246, 0.5742, 0.9344, 1.411, 2.014, 2.744, 3.618",\
"0.07596, 0.0998, 0.1729, 0.3239, 0.5743, 0.9341, 1.413, 2.014, 2.748, 3.617",\
"0.0764, 0.09996, 0.1732, 0.324, 0.5743, 0.9352, 1.411, 2.011, 2.749, 3.618",\
"0.07528, 0.1, 0.1731, 0.3241, 0.5742, 0.9346, 1.411, 2.011, 2.748, 3.619",\
"0.0758, 0.1, 0.173, 0.324, 0.5742, 0.935, 1.413, 2.014, 2.747, 3.616",\
"0.0754, 0.099, 0.1734, 0.3246, 0.5742, 0.9344, 1.411, 2.014, 2.743, 3.619",\
"0.0758, 0.0994, 0.1728, 0.3244, 0.575, 0.9348, 1.413, 2.011, 2.744, 3.619",\
"0.0752, 0.0998, 0.1726, 0.3244, 0.5742, 0.9348, 1.411, 2.013, 2.745, 3.617",\
"0.0756, 0.0994, 0.173, 0.3238, 0.5744, 0.9342, 1.411, 2.013, 2.744, 3.617",\
"0.075, 0.1, 0.1728, 0.3246, 0.5744, 0.9354, 1.412, 2.011, 2.744, 3.619");
}
}
}
}