blob: 1c16a6e38f88ecfbd6a89eab729c2856445e942e [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__dffnq_1) {
area : 65.856000 ;
ff(IQ1,IQN1) {
clocked_on : "(!CLKN)" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&!D" ;
value : "0.0003398274" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.0003441852" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.0003149442" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.00031671" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.0003441852" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.003105 ;
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 : 10.11 ;
min_pulse_width_high : 4.166 ;
min_pulse_width_low : 4.57 ;
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.03146, 0.0314, 0.03124, 0.03107, 0.03094, 0.03087, 0.03086, \
0.0309, 0.03078, 0.01504");
}
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.02055, 0.02052, 0.02043, 0.02025, 0.0201, 0.02, 0.01996, 0.01997, \
0.02012, 0.02048");
}
}
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.03146, 0.03139, 0.03123, 0.03106, 0.03092, 0.03085, 0.03085, \
0.03089, 0.03075, 0.01493");
}
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.02056, 0.02053, 0.02044, 0.02026, 0.02012, 0.02001, 0.01997, \
0.01999, 0.02011, 0.02048");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("3.388");
}
rise_constraint(scalar) {
values("4.166");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("4.57");
}
rise_constraint(scalar) {
values("2.745");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("8.047");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("10.11");
}
}
}
pin(D) {
capacitance : 0.002144 ;
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 : "!CLKN" ;
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.006113, 0.005953, 0.005779, 0.005726, 0.005743, 0.005817, 0.00594, \
0.006119, 0.006265, 0.006174");
}
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.001038, 0.0009942, 0.0009005, 0.0008251, 0.0007959, 0.0008292, \
0.0009161, 0.001058, 0.00129, 0.00167");
}
}
internal_power() {
when : "CLKN" ;
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.01964, 0.01954, 0.01942, 0.01933, 0.01929, 0.01931, 0.01939, \
0.01952, 0.01908, 0.007887");
}
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.01339, 0.01336, 0.0133, 0.01324, 0.0132, 0.01318, 0.01321, 0.01329, \
0.01345, 0.01376");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
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.458, 0.524, 0.755, 1.224, 1.968, 2.896, 3.793, 4.734, 5.831, 7.027",\
"0.39, 0.458, 0.691, 1.157, 1.906, 2.829, 3.727, 4.666, 5.76, 6.957",\
"0.123, 0.191, 0.418, 0.898, 1.632, 2.564, 3.459, 4.399, 5.497, 6.693",\
"-0.421, -0.355, -0.121, 0.362, 1.095, 2.031, 2.922, 3.862, 4.955, 6.16",\
"-1.249, -1.194, -0.955, -0.493, 0.255, 1.186, 2.079, 3.017, 4.121, 5.319",\
"-2.273, -2.213, -1.988, -1.533, -0.806, 0.128, 1.02, 1.958, 3.061, 4.259",\
"-3.422, -3.36, -3.147, -2.693, -1.967, -1.049, -0.165, 0.77, 1.877, 3.073",\
"-4.668, -4.599, -4.4, -3.956, -3.242, -2.352, -1.493, -0.531, 0.573, 1.769",\
"-6.045, -5.977, -5.777, -5.333, -4.638, -3.762, -2.905, -1.964, -0.859, 0.334",\
"-7.523, -7.467, -7.255, -6.829, -6.152, -5.285, -4.441, -3.519, -2.417, -1.215");
}
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("1.66, 1.734, 2.004, 2.53, 3.369, 4.489, 5.775, 7.175, 8.682, 10.28",\
"1.599, 1.671, 1.939, 2.468, 3.298, 4.424, 5.714, 7.113, 8.616, 10.22",\
"1.371, 1.451, 1.718, 2.249, 3.077, 4.208, 5.497, 6.897, 8.405, 10.01",\
"1.08, 1.16, 1.427, 1.956, 2.789, 3.913, 5.201, 6.601, 8.103, 9.715",\
"0.834, 0.908, 1.173, 1.698, 2.523, 3.642, 4.937, 6.326, 7.835, 9.447",\
"0.636, 0.716, 0.981, 1.495, 2.315, 3.427, 4.702, 6.093, 7.594, 9.207",\
"0.507, 0.584, 0.848, 1.367, 2.168, 3.266, 4.536, 5.921, 7.416, 9.017",\
"0.455, 0.536, 0.805, 1.317, 2.107, 3.19, 4.443, 5.818, 7.304, 8.897",\
"0.505, 0.586, 0.85, 1.363, 2.146, 3.21, 4.454, 5.801, 7.278, 8.867",\
"0.692, 0.766, 1.034, 1.535, 2.299, 3.346, 4.564, 5.898, 7.366, 8.937");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
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.429, 3.328, 3.001, 2.439, 1.705, 0.843, -0.101, -1.203, -2.395, -3.734",\
"3.498, 3.396, 3.069, 2.511, 1.767, 0.914, -0.035, -1.134, -2.329, -3.657",\
"3.77, 3.669, 3.34, 2.784, 2.037, 1.179, 0.235, -0.866, -2.057, -3.394",\
"4.304, 4.203, 3.875, 3.315, 2.572, 1.714, 0.771, -0.325, -1.521, -2.843",\
"5.149, 5.045, 4.72, 4.161, 3.425, 2.556, 1.618, 0.516, -0.675, -2.012",\
"6.304, 6.201, 5.877, 5.327, 4.577, 3.712, 2.774, 1.665, 0.466, -0.848",\
"7.722, 7.624, 7.291, 6.739, 5.99, 5.117, 4.165, 3.063, 1.858, 0.513",\
"9.361, 9.259, 8.935, 8.346, 7.604, 6.707, 5.755, 4.635, 3.426, 2.076",\
"11.12, 11.02, 10.67, 10.12, 9.36, 8.452, 7.473, 6.348, 5.132, 3.775",\
"13.02, 12.95, 12.62, 12.07, 11.26, 10.34, 9.327, 8.217, 6.977, 5.611");
}
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.836, 0.757, 0.478, -0.048, -0.946, -2.127, -3.467, -4.957, -6.563, -8.293",\
"0.892, 0.817, 0.538, 0.013, -0.879, -2.063, -3.402, -4.89, -6.499, -8.226",\
"1.105, 1.027, 0.75, 0.218, -0.673, -1.833, -3.19, -4.679, -6.281, -7.991",\
"1.444, 1.366, 1.082, 0.557, -0.332, -1.513, -2.852, -4.34, -5.946, -7.674",\
"1.874, 1.787, 1.502, 0.976, 0.091, -1.077, -2.43, -3.92, -5.518, -7.223",\
"2.296, 2.213, 1.927, 1.393, 0.51, -0.662, -2.005, -3.478, -5.074, -6.8",\
"2.692, 2.606, 2.321, 1.785, 0.905, -0.267, -1.603, -3.079, -4.642, -6.382",\
"3.034, 2.954, 2.659, 2.126, 1.238, 0.069, -1.254, -2.725, -4.291, -6.014",\
"3.307, 3.221, 2.935, 2.393, 1.515, 0.347, -0.981, -2.431, -3.999, -5.711",\
"3.501, 3.419, 3.134, 2.588, 1.706, 0.562, -0.789, -2.248, -3.813, -5.485");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.1772 ;
max_transition : 25 ;
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.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
index_2("0.001, 0.002216, 0.006485, 0.01464, 0.02734, 0.04516, 0.06861, 0.09815, 0.1342, 0.1772");
values("0.03239, 0.03244, 0.03259, 0.03274, 0.03284, 0.03291, 0.03294, 0.03297, 0.03298, 0.03298",\
"0.03239, 0.03246, 0.03261, 0.03275, 0.03285, 0.03291, 0.03295, 0.03297, 0.03299, 0.03298",\
"0.03239, 0.03245, 0.03261, 0.03275, 0.03286, 0.03291, 0.03295, 0.03297, 0.03299, 0.03298",\
"0.03237, 0.03244, 0.03259, 0.03273, 0.03283, 0.0329, 0.03293, 0.03296, 0.03297, 0.03296",\
"0.03234, 0.0324, 0.03255, 0.03269, 0.03281, 0.03286, 0.03289, 0.03292, 0.03293, 0.03289",\
"0.03231, 0.03237, 0.03252, 0.03266, 0.03276, 0.03283, 0.03286, 0.03288, 0.03287, 0.03275",\
"0.03227, 0.03233, 0.03248, 0.03262, 0.03272, 0.03279, 0.03282, 0.03282, 0.03268, 0.03225",\
"0.03223, 0.03229, 0.03244, 0.03259, 0.03268, 0.03274, 0.0327, 0.03231, 0.03163, 0.03105",\
"0.03183, 0.03189, 0.032, 0.03194, 0.03114, 0.03031, 0.02978, 0.02944, 0.02921, 0.02905",\
"-6.594e-05, -6.61e-05, -6.675e-05, -6.74e-05, -6.805e-05, -6.853e-05, -6.886e-05, -6.918e-05, -6.934e-05, -6.951e-05");
}
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.002216, 0.006485, 0.01464, 0.02734, 0.04516, 0.06861, 0.09815, 0.1342, 0.1772");
values("-0.06638, -0.06633, -0.06622, -0.06603, -0.06586, -0.06563, -0.06368, -0.04812, -0.006579, 0.04205",\
"-0.06638, -0.06634, -0.06622, -0.06603, -0.06585, -0.06563, -0.06352, -0.04754, -0.005542, 0.04261",\
"-0.06639, -0.06635, -0.06625, -0.06606, -0.06589, -0.06564, -0.06304, -0.04491, -0.001715, 0.0444",\
"-0.0664, -0.06636, -0.06624, -0.06607, -0.06586, -0.06555, -0.06163, -0.039, 0.005195, 0.04686",\
"-0.06639, -0.06636, -0.06625, -0.06607, -0.06591, -0.0653, -0.05803, -0.02811, 0.01389, 0.04782",\
"-0.06624, -0.0662, -0.06609, -0.06589, -0.06568, -0.06384, -0.04798, -0.01271, 0.01978, 0.0432",\
"-0.06597, -0.06592, -0.06581, -0.06563, -0.06503, -0.05622, -0.02939, -0.003581, 0.01431, 0.02678",\
"-0.06587, -0.06581, -0.06569, -0.06505, -0.05619, -0.03853, -0.02607, -0.01808, -0.01281, -0.009187",\
"-0.08756, -0.08751, -0.08745, -0.08742, -0.08741, -0.0874, -0.0874, -0.0874, -0.0874, -0.0874",\
"-0.1069, -0.1069, -0.1069, -0.1069, -0.1069, -0.1069, -0.1069, -0.1069, -0.1069, -0.1069");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_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.002216, 0.006485, 0.01464, 0.02734, 0.04516, 0.06861, 0.09815, 0.1342, 0.1772");
values("4.739, 4.814, 5.027, 5.354, 5.782, 6.324, 7.01, 7.865, 8.907, 10.15",\
"4.816, 4.891, 5.104, 5.432, 5.86, 6.402, 7.088, 7.943, 8.984, 10.23",\
"5.094, 5.168, 5.382, 5.709, 6.138, 6.679, 7.366, 8.22, 9.262, 10.5",\
"5.636, 5.711, 5.923, 6.251, 6.679, 7.221, 7.907, 8.762, 9.804, 11.05",\
"6.488, 6.562, 6.776, 7.103, 7.531, 8.073, 8.759, 9.614, 10.65, 11.89",\
"7.641, 7.715, 7.929, 8.256, 8.685, 9.227, 9.913, 10.77, 11.81, 13.05",\
"8.992, 9.065, 9.28, 9.608, 10.04, 10.58, 11.26, 12.12, 13.16, 14.4",\
"10.47, 10.54, 10.75, 11.08, 11.51, 12.05, 12.74, 13.59, 14.64, 15.88",\
"12.05, 12.12, 12.34, 12.66, 13.09, 13.63, 14.32, 15.18, 16.22, 17.46",\
"13.74, 13.81, 14.03, 14.35, 14.78, 15.33, 16.01, 16.87, 17.91, 19.15");
}
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.002216, 0.006485, 0.01464, 0.02734, 0.04516, 0.06861, 0.09815, 0.1342, 0.1772");
values("6.715, 6.832, 7.214, 7.909, 8.965, 10.44, 12.37, 14.79, 17.76, 21.29",\
"6.791, 6.908, 7.29, 7.985, 9.041, 10.51, 12.44, 14.87, 17.83, 21.36",\
"7.068, 7.186, 7.566, 8.261, 9.317, 10.79, 12.72, 15.15, 18.11, 21.64",\
"7.61, 7.728, 8.108, 8.803, 9.86, 11.33, 13.26, 15.69, 18.65, 22.18",\
"8.461, 8.579, 8.96, 9.655, 10.71, 12.18, 14.11, 16.54, 19.5, 23.03",\
"9.625, 9.743, 10.12, 10.82, 11.88, 13.35, 15.28, 17.71, 20.67, 24.2",\
"11, 11.12, 11.5, 12.2, 13.25, 14.72, 16.65, 19.08, 22.05, 25.58",\
"12.51, 12.63, 13.01, 13.71, 14.76, 16.23, 18.16, 20.59, 23.55, 27.08",\
"14.13, 14.25, 14.63, 15.33, 16.38, 17.85, 19.78, 22.21, 25.17, 28.7",\
"15.86, 15.98, 16.36, 17.06, 18.11, 19.58, 21.51, 23.94, 26.91, 30.43");
}
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.002216, 0.006485, 0.01464, 0.02734, 0.04516, 0.06861, 0.09815, 0.1342, 0.1772");
values("0.4584, 0.5268, 0.749, 1.135, 1.692, 2.495, 3.608, 5.048, 6.834, 8.947",\
"0.458, 0.528, 0.7494, 1.134, 1.692, 2.497, 3.608, 5.048, 6.83, 8.951",\
"0.4574, 0.5272, 0.7492, 1.135, 1.692, 2.497, 3.609, 5.048, 6.834, 8.948",\
"0.458, 0.5278, 0.7494, 1.135, 1.692, 2.497, 3.613, 5.045, 6.832, 8.95",\
"0.4574, 0.5276, 0.75, 1.134, 1.692, 2.497, 3.61, 5.054, 6.832, 8.964",\
"0.46, 0.528, 0.75, 1.134, 1.692, 2.498, 3.612, 5.054, 6.832, 8.964",\
"0.46, 0.528, 0.752, 1.134, 1.694, 2.498, 3.612, 5.052, 6.822, 8.964",\
"0.458, 0.528, 0.748, 1.136, 1.692, 2.496, 3.608, 5.046, 6.822, 8.946",\
"0.46, 0.528, 0.75, 1.136, 1.692, 2.498, 3.608, 5.054, 6.82, 8.942",\
"0.46, 0.528, 0.752, 1.136, 1.692, 2.498, 3.606, 5.056, 6.818, 8.952");
}
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.002216, 0.006485, 0.01464, 0.02734, 0.04516, 0.06861, 0.09815, 0.1342, 0.1772");
values("0.6724, 0.8232, 1.382, 2.488, 4.224, 6.691, 9.928, 14.03, 19.01, 24.95",\
"0.6726, 0.8242, 1.381, 2.488, 4.223, 6.688, 9.938, 14.02, 19.04, 24.96",\
"0.6726, 0.8234, 1.382, 2.487, 4.222, 6.689, 9.938, 14.02, 19.04, 24.97",\
"0.6732, 0.8238, 1.383, 2.486, 4.224, 6.688, 9.936, 14.02, 19.01, 25.01",\
"0.672, 0.824, 1.382, 2.488, 4.224, 6.692, 9.93, 14.03, 19.01, 24.99",\
"0.674, 0.824, 1.384, 2.488, 4.218, 6.688, 9.936, 14.01, 19.01, 24.98",\
"0.674, 0.824, 1.382, 2.488, 4.224, 6.692, 9.926, 14.01, 19.05, 25.01",\
"0.674, 0.822, 1.384, 2.486, 4.222, 6.684, 9.934, 14.03, 19.03, 25",\
"0.674, 0.822, 1.384, 2.488, 4.218, 6.69, 9.938, 14.03, 19.04, 25.01",\
"0.672, 0.822, 1.384, 2.486, 4.222, 6.688, 9.92, 14.03, 19.01, 24.98");
}
}
}
}