blob: 0669d4e1bdb3dd616dcaddd8f7eae6c2df94f58e [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.00074748" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.00075399" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.00069399" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.00070461" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.00075399" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.003408 ;
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 : 2.683 ;
min_pulse_width_high : 1.272 ;
min_pulse_width_low : 1.322 ;
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.1118, 0.1114, 0.1113, 0.1139, 0.1203, 0.1306, 0.1453, 0.1647, \
0.1891, 0.2187");
}
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.07172, 0.07145, 0.07138, 0.07351, 0.07854, 0.08735, 0.1002, \
0.1174, 0.1391, 0.1655");
}
}
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.1118, 0.1114, 0.1112, 0.1138, 0.1203, 0.1306, 0.1452, 0.1647, \
0.1891, 0.2186");
}
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.07178, 0.07154, 0.07146, 0.07358, 0.07857, 0.0874, 0.1003, 0.1175, \
0.1391, 0.1655");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("1.189");
}
rise_constraint(scalar) {
values("1.272");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("1.322");
}
rise_constraint(scalar) {
values("1.016");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("2.624");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("2.683");
}
}
}
pin(D) {
capacitance : 0.002317 ;
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 : "!CLKN" ;
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.02124, 0.02062, 0.02129, 0.02425, 0.02972, 0.03794, 0.04911, \
0.06345, 0.08118, 0.1025");
}
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.0028, 0.002548, 0.002906, 0.004989, 0.009297, 0.01608, 0.02549, \
0.03762, 0.05267, 0.07076");
}
}
internal_power() {
when : "CLKN" ;
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.07162, 0.07126, 0.07154, 0.07382, 0.07901, 0.08711, 0.09838, \
0.1131, 0.1316, 0.154");
}
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.04661, 0.04645, 0.04677, 0.04861, 0.05239, 0.05864, 0.06766, \
0.07963, 0.09474, 0.1132");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
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.086, 0.118, 0.234, 0.442, 0.67, 0.937, 1.255, 1.612, 2.023, 2.494",\
"0.052, 0.087, 0.195, 0.407, 0.641, 0.905, 1.219, 1.579, 1.992, 2.459",\
"-0.079, -0.052, 0.066, 0.28, 0.507, 0.769, 1.09, 1.445, 1.851, 2.326",\
"-0.335, -0.301, -0.187, 0.02, 0.253, 0.512, 0.831, 1.185, 1.589, 2.053",\
"-0.645, -0.615, -0.5, -0.298, -0.075, 0.186, 0.491, 0.847, 1.25, 1.709",\
"-1.025, -1.001, -0.889, -0.683, -0.461, -0.209, 0.088, 0.447, 0.843, 1.296",\
"-1.483, -1.451, -1.343, -1.146, -0.934, -0.684, -0.388, -0.04, 0.357, 0.804",\
"-2.008, -1.98, -1.874, -1.682, -1.479, -1.242, -0.945, -0.605, -0.211, 0.232",\
"-2.618, -2.593, -2.485, -2.297, -2.112, -1.874, -1.59, -1.255, -0.867, -0.424",\
"-3.313, -3.284, -3.179, -2.999, -2.824, -2.6, -2.322, -1.99, -1.611, -1.171");
}
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.458, 0.49, 0.612, 0.859, 1.164, 1.519, 1.91, 2.357, 2.858, 3.416",\
"0.431, 0.458, 0.59, 0.832, 1.142, 1.487, 1.885, 2.333, 2.828, 3.386",\
"0.358, 0.386, 0.514, 0.758, 1.063, 1.412, 1.812, 2.258, 2.757, 3.314",\
"0.31, 0.344, 0.468, 0.707, 1.018, 1.363, 1.761, 2.203, 2.702, 3.259",\
"0.318, 0.349, 0.473, 0.71, 1.012, 1.358, 1.752, 2.195, 2.694, 3.246",\
"0.386, 0.41, 0.53, 0.771, 1.072, 1.417, 1.801, 2.247, 2.745, 3.29",\
"0.52, 0.549, 0.671, 0.899, 1.195, 1.536, 1.919, 2.366, 2.849, 3.398",\
"0.738, 0.768, 0.885, 1.112, 1.395, 1.728, 2.105, 2.546, 3.029, 3.581",\
"1.071, 1.093, 1.212, 1.417, 1.68, 2.005, 2.369, 2.803, 3.286, 3.831",\
"1.527, 1.542, 1.645, 1.823, 2.064, 2.363, 2.724, 3.151, 3.624, 4.167");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
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.927, 0.888, 0.751, 0.522, 0.244, -0.058, -0.408, -0.804, -1.251, -1.74",\
"0.962, 0.927, 0.781, 0.556, 0.278, -0.03, -0.38, -0.772, -1.222, -1.719",\
"1.094, 1.062, 0.915, 0.684, 0.414, 0.107, -0.241, -0.637, -1.086, -1.577",\
"1.362, 1.325, 1.179, 0.956, 0.683, 0.371, 0.021, -0.374, -0.825, -1.321",\
"1.744, 1.714, 1.567, 1.342, 1.059, 0.75, 0.393, -0.006, -0.456, -0.956",\
"2.23, 2.19, 2.05, 1.813, 1.527, 1.208, 0.85, 0.446, 0, -0.507",\
"2.793, 2.753, 2.612, 2.366, 2.075, 1.754, 1.387, 0.981, 0.522, 0.021",\
"3.452, 3.42, 3.27, 3.026, 2.728, 2.39, 2.026, 1.608, 1.149, 0.642",\
"4.225, 4.186, 4.039, 3.785, 3.48, 3.139, 2.759, 2.339, 1.873, 1.363",\
"5.11, 5.064, 4.925, 4.656, 4.334, 3.986, 3.597, 3.18, 2.697, 2.185");
}
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.412, 0.384, 0.262, 0.019, -0.293, -0.65, -1.07, -1.544, -2.08, -2.67",\
"0.443, 0.409, 0.285, 0.04, -0.262, -0.622, -1.046, -1.516, -2.05, -2.637",\
"0.531, 0.498, 0.365, 0.132, -0.178, -0.542, -0.963, -1.434, -1.977, -2.556",\
"0.639, 0.604, 0.476, 0.23, -0.082, -0.436, -0.856, -1.321, -1.869, -2.453",\
"0.725, 0.692, 0.558, 0.307, 0, -0.361, -0.773, -1.242, -1.774, -2.37",\
"0.769, 0.728, 0.598, 0.347, 0.025, -0.332, -0.738, -1.205, -1.733, -2.327",\
"0.747, 0.717, 0.582, 0.331, 0.011, -0.348, -0.761, -1.224, -1.759, -2.341",\
"0.674, 0.634, 0.5, 0.25, -0.074, -0.43, -0.841, -1.307, -1.843, -2.427",\
"0.522, 0.485, 0.349, 0.093, -0.228, -0.581, -0.998, -1.465, -1.993, -2.576",\
"0.297, 0.257, 0.119, -0.14, -0.452, -0.815, -1.226, -1.689, -2.215, -2.802");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.6313 ;
max_transition : 15.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.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
index_2("0.001, 0.00535, 0.02062, 0.04978, 0.09522, 0.159, 0.2428, 0.3485, 0.4775, 0.6313");
values("0.1616, 0.1598, 0.158, 0.1574, 0.1573, 0.1572, 0.1571, 0.1571, 0.1571, 0.1571",\
"0.1617, 0.1598, 0.1581, 0.1575, 0.1573, 0.1572, 0.1572, 0.1572, 0.1572, 0.1571",\
"0.1616, 0.1598, 0.158, 0.1574, 0.1572, 0.1572, 0.1571, 0.1571, 0.1571, 0.157",\
"0.1617, 0.1599, 0.1582, 0.1576, 0.1574, 0.1573, 0.1573, 0.1572, 0.1572, 0.1572",\
"0.1624, 0.1604, 0.1587, 0.1581, 0.1579, 0.1579, 0.1578, 0.1578, 0.1577, 0.1577",\
"0.1632, 0.1614, 0.1596, 0.159, 0.1588, 0.1587, 0.1586, 0.1586, 0.1586, 0.1586",\
"0.1643, 0.1624, 0.1607, 0.16, 0.1598, 0.1598, 0.1597, 0.1596, 0.1596, 0.1596",\
"0.1657, 0.1637, 0.1619, 0.1613, 0.1611, 0.161, 0.161, 0.161, 0.1609, 0.1608",\
"0.1673, 0.1654, 0.1635, 0.1629, 0.1627, 0.1626, 0.1626, 0.1625, 0.1625, 0.1623",\
"0.1693, 0.1673, 0.1655, 0.1648, 0.1646, 0.1645, 0.1645, 0.1644, 0.1642, 0.1634");
}
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.00535, 0.02062, 0.04978, 0.09522, 0.159, 0.2428, 0.3485, 0.4775, 0.6313");
values("0.1973, 0.1961, 0.195, 0.1952, 0.196, 0.1975, 0.1986, 0.2048, 0.2612, 0.5017",\
"0.1972, 0.1963, 0.1949, 0.1952, 0.196, 0.1973, 0.1984, 0.2048, 0.2626, 0.5069",\
"0.1973, 0.1963, 0.195, 0.1952, 0.1961, 0.1974, 0.1988, 0.2055, 0.2689, 0.5264",\
"0.1978, 0.1968, 0.1955, 0.1958, 0.1967, 0.1981, 0.1994, 0.2078, 0.2806, 0.5667",\
"0.199, 0.198, 0.1967, 0.197, 0.1979, 0.1992, 0.2007, 0.2123, 0.3038, 0.6333",\
"0.2003, 0.1992, 0.1982, 0.1983, 0.1991, 0.2003, 0.202, 0.2203, 0.3433, 0.7345",\
"0.2019, 0.201, 0.1996, 0.2, 0.2011, 0.2021, 0.2048, 0.236, 0.4125, 0.8872",\
"0.2036, 0.2026, 0.2014, 0.2015, 0.2028, 0.2044, 0.2096, 0.2691, 0.535, 1.096",\
"0.2058, 0.2047, 0.2033, 0.2034, 0.2043, 0.2058, 0.2228, 0.3487, 0.7428, 1.354",\
"0.2078, 0.2067, 0.2054, 0.2059, 0.2063, 0.2101, 0.2684, 0.5385, 1.042, 1.575");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_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.00535, 0.02062, 0.04978, 0.09522, 0.159, 0.2428, 0.3485, 0.4775, 0.6313");
values("1.715, 1.784, 1.962, 2.209, 2.529, 2.949, 3.493, 4.176, 5.011, 6.004",\
"1.749, 1.818, 1.997, 2.243, 2.563, 2.983, 3.527, 4.21, 5.045, 6.039",\
"1.877, 1.947, 2.125, 2.372, 2.692, 3.112, 3.656, 4.339, 5.173, 6.168",\
"2.129, 2.199, 2.377, 2.624, 2.943, 3.364, 3.907, 4.591, 5.425, 6.419",\
"2.463, 2.533, 2.711, 2.958, 3.278, 3.698, 4.242, 4.925, 5.759, 6.752",\
"2.839, 2.909, 3.087, 3.334, 3.654, 4.074, 4.618, 5.301, 6.135, 7.13",\
"3.263, 3.332, 3.511, 3.758, 4.078, 4.498, 5.042, 5.725, 6.559, 7.554",\
"3.741, 3.811, 3.989, 4.236, 4.556, 4.977, 5.521, 6.204, 7.038, 8.03",\
"4.271, 4.341, 4.52, 4.767, 5.088, 5.507, 6.051, 6.735, 7.568, 8.563",\
"4.857, 4.927, 5.106, 5.353, 5.673, 6.093, 6.637, 7.32, 8.155, 9.147");
}
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.00535, 0.02062, 0.04978, 0.09522, 0.159, 0.2428, 0.3485, 0.4775, 0.6313");
values("2.004, 2.083, 2.312, 2.721, 3.354, 4.24, 5.404, 6.87, 8.661, 10.79",\
"2.038, 2.117, 2.346, 2.755, 3.388, 4.273, 5.438, 6.904, 8.694, 10.83",\
"2.167, 2.246, 2.475, 2.885, 3.517, 4.402, 5.567, 7.033, 8.824, 10.96",\
"2.422, 2.501, 2.73, 3.139, 3.771, 4.657, 5.822, 7.288, 9.079, 11.21",\
"2.767, 2.846, 3.075, 3.485, 4.117, 5.003, 6.167, 7.633, 9.424, 11.56",\
"3.157, 3.236, 3.465, 3.874, 4.507, 5.392, 6.557, 8.023, 9.814, 11.95",\
"3.597, 3.677, 3.906, 4.315, 4.947, 5.833, 6.999, 8.465, 10.25, 12.39",\
"4.095, 4.173, 4.402, 4.812, 5.444, 6.329, 7.494, 8.96, 10.75, 12.89",\
"4.646, 4.724, 4.952, 5.363, 5.995, 6.88, 8.045, 9.511, 11.3, 13.44",\
"5.25, 5.329, 5.558, 5.967, 6.599, 7.485, 8.649, 10.11, 11.91, 14.04");
}
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.00535, 0.02062, 0.04978, 0.09522, 0.159, 0.2428, 0.3485, 0.4775, 0.6313");
values("0.197, 0.2626, 0.4452, 0.7258, 1.174, 1.841, 2.751, 3.913, 5.335, 7.033",\
"0.1972, 0.2624, 0.4452, 0.725, 1.172, 1.841, 2.751, 3.909, 5.334, 7.027",\
"0.197, 0.2628, 0.4452, 0.7248, 1.173, 1.842, 2.751, 3.911, 5.33, 7.033",\
"0.1974, 0.2626, 0.4452, 0.7252, 1.174, 1.839, 2.747, 3.91, 5.334, 7.03",\
"0.1976, 0.2628, 0.4454, 0.7258, 1.173, 1.842, 2.749, 3.907, 5.333, 7.031",\
"0.1976, 0.2638, 0.4458, 0.7248, 1.172, 1.839, 2.751, 3.912, 5.335, 7.025",\
"0.1982, 0.2638, 0.4462, 0.7264, 1.173, 1.842, 2.748, 3.911, 5.333, 7.022",\
"0.1986, 0.2638, 0.4466, 0.7252, 1.173, 1.839, 2.75, 3.908, 5.324, 7.016",\
"0.198, 0.264, 0.446, 0.726, 1.172, 1.84, 2.748, 3.908, 5.33, 7.018",\
"0.2, 0.264, 0.446, 0.728, 1.174, 1.84, 2.752, 3.91, 5.33, 7.016");
}
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.00535, 0.02062, 0.04978, 0.09522, 0.159, 0.2428, 0.3485, 0.4775, 0.6313");
values("0.2066, 0.3048, 0.645, 1.342, 2.452, 4.008, 6.07, 8.646, 11.83, 15.57",\
"0.2066, 0.3048, 0.6444, 1.342, 2.45, 4.012, 6.069, 8.65, 11.83, 15.61",\
"0.2062, 0.3038, 0.6446, 1.342, 2.451, 4.012, 6.07, 8.649, 11.83, 15.61",\
"0.2062, 0.3038, 0.6446, 1.342, 2.452, 4.012, 6.059, 8.649, 11.81, 15.6",\
"0.207, 0.3042, 0.6446, 1.341, 2.451, 4.012, 6.068, 8.649, 11.8, 15.58",\
"0.206, 0.3042, 0.6452, 1.341, 2.449, 4.012, 6.068, 8.649, 11.8, 15.58",\
"0.207, 0.303, 0.6444, 1.34, 2.448, 4.01, 6.064, 8.648, 11.81, 15.57",\
"0.2066, 0.304, 0.6442, 1.341, 2.448, 4.006, 6.062, 8.642, 11.84, 15.58",\
"0.206, 0.302, 0.644, 1.342, 2.446, 4.006, 6.062, 8.648, 11.82, 15.58",\
"0.206, 0.304, 0.644, 1.34, 2.446, 4.006, 6.064, 8.644, 11.8, 15.59");
}
}
}
}