blob: 68ceb50f17a50634b33be67887da270ffebfc380 [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_mcu9t5v0__dffq_4) {
area : 98.784000 ;
ff(IQ1,IQN1) {
clocked_on : "CLK" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&!D" ;
value : "6.97356e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "8.612802e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.00011022462" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.0001200375" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.0001200375" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.004484 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 6 ;
min_period : 1.549 ;
min_pulse_width_high : 0.764 ;
min_pulse_width_low : 0.723 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("0.05675, 0.05646, 0.05593, 0.05568, 0.05608, 0.05711, 0.05878, \
0.06107, 0.06413, 0.06798");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("0.03729, 0.03717, 0.03679, 0.0365, 0.03659, 0.03735, 0.03879, \
0.04088, 0.04367, 0.04728");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("0.05841, 0.05813, 0.05756, 0.05734, 0.05772, 0.05875, 0.06041, \
0.06271, 0.0658, 0.06961");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("0.03742, 0.03729, 0.03688, 0.03657, 0.03668, 0.03745, 0.03889, \
0.04098, 0.0438, 0.04743");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.723");
}
rise_constraint(scalar) {
values("0.522");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.604");
}
rise_constraint(scalar) {
values("0.764");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("1.451");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("1.549");
}
}
}
pin(D) {
capacitance : 0.003444 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 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.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("0.03195, 0.03172, 0.03119, 0.03096, 0.03123, 0.03197, 0.03308, \
0.03468, 0.03671, 0.03929");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("0.02209, 0.0221, 0.02188, 0.02167, 0.02171, 0.02221, 0.02312, \
0.02451, 0.02634, 0.02865");
}
}
internal_power() {
when : "CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("0.003771, 0.003769, 0.003778, 0.00378, 0.003778, 0.003776, 0.003774, \
0.003776, 0.003773, 0.003769");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("-0.003185, -0.00319, -0.003204, -0.003245, -0.00326, -0.003278, \
-0.003297, -0.003298, -0.003311, -0.00332");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
index_2("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("0.166, 0.176, 0.226, 0.292, 0.36, 0.41, 0.447, 0.463, 0.464, 0.451",\
"0.155, 0.167, 0.213, 0.283, 0.347, 0.4, 0.434, 0.457, 0.455, 0.438",\
"0.124, 0.136, 0.178, 0.248, 0.317, 0.369, 0.398, 0.415, 0.42, 0.403",\
"0.068, 0.08, 0.127, 0.196, 0.26, 0.308, 0.34, 0.357, 0.356, 0.344",\
"0.006, 0.019, 0.06, 0.129, 0.196, 0.237, 0.272, 0.287, 0.286, 0.27",\
"-0.071, -0.054, -0.024, 0.048, 0.112, 0.155, 0.192, 0.201, 0.202, 0.185",\
"-0.167, -0.15, -0.112, -0.046, 0.014, 0.057, 0.097, 0.108, 0.115, 0.087",\
"-0.268, -0.253, -0.22, -0.157, -0.092, -0.051, -0.019, -0.008, 0.002, -0.017",\
"-0.39, -0.375, -0.344, -0.282, -0.225, -0.179, -0.14, -0.126, -0.12, -0.141",\
"-0.526, -0.505, -0.479, -0.415, -0.363, -0.322, -0.284, -0.275, -0.258, -0.281");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
index_2("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("-0.011, 0.001, 0.041, 0.076, 0.101, 0.114, 0.112, 0.091, 0.057, 0.002",\
"-0.021, -0.008, 0.033, 0.071, 0.091, 0.106, 0.106, 0.082, 0.05, -0.007",\
"-0.06, -0.044, -0.007, 0.042, 0.063, 0.08, 0.079, 0.06, 0.027, -0.03",\
"-0.098, -0.079, -0.043, -0, 0.027, 0.042, 0.046, 0.033, -0.003, -0.06",\
"-0.124, -0.109, -0.07, -0.027, -0, 0.015, 0.018, -0.003, -0.036, -0.083",\
"-0.131, -0.115, -0.08, -0.037, -0.015, -0, -0, -0.021, -0.05, -0.107",\
"-0.131, -0.119, -0.079, -0.039, -0.018, -0.001, -0.006, -0.023, -0.061, -0.114",\
"-0.116, -0.099, -0.069, -0.024, -0.007, 0.009, 0.002, -0.016, -0.045, -0.107",\
"-0.085, -0.073, -0.039, 0.009, 0.023, 0.036, 0.027, 0.007, -0.033, -0.084",\
"-0.032, -0.016, 0.021, 0.059, 0.066, 0.079, 0.068, 0.051, 0.008, -0.044");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
index_2("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("0.275, 0.265, 0.217, 0.14, 0.056, -0.012, -0.058, -0.083, -0.102, -0.091",\
"0.287, 0.269, 0.226, 0.149, 0.066, -0.002, -0.044, -0.073, -0.09, -0.075",\
"0.327, 0.313, 0.26, 0.181, 0.105, 0.041, -0.007, -0.034, -0.05, -0.039",\
"0.415, 0.405, 0.356, 0.277, 0.199, 0.128, 0.083, 0.052, 0.04, 0.051",\
"0.557, 0.545, 0.499, 0.424, 0.344, 0.276, 0.227, 0.198, 0.184, 0.201",\
"0.731, 0.72, 0.677, 0.595, 0.515, 0.449, 0.403, 0.373, 0.354, 0.371",\
"0.916, 0.904, 0.856, 0.778, 0.698, 0.634, 0.585, 0.555, 0.545, 0.551",\
"1.121, 1.115, 1.064, 0.986, 0.903, 0.84, 0.792, 0.76, 0.75, 0.753",\
"1.347, 1.339, 1.29, 1.212, 1.13, 1.069, 1.024, 0.993, 0.975, 0.99",\
"1.601, 1.587, 1.54, 1.466, 1.389, 1.325, 1.273, 1.246, 1.227, 1.236");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
index_2("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("0.321, 0.311, 0.263, 0.19, 0.129, 0.098, 0.089, 0.095, 0.119, 0.182",\
"0.326, 0.32, 0.276, 0.202, 0.141, 0.11, 0.098, 0.106, 0.133, 0.184",\
"0.364, 0.363, 0.305, 0.243, 0.177, 0.144, 0.136, 0.135, 0.167, 0.218",\
"0.436, 0.42, 0.373, 0.3, 0.246, 0.207, 0.198, 0.195, 0.226, 0.273",\
"0.506, 0.493, 0.447, 0.377, 0.314, 0.276, 0.26, 0.261, 0.285, 0.335",\
"0.554, 0.547, 0.499, 0.425, 0.363, 0.325, 0.316, 0.308, 0.332, 0.38",\
"0.587, 0.57, 0.523, 0.455, 0.395, 0.356, 0.338, 0.341, 0.361, 0.4",\
"0.598, 0.586, 0.54, 0.471, 0.408, 0.374, 0.35, 0.348, 0.379, 0.416",\
"0.6, 0.586, 0.544, 0.468, 0.413, 0.373, 0.357, 0.355, 0.367, 0.42",\
"0.584, 0.578, 0.524, 0.454, 0.396, 0.358, 0.338, 0.331, 0.359, 0.402");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 1.265 ;
max_transition : 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.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
index_2("0.001, 0.009726, 0.04036, 0.09885, 0.19, 0.3178, 0.4861, 0.698, 0.9568, 1.265");
values("0.1243, 0.1245, 0.1255, 0.127, 0.1282, 0.1289, 0.1293, 0.1296, 0.1298, 0.1299",\
"0.1242, 0.1243, 0.1254, 0.1269, 0.1281, 0.1288, 0.1292, 0.1296, 0.1297, 0.1298",\
"0.1242, 0.1243, 0.1254, 0.127, 0.1281, 0.1288, 0.1292, 0.1295, 0.1297, 0.1298",\
"0.1243, 0.1244, 0.1255, 0.127, 0.1281, 0.1289, 0.1293, 0.1296, 0.1298, 0.1299",\
"0.1245, 0.1246, 0.1257, 0.1272, 0.1283, 0.1291, 0.1295, 0.1297, 0.13, 0.1301",\
"0.1247, 0.1248, 0.1259, 0.1274, 0.1286, 0.1293, 0.1297, 0.13, 0.1302, 0.1303",\
"0.1247, 0.1249, 0.126, 0.1275, 0.1288, 0.1294, 0.1298, 0.1301, 0.1303, 0.1304",\
"0.125, 0.1251, 0.1263, 0.1278, 0.1289, 0.1296, 0.1301, 0.1304, 0.1305, 0.1307",\
"0.1252, 0.1254, 0.1264, 0.128, 0.1291, 0.1298, 0.1303, 0.1305, 0.1307, 0.1309",\
"0.1254, 0.1256, 0.1266, 0.1281, 0.1293, 0.13, 0.1304, 0.1306, 0.1309, 0.131");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
index_2("0.001, 0.009726, 0.04036, 0.09885, 0.19, 0.3178, 0.4861, 0.698, 0.9568, 1.265");
values("0.1171, 0.1171, 0.1176, 0.1194, 0.1213, 0.123, 0.1246, 0.1254, 0.1268, 0.1284",\
"0.1171, 0.117, 0.1178, 0.1194, 0.1213, 0.1231, 0.1249, 0.126, 0.1269, 0.1278",\
"0.117, 0.1171, 0.1177, 0.1195, 0.121, 0.123, 0.1244, 0.1254, 0.1267, 0.1276",\
"0.1169, 0.117, 0.1176, 0.119, 0.1208, 0.1228, 0.1245, 0.1257, 0.127, 0.1294",\
"0.1167, 0.1169, 0.1173, 0.1189, 0.121, 0.1228, 0.1246, 0.1252, 0.1265, 0.1279",\
"0.1166, 0.1167, 0.1173, 0.1189, 0.1206, 0.1226, 0.1242, 0.1254, 0.1269, 0.1291",\
"0.1165, 0.1165, 0.1169, 0.1187, 0.1207, 0.1224, 0.1239, 0.1252, 0.1263, 0.1276",\
"0.1164, 0.1165, 0.117, 0.1186, 0.1203, 0.123, 0.1242, 0.1248, 0.1262, 0.1279",\
"0.1165, 0.1166, 0.1169, 0.1188, 0.1202, 0.1219, 0.1248, 0.1266, 0.1267, 0.1293",\
"0.1164, 0.1165, 0.117, 0.1185, 0.1205, 0.1214, 0.1235, 0.1263, 0.128, 0.1283");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
index_2("0.001, 0.009726, 0.04036, 0.09885, 0.19, 0.3178, 0.4861, 0.698, 0.9568, 1.265");
values("0.9716, 0.9991, 1.064, 1.155, 1.275, 1.435, 1.644, 1.905, 2.224, 2.605",\
"0.9841, 1.011, 1.077, 1.167, 1.288, 1.448, 1.656, 1.918, 2.237, 2.617",\
"1.029, 1.056, 1.121, 1.212, 1.332, 1.492, 1.7, 1.962, 2.281, 2.662",\
"1.107, 1.135, 1.2, 1.29, 1.411, 1.571, 1.779, 2.041, 2.36, 2.74",\
"1.187, 1.215, 1.28, 1.37, 1.49, 1.651, 1.859, 2.12, 2.439, 2.82",\
"1.252, 1.28, 1.345, 1.435, 1.556, 1.716, 1.924, 2.186, 2.505, 2.885",\
"1.302, 1.33, 1.395, 1.485, 1.606, 1.766, 1.974, 2.236, 2.555, 2.935",\
"1.335, 1.362, 1.427, 1.518, 1.638, 1.799, 2.007, 2.268, 2.587, 2.968",\
"1.351, 1.378, 1.444, 1.534, 1.654, 1.814, 2.023, 2.284, 2.603, 2.983",\
"1.348, 1.375, 1.44, 1.53, 1.651, 1.811, 2.019, 2.281, 2.6, 2.98");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
index_2("0.001, 0.009726, 0.04036, 0.09885, 0.19, 0.3178, 0.4861, 0.698, 0.9568, 1.265");
values("1.012, 1.046, 1.14, 1.303, 1.554, 1.906, 2.367, 2.947, 3.655, 4.499",\
"1.025, 1.059, 1.152, 1.315, 1.567, 1.918, 2.379, 2.959, 3.668, 4.511",\
"1.069, 1.103, 1.196, 1.359, 1.611, 1.962, 2.423, 3.004, 3.712, 4.555",\
"1.145, 1.179, 1.272, 1.435, 1.687, 2.038, 2.499, 3.08, 3.788, 4.631",\
"1.222, 1.255, 1.349, 1.512, 1.763, 2.115, 2.576, 3.156, 3.864, 4.708",\
"1.284, 1.319, 1.412, 1.575, 1.826, 2.178, 2.639, 3.219, 3.927, 4.771",\
"1.331, 1.365, 1.459, 1.622, 1.873, 2.225, 2.686, 3.266, 3.974, 4.818",\
"1.362, 1.396, 1.489, 1.652, 1.904, 2.255, 2.716, 3.297, 4.005, 4.848",\
"1.377, 1.411, 1.504, 1.667, 1.919, 2.27, 2.731, 3.312, 4.019, 4.863",\
"1.374, 1.408, 1.501, 1.664, 1.916, 2.268, 2.728, 3.309, 4.017, 4.86");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
index_2("0.001, 0.009726, 0.04036, 0.09885, 0.19, 0.3178, 0.4861, 0.698, 0.9568, 1.265");
values("0.08666, 0.1077, 0.1666, 0.2734, 0.4472, 0.7032, 1.051, 1.492, 2.032, 2.674",\
"0.0864, 0.1078, 0.1666, 0.2732, 0.4466, 0.7032, 1.05, 1.493, 2.031, 2.677",\
"0.0866, 0.1078, 0.167, 0.2734, 0.4466, 0.704, 1.051, 1.492, 2.03, 2.677",\
"0.0866, 0.1078, 0.167, 0.2734, 0.4466, 0.7034, 1.052, 1.493, 2.03, 2.677",\
"0.0866, 0.1078, 0.1666, 0.2738, 0.4472, 0.704, 1.051, 1.492, 2.03, 2.677",\
"0.0866, 0.108, 0.1668, 0.2734, 0.447, 0.7048, 1.052, 1.493, 2.032, 2.677",\
"0.0866, 0.1076, 0.1668, 0.2732, 0.4474, 0.703, 1.05, 1.491, 2.033, 2.677",\
"0.0864, 0.108, 0.1666, 0.2732, 0.4468, 0.7032, 1.051, 1.49, 2.029, 2.672",\
"0.0864, 0.108, 0.1666, 0.2734, 0.447, 0.7032, 1.05, 1.49, 2.028, 2.671",\
"0.0866, 0.1076, 0.1666, 0.2732, 0.4472, 0.704, 1.051, 1.491, 2.031, 2.674");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
index_2("0.001, 0.009726, 0.04036, 0.09885, 0.19, 0.3178, 0.4861, 0.698, 0.9568, 1.265");
values("0.0988, 0.1326, 0.2578, 0.5254, 0.955, 1.555, 2.346, 3.347, 4.564, 6.021",\
"0.0992, 0.1332, 0.2574, 0.5256, 0.9538, 1.556, 2.348, 3.343, 4.565, 6.016",\
"0.0992, 0.1332, 0.2576, 0.5252, 0.9538, 1.556, 2.345, 3.347, 4.564, 6.021",\
"0.099, 0.1334, 0.2574, 0.5254, 0.9536, 1.556, 2.348, 3.343, 4.565, 6.017",\
"0.0992, 0.1334, 0.2574, 0.5256, 0.955, 1.555, 2.349, 3.347, 4.565, 6.021",\
"0.099, 0.133, 0.2576, 0.5252, 0.9542, 1.556, 2.348, 3.343, 4.566, 6.017",\
"0.099, 0.1334, 0.2578, 0.5254, 0.9528, 1.554, 2.349, 3.348, 4.569, 6.025",\
"0.0992, 0.1334, 0.2576, 0.5252, 0.953, 1.553, 2.344, 3.347, 4.563, 6.02",\
"0.099, 0.1332, 0.2574, 0.5252, 0.9534, 1.555, 2.347, 3.342, 4.567, 6.02",\
"0.0988, 0.133, 0.2576, 0.5248, 0.955, 1.554, 2.345, 3.343, 4.559, 6.021");
}
}
}
}