blob: 3a46e58ee03d942cca631a8acc703a4f1ded3089 [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 : "0.0002042928" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.00020628" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.0002622348" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.0002569212" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.0002622348" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.003222 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 5.2 ;
min_period : 0.934 ;
min_pulse_width_high : 0.433 ;
min_pulse_width_low : 0.467 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.1458, 0.1456, 0.1482, 0.1595, 0.1812, 0.2145, 0.2602, 0.3188, \
0.3909, 0.477");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.1049, 0.1045, 0.1064, 0.1158, 0.1338, 0.1626, 0.2024, 0.254, \
0.3176, 0.3938");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.1449, 0.1446, 0.1473, 0.1586, 0.1803, 0.2136, 0.2591, 0.3177, \
0.3897, 0.4756");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.1046, 0.1043, 0.1062, 0.1157, 0.1338, 0.1625, 0.2025, 0.2541, \
0.3177, 0.3938");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.467");
}
rise_constraint(scalar) {
values("0.249");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.332");
}
rise_constraint(scalar) {
values("0.433");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("0.934");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("0.884");
}
}
}
pin(D) {
capacitance : 0.00243 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 5.2 ;
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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.08126, 0.08057, 0.08089, 0.08567, 0.09576, 0.1112, 0.1327, 0.1605, \
0.1948, 0.2359");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.05436, 0.05454, 0.05575, 0.05985, 0.06788, 0.08043, 0.09775, \
0.1203, 0.1482, 0.1816");
}
}
internal_power() {
when : "CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.005379, 0.005375, 0.005378, 0.005372, 0.005373, 0.005371, 0.005385, \
0.005377, 0.00538, 0.005378");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("-0.003837, -0.003848, -0.003835, -0.00386, -0.003878, -0.00389, \
-0.003917, -0.003904, -0.003928, -0.00393");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.063, 0.072, 0.1, 0.135, 0.161, 0.183, 0.19, 0.191, 0.168, 0.129",\
"0.063, 0.064, 0.097, 0.127, 0.159, 0.177, 0.186, 0.184, 0.168, 0.129",\
"0.031, 0.044, 0.064, 0.103, 0.131, 0.152, 0.161, 0.154, 0.136, 0.099",\
"-0.036, -0.03, -0.006, 0.031, 0.064, 0.088, 0.091, 0.087, 0.067, 0.037",\
"-0.141, -0.133, -0.109, -0.072, -0.035, -0.015, -0.005, -0.012, -0.032, -0.066",\
"-0.266, -0.262, -0.236, -0.192, -0.17, -0.15, -0.142, -0.143, -0.167, -0.205",\
"-0.426, -0.42, -0.397, -0.356, -0.326, -0.304, -0.301, -0.31, -0.33, -0.367",\
"-0.612, -0.61, -0.582, -0.546, -0.514, -0.494, -0.492, -0.5, -0.529, -0.558",\
"-0.84, -0.835, -0.808, -0.771, -0.741, -0.719, -0.717, -0.723, -0.753, -0.795",\
"-1.101, -1.099, -1.072, -1.031, -1.006, -0.98, -0.982, -0.986, -1.017, -1.063");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.029, 0.033, 0.056, 0.082, 0.1, 0.108, 0.109, 0.102, 0.079, 0.04",\
"0.025, 0.029, 0.059, 0.078, 0.096, 0.108, 0.104, 0.094, 0.078, 0.044",\
"0.013, 0.016, 0.041, 0.071, 0.091, 0.103, 0.098, 0.091, 0.069, 0.039",\
"0.01, 0.019, 0.043, 0.067, 0.085, 0.097, 0.097, 0.087, 0.062, 0.03",\
"0.021, 0.029, 0.054, 0.08, 0.095, 0.102, 0.103, 0.09, 0.062, 0.029",\
"0.065, 0.069, 0.087, 0.109, 0.126, 0.129, 0.127, 0.107, 0.079, 0.041",\
"0.128, 0.137, 0.155, 0.174, 0.192, 0.193, 0.176, 0.161, 0.129, 0.088",\
"0.232, 0.237, 0.259, 0.272, 0.289, 0.28, 0.262, 0.24, 0.201, 0.165",\
"0.377, 0.382, 0.399, 0.41, 0.413, 0.406, 0.389, 0.355, 0.315, 0.268",\
"0.552, 0.557, 0.575, 0.583, 0.586, 0.57, 0.542, 0.509, 0.465, 0.418");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.2, 0.191, 0.171, 0.122, 0.087, 0.065, 0.047, 0.054, 0.07, 0.108",\
"0.206, 0.198, 0.167, 0.124, 0.092, 0.069, 0.05, 0.057, 0.073, 0.111",\
"0.231, 0.229, 0.2, 0.156, 0.118, 0.095, 0.08, 0.088, 0.101, 0.139",\
"0.314, 0.308, 0.282, 0.238, 0.205, 0.174, 0.162, 0.163, 0.182, 0.218",\
"0.444, 0.436, 0.41, 0.37, 0.33, 0.304, 0.293, 0.298, 0.313, 0.351",\
"0.619, 0.608, 0.583, 0.539, 0.503, 0.476, 0.471, 0.462, 0.478, 0.515",\
"0.835, 0.824, 0.8, 0.76, 0.721, 0.699, 0.678, 0.679, 0.694, 0.735",\
"1.095, 1.083, 1.057, 1.014, 0.984, 0.949, 0.933, 0.938, 0.953, 0.988",\
"1.385, 1.375, 1.348, 1.307, 1.274, 1.243, 1.228, 1.23, 1.24, 1.28",\
"1.724, 1.714, 1.687, 1.644, 1.607, 1.583, 1.56, 1.563, 1.574, 1.606");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.206, 0.191, 0.171, 0.129, 0.092, 0.073, 0.058, 0.069, 0.1, 0.14",\
"0.212, 0.205, 0.176, 0.137, 0.097, 0.076, 0.066, 0.072, 0.103, 0.15",\
"0.24, 0.22, 0.194, 0.156, 0.118, 0.095, 0.08, 0.088, 0.111, 0.158",\
"0.255, 0.245, 0.217, 0.171, 0.136, 0.118, 0.099, 0.105, 0.128, 0.176",\
"0.257, 0.243, 0.224, 0.182, 0.139, 0.12, 0.106, 0.113, 0.132, 0.182",\
"0.243, 0.224, 0.202, 0.163, 0.124, 0.102, 0.084, 0.097, 0.122, 0.165",\
"0.19, 0.18, 0.161, 0.116, 0.081, 0.06, 0.041, 0.057, 0.083, 0.131",\
"0.117, 0.101, 0.076, 0.037, 0.007, -0.023, -0.032, -0.021, 0.007, 0.069",\
"0, -0.012, -0.034, -0.079, -0.114, -0.134, -0.14, -0.122, -0.095, -0.042",\
"-0.153, -0.156, -0.186, -0.225, -0.264, -0.277, -0.288, -0.274, -0.233, -0.175");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.7128 ;
max_transition : 5.2 ;
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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.001, 0.005913, 0.02316, 0.05609, 0.1074, 0.1794, 0.2741, 0.3935, 0.5392, 0.7128");
values("0.1943, 0.1873, 0.1782, 0.1736, 0.1712, 0.1699, 0.169, 0.1686, 0.1682, 0.168",\
"0.1943, 0.1873, 0.1782, 0.1737, 0.1713, 0.1699, 0.169, 0.1686, 0.1682, 0.168",\
"0.1945, 0.1875, 0.1783, 0.1737, 0.1714, 0.1701, 0.1692, 0.1687, 0.1684, 0.1682",\
"0.1951, 0.1879, 0.1789, 0.1743, 0.172, 0.1707, 0.1698, 0.1693, 0.169, 0.1687",\
"0.1961, 0.1892, 0.18, 0.1754, 0.173, 0.1716, 0.1708, 0.1703, 0.17, 0.1698",\
"0.1971, 0.1902, 0.1811, 0.1765, 0.1741, 0.1727, 0.1718, 0.1713, 0.171, 0.1707",\
"0.1987, 0.1916, 0.1825, 0.1779, 0.1754, 0.1743, 0.1735, 0.1727, 0.1724, 0.1722",\
"0.2002, 0.1929, 0.1839, 0.1792, 0.1769, 0.1755, 0.1746, 0.1741, 0.1737, 0.1734",\
"0.2014, 0.1945, 0.1852, 0.1807, 0.1782, 0.1771, 0.176, 0.1755, 0.1752, 0.1749",\
"0.2034, 0.1963, 0.1872, 0.1827, 0.1801, 0.179, 0.1779, 0.1774, 0.177, 0.1767");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.001, 0.005913, 0.02316, 0.05609, 0.1074, 0.1794, 0.2741, 0.3935, 0.5392, 0.7128");
values("0.187, 0.181, 0.1728, 0.1684, 0.1657, 0.165, 0.1673, 0.1675, 0.1686, 0.1705",\
"0.1869, 0.1814, 0.1728, 0.1686, 0.1659, 0.1657, 0.1673, 0.1675, 0.1689, 0.1705",\
"0.1869, 0.1814, 0.1727, 0.1682, 0.1659, 0.1658, 0.1671, 0.1677, 0.1699, 0.1707",\
"0.1875, 0.1818, 0.1735, 0.1687, 0.1666, 0.1664, 0.1674, 0.1676, 0.1694, 0.171",\
"0.1885, 0.1825, 0.1747, 0.1697, 0.1674, 0.168, 0.1679, 0.1692, 0.1707, 0.1734",\
"0.1901, 0.1841, 0.1763, 0.1718, 0.1691, 0.1687, 0.1695, 0.1707, 0.1722, 0.1738",\
"0.1922, 0.1863, 0.1778, 0.1726, 0.1717, 0.172, 0.172, 0.1725, 0.1744, 0.1775",\
"0.1947, 0.1888, 0.1804, 0.1755, 0.1727, 0.1743, 0.1754, 0.176, 0.1768, 0.1778",\
"0.1976, 0.1917, 0.1838, 0.1785, 0.1761, 0.1753, 0.177, 0.1808, 0.1812, 0.1808",\
"0.201, 0.1953, 0.1868, 0.1816, 0.1794, 0.1788, 0.179, 0.1824, 0.1868, 0.1878");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.001, 0.005913, 0.02316, 0.05609, 0.1074, 0.1794, 0.2741, 0.3935, 0.5392, 0.7128");
values("0.5264, 0.5511, 0.6132, 0.7045, 0.8307, 1.003, 1.228, 1.512, 1.86, 2.274",\
"0.5335, 0.5582, 0.6203, 0.7116, 0.8378, 1.01, 1.235, 1.519, 1.867, 2.281",\
"0.5609, 0.5856, 0.6476, 0.739, 0.8652, 1.037, 1.263, 1.547, 1.894, 2.308",\
"0.6028, 0.6275, 0.6895, 0.7809, 0.9071, 1.079, 1.304, 1.589, 1.936, 2.35",\
"0.6392, 0.6639, 0.7261, 0.8174, 0.9436, 1.116, 1.341, 1.625, 1.973, 2.387",\
"0.6682, 0.6928, 0.7548, 0.8462, 0.9725, 1.144, 1.37, 1.654, 2.001, 2.415",\
"0.6857, 0.7104, 0.7724, 0.8638, 0.99, 1.162, 1.387, 1.672, 2.019, 2.432",\
"0.6898, 0.7143, 0.7764, 0.8677, 0.994, 1.166, 1.391, 1.676, 2.023, 2.436",\
"0.6784, 0.7031, 0.7652, 0.8565, 0.9827, 1.155, 1.38, 1.664, 2.012, 2.425",\
"0.6513, 0.676, 0.738, 0.8293, 0.9555, 1.128, 1.353, 1.637, 1.984, 2.398");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.001, 0.005913, 0.02316, 0.05609, 0.1074, 0.1794, 0.2741, 0.3935, 0.5392, 0.7128");
values("0.5876, 0.6139, 0.6901, 0.8256, 1.038, 1.336, 1.73, 2.227, 2.833, 3.558",\
"0.5947, 0.6213, 0.6973, 0.8329, 1.045, 1.343, 1.738, 2.234, 2.84, 3.565",\
"0.6219, 0.6485, 0.7245, 0.86, 1.072, 1.371, 1.765, 2.262, 2.868, 3.593",\
"0.6644, 0.6909, 0.767, 0.9026, 1.115, 1.413, 1.807, 2.304, 2.911, 3.634",\
"0.7023, 0.7287, 0.8051, 0.9404, 1.152, 1.451, 1.845, 2.342, 2.948, 3.672",\
"0.7332, 0.7598, 0.8361, 0.9713, 1.183, 1.482, 1.876, 2.373, 2.979, 3.703",\
"0.7548, 0.7814, 0.8574, 0.9929, 1.205, 1.504, 1.898, 2.394, 3.001, 3.724",\
"0.7638, 0.7903, 0.8664, 1.002, 1.214, 1.513, 1.907, 2.403, 3.009, 3.732",\
"0.7584, 0.785, 0.8612, 0.9967, 1.209, 1.508, 1.901, 2.398, 3.004, 3.726",\
"0.7376, 0.7642, 0.8403, 0.9759, 1.188, 1.487, 1.881, 2.377, 2.983, 3.706");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.001, 0.005913, 0.02316, 0.05609, 0.1074, 0.1794, 0.2741, 0.3935, 0.5392, 0.7128");
values("0.06532, 0.08922, 0.1549, 0.2691, 0.4564, 0.7353, 1.109, 1.582, 2.159, 2.85",\
"0.06532, 0.08922, 0.1549, 0.2692, 0.4564, 0.7352, 1.108, 1.582, 2.159, 2.85",\
"0.06538, 0.08908, 0.1548, 0.27, 0.4571, 0.7356, 1.108, 1.582, 2.16, 2.85",\
"0.06538, 0.08908, 0.1548, 0.2699, 0.457, 0.7356, 1.108, 1.582, 2.159, 2.85",\
"0.0652, 0.0892, 0.155, 0.2696, 0.4572, 0.7352, 1.108, 1.58, 2.157, 2.85",\
"0.0652, 0.0892, 0.1548, 0.2692, 0.4564, 0.7352, 1.109, 1.581, 2.157, 2.849",\
"0.0654, 0.0894, 0.1548, 0.2692, 0.4568, 0.7356, 1.107, 1.578, 2.156, 2.845",\
"0.0654, 0.0892, 0.1548, 0.2696, 0.4568, 0.7344, 1.107, 1.579, 2.154, 2.842",\
"0.0654, 0.0892, 0.1546, 0.269, 0.4566, 0.7352, 1.107, 1.581, 2.155, 2.84",\
"0.0654, 0.0892, 0.1548, 0.269, 0.4566, 0.7362, 1.107, 1.581, 2.155, 2.842");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.001, 0.005913, 0.02316, 0.05609, 0.1074, 0.1794, 0.2741, 0.3935, 0.5392, 0.7128");
values("0.06788, 0.1002, 0.2119, 0.4408, 0.8111, 1.334, 2.02, 2.886, 3.936, 5.206",\
"0.06806, 0.09976, 0.2119, 0.4408, 0.8111, 1.333, 2.019, 2.885, 3.935, 5.206",\
"0.06806, 0.09976, 0.2119, 0.4408, 0.8112, 1.333, 2.019, 2.885, 3.939, 5.195",\
"0.06796, 0.1, 0.212, 0.441, 0.8112, 1.333, 2.017, 2.885, 3.936, 5.196",\
"0.0678, 0.0996, 0.212, 0.441, 0.8126, 1.331, 2.017, 2.88, 3.938, 5.198",\
"0.0678, 0.0996, 0.2122, 0.4412, 0.8116, 1.331, 2.017, 2.881, 3.938, 5.2",\
"0.068, 0.0996, 0.212, 0.4408, 0.8118, 1.331, 2.017, 2.883, 3.938, 5.198",\
"0.068, 0.1, 0.212, 0.4422, 0.8114, 1.331, 2.017, 2.882, 3.937, 5.193",\
"0.0682, 0.1004, 0.212, 0.4408, 0.812, 1.333, 2.018, 2.881, 3.934, 5.189",\
"0.0684, 0.1006, 0.2122, 0.4412, 0.8112, 1.333, 2.018, 2.88, 3.934, 5.191");
}
}
}
}