blob: 832e528227b8ed2b84be1c05e07a5ee0645d0508 [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__dffq_4) {
area : 98.784000 ;
ff(IQ1,IQN1) {
clocked_on : "CLK" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&!D" ;
value : "0.00312048" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.004717944" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.00301356" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.004440348" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.004717944" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.00474 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 8.4 ;
min_period : 2.035 ;
min_pulse_width_high : 0.984 ;
min_pulse_width_low : 1.001 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("0.0599, 0.0596, 0.05932, 0.06018, 0.06294, 0.06754, 0.07423, 0.08313, \
0.09452, 0.1085");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("0.03941, 0.03926, 0.03905, 0.03975, 0.04179, 0.04562, 0.05144, \
0.05942, 0.06959, 0.082");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("0.06193, 0.06164, 0.06132, 0.06219, 0.06494, 0.06954, 0.07616, \
0.08512, 0.09644, 0.1104");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("0.03939, 0.03924, 0.03904, 0.03971, 0.0418, 0.04563, 0.0515, 0.05947, \
0.06966, 0.08209");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("1.001");
}
rise_constraint(scalar) {
values("0.707");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.828");
}
rise_constraint(scalar) {
values("0.984");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("2.012");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("2.035");
}
}
}
pin(D) {
capacitance : 0.00363 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 8.4 ;
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.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("0.03502, 0.0348, 0.0344, 0.03478, 0.03642, 0.03922, 0.04322, 0.04854, \
0.05529, 0.06349");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("0.02389, 0.02393, 0.02391, 0.02431, 0.02549, 0.02772, 0.03113, \
0.03574, 0.04161, 0.04874");
}
}
internal_power() {
when : "CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("0.003802, 0.003796, 0.003797, 0.003803, 0.003803, 0.003799, 0.003802, \
0.003794, 0.003785, 0.003772");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("-0.003472, -0.003475, -0.003475, -0.003486, -0.003492, -0.003511, \
-0.003527, -0.003537, -0.003551, -0.003564");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
index_2("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("0.212, 0.226, 0.277, 0.356, 0.425, 0.47, 0.493, 0.497, 0.47, 0.414",\
"0.196, 0.213, 0.262, 0.347, 0.408, 0.455, 0.482, 0.482, 0.456, 0.399",\
"0.153, 0.17, 0.224, 0.3, 0.365, 0.415, 0.437, 0.444, 0.411, 0.356",\
"0.091, 0.099, 0.149, 0.233, 0.295, 0.337, 0.367, 0.367, 0.339, 0.276",\
"0.005, 0.023, 0.068, 0.145, 0.204, 0.253, 0.273, 0.28, 0.248, 0.185",\
"-0.092, -0.075, -0.028, 0.042, 0.108, 0.143, 0.173, 0.178, 0.137, 0.082",\
"-0.204, -0.189, -0.145, -0.074, -0.027, 0.025, 0.055, 0.064, 0.02, -0.037",\
"-0.329, -0.313, -0.274, -0.211, -0.149, -0.113, -0.083, -0.073, -0.109, -0.17",\
"-0.47, -0.456, -0.42, -0.365, -0.322, -0.275, -0.246, -0.228, -0.266, -0.327",\
"-0.632, -0.619, -0.587, -0.544, -0.505, -0.455, -0.415, -0.406, -0.447, -0.51");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
index_2("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("0.011, 0.028, 0.07, 0.115, 0.133, 0.137, 0.114, 0.07, 0.003, -0.095",\
"-0.001, 0.015, 0.057, 0.1, 0.129, 0.126, 0.104, 0.062, -0.008, -0.103",\
"-0.038, -0.023, 0.023, 0.072, 0.094, 0.096, 0.083, 0.036, -0.026, -0.121",\
"-0.061, -0.053, -0.01, 0.038, 0.062, 0.065, 0.045, 0.002, -0.063, -0.156",\
"-0.082, -0.068, -0.025, 0.021, 0.04, 0.038, 0.016, -0.024, -0.095, -0.188",\
"-0.092, -0.075, -0.034, 0.014, 0.031, 0.026, 0.002, -0.044, -0.119, -0.215",\
"-0.072, -0.054, -0.021, 0.024, 0.03, 0.025, -0.008, -0.06, -0.136, -0.24",\
"-0.023, -0.01, 0.024, 0.064, 0.068, 0.052, 0.012, -0.05, -0.129, -0.241",\
"0.059, 0.078, 0.114, 0.139, 0.132, 0.109, 0.066, -0.003, -0.091, -0.204",\
"0.187, 0.201, 0.231, 0.255, 0.234, 0.209, 0.156, 0.085, -0.016, -0.14");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
index_2("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("0.418, 0.407, 0.344, 0.252, 0.173, 0.111, 0.076, 0.069, 0.09, 0.136",\
"0.43, 0.41, 0.351, 0.26, 0.182, 0.122, 0.088, 0.078, 0.094, 0.145",\
"0.473, 0.455, 0.403, 0.309, 0.23, 0.166, 0.129, 0.121, 0.146, 0.189",\
"0.589, 0.575, 0.517, 0.421, 0.342, 0.286, 0.248, 0.24, 0.259, 0.304",\
"0.769, 0.758, 0.699, 0.605, 0.526, 0.468, 0.432, 0.423, 0.437, 0.486",\
"0.994, 0.981, 0.921, 0.831, 0.759, 0.692, 0.657, 0.645, 0.662, 0.708",\
"1.261, 1.245, 1.182, 1.1, 1.011, 0.957, 0.916, 0.909, 0.921, 0.965",\
"1.559, 1.545, 1.483, 1.393, 1.315, 1.257, 1.218, 1.203, 1.217, 1.254",\
"1.902, 1.884, 1.826, 1.732, 1.654, 1.591, 1.557, 1.541, 1.551, 1.595",\
"2.277, 2.263, 2.201, 2.114, 2.031, 1.972, 1.929, 1.919, 1.926, 1.96");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
index_2("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("0.481, 0.468, 0.413, 0.324, 0.268, 0.252, 0.258, 0.3, 0.363, 0.457",\
"0.498, 0.481, 0.422, 0.336, 0.288, 0.266, 0.273, 0.312, 0.376, 0.467",\
"0.537, 0.525, 0.472, 0.383, 0.333, 0.31, 0.315, 0.352, 0.413, 0.504",\
"0.616, 0.603, 0.545, 0.466, 0.404, 0.386, 0.385, 0.423, 0.481, 0.572",\
"0.688, 0.673, 0.621, 0.532, 0.48, 0.451, 0.455, 0.488, 0.548, 0.637",\
"0.735, 0.721, 0.665, 0.588, 0.527, 0.502, 0.506, 0.538, 0.601, 0.689",\
"0.766, 0.75, 0.695, 0.612, 0.553, 0.529, 0.529, 0.566, 0.626, 0.714",\
"0.774, 0.763, 0.705, 0.622, 0.569, 0.541, 0.541, 0.582, 0.637, 0.732",\
"0.766, 0.754, 0.694, 0.612, 0.562, 0.531, 0.529, 0.571, 0.631, 0.723",\
"0.719, 0.701, 0.65, 0.566, 0.511, 0.486, 0.486, 0.531, 0.597, 0.7");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 1.324 ;
max_transition : 8.4 ;
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.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
index_2("0.001, 0.01013, 0.0422, 0.1034, 0.1988, 0.3327, 0.5088, 0.7307, 1.002, 1.324");
values("0.1458, 0.144, 0.1423, 0.1419, 0.1421, 0.1423, 0.1424, 0.1425, 0.1425, 0.1425",\
"0.1457, 0.1439, 0.1422, 0.1419, 0.1421, 0.1423, 0.1424, 0.1424, 0.1425, 0.1425",\
"0.1458, 0.1439, 0.1423, 0.142, 0.1421, 0.1423, 0.1424, 0.1425, 0.1425, 0.1425",\
"0.1458, 0.144, 0.1424, 0.1421, 0.1422, 0.1424, 0.1425, 0.1426, 0.1426, 0.1427",\
"0.1461, 0.1443, 0.1426, 0.1424, 0.1425, 0.1426, 0.1427, 0.1428, 0.1429, 0.1429",\
"0.1464, 0.1446, 0.1429, 0.1425, 0.1427, 0.1429, 0.143, 0.1431, 0.1431, 0.1432",\
"0.1467, 0.1449, 0.1433, 0.143, 0.1431, 0.1433, 0.1434, 0.1435, 0.1435, 0.1435",\
"0.1471, 0.1453, 0.1436, 0.1433, 0.1435, 0.1437, 0.1438, 0.1438, 0.1439, 0.1439",\
"0.1475, 0.1458, 0.144, 0.1437, 0.1439, 0.144, 0.1441, 0.1442, 0.1443, 0.1443",\
"0.1481, 0.1462, 0.1445, 0.1442, 0.1444, 0.1446, 0.1447, 0.1447, 0.1448, 0.1448");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
index_2("0.001, 0.01013, 0.0422, 0.1034, 0.1988, 0.3327, 0.5088, 0.7307, 1.002, 1.324");
values("0.1436, 0.1423, 0.1405, 0.1403, 0.1411, 0.1424, 0.1441, 0.1454, 0.1469, 0.1545",\
"0.1436, 0.1422, 0.1405, 0.1402, 0.1409, 0.1424, 0.1443, 0.1453, 0.1472, 0.1546",\
"0.1435, 0.1422, 0.1403, 0.1401, 0.1411, 0.1423, 0.1442, 0.1453, 0.147, 0.1545",\
"0.1434, 0.1421, 0.1403, 0.1401, 0.141, 0.1422, 0.144, 0.1453, 0.1474, 0.1556",\
"0.1434, 0.1421, 0.1402, 0.14, 0.1408, 0.1422, 0.1441, 0.1452, 0.1471, 0.1567",\
"0.1434, 0.1421, 0.1404, 0.1401, 0.1409, 0.1423, 0.1442, 0.1455, 0.1476, 0.1589",\
"0.1435, 0.1421, 0.1403, 0.1402, 0.1416, 0.1427, 0.1443, 0.1456, 0.1475, 0.1627",\
"0.1438, 0.1425, 0.1407, 0.1402, 0.1416, 0.1435, 0.145, 0.146, 0.1482, 0.1673",\
"0.1444, 0.143, 0.1412, 0.1408, 0.1417, 0.1428, 0.1453, 0.1473, 0.1511, 0.1771",\
"0.1451, 0.1438, 0.1418, 0.1415, 0.1424, 0.1428, 0.1446, 0.1478, 0.1547, 0.1926");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
index_2("0.001, 0.01013, 0.0422, 0.1034, 0.1988, 0.3327, 0.5088, 0.7307, 1.002, 1.324");
values("1.301, 1.337, 1.43, 1.56, 1.731, 1.953, 2.24, 2.599, 3.038, 3.561",\
"1.316, 1.353, 1.445, 1.575, 1.746, 1.968, 2.255, 2.614, 3.053, 3.575",\
"1.371, 1.408, 1.5, 1.63, 1.801, 2.023, 2.31, 2.67, 3.108, 3.631",\
"1.463, 1.499, 1.592, 1.722, 1.892, 2.115, 2.401, 2.761, 3.199, 3.722",\
"1.545, 1.581, 1.674, 1.804, 1.974, 2.197, 2.484, 2.843, 3.282, 3.805",\
"1.607, 1.643, 1.736, 1.866, 2.036, 2.259, 2.546, 2.905, 3.344, 3.866",\
"1.649, 1.685, 1.778, 1.908, 2.079, 2.301, 2.588, 2.947, 3.386, 3.909",\
"1.669, 1.705, 1.798, 1.928, 2.099, 2.321, 2.608, 2.967, 3.406, 3.928",\
"1.663, 1.699, 1.791, 1.921, 2.092, 2.314, 2.601, 2.961, 3.399, 3.921",\
"1.628, 1.664, 1.757, 1.887, 2.057, 2.28, 2.566, 2.926, 3.364, 3.887");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
index_2("0.001, 0.01013, 0.0422, 0.1034, 0.1988, 0.3327, 0.5088, 0.7307, 1.002, 1.324");
values("1.322, 1.367, 1.494, 1.712, 2.049, 2.52, 3.139, 3.919, 4.871, 6.005",\
"1.337, 1.382, 1.509, 1.728, 2.064, 2.536, 3.155, 3.934, 4.886, 6.02",\
"1.391, 1.437, 1.564, 1.782, 2.118, 2.59, 3.209, 3.989, 4.94, 6.074",\
"1.479, 1.524, 1.651, 1.869, 2.206, 2.678, 3.297, 4.077, 5.028, 6.162",\
"1.558, 1.603, 1.73, 1.948, 2.285, 2.757, 3.376, 4.155, 5.107, 6.24",\
"1.616, 1.662, 1.789, 2.007, 2.344, 2.815, 3.434, 4.214, 5.165, 6.299",\
"1.656, 1.701, 1.828, 2.046, 2.383, 2.854, 3.473, 4.253, 5.205, 6.34",\
"1.674, 1.72, 1.847, 2.065, 2.402, 2.873, 3.492, 4.271, 5.223, 6.358",\
"1.669, 1.715, 1.842, 2.06, 2.397, 2.868, 3.487, 4.267, 5.218, 6.351",\
"1.638, 1.683, 1.81, 2.028, 2.365, 2.836, 3.455, 4.235, 5.187, 6.32");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
index_2("0.001, 0.01013, 0.0422, 0.1034, 0.1988, 0.3327, 0.5088, 0.7307, 1.002, 1.324");
values("0.1258, 0.1586, 0.2522, 0.4062, 0.6484, 1.006, 1.494, 2.119, 2.884, 3.797",\
"0.1258, 0.1588, 0.2526, 0.406, 0.6482, 1.007, 1.495, 2.117, 2.882, 3.792",\
"0.1256, 0.1586, 0.2522, 0.4066, 0.6484, 1.007, 1.495, 2.119, 2.884, 3.796",\
"0.1258, 0.1586, 0.252, 0.4058, 0.648, 1.007, 1.495, 2.119, 2.883, 3.79",\
"0.1256, 0.1588, 0.2526, 0.4066, 0.6482, 1.007, 1.493, 2.118, 2.883, 3.795",\
"0.1256, 0.1586, 0.2526, 0.4058, 0.6488, 1.006, 1.496, 2.117, 2.883, 3.791",\
"0.1256, 0.1588, 0.2524, 0.4058, 0.648, 1.006, 1.493, 2.117, 2.883, 3.797",\
"0.126, 0.1584, 0.2522, 0.406, 0.6484, 1.006, 1.494, 2.119, 2.877, 3.79",\
"0.126, 0.1588, 0.252, 0.4068, 0.6484, 1.006, 1.495, 2.118, 2.877, 3.787",\
"0.126, 0.1588, 0.252, 0.4062, 0.6488, 1.007, 1.495, 2.119, 2.879, 3.791");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
index_2("0.001, 0.01013, 0.0422, 0.1034, 0.1988, 0.3327, 0.5088, 0.7307, 1.002, 1.324");
values("0.145, 0.1988, 0.3736, 0.7418, 1.342, 2.182, 3.29, 4.689, 6.386, 8.418",\
"0.145, 0.1986, 0.3746, 0.7418, 1.338, 2.181, 3.287, 4.689, 6.387, 8.418",\
"0.145, 0.1986, 0.3734, 0.7416, 1.342, 2.181, 3.285, 4.682, 6.395, 8.415",\
"0.145, 0.1984, 0.3734, 0.7416, 1.342, 2.182, 3.285, 4.684, 6.387, 8.417",\
"0.1456, 0.1984, 0.3736, 0.7418, 1.338, 2.181, 3.287, 4.682, 6.387, 8.415",\
"0.145, 0.1978, 0.3738, 0.7416, 1.339, 2.18, 3.289, 4.686, 6.392, 8.419",\
"0.1454, 0.1978, 0.3734, 0.7418, 1.34, 2.181, 3.29, 4.689, 6.397, 8.42",\
"0.1454, 0.1982, 0.374, 0.7418, 1.34, 2.181, 3.286, 4.689, 6.395, 8.421",\
"0.1456, 0.1982, 0.3738, 0.7416, 1.338, 2.179, 3.286, 4.681, 6.391, 8.428",\
"0.1458, 0.1988, 0.3742, 0.742, 1.339, 2.178, 3.289, 4.681, 6.384, 8.416");
}
}
}
}