blob: 74cfe0844b6a082c52fcd2b0035128c6c1b6b0c1 [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_mcu7t5v0__dffq_1) {
area : 63.660800 ;
ff(IQ1,IQN1) {
clocked_on : "CLK" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&!D" ;
value : "0.0003089664" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.0003274506" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.0003422412" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.0003426948" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.0003426948" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.002896 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 25 ;
min_period : 12.17 ;
min_pulse_width_high : 4.669 ;
min_pulse_width_low : 6.121 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("0.02869, 0.02863, 0.02848, 0.02831, 0.02819, 0.02814, 0.02815, \
0.02823, 0.02819, 0.01535");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("0.02282, 0.02278, 0.02268, 0.02251, 0.02237, 0.02228, 0.02225, \
0.02229, 0.02247, 0.02287");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("0.02906, 0.029, 0.02884, 0.02868, 0.02856, 0.0285, 0.02851, 0.02857, \
0.02845, 0.01526");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("0.02285, 0.02282, 0.02272, 0.02254, 0.0224, 0.0223, 0.02228, 0.02233, \
0.0225, 0.02293");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("6.121");
}
rise_constraint(scalar) {
values("2.426");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("4.481");
}
rise_constraint(scalar) {
values("4.669");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("12.17");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("10");
}
}
}
pin(D) {
capacitance : 0.002199 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 25 ;
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.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("0.0151, 0.01509, 0.01492, 0.01477, 0.0147, 0.0147, 0.01475, 0.01481, \
0.01343, 0.004241");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("0.01143, 0.01145, 0.01144, 0.01138, 0.01133, 0.01129, 0.01129, \
0.01134, 0.01146, 0.01169");
}
}
internal_power() {
when : "CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("0.0009386, 0.0009382, 0.0009388, 0.0009372, 0.000936, 0.0009301, \
0.000921, 0.0009016, 0.0008131, 0.0006186");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("-0.0004814, -0.0004865, -0.0004953, -0.0005041, -0.0005141, -0.0005237, \
-0.0005388, -0.0005669, -0.0006179, -0.000597");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
index_2("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("0.298, 0.354, 0.572, 0.967, 1.504, 2.034, 2.53, 3.001, 3.425, 3.753",\
"0.238, 0.299, 0.509, 0.903, 1.432, 1.953, 2.441, 2.913, 3.328, 3.658",\
"0.082, 0.144, 0.357, 0.743, 1.26, 1.781, 2.271, 2.728, 3.145, 3.471",\
"-0.321, -0.258, -0.051, 0.342, 0.864, 1.383, 1.876, 2.342, 2.758, 3.082",\
"-0.965, -0.898, -0.701, -0.311, 0.21, 0.727, 1.217, 1.676, 2.113, 2.437",\
"-1.734, -1.684, -1.48, -1.105, -0.6, -0.09, 0.396, 0.85, 1.279, 1.579",\
"-2.634, -2.588, -2.384, -2.028, -1.528, -1.03, -0.559, -0.103, 0.318, 0.606",\
"-3.645, -3.589, -3.399, -3.046, -2.558, -2.071, -1.623, -1.175, -0.76, -0.485",\
"-4.763, -4.706, -4.532, -4.207, -3.725, -3.255, -2.804, -2.379, -1.958, -1.71",\
"-6.012, -5.962, -5.792, -5.466, -5.004, -4.536, -4.12, -3.703, -3.284, -3.041");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
index_2("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("0.011, 0.076, 0.283, 0.605, 0.927, 1.226, 1.498, 1.723, 1.896, 2.012",\
"-0.04, 0.019, 0.232, 0.553, 0.879, 1.179, 1.457, 1.685, 1.854, 1.98",\
"-0.228, -0.162, 0.052, 0.382, 0.718, 1.032, 1.309, 1.544, 1.724, 1.852",\
"-0.458, -0.394, -0.178, 0.166, 0.5, 0.815, 1.1, 1.338, 1.527, 1.663",\
"-0.652, -0.592, -0.385, -0.045, 0.292, 0.606, 0.889, 1.128, 1.314, 1.451",\
"-0.796, -0.737, -0.534, -0.198, 0.136, 0.443, 0.727, 0.957, 1.144, 1.283",\
"-0.866, -0.807, -0.603, -0.268, 0.053, 0.352, 0.622, 0.847, 1.026, 1.163",\
"-0.84, -0.783, -0.579, -0.259, 0.05, 0.342, 0.609, 0.824, 0.998, 1.122",\
"-0.71, -0.65, -0.46, -0.14, 0.164, 0.436, 0.694, 0.905, 1.06, 1.188",\
"-0.471, -0.413, -0.233, 0.084, 0.377, 0.64, 0.881, 1.075, 1.232, 1.348");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
index_2("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("3.315, 3.238, 2.991, 2.544, 1.914, 1.297, 0.704, 0.15, -0.355, -0.797",\
"3.373, 3.292, 3.051, 2.601, 1.974, 1.356, 0.761, 0.202, -0.293, -0.733",\
"3.542, 3.463, 3.218, 2.777, 2.144, 1.532, 0.929, 0.37, -0.121, -0.561",\
"3.963, 3.881, 3.641, 3.197, 2.572, 1.953, 1.353, 0.801, 0.299, -0.139",\
"4.695, 4.62, 4.37, 3.93, 3.298, 2.683, 2.089, 1.528, 1.031, 0.59",\
"5.766, 5.68, 5.438, 4.999, 4.366, 3.75, 3.153, 2.612, 2.099, 1.656",\
"7.171, 7.087, 6.841, 6.399, 5.774, 5.156, 4.559, 3.999, 3.51, 3.062",\
"8.842, 8.766, 8.517, 8.065, 7.437, 6.814, 6.219, 5.671, 5.164, 4.725",\
"10.64, 10.57, 10.31, 9.876, 9.246, 8.631, 8.023, 7.458, 6.967, 6.518",\
"12.56, 12.5, 12.27, 11.83, 11.18, 10.57, 9.957, 9.407, 8.907, 8.437");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
index_2("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("2.725, 2.683, 2.377, 1.977, 1.383, 0.813, 0.368, -0.057, -0.367, -0.634",\
"2.782, 2.731, 2.433, 2.03, 1.441, 0.874, 0.418, -0.007, -0.316, -0.577",\
"3.009, 2.928, 2.625, 2.226, 1.63, 1.067, 0.61, 0.187, -0.133, -0.401",\
"3.37, 3.282, 2.984, 2.581, 1.992, 1.425, 0.965, 0.529, 0.206, -0.076",\
"3.786, 3.702, 3.45, 3.006, 2.414, 1.85, 1.386, 0.949, 0.621, 0.335",\
"4.196, 4.116, 3.812, 3.415, 2.833, 2.277, 1.809, 1.373, 1.04, 0.75",\
"4.546, 4.458, 4.159, 3.76, 3.188, 2.62, 2.151, 1.712, 1.386, 1.085",\
"4.791, 4.708, 4.417, 4.003, 3.43, 2.864, 2.4, 1.958, 1.639, 1.321",\
"4.955, 4.849, 4.573, 4.163, 3.591, 3.038, 2.552, 2.118, 1.774, 1.497",\
"5.027, 4.933, 4.639, 4.254, 3.653, 3.113, 2.634, 2.181, 1.848, 1.546");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.1925 ;
max_transition : 25 ;
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.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
index_2("0.001, 0.002322, 0.006961, 0.01582, 0.02962, 0.04899, 0.07447, 0.1066, 0.1458, 0.1925");
values("0.02374, 0.0238, 0.02397, 0.02413, 0.02425, 0.02432, 0.02436, 0.02438, 0.0244, 0.02439",\
"0.02374, 0.02381, 0.02398, 0.02414, 0.02425, 0.02432, 0.02437, 0.02439, 0.02441, 0.0244",\
"0.02374, 0.02381, 0.02397, 0.02413, 0.02424, 0.02432, 0.02436, 0.02439, 0.0244, 0.02438",\
"0.02374, 0.02381, 0.02397, 0.02414, 0.02425, 0.02432, 0.02437, 0.02439, 0.0244, 0.02438",\
"0.02377, 0.02384, 0.024, 0.02417, 0.02428, 0.02435, 0.02439, 0.02442, 0.02443, 0.02436",\
"0.02381, 0.02388, 0.02405, 0.02421, 0.02433, 0.0244, 0.02444, 0.02446, 0.02444, 0.02429",\
"0.02386, 0.02392, 0.02409, 0.02426, 0.02437, 0.02444, 0.02448, 0.02449, 0.02439, 0.02401",\
"0.02389, 0.02396, 0.02412, 0.02428, 0.0244, 0.02447, 0.0245, 0.02438, 0.02394, 0.02328",\
"0.0239, 0.02398, 0.02415, 0.02431, 0.02442, 0.02443, 0.02409, 0.02333, 0.02266, 0.02217",\
"0.0232, 0.02324, 0.02322, 0.02242, 0.02151, 0.02097, 0.02064, 0.02044, 0.0203, 0.02021");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
index_2("0.001, 0.002322, 0.006961, 0.01582, 0.02962, 0.04899, 0.07447, 0.1066, 0.1458, 0.1925");
values("-0.007763, -0.007722, -0.007598, -0.007404, -0.007223, -0.00705, -0.00514, 0.01018, 0.05434, 0.1084",\
"-0.007768, -0.007719, -0.007587, -0.007405, -0.007208, -0.006955, -0.005032, 0.01099, 0.0555, 0.1091",\
"-0.007772, -0.00773, -0.007598, -0.00743, -0.007259, -0.007001, -0.004643, 0.01346, 0.05938, 0.1111",\
"-0.007826, -0.007777, -0.007648, -0.007486, -0.007291, -0.006991, -0.003618, 0.01876, 0.06639, 0.1141",\
"-0.007874, -0.007832, -0.0077, -0.00753, -0.007319, -0.006839, -0.000988, 0.02811, 0.07544, 0.1162",\
"-0.007912, -0.007863, -0.007736, -0.007567, -0.007358, -0.006371, 0.005078, 0.04149, 0.0832, 0.1147",\
"-0.007941, -0.007896, -0.007763, -0.007593, -0.007334, -0.00395, 0.01798, 0.05519, 0.08517, 0.1064",\
"-0.008027, -0.007981, -0.00787, -0.007691, -0.006558, 0.006165, 0.03521, 0.05908, 0.07536, 0.08664",\
"-0.00836, -0.008309, -0.008198, -0.00724, 0.003762, 0.02144, 0.03329, 0.04087, 0.04587, 0.0493",\
"-0.01551, -0.01533, -0.01495, -0.01467, -0.01453, -0.01445, -0.01441, -0.01439, -0.01438, -0.01437");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
index_2("0.001, 0.002322, 0.006961, 0.01582, 0.02962, 0.04899, 0.07447, 0.1066, 0.1458, 0.1925");
values("4.993, 5.072, 5.297, 5.634, 6.083, 6.666, 7.41, 8.338, 9.471, 10.82",\
"5.059, 5.138, 5.362, 5.7, 6.149, 6.731, 7.475, 8.404, 9.537, 10.89",\
"5.29, 5.369, 5.593, 5.931, 6.38, 6.962, 7.706, 8.635, 9.767, 11.12",\
"5.727, 5.806, 6.03, 6.368, 6.817, 7.4, 8.143, 9.072, 10.21, 11.55",\
"6.313, 6.392, 6.616, 6.954, 7.403, 7.985, 8.729, 9.658, 10.79, 12.14",\
"6.913, 6.992, 7.216, 7.553, 8.002, 8.585, 9.329, 10.26, 11.39, 12.74",\
"7.493, 7.572, 7.796, 8.134, 8.583, 9.166, 9.909, 10.84, 11.97, 13.32",\
"8.039, 8.118, 8.342, 8.68, 9.129, 9.712, 10.46, 11.38, 12.52, 13.86",\
"8.544, 8.622, 8.847, 9.185, 9.634, 10.22, 10.96, 11.89, 13.02, 14.37",\
"8.992, 9.071, 9.295, 9.633, 10.08, 10.66, 11.41, 12.34, 13.47, 14.82");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
index_2("0.001, 0.002322, 0.006961, 0.01582, 0.02962, 0.04899, 0.07447, 0.1066, 0.1458, 0.1925");
values("6.293, 6.414, 6.797, 7.483, 8.537, 10.01, 11.94, 14.37, 17.34, 20.88",\
"6.359, 6.48, 6.863, 7.549, 8.604, 10.08, 12.01, 14.44, 17.41, 20.94",\
"6.587, 6.709, 7.091, 7.777, 8.832, 10.3, 12.24, 14.67, 17.63, 21.17",\
"7.01, 7.132, 7.514, 8.201, 9.254, 10.73, 12.66, 15.09, 18.06, 21.59",\
"7.576, 7.697, 8.08, 8.766, 9.821, 11.29, 13.22, 15.66, 18.62, 22.16",\
"8.158, 8.28, 8.662, 9.349, 10.4, 11.88, 13.81, 16.24, 19.21, 22.74",\
"8.727, 8.848, 9.23, 9.917, 10.97, 12.44, 14.38, 16.81, 19.77, 23.31",\
"9.263, 9.384, 9.767, 10.45, 11.51, 12.98, 14.91, 17.34, 20.31, 23.85",\
"9.758, 9.88, 10.26, 10.95, 12, 13.47, 15.41, 17.84, 20.81, 24.34",\
"10.2, 10.32, 10.7, 11.39, 12.45, 13.92, 15.85, 18.28, 21.25, 24.78");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
index_2("0.001, 0.002322, 0.006961, 0.01582, 0.02962, 0.04899, 0.07447, 0.1066, 0.1458, 0.1925");
values("0.4856, 0.5568, 0.781, 1.181, 1.798, 2.697, 3.923, 5.492, 7.43, 9.741",\
"0.4852, 0.5568, 0.7808, 1.181, 1.799, 2.698, 3.922, 5.489, 7.428, 9.746",\
"0.486, 0.5564, 0.7808, 1.179, 1.798, 2.697, 3.922, 5.494, 7.428, 9.742",\
"0.4854, 0.5574, 0.781, 1.181, 1.798, 2.698, 3.924, 5.494, 7.434, 9.734",\
"0.4854, 0.557, 0.781, 1.179, 1.799, 2.696, 3.924, 5.498, 7.434, 9.738",\
"0.486, 0.556, 0.784, 1.182, 1.798, 2.698, 3.92, 5.49, 7.422, 9.754",\
"0.486, 0.556, 0.782, 1.18, 1.8, 2.698, 3.918, 5.496, 7.424, 9.752",\
"0.486, 0.556, 0.782, 1.178, 1.8, 2.7, 3.922, 5.486, 7.422, 9.726",\
"0.486, 0.558, 0.782, 1.18, 1.798, 2.696, 3.924, 5.49, 7.416, 9.726",\
"0.486, 0.556, 0.784, 1.178, 1.8, 2.7, 3.92, 5.488, 7.432, 9.726");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
index_2("0.001, 0.002322, 0.006961, 0.01582, 0.02962, 0.04899, 0.07447, 0.1066, 0.1458, 0.1925");
values("0.6916, 0.8358, 1.371, 2.469, 4.219, 6.694, 9.937, 14.05, 19.05, 24.99",\
"0.6942, 0.838, 1.373, 2.469, 4.226, 6.699, 9.946, 14.04, 19.06, 24.98",\
"0.6914, 0.8372, 1.371, 2.47, 4.221, 6.696, 9.936, 14.05, 19.05, 24.98",\
"0.6914, 0.837, 1.371, 2.468, 4.226, 6.696, 9.942, 14.05, 19.05, 25.03",\
"0.6916, 0.8374, 1.372, 2.466, 4.226, 6.698, 9.946, 14.05, 19.03, 25.01",\
"0.692, 0.838, 1.372, 2.466, 4.218, 6.688, 9.944, 14.04, 19.05, 25.01",\
"0.694, 0.838, 1.372, 2.468, 4.224, 6.698, 9.946, 14.03, 19.04, 25.02",\
"0.69, 0.838, 1.372, 2.466, 4.22, 6.69, 9.934, 14.03, 19.06, 25",\
"0.692, 0.838, 1.372, 2.47, 4.22, 6.686, 9.932, 14.02, 19.05, 25",\
"0.692, 0.838, 1.372, 2.468, 4.222, 6.694, 9.934, 14.03, 19.02, 25.01");
}
}
}
}