blob: 3a6ae348917fad7b3a388264df8d161b7cd8dbd8 [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.00067518" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.00068629" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.00059576" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.00058421" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.00068629" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.004962 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 2.8 ;
min_period : 0.5601 ;
min_pulse_width_high : 0.1913 ;
min_pulse_width_low : 0.2784 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
values("0.489, 0.4897, 0.5051, 0.5575, 0.6538, 0.7974, 0.9913, 1.237, \
1.536, 1.892");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
values("0.3116, 0.3118, 0.3235, 0.3686, 0.4517, 0.58, 0.753, 0.9734, 1.244, \
1.566");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
values("0.49, 0.4908, 0.506, 0.5577, 0.6543, 0.7981, 0.9917, 1.237, 1.537, \
1.892");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
values("0.3113, 0.3113, 0.3232, 0.368, 0.4512, 0.5793, 0.7521, 0.9725, \
1.244, 1.565");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.2511");
}
rise_constraint(scalar) {
values("0.1913");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.2784");
}
rise_constraint(scalar) {
values("0.1913");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("0.4986");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("0.5601");
}
}
}
pin(D) {
capacitance : 0.003836 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 2.8 ;
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.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
values("0.09994, 0.1027, 0.1204, 0.1614, 0.2299, 0.3283, 0.4589, 0.6242, \
0.8269, 1.069");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
values("0.007507, 0.008571, 0.0209, 0.05521, 0.1151, 0.2028, 0.32, 0.4693, \
0.6523, 0.8713");
}
}
internal_power() {
when : "CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
values("0.3644, 0.3662, 0.3794, 0.4195, 0.4931, 0.6025, 0.7499, 0.9363, \
1.164, 1.434");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
values("0.2371, 0.2379, 0.2487, 0.2822, 0.344, 0.4383, 0.5665, 0.7306, \
0.9321, 1.173");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
index_2("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
values("0.0286, 0.0309, 0.0463, 0.0835, 0.1118, 0.1584, 0.2069, 0.271, 0.34, 0.424",\
"0.0239, 0.0258, 0.0402, 0.0707, 0.1071, 0.151, 0.2024, 0.2643, 0.336, 0.418",\
"0.0052, 0.006, 0.0269, 0.0544, 0.0915, 0.1275, 0.1819, 0.2437, 0.313, 0.394",\
"-0.0249, -0.0251, -0.0089, 0.0207, 0.0489, 0.092, 0.1404, 0.1967, 0.268, 0.35",\
"-0.0712, -0.0724, -0.0536, -0.0226, 0.0053, 0.0469, 0.0918, 0.1443, 0.214, 0.289",\
"-0.1207, -0.1223, -0.1071, -0.0806, -0.0536, -0.0159, 0.0287, 0.0803, 0.144, 0.22",\
"-0.1875, -0.1828, -0.1681, -0.1478, -0.1169, -0.0772, -0.04, 0.0117, 0.075, 0.14",\
"-0.2538, -0.2556, -0.2347, -0.2158, -0.1918, -0.1576, -0.1206, -0.0711, -0.014, 0.053",\
"-0.3348, -0.3365, -0.3194, -0.2993, -0.2738, -0.2462, -0.2133, -0.162, -0.111, -0.044",\
"-0.424, -0.4185, -0.4095, -0.3892, -0.3711, -0.3448, -0.3057, -0.2694, -0.2116, -0.151");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
index_2("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
values("0.0744, 0.0796, 0.0977, 0.1322, 0.1861, 0.2523, 0.3162, 0.3914, 0.476, 0.576",\
"0.0725, 0.0773, 0.0942, 0.1314, 0.1834, 0.2467, 0.3132, 0.3944, 0.473, 0.571",\
"0.064, 0.0677, 0.0808, 0.1227, 0.1748, 0.2347, 0.3049, 0.3794, 0.465, 0.565",\
"0.0532, 0.0558, 0.0708, 0.1103, 0.163, 0.2232, 0.2967, 0.3704, 0.459, 0.551",\
"0.0436, 0.0456, 0.0675, 0.109, 0.1545, 0.2197, 0.2929, 0.3664, 0.452, 0.551",\
"0.0483, 0.05, 0.0664, 0.102, 0.1591, 0.2229, 0.2905, 0.3654, 0.457, 0.548",\
"0.0504, 0.0585, 0.078, 0.1126, 0.168, 0.2234, 0.2973, 0.3724, 0.466, 0.559",\
"0.0736, 0.0752, 0.0991, 0.1306, 0.1833, 0.2404, 0.3151, 0.3874, 0.476, 0.572",\
"0.1109, 0.1127, 0.1307, 0.1616, 0.2091, 0.2703, 0.3405, 0.4104, 0.497, 0.594",\
"0.1545, 0.1636, 0.1778, 0.2064, 0.2525, 0.3112, 0.3755, 0.4454, 0.536, 0.632");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
index_2("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
values("0.1202, 0.1212, 0.1007, 0.0727, 0.0234, -0.0175, -0.0782, -0.1418, -0.2163, -0.2939",\
"0.1283, 0.1225, 0.1063, 0.071, 0.0317, -0.017, -0.0719, -0.1337, -0.2113, -0.2873",\
"0.1491, 0.1404, 0.1256, 0.0878, 0.0523, 0, -0.0519, -0.1174, -0.1908, -0.2682",\
"0.1908, 0.182, 0.1626, 0.131, 0.0915, 0.0393, -0.0139, -0.0812, -0.1519, -0.2268",\
"0.2401, 0.2388, 0.2201, 0.1892, 0.1438, 0.0926, 0.0423, -0.028, -0.0953, -0.1742",\
"0.3179, 0.3136, 0.2906, 0.2572, 0.213, 0.1672, 0.1071, 0.0444, -0.0208, -0.0966",\
"0.3998, 0.3915, 0.3733, 0.3413, 0.2929, 0.242, 0.1887, 0.1245, 0.0555, -0.0137",\
"0.4954, 0.4824, 0.4694, 0.4374, 0.3874, 0.3354, 0.2772, 0.2212, 0.1519, 0.0769",\
"0.594, 0.587, 0.571, 0.533, 0.485, 0.435, 0.384, 0.319, 0.254, 0.177",\
"0.706, 0.709, 0.684, 0.652, 0.601, 0.548, 0.49, 0.432, 0.363, 0.295");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
index_2("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
values("0.0916, 0.0908, 0.0713, 0.0434, 0.0031, -0.0269, -0.0652, -0.1073, -0.1427, -0.1999",\
"0.0978, 0.0902, 0.0754, 0.0457, 0.0039, -0.0266, -0.0588, -0.0989, -0.1489, -0.1929",\
"0.1124, 0.1019, 0.0897, 0.0537, 0.0145, -0.0204, -0.0519, -0.0904, -0.1382, -0.179",\
"0.1322, 0.1263, 0.1056, 0.0758, 0.0301, -0.0064, -0.0437, -0.0812, -0.1272, -0.1804",\
"0.1522, 0.1486, 0.1293, 0.0928, 0.0479, -0.0004, -0.0415, -0.0914, -0.1284, -0.1825",\
"0.1678, 0.1606, 0.1429, 0.1092, 0.0602, 0.0079, -0.0384, -0.0863, -0.1516, -0.1941",\
"0.1747, 0.1763, 0.1545, 0.1181, 0.0667, 0.019, -0.0457, -0.1002, -0.1562, -0.2083",\
"0.1849, 0.1772, 0.1625, 0.1292, 0.0703, 0.021, -0.0428, -0.1106, -0.1897, -0.2532",\
"0.177, 0.172, 0.156, 0.115, 0.069, 0.013, -0.0474, -0.1243, -0.2061, -0.2845",\
"0.164, 0.164, 0.142, 0.103, 0.059, -0.001, -0.064, -0.142, -0.22, -0.303");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 1.518 ;
max_transition : 2.8 ;
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.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
index_2("0.001, 0.01147, 0.04821, 0.1184, 0.2277, 0.3811, 0.5829, 0.8372, 1.148, 1.518");
values("1.756, 1.691, 1.543, 1.422, 1.352, 1.307, 1.277, 1.255, 1.239, 1.228",\
"1.756, 1.691, 1.544, 1.421, 1.352, 1.307, 1.276, 1.254, 1.239, 1.228",\
"1.756, 1.691, 1.544, 1.421, 1.352, 1.307, 1.275, 1.254, 1.239, 1.228",\
"1.759, 1.694, 1.546, 1.424, 1.355, 1.31, 1.279, 1.257, 1.242, 1.231",\
"1.771, 1.706, 1.558, 1.436, 1.367, 1.321, 1.29, 1.269, 1.254, 1.242",\
"1.789, 1.724, 1.576, 1.454, 1.384, 1.339, 1.308, 1.286, 1.271, 1.26",\
"1.812, 1.747, 1.6, 1.477, 1.406, 1.36, 1.33, 1.308, 1.293, 1.281",\
"1.84, 1.774, 1.626, 1.504, 1.433, 1.388, 1.357, 1.334, 1.319, 1.307",\
"1.874, 1.808, 1.659, 1.536, 1.464, 1.419, 1.387, 1.365, 1.349, 1.338",\
"1.91, 1.843, 1.696, 1.572, 1.501, 1.454, 1.422, 1.4, 1.384, 1.373");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
index_2("0.001, 0.01147, 0.04821, 0.1184, 0.2277, 0.3811, 0.5829, 0.8372, 1.148, 1.518");
values("1.702, 1.64, 1.55, 1.484, 1.442, 1.411, 1.394, 1.393, 1.397, 1.408",\
"1.703, 1.64, 1.551, 1.485, 1.435, 1.409, 1.397, 1.39, 1.394, 1.405",\
"1.704, 1.642, 1.552, 1.486, 1.438, 1.411, 1.398, 1.392, 1.391, 1.406",\
"1.71, 1.649, 1.556, 1.491, 1.446, 1.421, 1.409, 1.397, 1.401, 1.412",\
"1.719, 1.658, 1.566, 1.5, 1.452, 1.426, 1.412, 1.404, 1.407, 1.419",\
"1.73, 1.67, 1.579, 1.512, 1.464, 1.442, 1.417, 1.415, 1.419, 1.431",\
"1.744, 1.682, 1.588, 1.526, 1.48, 1.451, 1.436, 1.434, 1.435, 1.436",\
"1.759, 1.696, 1.606, 1.534, 1.497, 1.472, 1.454, 1.446, 1.448, 1.465",\
"1.776, 1.713, 1.626, 1.556, 1.507, 1.485, 1.48, 1.47, 1.467, 1.466",\
"1.795, 1.733, 1.641, 1.577, 1.523, 1.492, 1.493, 1.499, 1.495, 1.491");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
index_2("0.001, 0.01147, 0.04821, 0.1184, 0.2277, 0.3811, 0.5829, 0.8372, 1.148, 1.518");
values("0.3784, 0.3944, 0.4348, 0.493, 0.5696, 0.6702, 0.8008, 0.9655, 1.167, 1.408",\
"0.3826, 0.3986, 0.439, 0.4972, 0.5738, 0.6743, 0.8049, 0.9696, 1.171, 1.412",\
"0.4009, 0.4169, 0.4573, 0.5155, 0.5921, 0.6927, 0.8232, 0.9879, 1.189, 1.43",\
"0.4393, 0.4552, 0.4958, 0.5539, 0.6305, 0.7311, 0.8616, 1.026, 1.228, 1.469",\
"0.494, 0.51, 0.5504, 0.6085, 0.6852, 0.7857, 0.9163, 1.081, 1.283, 1.523",\
"0.5599, 0.5758, 0.6164, 0.6745, 0.7511, 0.8517, 0.9822, 1.147, 1.349, 1.589",\
"0.6351, 0.6511, 0.6915, 0.7498, 0.8264, 0.9269, 1.057, 1.222, 1.424, 1.664",\
"0.7186, 0.7345, 0.775, 0.8332, 0.9098, 1.01, 1.141, 1.306, 1.507, 1.748",\
"0.8109, 0.827, 0.8674, 0.9256, 1.002, 1.103, 1.233, 1.398, 1.599, 1.84",\
"0.9118, 0.9279, 0.9683, 1.026, 1.103, 1.204, 1.334, 1.499, 1.7, 1.941");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
index_2("0.001, 0.01147, 0.04821, 0.1184, 0.2277, 0.3811, 0.5829, 0.8372, 1.148, 1.518");
values("0.4125, 0.4276, 0.4688, 0.5409, 0.6539, 0.8146, 1.027, 1.296, 1.626, 2.018",\
"0.4166, 0.4317, 0.4729, 0.545, 0.6579, 0.8186, 1.032, 1.301, 1.63, 2.023",\
"0.4353, 0.4505, 0.4917, 0.5638, 0.6767, 0.8374, 1.05, 1.319, 1.648, 2.042",\
"0.4743, 0.4896, 0.5305, 0.6027, 0.7156, 0.8762, 1.089, 1.359, 1.687, 2.081",\
"0.5289, 0.5441, 0.5851, 0.6572, 0.77, 0.9307, 1.144, 1.413, 1.742, 2.136",\
"0.5947, 0.6101, 0.651, 0.723, 0.8359, 0.9967, 1.21, 1.479, 1.808, 2.201",\
"0.6696, 0.6847, 0.7257, 0.7978, 0.9108, 1.071, 1.284, 1.553, 1.883, 2.276",\
"0.7525, 0.7676, 0.8086, 0.8808, 0.9937, 1.155, 1.367, 1.637, 1.966, 2.358",\
"0.843, 0.858, 0.8992, 0.9713, 1.084, 1.245, 1.458, 1.727, 2.056, 2.448",\
"0.9418, 0.9571, 0.998, 1.07, 1.183, 1.344, 1.556, 1.826, 2.155, 2.547");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
index_2("0.001, 0.01147, 0.04821, 0.1184, 0.2277, 0.3811, 0.5829, 0.8372, 1.148, 1.518");
values("0.05466, 0.07198, 0.1144, 0.1797, 0.2812, 0.4343, 0.6461, 0.9176, 1.249, 1.646",\
"0.05452, 0.07222, 0.1144, 0.1796, 0.2811, 0.4344, 0.6461, 0.9161, 1.249, 1.646",\
"0.0545, 0.07222, 0.1144, 0.1796, 0.2813, 0.4341, 0.6459, 0.9162, 1.249, 1.646",\
"0.0546, 0.07194, 0.1144, 0.1794, 0.2812, 0.4345, 0.6461, 0.9162, 1.249, 1.646",\
"0.05448, 0.07216, 0.1143, 0.1794, 0.2813, 0.4341, 0.6458, 0.9164, 1.249, 1.646",\
"0.05446, 0.0719, 0.1144, 0.1798, 0.2812, 0.4344, 0.6462, 0.9168, 1.249, 1.645",\
"0.0548, 0.0722, 0.1144, 0.1798, 0.2816, 0.4344, 0.6462, 0.9178, 1.249, 1.646",\
"0.0548, 0.0722, 0.1146, 0.1798, 0.2812, 0.4346, 0.6452, 0.9162, 1.25, 1.646",\
"0.0548, 0.0724, 0.1148, 0.1796, 0.2812, 0.434, 0.6454, 0.9158, 1.248, 1.646",\
"0.0548, 0.0722, 0.1146, 0.18, 0.2816, 0.434, 0.6462, 0.9162, 1.249, 1.644");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
index_2("0.001, 0.01147, 0.04821, 0.1184, 0.2277, 0.3811, 0.5829, 0.8372, 1.148, 1.518");
values("0.04598, 0.06396, 0.1224, 0.2435, 0.4417, 0.7242, 1.095, 1.561, 2.136, 2.812",\
"0.0461, 0.06438, 0.1225, 0.2436, 0.4425, 0.7243, 1.094, 1.561, 2.132, 2.815",\
"0.04608, 0.06408, 0.1221, 0.2436, 0.4425, 0.7245, 1.095, 1.562, 2.133, 2.814",\
"0.04618, 0.06432, 0.1223, 0.2436, 0.4424, 0.7234, 1.094, 1.561, 2.132, 2.815",\
"0.04616, 0.06406, 0.1221, 0.2436, 0.4416, 0.7234, 1.094, 1.562, 2.133, 2.818",\
"0.046, 0.0634, 0.122, 0.2434, 0.4422, 0.7232, 1.096, 1.563, 2.132, 2.819",\
"0.0458, 0.0636, 0.1222, 0.2436, 0.442, 0.724, 1.095, 1.561, 2.133, 2.819",\
"0.0464, 0.064, 0.1222, 0.244, 0.4422, 0.7238, 1.094, 1.562, 2.136, 2.812",\
"0.0462, 0.064, 0.1222, 0.2434, 0.4418, 0.7234, 1.094, 1.562, 2.134, 2.811",\
"0.0462, 0.0638, 0.1222, 0.2436, 0.4418, 0.7246, 1.094, 1.561, 2.131, 2.812");
}
}
}
}