blob: 4af54677a220e53cc673d5ad22bd78783c746e20 [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_4) {
area : 79.027200 ;
ff(IQ1,IQN1) {
clocked_on : "CLK" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&!D" ;
value : "0.00045222" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.00047739" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.0005443" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.00057195" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.00057195" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.003413 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 4 ;
min_period : 1.129 ;
min_pulse_width_high : 0.544 ;
min_pulse_width_low : 0.565 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.2871, 0.2868, 0.29, 0.3053, 0.3376, 0.3882, 0.458, 0.5483, 0.6598, \
0.793");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.2147, 0.2144, 0.2163, 0.2287, 0.2556, 0.2989, 0.3606, 0.4409, \
0.5407, 0.6604");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.2911, 0.2909, 0.2941, 0.3096, 0.3418, 0.3923, 0.4621, 0.5522, \
0.6635, 0.7966");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.2143, 0.214, 0.2157, 0.2283, 0.2554, 0.2989, 0.3603, 0.4409, \
0.5406, 0.6605");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.565");
}
rise_constraint(scalar) {
values("0.368");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.382");
}
rise_constraint(scalar) {
values("0.544");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("1.129");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("1.096");
}
}
}
pin(D) {
capacitance : 0.002389 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 4 ;
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.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.1614, 0.1606, 0.1606, 0.1659, 0.1796, 0.2023, 0.2341, 0.2758, \
0.3273, 0.3893");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.1085, 0.1088, 0.1102, 0.1158, 0.127, 0.1451, 0.1705, 0.2037, \
0.2451, 0.2951");
}
}
internal_power() {
when : "CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.009652, 0.009652, 0.009636, 0.009646, 0.00966, 0.00965, 0.009669, \
0.009666, 0.009671, 0.009667");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("-0.006699, -0.006711, -0.006692, -0.006671, -0.006684, -0.0067, \
-0.006711, -0.00675, -0.006741, -0.006763");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.103, 0.107, 0.124, 0.163, 0.201, 0.233, 0.253, 0.271, 0.278, 0.275",\
"0.099, 0.109, 0.123, 0.157, 0.197, 0.23, 0.256, 0.267, 0.279, 0.271",\
"0.085, 0.092, 0.104, 0.143, 0.185, 0.21, 0.237, 0.248, 0.258, 0.257",\
"0.033, 0.035, 0.051, 0.095, 0.126, 0.161, 0.186, 0.198, 0.204, 0.205",\
"-0.049, -0.04, -0.021, 0.01, 0.049, 0.082, 0.103, 0.119, 0.125, 0.119",\
"-0.153, -0.149, -0.129, -0.093, -0.055, -0.032, -0.006, 0.005, 0.005, -0",\
"-0.279, -0.273, -0.255, -0.226, -0.188, -0.159, -0.142, -0.135, -0.133, -0.136",\
"-0.436, -0.433, -0.408, -0.377, -0.338, -0.316, -0.3, -0.298, -0.302, -0.305",\
"-0.611, -0.607, -0.588, -0.552, -0.519, -0.495, -0.485, -0.486, -0.489, -0.497",\
"-0.823, -0.811, -0.799, -0.76, -0.725, -0.706, -0.695, -0.698, -0.708, -0.727");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.063, 0.07, 0.084, 0.111, 0.141, 0.166, 0.184, 0.201, 0.208, 0.205",\
"0.062, 0.068, 0.08, 0.109, 0.145, 0.168, 0.186, 0.202, 0.208, 0.205",\
"0.053, 0.058, 0.073, 0.108, 0.137, 0.163, 0.182, 0.199, 0.21, 0.205",\
"0.05, 0.06, 0.072, 0.103, 0.132, 0.161, 0.176, 0.192, 0.204, 0.199",\
"0.061, 0.065, 0.085, 0.106, 0.14, 0.162, 0.177, 0.192, 0.198, 0.193",\
"0.085, 0.088, 0.105, 0.126, 0.159, 0.178, 0.193, 0.202, 0.202, 0.192",\
"0.134, 0.137, 0.149, 0.175, 0.198, 0.212, 0.229, 0.233, 0.23, 0.218",\
"0.209, 0.219, 0.231, 0.249, 0.272, 0.282, 0.295, 0.291, 0.285, 0.265",\
"0.321, 0.325, 0.339, 0.357, 0.379, 0.385, 0.383, 0.379, 0.371, 0.349",\
"0.463, 0.467, 0.477, 0.494, 0.51, 0.514, 0.504, 0.501, 0.489, 0.455");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.246, 0.243, 0.222, 0.182, 0.145, 0.103, 0.073, 0.056, 0.041, 0.041",\
"0.245, 0.244, 0.221, 0.186, 0.143, 0.107, 0.076, 0.059, 0.043, 0.048",\
"0.269, 0.26, 0.239, 0.203, 0.161, 0.126, 0.094, 0.078, 0.065, 0.064",\
"0.324, 0.319, 0.302, 0.259, 0.219, 0.186, 0.15, 0.137, 0.119, 0.123",\
"0.428, 0.423, 0.405, 0.37, 0.329, 0.292, 0.255, 0.243, 0.223, 0.224",\
"0.575, 0.573, 0.551, 0.516, 0.473, 0.432, 0.405, 0.388, 0.369, 0.371",\
"0.769, 0.761, 0.741, 0.703, 0.661, 0.624, 0.591, 0.569, 0.553, 0.552",\
"0.986, 0.984, 0.962, 0.929, 0.881, 0.841, 0.818, 0.792, 0.78, 0.775",\
"1.249, 1.242, 1.225, 1.189, 1.142, 1.102, 1.07, 1.054, 1.038, 1.036",\
"1.541, 1.534, 1.512, 1.475, 1.434, 1.393, 1.362, 1.343, 1.332, 1.327");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
values("0.246, 0.243, 0.222, 0.182, 0.145, 0.103, 0.082, 0.062, 0.057, 0.061",\
"0.245, 0.244, 0.221, 0.186, 0.143, 0.107, 0.085, 0.065, 0.059, 0.068",\
"0.269, 0.26, 0.239, 0.203, 0.161, 0.126, 0.094, 0.078, 0.073, 0.074",\
"0.284, 0.283, 0.26, 0.233, 0.18, 0.149, 0.115, 0.097, 0.093, 0.096",\
"0.302, 0.301, 0.281, 0.245, 0.196, 0.159, 0.13, 0.112, 0.104, 0.109",\
"0.3, 0.293, 0.276, 0.237, 0.197, 0.157, 0.133, 0.11, 0.102, 0.111",\
"0.279, 0.273, 0.255, 0.221, 0.177, 0.146, 0.11, 0.097, 0.088, 0.095",\
"0.236, 0.226, 0.211, 0.172, 0.134, 0.095, 0.063, 0.044, 0.044, 0.053",\
"0.161, 0.161, 0.145, 0.102, 0.061, 0.02, -0.008, -0.018, -0.029, -0.007",\
"0.059, 0.053, 0.04, -0.005, -0.047, -0.086, -0.109, -0.123, -0.121, -0.107");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.9585 ;
max_transition : 4 ;
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.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.001, 0.007609, 0.03081, 0.07511, 0.1441, 0.241, 0.3684, 0.529, 0.7249, 0.9585");
values("0.7691, 0.7475, 0.7088, 0.6861, 0.6731, 0.6655, 0.6603, 0.6569, 0.6545, 0.6532",\
"0.769, 0.747, 0.7091, 0.6857, 0.6726, 0.6649, 0.6599, 0.6565, 0.6541, 0.6526",\
"0.7692, 0.7473, 0.71, 0.6862, 0.6731, 0.6653, 0.6605, 0.657, 0.6544, 0.6528",\
"0.7694, 0.7478, 0.71, 0.6868, 0.6737, 0.6656, 0.661, 0.6577, 0.6548, 0.6534",\
"0.7709, 0.7494, 0.7115, 0.688, 0.675, 0.6674, 0.6624, 0.6591, 0.6564, 0.6549",\
"0.7725, 0.7513, 0.7128, 0.6899, 0.6766, 0.6687, 0.6638, 0.6606, 0.6585, 0.657",\
"0.775, 0.7534, 0.7152, 0.692, 0.6788, 0.671, 0.6659, 0.6623, 0.6599, 0.6587",\
"0.7776, 0.7557, 0.7178, 0.6952, 0.6812, 0.6737, 0.6684, 0.6654, 0.6624, 0.6611",\
"0.7803, 0.7589, 0.7209, 0.6977, 0.6843, 0.6767, 0.6714, 0.6684, 0.6659, 0.6641",\
"0.7842, 0.7625, 0.724, 0.7007, 0.6874, 0.6795, 0.6746, 0.6711, 0.6691, 0.6677");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.001, 0.007609, 0.03081, 0.07511, 0.1441, 0.241, 0.3684, 0.529, 0.7249, 0.9585");
values("0.8532, 0.8336, 0.8022, 0.7761, 0.7619, 0.7526, 0.7498, 0.7522, 0.7571, 0.7616",\
"0.8535, 0.8342, 0.8018, 0.7753, 0.7624, 0.7525, 0.7501, 0.752, 0.7549, 0.7569",\
"0.8535, 0.8341, 0.8009, 0.7763, 0.7606, 0.7527, 0.7503, 0.7523, 0.7527, 0.7576",\
"0.8536, 0.834, 0.8019, 0.7764, 0.7608, 0.7521, 0.7493, 0.7527, 0.7541, 0.7566",\
"0.8543, 0.8348, 0.8019, 0.7774, 0.7617, 0.7535, 0.7537, 0.7536, 0.757, 0.7585",\
"0.8561, 0.8364, 0.8047, 0.7783, 0.7642, 0.7555, 0.7527, 0.7561, 0.7605, 0.762",\
"0.8593, 0.84, 0.8064, 0.782, 0.7683, 0.7591, 0.7557, 0.7591, 0.7606, 0.763",\
"0.8634, 0.8436, 0.8125, 0.7852, 0.7695, 0.766, 0.7616, 0.7621, 0.763, 0.7709",\
"0.8699, 0.8504, 0.8184, 0.7911, 0.7769, 0.7683, 0.7705, 0.7719, 0.7713, 0.7713",\
"0.8771, 0.8573, 0.8258, 0.7986, 0.782, 0.7714, 0.7706, 0.781, 0.7844, 0.7849");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.001, 0.007609, 0.03081, 0.07511, 0.1441, 0.241, 0.3684, 0.529, 0.7249, 0.9585");
values("0.7011, 0.7205, 0.7715, 0.849, 0.9558, 1.1, 1.288, 1.526, 1.816, 2.162",\
"0.7056, 0.725, 0.7762, 0.8535, 0.9603, 1.104, 1.293, 1.53, 1.821, 2.167",\
"0.7249, 0.7442, 0.7953, 0.8727, 0.9796, 1.124, 1.312, 1.549, 1.84, 2.186",\
"0.7629, 0.7823, 0.8336, 0.9109, 1.018, 1.162, 1.35, 1.588, 1.878, 2.224",\
"0.8066, 0.826, 0.8772, 0.9545, 1.061, 1.205, 1.394, 1.631, 1.921, 2.267",\
"0.8468, 0.8662, 0.9174, 0.9948, 1.101, 1.245, 1.434, 1.671, 1.962, 2.308",\
"0.8817, 0.9011, 0.9521, 1.03, 1.136, 1.28, 1.469, 1.706, 1.997, 2.343",\
"0.909, 0.9284, 0.9795, 1.057, 1.164, 1.308, 1.496, 1.734, 2.024, 2.37",\
"0.9274, 0.9468, 0.998, 1.075, 1.182, 1.326, 1.515, 1.752, 2.042, 2.388",\
"0.9353, 0.9544, 1.006, 1.083, 1.19, 1.334, 1.522, 1.76, 2.05, 2.396");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.001, 0.007609, 0.03081, 0.07511, 0.1441, 0.241, 0.3684, 0.529, 0.7249, 0.9585");
values("0.7111, 0.7315, 0.7885, 0.8897, 1.049, 1.272, 1.567, 1.941, 2.396, 2.939",\
"0.7157, 0.736, 0.7933, 0.8944, 1.053, 1.277, 1.572, 1.945, 2.4, 2.944",\
"0.7347, 0.7549, 0.812, 0.9136, 1.072, 1.296, 1.591, 1.964, 2.42, 2.962",\
"0.7727, 0.793, 0.8502, 0.9516, 1.11, 1.334, 1.629, 2.002, 2.458, 3",\
"0.8169, 0.8372, 0.8944, 0.9959, 1.154, 1.378, 1.674, 2.047, 2.502, 3.045",\
"0.8579, 0.8781, 0.9356, 1.037, 1.196, 1.419, 1.715, 2.088, 2.543, 3.086",\
"0.8953, 0.9155, 0.9724, 1.074, 1.232, 1.456, 1.752, 2.125, 2.58, 3.123",\
"0.9254, 0.9456, 1.003, 1.104, 1.262, 1.486, 1.782, 2.155, 2.61, 3.154",\
"0.9476, 0.9679, 1.025, 1.126, 1.285, 1.508, 1.804, 2.177, 2.632, 3.175",\
"0.9606, 0.9808, 1.038, 1.139, 1.298, 1.521, 1.817, 2.19, 2.645, 3.188");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.001, 0.007609, 0.03081, 0.07511, 0.1441, 0.241, 0.3684, 0.529, 0.7249, 0.9585");
values("0.06854, 0.08812, 0.1433, 0.2402, 0.3954, 0.6263, 0.9366, 1.333, 1.816, 2.394",\
"0.0685, 0.08822, 0.1434, 0.2405, 0.396, 0.6257, 0.9376, 1.333, 1.816, 2.394",\
"0.06868, 0.08822, 0.1436, 0.2406, 0.396, 0.6258, 0.9366, 1.333, 1.817, 2.393",\
"0.06864, 0.08822, 0.1434, 0.2404, 0.3952, 0.626, 0.9364, 1.333, 1.817, 2.392",\
"0.0686, 0.0882, 0.1434, 0.24, 0.3958, 0.6264, 0.9372, 1.333, 1.816, 2.394",\
"0.0684, 0.0882, 0.143, 0.2404, 0.395, 0.6254, 0.9382, 1.332, 1.816, 2.391",\
"0.0686, 0.0882, 0.1436, 0.2402, 0.3952, 0.625, 0.9376, 1.333, 1.816, 2.392",\
"0.0686, 0.0884, 0.1434, 0.2402, 0.3952, 0.626, 0.9358, 1.33, 1.814, 2.392",\
"0.0686, 0.0882, 0.1432, 0.24, 0.3954, 0.6262, 0.9362, 1.331, 1.813, 2.388",\
"0.0686, 0.088, 0.1428, 0.24, 0.395, 0.6262, 0.9362, 1.331, 1.815, 2.39");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547, 2.214, 3.029, 4");
index_2("0.001, 0.007609, 0.03081, 0.07511, 0.1441, 0.241, 0.3684, 0.529, 0.7249, 0.9585");
values("0.07278, 0.0963, 0.1801, 0.3539, 0.6367, 1.034, 1.561, 2.221, 3.03, 3.994",\
"0.07326, 0.09628, 0.1799, 0.3541, 0.6368, 1.034, 1.56, 2.221, 3.033, 3.999",\
"0.073, 0.09622, 0.1797, 0.354, 0.6368, 1.034, 1.56, 2.221, 3.035, 4.003",\
"0.0729, 0.09614, 0.1798, 0.354, 0.6368, 1.034, 1.562, 2.224, 3.034, 4.003",\
"0.0732, 0.0962, 0.1796, 0.354, 0.6368, 1.034, 1.56, 2.221, 3.035, 4.003",\
"0.073, 0.0964, 0.18, 0.354, 0.6368, 1.034, 1.56, 2.223, 3.031, 3.994",\
"0.0726, 0.0958, 0.1798, 0.354, 0.6354, 1.034, 1.559, 2.224, 3.03, 3.999",\
"0.0726, 0.0962, 0.1796, 0.3542, 0.636, 1.034, 1.559, 2.222, 3.035, 3.994",\
"0.073, 0.0964, 0.1796, 0.3542, 0.6366, 1.034, 1.56, 2.221, 3.035, 4.002",\
"0.0728, 0.0964, 0.18, 0.3542, 0.6356, 1.035, 1.56, 2.222, 3.031, 3.996");
}
}
}
}