blob: 034c4b652585c3e04465a25c67ea3c1196fc1ac3 [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_2) {
area : 84.672000 ;
ff(IQ1,IQN1) {
clocked_on : "CLK" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&!D" ;
value : "0.0156772" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.02394205" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.0150634" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.0210771" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.02394205" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.004975 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 3.6 ;
min_period : 0.724 ;
min_pulse_width_high : 0.318 ;
min_pulse_width_low : 0.354 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.5038, 0.5041, 0.5185, 0.571, 0.673, 0.8264, 1.035, 1.299, 1.624, \
2.01");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.3246, 0.3246, 0.3351, 0.3792, 0.4654, 0.5995, 0.7834, 1.021, \
1.313, 1.662");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.5088, 0.5089, 0.5233, 0.5764, 0.6779, 0.8316, 1.039, 1.304, \
1.627, 2.012");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.3225, 0.3224, 0.3332, 0.3776, 0.4637, 0.5983, 0.7827, 1.019, \
1.311, 1.659");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.354");
}
rise_constraint(scalar) {
values("0.275");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.282");
}
rise_constraint(scalar) {
values("0.318");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("0.724");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("0.655");
}
}
}
pin(D) {
capacitance : 0.003883 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 3.6 ;
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.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.3059, 0.3051, 0.3107, 0.3391, 0.3979, 0.4882, 0.6106, 0.7654, \
0.9534, 1.177");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.1933, 0.1941, 0.2007, 0.2257, 0.2746, 0.3511, 0.4558, 0.5903, \
0.7556, 0.9526");
}
}
internal_power() {
when : "CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.02644, 0.02643, 0.02643, 0.0265, 0.02647, 0.02653, 0.02648, \
0.02655, 0.02655, 0.02654");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("-0.0304, -0.03043, -0.03033, -0.03027, -0.03018, -0.03019, -0.03018, \
-0.03028, -0.0303, -0.03034");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.12, 0.124, 0.143, 0.166, 0.195, 0.209, 0.223, 0.215, 0.209, 0.19",\
"0.117, 0.12, 0.134, 0.16, 0.191, 0.206, 0.218, 0.211, 0.202, 0.19",\
"0.107, 0.105, 0.119, 0.147, 0.171, 0.186, 0.2, 0.193, 0.189, 0.171",\
"0.08, 0.085, 0.1, 0.129, 0.148, 0.161, 0.174, 0.163, 0.153, 0.141",\
"0.065, 0.068, 0.087, 0.104, 0.135, 0.14, 0.146, 0.135, 0.121, 0.102",\
"0.051, 0.058, 0.073, 0.089, 0.121, 0.118, 0.127, 0.109, 0.091, 0.073",\
"0.044, 0.046, 0.061, 0.083, 0.109, 0.103, 0.107, 0.075, 0.064, 0.049",\
"0.031, 0.037, 0.054, 0.066, 0.102, 0.092, 0.096, 0.06, 0.036, 0.026",\
"0.024, 0.032, 0.052, 0.055, 0.095, 0.074, 0.069, 0.023, -0, -0.002",\
"0.02, 0.021, 0.053, 0.044, 0.079, 0.056, 0.05, -0.013, -0.03, -0.027");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.04, 0.044, 0.057, 0.073, 0.084, 0.09, 0.09, 0.076, 0.061, 0.035",\
"0.037, 0.04, 0.052, 0.075, 0.086, 0.085, 0.09, 0.076, 0.06, 0.034",\
"0.028, 0.031, 0.039, 0.063, 0.073, 0.082, 0.082, 0.069, 0.058, 0.031",\
"0.02, 0.022, 0.035, 0.049, 0.059, 0.064, 0.064, 0.049, 0.03, 0.005",\
"0.01, 0.011, 0.025, 0.036, 0.039, 0.042, 0.031, 0.016, -0.004, -0.033",\
"0.011, 0.012, 0.023, 0.033, 0.032, 0.03, 0.012, -0.01, -0.037, -0.079",\
"0.029, 0.03, 0.035, 0.055, 0.041, 0.025, 0.007, -0.028, -0.064, -0.111",\
"0.068, 0.064, 0.071, 0.084, 0.063, 0.048, 0.019, -0.02, -0.069, -0.125",\
"0.123, 0.118, 0.125, 0.132, 0.104, 0.083, 0.039, -0.006, -0.061, -0.125",\
"0.193, 0.186, 0.194, 0.191, 0.162, 0.124, 0.087, 0.029, -0.038, -0.105");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.132, 0.129, 0.114, 0.086, 0.065, 0.04, 0.036, 0.036, 0.052, 0.083",\
"0.137, 0.133, 0.114, 0.09, 0.068, 0.047, 0.038, 0.043, 0.054, 0.085",\
"0.159, 0.151, 0.139, 0.113, 0.087, 0.066, 0.061, 0.06, 0.074, 0.11",\
"0.204, 0.2, 0.18, 0.161, 0.13, 0.116, 0.11, 0.107, 0.124, 0.152",\
"0.281, 0.272, 0.261, 0.232, 0.206, 0.195, 0.181, 0.182, 0.195, 0.224",\
"0.378, 0.373, 0.353, 0.335, 0.303, 0.286, 0.278, 0.279, 0.294, 0.32",\
"0.491, 0.481, 0.468, 0.44, 0.416, 0.398, 0.394, 0.387, 0.404, 0.432",\
"0.611, 0.611, 0.59, 0.57, 0.538, 0.526, 0.52, 0.519, 0.531, 0.557",\
"0.759, 0.75, 0.731, 0.708, 0.678, 0.659, 0.655, 0.655, 0.67, 0.689",\
"0.909, 0.914, 0.892, 0.863, 0.838, 0.818, 0.807, 0.809, 0.825, 0.848");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.172, 0.173, 0.161, 0.13, 0.121, 0.118, 0.131, 0.137, 0.172, 0.22",\
"0.18, 0.173, 0.163, 0.136, 0.125, 0.122, 0.126, 0.14, 0.175, 0.213",\
"0.198, 0.192, 0.178, 0.152, 0.141, 0.134, 0.144, 0.155, 0.184, 0.231",\
"0.215, 0.211, 0.2, 0.178, 0.167, 0.158, 0.165, 0.179, 0.209, 0.259",\
"0.242, 0.232, 0.225, 0.2, 0.187, 0.178, 0.187, 0.208, 0.237, 0.291",\
"0.254, 0.252, 0.236, 0.217, 0.213, 0.207, 0.218, 0.234, 0.276, 0.32",\
"0.271, 0.266, 0.258, 0.238, 0.229, 0.217, 0.236, 0.25, 0.296, 0.352",\
"0.274, 0.276, 0.26, 0.24, 0.228, 0.221, 0.238, 0.259, 0.303, 0.372",\
"0.272, 0.273, 0.255, 0.23, 0.229, 0.219, 0.234, 0.252, 0.301, 0.364",\
"0.253, 0.254, 0.237, 0.219, 0.206, 0.196, 0.221, 0.232, 0.292, 0.367");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.7224 ;
max_transition : 3.6 ;
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.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.001, 0.005979, 0.02346, 0.05683, 0.1088, 0.1818, 0.2778, 0.3987, 0.5464, 0.7224");
values("0.9078, 0.8854, 0.8419, 0.81, 0.7911, 0.7794, 0.7716, 0.7667, 0.7632, 0.7607",\
"0.9078, 0.8853, 0.842, 0.8104, 0.7916, 0.7795, 0.7715, 0.7669, 0.7631, 0.7606",\
"0.9088, 0.8859, 0.8425, 0.8105, 0.7916, 0.7799, 0.7721, 0.7673, 0.7637, 0.7617",\
"0.9124, 0.8896, 0.846, 0.8144, 0.7957, 0.7835, 0.7758, 0.7706, 0.7674, 0.7648",\
"0.9188, 0.8961, 0.8524, 0.8205, 0.802, 0.79, 0.7825, 0.7772, 0.774, 0.7715",\
"0.9265, 0.9044, 0.8615, 0.829, 0.8103, 0.7985, 0.7909, 0.7858, 0.7822, 0.7797",\
"0.9377, 0.9156, 0.8713, 0.84, 0.8218, 0.8102, 0.8022, 0.7973, 0.7937, 0.7912",\
"0.9507, 0.9283, 0.8844, 0.8526, 0.834, 0.8232, 0.8154, 0.8102, 0.8065, 0.8038",\
"0.9654, 0.9434, 0.8994, 0.8673, 0.8487, 0.8368, 0.8297, 0.8242, 0.8208, 0.8182",\
"0.9819, 0.9594, 0.9159, 0.8836, 0.8656, 0.8537, 0.8456, 0.8409, 0.837, 0.8351");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.001, 0.005979, 0.02346, 0.05683, 0.1088, 0.1818, 0.2778, 0.3987, 0.5464, 0.7224");
values("0.8395, 0.8204, 0.7866, 0.7643, 0.7472, 0.7397, 0.7374, 0.7384, 0.7386, 0.7422",\
"0.8396, 0.8199, 0.7863, 0.7635, 0.7478, 0.7404, 0.7364, 0.7385, 0.7415, 0.7402",\
"0.8392, 0.8195, 0.7857, 0.7626, 0.7469, 0.7395, 0.7377, 0.7376, 0.7388, 0.7425",\
"0.8431, 0.8238, 0.7911, 0.7673, 0.7513, 0.744, 0.7417, 0.7416, 0.744, 0.7476",\
"0.8531, 0.8334, 0.7993, 0.7755, 0.7607, 0.7553, 0.7491, 0.7512, 0.7541, 0.7567",\
"0.8688, 0.8489, 0.8157, 0.7934, 0.7762, 0.7681, 0.7668, 0.7673, 0.7686, 0.7695",\
"0.891, 0.8705, 0.8355, 0.8124, 0.798, 0.7922, 0.7876, 0.787, 0.7872, 0.7925",\
"0.9198, 0.8996, 0.8654, 0.8384, 0.8237, 0.8178, 0.8171, 0.8187, 0.8183, 0.8181",\
"0.9548, 0.9349, 0.9014, 0.876, 0.8567, 0.8473, 0.8488, 0.8559, 0.8555, 0.8586",\
"0.9975, 0.9762, 0.9431, 0.9137, 0.8961, 0.8852, 0.8839, 0.8871, 0.9016, 0.8981");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.001, 0.005979, 0.02346, 0.05683, 0.1088, 0.1818, 0.2778, 0.3987, 0.5464, 0.7224");
values("0.4898, 0.5068, 0.552, 0.6207, 0.7173, 0.8482, 1.02, 1.236, 1.501, 1.817",\
"0.4932, 0.5102, 0.5554, 0.6241, 0.7206, 0.8516, 1.023, 1.24, 1.505, 1.82",\
"0.5083, 0.5253, 0.5706, 0.6393, 0.7358, 0.8667, 1.038, 1.255, 1.52, 1.835",\
"0.5365, 0.5535, 0.5987, 0.6674, 0.7639, 0.8949, 1.066, 1.283, 1.548, 1.864",\
"0.5649, 0.582, 0.6271, 0.6959, 0.7924, 0.9233, 1.095, 1.312, 1.576, 1.892",\
"0.5883, 0.6054, 0.6505, 0.7193, 0.8158, 0.9468, 1.118, 1.335, 1.6, 1.916",\
"0.6038, 0.6209, 0.666, 0.7347, 0.8312, 0.9621, 1.134, 1.35, 1.615, 1.931",\
"0.6099, 0.627, 0.6722, 0.7409, 0.8374, 0.9683, 1.14, 1.357, 1.621, 1.937",\
"0.6054, 0.6224, 0.6675, 0.7363, 0.8328, 0.9637, 1.135, 1.352, 1.617, 1.932",\
"0.5896, 0.6066, 0.6518, 0.7206, 0.817, 0.948, 1.12, 1.337, 1.601, 1.917");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.001, 0.005979, 0.02346, 0.05683, 0.1088, 0.1818, 0.2778, 0.3987, 0.5464, 0.7224");
values("0.4523, 0.4696, 0.5183, 0.6058, 0.743, 0.9375, 1.194, 1.519, 1.915, 2.388",\
"0.4557, 0.4729, 0.5217, 0.6091, 0.7463, 0.9409, 1.198, 1.522, 1.918, 2.392",\
"0.4704, 0.4876, 0.5366, 0.6238, 0.7611, 0.9555, 1.212, 1.537, 1.933, 2.406",\
"0.498, 0.5155, 0.5643, 0.6516, 0.7887, 0.9832, 1.24, 1.564, 1.96, 2.434",\
"0.5261, 0.5433, 0.5922, 0.6794, 0.8167, 1.011, 1.268, 1.592, 1.988, 2.462",\
"0.5494, 0.5668, 0.6156, 0.7029, 0.8399, 1.035, 1.291, 1.616, 2.012, 2.485",\
"0.5659, 0.5832, 0.6322, 0.7193, 0.8563, 1.051, 1.307, 1.632, 2.028, 2.502",\
"0.574, 0.5913, 0.64, 0.7274, 0.8644, 1.059, 1.315, 1.64, 2.036, 2.509",\
"0.5726, 0.5901, 0.6391, 0.7263, 0.8631, 1.057, 1.314, 1.638, 2.034, 2.507",\
"0.5612, 0.5785, 0.6278, 0.7146, 0.8514, 1.046, 1.302, 1.626, 2.022, 2.495");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.001, 0.005979, 0.02346, 0.05683, 0.1088, 0.1818, 0.2778, 0.3987, 0.5464, 0.7224");
values("0.05918, 0.07812, 0.1291, 0.2192, 0.3654, 0.5813, 0.8714, 1.242, 1.694, 2.234",\
"0.05906, 0.07812, 0.1291, 0.2192, 0.3655, 0.5814, 0.8713, 1.241, 1.694, 2.233",\
"0.05908, 0.07812, 0.1291, 0.2191, 0.3654, 0.5811, 0.8719, 1.242, 1.694, 2.232",\
"0.05918, 0.0781, 0.1291, 0.2192, 0.3654, 0.5806, 0.8728, 1.241, 1.693, 2.233",\
"0.05932, 0.0778, 0.1292, 0.219, 0.3652, 0.5808, 0.8728, 1.242, 1.693, 2.23",\
"0.059, 0.0778, 0.129, 0.219, 0.3652, 0.5812, 0.8726, 1.241, 1.692, 2.233",\
"0.059, 0.0778, 0.1288, 0.2188, 0.3658, 0.5802, 0.8712, 1.242, 1.693, 2.23",\
"0.0588, 0.0776, 0.1286, 0.2188, 0.3652, 0.5804, 0.8706, 1.24, 1.69, 2.23",\
"0.0588, 0.0776, 0.1286, 0.2188, 0.3656, 0.5802, 0.8716, 1.241, 1.691, 2.228",\
"0.0592, 0.0776, 0.129, 0.2188, 0.3652, 0.5806, 0.8718, 1.241, 1.691, 2.229");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.001, 0.005979, 0.02346, 0.05683, 0.1088, 0.1818, 0.2778, 0.3987, 0.5464, 0.7224");
values("0.06054, 0.08196, 0.1571, 0.3141, 0.568, 0.9273, 1.4, 2, 2.724, 3.591",\
"0.06052, 0.08184, 0.1562, 0.3135, 0.5681, 0.9273, 1.403, 1.996, 2.724, 3.591",\
"0.06056, 0.08196, 0.1563, 0.3134, 0.5679, 0.9269, 1.4, 2, 2.722, 3.592",\
"0.06058, 0.08184, 0.157, 0.3137, 0.5681, 0.9276, 1.401, 1.996, 2.723, 3.591",\
"0.06044, 0.08188, 0.1564, 0.3137, 0.568, 0.929, 1.403, 1.996, 2.724, 3.591",\
"0.0606, 0.082, 0.1566, 0.3138, 0.5682, 0.9274, 1.402, 2, 2.723, 3.589",\
"0.0608, 0.0822, 0.1566, 0.3144, 0.5686, 0.9278, 1.401, 1.997, 2.724, 3.591",\
"0.0608, 0.0822, 0.157, 0.3136, 0.5682, 0.9284, 1.401, 1.998, 2.729, 3.591",\
"0.0612, 0.0826, 0.1574, 0.3144, 0.5686, 0.928, 1.4, 1.996, 2.725, 3.591",\
"0.0616, 0.083, 0.1578, 0.3142, 0.5678, 0.9274, 1.402, 1.997, 2.724, 3.591");
}
}
}
}