blob: 7cbefa0078a2fb6b713aae98a8d69a6f56310206 [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.0087696" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.0140886" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.008649" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.01314252" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.0140886" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.004931 ;
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 : 1.019 ;
min_pulse_width_high : 0.497 ;
min_pulse_width_low : 0.506 ;
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.2068, 0.206, 0.2093, 0.2252, 0.2571, 0.3063, 0.3739, 0.4609, \
0.568, 0.696");
}
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.1341, 0.1339, 0.1364, 0.1497, 0.1763, 0.2188, 0.2782, 0.3552, \
0.4504, 0.5648");
}
}
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.2138, 0.2132, 0.2163, 0.2322, 0.2641, 0.3133, 0.3807, 0.4676, \
0.5746, 0.7023");
}
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.1338, 0.1334, 0.136, 0.1493, 0.1761, 0.2186, 0.278, 0.355, 0.4503, \
0.5645");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.506");
}
rise_constraint(scalar) {
values("0.401");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.403");
}
rise_constraint(scalar) {
values("0.497");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("1.019");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("1.012");
}
}
}
pin(D) {
capacitance : 0.003761 ;
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 : "!CLK" ;
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.1236, 0.1229, 0.1238, 0.1321, 0.1501, 0.1784, 0.2175, 0.2673, \
0.3283, 0.401");
}
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.08189, 0.08206, 0.0838, 0.09119, 0.1061, 0.1299, 0.1632, 0.2062, \
0.2593, 0.323");
}
}
internal_power() {
when : "CLK" ;
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.01203, 0.01202, 0.01202, 0.01202, 0.01205, 0.01203, 0.01206, \
0.01205, 0.01204, 0.01203");
}
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.01255, -0.01254, -0.01255, -0.01254, -0.01254, -0.01255, -0.0126, \
-0.01262, -0.01265, -0.01265");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
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.143, 0.148, 0.179, 0.215, 0.242, 0.258, 0.265, 0.25, 0.227, 0.181",\
"0.14, 0.142, 0.172, 0.203, 0.238, 0.254, 0.257, 0.251, 0.218, 0.174",\
"0.118, 0.12, 0.147, 0.184, 0.213, 0.227, 0.236, 0.224, 0.192, 0.152",\
"0.083, 0.089, 0.116, 0.15, 0.175, 0.191, 0.192, 0.179, 0.148, 0.106",\
"0.051, 0.055, 0.083, 0.115, 0.139, 0.152, 0.153, 0.136, 0.097, 0.051",\
"0.02, 0.023, 0.046, 0.08, 0.098, 0.109, 0.11, 0.087, 0.047, 0.002",\
"-0.023, -0.01, 0.011, 0.042, 0.055, 0.058, 0.056, 0.028, -0.009, -0.052",\
"-0.057, -0.055, -0.029, -0.004, 0.012, 0.003, 0.003, -0.028, -0.081, -0.118",\
"-0.098, -0.097, -0.079, -0.056, -0.05, -0.059, -0.063, -0.092, -0.152, -0.189",\
"-0.156, -0.148, -0.126, -0.113, -0.111, -0.129, -0.132, -0.175, -0.235, -0.269");
}
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.034, 0.04, 0.065, 0.082, 0.095, 0.093, 0.072, 0.042, -0, -0.05",\
"0.031, 0.036, 0.059, 0.078, 0.086, 0.085, 0.071, 0.041, -0.002, -0.053",\
"0.022, 0.026, 0.047, 0.071, 0.079, 0.078, 0.058, 0.029, -0.008, -0.06",\
"0.003, 0.012, 0.034, 0.052, 0.064, 0.06, 0.04, 0.012, -0.036, -0.087",\
"-0.004, 0.003, 0.019, 0.039, 0.043, 0.035, 0.016, -0.021, -0.067, -0.125",\
"0.005, 0.007, 0.029, 0.043, 0.037, 0.02, -0.008, -0.049, -0.102, -0.173",\
"0.031, 0.039, 0.057, 0.067, 0.055, 0.033, -0.005, -0.056, -0.119, -0.201",\
"0.091, 0.102, 0.111, 0.113, 0.095, 0.065, 0.021, -0.042, -0.114, -0.196",\
"0.179, 0.183, 0.193, 0.188, 0.167, 0.122, 0.068, -0.001, -0.076, -0.178",\
"0.288, 0.292, 0.304, 0.287, 0.256, 0.205, 0.148, 0.069, -0.02, -0.125");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
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.2, 0.197, 0.171, 0.129, 0.097, 0.073, 0.068, 0.077, 0.11, 0.166",\
"0.206, 0.198, 0.176, 0.137, 0.102, 0.084, 0.072, 0.087, 0.123, 0.176",\
"0.231, 0.229, 0.2, 0.165, 0.13, 0.104, 0.104, 0.111, 0.142, 0.205",\
"0.308, 0.294, 0.274, 0.233, 0.198, 0.184, 0.174, 0.18, 0.215, 0.266",\
"0.414, 0.405, 0.381, 0.342, 0.312, 0.287, 0.278, 0.289, 0.319, 0.373",\
"0.559, 0.554, 0.525, 0.483, 0.448, 0.428, 0.42, 0.426, 0.458, 0.507",\
"0.722, 0.715, 0.69, 0.653, 0.62, 0.598, 0.582, 0.588, 0.621, 0.665",\
"0.917, 0.91, 0.878, 0.838, 0.809, 0.782, 0.77, 0.776, 0.803, 0.851",\
"1.128, 1.116, 1.096, 1.053, 1.016, 0.991, 0.98, 0.989, 1.011, 1.054",\
"1.364, 1.358, 1.33, 1.285, 1.254, 1.226, 1.218, 1.221, 1.238, 1.287");
}
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.246, 0.236, 0.223, 0.189, 0.168, 0.163, 0.181, 0.217, 0.268, 0.346",\
"0.251, 0.241, 0.233, 0.193, 0.175, 0.169, 0.192, 0.222, 0.282, 0.357",\
"0.275, 0.267, 0.247, 0.221, 0.194, 0.195, 0.207, 0.244, 0.291, 0.37",\
"0.308, 0.301, 0.282, 0.249, 0.233, 0.231, 0.238, 0.272, 0.328, 0.404",\
"0.338, 0.327, 0.312, 0.28, 0.26, 0.254, 0.271, 0.307, 0.36, 0.439",\
"0.356, 0.347, 0.343, 0.304, 0.286, 0.279, 0.294, 0.327, 0.381, 0.475",\
"0.373, 0.366, 0.351, 0.318, 0.297, 0.295, 0.311, 0.353, 0.41, 0.49",\
"0.368, 0.356, 0.341, 0.321, 0.292, 0.29, 0.306, 0.346, 0.413, 0.509",\
"0.346, 0.337, 0.321, 0.284, 0.267, 0.267, 0.282, 0.326, 0.401, 0.498",\
"0.297, 0.284, 0.278, 0.244, 0.227, 0.224, 0.246, 0.283, 0.356, 0.456");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 1.518 ;
max_transition : 5.2 ;
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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.001, 0.01147, 0.04821, 0.1184, 0.2277, 0.3811, 0.5829, 0.8372, 1.148, 1.518");
values("0.6196, 0.6028, 0.5754, 0.5599, 0.5516, 0.5467, 0.5438, 0.542, 0.5406, 0.5397",\
"0.6195, 0.6027, 0.5754, 0.5596, 0.5517, 0.5467, 0.5436, 0.5418, 0.5404, 0.5395",\
"0.62, 0.6029, 0.5758, 0.5601, 0.5519, 0.5469, 0.5439, 0.542, 0.5407, 0.5397",\
"0.6207, 0.6039, 0.5764, 0.5609, 0.5527, 0.5477, 0.5449, 0.5429, 0.5417, 0.5408",\
"0.6223, 0.6056, 0.5783, 0.5627, 0.5547, 0.5497, 0.5468, 0.545, 0.5436, 0.5426",\
"0.6249, 0.608, 0.5806, 0.5653, 0.5567, 0.5522, 0.5491, 0.5472, 0.5459, 0.5448",\
"0.6275, 0.6105, 0.5829, 0.5676, 0.5595, 0.5547, 0.5515, 0.5498, 0.5485, 0.5475",\
"0.631, 0.6138, 0.5869, 0.5711, 0.563, 0.5579, 0.555, 0.5536, 0.5522, 0.5512",\
"0.6344, 0.6175, 0.5906, 0.5751, 0.5666, 0.5618, 0.559, 0.557, 0.5559, 0.555",\
"0.6391, 0.6222, 0.595, 0.5791, 0.5711, 0.5662, 0.5631, 0.5612, 0.56, 0.559");
}
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.01147, 0.04821, 0.1184, 0.2277, 0.3811, 0.5829, 0.8372, 1.148, 1.518");
values("0.6292, 0.6141, 0.5921, 0.5776, 0.5702, 0.5684, 0.5705, 0.573, 0.5755, 0.5799",\
"0.629, 0.614, 0.5914, 0.5775, 0.5703, 0.5681, 0.5705, 0.5734, 0.577, 0.5785",\
"0.6289, 0.6139, 0.5915, 0.5775, 0.5699, 0.5681, 0.5701, 0.5737, 0.5763, 0.5785",\
"0.6293, 0.6144, 0.5915, 0.5776, 0.5702, 0.5684, 0.5709, 0.5744, 0.5759, 0.5796",\
"0.6302, 0.6157, 0.5932, 0.5785, 0.5715, 0.5704, 0.5721, 0.5749, 0.5786, 0.5797",\
"0.6335, 0.6185, 0.5952, 0.583, 0.5747, 0.5725, 0.575, 0.5764, 0.5807, 0.584",\
"0.6384, 0.6228, 0.5999, 0.5858, 0.5812, 0.579, 0.5807, 0.5825, 0.5851, 0.5895",\
"0.6452, 0.6306, 0.6072, 0.5917, 0.5844, 0.5841, 0.5905, 0.5901, 0.5916, 0.5938",\
"0.6543, 0.6389, 0.6159, 0.6019, 0.5918, 0.5889, 0.5932, 0.6032, 0.6043, 0.608",\
"0.6648, 0.6495, 0.6263, 0.6113, 0.6036, 0.5993, 0.5999, 0.6085, 0.622, 0.622");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_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.01147, 0.04821, 0.1184, 0.2277, 0.3811, 0.5829, 0.8372, 1.148, 1.518");
values("0.7139, 0.7369, 0.7959, 0.8839, 1.005, 1.167, 1.38, 1.647, 1.974, 2.363",\
"0.7205, 0.7435, 0.8025, 0.8903, 1.011, 1.174, 1.386, 1.654, 1.981, 2.37",\
"0.7464, 0.7694, 0.8284, 0.9165, 1.037, 1.2, 1.412, 1.68, 2.007, 2.396",\
"0.7883, 0.8113, 0.8703, 0.9582, 1.079, 1.241, 1.454, 1.722, 2.048, 2.438",\
"0.8252, 0.8481, 0.9072, 0.9951, 1.116, 1.278, 1.491, 1.759, 2.085, 2.475",\
"0.8519, 0.8749, 0.9339, 1.022, 1.143, 1.305, 1.518, 1.785, 2.112, 2.501",\
"0.8658, 0.8888, 0.9478, 1.036, 1.157, 1.319, 1.532, 1.799, 2.126, 2.516",\
"0.8641, 0.887, 0.9461, 1.034, 1.155, 1.318, 1.53, 1.798, 2.124, 2.514",\
"0.8456, 0.8685, 0.9275, 1.016, 1.136, 1.299, 1.511, 1.779, 2.106, 2.495",\
"0.8088, 0.8317, 0.8908, 0.9785, 1.099, 1.262, 1.474, 1.742, 2.068, 2.458");
}
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.01147, 0.04821, 0.1184, 0.2277, 0.3811, 0.5829, 0.8372, 1.148, 1.518");
values("0.6827, 0.7078, 0.7799, 0.909, 1.11, 1.394, 1.768, 2.239, 2.815, 3.502",\
"0.6891, 0.7143, 0.7865, 0.9156, 1.117, 1.4, 1.774, 2.246, 2.822, 3.509",\
"0.7145, 0.7397, 0.8118, 0.9409, 1.142, 1.426, 1.8, 2.271, 2.848, 3.534",\
"0.755, 0.78, 0.8522, 0.9812, 1.183, 1.466, 1.84, 2.311, 2.888, 3.575",\
"0.7899, 0.8151, 0.8872, 1.016, 1.217, 1.501, 1.875, 2.347, 2.923, 3.61",\
"0.8157, 0.8408, 0.9128, 1.042, 1.243, 1.527, 1.901, 2.372, 2.949, 3.636",\
"0.8291, 0.8543, 0.9263, 1.056, 1.257, 1.54, 1.914, 2.386, 2.962, 3.649",\
"0.8285, 0.8537, 0.9259, 1.055, 1.256, 1.539, 1.914, 2.385, 2.961, 3.648",\
"0.8121, 0.8373, 0.9095, 1.039, 1.24, 1.524, 1.897, 2.369, 2.945, 3.631",\
"0.7788, 0.8041, 0.8763, 1.006, 1.207, 1.49, 1.864, 2.336, 2.911, 3.598");
}
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.01147, 0.04821, 0.1184, 0.2277, 0.3811, 0.5829, 0.8372, 1.148, 1.518");
values("0.07434, 0.09698, 0.1613, 0.2739, 0.4549, 0.724, 1.085, 1.543, 2.103, 2.772",\
"0.07424, 0.09708, 0.1609, 0.2742, 0.4553, 0.724, 1.084, 1.543, 2.103, 2.772",\
"0.0743, 0.097, 0.1613, 0.2739, 0.455, 0.724, 1.085, 1.543, 2.104, 2.773",\
"0.0742, 0.0972, 0.1608, 0.274, 0.455, 0.7236, 1.085, 1.542, 2.106, 2.777",\
"0.074, 0.0972, 0.1608, 0.274, 0.4552, 0.724, 1.085, 1.542, 2.103, 2.773",\
"0.0742, 0.097, 0.1612, 0.2738, 0.4546, 0.7226, 1.085, 1.544, 2.106, 2.772",\
"0.0742, 0.097, 0.1608, 0.2736, 0.4552, 0.7224, 1.083, 1.541, 2.106, 2.776",\
"0.0746, 0.0968, 0.1608, 0.2736, 0.4548, 0.7224, 1.084, 1.542, 2.102, 2.774",\
"0.0742, 0.0968, 0.1608, 0.2738, 0.4546, 0.724, 1.084, 1.542, 2.102, 2.77",\
"0.074, 0.097, 0.1608, 0.2738, 0.4548, 0.7238, 1.085, 1.543, 2.102, 2.771");
}
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.01147, 0.04821, 0.1184, 0.2277, 0.3811, 0.5829, 0.8372, 1.148, 1.518");
values("0.08038, 0.1113, 0.2237, 0.4517, 0.8199, 1.342, 2.028, 2.892, 3.946, 5.199",\
"0.08016, 0.1114, 0.223, 0.4518, 0.8198, 1.341, 2.028, 2.894, 3.95, 5.2",\
"0.08054, 0.1113, 0.2238, 0.4518, 0.8196, 1.341, 2.028, 2.894, 3.951, 5.2",\
"0.08032, 0.1114, 0.2228, 0.4518, 0.8198, 1.341, 2.028, 2.894, 3.948, 5.198",\
"0.08, 0.1112, 0.2238, 0.4516, 0.8198, 1.342, 2.028, 2.894, 3.951, 5.2",\
"0.0802, 0.1114, 0.2228, 0.4516, 0.82, 1.341, 2.028, 2.892, 3.95, 5.199",\
"0.0804, 0.1114, 0.2234, 0.452, 0.8202, 1.341, 2.025, 2.889, 3.944, 5.199",\
"0.0802, 0.1114, 0.2232, 0.4518, 0.8202, 1.34, 2.026, 2.892, 3.941, 5.2",\
"0.0808, 0.1118, 0.2236, 0.4526, 0.8198, 1.341, 2.028, 2.889, 3.945, 5.208",\
"0.081, 0.112, 0.2236, 0.452, 0.8212, 1.343, 2.028, 2.893, 3.944, 5.2");
}
}
}
}