blob: 906b7d1cd2a9e34e6ab3534775a3d44b2cc2c1e7 [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 : "9.942174e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.00011210364" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "7.703388e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "7.561026e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.00011210364" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.004503 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 6 ;
min_period : 1.549 ;
min_pulse_width_high : 0.522 ;
min_pulse_width_low : 0.778 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("0.05844, 0.05816, 0.05765, 0.05739, 0.05777, 0.05878, 0.0604, \
0.06268, 0.06575, 0.06953");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("0.0376, 0.03746, 0.03709, 0.03683, 0.03696, 0.03772, 0.03914, \
0.0412, 0.04402, 0.04756");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("0.05853, 0.05826, 0.05773, 0.05744, 0.05784, 0.05885, 0.06049, \
0.06274, 0.0658, 0.06962");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("0.03756, 0.03741, 0.03703, 0.03675, 0.03689, 0.03765, 0.03904, \
0.04113, 0.04394, 0.04746");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.705");
}
rise_constraint(scalar) {
values("0.522");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.778");
}
rise_constraint(scalar) {
values("0.467");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("1.418");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("1.549");
}
}
}
pin(D) {
capacitance : 0.003494 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 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.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("0.01272, 0.01236, 0.01206, 0.01227, 0.01292, 0.01402, 0.01562, \
0.01779, 0.02056, 0.024");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("0.002202, 0.001968, 0.001643, 0.001649, 0.00213, 0.003064, 0.004491, \
0.006467, 0.008998, 0.01209");
}
}
internal_power() {
when : "CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("0.04174, 0.04152, 0.04125, 0.04119, 0.04163, 0.04254, 0.04397, \
0.04594, 0.0485, 0.05168");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("0.02871, 0.02855, 0.02835, 0.02828, 0.0285, 0.02912, 0.03023, \
0.03185, 0.03405, 0.03682");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
index_2("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("-0, 0.007, 0.05, 0.141, 0.231, 0.325, 0.429, 0.564, 0.725, 0.916",\
"-0.014, -0.008, 0.043, 0.132, 0.219, 0.305, 0.415, 0.551, 0.712, 0.897",\
"-0.069, -0.064, -0.013, 0.078, 0.167, 0.257, 0.359, 0.495, 0.655, 0.843",\
"-0.17, -0.163, -0.115, -0.029, 0.066, 0.148, 0.261, 0.395, 0.554, 0.739",\
"-0.292, -0.283, -0.239, -0.151, -0.059, 0.022, 0.125, 0.255, 0.413, 0.598",\
"-0.427, -0.417, -0.378, -0.292, -0.205, -0.116, -0.019, 0.105, 0.261, 0.449",\
"-0.575, -0.571, -0.523, -0.441, -0.354, -0.27, -0.173, -0.051, 0.098, 0.273",\
"-0.741, -0.739, -0.7, -0.614, -0.529, -0.44, -0.343, -0.226, -0.083, 0.095",\
"-0.933, -0.928, -0.884, -0.802, -0.714, -0.632, -0.54, -0.421, -0.279, -0.109",\
"-1.144, -1.135, -1.094, -1.016, -0.927, -0.842, -0.756, -0.634, -0.498, -0.324");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
index_2("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("0.218, 0.235, 0.29, 0.393, 0.54, 0.706, 0.88, 1.071, 1.273, 1.497",\
"0.207, 0.218, 0.273, 0.374, 0.528, 0.694, 0.867, 1.055, 1.259, 1.483",\
"0.161, 0.176, 0.228, 0.338, 0.486, 0.649, 0.823, 1.019, 1.219, 1.449",\
"0.118, 0.133, 0.19, 0.288, 0.44, 0.6, 0.778, 0.976, 1.174, 1.403",\
"0.084, 0.1, 0.151, 0.254, 0.403, 0.565, 0.747, 0.935, 1.137, 1.364",\
"0.064, 0.084, 0.135, 0.234, 0.383, 0.55, 0.721, 0.912, 1.114, 1.343",\
"0.064, 0.079, 0.13, 0.234, 0.375, 0.537, 0.717, 0.903, 1.108, 1.334",\
"0.078, 0.097, 0.144, 0.253, 0.388, 0.547, 0.728, 0.914, 1.116, 1.341",\
"0.119, 0.133, 0.185, 0.282, 0.419, 0.577, 0.753, 0.94, 1.14, 1.366",\
"0.182, 0.199, 0.256, 0.344, 0.478, 0.627, 0.797, 0.983, 1.179, 1.408");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
index_2("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("0.406, 0.389, 0.336, 0.24, 0.124, -0.012, -0.155, -0.319, -0.509, -0.71",\
"0.417, 0.407, 0.346, 0.255, 0.135, 0.006, -0.143, -0.304, -0.495, -0.698",\
"0.474, 0.463, 0.4, 0.306, 0.19, 0.06, -0.092, -0.256, -0.438, -0.646",\
"0.58, 0.564, 0.508, 0.409, 0.3, 0.165, 0.018, -0.148, -0.331, -0.542",\
"0.737, 0.725, 0.667, 0.572, 0.452, 0.32, 0.17, 0.003, -0.185, -0.388",\
"0.926, 0.91, 0.854, 0.749, 0.629, 0.496, 0.345, 0.176, -0.009, -0.213",\
"1.123, 1.108, 1.051, 0.95, 0.829, 0.692, 0.539, 0.368, 0.177, -0.027",\
"1.349, 1.329, 1.277, 1.176, 1.046, 0.906, 0.751, 0.582, 0.388, 0.18",\
"1.59, 1.573, 1.519, 1.41, 1.285, 1.136, 0.982, 0.812, 0.614, 0.407",\
"1.851, 1.839, 1.783, 1.68, 1.549, 1.398, 1.238, 1.061, 0.866, 0.661");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
index_2("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("0.183, 0.174, 0.124, 0.032, -0.107, -0.249, -0.38, -0.42, -0.515, -0.68",\
"0.196, 0.182, 0.146, 0.05, -0.097, -0.227, -0.341, -0.423, -0.557, -0.653",\
"0.244, 0.233, 0.178, 0.082, -0.051, -0.182, -0.314, -0.371, -0.52, -0.608",\
"0.307, 0.291, 0.239, 0.144, 0.004, -0.127, -0.254, -0.319, -0.486, -0.566",\
"0.377, 0.365, 0.31, 0.206, 0.069, -0.084, -0.215, -0.323, -0.459, -0.556",\
"0.444, 0.426, 0.369, 0.265, 0.116, -0.031, -0.183, -0.326, -0.483, -0.577",\
"0.484, 0.471, 0.418, 0.311, 0.158, 0, -0.161, -0.323, -0.507, -0.641",\
"0.522, 0.5, 0.451, 0.338, 0.187, 0.021, -0.148, -0.323, -0.516, -0.707",\
"0.532, 0.518, 0.461, 0.35, 0.199, 0.032, -0.144, -0.331, -0.536, -0.745",\
"0.525, 0.512, 0.456, 0.344, 0.194, 0.021, -0.154, -0.343, -0.546, -0.769");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 1.259 ;
max_transition : 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.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
index_2("0.001, 0.009681, 0.04015, 0.09834, 0.189, 0.3162, 0.4836, 0.6944, 0.9518, 1.259");
values("0.1258, 0.1249, 0.1246, 0.1255, 0.1264, 0.1271, 0.1276, 0.1279, 0.1281, 0.1282",\
"0.1258, 0.1247, 0.1247, 0.1255, 0.1265, 0.1272, 0.1276, 0.1279, 0.1281, 0.1282",\
"0.1258, 0.1248, 0.1246, 0.1256, 0.1265, 0.1272, 0.1276, 0.1279, 0.1281, 0.1282",\
"0.1257, 0.1247, 0.1245, 0.1254, 0.1264, 0.127, 0.1275, 0.1278, 0.128, 0.1282",\
"0.1256, 0.1246, 0.1244, 0.1254, 0.1263, 0.127, 0.1274, 0.1277, 0.1279, 0.1281",\
"0.1256, 0.1246, 0.1243, 0.1253, 0.1263, 0.127, 0.1274, 0.1277, 0.1279, 0.128",\
"0.1257, 0.1245, 0.1244, 0.1252, 0.1261, 0.1268, 0.1273, 0.1276, 0.1278, 0.128",\
"0.1257, 0.1246, 0.1244, 0.1252, 0.1262, 0.1269, 0.1273, 0.1277, 0.1279, 0.128",\
"0.1257, 0.1247, 0.1244, 0.1252, 0.1261, 0.127, 0.1274, 0.1277, 0.1279, 0.128",\
"0.1259, 0.1248, 0.1248, 0.1255, 0.1265, 0.1271, 0.1275, 0.1279, 0.1281, 0.1282");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
index_2("0.001, 0.009681, 0.04015, 0.09834, 0.189, 0.3162, 0.4836, 0.6944, 0.9518, 1.259");
values("0.1337, 0.1336, 0.1339, 0.1353, 0.1369, 0.1389, 0.1405, 0.142, 0.1433, 0.1445",\
"0.1337, 0.1336, 0.1338, 0.1355, 0.1372, 0.1388, 0.1405, 0.1417, 0.143, 0.1451",\
"0.1337, 0.1336, 0.1338, 0.1355, 0.1373, 0.1392, 0.1405, 0.142, 0.1433, 0.1453",\
"0.1338, 0.1336, 0.1339, 0.1356, 0.1374, 0.1394, 0.1406, 0.1421, 0.1434, 0.1451",\
"0.1341, 0.1339, 0.1341, 0.1358, 0.1376, 0.1395, 0.1414, 0.1423, 0.1436, 0.1458",\
"0.1344, 0.1343, 0.1346, 0.1362, 0.1379, 0.14, 0.1413, 0.1433, 0.1445, 0.1458",\
"0.1345, 0.1344, 0.1348, 0.1363, 0.138, 0.14, 0.1417, 0.1436, 0.1449, 0.1456",\
"0.135, 0.1351, 0.1352, 0.1367, 0.1385, 0.1404, 0.142, 0.1432, 0.1444, 0.1467",\
"0.1354, 0.1352, 0.1354, 0.1368, 0.1388, 0.1412, 0.1431, 0.1443, 0.1447, 0.1463",\
"0.1357, 0.1355, 0.1358, 0.1373, 0.1391, 0.1405, 0.1432, 0.1454, 0.1455, 0.1467");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
index_2("0.001, 0.009681, 0.04015, 0.09834, 0.189, 0.3162, 0.4836, 0.6944, 0.9518, 1.259");
values("1.003, 1.039, 1.126, 1.24, 1.377, 1.546, 1.756, 2.018, 2.335, 2.714",\
"1.017, 1.053, 1.14, 1.255, 1.391, 1.56, 1.771, 2.032, 2.35, 2.728",\
"1.071, 1.107, 1.194, 1.308, 1.445, 1.614, 1.824, 2.086, 2.403, 2.782",\
"1.178, 1.214, 1.301, 1.415, 1.552, 1.721, 1.932, 2.193, 2.511, 2.889",\
"1.337, 1.373, 1.461, 1.575, 1.711, 1.88, 2.091, 2.352, 2.67, 3.048",\
"1.521, 1.557, 1.645, 1.759, 1.896, 2.064, 2.275, 2.536, 2.854, 3.232",\
"1.718, 1.755, 1.842, 1.956, 2.093, 2.262, 2.472, 2.733, 3.051, 3.43",\
"1.929, 1.966, 2.053, 2.167, 2.303, 2.472, 2.683, 2.945, 3.262, 3.641",\
"2.157, 2.193, 2.281, 2.395, 2.532, 2.7, 2.911, 3.172, 3.49, 3.868",\
"2.404, 2.44, 2.528, 2.642, 2.779, 2.948, 3.158, 3.42, 3.737, 4.115");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
index_2("0.001, 0.009681, 0.04015, 0.09834, 0.189, 0.3162, 0.4836, 0.6944, 0.9518, 1.259");
values("1.097, 1.135, 1.236, 1.404, 1.655, 2.004, 2.464, 3.042, 3.746, 4.587",\
"1.112, 1.15, 1.251, 1.418, 1.669, 2.019, 2.478, 3.056, 3.761, 4.601",\
"1.165, 1.203, 1.305, 1.472, 1.723, 2.073, 2.532, 3.11, 3.814, 4.655",\
"1.272, 1.311, 1.412, 1.579, 1.83, 2.18, 2.639, 3.217, 3.921, 4.763",\
"1.43, 1.468, 1.569, 1.737, 1.987, 2.337, 2.797, 3.375, 4.079, 4.919",\
"1.611, 1.649, 1.75, 1.917, 2.168, 2.518, 2.977, 3.556, 4.261, 5.102",\
"1.804, 1.842, 1.944, 2.111, 2.362, 2.712, 3.171, 3.749, 4.455, 5.296",\
"2.011, 2.049, 2.15, 2.317, 2.568, 2.918, 3.378, 3.955, 4.661, 5.501",\
"2.235, 2.272, 2.374, 2.541, 2.792, 3.142, 3.601, 4.179, 4.884, 5.725",\
"2.477, 2.514, 2.616, 2.783, 3.034, 3.384, 3.843, 4.42, 5.125, 5.965");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
index_2("0.001, 0.009681, 0.04015, 0.09834, 0.189, 0.3162, 0.4836, 0.6944, 0.9518, 1.259");
values("0.1235, 0.155, 0.2292, 0.3392, 0.5002, 0.7388, 1.071, 1.499, 2.035, 2.675",\
"0.1236, 0.1548, 0.2294, 0.3392, 0.4998, 0.739, 1.07, 1.502, 2.035, 2.675",\
"0.1234, 0.1548, 0.229, 0.3392, 0.5, 0.739, 1.071, 1.499, 2.034, 2.675",\
"0.1234, 0.1548, 0.2296, 0.3388, 0.5008, 0.738, 1.071, 1.501, 2.033, 2.672",\
"0.1236, 0.155, 0.2296, 0.339, 0.5008, 0.7378, 1.071, 1.5, 2.035, 2.675",\
"0.1236, 0.1552, 0.2296, 0.3392, 0.5008, 0.739, 1.07, 1.501, 2.033, 2.672",\
"0.1236, 0.155, 0.2292, 0.3388, 0.5004, 0.7392, 1.07, 1.499, 2.035, 2.674",\
"0.124, 0.1554, 0.2294, 0.3388, 0.5, 0.7384, 1.069, 1.5, 2.033, 2.674",\
"0.124, 0.1554, 0.2296, 0.3392, 0.5002, 0.7392, 1.069, 1.499, 2.033, 2.672",\
"0.1242, 0.1556, 0.2298, 0.3394, 0.5006, 0.7378, 1.069, 1.502, 2.033, 2.67");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
index_2("0.001, 0.009681, 0.04015, 0.09834, 0.189, 0.3162, 0.4836, 0.6944, 0.9518, 1.259");
values("0.1116, 0.1498, 0.2754, 0.5334, 0.9548, 1.552, 2.341, 3.338, 4.551, 6.007",\
"0.1116, 0.1502, 0.2756, 0.5338, 0.9532, 1.553, 2.342, 3.334, 4.552, 6.005",\
"0.1118, 0.1502, 0.2758, 0.5338, 0.955, 1.553, 2.34, 3.336, 4.548, 6.007",\
"0.1116, 0.1504, 0.2756, 0.5334, 0.955, 1.552, 2.341, 3.338, 4.551, 6.007",\
"0.1114, 0.15, 0.276, 0.5334, 0.955, 1.552, 2.342, 3.338, 4.553, 6.004",\
"0.1118, 0.1504, 0.2758, 0.534, 0.9532, 1.553, 2.342, 3.339, 4.556, 6.002",\
"0.1116, 0.1498, 0.2756, 0.5334, 0.9548, 1.553, 2.343, 3.339, 4.556, 5.998",\
"0.112, 0.1494, 0.2754, 0.533, 0.9528, 1.552, 2.343, 3.338, 4.555, 6.004",\
"0.1116, 0.1494, 0.276, 0.5334, 0.9536, 1.551, 2.339, 3.337, 4.552, 5.995",\
"0.1118, 0.15, 0.2754, 0.533, 0.9536, 1.553, 2.343, 3.335, 4.547, 5.997");
}
}
}
}