blob: 081603e4ee87b8f90e430414e417e47acbd4cbd8 [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.000180111" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.000186204" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.000155556" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.000154467" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.000186204" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.003316 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 11 ;
min_period : 1.904 ;
min_pulse_width_high : 0.877 ;
min_pulse_width_low : 0.925 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.1085, 0.1081, 0.1075, 0.1084, 0.1114, 0.1164, 0.1237, 0.1335, \
0.1459, 0.1611");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.0694, 0.06911, 0.06866, 0.06924, 0.07132, 0.07552, 0.0818, 0.09052, \
0.1016, 0.1153");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.1085, 0.1081, 0.1075, 0.1084, 0.1114, 0.1164, 0.1237, 0.1334, \
0.1458, 0.1611");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.06945, 0.06915, 0.06871, 0.06924, 0.07133, 0.07553, 0.08182, \
0.09046, 0.1016, 0.1153");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.825");
}
rise_constraint(scalar) {
values("0.877");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.925");
}
rise_constraint(scalar) {
values("0.726");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("1.798");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("1.904");
}
}
}
pin(D) {
capacitance : 0.002265 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 11 ;
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.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.02018, 0.01954, 0.0197, 0.02121, 0.02421, 0.02873, 0.03498, \
0.04309, 0.05319, 0.06535");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.002338, 0.002037, 0.001962, 0.002956, 0.005252, 0.009023, 0.01434, \
0.02127, 0.0299, 0.04034");
}
}
internal_power() {
when : "CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.06721, 0.06686, 0.06672, 0.06772, 0.07047, 0.07476, 0.08079, \
0.0887, 0.09874, 0.111");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.04392, 0.04374, 0.04372, 0.04448, 0.04629, 0.04949, 0.05429, \
0.06075, 0.06908, 0.07933");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.057, 0.081, 0.166, 0.319, 0.488, 0.671, 0.884, 1.135, 1.419, 1.75",\
"0.034, 0.06, 0.142, 0.296, 0.466, 0.647, 0.862, 1.115, 1.397, 1.725",\
"-0.063, -0.04, 0.046, 0.202, 0.37, 0.554, 0.763, 1.015, 1.301, 1.63",\
"-0.249, -0.227, -0.139, 0.019, 0.183, 0.368, 0.581, 0.832, 1.118, 1.442",\
"-0.461, -0.446, -0.36, -0.21, -0.042, 0.138, 0.353, 0.598, 0.888, 1.211",\
"-0.728, -0.705, -0.618, -0.469, -0.309, -0.129, 0.087, 0.328, 0.619, 0.939",\
"-1.027, -1.008, -0.923, -0.776, -0.613, -0.437, -0.231, 0.016, 0.298, 0.624",\
"-1.381, -1.364, -1.274, -1.128, -0.974, -0.804, -0.598, -0.349, -0.064, 0.251",\
"-1.787, -1.768, -1.683, -1.539, -1.392, -1.224, -1.012, -0.769, -0.495, -0.174",\
"-2.245, -2.223, -2.14, -2.003, -1.855, -1.695, -1.487, -1.251, -0.974, -0.652");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.338, 0.367, 0.452, 0.633, 0.871, 1.122, 1.397, 1.709, 2.059, 2.438",\
"0.32, 0.343, 0.434, 0.614, 0.845, 1.102, 1.379, 1.688, 2.037, 2.417",\
"0.258, 0.278, 0.371, 0.553, 0.789, 1.04, 1.321, 1.635, 1.977, 2.365",\
"0.212, 0.235, 0.324, 0.507, 0.74, 0.991, 1.267, 1.584, 1.927, 2.309",\
"0.196, 0.217, 0.305, 0.485, 0.714, 0.969, 1.248, 1.554, 1.902, 2.279",\
"0.21, 0.234, 0.322, 0.502, 0.726, 0.98, 1.254, 1.562, 1.91, 2.287",\
"0.265, 0.29, 0.376, 0.551, 0.78, 1.028, 1.299, 1.607, 1.951, 2.322",\
"0.37, 0.394, 0.485, 0.655, 0.873, 1.113, 1.384, 1.695, 2.032, 2.405",\
"0.533, 0.557, 0.639, 0.805, 1.01, 1.245, 1.512, 1.816, 2.16, 2.529",\
"0.769, 0.786, 0.864, 1.019, 1.212, 1.439, 1.691, 1.995, 2.332, 2.701");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.63, 0.598, 0.495, 0.336, 0.141, -0.076, -0.328, -0.606, -0.929, -1.28",\
"0.653, 0.626, 0.522, 0.362, 0.17, -0.052, -0.302, -0.587, -0.903, -1.258",\
"0.749, 0.718, 0.621, 0.457, 0.262, 0.043, -0.205, -0.489, -0.808, -1.159",\
"0.942, 0.908, 0.813, 0.648, 0.452, 0.236, -0.015, -0.3, -0.619, -0.972",\
"1.218, 1.186, 1.089, 0.924, 0.731, 0.506, 0.253, -0.036, -0.359, -0.712",\
"1.552, 1.521, 1.415, 1.247, 1.046, 0.817, 0.56, 0.275, -0.053, -0.412",\
"1.921, 1.891, 1.783, 1.619, 1.414, 1.178, 0.92, 0.629, 0.295, -0.061",\
"2.35, 2.322, 2.216, 2.04, 1.836, 1.594, 1.328, 1.033, 0.7, 0.339",\
"2.841, 2.806, 2.701, 2.531, 2.311, 2.069, 1.808, 1.5, 1.169, 0.8",\
"3.403, 3.369, 3.265, 3.084, 2.863, 2.616, 2.34, 2.034, 1.697, 1.324");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.269, 0.241, 0.149, -0.032, -0.269, -0.535, -0.836, -1.173, -1.55, -1.968",\
"0.288, 0.266, 0.17, -0.013, -0.247, -0.515, -0.813, -1.152, -1.534, -1.95",\
"0.354, 0.332, 0.241, 0.057, -0.188, -0.451, -0.746, -1.085, -1.463, -1.881",\
"0.449, 0.423, 0.328, 0.141, -0.092, -0.359, -0.657, -0.992, -1.378, -1.79",\
"0.534, 0.503, 0.408, 0.223, -0.017, -0.281, -0.577, -0.917, -1.29, -1.704",\
"0.585, 0.552, 0.459, 0.276, 0.033, -0.232, -0.522, -0.857, -1.231, -1.646",\
"0.598, 0.572, 0.478, 0.291, 0.05, -0.219, -0.512, -0.84, -1.215, -1.623",\
"0.584, 0.557, 0.457, 0.274, 0.026, -0.238, -0.53, -0.858, -1.233, -1.642",\
"0.521, 0.491, 0.394, 0.209, -0.031, -0.3, -0.588, -0.923, -1.288, -1.702",\
"0.414, 0.387, 0.287, 0.098, -0.144, -0.41, -0.702, -1.029, -1.396, -1.8");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.6376 ;
max_transition : 11 ;
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.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.001, 0.005394, 0.02082, 0.05027, 0.09616, 0.1605, 0.2453, 0.352, 0.4823, 0.6376");
values("0.1449, 0.1444, 0.1446, 0.1452, 0.1458, 0.1462, 0.1464, 0.1465, 0.1466, 0.1466",\
"0.1449, 0.1445, 0.1446, 0.1453, 0.1459, 0.1461, 0.1464, 0.1465, 0.1466, 0.1466",\
"0.1449, 0.1445, 0.1446, 0.1453, 0.1458, 0.1461, 0.1464, 0.1465, 0.1466, 0.1466",\
"0.1448, 0.1444, 0.1445, 0.1451, 0.1457, 0.1461, 0.1463, 0.1464, 0.1465, 0.1466",\
"0.145, 0.1445, 0.1447, 0.1453, 0.1459, 0.1463, 0.1465, 0.1466, 0.1467, 0.1468",\
"0.1453, 0.1448, 0.1451, 0.1457, 0.1462, 0.1466, 0.1468, 0.1469, 0.147, 0.1471",\
"0.1458, 0.1453, 0.1454, 0.1461, 0.1466, 0.147, 0.1471, 0.1473, 0.1474, 0.1475",\
"0.1464, 0.1458, 0.146, 0.1466, 0.1472, 0.1476, 0.1477, 0.1479, 0.148, 0.148",\
"0.147, 0.1467, 0.1466, 0.1473, 0.1478, 0.1482, 0.1483, 0.1485, 0.1486, 0.1486",\
"0.1479, 0.1474, 0.1474, 0.1481, 0.1486, 0.1489, 0.1492, 0.1493, 0.1493, 0.1494");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.001, 0.005394, 0.02082, 0.05027, 0.09616, 0.1605, 0.2453, 0.352, 0.4823, 0.6376");
values("0.179, 0.1786, 0.1787, 0.1797, 0.1813, 0.1825, 0.1836, 0.1848, 0.1875, 0.2122",\
"0.1791, 0.179, 0.1789, 0.1798, 0.1814, 0.1826, 0.1838, 0.1847, 0.188, 0.2126",\
"0.1792, 0.1788, 0.1789, 0.1799, 0.1815, 0.1829, 0.1843, 0.1852, 0.1888, 0.2147",\
"0.1794, 0.1791, 0.1791, 0.1802, 0.1817, 0.1828, 0.1842, 0.1859, 0.1903, 0.2203",\
"0.1805, 0.1802, 0.1802, 0.1812, 0.1828, 0.1841, 0.1852, 0.187, 0.1911, 0.2293",\
"0.1815, 0.1813, 0.1813, 0.1823, 0.1838, 0.1852, 0.1864, 0.1879, 0.1949, 0.2447",\
"0.1826, 0.1824, 0.182, 0.1832, 0.1849, 0.186, 0.1873, 0.1885, 0.1973, 0.2731",\
"0.1836, 0.1833, 0.1834, 0.1842, 0.1859, 0.188, 0.1885, 0.1899, 0.2065, 0.3204",\
"0.1848, 0.1848, 0.1846, 0.186, 0.1868, 0.1888, 0.1907, 0.193, 0.2229, 0.4092",\
"0.186, 0.1857, 0.1857, 0.187, 0.1881, 0.1891, 0.1909, 0.199, 0.2654, 0.5798");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.001, 0.005394, 0.02082, 0.05027, 0.09616, 0.1605, 0.2453, 0.352, 0.4823, 0.6376");
values("1.216, 1.268, 1.397, 1.576, 1.815, 2.137, 2.559, 3.089, 3.736, 4.507",\
"1.241, 1.294, 1.423, 1.602, 1.841, 2.163, 2.584, 3.114, 3.762, 4.534",\
"1.337, 1.39, 1.519, 1.697, 1.936, 2.259, 2.68, 3.21, 3.858, 4.629",\
"1.524, 1.577, 1.706, 1.884, 2.123, 2.446, 2.867, 3.397, 4.044, 4.816",\
"1.776, 1.828, 1.958, 2.136, 2.375, 2.698, 3.119, 3.649, 4.297, 5.067",\
"2.052, 2.105, 2.234, 2.413, 2.652, 2.974, 3.395, 3.926, 4.573, 5.345",\
"2.353, 2.406, 2.536, 2.714, 2.954, 3.276, 3.697, 4.227, 4.874, 5.646",\
"2.688, 2.74, 2.87, 3.048, 3.288, 3.61, 4.031, 4.561, 5.208, 5.979",\
"3.057, 3.11, 3.24, 3.418, 3.658, 3.98, 4.401, 4.931, 5.579, 6.35",\
"3.464, 3.517, 3.646, 3.825, 4.064, 4.387, 4.808, 5.339, 5.986, 6.757");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.001, 0.005394, 0.02082, 0.05027, 0.09616, 0.1605, 0.2453, 0.352, 0.4823, 0.6376");
values("1.445, 1.502, 1.666, 1.964, 2.426, 3.071, 3.92, 4.988, 6.293, 7.849",\
"1.471, 1.528, 1.692, 1.99, 2.452, 3.097, 3.946, 5.014, 6.319, 7.875",\
"1.566, 1.624, 1.788, 2.086, 2.547, 3.193, 4.041, 5.11, 6.413, 7.969",\
"1.754, 1.812, 1.976, 2.274, 2.735, 3.381, 4.229, 5.298, 6.601, 8.158",\
"2.011, 2.068, 2.232, 2.53, 2.992, 3.637, 4.486, 5.555, 6.858, 8.413",\
"2.295, 2.352, 2.516, 2.814, 3.275, 3.921, 4.769, 5.838, 7.142, 8.698",\
"2.604, 2.661, 2.825, 3.123, 3.584, 4.23, 5.079, 6.148, 7.452, 9.004",\
"2.947, 3.004, 3.167, 3.466, 3.927, 4.573, 5.421, 6.49, 7.794, 9.348",\
"3.326, 3.384, 3.547, 3.845, 4.306, 4.952, 5.801, 6.869, 8.173, 9.727",\
"3.741, 3.798, 3.962, 4.261, 4.723, 5.368, 6.216, 7.284, 8.588, 10.14");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.001, 0.005394, 0.02082, 0.05027, 0.09616, 0.1605, 0.2453, 0.352, 0.4823, 0.6376");
values("0.1302, 0.1776, 0.3036, 0.5096, 0.853, 1.366, 2.057, 2.928, 4.002, 5.268",\
"0.1302, 0.178, 0.3034, 0.5096, 0.8536, 1.365, 2.054, 2.931, 3.999, 5.277",\
"0.1302, 0.178, 0.3036, 0.5096, 0.853, 1.366, 2.055, 2.931, 4.002, 5.268",\
"0.1302, 0.178, 0.3038, 0.5098, 0.8528, 1.366, 2.056, 2.931, 3.998, 5.276",\
"0.1306, 0.1778, 0.3036, 0.5096, 0.853, 1.366, 2.055, 2.928, 4.002, 5.267",\
"0.1304, 0.1782, 0.3038, 0.5096, 0.8534, 1.366, 2.055, 2.931, 3.997, 5.275",\
"0.1306, 0.1782, 0.3038, 0.5098, 0.853, 1.366, 2.056, 2.93, 3.998, 5.273",\
"0.1308, 0.1784, 0.3042, 0.51, 0.853, 1.365, 2.053, 2.927, 3.993, 5.269",\
"0.131, 0.1788, 0.3042, 0.5106, 0.8538, 1.367, 2.054, 2.926, 3.991, 5.26",\
"0.13, 0.18, 0.306, 0.51, 0.854, 1.366, 2.056, 2.928, 3.994, 5.264");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.001, 0.005394, 0.02082, 0.05027, 0.09616, 0.1605, 0.2453, 0.352, 0.4823, 0.6376");
values("0.135, 0.199, 0.4408, 0.937, 1.722, 2.823, 4.27, 6.108, 8.345, 11",\
"0.1352, 0.1986, 0.4404, 0.9374, 1.722, 2.821, 4.276, 6.108, 8.345, 11",\
"0.1356, 0.1992, 0.4412, 0.9374, 1.721, 2.824, 4.275, 6.103, 8.334, 11.01",\
"0.1356, 0.1988, 0.4404, 0.9376, 1.722, 2.822, 4.276, 6.105, 8.338, 11",\
"0.1346, 0.1986, 0.4412, 0.9374, 1.721, 2.824, 4.274, 6.102, 8.331, 11.01",\
"0.135, 0.1982, 0.441, 0.9376, 1.719, 2.824, 4.276, 6.106, 8.341, 11.01",\
"0.1342, 0.1984, 0.4404, 0.9362, 1.72, 2.823, 4.271, 6.1, 8.34, 11",\
"0.1342, 0.1978, 0.4404, 0.9354, 1.72, 2.822, 4.276, 6.105, 8.331, 11.01",\
"0.134, 0.1984, 0.441, 0.9364, 1.719, 2.822, 4.271, 6.098, 8.328, 10.99",\
"0.134, 0.198, 0.44, 0.938, 1.72, 2.822, 4.276, 6.096, 8.326, 11");
}
}
}
}