blob: c9f1a2b9bf66f591a542deab05c105cdf5047466 [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.0001504272" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.0001706298" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.0002092398" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.0002261853" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.0002261853" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.003183 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 8.6 ;
min_period : 1.709 ;
min_pulse_width_high : 0.707 ;
min_pulse_width_low : 0.853 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.1204, 0.12, 0.1208, 0.1266, 0.1385, 0.1574, 0.1837, 0.218, 0.2606, \
0.3118");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.09117, 0.09093, 0.09137, 0.096, 0.1057, 0.1218, 0.1448, 0.175, \
0.2125, 0.2578");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.1223, 0.1219, 0.1227, 0.1285, 0.1404, 0.1592, 0.1855, 0.2197, \
0.2623, 0.3135");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.0911, 0.09083, 0.09129, 0.0959, 0.1057, 0.1219, 0.1449, 0.1751, \
0.2127, 0.258");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.853");
}
rise_constraint(scalar) {
values("0.419");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.597");
}
rise_constraint(scalar) {
values("0.707");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("1.709");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("1.544");
}
}
}
pin(D) {
capacitance : 0.002361 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 8.6 ;
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.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.06687, 0.0663, 0.06598, 0.06817, 0.07384, 0.08251, 0.09444, \
0.1101, 0.1296, 0.1532");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.04624, 0.04637, 0.04688, 0.04894, 0.05308, 0.05992, 0.06961, \
0.08233, 0.09827, 0.1175");
}
}
internal_power() {
when : "CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.00438, 0.004375, 0.004372, 0.004376, 0.004367, 0.004372, 0.004373, \
0.00437, 0.004365, 0.004356");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("-0.002702, -0.002705, -0.002716, -0.002736, -0.002756, -0.002771, \
-0.002789, -0.002797, -0.002808, -0.002819");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.069, 0.083, 0.125, 0.199, 0.256, 0.29, 0.31, 0.302, 0.274, 0.216",\
"0.06, 0.071, 0.118, 0.189, 0.247, 0.282, 0.295, 0.29, 0.265, 0.209",\
"0.015, 0.024, 0.079, 0.144, 0.2, 0.239, 0.257, 0.249, 0.222, 0.166",\
"-0.108, -0.093, -0.05, 0.023, 0.079, 0.125, 0.136, 0.135, 0.102, 0.053",\
"-0.285, -0.278, -0.225, -0.152, -0.094, -0.057, -0.035, -0.039, -0.069, -0.121",\
"-0.514, -0.501, -0.455, -0.381, -0.328, -0.281, -0.268, -0.264, -0.295, -0.349",\
"-0.791, -0.776, -0.728, -0.655, -0.605, -0.561, -0.541, -0.54, -0.576, -0.631",\
"-1.116, -1.109, -1.063, -0.99, -0.938, -0.89, -0.875, -0.875, -0.908, -0.964",\
"-1.499, -1.494, -1.454, -1.378, -1.322, -1.277, -1.262, -1.259, -1.292, -1.343",\
"-1.949, -1.944, -1.903, -1.826, -1.779, -1.726, -1.709, -1.708, -1.746, -1.79");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.034, 0.049, 0.087, 0.134, 0.167, 0.181, 0.175, 0.154, 0.115, 0.049",\
"0.026, 0.039, 0.082, 0.131, 0.162, 0.17, 0.175, 0.147, 0.113, 0.046",\
"-0.001, 0.012, 0.055, 0.103, 0.139, 0.156, 0.157, 0.137, 0.098, 0.037",\
"-0.008, 0.004, 0.048, 0.1, 0.132, 0.147, 0.146, 0.129, 0.093, 0.025",\
"0.005, 0.015, 0.062, 0.112, 0.142, 0.162, 0.153, 0.138, 0.092, 0.028",\
"0.055, 0.071, 0.113, 0.161, 0.189, 0.194, 0.19, 0.166, 0.119, 0.052",\
"0.162, 0.176, 0.214, 0.254, 0.282, 0.281, 0.275, 0.241, 0.192, 0.119",\
"0.318, 0.33, 0.367, 0.406, 0.425, 0.424, 0.403, 0.366, 0.314, 0.24",\
"0.53, 0.545, 0.581, 0.615, 0.627, 0.614, 0.594, 0.55, 0.49, 0.413",\
"0.811, 0.818, 0.859, 0.882, 0.89, 0.873, 0.845, 0.797, 0.731, 0.64");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.389, 0.381, 0.326, 0.247, 0.184, 0.136, 0.111, 0.106, 0.132, 0.186",\
"0.397, 0.389, 0.332, 0.254, 0.185, 0.142, 0.116, 0.115, 0.143, 0.195",\
"0.447, 0.432, 0.378, 0.303, 0.236, 0.189, 0.16, 0.162, 0.192, 0.242",\
"0.581, 0.565, 0.515, 0.437, 0.37, 0.321, 0.294, 0.293, 0.318, 0.373",\
"0.799, 0.788, 0.73, 0.649, 0.586, 0.539, 0.51, 0.514, 0.532, 0.586",\
"1.078, 1.066, 1.011, 0.937, 0.872, 0.826, 0.793, 0.794, 0.813, 0.867",\
"1.432, 1.418, 1.371, 1.284, 1.223, 1.174, 1.147, 1.145, 1.167, 1.216",\
"1.848, 1.837, 1.784, 1.705, 1.641, 1.597, 1.568, 1.562, 1.583, 1.635",\
"2.335, 2.329, 2.273, 2.19, 2.127, 2.084, 2.047, 2.049, 2.069, 2.118",\
"2.892, 2.882, 2.826, 2.745, 2.68, 2.632, 2.602, 2.594, 2.62, 2.661");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.372, 0.354, 0.294, 0.211, 0.154, 0.119, 0.103, 0.112, 0.156, 0.227",\
"0.377, 0.365, 0.302, 0.225, 0.162, 0.13, 0.107, 0.127, 0.168, 0.231",\
"0.42, 0.408, 0.347, 0.263, 0.201, 0.164, 0.142, 0.156, 0.192, 0.264",\
"0.471, 0.45, 0.393, 0.314, 0.244, 0.212, 0.194, 0.199, 0.23, 0.294",\
"0.487, 0.471, 0.409, 0.327, 0.263, 0.224, 0.207, 0.21, 0.248, 0.312",\
"0.463, 0.447, 0.392, 0.308, 0.241, 0.205, 0.187, 0.196, 0.227, 0.298",\
"0.403, 0.39, 0.33, 0.246, 0.182, 0.15, 0.129, 0.14, 0.174, 0.239",\
"0.29, 0.278, 0.218, 0.135, 0.072, 0.04, 0.017, 0.029, 0.071, 0.143",\
"0.13, 0.105, 0.048, -0.029, -0.088, -0.127, -0.151, -0.132, -0.086, -0.017",\
"-0.102, -0.121, -0.177, -0.254, -0.323, -0.356, -0.367, -0.35, -0.307, -0.23");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.3602 ;
max_transition : 8.6 ;
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.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
index_2("0.001, 0.003479, 0.01218, 0.0288, 0.0547, 0.09103, 0.1388, 0.1991, 0.2726, 0.3602");
values("0.1079, 0.1073, 0.1066, 0.1064, 0.1064, 0.1063, 0.1063, 0.1063, 0.1063, 0.1063",\
"0.1078, 0.1072, 0.1066, 0.1064, 0.1063, 0.1063, 0.1063, 0.1063, 0.1063, 0.1063",\
"0.1079, 0.1073, 0.1066, 0.1065, 0.1064, 0.1063, 0.1063, 0.1063, 0.1063, 0.1063",\
"0.1082, 0.1076, 0.107, 0.1068, 0.1068, 0.1067, 0.1067, 0.1067, 0.1067, 0.1067",\
"0.1089, 0.1083, 0.1077, 0.1075, 0.1074, 0.1074, 0.1074, 0.1074, 0.1074, 0.1074",\
"0.1094, 0.1088, 0.1082, 0.108, 0.1079, 0.1079, 0.1079, 0.1079, 0.1079, 0.1079",\
"0.1103, 0.1096, 0.109, 0.1089, 0.1088, 0.1087, 0.1087, 0.1087, 0.1087, 0.1087",\
"0.111, 0.1104, 0.1097, 0.1096, 0.1095, 0.1095, 0.1095, 0.1094, 0.1094, 0.1094",\
"0.1119, 0.1112, 0.1106, 0.1104, 0.1104, 0.1103, 0.1103, 0.1103, 0.1103, 0.1103",\
"0.1128, 0.1123, 0.1117, 0.1114, 0.1114, 0.1113, 0.1113, 0.1113, 0.1113, 0.1113");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
index_2("0.001, 0.003479, 0.01218, 0.0288, 0.0547, 0.09103, 0.1388, 0.1991, 0.2726, 0.3602");
values("0.1076, 0.1067, 0.1055, 0.105, 0.1052, 0.1059, 0.1066, 0.107, 0.108, 0.1119",\
"0.1076, 0.1066, 0.1054, 0.1049, 0.1052, 0.1058, 0.1066, 0.1073, 0.1078, 0.1116",\
"0.1074, 0.1066, 0.1053, 0.1049, 0.1052, 0.1058, 0.1066, 0.1069, 0.1076, 0.1119",\
"0.1078, 0.1069, 0.1057, 0.1052, 0.1054, 0.1061, 0.1067, 0.1072, 0.1082, 0.1128",\
"0.1083, 0.1074, 0.1061, 0.1057, 0.1059, 0.1065, 0.1072, 0.1077, 0.1085, 0.1145",\
"0.109, 0.1081, 0.1068, 0.1067, 0.1067, 0.1073, 0.1078, 0.1085, 0.1096, 0.1163",\
"0.11, 0.1091, 0.1078, 0.1072, 0.1079, 0.1086, 0.1089, 0.1095, 0.1107, 0.1189",\
"0.1114, 0.1104, 0.1091, 0.1087, 0.1087, 0.1096, 0.1108, 0.1116, 0.1119, 0.1232",\
"0.1128, 0.1119, 0.1105, 0.1102, 0.1102, 0.1104, 0.1119, 0.1137, 0.1151, 0.1303",\
"0.1146, 0.1137, 0.1124, 0.1117, 0.1119, 0.1121, 0.1129, 0.1143, 0.1186, 0.1422");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
index_2("0.001, 0.003479, 0.01218, 0.0288, 0.0547, 0.09103, 0.1388, 0.1991, 0.2726, 0.3602");
values("0.858, 0.8906, 0.9789, 1.115, 1.311, 1.58, 1.934, 2.379, 2.923, 3.571",\
"0.8716, 0.9038, 0.9925, 1.129, 1.324, 1.594, 1.947, 2.393, 2.936, 3.584",\
"0.9219, 0.9542, 1.043, 1.179, 1.374, 1.644, 1.997, 2.443, 2.987, 3.635",\
"1.001, 1.033, 1.121, 1.258, 1.453, 1.723, 2.076, 2.522, 3.065, 3.714",\
"1.067, 1.1, 1.188, 1.325, 1.52, 1.789, 2.143, 2.588, 3.132, 3.78",\
"1.118, 1.151, 1.239, 1.376, 1.571, 1.84, 2.194, 2.639, 3.183, 3.83",\
"1.152, 1.184, 1.272, 1.409, 1.605, 1.874, 2.227, 2.673, 3.216, 3.864",\
"1.163, 1.195, 1.283, 1.42, 1.615, 1.885, 2.238, 2.683, 3.227, 3.875",\
"1.148, 1.18, 1.269, 1.405, 1.601, 1.87, 2.224, 2.669, 3.212, 3.86",\
"1.106, 1.139, 1.227, 1.364, 1.559, 1.828, 2.182, 2.627, 3.171, 3.819");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
index_2("0.001, 0.003479, 0.01218, 0.0288, 0.0547, 0.09103, 0.1388, 0.1991, 0.2726, 0.3602");
values("0.9773, 1.018, 1.14, 1.363, 1.711, 2.199, 2.841, 3.651, 4.639, 5.818",\
"0.9906, 1.031, 1.153, 1.376, 1.724, 2.212, 2.854, 3.664, 4.653, 5.83",\
"1.04, 1.081, 1.203, 1.426, 1.774, 2.262, 2.904, 3.714, 4.702, 5.881",\
"1.119, 1.159, 1.282, 1.505, 1.853, 2.341, 2.983, 3.793, 4.781, 5.96",\
"1.188, 1.228, 1.35, 1.573, 1.921, 2.41, 3.052, 3.861, 4.849, 6.028",\
"1.242, 1.282, 1.404, 1.628, 1.975, 2.464, 3.106, 3.915, 4.904, 6.082",\
"1.281, 1.321, 1.443, 1.666, 2.014, 2.503, 3.144, 3.954, 4.943, 6.121",\
"1.299, 1.339, 1.461, 1.685, 2.032, 2.52, 3.163, 3.972, 4.959, 6.136",\
"1.293, 1.333, 1.455, 1.678, 2.026, 2.515, 3.157, 3.967, 4.953, 6.13",\
"1.262, 1.302, 1.424, 1.648, 1.996, 2.484, 3.126, 3.935, 4.923, 6.101");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
index_2("0.001, 0.003479, 0.01218, 0.0288, 0.0547, 0.09103, 0.1388, 0.1991, 0.2726, 0.3602");
values("0.1061, 0.1391, 0.2394, 0.424, 0.7294, 1.177, 1.77, 2.516, 3.435, 4.524",\
"0.1059, 0.1391, 0.2395, 0.4238, 0.7308, 1.177, 1.77, 2.517, 3.435, 4.525",\
"0.1058, 0.1392, 0.239, 0.4242, 0.7308, 1.176, 1.769, 2.516, 3.435, 4.522",\
"0.1056, 0.139, 0.2394, 0.424, 0.7314, 1.177, 1.768, 2.519, 3.435, 4.521",\
"0.1058, 0.1388, 0.2392, 0.425, 0.7308, 1.177, 1.769, 2.52, 3.43, 4.525",\
"0.1056, 0.1392, 0.2384, 0.424, 0.7294, 1.175, 1.769, 2.515, 3.43, 4.525",\
"0.1058, 0.1386, 0.239, 0.4238, 0.7298, 1.174, 1.766, 2.514, 3.426, 4.523",\
"0.1056, 0.1388, 0.2398, 0.4242, 0.7298, 1.176, 1.766, 2.513, 3.425, 4.514",\
"0.1062, 0.1386, 0.239, 0.4244, 0.7302, 1.176, 1.77, 2.514, 3.426, 4.512",\
"0.1056, 0.1392, 0.239, 0.4238, 0.7316, 1.176, 1.769, 2.514, 3.426, 4.515");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
index_2("0.001, 0.003479, 0.01218, 0.0288, 0.0547, 0.09103, 0.1388, 0.1991, 0.2726, 0.3602");
values("0.1334, 0.1864, 0.3724, 0.7582, 1.373, 2.233, 3.362, 4.789, 6.532, 8.607",\
"0.1336, 0.186, 0.3722, 0.7582, 1.372, 2.233, 3.362, 4.789, 6.532, 8.614",\
"0.133, 0.1862, 0.3722, 0.7582, 1.37, 2.23, 3.36, 4.79, 6.532, 8.609",\
"0.1336, 0.186, 0.3724, 0.7582, 1.37, 2.233, 3.365, 4.787, 6.531, 8.61",\
"0.1334, 0.1864, 0.3724, 0.758, 1.371, 2.233, 3.366, 4.787, 6.532, 8.614",\
"0.1332, 0.1862, 0.3726, 0.7592, 1.37, 2.233, 3.368, 4.789, 6.532, 8.609",\
"0.1332, 0.1862, 0.3724, 0.7588, 1.372, 2.23, 3.363, 4.79, 6.533, 8.614",\
"0.134, 0.1864, 0.3726, 0.7592, 1.371, 2.23, 3.361, 4.794, 6.53, 8.61",\
"0.1334, 0.1862, 0.3726, 0.7576, 1.371, 2.232, 3.364, 4.786, 6.529, 8.606",\
"0.1342, 0.1864, 0.3728, 0.7598, 1.37, 2.23, 3.362, 4.794, 6.526, 8.602");
}
}
}
}