blob: 0638d9494489c5a5f16195dc48e3b13c6cacdd4c [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_4) {
area : 98.784000 ;
ff(IQ1,IQN1) {
clocked_on : "(!CLKN)" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&!D" ;
value : "0.0002995452" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.0003145212" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.0002551392" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.0002502072" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.0003145212" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.004917 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 4.4 ;
min_period : 0.719 ;
min_pulse_width_high : 0.254 ;
min_pulse_width_low : 0.363 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.2027, 0.202, 0.2051, 0.2201, 0.2486, 0.2925, 0.3531, 0.4305, \
0.5264, 0.6408");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.1289, 0.1283, 0.1308, 0.1433, 0.1674, 0.2058, 0.259, 0.3278, \
0.4126, 0.5144");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.203, 0.2024, 0.2054, 0.2204, 0.249, 0.2929, 0.3533, 0.4307, \
0.5264, 0.641");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.1286, 0.1281, 0.1307, 0.143, 0.1671, 0.2054, 0.2588, 0.3276, \
0.4126, 0.5142");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.336");
}
rise_constraint(scalar) {
values("0.254");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.363");
}
rise_constraint(scalar) {
values("0.241");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("0.671");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("0.719");
}
}
}
pin(D) {
capacitance : 0.003792 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 4.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.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.04254, 0.04246, 0.04722, 0.06013, 0.08239, 0.1146, 0.1578, 0.2128, \
0.2801, 0.3607");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.004679, 0.004338, 0.007357, 0.01775, 0.03672, 0.06503, 0.1032, \
0.152, 0.212, 0.2837");
}
}
internal_power() {
when : "CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.1491, 0.1491, 0.1522, 0.1639, 0.1859, 0.2198, 0.2661, 0.3257, \
0.3989, 0.4863");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.09819, 0.09803, 0.1005, 0.1099, 0.1279, 0.1564, 0.196, 0.2475, \
0.311, 0.3875");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
index_2("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.017, 0.02, 0.053, 0.093, 0.142, 0.205, 0.284, 0.373, 0.481, 0.604",\
"0.006, 0.014, 0.038, 0.083, 0.136, 0.194, 0.278, 0.369, 0.475, 0.595",\
"-0.02, -0.011, 0.005, 0.057, 0.105, 0.168, 0.248, 0.331, 0.44, 0.564",\
"-0.075, -0.071, -0.042, -0, 0.05, 0.108, 0.186, 0.274, 0.38, 0.501",\
"-0.142, -0.136, -0.111, -0.062, -0.015, 0.04, 0.113, 0.202, 0.302, 0.418",\
"-0.218, -0.215, -0.19, -0.149, -0.098, -0.041, 0.029, 0.113, 0.21, 0.326",\
"-0.312, -0.306, -0.288, -0.246, -0.199, -0.145, -0.077, 0.003, 0.103, 0.209",\
"-0.424, -0.421, -0.392, -0.353, -0.305, -0.257, -0.194, -0.115, -0.02, 0.091",\
"-0.541, -0.544, -0.511, -0.473, -0.437, -0.387, -0.326, -0.249, -0.155, -0.048",\
"-0.681, -0.678, -0.655, -0.619, -0.582, -0.537, -0.47, -0.399, -0.308, -0.207");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
index_2("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.097, 0.102, 0.136, 0.196, 0.268, 0.362, 0.471, 0.583, 0.71, 0.856",\
"0.094, 0.096, 0.135, 0.185, 0.266, 0.356, 0.467, 0.575, 0.706, 0.849",\
"0.071, 0.086, 0.114, 0.174, 0.249, 0.341, 0.447, 0.559, 0.695, 0.835",\
"0.058, 0.068, 0.097, 0.157, 0.233, 0.329, 0.432, 0.547, 0.677, 0.825",\
"0.056, 0.059, 0.095, 0.151, 0.227, 0.319, 0.428, 0.542, 0.672, 0.819",\
"0.058, 0.061, 0.098, 0.153, 0.23, 0.322, 0.434, 0.552, 0.674, 0.821",\
"0.079, 0.082, 0.12, 0.168, 0.246, 0.339, 0.447, 0.56, 0.692, 0.836",\
"0.112, 0.114, 0.15, 0.199, 0.272, 0.36, 0.472, 0.584, 0.715, 0.864",\
"0.163, 0.174, 0.21, 0.25, 0.319, 0.408, 0.512, 0.628, 0.755, 0.898",\
"0.242, 0.245, 0.283, 0.323, 0.388, 0.473, 0.574, 0.691, 0.816, 0.956");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
index_2("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.172, 0.163, 0.137, 0.082, 0.02, -0.054, -0.145, -0.245, -0.354, -0.483",\
"0.183, 0.172, 0.148, 0.087, 0.031, -0.047, -0.136, -0.234, -0.347, -0.474",\
"0.21, 0.206, 0.173, 0.119, 0.059, -0.017, -0.099, -0.205, -0.317, -0.446",\
"0.275, 0.267, 0.24, 0.185, 0.12, 0.047, -0.044, -0.145, -0.25, -0.384",\
"0.358, 0.35, 0.321, 0.27, 0.204, 0.124, 0.036, -0.06, -0.177, -0.3",\
"0.461, 0.456, 0.428, 0.37, 0.3, 0.222, 0.137, 0.038, -0.078, -0.198",\
"0.592, 0.58, 0.556, 0.492, 0.422, 0.347, 0.258, 0.157, 0.046, -0.082",\
"0.73, 0.717, 0.693, 0.633, 0.566, 0.489, 0.39, 0.289, 0.182, 0.059",\
"0.888, 0.877, 0.853, 0.788, 0.717, 0.635, 0.543, 0.446, 0.333, 0.207",\
"1.065, 1.054, 1.027, 0.961, 0.888, 0.807, 0.716, 0.615, 0.504, 0.372");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
index_2("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.109, 0.106, 0.079, 0.028, -0.025, -0.08, -0.163, -0.22, -0.286, -0.384",\
"0.12, 0.11, 0.086, 0.037, -0.016, -0.087, -0.145, -0.214, -0.27, -0.374",\
"0.136, 0.135, 0.103, 0.053, -0.003, -0.06, -0.138, -0.191, -0.256, -0.361",\
"0.166, 0.16, 0.13, 0.083, 0.017, -0.051, -0.131, -0.195, -0.25, -0.348",\
"0.196, 0.183, 0.157, 0.099, 0.038, -0.04, -0.137, -0.218, -0.272, -0.363",\
"0.218, 0.208, 0.175, 0.117, 0.049, -0.036, -0.131, -0.23, -0.299, -0.401",\
"0.229, 0.221, 0.188, 0.127, 0.057, -0.029, -0.137, -0.24, -0.339, -0.455",\
"0.22, 0.214, 0.184, 0.124, 0.052, -0.039, -0.142, -0.253, -0.369, -0.499",\
"0.21, 0.193, 0.167, 0.111, 0.031, -0.055, -0.164, -0.275, -0.398, -0.533",\
"0.17, 0.164, 0.129, 0.072, -0.001, -0.094, -0.201, -0.317, -0.442, -0.585");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 1.809 ;
max_transition : 4.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.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
index_2("0.001, 0.01348, 0.05729, 0.1409, 0.2713, 0.4542, 0.6948, 0.998, 1.368, 1.809");
values("0.6061, 0.5787, 0.5324, 0.5079, 0.4955, 0.4882, 0.4835, 0.4804, 0.4781, 0.4766",\
"0.6061, 0.5789, 0.5325, 0.5082, 0.4958, 0.4883, 0.4835, 0.4804, 0.4783, 0.4768",\
"0.6057, 0.5785, 0.5323, 0.5078, 0.4954, 0.4878, 0.4831, 0.4799, 0.4777, 0.4763",\
"0.6066, 0.5795, 0.5332, 0.5088, 0.4962, 0.4887, 0.484, 0.4809, 0.4788, 0.4773",\
"0.6095, 0.5818, 0.5357, 0.5115, 0.4988, 0.4914, 0.4867, 0.4835, 0.4814, 0.4799",\
"0.6139, 0.5865, 0.54, 0.5157, 0.5027, 0.4953, 0.4905, 0.4874, 0.4853, 0.4838",\
"0.6193, 0.5917, 0.5451, 0.5205, 0.5076, 0.5004, 0.4955, 0.4924, 0.4903, 0.4886",\
"0.6264, 0.5988, 0.5521, 0.5275, 0.5146, 0.5071, 0.5024, 0.4992, 0.497, 0.4955",\
"0.635, 0.6075, 0.5604, 0.5352, 0.5221, 0.5146, 0.51, 0.5069, 0.5044, 0.5029",\
"0.6444, 0.6169, 0.5698, 0.5447, 0.5315, 0.5238, 0.519, 0.5158, 0.5136, 0.5121");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
index_2("0.001, 0.01348, 0.05729, 0.1409, 0.2713, 0.4542, 0.6948, 0.998, 1.368, 1.809");
values("0.5923, 0.5731, 0.5497, 0.5382, 0.5338, 0.5299, 0.5313, 0.5371, 0.5403, 0.5447",\
"0.5923, 0.5732, 0.5502, 0.538, 0.5314, 0.5323, 0.5344, 0.5369, 0.5404, 0.5453",\
"0.5927, 0.5737, 0.5505, 0.5375, 0.5317, 0.5308, 0.5318, 0.5372, 0.5418, 0.5474",\
"0.5945, 0.5744, 0.5511, 0.5392, 0.5336, 0.5327, 0.537, 0.5384, 0.5434, 0.5514",\
"0.5962, 0.577, 0.5537, 0.5411, 0.5364, 0.5379, 0.5368, 0.5408, 0.5454, 0.5513",\
"0.5999, 0.5804, 0.5593, 0.5447, 0.54, 0.5387, 0.5411, 0.5455, 0.5454, 0.5571",\
"0.6035, 0.5838, 0.5614, 0.5486, 0.5454, 0.5423, 0.5466, 0.5491, 0.5515, 0.5578",\
"0.6089, 0.5907, 0.5674, 0.5526, 0.5483, 0.5535, 0.5541, 0.5552, 0.558, 0.5632",\
"0.6131, 0.5937, 0.5704, 0.5576, 0.5527, 0.5521, 0.5632, 0.5625, 0.5646, 0.5683",\
"0.6183, 0.5994, 0.5773, 0.5647, 0.5569, 0.552, 0.5598, 0.5728, 0.5756, 0.579");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
index_2("0.001, 0.01348, 0.05729, 0.1409, 0.2713, 0.4542, 0.6948, 0.998, 1.368, 1.809");
values("0.4994, 0.5238, 0.5834, 0.6677, 0.7767, 0.9199, 1.106, 1.34, 1.626, 1.966",\
"0.5068, 0.531, 0.5908, 0.6751, 0.7841, 0.9273, 1.113, 1.347, 1.633, 1.974",\
"0.5378, 0.5621, 0.6218, 0.706, 0.8151, 0.9583, 1.144, 1.378, 1.664, 2.005",\
"0.5994, 0.6236, 0.6834, 0.7676, 0.8766, 1.02, 1.206, 1.44, 1.725, 2.066",\
"0.6811, 0.7055, 0.7652, 0.8494, 0.9585, 1.102, 1.288, 1.521, 1.807, 2.148",\
"0.7792, 0.8033, 0.8631, 0.9473, 1.056, 1.2, 1.385, 1.619, 1.905, 2.246",\
"0.8921, 0.9163, 0.9762, 1.06, 1.169, 1.313, 1.499, 1.733, 2.018, 2.359",\
"1.019, 1.043, 1.103, 1.187, 1.296, 1.44, 1.625, 1.859, 2.145, 2.486",\
"1.16, 1.184, 1.244, 1.329, 1.438, 1.581, 1.767, 2.001, 2.286, 2.627",\
"1.315, 1.34, 1.399, 1.484, 1.593, 1.736, 1.922, 2.156, 2.441, 2.782");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
index_2("0.001, 0.01348, 0.05729, 0.1409, 0.2713, 0.4542, 0.6948, 0.998, 1.368, 1.809");
values("0.5428, 0.566, 0.6318, 0.7477, 0.9274, 1.181, 1.515, 1.936, 2.45, 3.064",\
"0.5501, 0.5734, 0.6393, 0.755, 0.9347, 1.188, 1.522, 1.943, 2.457, 3.071",\
"0.5816, 0.6049, 0.6708, 0.7864, 0.9661, 1.22, 1.554, 1.975, 2.489, 3.103",\
"0.6432, 0.6664, 0.7323, 0.848, 1.028, 1.281, 1.615, 2.036, 2.551, 3.163",\
"0.7247, 0.7481, 0.814, 0.9296, 1.11, 1.363, 1.697, 2.118, 2.632, 3.246",\
"0.8227, 0.846, 0.9121, 1.028, 1.207, 1.461, 1.795, 2.216, 2.731, 3.343",\
"0.9354, 0.9587, 1.025, 1.14, 1.32, 1.573, 1.907, 2.329, 2.844, 3.456",\
"1.062, 1.085, 1.151, 1.267, 1.446, 1.7, 2.034, 2.455, 2.969, 3.582",\
"1.2, 1.223, 1.289, 1.405, 1.585, 1.839, 2.172, 2.593, 3.107, 3.72",\
"1.352, 1.375, 1.441, 1.557, 1.736, 1.99, 2.324, 2.745, 3.258, 3.871");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
index_2("0.001, 0.01348, 0.05729, 0.1409, 0.2713, 0.4542, 0.6948, 0.998, 1.368, 1.809");
values("0.06934, 0.09256, 0.1523, 0.246, 0.3925, 0.6131, 0.9158, 1.304, 1.777, 2.343",\
"0.0693, 0.09268, 0.1524, 0.2459, 0.3922, 0.6133, 0.9159, 1.304, 1.778, 2.344",\
"0.06904, 0.09282, 0.1524, 0.2459, 0.3921, 0.6139, 0.917, 1.304, 1.777, 2.344",\
"0.06894, 0.09272, 0.1524, 0.2462, 0.3918, 0.6138, 0.9166, 1.304, 1.776, 2.343",\
"0.069, 0.0924, 0.1524, 0.2462, 0.3924, 0.6134, 0.9174, 1.304, 1.776, 2.343",\
"0.069, 0.0926, 0.1524, 0.246, 0.3926, 0.6134, 0.917, 1.304, 1.778, 2.344",\
"0.0694, 0.0926, 0.1526, 0.2464, 0.3922, 0.6138, 0.9154, 1.303, 1.777, 2.342",\
"0.0692, 0.0924, 0.1526, 0.2464, 0.392, 0.6138, 0.916, 1.302, 1.777, 2.34",\
"0.0692, 0.093, 0.1528, 0.2466, 0.3924, 0.6136, 0.916, 1.303, 1.775, 2.34",\
"0.0696, 0.0934, 0.1532, 0.2468, 0.3922, 0.6136, 0.9168, 1.303, 1.776, 2.341");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
index_2("0.001, 0.01348, 0.05729, 0.1409, 0.2713, 0.4542, 0.6948, 0.998, 1.368, 1.809");
values("0.0579, 0.08586, 0.1814, 0.3731, 0.6851, 1.128, 1.709, 2.439, 3.332, 4.406",\
"0.05792, 0.08588, 0.1814, 0.3731, 0.686, 1.128, 1.709, 2.439, 3.333, 4.406",\
"0.05788, 0.08586, 0.1814, 0.373, 0.6852, 1.128, 1.709, 2.438, 3.331, 4.396",\
"0.05764, 0.08596, 0.1814, 0.3733, 0.686, 1.128, 1.709, 2.442, 3.337, 4.399",\
"0.0582, 0.0856, 0.1812, 0.3732, 0.6866, 1.127, 1.707, 2.438, 3.331, 4.396",\
"0.0578, 0.0856, 0.1812, 0.3738, 0.6854, 1.126, 1.707, 2.442, 3.338, 4.399",\
"0.0578, 0.0854, 0.1812, 0.3732, 0.6852, 1.127, 1.709, 2.442, 3.332, 4.398",\
"0.0576, 0.0848, 0.1814, 0.3732, 0.6852, 1.126, 1.707, 2.437, 3.33, 4.397",\
"0.058, 0.0852, 0.1814, 0.3732, 0.6854, 1.128, 1.707, 2.437, 3.336, 4.395",\
"0.058, 0.0852, 0.1812, 0.3732, 0.6852, 1.126, 1.706, 2.438, 3.329, 4.4");
}
}
}
}