blob: 23545528d7bb4fec384c40a214c6f6d379bb9b4b [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_4) {
area : 83.417600 ;
ff(IQ1,IQN1) {
clocked_on : "(!CLKN)" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&!D" ;
value : "6.24267e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "6.682014e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "5.07627e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "5.02443e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "6.682014e-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 : 10.36 ;
min_pulse_width_high : 3.803 ;
min_pulse_width_low : 5.179 ;
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.03054, 0.0304, 0.03027, 0.03016, 0.03006, 0.02999, \
0.02994, 0.0299, 0.01904");
}
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.01981, 0.0198, 0.01973, 0.0196, 0.01949, 0.01936, 0.01929, 0.01923, \
0.01917, 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.03039, 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.01981, 0.01974, 0.01962, 0.0195, 0.01938, 0.0193, 0.01923, \
0.01919, 0.0193");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("4.218");
}
rise_constraint(scalar) {
values("3.803");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("5.179");
}
rise_constraint(scalar) {
values("2.505");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("8.613");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("10.36");
}
}
}
pin(D) {
capacitance : 0.002034 ;
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.005721, 0.005586, 0.005441, 0.005376, 0.005345, 0.005325, 0.005314, \
0.005305, 0.005304, 0.005077");
}
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.0008991, 0.0008625, 0.0007949, 0.0007188, 0.0006616, 0.0006225, \
0.0005927, 0.0005751, 0.0005634, 0.0006358");
}
}
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.01813, 0.01807, 0.01802, 0.01798, \
0.01796, 0.01791, 0.009175");
}
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.01229, 0.01223, 0.0122, \
0.01217, 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.139, 1.21, 1.472, 1.967, 2.757, 3.874, 5.294, 6.906, 8.715, 10.73",\
"1.077, 1.143, 1.409, 1.904, 2.689, 3.814, 5.229, 6.835, 8.652, 10.66",\
"0.819, 0.887, 1.156, 1.646, 2.443, 3.554, 4.968, 6.578, 8.394, 10.4",\
"0.312, 0.381, 0.647, 1.141, 1.926, 3.039, 4.453, 6.062, 7.878, 9.882",\
"-0.49, -0.428, -0.158, 0.33, 1.118, 2.229, 3.644, 5.259, 7.066, 9.076",\
"-1.54, -1.48, -1.208, -0.723, 0.059, 1.173, 2.575, 4.173, 5.971, 7.977",\
"-2.767, -2.709, -2.445, -1.968, -1.193, -0.094, 1.298, 2.872, 4.651, 6.63",\
"-4.172, -4.124, -3.863, -3.397, -2.638, -1.558, -0.181, 1.366, 3.114, 5.087",\
"-5.769, -5.718, -5.455, -5.016, -4.272, -3.209, -1.856, -0.335, 1.389, 3.318",\
"-7.548, -7.498, -7.258, -6.821, -6.092, -5.053, -3.718, -2.238, -0.553, 1.344");
}
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.717, 1.793, 2.065, 2.591, 3.426, 4.592, 6.096, 7.873, 9.87, 12.1",\
"1.659, 1.729, 2.004, 2.535, 3.362, 4.53, 6.034, 7.814, 9.807, 12.04",\
"1.439, 1.518, 1.79, 2.318, 3.143, 4.319, 5.823, 7.598, 9.596, 11.82",\
"1.108, 1.178, 1.452, 1.974, 2.804, 3.983, 5.488, 7.272, 9.27, 11.49",\
"0.736, 0.807, 1.08, 1.601, 2.428, 3.596, 5.106, 6.886, 8.887, 11.11",\
"0.351, 0.427, 0.693, 1.215, 2.032, 3.19, 4.689, 6.457, 8.457, 10.68",\
"-0.045, 0.031, 0.295, 0.816, 1.628, 2.778, 4.259, 6.012, 8, 10.23",\
"-0.457, -0.385, -0.112, 0.407, 1.214, 2.352, 3.817, 5.562, 7.542, 9.746",\
"-0.862, -0.786, -0.51, 0.003, 0.801, 1.93, 3.388, 5.117, 7.075, 9.265",\
"-1.249, -1.169, -0.902, -0.384, 0.412, 1.527, 2.968, 4.682, 6.619, 8.798");
}
}
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.258, 3.187, 2.877, 2.31, 1.559, 0.644, -0.485, -1.827, -3.391, -5.147",\
"3.329, 3.252, 2.945, 2.374, 1.631, 0.715, -0.417, -1.758, -3.319, -5.081",\
"3.601, 3.519, 3.218, 2.644, 1.905, 0.984, -0.154, -1.492, -3.052, -4.816",\
"4.128, 4.052, 3.74, 3.173, 2.426, 1.509, 0.377, -0.961, -2.53, -4.291",\
"4.959, 4.883, 4.573, 4.003, 3.261, 2.338, 1.21, -0.132, -1.693, -3.459",\
"6.116, 6.042, 5.74, 5.17, 4.417, 3.494, 2.371, 1.032, -0.535, -2.291",\
"7.614, 7.54, 7.233, 6.664, 5.914, 4.984, 3.865, 2.521, 0.954, -0.805",\
"9.417, 9.342, 9.029, 8.465, 7.704, 6.768, 5.639, 4.299, 2.736, 0.967",\
"11.53, 11.42, 11.11, 10.54, 9.774, 8.821, 7.681, 6.34, 4.767, 2.99",\
"13.81, 13.74, 13.44, 12.87, 12.08, 11.12, 9.968, 8.61, 7.034, 5.257");
}
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.653, 0.57, 0.316, -0.231, -1.111, -2.342, -3.913, -5.779, -7.881, -10.25",\
"0.721, 0.636, 0.37, -0.164, -1.05, -2.282, -3.844, -5.716, -7.821, -10.17",\
"0.933, 0.861, 0.582, 0.042, -0.849, -2.068, -3.632, -5.5, -7.606, -9.951",\
"1.289, 1.223, 0.938, 0.408, -0.477, -1.708, -3.272, -5.136, -7.242, -9.593",\
"1.781, 1.698, 1.425, 0.893, 0.024, -1.23, -2.782, -4.643, -6.743, -9.097",\
"2.362, 2.289, 1.995, 1.464, 0.594, -0.64, -2.207, -4.062, -6.159, -8.505",\
"2.983, 2.898, 2.614, 2.085, 1.221, -0.017, -1.576, -3.432, -5.524, -7.861",\
"3.643, 3.561, 3.275, 2.74, 1.873, 0.63, -0.91, -2.761, -4.853, -7.185",\
"4.338, 4.265, 3.979, 3.432, 2.564, 1.339, -0.222, -2.07, -4.148, -6.479",\
"5.048, 4.955, 4.681, 4.137, 3.274, 2.043, 0.497, -1.352, -3.435, -5.757");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.5893 ;
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.005061, 0.01931, 0.04653, 0.08894, 0.1484, 0.2267, 0.3254, 0.4458, 0.5893");
values("0.05767, 0.05788, 0.05835, 0.05887, 0.05929, 0.05958, 0.05977, 0.05989, 0.05997, 0.06002",\
"0.05768, 0.05787, 0.05836, 0.05889, 0.05931, 0.0596, 0.05979, 0.05991, 0.05999, 0.06004",\
"0.05768, 0.05788, 0.05838, 0.05888, 0.05931, 0.0596, 0.05979, 0.05991, 0.05998, 0.06004",\
"0.05768, 0.05788, 0.05836, 0.05888, 0.05929, 0.05957, 0.05977, 0.0599, 0.05997, 0.06002",\
"0.05764, 0.05786, 0.05833, 0.05885, 0.05927, 0.05957, 0.05976, 0.05987, 0.05995, 0.06",\
"0.05761, 0.05782, 0.0583, 0.05881, 0.05923, 0.05952, 0.05971, 0.05984, 0.05991, 0.05994",\
"0.05758, 0.05776, 0.05826, 0.05878, 0.0592, 0.05948, 0.05968, 0.05979, 0.05982, 0.05948",\
"0.05754, 0.05771, 0.0582, 0.05872, 0.05915, 0.05942, 0.05958, 0.05929, 0.05778, 0.05569",\
"0.05491, 0.05506, 0.05541, 0.05532, 0.053, 0.05074, 0.0493, 0.04837, 0.04774, 0.04731",\
"0.0003649, 0.00036, 0.0003584, 0.0003536, 0.0003487, 0.0003455, 0.0003438, 0.0003406, 0.0003406, 0.000339");
}
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.005061, 0.01931, 0.04653, 0.08894, 0.1484, 0.2267, 0.3254, 0.4458, 0.5893");
values("-0.1022, -0.1021, -0.1017, -0.1012, -0.1007, -0.1, -0.09913, -0.08621, 0.01665, 0.2125",\
"-0.1022, -0.102, -0.1017, -0.1012, -0.1005, -0.0999, -0.09913, -0.08517, 0.02109, 0.2162",\
"-0.1022, -0.102, -0.1017, -0.1012, -0.1006, -0.1001, -0.0989, -0.08053, 0.03711, 0.2284",\
"-0.1022, -0.1021, -0.1017, -0.1012, -0.1007, -0.1, -0.09838, -0.07029, 0.07, 0.2484",\
"-0.1022, -0.1021, -0.1017, -0.1012, -0.1006, -0.09997, -0.0963, -0.04276, 0.1174, 0.2696",\
"-0.1022, -0.1021, -0.1017, -0.1012, -0.1006, -0.09981, -0.08536, 0.01927, 0.1663, 0.2772",\
"-0.1021, -0.102, -0.1016, -0.1011, -0.1006, -0.09544, -0.02744, 0.09243, 0.182, 0.2452",\
"-0.1019, -0.1017, -0.1014, -0.1009, -0.09416, -0.02921, 0.03966, 0.0852, 0.1156, 0.1366",\
"-0.1235, -0.1236, -0.1201, -0.1165, -0.1142, -0.113, -0.1125, -0.112, -0.1117, -0.1115",\
"-0.172, -0.172, -0.172, -0.172, -0.172, -0.172, -0.172, -0.172, -0.172, -0.172");
}
}
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.005061, 0.01931, 0.04653, 0.08894, 0.1484, 0.2267, 0.3254, 0.4458, 0.5893");
values("5.647, 5.738, 5.974, 6.298, 6.686, 7.136, 7.667, 8.302, 9.061, 9.959",\
"5.725, 5.815, 6.052, 6.376, 6.764, 7.213, 7.744, 8.379, 9.138, 10.04",\
"6.001, 6.091, 6.328, 6.651, 7.04, 7.49, 8.02, 8.655, 9.414, 10.31",\
"6.537, 6.628, 6.864, 7.188, 7.576, 8.025, 8.556, 9.191, 9.951, 10.85",\
"7.382, 7.472, 7.71, 8.033, 8.422, 8.871, 9.402, 10.04, 10.8, 11.69",\
"8.57, 8.66, 8.897, 9.221, 9.609, 10.06, 10.59, 11.22, 11.98, 12.88",\
"10.1, 10.19, 10.43, 10.75, 11.14, 11.59, 12.12, 12.75, 13.51, 14.41",\
"11.92, 12.01, 12.25, 12.57, 12.96, 13.41, 13.94, 14.58, 15.34, 16.23",\
"13.98, 14.07, 14.31, 14.63, 15.02, 15.47, 16, 16.64, 17.4, 18.3",\
"16.28, 16.37, 16.6, 16.93, 17.32, 17.76, 18.3, 18.93, 19.69, 20.59");
}
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.005061, 0.01931, 0.04653, 0.08894, 0.1484, 0.2267, 0.3254, 0.4458, 0.5893");
values("6.932, 7.034, 7.357, 7.942, 8.841, 10.09, 11.73, 13.79, 16.31, 19.31",\
"7.009, 7.111, 7.436, 8.021, 8.92, 10.17, 11.81, 13.87, 16.39, 19.39",\
"7.285, 7.388, 7.711, 8.295, 9.196, 10.44, 12.08, 14.15, 16.66, 19.66",\
"7.82, 7.922, 8.245, 8.831, 9.73, 10.98, 12.62, 14.68, 17.2, 20.2",\
"8.665, 8.766, 9.089, 9.674, 10.57, 11.82, 13.46, 15.53, 18.04, 21.04",\
"9.852, 9.952, 10.28, 10.86, 11.76, 13.01, 14.65, 16.71, 19.23, 22.23",\
"11.38, 11.49, 11.81, 12.39, 13.29, 14.54, 16.18, 18.25, 20.76, 23.76",\
"13.22, 13.32, 13.64, 14.23, 15.13, 16.38, 18.02, 20.08, 22.6, 25.6",\
"15.3, 15.4, 15.72, 16.31, 17.21, 18.46, 20.1, 22.16, 24.67, 27.67",\
"17.61, 17.71, 18.03, 18.62, 19.52, 20.77, 22.41, 24.47, 26.99, 29.98");
}
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.005061, 0.01931, 0.04653, 0.08894, 0.1484, 0.2267, 0.3254, 0.4458, 0.5893");
values("0.561, 0.6272, 0.8154, 1.113, 1.505, 2.032, 2.759, 3.723, 4.946, 6.423",\
"0.5612, 0.6266, 0.8164, 1.113, 1.505, 2.032, 2.758, 3.722, 4.945, 6.425",\
"0.561, 0.627, 0.8158, 1.112, 1.505, 2.031, 2.758, 3.724, 4.943, 6.425",\
"0.5614, 0.6274, 0.8152, 1.114, 1.505, 2.03, 2.759, 3.722, 4.944, 6.424",\
"0.5616, 0.6278, 0.8162, 1.112, 1.505, 2.032, 2.758, 3.72, 4.944, 6.432",\
"0.562, 0.628, 0.816, 1.112, 1.506, 2.03, 2.756, 3.72, 4.946, 6.432",\
"0.562, 0.628, 0.816, 1.114, 1.506, 2.03, 2.758, 3.722, 4.946, 6.432",\
"0.562, 0.626, 0.816, 1.114, 1.504, 2.03, 2.758, 3.724, 4.946, 6.422",\
"0.562, 0.628, 0.814, 1.112, 1.506, 2.03, 2.76, 3.724, 4.944, 6.426",\
"0.562, 0.628, 0.816, 1.112, 1.506, 2.032, 2.756, 3.724, 4.942, 6.432");
}
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.005061, 0.01931, 0.04653, 0.08894, 0.1484, 0.2267, 0.3254, 0.4458, 0.5893");
values("0.495, 0.6234, 1.091, 2.03, 3.503, 5.575, 8.314, 11.76, 15.97, 21",\
"0.495, 0.624, 1.092, 2.031, 3.503, 5.575, 8.314, 11.76, 15.97, 21",\
"0.4948, 0.6224, 1.091, 2.031, 3.503, 5.57, 8.314, 11.78, 15.98, 20.99",\
"0.495, 0.6228, 1.091, 2.031, 3.503, 5.572, 8.316, 11.76, 16, 20.99",\
"0.496, 0.624, 1.092, 2.03, 3.504, 5.572, 8.316, 11.76, 16, 21",\
"0.496, 0.624, 1.092, 2.03, 3.502, 5.574, 8.308, 11.76, 15.97, 20.99",\
"0.494, 0.624, 1.092, 2.03, 3.502, 5.572, 8.316, 11.76, 15.99, 20.99",\
"0.494, 0.624, 1.092, 2.03, 3.504, 5.57, 8.306, 11.77, 15.99, 20.99",\
"0.494, 0.624, 1.092, 2.03, 3.504, 5.576, 8.314, 11.77, 15.97, 21",\
"0.496, 0.624, 1.092, 2.03, 3.502, 5.572, 8.314, 11.76, 15.97, 21");
}
}
}
}