blob: 0522ef325cfc7564b62fdca87a4f249ee6749ba6 [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_2) {
area : 87.494400 ;
ff(IQ1,IQN1) {
clocked_on : "(!CLKN)" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&!D" ;
value : "0.002667456" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.003631518" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.002382138" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.00361548" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.003631518" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.004788 ;
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 : 1.844 ;
min_pulse_width_high : 0.821 ;
min_pulse_width_low : 0.897 ;
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.06146, 0.06117, 0.06086, 0.06168, 0.06439, 0.06894, 0.07554, \
0.0844, 0.09575, 0.1096");
}
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.03947, 0.03932, 0.03914, 0.03981, 0.04192, 0.04574, 0.0516, \
0.05949, 0.06972, 0.08215");
}
}
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.0615, 0.06123, 0.06092, 0.06172, 0.06447, 0.069, 0.07562, 0.0845, \
0.0958, 0.1097");
}
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.03942, 0.03928, 0.03908, 0.03978, 0.04187, 0.0457, 0.05149, \
0.05946, 0.06965, 0.08205");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.846");
}
rise_constraint(scalar) {
values("0.821");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.897");
}
rise_constraint(scalar) {
values("0.687");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("1.787");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("1.844");
}
}
}
pin(D) {
capacitance : 0.003737 ;
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 : "!CLKN" ;
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.01479, 0.01441, 0.01443, 0.0156, 0.01806, 0.02192, 0.02727, \
0.03427, 0.043, 0.05353");
}
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.002176, 0.001976, 0.001912, 0.0027, 0.004705, 0.008027, 0.01275, \
0.01896, 0.02668, 0.03602");
}
}
internal_power() {
when : "CLKN" ;
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.04741, 0.04718, 0.04714, 0.04791, 0.05006, 0.05371, 0.05888, \
0.06583, 0.07469, 0.08557");
}
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.03421, 0.03407, 0.03405, 0.03471, 0.03634, 0.03921, 0.04355, \
0.04943, 0.05701, 0.06636");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
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, 0.015, 0.07, 0.168, 0.273, 0.391, 0.534, 0.716, 0.929, 1.166",\
"-0.022, -0, 0.051, 0.157, 0.258, 0.374, 0.524, 0.698, 0.911, 1.157",\
"-0.086, -0.07, -0.016, 0.09, 0.196, 0.309, 0.455, 0.632, 0.848, 1.085",\
"-0.204, -0.195, -0.141, -0.037, 0.067, 0.187, 0.328, 0.505, 0.715, 0.96",\
"-0.353, -0.341, -0.29, -0.186, -0.085, 0.03, 0.167, 0.338, 0.544, 0.785",\
"-0.526, -0.513, -0.459, -0.358, -0.261, -0.148, -0.012, 0.154, 0.352, 0.588",\
"-0.724, -0.709, -0.659, -0.563, -0.464, -0.351, -0.213, -0.05, 0.136, 0.367",\
"-0.953, -0.938, -0.888, -0.792, -0.699, -0.59, -0.455, -0.297, -0.109, 0.11",\
"-1.209, -1.194, -1.148, -1.047, -0.959, -0.854, -0.725, -0.564, -0.38, -0.168",\
"-1.493, -1.479, -1.431, -1.342, -1.255, -1.15, -1.022, -0.866, -0.685, -0.469");
}
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.258, 0.274, 0.34, 0.472, 0.645, 0.836, 1.054, 1.299, 1.575, 1.88",\
"0.244, 0.26, 0.326, 0.461, 0.629, 0.825, 1.044, 1.288, 1.562, 1.864",\
"0.195, 0.211, 0.279, 0.409, 0.58, 0.777, 0.996, 1.24, 1.511, 1.818",\
"0.154, 0.165, 0.229, 0.361, 0.533, 0.724, 0.944, 1.19, 1.467, 1.769",\
"0.122, 0.136, 0.205, 0.331, 0.501, 0.699, 0.911, 1.163, 1.432, 1.734",\
"0.111, 0.127, 0.191, 0.322, 0.502, 0.686, 0.904, 1.15, 1.422, 1.725",\
"0.134, 0.155, 0.218, 0.346, 0.511, 0.703, 0.916, 1.17, 1.435, 1.734",\
"0.19, 0.207, 0.267, 0.397, 0.56, 0.744, 0.957, 1.203, 1.475, 1.771",\
"0.293, 0.313, 0.365, 0.49, 0.641, 0.811, 1.019, 1.263, 1.536, 1.838",\
"0.451, 0.472, 0.519, 0.627, 0.759, 0.917, 1.119, 1.364, 1.621, 1.92");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
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.641, 0.618, 0.546, 0.413, 0.261, 0.088, -0.097, -0.312, -0.556, -0.826",\
"0.655, 0.639, 0.562, 0.431, 0.273, 0.104, -0.079, -0.296, -0.535, -0.808",\
"0.723, 0.701, 0.628, 0.497, 0.341, 0.172, -0.013, -0.231, -0.468, -0.739",\
"0.857, 0.84, 0.767, 0.631, 0.476, 0.307, 0.121, -0.093, -0.339, -0.609",\
"1.047, 1.03, 0.955, 0.828, 0.672, 0.501, 0.309, 0.09, -0.145, -0.423",\
"1.282, 1.264, 1.19, 1.06, 0.896, 0.723, 0.532, 0.316, 0.068, -0.202",\
"1.558, 1.539, 1.457, 1.325, 1.157, 0.983, 0.789, 0.566, 0.326, 0.052",\
"1.853, 1.837, 1.762, 1.622, 1.46, 1.274, 1.085, 0.861, 0.61, 0.342",\
"2.198, 2.183, 2.11, 1.971, 1.802, 1.612, 1.412, 1.191, 0.943, 0.662",\
"2.592, 2.571, 2.495, 2.355, 2.176, 1.991, 1.783, 1.56, 1.31, 1.04");
}
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.332, 0.319, 0.259, 0.145, -0.002, -0.137, -0.287, -0.462, -0.657, -0.917",\
"0.348, 0.339, 0.27, 0.156, 0.008, -0.121, -0.281, -0.453, -0.644, -0.865",\
"0.399, 0.385, 0.325, 0.206, 0.06, -0.078, -0.234, -0.402, -0.598, -0.832",\
"0.481, 0.47, 0.403, 0.278, 0.125, -0.022, -0.191, -0.367, -0.561, -0.757",\
"0.558, 0.545, 0.485, 0.352, 0.191, 0.031, -0.149, -0.345, -0.552, -0.766",\
"0.628, 0.611, 0.54, 0.409, 0.244, 0.069, -0.133, -0.335, -0.562, -0.789",\
"0.667, 0.658, 0.588, 0.455, 0.279, 0.107, -0.11, -0.331, -0.586, -0.855",\
"0.693, 0.675, 0.608, 0.472, 0.294, 0.113, -0.108, -0.341, -0.597, -0.874",\
"0.696, 0.675, 0.605, 0.467, 0.294, 0.096, -0.118, -0.36, -0.624, -0.923",\
"0.658, 0.644, 0.571, 0.435, 0.255, 0.063, -0.156, -0.404, -0.679, -0.98");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.6602 ;
max_transition : 8.4 ;
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.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
index_2("0.001, 0.00555, 0.02152, 0.05202, 0.09954, 0.1662, 0.2539, 0.3645, 0.4994, 0.6602");
values("0.1019, 0.1009, 0.09964, 0.09917, 0.09904, 0.09903, 0.099, 0.09899, 0.099, 0.099",\
"0.102, 0.1008, 0.09962, 0.09921, 0.09907, 0.09903, 0.09903, 0.09902, 0.09901, 0.09902",\
"0.102, 0.1008, 0.09961, 0.09919, 0.09903, 0.09901, 0.09901, 0.099, 0.09898, 0.09898",\
"0.1019, 0.1008, 0.09952, 0.0991, 0.09897, 0.09896, 0.09893, 0.09894, 0.09894, 0.09893",\
"0.1021, 0.101, 0.09981, 0.09932, 0.09919, 0.09916, 0.09916, 0.09915, 0.09914, 0.09913",\
"0.1026, 0.1014, 0.1001, 0.09972, 0.09959, 0.09955, 0.09954, 0.09953, 0.09952, 0.09952",\
"0.1031, 0.1019, 0.1007, 0.1002, 0.1001, 0.1, 0.1, 0.09999, 0.09997, 0.09999",\
"0.1038, 0.1026, 0.1013, 0.1008, 0.1007, 0.1006, 0.1006, 0.1006, 0.1006, 0.1006",\
"0.1045, 0.1033, 0.102, 0.1016, 0.1014, 0.1014, 0.1014, 0.1013, 0.1013, 0.1013",\
"0.1055, 0.1043, 0.1029, 0.1025, 0.1023, 0.1023, 0.1022, 0.1022, 0.1022, 0.1022");
}
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.00555, 0.02152, 0.05202, 0.09954, 0.1662, 0.2539, 0.3645, 0.4994, 0.6602");
values("0.1107, 0.11, 0.1093, 0.1093, 0.1097, 0.1105, 0.1114, 0.1118, 0.1125, 0.1162",\
"0.1107, 0.11, 0.1093, 0.1094, 0.1098, 0.1106, 0.1113, 0.112, 0.1126, 0.1164",\
"0.1107, 0.11, 0.1093, 0.1093, 0.1098, 0.1106, 0.1112, 0.112, 0.1125, 0.1166",\
"0.1108, 0.1103, 0.1094, 0.1095, 0.11, 0.1108, 0.1114, 0.112, 0.1128, 0.1172",\
"0.1113, 0.1107, 0.1099, 0.11, 0.1104, 0.1112, 0.1119, 0.1124, 0.1135, 0.1187",\
"0.1118, 0.1112, 0.1103, 0.1105, 0.111, 0.1118, 0.1124, 0.1128, 0.1141, 0.1206",\
"0.1124, 0.1118, 0.1109, 0.1111, 0.1116, 0.1124, 0.1131, 0.1137, 0.1148, 0.1235",\
"0.1131, 0.1124, 0.1115, 0.1119, 0.1124, 0.1132, 0.1137, 0.1145, 0.116, 0.1279",\
"0.1139, 0.1133, 0.1123, 0.1125, 0.1129, 0.1139, 0.115, 0.1155, 0.1176, 0.136",\
"0.1146, 0.1139, 0.1132, 0.1132, 0.1135, 0.1143, 0.1151, 0.1169, 0.1213, 0.151");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_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.00555, 0.02152, 0.05202, 0.09954, 0.1662, 0.2539, 0.3645, 0.4994, 0.6602");
values("1.186, 1.225, 1.328, 1.472, 1.651, 1.877, 2.164, 2.522, 2.959, 3.48",\
"1.203, 1.243, 1.345, 1.489, 1.668, 1.894, 2.181, 2.54, 2.976, 3.497",\
"1.27, 1.309, 1.411, 1.555, 1.734, 1.96, 2.248, 2.606, 3.042, 3.563",\
"1.403, 1.443, 1.545, 1.689, 1.868, 2.094, 2.381, 2.74, 3.176, 3.697",\
"1.593, 1.632, 1.735, 1.879, 2.058, 2.284, 2.571, 2.929, 3.366, 3.887",\
"1.809, 1.849, 1.951, 2.095, 2.274, 2.5, 2.787, 3.146, 3.582, 4.103",\
"2.05, 2.089, 2.191, 2.336, 2.515, 2.741, 3.028, 3.386, 3.823, 4.344",\
"2.319, 2.358, 2.461, 2.605, 2.784, 3.011, 3.298, 3.656, 4.093, 4.613",\
"2.619, 2.659, 2.761, 2.906, 3.085, 3.311, 3.598, 3.956, 4.393, 4.913",\
"2.95, 2.989, 3.092, 3.236, 3.415, 3.642, 3.929, 4.287, 4.724, 5.245");
}
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.00555, 0.02152, 0.05202, 0.09954, 0.1662, 0.2539, 0.3645, 0.4994, 0.6602");
values("1.333, 1.379, 1.509, 1.73, 2.066, 2.536, 3.153, 3.93, 4.878, 6.01",\
"1.351, 1.396, 1.526, 1.747, 2.084, 2.553, 3.17, 3.947, 4.894, 6.027",\
"1.417, 1.462, 1.592, 1.814, 2.15, 2.619, 3.237, 4.013, 4.961, 6.093",\
"1.551, 1.597, 1.727, 1.948, 2.284, 2.754, 3.371, 4.148, 5.095, 6.228",\
"1.741, 1.786, 1.916, 2.137, 2.474, 2.943, 3.56, 4.337, 5.286, 6.417",\
"1.955, 2.001, 2.13, 2.352, 2.688, 3.158, 3.775, 4.552, 5.5, 6.632",\
"2.194, 2.24, 2.37, 2.591, 2.927, 3.397, 4.014, 4.791, 5.739, 6.87",\
"2.463, 2.508, 2.638, 2.86, 3.196, 3.665, 4.282, 5.059, 6.008, 7.137",\
"2.762, 2.807, 2.936, 3.157, 3.493, 3.963, 4.58, 5.357, 6.304, 7.436",\
"3.087, 3.132, 3.262, 3.483, 3.819, 4.29, 4.906, 5.683, 6.63, 7.76");
}
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.00555, 0.02152, 0.05202, 0.09954, 0.1662, 0.2539, 0.3645, 0.4994, 0.6602");
values("0.1376, 0.1752, 0.2814, 0.4378, 0.6702, 1.017, 1.496, 2.11, 2.873, 3.779",\
"0.1382, 0.175, 0.2812, 0.4378, 0.6704, 1.017, 1.496, 2.11, 2.873, 3.777",\
"0.1376, 0.175, 0.2814, 0.4378, 0.6706, 1.017, 1.494, 2.109, 2.87, 3.775",\
"0.1374, 0.175, 0.2818, 0.4378, 0.6708, 1.017, 1.497, 2.11, 2.873, 3.774",\
"0.1378, 0.1752, 0.2816, 0.4376, 0.6702, 1.017, 1.493, 2.113, 2.871, 3.777",\
"0.138, 0.1758, 0.282, 0.4382, 0.6712, 1.017, 1.494, 2.113, 2.871, 3.775",\
"0.1382, 0.1756, 0.2818, 0.4386, 0.6712, 1.017, 1.497, 2.111, 2.87, 3.782",\
"0.1386, 0.1758, 0.2822, 0.4384, 0.6714, 1.018, 1.494, 2.109, 2.867, 3.779",\
"0.1388, 0.1762, 0.2822, 0.4388, 0.671, 1.018, 1.497, 2.11, 2.867, 3.773",\
"0.1396, 0.177, 0.2828, 0.4394, 0.6712, 1.017, 1.495, 2.109, 2.867, 3.779");
}
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.00555, 0.02152, 0.05202, 0.09954, 0.1662, 0.2539, 0.3645, 0.4994, 0.6602");
values("0.1456, 0.1998, 0.3814, 0.7468, 1.336, 2.172, 3.282, 4.668, 6.366, 8.394",\
"0.1454, 0.2, 0.3816, 0.7462, 1.336, 2.175, 3.282, 4.667, 6.367, 8.394",\
"0.1444, 0.2, 0.3814, 0.7464, 1.337, 2.174, 3.282, 4.668, 6.367, 8.394",\
"0.1444, 0.2002, 0.381, 0.747, 1.336, 2.174, 3.282, 4.669, 6.367, 8.394",\
"0.1446, 0.2002, 0.3812, 0.747, 1.336, 2.174, 3.28, 4.666, 6.365, 8.418",\
"0.1444, 0.1998, 0.3816, 0.7468, 1.336, 2.175, 3.282, 4.669, 6.367, 8.409",\
"0.1446, 0.1998, 0.3814, 0.7468, 1.338, 2.174, 3.28, 4.668, 6.364, 8.394",\
"0.1452, 0.2, 0.381, 0.7462, 1.337, 2.173, 3.275, 4.668, 6.367, 8.394",\
"0.1434, 0.1996, 0.381, 0.7468, 1.337, 2.175, 3.278, 4.671, 6.362, 8.387",\
"0.144, 0.1998, 0.3808, 0.7464, 1.335, 2.173, 3.277, 4.667, 6.368, 8.404");
}
}
}
}