blob: 0b52d04fec75fbb24e272444ec6ab38c6e605158 [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_2) {
area : 68.051200 ;
ff(IQ1,IQN1) {
clocked_on : "CLK" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&!D" ;
value : "4.75218e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "6.10758e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "7.9011e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "7.67682e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "7.9011e-05" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.002912 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 12 ;
min_period : 4.746 ;
min_pulse_width_high : 1.958 ;
min_pulse_width_low : 2.371 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.03438, 0.03428, 0.03406, 0.03384, 0.03376, 0.03384, 0.03407, \
0.03446, 0.03499, 0.03571");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.02655, 0.0265, 0.02634, 0.02614, 0.026, 0.02598, 0.02614, 0.02647, \
0.02696, 0.02762");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.03492, 0.03482, 0.03459, 0.03438, 0.0343, 0.03437, 0.0346, 0.03498, \
0.03552, 0.03624");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.0266, 0.02655, 0.02638, 0.02616, 0.02603, 0.02602, 0.02619, \
0.02651, 0.02699, 0.02767");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("2.371");
}
rise_constraint(scalar) {
values("1.057");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("1.822");
}
rise_constraint(scalar) {
values("1.958");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("4.746");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("4.137");
}
}
}
pin(D) {
capacitance : 0.002222 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 12 ;
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.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.01832, 0.01826, 0.01801, 0.01783, 0.01778, 0.01788, 0.01811, \
0.01843, 0.01886, 0.01941");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.01354, 0.01357, 0.01355, 0.01347, 0.01342, 0.01344, 0.01354, \
0.01376, 0.01408, 0.01451");
}
}
internal_power() {
when : "CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.001256, 0.001257, 0.001256, 0.001257, 0.001254, 0.001255, 0.001253, \
0.001248, 0.001243, 0.001234");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("-0.000653, -0.0006573, -0.0006692, -0.0006813, -0.0006881, -0.0006982, \
-0.0007042, -0.0007104, -0.0007182, -0.0007305");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.172, 0.205, 0.295, 0.463, 0.664, 0.843, 0.988, 1.097, 1.176, 1.215",\
"0.151, 0.185, 0.271, 0.441, 0.636, 0.812, 0.954, 1.065, 1.143, 1.183",\
"0.086, 0.114, 0.207, 0.368, 0.562, 0.739, 0.885, 0.992, 1.067, 1.1",\
"-0.081, -0.052, 0.039, 0.198, 0.398, 0.568, 0.72, 0.831, 0.903, 0.943",\
"-0.33, -0.304, -0.215, -0.057, 0.137, 0.312, 0.454, 0.564, 0.646, 0.676",\
"-0.633, -0.606, -0.523, -0.359, -0.173, -0, 0.142, 0.247, 0.325, 0.36",\
"-0.977, -0.949, -0.873, -0.72, -0.525, -0.364, -0.223, -0.118, -0.036, -0.003",\
"-1.372, -1.344, -1.266, -1.125, -0.941, -0.781, -0.644, -0.539, -0.453, -0.424",\
"-1.823, -1.797, -1.724, -1.584, -1.397, -1.246, -1.11, -1.007, -0.934, -0.902",\
"-2.33, -2.299, -2.235, -2.096, -1.921, -1.775, -1.639, -1.546, -1.462, -1.436");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.017, 0.045, 0.13, 0.26, 0.369, 0.448, 0.506, 0.53, 0.523, 0.473",\
"-0.009, 0.017, 0.107, 0.237, 0.344, 0.431, 0.487, 0.516, 0.507, 0.458",\
"-0.079, -0.058, 0.039, 0.172, 0.285, 0.377, 0.433, 0.463, 0.457, 0.417",\
"-0.168, -0.139, -0.044, 0.086, 0.206, 0.3, 0.358, 0.39, 0.384, 0.347",\
"-0.222, -0.196, -0.111, 0.028, 0.146, 0.234, 0.298, 0.324, 0.319, 0.28",\
"-0.246, -0.217, -0.135, -0.002, 0.113, 0.2, 0.262, 0.288, 0.282, 0.243",\
"-0.224, -0.201, -0.119, 0.018, 0.126, 0.21, 0.261, 0.286, 0.283, 0.245",\
"-0.158, -0.131, -0.054, 0.078, 0.18, 0.264, 0.313, 0.34, 0.333, 0.279",\
"-0.046, -0.015, 0.062, 0.188, 0.289, 0.363, 0.411, 0.434, 0.421, 0.367",\
"0.124, 0.151, 0.228, 0.35, 0.446, 0.519, 0.557, 0.573, 0.558, 0.512");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("1.219, 1.184, 1.103, 0.901, 0.682, 0.444, 0.264, 0.094, 0.014, -0.063",\
"1.238, 1.2, 1.12, 0.916, 0.697, 0.459, 0.278, 0.115, 0.035, -0.038",\
"1.313, 1.277, 1.192, 0.994, 0.769, 0.529, 0.351, 0.185, 0.107, 0.035",\
"1.497, 1.464, 1.384, 1.175, 0.956, 0.722, 0.544, 0.381, 0.297, 0.219",\
"1.824, 1.79, 1.708, 1.503, 1.285, 1.045, 0.871, 0.706, 0.622, 0.545",\
"2.3, 2.267, 2.18, 1.978, 1.757, 1.523, 1.34, 1.176, 1.095, 1.02",\
"2.884, 2.853, 2.77, 2.565, 2.345, 2.115, 1.931, 1.763, 1.687, 1.605",\
"3.534, 3.499, 3.417, 3.21, 2.991, 2.756, 2.572, 2.407, 2.324, 2.25",\
"4.221, 4.187, 4.108, 3.9, 3.685, 3.441, 3.261, 3.093, 3.016, 2.94",\
"4.972, 4.929, 4.853, 4.644, 4.429, 4.185, 4.004, 3.837, 3.763, 3.683");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("1.134, 1.097, 1.021, 0.826, 0.613, 0.405, 0.316, 0.183, 0.201, 0.196",\
"1.158, 1.12, 1.048, 0.848, 0.631, 0.435, 0.342, 0.213, 0.223, 0.216",\
"1.243, 1.206, 1.133, 0.934, 0.717, 0.52, 0.425, 0.296, 0.301, 0.295",\
"1.393, 1.353, 1.286, 1.084, 0.871, 0.663, 0.571, 0.437, 0.442, 0.428",\
"1.549, 1.504, 1.436, 1.241, 1.03, 0.824, 0.73, 0.588, 0.596, 0.586",\
"1.688, 1.647, 1.576, 1.382, 1.166, 0.962, 0.868, 0.729, 0.74, 0.716",\
"1.769, 1.731, 1.663, 1.465, 1.254, 1.059, 0.957, 0.812, 0.82, 0.804",\
"1.809, 1.77, 1.701, 1.501, 1.288, 1.089, 0.987, 0.847, 0.855, 0.839",\
"1.796, 1.752, 1.684, 1.494, 1.28, 1.079, 0.979, 0.838, 0.842, 0.827",\
"1.733, 1.69, 1.626, 1.431, 1.221, 1.022, 0.927, 0.777, 0.786, 0.768");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.415 ;
max_transition : 12 ;
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.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.001, 0.003858, 0.01389, 0.03304, 0.06289, 0.1048, 0.1599, 0.2293, 0.314, 0.415");
values("0.03704, 0.03718, 0.03761, 0.03809, 0.03843, 0.03866, 0.03879, 0.03888, 0.03893, 0.03897",\
"0.03704, 0.03719, 0.03763, 0.0381, 0.03845, 0.03867, 0.03881, 0.03889, 0.03895, 0.03898",\
"0.03704, 0.03718, 0.03762, 0.0381, 0.03844, 0.03866, 0.03879, 0.03888, 0.03893, 0.03897",\
"0.03703, 0.03718, 0.03762, 0.03809, 0.03845, 0.03867, 0.0388, 0.03889, 0.03895, 0.03898",\
"0.0371, 0.03723, 0.03768, 0.03815, 0.0385, 0.03873, 0.03886, 0.03895, 0.03901, 0.03904",\
"0.03719, 0.03734, 0.03777, 0.03824, 0.0386, 0.03881, 0.03895, 0.03902, 0.03908, 0.03912",\
"0.03724, 0.0374, 0.03783, 0.03831, 0.03866, 0.03887, 0.039, 0.03909, 0.03913, 0.03917",\
"0.03729, 0.03744, 0.03788, 0.03836, 0.03872, 0.03893, 0.03907, 0.03915, 0.0392, 0.03923",\
"0.03737, 0.03751, 0.03794, 0.03842, 0.03878, 0.039, 0.03913, 0.03922, 0.03927, 0.0393",\
"0.03744, 0.03759, 0.03802, 0.0385, 0.03884, 0.03906, 0.03919, 0.03927, 0.03932, 0.03937");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.001, 0.003858, 0.01389, 0.03304, 0.06289, 0.1048, 0.1599, 0.2293, 0.314, 0.415");
values("0.03439, 0.03451, 0.03477, 0.03517, 0.03568, 0.03619, 0.03659, 0.03702, 0.03851, 0.05183",\
"0.03439, 0.03449, 0.03479, 0.03518, 0.0357, 0.03619, 0.0367, 0.03722, 0.03905, 0.05316",\
"0.03437, 0.03448, 0.03475, 0.03519, 0.03569, 0.03621, 0.03665, 0.03719, 0.03873, 0.05394",\
"0.03428, 0.0344, 0.03466, 0.03509, 0.03566, 0.03618, 0.03649, 0.03718, 0.03906, 0.05635",\
"0.03424, 0.03436, 0.03464, 0.03508, 0.03559, 0.03609, 0.03642, 0.03692, 0.03964, 0.06099",\
"0.03422, 0.0343, 0.03458, 0.03504, 0.03556, 0.03601, 0.03644, 0.03702, 0.04068, 0.06812",\
"0.03417, 0.03425, 0.03453, 0.03499, 0.03548, 0.03602, 0.03634, 0.03698, 0.04327, 0.07986",\
"0.03415, 0.03424, 0.03448, 0.03493, 0.03554, 0.03602, 0.03643, 0.03733, 0.04705, 0.09866",\
"0.03416, 0.03426, 0.03451, 0.0349, 0.03528, 0.03594, 0.03668, 0.03806, 0.05452, 0.1311",\
"0.03413, 0.03423, 0.03448, 0.0349, 0.03537, 0.03576, 0.03647, 0.0407, 0.07254, 0.1816");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.001, 0.003858, 0.01389, 0.03304, 0.06289, 0.1048, 0.1599, 0.2293, 0.314, 0.415");
values("2.22, 2.277, 2.421, 2.615, 2.861, 3.169, 3.558, 4.041, 4.629, 5.328",\
"2.248, 2.306, 2.449, 2.644, 2.889, 3.198, 3.586, 4.069, 4.657, 5.356",\
"2.348, 2.405, 2.549, 2.743, 2.989, 3.297, 3.686, 4.169, 4.757, 5.456",\
"2.534, 2.592, 2.736, 2.93, 3.175, 3.484, 3.873, 4.356, 4.943, 5.643",\
"2.76, 2.818, 2.962, 3.156, 3.401, 3.71, 4.099, 4.582, 5.169, 5.869",\
"2.971, 3.028, 3.172, 3.366, 3.611, 3.92, 4.309, 4.792, 5.379, 6.079",\
"3.153, 3.211, 3.355, 3.549, 3.794, 4.103, 4.492, 4.975, 5.562, 6.262",\
"3.304, 3.362, 3.505, 3.7, 3.945, 4.254, 4.643, 5.125, 5.712, 6.412",\
"3.418, 3.477, 3.62, 3.815, 4.06, 4.369, 4.757, 5.24, 5.828, 6.527",\
"3.493, 3.552, 3.695, 3.89, 4.135, 4.443, 4.832, 5.315, 5.902, 6.601");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.001, 0.003858, 0.01389, 0.03304, 0.06289, 0.1048, 0.1599, 0.2293, 0.314, 0.415");
values("2.621, 2.695, 2.897, 3.231, 3.734, 4.436, 5.357, 6.516, 7.931, 9.616",\
"2.649, 2.723, 2.925, 3.259, 3.762, 4.464, 5.385, 6.545, 7.959, 9.645",\
"2.747, 2.821, 3.024, 3.357, 3.86, 4.562, 5.483, 6.643, 8.057, 9.742",\
"2.926, 3, 3.203, 3.537, 4.04, 4.742, 5.663, 6.823, 8.236, 9.922",\
"3.145, 3.219, 3.421, 3.754, 4.258, 4.959, 5.881, 7.04, 8.454, 10.14",\
"3.348, 3.422, 3.624, 3.958, 4.461, 5.163, 6.084, 7.243, 8.658, 10.34",\
"3.527, 3.601, 3.803, 4.137, 4.64, 5.343, 6.264, 7.423, 8.837, 10.52",\
"3.675, 3.75, 3.952, 4.285, 4.788, 5.49, 6.411, 7.57, 8.985, 10.67",\
"3.788, 3.862, 4.065, 4.398, 4.901, 5.604, 6.525, 7.684, 9.098, 10.78",\
"3.864, 3.938, 4.141, 4.474, 4.977, 5.68, 6.6, 7.76, 9.174, 10.86");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.001, 0.003858, 0.01389, 0.03304, 0.06289, 0.1048, 0.1599, 0.2293, 0.314, 0.415");
values("0.2352, 0.279, 0.4036, 0.6104, 0.9242, 1.381, 2.003, 2.812, 3.814, 5.009",\
"0.2352, 0.279, 0.403, 0.6098, 0.925, 1.381, 2.005, 2.815, 3.814, 5.011",\
"0.2352, 0.2792, 0.4036, 0.6124, 0.9238, 1.381, 2.004, 2.813, 3.814, 5.011",\
"0.2358, 0.279, 0.4032, 0.6104, 0.9248, 1.381, 2.006, 2.815, 3.809, 5.006",\
"0.2354, 0.2794, 0.4038, 0.6108, 0.9242, 1.381, 2.004, 2.814, 3.815, 5.007",\
"0.2354, 0.2794, 0.4038, 0.6104, 0.9256, 1.38, 2.004, 2.811, 3.814, 5.007",\
"0.2356, 0.279, 0.403, 0.61, 0.9238, 1.381, 2.006, 2.815, 3.809, 5.005",\
"0.235, 0.2788, 0.4026, 0.6106, 0.9246, 1.379, 2.004, 2.811, 3.806, 5.002",\
"0.2352, 0.2788, 0.4028, 0.6106, 0.9248, 1.382, 2.004, 2.812, 3.81, 5",\
"0.236, 0.28, 0.404, 0.61, 0.924, 1.38, 2.006, 2.814, 3.812, 5.006");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.001, 0.003858, 0.01389, 0.03304, 0.06289, 0.1048, 0.1599, 0.2293, 0.314, 0.415");
values("0.272, 0.3424, 0.5868, 1.099, 1.942, 3.133, 4.705, 6.697, 9.116, 12.01",\
"0.2716, 0.3412, 0.586, 1.1, 1.942, 3.134, 4.711, 6.691, 9.123, 12.01",\
"0.272, 0.3416, 0.5854, 1.099, 1.94, 3.135, 4.71, 6.689, 9.122, 12.01",\
"0.2722, 0.3418, 0.586, 1.099, 1.941, 3.137, 4.71, 6.689, 9.122, 12.01",\
"0.272, 0.3414, 0.5856, 1.098, 1.942, 3.136, 4.709, 6.697, 9.12, 12.01",\
"0.272, 0.3422, 0.5862, 1.099, 1.942, 3.138, 4.711, 6.696, 9.121, 12.01",\
"0.2714, 0.3414, 0.5872, 1.097, 1.941, 3.138, 4.71, 6.693, 9.12, 12.01",\
"0.2716, 0.3414, 0.5868, 1.097, 1.938, 3.132, 4.71, 6.695, 9.118, 12.01",\
"0.272, 0.3416, 0.5868, 1.099, 1.941, 3.134, 4.704, 6.688, 9.12, 12.01",\
"0.272, 0.34, 0.586, 1.098, 1.94, 3.136, 4.702, 6.684, 9.104, 12");
}
}
}
}