blob: 55973e6322eea7cd05b149a6c9d0c1da6df3c7e1 [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.00072882" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.00077913" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.00078867" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.00081132" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.00081132" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.003365 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 15.6 ;
min_period : 3.647 ;
min_pulse_width_high : 1.741 ;
min_pulse_width_low : 1.825 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.1033, 0.1029, 0.1029, 0.1056, 0.1121, 0.1225, 0.1372, 0.1567, \
0.1813, 0.211");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.07955, 0.0793, 0.07919, 0.08127, 0.08631, 0.09517, 0.1081, 0.1252, \
0.1469, 0.1733");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.1049, 0.1045, 0.1045, 0.1072, 0.1137, 0.124, 0.1388, 0.1582, \
0.1828, 0.2124");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.07953, 0.07927, 0.07916, 0.08126, 0.08637, 0.09524, 0.1081, \
0.1254, 0.1471, 0.1735");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("1.825");
}
rise_constraint(scalar) {
values("1.046");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("1.266");
}
rise_constraint(scalar) {
values("1.741");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("3.647");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("3.551");
}
}
}
pin(D) {
capacitance : 0.002342 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 15.6 ;
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.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.05551, 0.0552, 0.05473, 0.05561, 0.05866, 0.06374, 0.07061, \
0.07956, 0.09073, 0.1043");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.03947, 0.0396, 0.0398, 0.04078, 0.04293, 0.04663, 0.052, 0.05918, \
0.06827, 0.07931");
}
}
internal_power() {
when : "CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.00342, 0.00342, 0.003415, 0.003415, 0.003417, 0.003413, 0.003406, \
0.003393, 0.003373, 0.003326");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("-0.001975, -0.001984, -0.001984, -0.001995, -0.002024, -0.002036, \
-0.002048, -0.002066, -0.002096, -0.002159");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
index_2("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.143, 0.173, 0.264, 0.413, 0.528, 0.621, 0.666, 0.679, 0.642, 0.567",\
"0.129, 0.156, 0.245, 0.392, 0.506, 0.597, 0.649, 0.661, 0.621, 0.547",\
"0.04, 0.066, 0.161, 0.309, 0.427, 0.51, 0.566, 0.577, 0.541, 0.465",\
"-0.179, -0.157, -0.065, 0.09, 0.208, 0.297, 0.348, 0.362, 0.327, 0.25",\
"-0.509, -0.48, -0.39, -0.244, -0.122, -0.029, 0.026, 0.045, 0.009, -0.068",\
"-0.927, -0.895, -0.812, -0.664, -0.545, -0.446, -0.395, -0.378, -0.412, -0.49",\
"-1.424, -1.398, -1.312, -1.173, -1.06, -0.971, -0.912, -0.902, -0.934, -1.008",\
"-2.029, -1.996, -1.918, -1.783, -1.669, -1.58, -1.52, -1.512, -1.55, -1.618",\
"-2.724, -2.693, -2.625, -2.492, -2.382, -2.295, -2.241, -2.225, -2.266, -2.336",\
"-3.537, -3.5, -3.429, -3.309, -3.203, -3.116, -3.065, -3.051, -3.094, -3.153");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
index_2("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.103, 0.126, 0.22, 0.321, 0.392, 0.434, 0.452, 0.423, 0.366, 0.26",\
"0.082, 0.107, 0.195, 0.309, 0.377, 0.42, 0.44, 0.413, 0.357, 0.257",\
"0.04, 0.066, 0.155, 0.271, 0.339, 0.389, 0.408, 0.39, 0.334, 0.234",\
"0.034, 0.055, 0.15, 0.255, 0.325, 0.373, 0.392, 0.368, 0.311, 0.215",\
"0.065, 0.092, 0.18, 0.287, 0.349, 0.392, 0.405, 0.387, 0.33, 0.22",\
"0.159, 0.183, 0.261, 0.364, 0.42, 0.466, 0.47, 0.44, 0.375, 0.269",\
"0.336, 0.362, 0.441, 0.539, 0.58, 0.605, 0.604, 0.571, 0.494, 0.382",\
"0.619, 0.641, 0.715, 0.798, 0.83, 0.851, 0.833, 0.783, 0.703, 0.577",\
"1.008, 1.028, 1.101, 1.175, 1.19, 1.19, 1.162, 1.101, 1.013, 0.881",\
"1.517, 1.533, 1.597, 1.653, 1.653, 1.638, 1.604, 1.538, 1.428, 1.281");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
index_2("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.916, 0.888, 0.773, 0.607, 0.454, 0.346, 0.27, 0.243, 0.257, 0.335",\
"0.931, 0.907, 0.798, 0.617, 0.471, 0.355, 0.287, 0.262, 0.286, 0.352",\
"1.02, 0.994, 0.885, 0.712, 0.561, 0.448, 0.378, 0.346, 0.365, 0.446",\
"1.256, 1.234, 1.123, 0.949, 0.8, 0.687, 0.618, 0.584, 0.608, 0.677",\
"1.664, 1.637, 1.53, 1.361, 1.21, 1.095, 1.024, 0.994, 1.013, 1.077",\
"2.21, 2.18, 2.067, 1.896, 1.749, 1.636, 1.566, 1.533, 1.546, 1.614",\
"2.853, 2.829, 2.716, 2.542, 2.393, 2.285, 2.206, 2.175, 2.189, 2.258",\
"3.629, 3.604, 3.49, 3.316, 3.162, 3.05, 2.976, 2.94, 2.954, 3.022",\
"4.529, 4.507, 4.385, 4.213, 4.062, 3.944, 3.87, 3.835, 3.845, 3.908",\
"5.556, 5.542, 5.414, 5.242, 5.087, 4.966, 4.891, 4.858, 4.861, 4.922");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
index_2("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.79, 0.764, 0.647, 0.473, 0.337, 0.257, 0.211, 0.217, 0.271, 0.373",\
"0.815, 0.79, 0.672, 0.488, 0.355, 0.274, 0.227, 0.235, 0.286, 0.389",\
"0.894, 0.868, 0.753, 0.581, 0.444, 0.354, 0.306, 0.308, 0.35, 0.456",\
"1.008, 0.984, 0.861, 0.682, 0.548, 0.46, 0.407, 0.407, 0.444, 0.541",\
"1.071, 1.045, 0.931, 0.757, 0.617, 0.52, 0.469, 0.468, 0.506, 0.596",\
"1.065, 1.042, 0.923, 0.754, 0.615, 0.523, 0.468, 0.468, 0.506, 0.595",\
"0.99, 0.971, 0.852, 0.682, 0.541, 0.446, 0.396, 0.397, 0.432, 0.522",\
"0.84, 0.814, 0.703, 0.534, 0.393, 0.29, 0.248, 0.24, 0.283, 0.384",\
"0.592, 0.564, 0.46, 0.288, 0.144, 0.047, -0.003, 0.001, 0.042, 0.147",\
"0.242, 0.219, 0.1, -0.08, -0.212, -0.31, -0.355, -0.355, -0.302, -0.194");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 1.419 ;
max_transition : 15.6 ;
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.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
index_2("0.001, 0.01079, 0.04514, 0.1107, 0.213, 0.3564, 0.5451, 0.7828, 1.073, 1.419");
values("0.2233, 0.2192, 0.2165, 0.2163, 0.2164, 0.2166, 0.2167, 0.2168, 0.2168, 0.2168",\
"0.2232, 0.2192, 0.2166, 0.2163, 0.2165, 0.2166, 0.2167, 0.2168, 0.2168, 0.2168",\
"0.2232, 0.2193, 0.2165, 0.2162, 0.2164, 0.2166, 0.2167, 0.2168, 0.2168, 0.2169",\
"0.2235, 0.2195, 0.2168, 0.2164, 0.2167, 0.2169, 0.2169, 0.217, 0.217, 0.2171",\
"0.2238, 0.2198, 0.2172, 0.2167, 0.217, 0.2172, 0.2173, 0.2173, 0.2173, 0.2174",\
"0.2241, 0.2201, 0.2175, 0.217, 0.2172, 0.2173, 0.2175, 0.2176, 0.2176, 0.2175",\
"0.2244, 0.2204, 0.2178, 0.2175, 0.2178, 0.2178, 0.2178, 0.2179, 0.2179, 0.218",\
"0.225, 0.2209, 0.2183, 0.2179, 0.2181, 0.2182, 0.2183, 0.2184, 0.2184, 0.2182",\
"0.2254, 0.2214, 0.2188, 0.2184, 0.2186, 0.2187, 0.2187, 0.2188, 0.2188, 0.2184",\
"0.2259, 0.2219, 0.2193, 0.2189, 0.2191, 0.2192, 0.2193, 0.2194, 0.2192, 0.218");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
index_2("0.001, 0.01079, 0.04514, 0.1107, 0.213, 0.3564, 0.5451, 0.7828, 1.073, 1.419");
values("0.2353, 0.2316, 0.227, 0.226, 0.2268, 0.2287, 0.232, 0.2476, 0.38, 0.9423",\
"0.2354, 0.2315, 0.2271, 0.226, 0.227, 0.229, 0.2323, 0.2476, 0.3824, 0.9533",\
"0.2352, 0.2316, 0.2268, 0.226, 0.2274, 0.2288, 0.2321, 0.2489, 0.3969, 0.9943",\
"0.2353, 0.2314, 0.2268, 0.2259, 0.2274, 0.2288, 0.2322, 0.2525, 0.4213, 1.073",\
"0.2351, 0.2313, 0.2266, 0.2258, 0.2272, 0.2288, 0.2325, 0.2583, 0.461, 1.195",\
"0.2354, 0.2314, 0.2269, 0.226, 0.2271, 0.2289, 0.2333, 0.2702, 0.527, 1.37",\
"0.2356, 0.2317, 0.2271, 0.226, 0.2285, 0.23, 0.2348, 0.2915, 0.6326, 1.623",\
"0.236, 0.2323, 0.2277, 0.2262, 0.2268, 0.231, 0.2388, 0.3322, 0.8102, 1.972",\
"0.2369, 0.233, 0.2286, 0.227, 0.2278, 0.2287, 0.2481, 0.4211, 1.107, 2.424",\
"0.2381, 0.2342, 0.2297, 0.2285, 0.2288, 0.2309, 0.277, 0.6128, 1.568, 2.938");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
index_2("0.001, 0.01079, 0.04514, 0.1107, 0.213, 0.3564, 0.5451, 0.7828, 1.073, 1.419");
values("1.983, 2.055, 2.233, 2.485, 2.832, 3.302, 3.917, 4.691, 5.637, 6.763",\
"2.01, 2.083, 2.26, 2.513, 2.86, 3.33, 3.945, 4.719, 5.665, 6.792",\
"2.112, 2.184, 2.361, 2.614, 2.961, 3.431, 4.046, 4.82, 5.766, 6.891",\
"2.279, 2.351, 2.529, 2.781, 3.128, 3.598, 4.213, 4.987, 5.933, 7.059",\
"2.429, 2.501, 2.678, 2.931, 3.278, 3.748, 4.363, 5.137, 6.083, 7.208",\
"2.546, 2.619, 2.796, 3.049, 3.395, 3.865, 4.481, 5.255, 6.199, 7.326",\
"2.632, 2.704, 2.881, 3.134, 3.481, 3.951, 4.566, 5.339, 6.284, 7.412",\
"2.679, 2.751, 2.928, 3.18, 3.527, 3.998, 4.612, 5.388, 6.332, 7.457",\
"2.681, 2.754, 2.931, 3.183, 3.53, 4, 4.615, 5.389, 6.333, 7.46",\
"2.635, 2.707, 2.885, 3.137, 3.484, 3.954, 4.569, 5.344, 6.287, 7.414");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
index_2("0.001, 0.01079, 0.04514, 0.1107, 0.213, 0.3564, 0.5451, 0.7828, 1.073, 1.419");
values("2.197, 2.285, 2.52, 2.928, 3.561, 4.449, 5.616, 7.088, 8.882, 11.02",\
"2.225, 2.313, 2.548, 2.955, 3.589, 4.477, 5.645, 7.116, 8.911, 11.05",\
"2.325, 2.413, 2.648, 3.055, 3.689, 4.577, 5.745, 7.216, 9.011, 11.15",\
"2.49, 2.578, 2.813, 3.22, 3.853, 4.742, 5.909, 7.38, 9.176, 11.32",\
"2.639, 2.728, 2.962, 3.37, 4.003, 4.892, 6.059, 7.531, 9.326, 11.47",\
"2.758, 2.846, 3.081, 3.489, 4.122, 5.011, 6.179, 7.649, 9.446, 11.59",\
"2.847, 2.935, 3.17, 3.577, 4.21, 5.098, 6.266, 7.738, 9.533, 11.67",\
"2.899, 2.988, 3.223, 3.63, 4.263, 5.152, 6.319, 7.79, 9.587, 11.72",\
"2.912, 3, 3.236, 3.643, 4.276, 5.164, 6.332, 7.802, 9.598, 11.74",\
"2.88, 2.968, 3.203, 3.61, 4.244, 5.132, 6.3, 7.77, 9.565, 11.71");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
index_2("0.001, 0.01079, 0.04514, 0.1107, 0.213, 0.3564, 0.5451, 0.7828, 1.073, 1.419");
values("0.1762, 0.2438, 0.4286, 0.7522, 1.28, 2.06, 3.102, 4.416, 6.031, 7.959",\
"0.1762, 0.2438, 0.43, 0.7518, 1.282, 2.059, 3.102, 4.422, 6.036, 7.95",\
"0.1762, 0.2438, 0.4302, 0.7522, 1.28, 2.059, 3.098, 4.419, 6.031, 7.957",\
"0.1764, 0.2438, 0.4292, 0.752, 1.282, 2.057, 3.102, 4.419, 6.031, 7.956",\
"0.1766, 0.2442, 0.43, 0.7522, 1.282, 2.057, 3.098, 4.419, 6.031, 7.958",\
"0.1762, 0.2442, 0.429, 0.752, 1.28, 2.059, 3.1, 4.42, 6.032, 7.956",\
"0.1762, 0.244, 0.4286, 0.7516, 1.281, 2.057, 3.098, 4.416, 6.027, 7.957",\
"0.176, 0.2438, 0.4294, 0.7514, 1.282, 2.06, 3.096, 4.416, 6.02, 7.944",\
"0.1762, 0.2436, 0.4294, 0.752, 1.28, 2.058, 3.098, 4.418, 6.02, 7.936",\
"0.176, 0.244, 0.43, 0.752, 1.282, 2.058, 3.1, 4.422, 6.026, 7.95");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
index_2("0.001, 0.01079, 0.04514, 0.1107, 0.213, 0.3564, 0.5451, 0.7828, 1.073, 1.419");
values("0.2074, 0.3066, 0.632, 1.324, 2.436, 4.003, 6.065, 8.655, 11.84, 15.6",\
"0.208, 0.3068, 0.6318, 1.323, 2.436, 4.001, 6.062, 8.654, 11.84, 15.6",\
"0.2084, 0.3064, 0.6308, 1.323, 2.436, 3.999, 6.063, 8.65, 11.84, 15.6",\
"0.2074, 0.307, 0.631, 1.323, 2.436, 4.001, 6.064, 8.663, 11.83, 15.6",\
"0.2074, 0.3066, 0.6308, 1.323, 2.436, 4.001, 6.064, 8.655, 11.84, 15.6",\
"0.2072, 0.3068, 0.6306, 1.325, 2.436, 4.001, 6.062, 8.661, 11.83, 15.6",\
"0.207, 0.3064, 0.632, 1.324, 2.435, 4.001, 6.064, 8.657, 11.84, 15.6",\
"0.2072, 0.3064, 0.632, 1.324, 2.437, 3.998, 6.056, 8.654, 11.84, 15.6",\
"0.208, 0.308, 0.632, 1.322, 2.434, 4.004, 6.056, 8.652, 11.83, 15.6",\
"0.206, 0.308, 0.632, 1.324, 2.436, 4.004, 6.06, 8.65, 11.82, 15.59");
}
}
}
}