blob: c17fe799cc0906ce3ba227880d7ef392838c9859 [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_2) {
area : 68.051200 ;
ff(IQ1,IQN1) {
clocked_on : "CLK" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&!D" ;
value : "0.000130053" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.000131016" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.00014871" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.00014067" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.00014871" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.003092 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 11 ;
min_period : 2.478 ;
min_pulse_width_high : 1.147 ;
min_pulse_width_low : 1.254 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.09886, 0.09849, 0.09804, 0.099, 0.1021, 0.1072, 0.1147, 0.1247, \
0.1375, 0.1532");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.07732, 0.07701, 0.07659, 0.07712, 0.07943, 0.0836, 0.09006, \
0.09894, 0.1102, 0.1241");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.09837, 0.09798, 0.09749, 0.09848, 0.1015, 0.1067, 0.1142, 0.1242, \
0.137, 0.1526");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.07734, 0.07711, 0.07656, 0.07713, 0.07933, 0.0836, 0.0902, 0.09909, \
0.1104, 0.1243");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("1.254");
}
rise_constraint(scalar) {
values("0.637");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.952");
}
rise_constraint(scalar) {
values("1.147");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("2.478");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("2.357");
}
}
}
pin(D) {
capacitance : 0.0023 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 11 ;
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.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.05148, 0.05106, 0.05044, 0.05074, 0.05242, 0.0553, 0.05923, \
0.06435, 0.07068, 0.07842");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.0376, 0.03769, 0.03766, 0.03799, 0.03904, 0.04099, 0.04405, \
0.04817, 0.05348, 0.06005");
}
}
internal_power() {
when : "CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.003307, 0.003308, 0.003297, 0.003305, 0.003309, 0.003309, 0.003304, \
0.0033, 0.003294, 0.003285");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("-0.002033, -0.002036, -0.002074, -0.002096, -0.002112, -0.002129, \
-0.002138, -0.002143, -0.002155, -0.002166");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.12, 0.138, 0.209, 0.33, 0.433, 0.513, 0.566, 0.599, 0.607, 0.58",\
"0.105, 0.129, 0.197, 0.314, 0.418, 0.5, 0.55, 0.587, 0.588, 0.56",\
"0.046, 0.062, 0.139, 0.251, 0.354, 0.435, 0.49, 0.52, 0.525, 0.499",\
"-0.108, -0.088, -0.02, 0.103, 0.203, 0.286, 0.342, 0.375, 0.381, 0.354",\
"-0.315, -0.295, -0.231, -0.112, -0.009, 0.072, 0.129, 0.167, 0.167, 0.143",\
"-0.585, -0.566, -0.498, -0.387, -0.281, -0.204, -0.143, -0.109, -0.1, -0.122",\
"-0.9, -0.884, -0.82, -0.714, -0.606, -0.531, -0.471, -0.437, -0.423, -0.448",\
"-1.277, -1.266, -1.195, -1.094, -0.992, -0.916, -0.858, -0.822, -0.811, -0.836",\
"-1.716, -1.696, -1.641, -1.539, -1.44, -1.364, -1.305, -1.268, -1.258, -1.287",\
"-2.213, -2.203, -2.147, -2.046, -1.954, -1.876, -1.814, -1.79, -1.777, -1.8");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.034, 0.052, 0.118, 0.194, 0.251, 0.291, 0.301, 0.301, 0.264, 0.203",\
"0.012, 0.035, 0.102, 0.181, 0.238, 0.28, 0.292, 0.286, 0.257, 0.194",\
"-0.033, -0.013, 0.056, 0.139, 0.199, 0.244, 0.262, 0.261, 0.231, 0.172",\
"-0.07, -0.048, 0.015, 0.103, 0.164, 0.212, 0.229, 0.232, 0.204, 0.148",\
"-0.078, -0.058, 0.01, 0.091, 0.159, 0.198, 0.216, 0.223, 0.191, 0.136",\
"-0.047, -0.03, 0.035, 0.117, 0.181, 0.218, 0.241, 0.238, 0.213, 0.157",\
"0.016, 0.037, 0.102, 0.18, 0.238, 0.278, 0.286, 0.288, 0.26, 0.206",\
"0.139, 0.16, 0.218, 0.292, 0.348, 0.376, 0.387, 0.385, 0.349, 0.286",\
"0.311, 0.333, 0.393, 0.461, 0.511, 0.533, 0.543, 0.536, 0.496, 0.429",\
"0.551, 0.579, 0.633, 0.699, 0.735, 0.764, 0.756, 0.745, 0.696, 0.626");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.555, 0.534, 0.459, 0.32, 0.196, 0.096, 0.021, -0.025, -0.042, -0.024",\
"0.567, 0.549, 0.468, 0.333, 0.208, 0.11, 0.037, -0.014, -0.028, -0.013",\
"0.634, 0.617, 0.538, 0.401, 0.273, 0.179, 0.102, 0.053, 0.036, 0.054",\
"0.806, 0.781, 0.707, 0.573, 0.445, 0.346, 0.274, 0.224, 0.206, 0.222",\
"1.09, 1.063, 0.987, 0.852, 0.723, 0.627, 0.556, 0.508, 0.487, 0.5",\
"1.445, 1.425, 1.343, 1.21, 1.079, 0.98, 0.909, 0.857, 0.839, 0.855",\
"1.847, 1.826, 1.748, 1.613, 1.486, 1.391, 1.314, 1.267, 1.249, 1.256",\
"2.32, 2.299, 2.224, 2.082, 1.958, 1.86, 1.787, 1.738, 1.722, 1.731",\
"2.866, 2.842, 2.763, 2.631, 2.503, 2.409, 2.334, 2.29, 2.269, 2.274",\
"3.489, 3.469, 3.386, 3.247, 3.128, 3.028, 2.958, 2.907, 2.885, 2.896");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
values("0.555, 0.527, 0.453, 0.32, 0.205, 0.132, 0.08, 0.057, 0.069, 0.121",\
"0.567, 0.549, 0.468, 0.333, 0.227, 0.139, 0.096, 0.077, 0.089, 0.133",\
"0.64, 0.61, 0.529, 0.401, 0.284, 0.21, 0.154, 0.132, 0.136, 0.183",\
"0.73, 0.7, 0.623, 0.489, 0.373, 0.291, 0.243, 0.216, 0.223, 0.258",\
"0.798, 0.769, 0.687, 0.557, 0.445, 0.363, 0.311, 0.273, 0.277, 0.311",\
"0.814, 0.787, 0.706, 0.579, 0.463, 0.381, 0.33, 0.291, 0.293, 0.336",\
"0.794, 0.765, 0.689, 0.556, 0.439, 0.36, 0.306, 0.275, 0.28, 0.311",\
"0.726, 0.7, 0.622, 0.494, 0.373, 0.286, 0.238, 0.204, 0.21, 0.247",\
"0.602, 0.578, 0.499, 0.37, 0.257, 0.173, 0.118, 0.091, 0.099, 0.134",\
"0.428, 0.4, 0.328, 0.197, 0.083, -0.007, -0.057, -0.085, -0.082, -0.045");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.7173 ;
max_transition : 11 ;
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.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2759, 0.396, 0.5426, 0.7173");
values("0.1101, 0.1094, 0.1095, 0.1103, 0.1109, 0.1114, 0.1116, 0.1118, 0.1119, 0.1119",\
"0.1101, 0.1094, 0.1095, 0.1104, 0.111, 0.1114, 0.1116, 0.1118, 0.1119, 0.112",\
"0.11, 0.1093, 0.1094, 0.1102, 0.1109, 0.1113, 0.1115, 0.1117, 0.1118, 0.1119",\
"0.1103, 0.1095, 0.1097, 0.1105, 0.111, 0.1115, 0.1117, 0.1119, 0.112, 0.1121",\
"0.1105, 0.1098, 0.1099, 0.1108, 0.1114, 0.1118, 0.112, 0.1122, 0.1123, 0.1123",\
"0.1108, 0.1102, 0.1103, 0.1111, 0.1117, 0.1121, 0.1124, 0.1125, 0.1126, 0.1127",\
"0.1112, 0.1105, 0.1107, 0.1115, 0.1121, 0.1125, 0.1127, 0.1128, 0.1129, 0.113",\
"0.1115, 0.1108, 0.1109, 0.1117, 0.1123, 0.1127, 0.113, 0.1131, 0.1132, 0.1133",\
"0.1118, 0.1112, 0.1112, 0.1121, 0.1127, 0.1131, 0.1133, 0.1135, 0.1136, 0.1136",\
"0.1123, 0.1116, 0.1117, 0.1125, 0.1131, 0.1135, 0.1137, 0.1138, 0.114, 0.114");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2759, 0.396, 0.5426, 0.7173");
values("0.1045, 0.1036, 0.1026, 0.103, 0.1045, 0.1056, 0.1072, 0.1083, 0.1116, 0.1393",\
"0.1044, 0.1035, 0.1027, 0.1032, 0.1045, 0.1058, 0.1072, 0.1082, 0.1109, 0.1407",\
"0.1043, 0.1035, 0.1026, 0.1031, 0.1047, 0.1057, 0.1069, 0.1084, 0.1124, 0.1415",\
"0.1043, 0.1033, 0.1026, 0.1032, 0.1045, 0.1057, 0.107, 0.1082, 0.1122, 0.1474",\
"0.1045, 0.1035, 0.1026, 0.1032, 0.1048, 0.1058, 0.1071, 0.1081, 0.1131, 0.1549",\
"0.1046, 0.1039, 0.103, 0.1032, 0.1048, 0.1061, 0.1072, 0.1085, 0.1142, 0.1692",\
"0.1047, 0.1037, 0.1027, 0.1034, 0.1051, 0.1061, 0.1073, 0.1091, 0.1173, 0.1877",\
"0.1048, 0.1039, 0.1031, 0.1034, 0.1042, 0.1068, 0.1086, 0.1088, 0.1215, 0.2223",\
"0.1051, 0.1044, 0.1036, 0.1039, 0.105, 0.1056, 0.1087, 0.1118, 0.1315, 0.282",\
"0.1056, 0.1048, 0.1038, 0.1044, 0.1054, 0.1066, 0.1072, 0.1132, 0.156, 0.3914");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2759, 0.396, 0.5426, 0.7173");
values("1.314, 1.372, 1.511, 1.705, 1.972, 2.334, 2.808, 3.405, 4.133, 5.002",\
"1.335, 1.393, 1.532, 1.726, 1.993, 2.355, 2.829, 3.426, 4.155, 5.022",\
"1.41, 1.469, 1.607, 1.802, 2.069, 2.431, 2.905, 3.502, 4.231, 5.098",\
"1.542, 1.6, 1.739, 1.933, 2.2, 2.563, 3.037, 3.634, 4.362, 5.23",\
"1.669, 1.727, 1.865, 2.06, 2.327, 2.689, 3.163, 3.76, 4.489, 5.356",\
"1.769, 1.827, 1.966, 2.161, 2.428, 2.79, 3.264, 3.861, 4.589, 5.458",\
"1.846, 1.904, 2.043, 2.238, 2.505, 2.867, 3.341, 3.937, 4.666, 5.534",\
"1.899, 1.958, 2.096, 2.29, 2.558, 2.92, 3.394, 3.99, 4.718, 5.586",\
"1.926, 1.985, 2.123, 2.318, 2.585, 2.947, 3.421, 4.018, 4.746, 5.614",\
"1.921, 1.98, 2.118, 2.313, 2.58, 2.942, 3.416, 4.013, 4.741, 5.609");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2759, 0.396, 0.5426, 0.7173");
values("1.534, 1.604, 1.781, 2.08, 2.541, 3.187, 4.037, 5.107, 6.412, 7.97",\
"1.555, 1.624, 1.801, 2.101, 2.562, 3.208, 4.058, 5.127, 6.434, 7.991",\
"1.63, 1.699, 1.876, 2.175, 2.637, 3.283, 4.132, 5.202, 6.509, 8.067",\
"1.76, 1.829, 2.006, 2.305, 2.766, 3.412, 4.262, 5.332, 6.637, 8.195",\
"1.886, 1.955, 2.132, 2.431, 2.892, 3.538, 4.388, 5.458, 6.763, 8.321",\
"1.988, 2.057, 2.234, 2.533, 2.994, 3.641, 4.49, 5.56, 6.866, 8.421",\
"2.067, 2.136, 2.313, 2.612, 3.073, 3.719, 4.569, 5.639, 6.945, 8.504",\
"2.124, 2.192, 2.37, 2.669, 3.13, 3.776, 4.626, 5.695, 7.003, 8.561",\
"2.156, 2.225, 2.403, 2.702, 3.163, 3.809, 4.659, 5.728, 7.034, 8.589",\
"2.162, 2.23, 2.407, 2.707, 3.168, 3.815, 4.664, 5.733, 7.038, 8.594");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2759, 0.396, 0.5426, 0.7173");
values("0.1352, 0.1874, 0.322, 0.5602, 0.9534, 1.534, 2.313, 3.296, 4.5, 5.937",\
"0.1352, 0.1874, 0.3214, 0.56, 0.9536, 1.534, 2.311, 3.295, 4.502, 5.927",\
"0.1352, 0.1874, 0.322, 0.5602, 0.955, 1.535, 2.311, 3.297, 4.501, 5.932",\
"0.1352, 0.1874, 0.322, 0.5598, 0.9546, 1.535, 2.313, 3.294, 4.502, 5.932",\
"0.1352, 0.1874, 0.3214, 0.5598, 0.9536, 1.535, 2.311, 3.296, 4.502, 5.933",\
"0.1352, 0.1876, 0.322, 0.5604, 0.9536, 1.535, 2.313, 3.298, 4.498, 5.937",\
"0.1352, 0.1874, 0.3212, 0.5602, 0.9538, 1.534, 2.309, 3.291, 4.496, 5.933",\
"0.1352, 0.1876, 0.322, 0.5602, 0.955, 1.533, 2.311, 3.29, 4.489, 5.923",\
"0.1352, 0.1876, 0.322, 0.56, 0.9542, 1.534, 2.311, 3.295, 4.491, 5.918",\
"0.1352, 0.1874, 0.3214, 0.5602, 0.9548, 1.533, 2.312, 3.293, 4.494, 5.918");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2759, 0.396, 0.5426, 0.7173");
values("0.1564, 0.226, 0.4522, 0.9366, 1.719, 2.821, 4.275, 6.106, 8.337, 11.02",\
"0.156, 0.2266, 0.4522, 0.935, 1.72, 2.823, 4.276, 6.107, 8.349, 11",\
"0.1564, 0.2268, 0.453, 0.9362, 1.718, 2.824, 4.278, 6.11, 8.348, 11.01",\
"0.156, 0.226, 0.4522, 0.9366, 1.718, 2.823, 4.276, 6.106, 8.337, 11.02",\
"0.156, 0.2268, 0.452, 0.9362, 1.72, 2.823, 4.276, 6.106, 8.338, 11.02",\
"0.156, 0.2268, 0.4526, 0.9364, 1.72, 2.821, 4.272, 6.1, 8.342, 11.01",\
"0.1564, 0.2262, 0.4522, 0.9352, 1.718, 2.82, 4.274, 6.11, 8.347, 11.01",\
"0.156, 0.226, 0.4522, 0.935, 1.721, 2.82, 4.269, 6.107, 8.348, 11.01",\
"0.1558, 0.2262, 0.453, 0.9362, 1.719, 2.82, 4.271, 6.099, 8.338, 11.01",\
"0.1562, 0.226, 0.4524, 0.9362, 1.719, 2.82, 4.276, 6.102, 8.326, 10.99");
}
}
}
}