blob: 3260f35c33dcbce91d99eb63e8a343597707b202 [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.00067053" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.00070785" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.00073044" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.0007398" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.0007398" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.003181 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 15.6 ;
min_period : 3.626 ;
min_pulse_width_high : 1.608 ;
min_pulse_width_low : 1.813 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.102, 0.1017, 0.1017, 0.1044, 0.1109, 0.1212, 0.1361, 0.1556, \
0.1801, 0.2098");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.07955, 0.07928, 0.07917, 0.08127, 0.08632, 0.09518, 0.1081, \
0.1253, 0.1469, 0.1733");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.1036, 0.1032, 0.1033, 0.106, 0.1124, 0.1228, 0.1375, 0.1571, \
0.1816, 0.2113");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.07947, 0.07925, 0.07913, 0.08126, 0.08635, 0.09522, 0.1082, \
0.1254, 0.1472, 0.1735");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("1.813");
}
rise_constraint(scalar) {
values("0.903");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("1.325");
}
rise_constraint(scalar) {
values("1.608");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("3.626");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("3.342");
}
}
}
pin(D) {
capacitance : 0.002342 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 15.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.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.05552, 0.05519, 0.05471, 0.0556, 0.05865, 0.06374, 0.07062, \
0.07957, 0.09074, 0.1043");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.03947, 0.0396, 0.03979, 0.04078, 0.04292, 0.04663, 0.05201, \
0.05917, 0.06824, 0.07935");
}
}
internal_power() {
when : "CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.003418, 0.003416, 0.003417, 0.003415, 0.003415, 0.003415, 0.003406, \
0.003394, 0.003374, 0.003327");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("-0.001976, -0.001981, -0.001987, -0.001995, -0.00202, -0.002035, \
-0.00205, -0.002068, -0.002095, -0.00216");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
index_2("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.12, 0.149, 0.249, 0.399, 0.515, 0.602, 0.658, 0.668, 0.628, 0.549",\
"0.106, 0.136, 0.228, 0.377, 0.493, 0.581, 0.634, 0.645, 0.607, 0.528",\
"0.025, 0.049, 0.143, 0.29, 0.405, 0.493, 0.551, 0.56, 0.526, 0.446",\
"-0.2, -0.172, -0.074, 0.07, 0.19, 0.284, 0.339, 0.35, 0.311, 0.235",\
"-0.528, -0.506, -0.412, -0.262, -0.139, -0.044, 0.016, 0.032, -0.008, -0.084",\
"-0.946, -0.92, -0.834, -0.677, -0.56, -0.465, -0.407, -0.385, -0.421, -0.502",\
"-1.453, -1.428, -1.343, -1.19, -1.075, -0.983, -0.919, -0.902, -0.94, -1.015",\
"-2.055, -2.028, -1.946, -1.801, -1.682, -1.587, -1.529, -1.517, -1.55, -1.632",\
"-2.759, -2.728, -2.654, -2.507, -2.399, -2.305, -2.241, -2.225, -2.266, -2.336",\
"-3.574, -3.546, -3.467, -3.328, -3.219, -3.133, -3.065, -3.044, -3.086, -3.162");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
index_2("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.063, 0.087, 0.175, 0.27, 0.343, 0.385, 0.386, 0.356, 0.295, 0.186",\
"0.044, 0.068, 0.153, 0.255, 0.326, 0.364, 0.372, 0.344, 0.285, 0.182",\
"-0.012, 0.015, 0.102, 0.206, 0.28, 0.328, 0.336, 0.318, 0.261, 0.158",\
"-0.037, -0.013, 0.075, 0.179, 0.253, 0.303, 0.313, 0.291, 0.234, 0.13",\
"-0.021, 0.008, 0.093, 0.197, 0.268, 0.316, 0.319, 0.295, 0.237, 0.135",\
"0.06, 0.086, 0.167, 0.263, 0.328, 0.371, 0.375, 0.35, 0.281, 0.177",\
"0.226, 0.249, 0.322, 0.415, 0.474, 0.504, 0.496, 0.466, 0.394, 0.279",\
"0.483, 0.51, 0.577, 0.662, 0.711, 0.731, 0.711, 0.671, 0.588, 0.469",\
"0.845, 0.871, 0.939, 1.012, 1.047, 1.058, 1.024, 0.974, 0.888, 0.76",\
"1.313, 1.345, 1.406, 1.468, 1.493, 1.488, 1.451, 1.387, 1.29, 1.161");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
index_2("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.876, 0.849, 0.744, 0.572, 0.423, 0.317, 0.24, 0.212, 0.236, 0.317",\
"0.9, 0.868, 0.756, 0.587, 0.439, 0.334, 0.257, 0.23, 0.257, 0.333",\
"0.983, 0.961, 0.849, 0.674, 0.531, 0.426, 0.346, 0.319, 0.343, 0.418",\
"1.221, 1.196, 1.085, 0.917, 0.773, 0.663, 0.592, 0.561, 0.576, 0.656",\
"1.627, 1.605, 1.494, 1.324, 1.175, 1.072, 0.994, 0.968, 0.988, 1.055",\
"2.17, 2.14, 2.034, 1.858, 1.718, 1.607, 1.536, 1.503, 1.518, 1.586",\
"2.816, 2.784, 2.676, 2.507, 2.358, 2.249, 2.177, 2.14, 2.157, 2.226",\
"3.577, 3.551, 3.44, 3.274, 3.123, 3.02, 2.941, 2.904, 2.918, 2.987",\
"4.473, 4.443, 4.333, 4.166, 4.012, 3.907, 3.828, 3.793, 3.81, 3.876",\
"5.5, 5.467, 5.357, 5.177, 5.028, 4.925, 4.852, 4.814, 4.828, 4.895");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
index_2("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
values("0.853, 0.826, 0.707, 0.536, 0.392, 0.307, 0.255, 0.249, 0.299, 0.401",\
"0.877, 0.858, 0.731, 0.556, 0.419, 0.324, 0.279, 0.272, 0.314, 0.417",\
"0.953, 0.935, 0.813, 0.637, 0.495, 0.404, 0.346, 0.346, 0.38, 0.475",\
"1.065, 1.037, 0.926, 0.752, 0.611, 0.51, 0.46, 0.443, 0.475, 0.566",\
"1.127, 1.103, 0.99, 0.82, 0.675, 0.574, 0.519, 0.507, 0.54, 0.623",\
"1.125, 1.097, 0.983, 0.811, 0.668, 0.571, 0.51, 0.506, 0.534, 0.624",\
"1.049, 1.024, 0.908, 0.734, 0.597, 0.494, 0.439, 0.432, 0.464, 0.548",\
"0.893, 0.866, 0.752, 0.581, 0.439, 0.335, 0.283, 0.276, 0.313, 0.405",\
"0.635, 0.614, 0.504, 0.327, 0.194, 0.085, 0.034, 0.031, 0.063, 0.164",\
"0.279, 0.257, 0.148, -0.03, -0.169, -0.264, -0.317, -0.32, -0.278, -0.175");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.7099 ;
max_transition : 15.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.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
index_2("0.001, 0.005893, 0.02307, 0.05587, 0.107, 0.1787, 0.273, 0.3919, 0.537, 0.7099");
values("0.1221, 0.1198, 0.1178, 0.1172, 0.1172, 0.1171, 0.117, 0.117, 0.117, 0.117",\
"0.1222, 0.1198, 0.1179, 0.1173, 0.1172, 0.1172, 0.1171, 0.1171, 0.1171, 0.1171",\
"0.1222, 0.1198, 0.1178, 0.1173, 0.1172, 0.1171, 0.1171, 0.117, 0.117, 0.117",\
"0.1224, 0.1201, 0.118, 0.1176, 0.1174, 0.1174, 0.1173, 0.1173, 0.1173, 0.1173",\
"0.1228, 0.1205, 0.1185, 0.118, 0.1178, 0.1178, 0.1178, 0.1177, 0.1177, 0.1177",\
"0.1231, 0.1208, 0.1189, 0.1183, 0.1182, 0.1181, 0.1181, 0.118, 0.118, 0.118",\
"0.1235, 0.1213, 0.1193, 0.1187, 0.1186, 0.1185, 0.1184, 0.1184, 0.1184, 0.1184",\
"0.124, 0.1217, 0.1197, 0.1192, 0.1191, 0.119, 0.1189, 0.1189, 0.1189, 0.1188",\
"0.1246, 0.1223, 0.1203, 0.1197, 0.1196, 0.1196, 0.1195, 0.1195, 0.1195, 0.1193",\
"0.1251, 0.1228, 0.1208, 0.1202, 0.1201, 0.1201, 0.12, 0.12, 0.1199, 0.1194");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
index_2("0.001, 0.005893, 0.02307, 0.05587, 0.107, 0.1787, 0.273, 0.3919, 0.537, 0.7099");
values("0.1185, 0.1163, 0.1136, 0.1126, 0.113, 0.1139, 0.115, 0.1222, 0.1881, 0.4663",\
"0.1183, 0.1162, 0.1135, 0.1125, 0.1129, 0.1138, 0.115, 0.1223, 0.1897, 0.4719",\
"0.1183, 0.1163, 0.1135, 0.1124, 0.1129, 0.1139, 0.1149, 0.1234, 0.196, 0.4937",\
"0.1184, 0.1163, 0.1137, 0.1125, 0.1132, 0.1138, 0.1152, 0.1247, 0.208, 0.5315",\
"0.1186, 0.1166, 0.1138, 0.1128, 0.1134, 0.1141, 0.1159, 0.1284, 0.228, 0.5937",\
"0.119, 0.1169, 0.1141, 0.1133, 0.1136, 0.1151, 0.1166, 0.1342, 0.2607, 0.68",\
"0.1194, 0.1173, 0.1144, 0.1135, 0.1144, 0.1152, 0.1169, 0.1446, 0.3134, 0.8053",\
"0.1201, 0.118, 0.1151, 0.114, 0.1141, 0.116, 0.1204, 0.1661, 0.4023, 0.9801",\
"0.1209, 0.1188, 0.116, 0.1147, 0.1148, 0.1154, 0.1252, 0.2101, 0.5507, 1.208",\
"0.1218, 0.1197, 0.1169, 0.1157, 0.1158, 0.1162, 0.1391, 0.3056, 0.7807, 1.466");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
index_2("0.001, 0.005893, 0.02307, 0.05587, 0.107, 0.1787, 0.273, 0.3919, 0.537, 0.7099");
values("1.827, 1.903, 2.093, 2.36, 2.715, 3.186, 3.797, 4.566, 5.505, 6.623",\
"1.854, 1.931, 2.121, 2.388, 2.743, 3.213, 3.825, 4.593, 5.532, 6.651",\
"1.955, 2.032, 2.222, 2.488, 2.843, 3.314, 3.925, 4.694, 5.633, 6.751",\
"2.121, 2.198, 2.388, 2.654, 3.01, 3.48, 4.092, 4.861, 5.799, 6.917",\
"2.269, 2.346, 2.536, 2.802, 3.157, 3.628, 4.24, 5.008, 5.947, 7.065",\
"2.385, 2.461, 2.651, 2.918, 3.273, 3.744, 4.355, 5.124, 6.062, 7.182",\
"2.467, 2.543, 2.733, 3, 3.355, 3.825, 4.437, 5.206, 6.144, 7.262",\
"2.51, 2.587, 2.777, 3.044, 3.399, 3.87, 4.481, 5.25, 6.188, 7.305",\
"2.51, 2.587, 2.776, 3.043, 3.398, 3.869, 4.48, 5.249, 6.187, 7.305",\
"2.46, 2.536, 2.726, 2.993, 3.348, 3.819, 4.43, 5.199, 6.138, 7.254");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
index_2("0.001, 0.005893, 0.02307, 0.05587, 0.107, 0.1787, 0.273, 0.3919, 0.537, 0.7099");
values("2.126, 2.219, 2.468, 2.881, 3.514, 4.401, 5.567, 7.036, 8.831, 10.97",\
"2.154, 2.247, 2.496, 2.909, 3.541, 4.428, 5.595, 7.063, 8.858, 11",\
"2.254, 2.346, 2.595, 3.008, 3.641, 4.528, 5.694, 7.164, 8.958, 11.1",\
"2.418, 2.511, 2.76, 3.173, 3.806, 4.692, 5.859, 7.328, 9.123, 11.26",\
"2.568, 2.661, 2.91, 3.323, 3.955, 4.842, 6.009, 7.478, 9.272, 11.41",\
"2.688, 2.78, 3.03, 3.443, 4.075, 4.962, 6.129, 7.598, 9.394, 11.53",\
"2.777, 2.87, 3.119, 3.532, 4.164, 5.051, 6.218, 7.687, 9.481, 11.62",\
"2.833, 2.926, 3.175, 3.588, 4.22, 5.107, 6.272, 7.742, 9.535, 11.68",\
"2.849, 2.941, 3.19, 3.603, 4.235, 5.122, 6.288, 7.757, 9.55, 11.69",\
"2.818, 2.91, 3.159, 3.572, 4.205, 5.091, 6.258, 7.728, 9.52, 11.66");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
index_2("0.001, 0.005893, 0.02307, 0.05587, 0.107, 0.1787, 0.273, 0.3919, 0.537, 0.7099");
values("0.202, 0.2734, 0.4678, 0.79, 1.304, 2.063, 3.092, 4.396, 6, 7.905",\
"0.202, 0.2734, 0.4684, 0.79, 1.306, 2.063, 3.092, 4.398, 5.999, 7.906",\
"0.202, 0.2734, 0.4678, 0.7898, 1.306, 2.061, 3.092, 4.398, 5.999, 7.906",\
"0.202, 0.2734, 0.468, 0.7898, 1.304, 2.062, 3.091, 4.399, 5.999, 7.908",\
"0.202, 0.2736, 0.468, 0.7898, 1.304, 2.062, 3.092, 4.399, 5.999, 7.908",\
"0.202, 0.2734, 0.4682, 0.7896, 1.303, 2.064, 3.091, 4.399, 5.999, 7.904",\
"0.2018, 0.274, 0.4684, 0.7898, 1.305, 2.062, 3.089, 4.395, 5.988, 7.905",\
"0.202, 0.2738, 0.4684, 0.7916, 1.303, 2.063, 3.093, 4.391, 5.986, 7.886",\
"0.2018, 0.2734, 0.4684, 0.7894, 1.304, 2.066, 3.09, 4.394, 5.986, 7.888",\
"0.202, 0.274, 0.468, 0.79, 1.304, 2.062, 3.088, 4.392, 5.994, 7.894");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1275, 0.505, 1.226, 2.349, 3.925, 5.998, 8.61, 11.8, 15.6");
index_2("0.001, 0.005893, 0.02307, 0.05587, 0.107, 0.1787, 0.273, 0.3919, 0.537, 0.7099");
values("0.2312, 0.3384, 0.6698, 1.345, 2.449, 4.014, 6.075, 8.66, 11.82, 15.61",\
"0.2316, 0.338, 0.669, 1.345, 2.447, 4.015, 6.075, 8.657, 11.83, 15.61",\
"0.2318, 0.3394, 0.669, 1.345, 2.448, 4.017, 6.076, 8.661, 11.83, 15.63",\
"0.2312, 0.3384, 0.6702, 1.342, 2.447, 4.017, 6.074, 8.661, 11.82, 15.6",\
"0.2312, 0.3382, 0.6696, 1.343, 2.449, 4.015, 6.065, 8.663, 11.83, 15.62",\
"0.2316, 0.3388, 0.6688, 1.345, 2.448, 4.013, 6.068, 8.661, 11.83, 15.61",\
"0.231, 0.3382, 0.6696, 1.343, 2.448, 4.012, 6.075, 8.66, 11.83, 15.61",\
"0.2314, 0.3388, 0.6698, 1.345, 2.448, 4.011, 6.066, 8.664, 11.83, 15.61",\
"0.2308, 0.3392, 0.67, 1.344, 2.448, 4.01, 6.066, 8.658, 11.83, 15.6",\
"0.232, 0.338, 0.672, 1.344, 2.45, 4.016, 6.07, 8.656, 11.82, 15.59");
}
}
}
}