blob: d7bd78b333430fa2b9185ec2766128940e87b097 [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_2) {
area : 72.441600 ;
ff(IQ1,IQN1) {
clocked_on : "(!CLKN)" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&!D" ;
value : "0.0003530952" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.0003595266" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.000328212" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.0003320514" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.0003595266" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.003105 ;
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 : 9.532 ;
min_pulse_width_high : 4.175 ;
min_pulse_width_low : 4.769 ;
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.02047");
}
}
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.0308, 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("3.723");
}
rise_constraint(scalar) {
values("4.175");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("4.769");
}
rise_constraint(scalar) {
values("2.812");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("8.296");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("9.532");
}
}
}
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.006111, 0.005954, 0.005777, 0.005724, 0.005743, 0.005818, 0.005941, \
0.006121, 0.006267, 0.006176");
}
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.001038, 0.0009956, 0.0009005, 0.0008244, 0.000794, 0.0008277, \
0.0009144, 0.001058, 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.01931, 0.01939, \
0.01952, 0.01909, 0.007888");
}
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.01319, 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.687, 0.766, 1.014, 1.491, 2.243, 3.181, 4.1, 5.064, 6.066, 7.234",\
"0.632, 0.701, 0.95, 1.429, 2.172, 3.114, 4.039, 5, 6.006, 7.177",\
"0.372, 0.444, 0.697, 1.16, 1.903, 2.848, 3.771, 4.729, 5.737, 6.917",\
"-0.174, -0.1, 0.147, 0.635, 1.368, 2.319, 3.234, 4.19, 5.197, 6.367",\
"-1.002, -0.928, -0.684, -0.206, 0.538, 1.481, 2.398, 3.349, 4.326, 5.532",\
"-1.988, -1.929, -1.687, -1.214, -0.492, 0.428, 1.333, 2.28, 3.292, 4.469",\
"-3.103, -3.024, -2.797, -2.347, -1.647, -0.737, 0.131, 1.089, 2.096, 3.282",\
"-4.321, -4.248, -4.025, -3.581, -2.902, -2.024, -1.172, -0.229, 0.795, 1.97",\
"-5.646, -5.563, -5.357, -4.924, -4.262, -3.411, -2.593, -1.654, -0.651, 0.535",\
"-7.078, -7.021, -6.8, -6.382, -5.753, -4.933, -4.13, -3.21, -2.206, -1.016");
}
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.677, 1.752, 2.019, 2.546, 3.379, 4.504, 5.792, 7.2, 8.699, 10.32",\
"1.617, 1.689, 1.957, 2.48, 3.317, 4.44, 5.731, 7.129, 8.638, 10.25",\
"1.392, 1.468, 1.735, 2.263, 3.094, 4.225, 5.515, 6.915, 8.422, 10.04",\
"1.101, 1.177, 1.441, 1.975, 2.803, 3.933, 5.222, 6.63, 8.13, 9.747",\
"0.853, 0.928, 1.19, 1.712, 2.542, 3.66, 4.953, 6.352, 7.853, 9.467",\
"0.659, 0.732, 0.998, 1.515, 2.333, 3.442, 4.721, 6.117, 7.614, 9.227",\
"0.53, 0.608, 0.873, 1.381, 2.192, 3.295, 4.559, 5.942, 7.441, 9.047",\
"0.488, 0.561, 0.831, 1.336, 2.133, 3.214, 4.471, 5.85, 7.333, 8.937",\
"0.544, 0.62, 0.891, 1.388, 2.179, 3.24, 4.47, 5.84, 7.312, 8.907",\
"0.729, 0.81, 1.073, 1.567, 2.333, 3.375, 4.589, 5.932, 7.392, 8.987");
}
}
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.481, 3.382, 3.006, 2.486, 1.743, 0.882, -0.078, -1.17, -2.378, -3.698",\
"3.552, 3.45, 3.081, 2.556, 1.816, 0.945, -0.011, -1.1, -2.307, -3.618",\
"3.821, 3.722, 3.392, 2.827, 2.076, 1.213, 0.254, -0.831, -2.04, -3.364",\
"4.356, 4.26, 3.931, 3.364, 2.614, 1.754, 0.792, -0.297, -1.502, -2.827",\
"5.206, 5.104, 4.776, 4.21, 3.462, 2.598, 1.642, 0.547, -0.655, -1.986",\
"6.358, 6.264, 5.929, 5.367, 4.614, 3.75, 2.793, 1.694, 0.489, -0.839",\
"7.78, 7.677, 7.308, 6.786, 6.029, 5.156, 4.188, 3.091, 1.883, 0.544",\
"9.41, 9.308, 8.943, 8.421, 7.646, 6.755, 5.776, 4.667, 3.445, 2.116",\
"11.18, 11.09, 10.74, 10.18, 9.407, 8.489, 7.509, 6.378, 5.16, 3.807",\
"13.12, 13.01, 12.62, 12.1, 11.32, 10.38, 9.357, 8.247, 7.017, 5.64");
}
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.916, 0.838, 0.564, 0.03, -0.851, -2.042, -3.387, -4.891, -6.489, -8.211",\
"0.981, 0.903, 0.627, 0.092, -0.79, -1.976, -3.325, -4.825, -6.425, -8.146",\
"1.187, 1.109, 0.837, 0.296, -0.582, -1.764, -3.109, -4.592, -6.193, -7.953",\
"1.528, 1.451, 1.174, 0.635, -0.241, -1.423, -2.769, -4.275, -5.871, -7.594",\
"1.949, 1.876, 1.587, 1.039, 0.182, -1.011, -2.35, -3.835, -5.444, -7.172",\
"2.38, 2.292, 2.005, 1.463, 0.594, -0.586, -1.919, -3.4, -5.004, -6.745",\
"2.767, 2.689, 2.396, 1.848, 0.985, -0.191, -1.523, -3.01, -4.592, -6.311",\
"3.117, 3.03, 2.737, 2.192, 1.316, 0.147, -1.178, -2.66, -4.233, -5.94",\
"3.386, 3.3, 3.017, 2.461, 1.589, 0.421, -0.905, -2.373, -3.954, -5.665",\
"3.582, 3.494, 3.211, 2.643, 1.774, 0.608, -0.722, -2.179, -3.736, -5.419");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.3438 ;
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.003366, 0.01167, 0.02753, 0.05225, 0.08692, 0.1325, 0.19, 0.2602, 0.3438");
values("0.04116, 0.04129, 0.04163, 0.04197, 0.04221, 0.04236, 0.04245, 0.04251, 0.04255, 0.04256",\
"0.04117, 0.0413, 0.04164, 0.04197, 0.04221, 0.04236, 0.04246, 0.04251, 0.04255, 0.04256",\
"0.04117, 0.04131, 0.04164, 0.04198, 0.04222, 0.04237, 0.04246, 0.04251, 0.04255, 0.04256",\
"0.04116, 0.04129, 0.04163, 0.04196, 0.0422, 0.04235, 0.04245, 0.0425, 0.04253, 0.04252",\
"0.04112, 0.04126, 0.04159, 0.04193, 0.04216, 0.04232, 0.04241, 0.04247, 0.04249, 0.04243",\
"0.04108, 0.04122, 0.04156, 0.04189, 0.04213, 0.04228, 0.04237, 0.04242, 0.0424, 0.04218",\
"0.04105, 0.04117, 0.04151, 0.04185, 0.04208, 0.04224, 0.04232, 0.04232, 0.04203, 0.04128",\
"0.04098, 0.04111, 0.04145, 0.04179, 0.04203, 0.04214, 0.04197, 0.04116, 0.04014, 0.03938",\
"0.03864, 0.03874, 0.03883, 0.03795, 0.03682, 0.03616, 0.03577, 0.03552, 0.03537, 0.03526",\
"-7.586e-05, -9.044e-05, -9.481e-05, -8.46e-05, -9.627e-05, -9.74e-05, -9.805e-05, -9.87e-05, -9.918e-05, -9.951e-05");
}
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.003366, 0.01167, 0.02753, 0.05225, 0.08692, 0.1325, 0.19, 0.2602, 0.3438");
values("-0.05838, -0.05828, -0.05803, -0.05766, -0.05732, -0.05691, -0.05305, -0.02278, 0.059, 0.1535",\
"-0.05838, -0.05828, -0.05803, -0.05765, -0.05727, -0.05686, -0.05292, -0.02119, 0.0611, 0.1545",\
"-0.05839, -0.05828, -0.05805, -0.05767, -0.05725, -0.05682, -0.05189, -0.016, 0.0685, 0.158",\
"-0.0584, -0.0583, -0.05805, -0.0577, -0.05729, -0.05677, -0.04928, -0.004677, 0.08189, 0.1625",\
"-0.05843, -0.05832, -0.05805, -0.05768, -0.05731, -0.05626, -0.04217, 0.01671, 0.09859, 0.164",\
"-0.05824, -0.05815, -0.0579, -0.05752, -0.05715, -0.0537, -0.02276, 0.04651, 0.1094, 0.1543",\
"-0.05796, -0.05787, -0.05762, -0.05724, -0.05608, -0.03921, 0.01371, 0.06361, 0.09784, 0.1215",\
"-0.05795, -0.05786, -0.0576, -0.05653, -0.03933, -0.004558, 0.01919, 0.03417, 0.04395, 0.05062",\
"-0.08741, -0.08738, -0.08738, -0.08737, -0.08737, -0.08738, -0.08738, -0.08738, -0.08738, -0.08738",\
"-0.1075, -0.1075, -0.1075, -0.1075, -0.1075, -0.1075, -0.1075, -0.1075, -0.1075, -0.1075");
}
}
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.003366, 0.01167, 0.02753, 0.05225, 0.08692, 0.1325, 0.19, 0.2602, 0.3438");
values("5.166, 5.267, 5.535, 5.911, 6.369, 6.924, 7.607, 8.446, 9.462, 10.67",\
"5.244, 5.344, 5.612, 5.989, 6.446, 7.002, 7.685, 8.523, 9.539, 10.75",\
"5.521, 5.622, 5.89, 6.267, 6.724, 7.279, 7.962, 8.801, 9.816, 11.02",\
"6.063, 6.164, 6.432, 6.808, 7.266, 7.821, 8.504, 9.343, 10.36, 11.57",\
"6.915, 7.016, 7.283, 7.661, 8.118, 8.673, 9.356, 10.19, 11.21, 12.42",\
"8.069, 8.17, 8.438, 8.815, 9.272, 9.828, 10.51, 11.35, 12.37, 13.57",\
"9.425, 9.526, 9.791, 10.17, 10.63, 11.18, 11.86, 12.7, 13.72, 14.93",\
"10.9, 11, 11.27, 11.65, 12.11, 12.66, 13.35, 14.18, 15.2, 16.41",\
"12.49, 12.59, 12.86, 13.24, 13.7, 14.25, 14.94, 15.77, 16.79, 18",\
"14.19, 14.29, 14.56, 14.94, 15.4, 15.95, 16.63, 17.47, 18.49, 19.7");
}
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.003366, 0.01167, 0.02753, 0.05225, 0.08692, 0.1325, 0.19, 0.2602, 0.3438");
values("6.729, 6.858, 7.248, 7.948, 9.011, 10.49, 12.43, 14.88, 17.86, 21.41",\
"6.806, 6.934, 7.325, 8.024, 9.087, 10.57, 12.51, 14.95, 17.93, 21.49",\
"7.083, 7.212, 7.602, 8.301, 9.364, 10.84, 12.79, 15.23, 18.21, 21.77",\
"7.625, 7.751, 8.144, 8.842, 9.905, 11.39, 13.33, 15.77, 18.76, 22.31",\
"8.476, 8.604, 8.997, 9.695, 10.76, 12.24, 14.18, 16.62, 19.6, 23.16",\
"9.641, 9.769, 10.16, 10.86, 11.92, 13.4, 15.35, 17.79, 20.77, 24.32",\
"11.02, 11.15, 11.54, 12.24, 13.3, 14.78, 16.72, 19.17, 22.15, 25.7",\
"12.53, 12.65, 13.05, 13.75, 14.81, 16.29, 18.23, 20.68, 23.66, 27.21",\
"14.15, 14.28, 14.67, 15.37, 16.43, 17.91, 19.86, 22.3, 25.28, 28.83",\
"15.88, 16.01, 16.4, 17.1, 18.17, 19.65, 21.59, 24.03, 27.01, 30.56");
}
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.003366, 0.01167, 0.02753, 0.05225, 0.08692, 0.1325, 0.19, 0.2602, 0.3438");
values("0.4882, 0.5712, 0.818, 1.204, 1.732, 2.491, 3.544, 4.925, 6.637, 8.7",\
"0.4882, 0.5718, 0.8184, 1.204, 1.73, 2.493, 3.549, 4.925, 6.641, 8.706",\
"0.4886, 0.571, 0.8184, 1.204, 1.732, 2.494, 3.545, 4.918, 6.637, 8.695",\
"0.4884, 0.5718, 0.818, 1.204, 1.732, 2.494, 3.546, 4.927, 6.635, 8.698",\
"0.4892, 0.5706, 0.8182, 1.205, 1.73, 2.494, 3.548, 4.922, 6.644, 8.7",\
"0.488, 0.57, 0.82, 1.206, 1.732, 2.494, 3.544, 4.924, 6.644, 8.692",\
"0.49, 0.57, 0.818, 1.204, 1.73, 2.494, 3.548, 4.926, 6.64, 8.702",\
"0.488, 0.572, 0.82, 1.204, 1.73, 2.494, 3.544, 4.922, 6.63, 8.694",\
"0.488, 0.572, 0.82, 1.206, 1.734, 2.492, 3.546, 4.918, 6.638, 8.702",\
"0.49, 0.572, 0.82, 1.206, 1.734, 2.494, 3.55, 4.926, 6.63, 8.702");
}
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.003366, 0.01167, 0.02753, 0.05225, 0.08692, 0.1325, 0.19, 0.2602, 0.3438");
values("0.5406, 0.6878, 1.236, 2.348, 4.098, 6.577, 9.842, 13.96, 18.99, 24.96",\
"0.54, 0.6882, 1.237, 2.347, 4.096, 6.577, 9.842, 13.97, 19, 24.97",\
"0.5428, 0.688, 1.237, 2.347, 4.093, 6.578, 9.842, 13.97, 19, 24.98",\
"0.5424, 0.6872, 1.236, 2.347, 4.094, 6.58, 9.836, 13.97, 18.98, 25.01",\
"0.54, 0.688, 1.236, 2.348, 4.096, 6.578, 9.846, 13.97, 18.98, 24.99",\
"0.542, 0.688, 1.236, 2.348, 4.098, 6.574, 9.838, 13.95, 18.99, 24.98",\
"0.544, 0.69, 1.236, 2.346, 4.096, 6.576, 9.832, 13.96, 18.99, 25",\
"0.54, 0.688, 1.236, 2.348, 4.098, 6.574, 9.848, 13.95, 19, 25",\
"0.54, 0.688, 1.236, 2.346, 4.094, 6.574, 9.834, 13.97, 19, 24.99",\
"0.538, 0.688, 1.236, 2.346, 4.094, 6.574, 9.844, 13.96, 18.98, 24.99");
}
}
}
}