blob: 8f234044b04f8d518f54696e0da2eef2f6533359 [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_2) {
area : 84.672000 ;
ff(IQ1,IQN1) {
clocked_on : "CLK" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&!D" ;
value : "8.339166e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "7.412724e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "9.929898e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.00010997118" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.00010997118" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.004521 ;
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.442 ;
min_pulse_width_high : 0.581 ;
min_pulse_width_low : 0.714 ;
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.06, 0.05975, 0.05921, 0.05895, 0.05935, 0.06036, 0.06201, 0.06429, \
0.06739, 0.07122");
}
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.03748, 0.03735, 0.03697, 0.0367, 0.0368, 0.03755, 0.03896, 0.04104, \
0.04383, 0.04738");
}
}
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.05973, 0.05943, 0.05889, 0.05863, 0.05903, 0.06002, 0.06168, \
0.06399, 0.06703, 0.07088");
}
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.0376, 0.03747, 0.03706, 0.03677, 0.03688, 0.03762, 0.03905, \
0.04114, 0.04396, 0.04753");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.714");
}
rise_constraint(scalar) {
values("0.449");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.65");
}
rise_constraint(scalar) {
values("0.581");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("1.442");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("1.335");
}
}
}
pin(D) {
capacitance : 0.003569 ;
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.03322, 0.03298, 0.03246, 0.03222, 0.0325, 0.03321, 0.03435, \
0.03593, 0.03796, 0.0405");
}
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.02163, 0.02162, 0.0214, 0.02118, 0.02123, 0.02172, 0.02265, \
0.02402, 0.02584, 0.0282");
}
}
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.003773, 0.003765, 0.003778, 0.003767, 0.00378, 0.003778, 0.003779, \
0.003778, 0.003775, 0.00377");
}
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.003186, -0.003193, -0.003209, -0.003244, -0.003266, -0.00328, \
-0.003299, -0.003305, -0.003314, -0.003322");
}
}
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.172, 0.183, 0.226, 0.299, 0.371, 0.427, 0.459, 0.48, 0.481, 0.466",\
"0.161, 0.174, 0.213, 0.291, 0.359, 0.409, 0.446, 0.475, 0.472, 0.452",\
"0.134, 0.136, 0.184, 0.257, 0.323, 0.378, 0.412, 0.433, 0.432, 0.418",\
"0.082, 0.088, 0.136, 0.202, 0.268, 0.324, 0.354, 0.376, 0.381, 0.359",\
"0.023, 0.031, 0.073, 0.145, 0.206, 0.262, 0.289, 0.313, 0.312, 0.295",\
"-0.046, -0.037, 0.004, 0.069, 0.137, 0.186, 0.221, 0.242, 0.239, 0.221",\
"-0.125, -0.119, -0.073, -0.01, 0.055, 0.105, 0.131, 0.156, 0.156, 0.132",\
"-0.209, -0.21, -0.167, -0.11, -0.044, 0.009, 0.037, 0.065, 0.06, 0.039",\
"-0.317, -0.318, -0.273, -0.22, -0.158, -0.105, -0.081, -0.04, -0.049, -0.071",\
"-0.437, -0.438, -0.396, -0.352, -0.279, -0.231, -0.208, -0.168, -0.176, -0.194");
}
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.017, -0.006, 0.032, 0.076, 0.101, 0.114, 0.112, 0.1, 0.057, 0.01",\
"-0.027, -0.015, 0.023, 0.063, 0.091, 0.106, 0.106, 0.09, 0.056, -0",\
"-0.06, -0.054, -0.013, 0.033, 0.063, 0.08, 0.079, 0.06, 0.033, -0.022",\
"-0.105, -0.094, -0.052, -0.006, 0.027, 0.042, 0.045, 0.033, -0.003, -0.052",\
"-0.135, -0.126, -0.083, -0.035, -0.01, 0.009, 0.01, -0.003, -0.029, -0.083",\
"-0.148, -0.132, -0.099, -0.053, -0.021, -0.008, -0.009, -0.021, -0.05, -0.098",\
"-0.149, -0.137, -0.099, -0.053, -0.027, -0.01, -0.012, -0.023, -0.052, -0.109",\
"-0.133, -0.125, -0.087, -0.043, -0.018, -0.003, -0.005, -0.016, -0.045, -0.102",\
"-0.108, -0.095, -0.062, -0.015, 0.01, 0.028, 0.027, 0.007, -0.027, -0.084",\
"-0.054, -0.045, -0.009, 0.035, 0.058, 0.07, 0.063, 0.045, 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.263, 0.252, 0.207, 0.125, 0.039, -0.021, -0.076, -0.108, -0.119, -0.113",\
"0.274, 0.262, 0.216, 0.133, 0.048, -0.019, -0.069, -0.099, -0.113, -0.105",\
"0.318, 0.303, 0.254, 0.172, 0.086, 0.023, -0.027, -0.061, -0.074, -0.062",\
"0.4, 0.39, 0.347, 0.265, 0.184, 0.112, 0.069, 0.033, 0.016, 0.027",\
"0.545, 0.533, 0.486, 0.409, 0.324, 0.257, 0.211, 0.177, 0.164, 0.176",\
"0.723, 0.711, 0.658, 0.579, 0.496, 0.434, 0.384, 0.35, 0.332, 0.344",\
"0.904, 0.892, 0.843, 0.763, 0.682, 0.615, 0.567, 0.534, 0.52, 0.526",\
"1.113, 1.098, 1.055, 0.967, 0.888, 0.822, 0.772, 0.744, 0.721, 0.73",\
"1.335, 1.322, 1.277, 1.199, 1.117, 1.047, 0.999, 0.973, 0.948, 0.957",\
"1.586, 1.572, 1.525, 1.451, 1.364, 1.307, 1.253, 1.218, 1.201, 1.207");
}
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.378, 0.363, 0.318, 0.24, 0.18, 0.148, 0.131, 0.137, 0.158, 0.211",\
"0.391, 0.378, 0.336, 0.255, 0.194, 0.154, 0.141, 0.149, 0.167, 0.222",\
"0.428, 0.413, 0.368, 0.297, 0.229, 0.191, 0.182, 0.179, 0.202, 0.249",\
"0.494, 0.481, 0.436, 0.357, 0.293, 0.255, 0.234, 0.243, 0.264, 0.304",\
"0.557, 0.545, 0.499, 0.424, 0.363, 0.327, 0.301, 0.304, 0.325, 0.369",\
"0.613, 0.599, 0.546, 0.478, 0.414, 0.372, 0.355, 0.356, 0.376, 0.417",\
"0.636, 0.619, 0.575, 0.505, 0.444, 0.404, 0.384, 0.382, 0.403, 0.44",\
"0.648, 0.637, 0.593, 0.519, 0.456, 0.416, 0.391, 0.396, 0.417, 0.455",\
"0.651, 0.637, 0.591, 0.517, 0.453, 0.41, 0.398, 0.393, 0.406, 0.458",\
"0.628, 0.616, 0.57, 0.494, 0.438, 0.395, 0.373, 0.376, 0.391, 0.431");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.63 ;
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.005341, 0.02058, 0.04968, 0.09501, 0.1586, 0.2423, 0.3478, 0.4765, 0.63");
values("0.07393, 0.07404, 0.07459, 0.07533, 0.0759, 0.07627, 0.07648, 0.07661, 0.0767, 0.07675",\
"0.07392, 0.07402, 0.07458, 0.07535, 0.07587, 0.07623, 0.07645, 0.07657, 0.07666, 0.07672",\
"0.07387, 0.07398, 0.07454, 0.0753, 0.07585, 0.07622, 0.07642, 0.07656, 0.07665, 0.07671",\
"0.07399, 0.07403, 0.07459, 0.07535, 0.07593, 0.07629, 0.07651, 0.07664, 0.07672, 0.07679",\
"0.0742, 0.07425, 0.07481, 0.07556, 0.07613, 0.0765, 0.07671, 0.07685, 0.07693, 0.07699",\
"0.07438, 0.07449, 0.07507, 0.07579, 0.07635, 0.07666, 0.07687, 0.07699, 0.07708, 0.07713",\
"0.07453, 0.07466, 0.07522, 0.07595, 0.07653, 0.07688, 0.07708, 0.07721, 0.0773, 0.07735",\
"0.07481, 0.07489, 0.07546, 0.0762, 0.07676, 0.07712, 0.07733, 0.07746, 0.07754, 0.07759",\
"0.07497, 0.07503, 0.07563, 0.07639, 0.07694, 0.0773, 0.0775, 0.07761, 0.07771, 0.07777",\
"0.0752, 0.07532, 0.07587, 0.07661, 0.07717, 0.07752, 0.07772, 0.07784, 0.07794, 0.07799");
}
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.005341, 0.02058, 0.04968, 0.09501, 0.1586, 0.2423, 0.3478, 0.4765, 0.63");
values("0.06741, 0.06751, 0.06797, 0.06891, 0.06987, 0.07085, 0.07156, 0.07222, 0.07274, 0.07322",\
"0.06739, 0.06741, 0.06801, 0.06899, 0.06987, 0.07086, 0.07168, 0.07213, 0.07269, 0.07354",\
"0.0673, 0.06738, 0.06798, 0.06899, 0.06999, 0.07078, 0.07146, 0.07208, 0.07267, 0.07316",\
"0.06718, 0.06725, 0.06773, 0.0688, 0.06958, 0.07063, 0.07137, 0.07208, 0.07295, 0.07365",\
"0.0671, 0.06714, 0.06772, 0.06875, 0.06977, 0.07054, 0.0712, 0.07179, 0.07243, 0.07294",\
"0.06702, 0.06709, 0.0677, 0.06856, 0.0695, 0.07051, 0.07131, 0.072, 0.07285, 0.07383",\
"0.06695, 0.06712, 0.06753, 0.06846, 0.06962, 0.07037, 0.0711, 0.0717, 0.07228, 0.074",\
"0.06694, 0.06703, 0.06753, 0.06847, 0.06931, 0.07066, 0.0716, 0.07161, 0.07227, 0.07389",\
"0.067, 0.06714, 0.06757, 0.06869, 0.06963, 0.07001, 0.07155, 0.07264, 0.07241, 0.07343",\
"0.06697, 0.06705, 0.06749, 0.06865, 0.06907, 0.07018, 0.07065, 0.07254, 0.0734, 0.07368");
}
}
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.005341, 0.02058, 0.04968, 0.09501, 0.1586, 0.2423, 0.3478, 0.4765, 0.63");
values("0.8992, 0.9269, 0.994, 1.087, 1.208, 1.368, 1.575, 1.835, 2.152, 2.53",\
"0.9117, 0.9394, 1.006, 1.099, 1.221, 1.38, 1.588, 1.847, 2.165, 2.542",\
"0.9562, 0.9838, 1.051, 1.144, 1.265, 1.425, 1.632, 1.892, 2.209, 2.587",\
"1.035, 1.063, 1.13, 1.223, 1.344, 1.504, 1.711, 1.971, 2.288, 2.667",\
"1.116, 1.144, 1.211, 1.304, 1.425, 1.585, 1.792, 2.052, 2.369, 2.747",\
"1.183, 1.211, 1.278, 1.371, 1.492, 1.652, 1.859, 2.119, 2.436, 2.815",\
"1.234, 1.262, 1.329, 1.422, 1.543, 1.703, 1.91, 2.17, 2.487, 2.865",\
"1.269, 1.296, 1.363, 1.456, 1.577, 1.737, 1.945, 2.204, 2.521, 2.899",\
"1.285, 1.313, 1.38, 1.473, 1.594, 1.754, 1.961, 2.221, 2.538, 2.916",\
"1.283, 1.311, 1.378, 1.47, 1.592, 1.752, 1.959, 2.219, 2.536, 2.914");
}
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.005341, 0.02058, 0.04968, 0.09501, 0.1586, 0.2423, 0.3478, 0.4765, 0.63");
values("0.8485, 0.8807, 0.9725, 1.135, 1.386, 1.735, 2.194, 2.771, 3.476, 4.316",\
"0.8609, 0.8933, 0.9851, 1.148, 1.398, 1.747, 2.206, 2.784, 3.488, 4.328",\
"0.9046, 0.9369, 1.029, 1.191, 1.442, 1.791, 2.25, 2.827, 3.532, 4.372",\
"0.9801, 1.012, 1.104, 1.267, 1.517, 1.867, 2.325, 2.903, 3.606, 4.446",\
"1.057, 1.089, 1.181, 1.344, 1.594, 1.943, 2.402, 2.979, 3.684, 4.524",\
"1.121, 1.153, 1.245, 1.407, 1.658, 2.007, 2.466, 3.043, 3.747, 4.587",\
"1.169, 1.201, 1.293, 1.456, 1.706, 2.056, 2.514, 3.092, 3.796, 4.635",\
"1.201, 1.233, 1.325, 1.488, 1.738, 2.088, 2.546, 3.124, 3.828, 4.667",\
"1.217, 1.249, 1.341, 1.504, 1.754, 2.104, 2.562, 3.139, 3.844, 4.682",\
"1.215, 1.247, 1.339, 1.501, 1.752, 2.101, 2.56, 3.138, 3.841, 4.68");
}
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.005341, 0.02058, 0.04968, 0.09501, 0.1586, 0.2423, 0.3478, 0.4765, 0.63");
values("0.08984, 0.1117, 0.1724, 0.2792, 0.4498, 0.7034, 1.047, 1.485, 2.022, 2.658",\
"0.0898, 0.112, 0.1726, 0.2798, 0.4498, 0.7034, 1.047, 1.483, 2.019, 2.662",\
"0.0898, 0.112, 0.1728, 0.2788, 0.4498, 0.703, 1.047, 1.485, 2.019, 2.662",\
"0.0898, 0.112, 0.1726, 0.279, 0.4498, 0.7034, 1.047, 1.485, 2.022, 2.658",\
"0.09, 0.1118, 0.1724, 0.2792, 0.4502, 0.7034, 1.046, 1.484, 2.02, 2.661",\
"0.0898, 0.1122, 0.173, 0.2794, 0.4502, 0.7034, 1.047, 1.485, 2.021, 2.659",\
"0.0898, 0.1118, 0.1726, 0.2796, 0.4504, 0.7022, 1.045, 1.483, 2.02, 2.661",\
"0.0898, 0.1118, 0.1726, 0.279, 0.4502, 0.703, 1.046, 1.482, 2.017, 2.656",\
"0.0898, 0.112, 0.1726, 0.2794, 0.4504, 0.703, 1.047, 1.485, 2.017, 2.655",\
"0.09, 0.1118, 0.1726, 0.2798, 0.45, 0.7032, 1.046, 1.483, 2.018, 2.656");
}
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.005341, 0.02058, 0.04968, 0.09501, 0.1586, 0.2423, 0.3478, 0.4765, 0.63");
values("0.09464, 0.1295, 0.2572, 0.5252, 0.9518, 1.551, 2.337, 3.332, 4.55, 5.991",\
"0.0953, 0.1301, 0.2571, 0.5252, 0.9516, 1.551, 2.34, 3.331, 4.549, 5.992",\
"0.0952, 0.13, 0.257, 0.5252, 0.9514, 1.549, 2.337, 3.331, 4.549, 5.992",\
"0.0952, 0.1302, 0.2572, 0.525, 0.951, 1.551, 2.34, 3.335, 4.545, 6.001",\
"0.0952, 0.1302, 0.2572, 0.525, 0.9524, 1.548, 2.338, 3.333, 4.551, 5.99",\
"0.0944, 0.1294, 0.2574, 0.5254, 0.9524, 1.551, 2.34, 3.335, 4.544, 6",\
"0.0948, 0.1296, 0.2574, 0.5248, 0.9502, 1.55, 2.339, 3.332, 4.543, 6",\
"0.095, 0.1294, 0.257, 0.5248, 0.9516, 1.551, 2.336, 3.333, 4.548, 5.995",\
"0.0948, 0.13, 0.2576, 0.525, 0.9512, 1.55, 2.336, 3.328, 4.546, 5.987",\
"0.0948, 0.1292, 0.2572, 0.5248, 0.9522, 1.55, 2.339, 3.329, 4.54, 5.99");
}
}
}
}