blob: 799eaf9c357d5b6fc386409d2363e6f09180f1e4 [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 : "5.7537e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "7.10334e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "8.89416e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "8.66322e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "8.89416e-05" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.00308 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 12 ;
min_period : 5.002 ;
min_pulse_width_high : 2.485 ;
min_pulse_width_low : 2.417 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.03479, 0.0347, 0.03448, 0.03427, 0.03417, 0.03426, 0.03447, \
0.03487, 0.03542, 0.03612");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.02655, 0.02651, 0.02635, 0.02615, 0.02601, 0.02599, 0.02615, \
0.02646, 0.02697, 0.02761");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.03533, 0.03524, 0.03501, 0.0348, 0.03471, 0.03479, 0.03501, \
0.03539, 0.03593, 0.03663");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.02659, 0.02655, 0.02639, 0.02617, 0.02604, 0.02602, 0.02619, \
0.02651, 0.02701, 0.02766");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("2.417");
}
rise_constraint(scalar) {
values("1.203");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("1.666");
}
rise_constraint(scalar) {
values("2.485");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("4.829");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("5.002");
}
}
}
pin(D) {
capacitance : 0.002223 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 12 ;
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.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.01832, 0.01826, 0.01801, 0.01783, 0.01779, 0.01788, 0.01811, \
0.01843, 0.01887, 0.01941");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.01353, 0.01356, 0.01355, 0.01347, 0.01342, 0.01343, 0.01355, \
0.01377, 0.01408, 0.01451");
}
}
internal_power() {
when : "CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.001257, 0.001257, 0.001257, 0.001257, 0.001255, 0.001255, 0.001252, \
0.001249, 0.001243, 0.001234");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("-0.0006539, -0.0006582, -0.00067, -0.0006813, -0.0006894, -0.0006976, \
-0.0007035, -0.0007106, -0.0007182, -0.0007309");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.12, 0.147, 0.238, 0.405, 0.605, 0.773, 0.919, 1.032, 1.105, 1.143",\
"0.107, 0.132, 0.221, 0.379, 0.574, 0.749, 0.89, 1.007, 1.077, 1.11",\
"0.035, 0.064, 0.157, 0.315, 0.505, 0.679, 0.817, 0.933, 0.999, 1.033",\
"-0.139, -0.114, -0.022, 0.137, 0.327, 0.499, 0.645, 0.757, 0.831, 0.866",\
"-0.408, -0.385, -0.296, -0.142, 0.046, 0.216, 0.36, 0.467, 0.541, 0.577",\
"-0.726, -0.709, -0.618, -0.469, -0.287, -0.125, 0.012, 0.125, 0.195, 0.225",\
"-1.109, -1.083, -1.003, -0.857, -0.674, -0.521, -0.384, -0.28, -0.207, -0.181",\
"-1.526, -1.508, -1.428, -1.29, -1.115, -0.967, -0.833, -0.737, -0.659, -0.645",\
"-2.01, -1.99, -1.912, -1.783, -1.607, -1.47, -1.347, -1.241, -1.182, -1.158",\
"-2.546, -2.531, -2.45, -2.328, -2.16, -2.025, -1.907, -1.817, -1.749, -1.727");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.052, 0.074, 0.168, 0.295, 0.409, 0.494, 0.557, 0.586, 0.578, 0.538",\
"0.027, 0.053, 0.143, 0.274, 0.39, 0.479, 0.539, 0.573, 0.562, 0.523",\
"-0.041, -0.015, 0.079, 0.21, 0.331, 0.428, 0.489, 0.523, 0.52, 0.477",\
"-0.11, -0.077, 0.008, 0.147, 0.263, 0.36, 0.42, 0.454, 0.457, 0.417",\
"-0.143, -0.12, -0.036, 0.099, 0.219, 0.306, 0.376, 0.406, 0.404, 0.363",\
"-0.153, -0.121, -0.04, 0.097, 0.203, 0.289, 0.355, 0.38, 0.376, 0.342",\
"-0.11, -0.084, -0.001, 0.127, 0.236, 0.322, 0.373, 0.401, 0.39, 0.353",\
"-0.028, -0, 0.082, 0.207, 0.308, 0.386, 0.442, 0.459, 0.454, 0.406",\
"0.102, 0.129, 0.204, 0.333, 0.426, 0.5, 0.55, 0.574, 0.556, 0.505",\
"0.297, 0.325, 0.391, 0.513, 0.603, 0.671, 0.715, 0.728, 0.708, 0.654");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("1.288, 1.249, 1.142, 0.965, 0.721, 0.483, 0.31, 0.15, 0.053, -0.02",\
"1.304, 1.271, 1.162, 0.983, 0.738, 0.506, 0.33, 0.164, 0.068, 0.006",\
"1.383, 1.341, 1.232, 1.062, 0.815, 0.581, 0.401, 0.236, 0.147, 0.072",\
"1.566, 1.532, 1.452, 1.246, 0.999, 0.772, 0.591, 0.427, 0.333, 0.265",\
"1.901, 1.855, 1.749, 1.574, 1.33, 1.093, 0.918, 0.757, 0.661, 0.586",\
"2.362, 2.33, 2.223, 2.047, 1.799, 1.568, 1.396, 1.228, 1.131, 1.065",\
"2.959, 2.923, 2.813, 2.64, 2.392, 2.152, 1.981, 1.817, 1.728, 1.654",\
"3.607, 3.573, 3.502, 3.293, 3.042, 2.803, 2.633, 2.463, 2.371, 2.295",\
"4.307, 4.265, 4.194, 3.984, 3.737, 3.499, 3.326, 3.158, 3.065, 2.99",\
"5.059, 5.016, 4.956, 4.729, 4.479, 4.247, 4.073, 3.904, 3.813, 3.739");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.933, 0.893, 0.824, 0.589, 0.387, 0.204, 0.092, -0.012, -0.03, -0.012",\
"0.955, 0.917, 0.848, 0.613, 0.411, 0.236, 0.114, 0.008, -0.004, 0.006",\
"1.046, 0.999, 0.936, 0.701, 0.497, 0.322, 0.197, 0.091, 0.067, 0.08",\
"1.191, 1.15, 1.083, 0.851, 0.645, 0.464, 0.339, 0.225, 0.206, 0.211",\
"1.352, 1.31, 1.24, 1.014, 0.811, 0.627, 0.503, 0.384, 0.354, 0.355",\
"1.494, 1.448, 1.386, 1.154, 0.951, 0.762, 0.646, 0.514, 0.493, 0.483",\
"1.58, 1.538, 1.466, 1.239, 1.043, 0.855, 0.729, 0.603, 0.575, 0.566",\
"1.615, 1.573, 1.505, 1.281, 1.079, 0.886, 0.765, 0.641, 0.612, 0.596",\
"1.604, 1.564, 1.501, 1.271, 1.071, 0.883, 0.75, 0.623, 0.599, 0.589",\
"1.546, 1.509, 1.441, 1.214, 1.014, 0.825, 0.7, 0.567, 0.542, 0.533");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.8303 ;
max_transition : 12 ;
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.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.001, 0.006724, 0.02682, 0.06518, 0.125, 0.2088, 0.3192, 0.4582, 0.628, 0.8303");
values("0.06698, 0.06732, 0.06825, 0.06922, 0.06991, 0.07034, 0.07059, 0.07075, 0.07085, 0.07091",\
"0.067, 0.06732, 0.06826, 0.06924, 0.06991, 0.07033, 0.07059, 0.07074, 0.07085, 0.07092",\
"0.06696, 0.06732, 0.06825, 0.06923, 0.06992, 0.07033, 0.07058, 0.07074, 0.07084, 0.07091",\
"0.06697, 0.06733, 0.06824, 0.06921, 0.0699, 0.07033, 0.07058, 0.07074, 0.07084, 0.07091",\
"0.06704, 0.06736, 0.06831, 0.06927, 0.06996, 0.07038, 0.07064, 0.0708, 0.0709, 0.07096",\
"0.06712, 0.06743, 0.06836, 0.06935, 0.07003, 0.07045, 0.0707, 0.07086, 0.07096, 0.07103",\
"0.06713, 0.06748, 0.0684, 0.0694, 0.07007, 0.07049, 0.07073, 0.07089, 0.071, 0.07106",\
"0.06721, 0.06756, 0.0685, 0.06946, 0.07014, 0.07058, 0.07082, 0.07097, 0.07107, 0.07114",\
"0.06725, 0.0676, 0.06852, 0.06951, 0.07019, 0.07062, 0.07087, 0.07102, 0.07112, 0.07118",\
"0.06733, 0.06766, 0.06858, 0.06958, 0.07026, 0.0707, 0.07096, 0.07111, 0.0712, 0.07128");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.001, 0.006724, 0.02682, 0.06518, 0.125, 0.2088, 0.3192, 0.4582, 0.628, 0.8303");
values("0.0626, 0.06277, 0.06328, 0.06412, 0.0651, 0.06603, 0.06709, 0.06799, 0.07119, 0.1018",\
"0.06261, 0.06279, 0.06326, 0.06406, 0.06512, 0.06605, 0.06712, 0.06787, 0.07146, 0.1038",\
"0.06254, 0.06275, 0.06329, 0.06403, 0.06519, 0.06599, 0.06697, 0.0677, 0.07216, 0.1066",\
"0.06248, 0.06262, 0.06311, 0.06402, 0.06498, 0.06589, 0.06692, 0.06796, 0.07274, 0.1122",\
"0.06239, 0.06261, 0.06308, 0.0639, 0.06491, 0.06583, 0.06673, 0.06772, 0.07405, 0.1213",\
"0.06236, 0.06258, 0.06302, 0.06392, 0.0649, 0.06583, 0.06687, 0.068, 0.07687, 0.1381",\
"0.06231, 0.06255, 0.06296, 0.06391, 0.06485, 0.0658, 0.06679, 0.06833, 0.081, 0.1645",\
"0.06228, 0.06248, 0.06288, 0.0638, 0.06491, 0.06578, 0.06673, 0.06888, 0.09057, 0.2067",\
"0.06226, 0.06241, 0.06295, 0.06363, 0.06459, 0.06583, 0.06692, 0.07049, 0.1094, 0.2767",\
"0.06218, 0.0624, 0.06287, 0.06371, 0.06472, 0.06526, 0.06691, 0.07742, 0.1509, 0.3872");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.001, 0.006724, 0.02682, 0.06518, 0.125, 0.2088, 0.3192, 0.4582, 0.628, 0.8303");
values("2.35, 2.403, 2.534, 2.714, 2.948, 3.25, 3.638, 4.124, 4.715, 5.421",\
"2.379, 2.432, 2.562, 2.742, 2.976, 3.279, 3.666, 4.152, 4.743, 5.449",\
"2.478, 2.531, 2.662, 2.842, 3.076, 3.378, 3.766, 4.252, 4.844, 5.549",\
"2.665, 2.718, 2.849, 3.029, 3.263, 3.565, 3.953, 4.439, 5.031, 5.736",\
"2.893, 2.946, 3.077, 3.257, 3.491, 3.794, 4.181, 4.667, 5.259, 5.964",\
"3.106, 3.159, 3.29, 3.47, 3.704, 4.006, 4.394, 4.879, 5.472, 6.177",\
"3.292, 3.345, 3.476, 3.656, 3.89, 4.192, 4.58, 5.066, 5.657, 6.362",\
"3.446, 3.499, 3.63, 3.81, 4.044, 4.346, 4.734, 5.219, 5.811, 6.516",\
"3.564, 3.616, 3.747, 3.928, 4.162, 4.464, 4.852, 5.338, 5.929, 6.634",\
"3.642, 3.695, 3.825, 4.006, 4.24, 4.543, 4.931, 5.417, 6.008, 6.712");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.001, 0.006724, 0.02682, 0.06518, 0.125, 0.2088, 0.3192, 0.4582, 0.628, 0.8303");
values("3.036, 3.11, 3.304, 3.631, 4.134, 4.837, 5.761, 6.922, 8.338, 10.03",\
"3.065, 3.138, 3.332, 3.66, 4.163, 4.866, 5.789, 6.95, 8.367, 10.06",\
"3.164, 3.237, 3.431, 3.759, 4.262, 4.965, 5.888, 7.049, 8.466, 10.15",\
"3.347, 3.42, 3.614, 3.942, 4.445, 5.148, 6.071, 7.232, 8.649, 10.34",\
"3.57, 3.643, 3.838, 4.165, 4.668, 5.371, 6.295, 7.456, 8.872, 10.56",\
"3.78, 3.853, 4.047, 4.374, 4.878, 5.58, 6.504, 7.665, 9.082, 10.77",\
"3.963, 4.037, 4.231, 4.558, 5.061, 5.764, 6.687, 7.849, 9.265, 10.95",\
"4.116, 4.189, 4.383, 4.711, 5.213, 5.917, 6.839, 8.001, 9.418, 11.11",\
"4.233, 4.307, 4.501, 4.828, 5.331, 6.034, 6.957, 8.118, 9.535, 11.22",\
"4.312, 4.386, 4.58, 4.907, 5.41, 6.114, 7.036, 8.198, 9.614, 11.3");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.001, 0.006724, 0.02682, 0.06518, 0.125, 0.2088, 0.3192, 0.4582, 0.628, 0.8303");
values("0.1998, 0.2402, 0.3592, 0.5632, 0.8848, 1.356, 1.998, 2.821, 3.832, 5.034",\
"0.1994, 0.2404, 0.3588, 0.566, 0.8856, 1.356, 1.998, 2.821, 3.833, 5.036",\
"0.1998, 0.2406, 0.3592, 0.566, 0.8852, 1.356, 1.996, 2.817, 3.828, 5.038",\
"0.1996, 0.2404, 0.3586, 0.564, 0.8848, 1.356, 1.996, 2.817, 3.827, 5.039",\
"0.1998, 0.2406, 0.3586, 0.564, 0.8842, 1.354, 1.998, 2.821, 3.833, 5.032",\
"0.1998, 0.2406, 0.3592, 0.566, 0.8846, 1.356, 1.997, 2.819, 3.831, 5.033",\
"0.1998, 0.2404, 0.359, 0.5648, 0.8846, 1.355, 1.996, 2.82, 3.83, 5.039",\
"0.1996, 0.2406, 0.3598, 0.5642, 0.885, 1.356, 1.995, 2.815, 3.824, 5.035",\
"0.1996, 0.2402, 0.3592, 0.5658, 0.8848, 1.356, 1.997, 2.82, 3.824, 5.026",\
"0.198, 0.24, 0.36, 0.564, 0.886, 1.354, 1.996, 2.822, 3.826, 5.032");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.001, 0.006724, 0.02682, 0.06518, 0.125, 0.2088, 0.3192, 0.4582, 0.628, 0.8303");
values("0.2606, 0.3218, 0.5544, 1.077, 1.928, 3.124, 4.703, 6.688, 9.103, 12",\
"0.261, 0.323, 0.555, 1.077, 1.928, 3.121, 4.703, 6.684, 9.112, 12.01",\
"0.261, 0.3222, 0.5556, 1.075, 1.928, 3.125, 4.7, 6.686, 9.114, 12.01",\
"0.261, 0.3216, 0.5558, 1.077, 1.928, 3.123, 4.703, 6.688, 9.107, 12",\
"0.2606, 0.3222, 0.555, 1.076, 1.928, 3.125, 4.701, 6.687, 9.11, 12.01",\
"0.261, 0.3224, 0.5556, 1.077, 1.928, 3.122, 4.703, 6.688, 9.104, 11.99",\
"0.2608, 0.3224, 0.5548, 1.077, 1.928, 3.124, 4.704, 6.689, 9.103, 11.99",\
"0.261, 0.3226, 0.556, 1.077, 1.925, 3.121, 4.703, 6.686, 9.11, 12.01",\
"0.2608, 0.3224, 0.5542, 1.078, 1.928, 3.118, 4.692, 6.682, 9.108, 12",\
"0.26, 0.32, 0.556, 1.076, 1.928, 3.122, 4.698, 6.678, 9.104, 12");
}
}
}
}