blob: 15db72467ddea0148cc754b7a218ebf1b84dd2b6 [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.0077094" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.010728" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.0065016" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.01065348" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.010728" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
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 : 5.2 ;
min_period : 0.969 ;
min_pulse_width_high : 0.427 ;
min_pulse_width_low : 0.465 ;
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.2109, 0.2105, 0.2135, 0.229, 0.2607, 0.3096, 0.3772, 0.4641, \
0.5711, 0.6992");
}
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.1345, 0.1341, 0.1367, 0.1499, 0.1767, 0.2193, 0.2787, 0.3557, \
0.4511, 0.5656");
}
}
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.2112, 0.2107, 0.2136, 0.2293, 0.2609, 0.3099, 0.3775, 0.4642, \
0.5714, 0.6993");
}
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.1343, 0.134, 0.1365, 0.1498, 0.1765, 0.219, 0.2785, 0.3554, \
0.4509, 0.5654");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.44");
}
rise_constraint(scalar) {
values("0.427");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.465");
}
rise_constraint(scalar) {
values("0.379");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("0.919");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("0.969");
}
}
}
pin(D) {
capacitance : 0.003869 ;
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 : "!CLKN" ;
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.04847, 0.04817, 0.05277, 0.06627, 0.08999, 0.1249, 0.1716, 0.2311, \
0.3042, 0.3916");
}
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.004865, 0.00457, 0.007454, 0.01814, 0.03834, 0.06898, 0.1103, \
0.1634, 0.2287, 0.3069");
}
}
internal_power() {
when : "CLKN" ;
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.1659, 0.1658, 0.169, 0.1808, 0.2048, 0.2422, 0.2938, 0.3602, \
0.442, 0.5398");
}
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.1161, 0.1159, 0.1185, 0.1283, 0.1478, 0.1789, 0.2225, 0.2793, \
0.3503, 0.4358");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
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.034, 0.046, 0.074, 0.129, 0.191, 0.265, 0.357, 0.457, 0.593, 0.734",\
"0.025, 0.036, 0.069, 0.12, 0.18, 0.262, 0.344, 0.453, 0.587, 0.724",\
"-0.013, -0.003, 0.029, 0.079, 0.143, 0.219, 0.305, 0.411, 0.542, 0.681",\
"-0.076, -0.064, -0.031, 0.015, 0.078, 0.154, 0.236, 0.338, 0.462, 0.609",\
"-0.156, -0.149, -0.115, -0.065, -0, 0.063, 0.146, 0.246, 0.366, 0.499",\
"-0.251, -0.239, -0.211, -0.164, -0.108, -0.041, 0.043, 0.128, 0.247, 0.375",\
"-0.361, -0.354, -0.322, -0.28, -0.225, -0.161, -0.085, -0.002, 0.107, 0.229",\
"-0.486, -0.482, -0.449, -0.404, -0.357, -0.301, -0.227, -0.148, -0.048, 0.068",\
"-0.632, -0.626, -0.593, -0.554, -0.512, -0.454, -0.39, -0.316, -0.219, -0.106",\
"-0.792, -0.782, -0.748, -0.72, -0.683, -0.63, -0.57, -0.498, -0.406, -0.3");
}
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.126, 0.136, 0.17, 0.235, 0.333, 0.446, 0.572, 0.724, 0.88, 1.055",\
"0.121, 0.128, 0.163, 0.231, 0.327, 0.439, 0.568, 0.716, 0.876, 1.054",\
"0.101, 0.11, 0.141, 0.209, 0.306, 0.417, 0.547, 0.699, 0.855, 1.032",\
"0.083, 0.089, 0.124, 0.192, 0.286, 0.398, 0.533, 0.68, 0.836, 1.016",\
"0.072, 0.081, 0.112, 0.184, 0.286, 0.397, 0.527, 0.671, 0.829, 1.012",\
"0.08, 0.092, 0.12, 0.193, 0.293, 0.401, 0.531, 0.677, 0.842, 1.019",\
"0.111, 0.121, 0.155, 0.219, 0.321, 0.429, 0.557, 0.704, 0.864, 1.043",\
"0.173, 0.177, 0.213, 0.28, 0.372, 0.473, 0.6, 0.748, 0.906, 1.084",\
"0.268, 0.272, 0.301, 0.361, 0.448, 0.542, 0.664, 0.803, 0.964, 1.139",\
"0.391, 0.396, 0.423, 0.48, 0.557, 0.642, 0.76, 0.9, 1.049, 1.218");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
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.303, 0.293, 0.258, 0.189, 0.112, 0.02, -0.087, -0.205, -0.336, -0.483",\
"0.315, 0.304, 0.27, 0.2, 0.118, 0.03, -0.076, -0.19, -0.326, -0.478",\
"0.354, 0.342, 0.3, 0.238, 0.159, 0.071, -0.04, -0.161, -0.29, -0.437",\
"0.427, 0.412, 0.38, 0.311, 0.233, 0.137, 0.029, -0.087, -0.219, -0.362",\
"0.53, 0.52, 0.486, 0.418, 0.338, 0.243, 0.134, 0.021, -0.114, -0.258",\
"0.664, 0.654, 0.624, 0.558, 0.47, 0.374, 0.269, 0.149, 0.018, -0.129",\
"0.835, 0.819, 0.788, 0.716, 0.635, 0.54, 0.422, 0.31, 0.177, 0.034",\
"1.02, 1.008, 0.979, 0.904, 0.818, 0.719, 0.608, 0.487, 0.355, 0.216",\
"1.237, 1.224, 1.183, 1.118, 1.028, 0.926, 0.806, 0.691, 0.554, 0.41",\
"1.467, 1.455, 1.429, 1.354, 1.255, 1.154, 1.034, 0.918, 0.775, 0.637");
}
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.206, 0.191, 0.162, 0.103, 0.031, -0.04, -0.141, -0.227, -0.316, -0.426",\
"0.212, 0.198, 0.167, 0.11, 0.039, -0.047, -0.13, -0.213, -0.316, -0.426",\
"0.24, 0.22, 0.194, 0.132, 0.06, -0.02, -0.115, -0.208, -0.284, -0.404",\
"0.268, 0.259, 0.233, 0.166, 0.094, -0.004, -0.097, -0.196, -0.267, -0.396",\
"0.307, 0.3, 0.265, 0.203, 0.121, 0.02, -0.088, -0.182, -0.29, -0.404",\
"0.333, 0.331, 0.293, 0.229, 0.136, 0.034, -0.076, -0.201, -0.318, -0.431",\
"0.351, 0.339, 0.311, 0.242, 0.153, 0.043, -0.075, -0.208, -0.332, -0.474",\
"0.354, 0.341, 0.317, 0.246, 0.145, 0.039, -0.08, -0.225, -0.358, -0.517",\
"0.336, 0.327, 0.29, 0.219, 0.126, 0.015, -0.111, -0.247, -0.391, -0.56",\
"0.297, 0.284, 0.258, 0.182, 0.088, -0.022, -0.148, -0.294, -0.453, -0.613");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.7562 ;
max_transition : 5.2 ;
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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.001, 0.006212, 0.02451, 0.05945, 0.1139, 0.1903, 0.2908, 0.4174, 0.572, 0.7562");
values("0.416, 0.4068, 0.39, 0.3793, 0.3736, 0.3699, 0.3676, 0.366, 0.3649, 0.3642",\
"0.4159, 0.4066, 0.3899, 0.3792, 0.3733, 0.3698, 0.3674, 0.3658, 0.3648, 0.364",\
"0.4156, 0.4065, 0.3896, 0.3789, 0.3731, 0.3696, 0.3672, 0.3657, 0.3646, 0.3638",\
"0.4167, 0.4076, 0.3906, 0.38, 0.3741, 0.3706, 0.3682, 0.3667, 0.3656, 0.3648",\
"0.4202, 0.4112, 0.3943, 0.3834, 0.3776, 0.374, 0.3717, 0.3701, 0.369, 0.3682",\
"0.4264, 0.4171, 0.4, 0.3893, 0.3835, 0.3798, 0.3774, 0.3759, 0.3748, 0.374",\
"0.4344, 0.4254, 0.408, 0.3972, 0.3912, 0.3873, 0.3849, 0.3834, 0.3823, 0.3815",\
"0.4441, 0.435, 0.4179, 0.4066, 0.4007, 0.397, 0.3945, 0.393, 0.3919, 0.3911",\
"0.456, 0.4467, 0.4293, 0.4181, 0.412, 0.4083, 0.4058, 0.4042, 0.4031, 0.4023",\
"0.4698, 0.4605, 0.4428, 0.4313, 0.4251, 0.4211, 0.4187, 0.4171, 0.416, 0.4152");
}
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.006212, 0.02451, 0.05945, 0.1139, 0.1903, 0.2908, 0.4174, 0.572, 0.7562");
values("0.4523, 0.4444, 0.4328, 0.4263, 0.4227, 0.4221, 0.4227, 0.4237, 0.425, 0.4264",\
"0.4522, 0.444, 0.4325, 0.4261, 0.4225, 0.4219, 0.4226, 0.4235, 0.4241, 0.4255",\
"0.4526, 0.4447, 0.4331, 0.4266, 0.4228, 0.4221, 0.4229, 0.4242, 0.4251, 0.4258",\
"0.4542, 0.4463, 0.4347, 0.4282, 0.4246, 0.424, 0.4249, 0.4255, 0.4264, 0.4274",\
"0.4569, 0.4494, 0.4374, 0.4311, 0.4275, 0.4269, 0.4274, 0.4284, 0.43, 0.4318",\
"0.461, 0.4527, 0.4416, 0.4349, 0.4314, 0.4308, 0.4318, 0.4324, 0.4333, 0.4349",\
"0.4661, 0.4581, 0.4472, 0.4407, 0.4376, 0.4363, 0.4368, 0.4375, 0.4387, 0.4407",\
"0.472, 0.4646, 0.4538, 0.4464, 0.4433, 0.4438, 0.4437, 0.4443, 0.4456, 0.4461",\
"0.4784, 0.4705, 0.4595, 0.4517, 0.4484, 0.4482, 0.4511, 0.4521, 0.4537, 0.454",\
"0.4851, 0.4773, 0.4665, 0.4598, 0.4557, 0.4536, 0.4549, 0.4595, 0.4619, 0.464");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_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.006212, 0.02451, 0.05945, 0.1139, 0.1903, 0.2908, 0.4174, 0.572, 0.7562");
values("0.6296, 0.6544, 0.7194, 0.814, 0.9385, 1.102, 1.314, 1.58, 1.905, 2.293",\
"0.638, 0.6629, 0.7278, 0.8224, 0.9469, 1.11, 1.322, 1.588, 1.913, 2.301",\
"0.6739, 0.6987, 0.7636, 0.8582, 0.9828, 1.146, 1.358, 1.624, 1.949, 2.337",\
"0.7471, 0.772, 0.8369, 0.9316, 1.056, 1.219, 1.431, 1.697, 2.022, 2.41",\
"0.8493, 0.874, 0.9391, 1.034, 1.158, 1.322, 1.533, 1.8, 2.125, 2.513",\
"0.9722, 0.9971, 1.062, 1.157, 1.281, 1.445, 1.656, 1.922, 2.248, 2.636",\
"1.114, 1.139, 1.204, 1.298, 1.423, 1.586, 1.798, 2.064, 2.389, 2.777",\
"1.272, 1.297, 1.362, 1.457, 1.581, 1.745, 1.956, 2.223, 2.547, 2.935",\
"1.448, 1.473, 1.537, 1.632, 1.757, 1.92, 2.132, 2.398, 2.723, 3.111",\
"1.641, 1.666, 1.731, 1.826, 1.95, 2.114, 2.325, 2.592, 2.916, 3.304");
}
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.006212, 0.02451, 0.05945, 0.1139, 0.1903, 0.2908, 0.4174, 0.572, 0.7562");
values("0.6955, 0.7209, 0.7945, 0.9243, 1.125, 1.408, 1.78, 2.249, 2.824, 3.507",\
"0.7039, 0.7291, 0.8028, 0.9326, 1.133, 1.416, 1.788, 2.258, 2.831, 3.516",\
"0.7402, 0.7656, 0.8392, 0.969, 1.169, 1.452, 1.825, 2.294, 2.868, 3.552",\
"0.8144, 0.8398, 0.9134, 1.043, 1.244, 1.526, 1.899, 2.368, 2.942, 3.627",\
"0.9171, 0.9426, 1.016, 1.146, 1.346, 1.629, 2.002, 2.471, 3.046, 3.731",\
"1.041, 1.066, 1.14, 1.269, 1.47, 1.753, 2.125, 2.594, 3.168, 3.853",\
"1.183, 1.208, 1.282, 1.411, 1.612, 1.894, 2.267, 2.736, 3.311, 3.994",\
"1.34, 1.366, 1.439, 1.569, 1.769, 2.052, 2.424, 2.894, 3.468, 4.153",\
"1.513, 1.538, 1.612, 1.741, 1.942, 2.224, 2.597, 3.066, 3.64, 4.324",\
"1.701, 1.727, 1.8, 1.93, 2.131, 2.413, 2.786, 3.256, 3.829, 4.512");
}
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.006212, 0.02451, 0.05945, 0.1139, 0.1903, 0.2908, 0.4174, 0.572, 0.7562");
values("0.0819, 0.1074, 0.1774, 0.2895, 0.4647, 0.7248, 1.082, 1.538, 2.097, 2.765",\
"0.08192, 0.1072, 0.1774, 0.29, 0.4647, 0.7246, 1.081, 1.538, 2.095, 2.765",\
"0.08198, 0.1073, 0.1773, 0.2901, 0.4646, 0.7252, 1.081, 1.539, 2.094, 2.764",\
"0.0819, 0.1076, 0.1774, 0.29, 0.4648, 0.7258, 1.082, 1.538, 2.095, 2.762",\
"0.0822, 0.1076, 0.1774, 0.2898, 0.4646, 0.7246, 1.081, 1.538, 2.095, 2.765",\
"0.0822, 0.1074, 0.1774, 0.29, 0.4646, 0.7256, 1.082, 1.538, 2.097, 2.765",\
"0.0826, 0.108, 0.1778, 0.2904, 0.4648, 0.725, 1.082, 1.538, 2.095, 2.76",\
"0.0826, 0.1086, 0.178, 0.2902, 0.4648, 0.7252, 1.081, 1.535, 2.095, 2.762",\
"0.083, 0.1084, 0.1786, 0.2906, 0.4652, 0.726, 1.083, 1.536, 2.094, 2.759",\
"0.0834, 0.109, 0.1786, 0.2908, 0.4652, 0.7248, 1.082, 1.537, 2.094, 2.758");
}
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.006212, 0.02451, 0.05945, 0.1139, 0.1903, 0.2908, 0.4174, 0.572, 0.7562");
values("0.08154, 0.1139, 0.2265, 0.4521, 0.8178, 1.339, 2.022, 2.883, 3.93, 5.183",\
"0.08156, 0.1145, 0.2265, 0.4521, 0.8175, 1.337, 2.023, 2.881, 3.929, 5.179",\
"0.08154, 0.1139, 0.2267, 0.452, 0.8176, 1.338, 2.021, 2.88, 3.927, 5.178",\
"0.0814, 0.1138, 0.2264, 0.4528, 0.8176, 1.338, 2.022, 2.881, 3.93, 5.179",\
"0.082, 0.1136, 0.2264, 0.452, 0.8174, 1.337, 2.019, 2.883, 3.93, 5.188",\
"0.0812, 0.1134, 0.2266, 0.4522, 0.8176, 1.337, 2.023, 2.881, 3.929, 5.179",\
"0.0814, 0.1132, 0.2262, 0.452, 0.8178, 1.336, 2.023, 2.883, 3.927, 5.181",\
"0.0814, 0.1134, 0.2266, 0.4528, 0.8174, 1.338, 2.02, 2.885, 3.93, 5.178",\
"0.0812, 0.113, 0.226, 0.4522, 0.8188, 1.337, 2.019, 2.88, 3.937, 5.184",\
"0.0812, 0.113, 0.226, 0.452, 0.8188, 1.337, 2.023, 2.878, 3.93, 5.189");
}
}
}
}