blob: 2715027d4a3509585314827417ada35b17fe385b [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_1) {
area : 65.856000 ;
ff(IQ1,IQN1) {
clocked_on : "(!CLKN)" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&!D" ;
value : "0.000246582" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.0002505456" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.000211878" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.0002106828" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.0002505456" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.003433 ;
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.324 ;
min_pulse_width_low : 0.363 ;
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.1541, 0.1537, 0.1562, 0.1677, 0.19, 0.2243, 0.2714, 0.3318, \
0.4063, 0.4953");
}
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.09815, 0.09777, 0.09984, 0.1096, 0.1281, 0.1577, 0.1988, 0.2518, \
0.3171, 0.3956");
}
}
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.154, 0.1537, 0.1561, 0.1677, 0.19, 0.2243, 0.2712, 0.3316, 0.4061, \
0.4953");
}
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.09825, 0.09803, 0.1, 0.1097, 0.1283, 0.1578, 0.1988, 0.2519, \
0.3172, 0.3957");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.306");
}
rise_constraint(scalar) {
values("0.324");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.363");
}
rise_constraint(scalar) {
values("0.292");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("0.691");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("0.934");
}
}
}
pin(D) {
capacitance : 0.002447 ;
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 : "!CLKN" ;
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.02943, 0.02935, 0.03302, 0.04248, 0.05877, 0.08248, 0.1143, \
0.1546, 0.2042, 0.2635");
}
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.002578, 0.002564, 0.004975, 0.01243, 0.02599, 0.04605, 0.07311, \
0.1076, 0.1501, 0.2009");
}
}
internal_power() {
when : "CLKN" ;
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.1034, 0.1033, 0.1056, 0.1143, 0.1307, 0.1557, 0.19, 0.234, 0.2879, \
0.3526");
}
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.06652, 0.06658, 0.06872, 0.07568, 0.08873, 0.109, 0.1369, 0.1732, \
0.2182, 0.2723");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
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.023, 0.033, 0.065, 0.129, 0.201, 0.288, 0.389, 0.502, 0.643, 0.792",\
"0.018, 0.029, 0.059, 0.12, 0.191, 0.277, 0.377, 0.491, 0.626, 0.782",\
"-0.022, -0.012, 0.017, 0.079, 0.149, 0.235, 0.334, 0.45, 0.583, 0.734",\
"-0.096, -0.085, -0.055, 0.005, 0.071, 0.154, 0.255, 0.371, 0.5, 0.651",\
"-0.197, -0.185, -0.155, -0.1, -0.027, 0.052, 0.146, 0.256, 0.39, 0.536",\
"-0.318, -0.308, -0.277, -0.22, -0.159, -0.075, 0.018, 0.123, 0.254, 0.399",\
"-0.464, -0.452, -0.42, -0.369, -0.304, -0.236, -0.145, -0.038, 0.085, 0.229",\
"-0.635, -0.625, -0.59, -0.538, -0.486, -0.416, -0.329, -0.225, -0.106, 0.038",\
"-0.83, -0.815, -0.788, -0.744, -0.688, -0.622, -0.535, -0.441, -0.324, -0.189",\
"-1.049, -1.041, -1.013, -0.969, -0.918, -0.853, -0.771, -0.683, -0.571, -0.438");
}
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.126, 0.136, 0.17, 0.241, 0.333, 0.446, 0.572, 0.717, 0.87, 1.049",\
"0.121, 0.128, 0.163, 0.238, 0.327, 0.439, 0.562, 0.707, 0.866, 1.041",\
"0.101, 0.11, 0.147, 0.217, 0.312, 0.425, 0.547, 0.691, 0.85, 1.025",\
"0.096, 0.103, 0.14, 0.212, 0.3, 0.417, 0.539, 0.68, 0.842, 1.023",\
"0.102, 0.113, 0.147, 0.219, 0.312, 0.42, 0.548, 0.689, 0.852, 1.027",\
"0.133, 0.138, 0.178, 0.25, 0.337, 0.449, 0.573, 0.714, 0.875, 1.059",\
"0.187, 0.192, 0.23, 0.301, 0.386, 0.496, 0.622, 0.764, 0.929, 1.104",\
"0.269, 0.282, 0.314, 0.38, 0.464, 0.567, 0.697, 0.84, 0.997, 1.182",\
"0.397, 0.402, 0.429, 0.491, 0.571, 0.672, 0.796, 0.936, 1.097, 1.276",\
"0.545, 0.551, 0.582, 0.638, 0.711, 0.809, 0.936, 1.066, 1.225, 1.406");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
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.218, 0.21, 0.171, 0.109, 0.031, -0.055, -0.168, -0.286, -0.415, -0.573",\
"0.232, 0.219, 0.186, 0.123, 0.045, -0.047, -0.158, -0.273, -0.406, -0.562",\
"0.275, 0.257, 0.223, 0.165, 0.083, -0.012, -0.115, -0.231, -0.372, -0.523",\
"0.354, 0.336, 0.306, 0.243, 0.164, 0.071, -0.034, -0.154, -0.294, -0.445",\
"0.469, 0.457, 0.422, 0.356, 0.278, 0.181, 0.077, -0.043, -0.179, -0.331",\
"0.619, 0.608, 0.566, 0.502, 0.42, 0.326, 0.218, 0.097, -0.033, -0.185",\
"0.797, 0.786, 0.748, 0.683, 0.598, 0.506, 0.392, 0.274, 0.141, -0.01",\
"1.013, 1, 0.964, 0.897, 0.809, 0.708, 0.601, 0.48, 0.339, 0.196",\
"1.256, 1.245, 1.208, 1.134, 1.044, 0.946, 0.835, 0.715, 0.573, 0.426",\
"1.537, 1.52, 1.489, 1.416, 1.32, 1.218, 1.104, 0.977, 0.841, 0.693");
}
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.12, 0.108, 0.075, 0.01, -0.075, -0.19, -0.319, -0.464, -0.613, -0.798",\
"0.129, 0.121, 0.082, 0.012, -0.07, -0.177, -0.31, -0.452, -0.606, -0.788",\
"0.153, 0.144, 0.106, 0.043, -0.045, -0.161, -0.293, -0.434, -0.593, -0.768",\
"0.175, 0.169, 0.136, 0.062, -0.024, -0.136, -0.261, -0.404, -0.571, -0.748",\
"0.191, 0.185, 0.149, 0.078, -0.009, -0.125, -0.254, -0.394, -0.559, -0.734",\
"0.198, 0.185, 0.152, 0.079, -0.009, -0.123, -0.253, -0.4, -0.557, -0.733",\
"0.179, 0.169, 0.132, 0.065, -0.027, -0.142, -0.275, -0.42, -0.579, -0.754",\
"0.139, 0.131, 0.099, 0.029, -0.067, -0.18, -0.31, -0.458, -0.623, -0.801",\
"0.079, 0.068, 0.028, -0.041, -0.132, -0.244, -0.38, -0.52, -0.686, -0.869",\
"-0.018, -0.027, -0.06, -0.136, -0.227, -0.34, -0.472, -0.607, -0.778, -0.963");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.3291 ;
max_transition : 5.2 ;
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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.001, 0.003265, 0.01122, 0.0264, 0.05005, 0.08324, 0.1269, 0.1819, 0.2491, 0.3291");
values("0.179, 0.1775, 0.1757, 0.1748, 0.1743, 0.174, 0.174, 0.1739, 0.1738, 0.1737",\
"0.1789, 0.1776, 0.1757, 0.1748, 0.1743, 0.174, 0.1739, 0.1738, 0.1738, 0.1737",\
"0.179, 0.1777, 0.1758, 0.1749, 0.1744, 0.1741, 0.174, 0.1739, 0.1738, 0.1738",\
"0.18, 0.1786, 0.1768, 0.1759, 0.1755, 0.1752, 0.175, 0.1749, 0.1749, 0.1748",\
"0.1825, 0.1809, 0.1793, 0.1783, 0.1779, 0.1776, 0.1773, 0.1774, 0.1773, 0.1773",\
"0.1859, 0.1845, 0.1828, 0.1819, 0.1813, 0.1811, 0.1809, 0.1809, 0.1808, 0.1807",\
"0.1906, 0.1892, 0.1872, 0.1863, 0.1859, 0.1855, 0.1854, 0.1852, 0.1851, 0.1851",\
"0.1961, 0.1946, 0.1929, 0.1917, 0.1913, 0.191, 0.1909, 0.1907, 0.1907, 0.1906",\
"0.2027, 0.2012, 0.1994, 0.1983, 0.1978, 0.1974, 0.1973, 0.1971, 0.197, 0.197",\
"0.21, 0.2085, 0.2064, 0.2053, 0.2047, 0.2044, 0.2042, 0.2041, 0.204, 0.204");
}
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.003265, 0.01122, 0.0264, 0.05005, 0.08324, 0.1269, 0.1819, 0.2491, 0.3291");
values("0.2367, 0.2354, 0.2337, 0.2327, 0.2326, 0.2328, 0.2337, 0.2343, 0.2353, 0.236",\
"0.2369, 0.2355, 0.2337, 0.2326, 0.2326, 0.2326, 0.2333, 0.2339, 0.2349, 0.2356",\
"0.2371, 0.2357, 0.2339, 0.233, 0.2329, 0.2333, 0.234, 0.2344, 0.2354, 0.2364",\
"0.2385, 0.2371, 0.2351, 0.2342, 0.2342, 0.234, 0.2353, 0.2359, 0.2363, 0.2378",\
"0.2408, 0.2396, 0.2377, 0.2367, 0.2366, 0.237, 0.2377, 0.2382, 0.2393, 0.2404",\
"0.2436, 0.2423, 0.2405, 0.2394, 0.2392, 0.2394, 0.2402, 0.2405, 0.2424, 0.2432",\
"0.2479, 0.2464, 0.2444, 0.2433, 0.244, 0.2437, 0.2444, 0.2448, 0.2463, 0.2472",\
"0.252, 0.2511, 0.2488, 0.248, 0.2479, 0.249, 0.2498, 0.2501, 0.2503, 0.2516",\
"0.2564, 0.255, 0.2532, 0.2522, 0.2524, 0.253, 0.2542, 0.2547, 0.2547, 0.2557",\
"0.2609, 0.2597, 0.2579, 0.2571, 0.2571, 0.2567, 0.258, 0.2606, 0.2609, 0.2608");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_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.003265, 0.01122, 0.0264, 0.05005, 0.08324, 0.1269, 0.1819, 0.2491, 0.3291");
values("0.4567, 0.4753, 0.5271, 0.6076, 0.722, 0.8801, 1.088, 1.35, 1.671, 2.052",\
"0.4657, 0.4842, 0.536, 0.6165, 0.731, 0.8891, 1.097, 1.359, 1.679, 2.061",\
"0.5027, 0.5213, 0.5731, 0.6535, 0.768, 0.9262, 1.134, 1.396, 1.717, 2.098",\
"0.5759, 0.5945, 0.6463, 0.7268, 0.8413, 0.9995, 1.207, 1.469, 1.789, 2.171",\
"0.6732, 0.6916, 0.7436, 0.8238, 0.9384, 1.097, 1.305, 1.567, 1.887, 2.268",\
"0.7895, 0.8081, 0.8599, 0.9404, 1.055, 1.213, 1.421, 1.683, 2.003, 2.384",\
"0.923, 0.9415, 0.9934, 1.074, 1.188, 1.347, 1.555, 1.817, 2.137, 2.518",\
"1.073, 1.091, 1.143, 1.224, 1.338, 1.496, 1.704, 1.966, 2.286, 2.668",\
"1.239, 1.258, 1.31, 1.39, 1.505, 1.663, 1.871, 2.133, 2.453, 2.834",\
"1.423, 1.441, 1.493, 1.574, 1.689, 1.847, 2.055, 2.317, 2.637, 3.018");
}
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.003265, 0.01122, 0.0264, 0.05005, 0.08324, 0.1269, 0.1819, 0.2491, 0.3291");
values("0.5725, 0.5954, 0.6682, 0.804, 1.016, 1.314, 1.706, 2.201, 2.804, 3.524",\
"0.5816, 0.6043, 0.6771, 0.8129, 1.025, 1.323, 1.715, 2.209, 2.814, 3.532",\
"0.619, 0.6418, 0.7144, 0.8503, 1.062, 1.36, 1.753, 2.247, 2.85, 3.571",\
"0.6937, 0.7164, 0.789, 0.925, 1.137, 1.435, 1.827, 2.322, 2.925, 3.645",\
"0.7947, 0.8174, 0.8901, 1.026, 1.238, 1.536, 1.928, 2.423, 3.026, 3.746",\
"0.9154, 0.9382, 1.011, 1.147, 1.359, 1.657, 2.049, 2.544, 3.147, 3.865",\
"1.057, 1.079, 1.151, 1.287, 1.5, 1.797, 2.19, 2.684, 3.288, 4.008",\
"1.213, 1.236, 1.308, 1.444, 1.656, 1.954, 2.347, 2.841, 3.445, 4.164",\
"1.386, 1.409, 1.481, 1.617, 1.83, 2.128, 2.52, 3.014, 3.617, 4.336",\
"1.575, 1.598, 1.671, 1.807, 2.019, 2.317, 2.709, 3.204, 3.807, 4.525");
}
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.003265, 0.01122, 0.0264, 0.05005, 0.08324, 0.1269, 0.1819, 0.2491, 0.3291");
values("0.0618, 0.08078, 0.1405, 0.2466, 0.4235, 0.683, 1.029, 1.463, 1.996, 2.632",\
"0.06172, 0.08092, 0.1404, 0.2465, 0.4235, 0.6828, 1.029, 1.463, 1.996, 2.632",\
"0.06178, 0.08072, 0.1403, 0.2463, 0.4235, 0.6829, 1.028, 1.463, 1.995, 2.632",\
"0.06162, 0.08084, 0.1403, 0.2464, 0.4236, 0.683, 1.027, 1.465, 1.997, 2.63",\
"0.0616, 0.0808, 0.1408, 0.2464, 0.423, 0.6832, 1.028, 1.464, 1.997, 2.631",\
"0.0618, 0.0808, 0.1406, 0.2464, 0.4232, 0.683, 1.029, 1.464, 1.997, 2.631",\
"0.0618, 0.081, 0.1408, 0.2462, 0.4232, 0.6826, 1.026, 1.463, 1.994, 2.631",\
"0.0622, 0.0814, 0.141, 0.2466, 0.424, 0.6824, 1.026, 1.461, 1.992, 2.626",\
"0.0624, 0.0814, 0.1414, 0.2468, 0.424, 0.683, 1.028, 1.461, 1.993, 2.624",\
"0.0628, 0.0816, 0.1414, 0.2472, 0.4238, 0.6832, 1.027, 1.462, 1.993, 2.624");
}
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.003265, 0.01122, 0.0264, 0.05005, 0.08324, 0.1269, 0.1819, 0.2491, 0.3291");
values("0.07542, 0.1072, 0.2236, 0.4565, 0.8263, 1.343, 2.024, 2.884, 3.936, 5.195",\
"0.07508, 0.107, 0.2237, 0.4565, 0.8266, 1.346, 2.026, 2.887, 3.936, 5.187",\
"0.0751, 0.1071, 0.2238, 0.4564, 0.8265, 1.342, 2.025, 2.884, 3.936, 5.195",\
"0.07504, 0.107, 0.2238, 0.4564, 0.8266, 1.345, 2.026, 2.885, 3.935, 5.195",\
"0.075, 0.1068, 0.224, 0.4564, 0.8248, 1.343, 2.026, 2.884, 3.936, 5.194",\
"0.0748, 0.107, 0.2238, 0.457, 0.8266, 1.345, 2.026, 2.887, 3.934, 5.185",\
"0.0748, 0.1068, 0.2236, 0.4566, 0.826, 1.345, 2.027, 2.888, 3.935, 5.194",\
"0.0744, 0.1066, 0.2236, 0.4564, 0.8246, 1.343, 2.027, 2.885, 3.935, 5.189",\
"0.0748, 0.1064, 0.2236, 0.4572, 0.8264, 1.344, 2.024, 2.883, 3.938, 5.186",\
"0.0746, 0.1068, 0.2238, 0.4564, 0.8258, 1.342, 2.025, 2.885, 3.932, 5.189");
}
}
}
}