blob: 044a820067f365d341999c0c4482789beb902d65 [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_1) {
area : 63.660800 ;
ff(IQ1,IQN1) {
clocked_on : "CLK" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&!D" ;
value : "0.0001777464" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.000193302" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.000228132" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.0002442672" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.0002442672" ;
}
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.926 ;
min_pulse_width_high : 0.389 ;
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.1428, 0.1425, 0.1451, 0.1565, 0.1781, 0.2115, 0.2572, 0.3158, \
0.3879, 0.474");
}
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.1157, 0.1338, 0.1625, 0.2025, 0.254, \
0.3175, 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.2592, 0.3177, \
0.3897, 0.4757");
}
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.2026, 0.2541, \
0.3177, 0.394");
}
}
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.236");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.324");
}
rise_constraint(scalar) {
values("0.389");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("0.926");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("0.891");
}
}
}
pin(D) {
capacitance : 0.002426 ;
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.08125, 0.08057, 0.0809, 0.08561, 0.09578, 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.05438, 0.05451, 0.05573, 0.05988, 0.06783, 0.08041, 0.0977, \
0.1203, 0.1481, 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.005374, 0.005381, 0.00537, 0.00538, 0.005368, 0.005385, \
0.005379, 0.005381, 0.005377");
}
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.003828, -0.003843, -0.003845, -0.003859, -0.003874, -0.003894, \
-0.003901, -0.003917, -0.003923, -0.003931");
}
}
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.057, 0.065, 0.091, 0.122, 0.156, 0.175, 0.179, 0.176, 0.158, 0.123",\
"0.05, 0.057, 0.088, 0.12, 0.149, 0.17, 0.18, 0.176, 0.158, 0.122",\
"0.022, 0.035, 0.059, 0.095, 0.125, 0.144, 0.15, 0.146, 0.131, 0.092",\
"-0.05, -0.043, -0.014, 0.02, 0.058, 0.079, 0.084, 0.079, 0.062, 0.023",\
"-0.156, -0.149, -0.12, -0.079, -0.053, -0.032, -0.02, -0.021, -0.044, -0.081",\
"-0.288, -0.277, -0.252, -0.211, -0.181, -0.163, -0.159, -0.164, -0.18, -0.221",\
"-0.448, -0.441, -0.414, -0.375, -0.347, -0.32, -0.326, -0.328, -0.351, -0.384",\
"-0.642, -0.64, -0.613, -0.571, -0.542, -0.52, -0.522, -0.528, -0.545, -0.587",\
"-0.87, -0.865, -0.839, -0.803, -0.77, -0.751, -0.754, -0.756, -0.782, -0.823",\
"-1.139, -1.131, -1.105, -1.065, -1.035, -1.02, -1.017, -1.026, -1.05, -1.094");
}
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.095, 0.108, 0.104, 0.094, 0.069, 0.033",\
"0.025, 0.029, 0.05, 0.078, 0.091, 0.101, 0.104, 0.094, 0.068, 0.038",\
"0.013, 0.016, 0.041, 0.071, 0.085, 0.095, 0.098, 0.091, 0.069, 0.033",\
"0.01, 0.012, 0.034, 0.062, 0.085, 0.098, 0.097, 0.087, 0.062, 0.023",\
"0.021, 0.024, 0.048, 0.073, 0.095, 0.097, 0.103, 0.09, 0.062, 0.022",\
"0.058, 0.061, 0.087, 0.109, 0.12, 0.122, 0.127, 0.107, 0.079, 0.033",\
"0.128, 0.132, 0.15, 0.174, 0.185, 0.185, 0.176, 0.155, 0.122, 0.08",\
"0.232, 0.237, 0.251, 0.272, 0.279, 0.269, 0.262, 0.24, 0.201, 0.156",\
"0.367, 0.372, 0.383, 0.404, 0.407, 0.393, 0.381, 0.355, 0.315, 0.257",\
"0.545, 0.551, 0.562, 0.576, 0.571, 0.562, 0.542, 0.509, 0.459, 0.406");
}
}
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.195, 0.191, 0.162, 0.122, 0.087, 0.058, 0.047, 0.047, 0.07, 0.108",\
"0.2, 0.191, 0.167, 0.123, 0.092, 0.061, 0.05, 0.05, 0.073, 0.111",\
"0.231, 0.22, 0.194, 0.156, 0.118, 0.095, 0.08, 0.08, 0.101, 0.139",\
"0.314, 0.301, 0.274, 0.233, 0.198, 0.174, 0.162, 0.163, 0.177, 0.218",\
"0.439, 0.431, 0.405, 0.363, 0.33, 0.304, 0.293, 0.289, 0.307, 0.344",\
"0.619, 0.608, 0.583, 0.539, 0.503, 0.476, 0.462, 0.462, 0.478, 0.515",\
"0.835, 0.824, 0.794, 0.754, 0.721, 0.691, 0.678, 0.679, 0.694, 0.725",\
"1.087, 1.083, 1.049, 1.013, 0.975, 0.949, 0.933, 0.931, 0.953, 0.988",\
"1.385, 1.375, 1.343, 1.307, 1.268, 1.243, 1.228, 1.23, 1.24, 1.274",\
"1.717, 1.707, 1.681, 1.644, 1.607, 1.576, 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.189, 0.172, 0.153, 0.109, 0.077, 0.058, 0.047, 0.062, 0.09, 0.134",\
"0.2, 0.184, 0.167, 0.117, 0.086, 0.061, 0.05, 0.065, 0.093, 0.137",\
"0.214, 0.21, 0.182, 0.14, 0.107, 0.079, 0.069, 0.08, 0.101, 0.145",\
"0.235, 0.224, 0.201, 0.16, 0.129, 0.099, 0.086, 0.097, 0.117, 0.163",\
"0.237, 0.232, 0.207, 0.162, 0.13, 0.103, 0.091, 0.104, 0.126, 0.168",\
"0.228, 0.216, 0.186, 0.144, 0.108, 0.088, 0.075, 0.081, 0.109, 0.157",\
"0.174, 0.164, 0.138, 0.097, 0.067, 0.043, 0.03, 0.045, 0.076, 0.122",\
"0.102, 0.086, 0.06, 0.02, -0.012, -0.034, -0.044, -0.035, -0.001, 0.05",\
"-0.02, -0.032, -0.054, -0.09, -0.126, -0.147, -0.155, -0.139, -0.104, -0.048",\
"-0.166, -0.182, -0.205, -0.246, -0.279, -0.301, -0.306, -0.284, -0.244, -0.188");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.3553 ;
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.003445, 0.01203, 0.02842, 0.05396, 0.08979, 0.1369, 0.1963, 0.2689, 0.3553");
values("0.133, 0.1318, 0.1301, 0.1292, 0.1288, 0.1285, 0.1283, 0.1283, 0.1282, 0.1282",\
"0.1331, 0.1317, 0.1301, 0.1293, 0.1288, 0.1285, 0.1284, 0.1283, 0.1283, 0.1282",\
"0.1333, 0.132, 0.1303, 0.1294, 0.129, 0.1287, 0.1285, 0.1285, 0.1284, 0.1284",\
"0.134, 0.1326, 0.1309, 0.1301, 0.1296, 0.1294, 0.1292, 0.1291, 0.1291, 0.129",\
"0.1349, 0.1336, 0.1318, 0.131, 0.1306, 0.1304, 0.1302, 0.1301, 0.1301, 0.13",\
"0.1361, 0.1347, 0.133, 0.1322, 0.1318, 0.1314, 0.1313, 0.1312, 0.1311, 0.1311",\
"0.1374, 0.136, 0.1342, 0.1334, 0.1331, 0.1327, 0.1326, 0.1325, 0.1324, 0.1324",\
"0.1388, 0.1374, 0.1356, 0.1348, 0.1343, 0.1342, 0.1339, 0.1338, 0.1338, 0.1337",\
"0.1403, 0.1389, 0.1372, 0.1363, 0.1359, 0.1356, 0.1355, 0.1354, 0.1353, 0.1353",\
"0.1421, 0.1407, 0.139, 0.1381, 0.1378, 0.1375, 0.1372, 0.1371, 0.1371, 0.137");
}
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.003445, 0.01203, 0.02842, 0.05396, 0.08979, 0.1369, 0.1963, 0.2689, 0.3553");
values("0.1327, 0.1311, 0.1289, 0.1279, 0.1273, 0.1276, 0.1283, 0.1291, 0.1294, 0.131",\
"0.1326, 0.1312, 0.1289, 0.1275, 0.1272, 0.1276, 0.1282, 0.1289, 0.1293, 0.1302",\
"0.1327, 0.1313, 0.129, 0.1278, 0.1274, 0.1274, 0.1284, 0.129, 0.1296, 0.1309",\
"0.1334, 0.1318, 0.1296, 0.1283, 0.1282, 0.128, 0.129, 0.1296, 0.1302, 0.1318",\
"0.1343, 0.1329, 0.1306, 0.1294, 0.1291, 0.1291, 0.13, 0.1307, 0.1319, 0.132",\
"0.136, 0.1344, 0.1319, 0.1313, 0.1307, 0.1306, 0.1315, 0.1322, 0.133, 0.1343",\
"0.138, 0.1365, 0.1341, 0.1324, 0.133, 0.1333, 0.1334, 0.1342, 0.1351, 0.1362",\
"0.1405, 0.139, 0.1368, 0.1355, 0.1353, 0.1356, 0.1372, 0.1371, 0.1376, 0.1383",\
"0.1434, 0.142, 0.1395, 0.1384, 0.1379, 0.1376, 0.1389, 0.1413, 0.1413, 0.1418",\
"0.1467, 0.1451, 0.1431, 0.1413, 0.1412, 0.1413, 0.1417, 0.1432, 0.1457, 0.1468");
}
}
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.003445, 0.01203, 0.02842, 0.05396, 0.08979, 0.1369, 0.1963, 0.2689, 0.3553");
values("0.4946, 0.514, 0.5676, 0.6522, 0.7754, 0.9461, 1.171, 1.454, 1.799, 2.211",\
"0.5018, 0.5211, 0.5747, 0.6594, 0.7824, 0.9531, 1.178, 1.461, 1.806, 2.218",\
"0.5291, 0.5484, 0.6021, 0.6867, 0.8097, 0.9805, 1.205, 1.488, 1.834, 2.246",\
"0.5709, 0.5903, 0.6439, 0.7286, 0.8516, 1.022, 1.247, 1.53, 1.876, 2.287",\
"0.6074, 0.6268, 0.6805, 0.7652, 0.8883, 1.059, 1.284, 1.567, 1.912, 2.324",\
"0.6364, 0.6557, 0.7094, 0.794, 0.917, 1.088, 1.312, 1.595, 1.941, 2.353",\
"0.654, 0.6733, 0.7269, 0.8116, 0.9346, 1.105, 1.33, 1.613, 1.958, 2.37",\
"0.6581, 0.6772, 0.7309, 0.8155, 0.9386, 1.109, 1.334, 1.617, 1.962, 2.374",\
"0.6467, 0.666, 0.7197, 0.8044, 0.9273, 1.098, 1.323, 1.606, 1.951, 2.363",\
"0.6196, 0.6389, 0.6926, 0.7772, 0.9002, 1.071, 1.296, 1.578, 1.924, 2.336");
}
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.003445, 0.01203, 0.02842, 0.05396, 0.08979, 0.1369, 0.1963, 0.2689, 0.3553");
values("0.5483, 0.5712, 0.6439, 0.779, 0.9911, 1.289, 1.681, 2.176, 2.78, 3.499",\
"0.5553, 0.5783, 0.6509, 0.7859, 0.998, 1.296, 1.688, 2.183, 2.786, 3.507",\
"0.5826, 0.6056, 0.678, 0.8132, 1.025, 1.323, 1.716, 2.21, 2.814, 3.535",\
"0.6253, 0.6482, 0.7207, 0.8559, 1.068, 1.366, 1.758, 2.253, 2.856, 3.576",\
"0.6629, 0.6859, 0.7584, 0.8936, 1.106, 1.404, 1.796, 2.29, 2.894, 3.615",\
"0.6942, 0.7171, 0.7895, 0.9246, 1.137, 1.435, 1.827, 2.321, 2.925, 3.644",\
"0.7157, 0.7387, 0.8111, 0.9462, 1.158, 1.456, 1.848, 2.343, 2.946, 3.667",\
"0.7247, 0.7476, 0.8201, 0.9552, 1.167, 1.465, 1.857, 2.352, 2.955, 3.675",\
"0.7192, 0.7422, 0.8146, 0.9497, 1.162, 1.46, 1.852, 2.346, 2.95, 3.668",\
"0.6983, 0.7213, 0.7938, 0.9289, 1.141, 1.439, 1.831, 2.325, 2.929, 3.648");
}
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.003445, 0.01203, 0.02842, 0.05396, 0.08979, 0.1369, 0.1963, 0.2689, 0.3553");
values("0.0635, 0.08346, 0.1457, 0.2621, 0.4557, 0.7365, 1.109, 1.579, 2.155, 2.842",\
"0.06352, 0.08328, 0.1453, 0.2626, 0.4558, 0.7381, 1.11, 1.581, 2.153, 2.842",\
"0.06348, 0.08358, 0.1455, 0.2616, 0.4557, 0.7378, 1.109, 1.579, 2.155, 2.842",\
"0.06364, 0.08376, 0.146, 0.262, 0.456, 0.738, 1.11, 1.582, 2.156, 2.842",\
"0.0636, 0.0834, 0.1454, 0.2626, 0.456, 0.7372, 1.11, 1.581, 2.155, 2.841",\
"0.0634, 0.0836, 0.1456, 0.2624, 0.4552, 0.7362, 1.11, 1.58, 2.157, 2.837",\
"0.0636, 0.0836, 0.1454, 0.2618, 0.4554, 0.7358, 1.108, 1.577, 2.152, 2.838",\
"0.0636, 0.0836, 0.1454, 0.2622, 0.4558, 0.736, 1.108, 1.577, 2.15, 2.835",\
"0.0636, 0.0836, 0.1456, 0.2618, 0.4558, 0.736, 1.109, 1.578, 2.152, 2.833",\
"0.0638, 0.0832, 0.1458, 0.2618, 0.4566, 0.7364, 1.108, 1.578, 2.151, 2.834");
}
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.003445, 0.01203, 0.02842, 0.05396, 0.08979, 0.1369, 0.1963, 0.2689, 0.3553");
values("0.0763, 0.1081, 0.2218, 0.4554, 0.8245, 1.344, 2.029, 2.885, 3.933, 5.188",\
"0.0765, 0.108, 0.2219, 0.4554, 0.8243, 1.344, 2.024, 2.884, 3.936, 5.187",\
"0.0765, 0.108, 0.2219, 0.4555, 0.8252, 1.345, 2.025, 2.884, 3.936, 5.186",\
"0.07632, 0.1081, 0.2218, 0.4558, 0.8246, 1.345, 2.028, 2.887, 3.935, 5.193",\
"0.0766, 0.108, 0.222, 0.4554, 0.8244, 1.345, 2.025, 2.884, 3.939, 5.188",\
"0.076, 0.108, 0.2218, 0.4554, 0.8256, 1.345, 2.024, 2.885, 3.935, 5.188",\
"0.0764, 0.108, 0.222, 0.4556, 0.8246, 1.342, 2.024, 2.885, 3.933, 5.195",\
"0.0762, 0.1078, 0.2218, 0.4556, 0.8254, 1.345, 2.024, 2.883, 3.935, 5.184",\
"0.0764, 0.108, 0.222, 0.4552, 0.8246, 1.343, 2.024, 2.883, 3.933, 5.191",\
"0.0768, 0.1086, 0.2222, 0.4556, 0.8256, 1.344, 2.026, 2.883, 3.933, 5.182");
}
}
}
}