blob: e3675c4e1f03e7254e340c4bcfac4a0ebc8cda45 [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_2) {
area : 72.441600 ;
ff(IQ1,IQN1) {
clocked_on : "(!CLKN)" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&!D" ;
value : "5.695596e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "6.15843e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "4.529034e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "4.49955e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "6.15843e-05" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.002921 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 21 ;
min_period : 9.572 ;
min_pulse_width_high : 3.843 ;
min_pulse_width_low : 4.788 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
values("0.03059, 0.03053, 0.03041, 0.03026, 0.03016, 0.03006, 0.02999, \
0.02995, 0.0299, 0.01903");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
values("0.01982, 0.01979, 0.01973, 0.01961, 0.01947, 0.01937, 0.01928, \
0.01923, 0.01919, 0.0193");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
values("0.03057, 0.03052, 0.0304, 0.03026, 0.03014, 0.03005, 0.02998, \
0.02994, 0.02988, 0.01892");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
values("0.01982, 0.0198, 0.01974, 0.01961, 0.01949, 0.01939, 0.01929, \
0.01924, 0.01917, 0.0193");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("3.571");
}
rise_constraint(scalar) {
values("3.843");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("4.788");
}
rise_constraint(scalar) {
values("2.497");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("7.69");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("9.572");
}
}
}
pin(D) {
capacitance : 0.002033 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 21 ;
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.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
values("0.005728, 0.00559, 0.00544, 0.00538, 0.005344, 0.005326, 0.005314, \
0.005305, 0.005301, 0.005074");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
values("0.0008962, 0.0008687, 0.0007941, 0.0007181, 0.0006602, 0.0006206, \
0.0005933, 0.0005757, 0.0005617, 0.0006342");
}
}
internal_power() {
when : "CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
values("0.0184, 0.01832, 0.01822, 0.01814, 0.01807, 0.01802, 0.01798, \
0.01796, 0.01791, 0.009176");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
values("0.01253, 0.0125, 0.01246, 0.0124, 0.01234, 0.01228, 0.01224, 0.01219, \
0.01216, 0.01222");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
index_2("0.02, 0.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
values("1.111, 1.177, 1.445, 1.94, 2.732, 3.855, 5.274, 6.892, 8.705, 10.72",\
"1.051, 1.115, 1.378, 1.875, 2.673, 3.788, 5.209, 6.828, 8.642, 10.66",\
"0.792, 0.861, 1.126, 1.622, 2.414, 3.532, 4.947, 6.563, 8.374, 10.4",\
"0.285, 0.352, 0.617, 1.108, 1.902, 3.022, 4.436, 6.054, 7.863, 9.882",\
"-0.522, -0.453, -0.197, 0.301, 1.095, 2.205, 3.625, 5.242, 7.054, 9.069",\
"-1.573, -1.506, -1.252, -0.756, 0.034, 1.142, 2.551, 4.158, 5.959, 7.961",\
"-2.806, -2.738, -2.487, -2.003, -1.227, -0.125, 1.269, 2.849, 4.637, 6.624",\
"-4.221, -4.166, -3.907, -3.444, -2.673, -1.593, -0.216, 1.346, 3.098, 5.068",\
"-5.816, -5.775, -5.516, -5.069, -4.317, -3.247, -1.891, -0.36, 1.36, 3.301",\
"-7.61, -7.554, -7.329, -6.881, -6.149, -5.098, -3.77, -2.267, -0.575, 1.326");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
index_2("0.02, 0.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
values("1.729, 1.801, 2.074, 2.6, 3.434, 4.598, 6.106, 7.88, 9.88, 12.1",\
"1.668, 1.74, 2.014, 2.545, 3.37, 4.537, 6.046, 7.814, 9.818, 12.04",\
"1.457, 1.528, 1.798, 2.324, 3.153, 4.326, 5.829, 7.606, 9.606, 11.82",\
"1.117, 1.198, 1.458, 1.99, 2.816, 3.991, 5.5, 7.28, 9.275, 11.5",\
"0.744, 0.824, 1.089, 1.612, 2.436, 3.606, 5.113, 6.895, 8.892, 11.12",\
"0.364, 0.44, 0.708, 1.231, 2.042, 3.202, 4.697, 6.467, 8.463, 10.69",\
"-0.026, 0.051, 0.311, 0.827, 1.641, 2.786, 4.268, 6.024, 8.014, 10.23",\
"-0.429, -0.357, -0.09, 0.423, 1.231, 2.367, 3.835, 5.576, 7.55, 9.755",\
"-0.824, -0.757, -0.48, 0.029, 0.829, 1.95, 3.402, 5.133, 7.094, 9.276",\
"-1.212, -1.131, -0.863, -0.351, 0.439, 1.55, 2.985, 4.692, 6.635, 8.811");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
index_2("0.02, 0.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
values("3.332, 3.229, 2.913, 2.338, 1.591, 0.664, -0.466, -1.807, -3.372, -5.134",\
"3.405, 3.291, 2.987, 2.413, 1.656, 0.735, -0.398, -1.744, -3.3, -5.068",\
"3.673, 3.56, 3.256, 2.675, 1.924, 1.006, -0.133, -1.47, -3.033, -4.803",\
"4.201, 4.091, 3.777, 3.206, 2.455, 1.535, 0.395, -0.945, -2.509, -4.271",\
"5.03, 4.917, 4.611, 4.039, 3.284, 2.358, 1.231, -0.114, -1.676, -3.445",\
"6.189, 6.082, 5.776, 5.204, 4.447, 3.518, 2.395, 1.047, -0.517, -2.283",\
"7.693, 7.579, 7.27, 6.692, 5.941, 5.007, 3.884, 2.539, 0.975, -0.788",\
"9.487, 9.377, 9.073, 8.497, 7.739, 6.788, 5.662, 4.319, 2.752, 0.977",\
"11.57, 11.46, 11.15, 10.58, 9.803, 8.846, 7.702, 6.356, 4.785, 3.011",\
"13.9, 13.79, 13.49, 12.9, 12.11, 11.14, 9.985, 8.629, 7.05, 5.27");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
index_2("0.02, 0.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
values("0.641, 0.562, 0.298, -0.249, -1.143, -2.368, -3.932, -5.786, -7.899, -10.27",\
"0.704, 0.619, 0.359, -0.202, -1.075, -2.309, -3.854, -5.723, -7.829, -10.2",\
"0.915, 0.83, 0.566, 0.006, -0.869, -2.097, -3.648, -5.507, -7.615, -9.984",\
"1.28, 1.194, 0.92, 0.392, -0.507, -1.725, -3.283, -5.152, -7.258, -9.62",\
"1.773, 1.681, 1.416, 0.881, -0.015, -1.23, -2.809, -4.652, -6.76, -9.126",\
"2.342, 2.256, 1.981, 1.448, 0.564, -0.672, -2.231, -4.072, -6.172, -8.536",\
"2.973, 2.888, 2.603, 2.05, 1.188, -0.041, -1.595, -3.444, -5.538, -7.895",\
"3.629, 3.546, 3.268, 2.724, 1.847, 0.635, -0.939, -2.775, -4.861, -7.214",\
"4.329, 4.255, 3.949, 3.416, 2.53, 1.308, -0.23, -2.078, -4.166, -6.495",\
"5.035, 4.943, 4.662, 4.11, 3.238, 2.02, 0.479, -1.361, -3.441, -5.77");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.2959 ;
max_transition : 21 ;
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.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
index_2("0.001, 0.003035, 0.01018, 0.02382, 0.04508, 0.0749, 0.1141, 0.1636, 0.2239, 0.2959");
values("0.03897, 0.03909, 0.03935, 0.03961, 0.0398, 0.03991, 0.03999, 0.04003, 0.04006, 0.04008",\
"0.03899, 0.03909, 0.03936, 0.03962, 0.03981, 0.03993, 0.04, 0.04005, 0.04007, 0.04009",\
"0.03898, 0.0391, 0.03936, 0.03961, 0.0398, 0.03992, 0.03999, 0.04004, 0.04006, 0.04009",\
"0.03898, 0.03909, 0.03936, 0.03961, 0.0398, 0.03992, 0.03999, 0.04003, 0.04006, 0.04008",\
"0.03894, 0.03905, 0.03932, 0.03959, 0.03978, 0.03989, 0.03997, 0.04001, 0.04003, 0.04006",\
"0.0389, 0.03903, 0.03929, 0.03955, 0.03973, 0.03986, 0.03993, 0.03998, 0.04001, 0.04001",\
"0.03888, 0.03899, 0.03925, 0.03952, 0.0397, 0.03982, 0.0399, 0.03994, 0.03995, 0.03991",\
"0.03884, 0.03895, 0.03921, 0.03947, 0.03966, 0.03978, 0.03985, 0.03986, 0.03957, 0.03873",\
"0.0387, 0.03882, 0.03907, 0.03932, 0.03934, 0.03859, 0.03741, 0.03661, 0.03606, 0.03569",\
"0.0003406, 0.0003406, 0.000339, 0.0003358, 0.0003325, 0.0003309, 0.0003293, 0.0003293, 0.0003277, 0.0003293");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
index_2("0.001, 0.003035, 0.01018, 0.02382, 0.04508, 0.0749, 0.1141, 0.1636, 0.2239, 0.2959");
values("-0.03129, -0.03121, -0.03101, -0.03071, -0.03041, -0.03009, -0.02974, -0.024, 0.02368, 0.1225",\
"-0.03126, -0.0312, -0.03099, -0.03067, -0.03038, -0.03018, -0.02968, -0.02379, 0.02625, 0.1246",\
"-0.0313, -0.03121, -0.03101, -0.03073, -0.03045, -0.03014, -0.02966, -0.02201, 0.03391, 0.131",\
"-0.0313, -0.03119, -0.03104, -0.03074, -0.03042, -0.03019, -0.02937, -0.01737, 0.04915, 0.1419",\
"-0.03134, -0.03124, -0.03103, -0.03075, -0.0304, -0.03025, -0.02862, -0.005285, 0.07407, 0.154",\
"-0.03131, -0.03124, -0.03102, -0.03075, -0.03042, -0.03005, -0.0242, 0.02458, 0.101, 0.16",\
"-0.03119, -0.03112, -0.03091, -0.03064, -0.03032, -0.02843, 0.001133, 0.06406, 0.1127, 0.1471",\
"-0.03098, -0.0309, -0.03072, -0.0304, -0.02836, 0.001133, 0.04063, 0.06696, 0.08456, 0.09664",\
"-0.03564, -0.03563, -0.03211, -0.02668, -0.02337, -0.02157, -0.0205, -0.01986, -0.01946, -0.01922",\
"-0.07634, -0.07634, -0.07634, -0.07634, -0.07634, -0.07634, -0.07634, -0.07634, -0.07634, -0.07634");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
index_2("0.001, 0.003035, 0.01018, 0.02382, 0.04508, 0.0749, 0.1141, 0.1636, 0.2239, 0.2959");
values("4.872, 4.946, 5.144, 5.424, 5.762, 6.17, 6.675, 7.296, 8.05, 8.948",\
"4.949, 5.023, 5.222, 5.502, 5.839, 6.248, 6.752, 7.374, 8.128, 9.026",\
"5.226, 5.3, 5.497, 5.777, 6.115, 6.524, 7.028, 7.65, 8.403, 9.301",\
"5.762, 5.836, 6.034, 6.313, 6.652, 7.06, 7.564, 8.186, 8.94, 9.838",\
"6.606, 6.681, 6.879, 7.159, 7.496, 7.905, 8.409, 9.031, 9.785, 10.68",\
"7.794, 7.869, 8.067, 8.346, 8.684, 9.093, 9.597, 10.22, 10.97, 11.87",\
"9.325, 9.399, 9.596, 9.876, 10.21, 10.62, 11.13, 11.75, 12.5, 13.4",\
"11.15, 11.22, 11.42, 11.7, 12.04, 12.45, 12.95, 13.57, 14.33, 15.22",\
"13.21, 13.28, 13.48, 13.76, 14.1, 14.51, 15.01, 15.63, 16.39, 17.29",\
"15.5, 15.58, 15.78, 16.05, 16.39, 16.8, 17.3, 17.93, 18.68, 19.58");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
index_2("0.001, 0.003035, 0.01018, 0.02382, 0.04508, 0.0749, 0.1141, 0.1636, 0.2239, 0.2959");
values("6.541, 6.638, 6.955, 7.543, 8.44, 9.691, 11.33, 13.4, 15.92, 18.92",\
"6.618, 6.715, 7.032, 7.62, 8.517, 9.768, 11.41, 13.48, 16, 19",\
"6.893, 6.99, 7.307, 7.895, 8.792, 10.04, 11.68, 13.75, 16.27, 19.28",\
"7.429, 7.526, 7.843, 8.43, 9.328, 10.58, 12.22, 14.29, 16.81, 19.81",\
"8.271, 8.37, 8.688, 9.275, 10.17, 11.42, 13.06, 15.13, 17.65, 20.66",\
"9.458, 9.556, 9.874, 10.46, 11.36, 12.61, 14.25, 16.32, 18.84, 21.84",\
"10.99, 11.09, 11.41, 12, 12.89, 14.14, 15.79, 17.85, 20.37, 23.38",\
"12.83, 12.92, 13.24, 13.83, 14.73, 15.98, 17.62, 19.69, 22.21, 25.21",\
"14.91, 15, 15.32, 15.91, 16.8, 18.05, 19.7, 21.76, 24.28, 27.29",\
"17.22, 17.31, 17.63, 18.22, 19.11, 20.37, 22.01, 24.07, 26.59, 29.6");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
index_2("0.001, 0.003035, 0.01018, 0.02382, 0.04508, 0.0749, 0.1141, 0.1636, 0.2239, 0.2959");
values("0.3998, 0.4596, 0.6364, 0.9104, 1.281, 1.828, 2.595, 3.6, 4.856, 6.363",\
"0.3998, 0.4604, 0.6364, 0.911, 1.283, 1.828, 2.595, 3.601, 4.85, 6.354",\
"0.399, 0.4592, 0.6362, 0.911, 1.282, 1.829, 2.595, 3.601, 4.848, 6.361",\
"0.3994, 0.4592, 0.6362, 0.9106, 1.281, 1.829, 2.595, 3.601, 4.849, 6.351",\
"0.3998, 0.4596, 0.6368, 0.9108, 1.283, 1.829, 2.595, 3.602, 4.848, 6.36",\
"0.4, 0.46, 0.636, 0.912, 1.282, 1.828, 2.594, 3.602, 4.848, 6.358",\
"0.4, 0.458, 0.638, 0.912, 1.282, 1.828, 2.594, 3.602, 4.85, 6.36",\
"0.4, 0.46, 0.636, 0.91, 1.282, 1.828, 2.594, 3.602, 4.85, 6.362",\
"0.398, 0.458, 0.638, 0.91, 1.282, 1.828, 2.594, 3.598, 4.85, 6.358",\
"0.4, 0.46, 0.636, 0.91, 1.282, 1.828, 2.594, 3.598, 4.848, 6.358");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
index_2("0.001, 0.003035, 0.01018, 0.02382, 0.04508, 0.0749, 0.1141, 0.1636, 0.2239, 0.2959");
values("0.4344, 0.5662, 1.05, 1.996, 3.467, 5.547, 8.29, 11.74, 15.96, 21.02",\
"0.4344, 0.566, 1.05, 1.996, 3.467, 5.551, 8.293, 11.74, 15.98, 21.01",\
"0.4342, 0.5662, 1.05, 1.996, 3.465, 5.549, 8.292, 11.74, 16, 21",\
"0.4342, 0.5662, 1.05, 1.996, 3.466, 5.55, 8.288, 11.74, 15.97, 21",\
"0.434, 0.568, 1.05, 1.996, 3.466, 5.55, 8.294, 11.74, 15.96, 21",\
"0.434, 0.566, 1.05, 1.996, 3.466, 5.548, 8.294, 11.76, 15.96, 20.99",\
"0.434, 0.566, 1.05, 1.996, 3.466, 5.546, 8.294, 11.74, 15.96, 21.02",\
"0.434, 0.566, 1.05, 1.996, 3.468, 5.55, 8.288, 11.75, 15.96, 21",\
"0.434, 0.566, 1.05, 1.996, 3.468, 5.546, 8.294, 11.76, 15.97, 20.99",\
"0.434, 0.566, 1.05, 1.996, 3.466, 5.55, 8.294, 11.76, 15.98, 21");
}
}
}
}