blob: 56cfdb090dbb2fc008c617b4853879faa74461d8 [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 : "0.0216535" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.0353034" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.02104025" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.03276735" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.0353034" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.004938 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 3.6 ;
min_period : 0.734 ;
min_pulse_width_high : 0.362 ;
min_pulse_width_low : 0.359 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.4929, 0.4931, 0.5078, 0.5607, 0.663, 0.8169, 1.025, 1.29, 1.614, \
2");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.3226, 0.3222, 0.3327, 0.3774, 0.4639, 0.5984, 0.7829, 1.02, \
1.312, 1.661");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.5093, 0.5096, 0.5243, 0.5773, 0.6793, 0.8327, 1.041, 1.305, \
1.628, 2.014");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.3203, 0.3203, 0.3312, 0.376, 0.4627, 0.5971, 0.7813, 1.019, \
1.31, 1.659");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.359");
}
rise_constraint(scalar) {
values("0.318");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.282");
}
rise_constraint(scalar) {
values("0.362");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("0.734");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("0.734");
}
}
}
pin(D) {
capacitance : 0.003764 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 3.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.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.2977, 0.2969, 0.3024, 0.331, 0.39, 0.4805, 0.6028, 0.7577, 0.9464, \
1.17");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.1974, 0.1982, 0.2047, 0.2297, 0.2786, 0.355, 0.46, 0.5944, 0.76, \
0.9572");
}
}
internal_power() {
when : "CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.02646, 0.02646, 0.02647, 0.02647, 0.02651, 0.02653, 0.02653, \
0.02653, 0.02652, 0.02657");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("-0.03039, -0.03043, -0.03036, -0.03028, -0.03019, -0.03018, -0.03021, \
-0.03029, -0.03034, -0.03034");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.132, 0.137, 0.151, 0.176, 0.203, 0.214, 0.223, 0.226, 0.216, 0.19",\
"0.129, 0.133, 0.151, 0.172, 0.199, 0.212, 0.226, 0.222, 0.209, 0.19",\
"0.114, 0.122, 0.139, 0.154, 0.18, 0.192, 0.208, 0.204, 0.189, 0.171",\
"0.102, 0.102, 0.119, 0.137, 0.164, 0.168, 0.183, 0.175, 0.161, 0.141",\
"0.089, 0.092, 0.114, 0.125, 0.148, 0.148, 0.156, 0.142, 0.129, 0.102",\
"0.09, 0.099, 0.116, 0.123, 0.146, 0.138, 0.145, 0.124, 0.109, 0.073",\
"0.099, 0.11, 0.119, 0.129, 0.145, 0.127, 0.136, 0.109, 0.079, 0.043",\
"0.111, 0.124, 0.132, 0.137, 0.155, 0.122, 0.122, 0.09, 0.059, 0.013",\
"0.13, 0.139, 0.154, 0.147, 0.162, 0.12, 0.116, 0.069, 0.04, -0.017",\
"0.147, 0.158, 0.166, 0.161, 0.178, 0.118, 0.111, 0.056, 0.017, -0.044");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.052, 0.05, 0.065, 0.084, 0.1, 0.102, 0.105, 0.098, 0.082, 0.062",\
"0.049, 0.046, 0.06, 0.081, 0.102, 0.103, 0.106, 0.098, 0.081, 0.061",\
"0.044, 0.039, 0.059, 0.076, 0.091, 0.094, 0.099, 0.092, 0.079, 0.059",\
"0.031, 0.033, 0.048, 0.065, 0.075, 0.078, 0.083, 0.073, 0.053, 0.034",\
"0.018, 0.019, 0.034, 0.046, 0.058, 0.05, 0.047, 0.036, 0.013, -0.012",\
"0.023, 0.024, 0.036, 0.047, 0.048, 0.04, 0.024, -0.003, -0.028, -0.068",\
"0.044, 0.046, 0.061, 0.064, 0.057, 0.037, 0.022, -0.01, -0.054, -0.099",\
"0.084, 0.086, 0.093, 0.095, 0.083, 0.055, 0.028, -0.01, -0.058, -0.111",\
"0.144, 0.139, 0.154, 0.147, 0.128, 0.092, 0.059, 0.011, -0.047, -0.11",\
"0.22, 0.213, 0.231, 0.22, 0.193, 0.146, 0.105, 0.049, -0.022, -0.088");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.137, 0.136, 0.122, 0.091, 0.073, 0.051, 0.052, 0.052, 0.073, 0.101",\
"0.137, 0.133, 0.122, 0.096, 0.076, 0.053, 0.054, 0.054, 0.075, 0.103",\
"0.159, 0.159, 0.139, 0.113, 0.096, 0.073, 0.069, 0.076, 0.089, 0.119",\
"0.209, 0.206, 0.187, 0.161, 0.14, 0.123, 0.119, 0.125, 0.14, 0.171",\
"0.289, 0.281, 0.269, 0.237, 0.219, 0.203, 0.192, 0.195, 0.212, 0.24",\
"0.384, 0.379, 0.365, 0.335, 0.319, 0.296, 0.29, 0.293, 0.312, 0.331",\
"0.499, 0.489, 0.477, 0.449, 0.426, 0.411, 0.401, 0.405, 0.419, 0.444",\
"0.627, 0.616, 0.602, 0.576, 0.557, 0.541, 0.529, 0.529, 0.543, 0.571",\
"0.767, 0.765, 0.746, 0.716, 0.694, 0.677, 0.67, 0.667, 0.683, 0.712",\
"0.927, 0.923, 0.902, 0.873, 0.848, 0.829, 0.825, 0.823, 0.84, 0.866");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
values("0.172, 0.173, 0.161, 0.13, 0.128, 0.118, 0.131, 0.148, 0.186, 0.22",\
"0.18, 0.173, 0.163, 0.136, 0.133, 0.122, 0.134, 0.151, 0.182, 0.231",\
"0.19, 0.192, 0.178, 0.152, 0.141, 0.134, 0.153, 0.166, 0.198, 0.241",\
"0.215, 0.217, 0.2, 0.177, 0.167, 0.158, 0.174, 0.191, 0.225, 0.269",\
"0.242, 0.24, 0.225, 0.2, 0.193, 0.186, 0.192, 0.215, 0.253, 0.297",\
"0.26, 0.258, 0.242, 0.224, 0.213, 0.207, 0.218, 0.249, 0.285, 0.331",\
"0.279, 0.281, 0.267, 0.248, 0.229, 0.229, 0.243, 0.268, 0.306, 0.358",\
"0.285, 0.287, 0.271, 0.252, 0.241, 0.236, 0.246, 0.279, 0.321, 0.379",\
"0.294, 0.281, 0.27, 0.246, 0.245, 0.228, 0.239, 0.275, 0.321, 0.38",\
"0.281, 0.29, 0.265, 0.239, 0.237, 0.213, 0.228, 0.253, 0.307, 0.376");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 1.453 ;
max_transition : 3.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.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.001, 0.01102, 0.04621, 0.1134, 0.2181, 0.3649, 0.5582, 0.8017, 1.099, 1.453");
values("1.733, 1.685, 1.591, 1.523, 1.483, 1.458, 1.442, 1.431, 1.424, 1.419",\
"1.733, 1.686, 1.592, 1.523, 1.484, 1.458, 1.442, 1.432, 1.424, 1.419",\
"1.734, 1.686, 1.593, 1.524, 1.485, 1.459, 1.443, 1.432, 1.425, 1.42",\
"1.737, 1.689, 1.595, 1.527, 1.487, 1.462, 1.446, 1.435, 1.428, 1.423",\
"1.742, 1.694, 1.601, 1.532, 1.492, 1.467, 1.451, 1.441, 1.433, 1.429",\
"1.749, 1.702, 1.608, 1.54, 1.5, 1.475, 1.459, 1.449, 1.441, 1.436",\
"1.759, 1.713, 1.619, 1.551, 1.512, 1.486, 1.47, 1.459, 1.451, 1.446",\
"1.774, 1.725, 1.633, 1.565, 1.525, 1.5, 1.484, 1.472, 1.465, 1.46",\
"1.787, 1.74, 1.648, 1.579, 1.539, 1.515, 1.497, 1.488, 1.481, 1.475",\
"1.806, 1.758, 1.665, 1.598, 1.558, 1.532, 1.516, 1.507, 1.499, 1.494");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.001, 0.01102, 0.04621, 0.1134, 0.2181, 0.3649, 0.5582, 0.8017, 1.099, 1.453");
values("1.715, 1.67, 1.592, 1.535, 1.499, 1.477, 1.473, 1.472, 1.475, 1.478",\
"1.715, 1.67, 1.594, 1.534, 1.498, 1.478, 1.472, 1.472, 1.471, 1.476",\
"1.714, 1.669, 1.591, 1.535, 1.498, 1.477, 1.472, 1.471, 1.473, 1.478",\
"1.717, 1.671, 1.593, 1.537, 1.5, 1.479, 1.475, 1.473, 1.476, 1.48",\
"1.723, 1.678, 1.6, 1.544, 1.508, 1.486, 1.482, 1.48, 1.48, 1.487",\
"1.738, 1.692, 1.617, 1.56, 1.521, 1.501, 1.494, 1.494, 1.497, 1.5",\
"1.761, 1.717, 1.638, 1.577, 1.547, 1.526, 1.518, 1.517, 1.52, 1.523",\
"1.791, 1.745, 1.67, 1.608, 1.57, 1.557, 1.554, 1.547, 1.547, 1.55",\
"1.832, 1.788, 1.706, 1.645, 1.606, 1.586, 1.583, 1.601, 1.594, 1.593",\
"1.884, 1.838, 1.755, 1.69, 1.656, 1.627, 1.618, 1.631, 1.656, 1.644");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.001, 0.01102, 0.04621, 0.1134, 0.2181, 0.3649, 0.5582, 0.8017, 1.099, 1.453");
values("0.5428, 0.5598, 0.6046, 0.6727, 0.769, 0.9003, 1.073, 1.291, 1.558, 1.876",\
"0.5462, 0.5632, 0.608, 0.6761, 0.7723, 0.9037, 1.077, 1.295, 1.561, 1.88",\
"0.5612, 0.5783, 0.623, 0.6911, 0.7873, 0.9188, 1.092, 1.31, 1.576, 1.895",\
"0.5887, 0.6057, 0.6506, 0.7187, 0.8149, 0.9464, 1.119, 1.337, 1.604, 1.922",\
"0.6163, 0.6334, 0.6782, 0.7463, 0.8426, 0.9741, 1.147, 1.365, 1.632, 1.95",\
"0.6388, 0.6559, 0.7006, 0.7688, 0.865, 0.9965, 1.169, 1.388, 1.654, 1.972",\
"0.6536, 0.6707, 0.7154, 0.7836, 0.8799, 1.011, 1.184, 1.402, 1.669, 1.987",\
"0.659, 0.676, 0.7208, 0.7889, 0.8852, 1.017, 1.189, 1.408, 1.674, 1.992",\
"0.6543, 0.6714, 0.7161, 0.7844, 0.8805, 1.012, 1.185, 1.403, 1.67, 1.988",\
"0.6384, 0.6556, 0.7002, 0.7684, 0.8646, 0.9961, 1.169, 1.387, 1.654, 1.972");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.001, 0.01102, 0.04621, 0.1134, 0.2181, 0.3649, 0.5582, 0.8017, 1.099, 1.453");
values("0.5028, 0.5208, 0.5701, 0.658, 0.7965, 0.9918, 1.25, 1.577, 1.975, 2.451",\
"0.5062, 0.5241, 0.5735, 0.6615, 0.7996, 0.9951, 1.254, 1.58, 1.979, 2.455",\
"0.5209, 0.5387, 0.5882, 0.6762, 0.8146, 1.01, 1.268, 1.595, 1.993, 2.469",\
"0.5477, 0.5655, 0.6151, 0.7031, 0.8414, 1.037, 1.295, 1.622, 2.02, 2.496",\
"0.5744, 0.5923, 0.6417, 0.7298, 0.8678, 1.063, 1.322, 1.648, 2.047, 2.523",\
"0.5965, 0.6144, 0.6639, 0.7519, 0.8899, 1.085, 1.344, 1.67, 2.069, 2.545",\
"0.6115, 0.6295, 0.6787, 0.7667, 0.9049, 1.1, 1.359, 1.685, 2.084, 2.559",\
"0.6184, 0.6362, 0.6858, 0.7739, 0.9121, 1.107, 1.366, 1.692, 2.091, 2.566",\
"0.6162, 0.6343, 0.6834, 0.7714, 0.91, 1.105, 1.363, 1.69, 2.089, 2.564",\
"0.6042, 0.6222, 0.6715, 0.7593, 0.8978, 1.093, 1.351, 1.677, 2.076, 2.551");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.001, 0.01102, 0.04621, 0.1134, 0.2181, 0.3649, 0.5582, 0.8017, 1.099, 1.453");
values("0.0589, 0.07756, 0.1277, 0.2175, 0.3654, 0.5832, 0.8769, 1.25, 1.705, 2.248",\
"0.0589, 0.07756, 0.1277, 0.2178, 0.3656, 0.5835, 0.877, 1.25, 1.705, 2.248",\
"0.05896, 0.07768, 0.1277, 0.218, 0.3658, 0.5835, 0.8782, 1.25, 1.705, 2.248",\
"0.05892, 0.0775, 0.1279, 0.218, 0.3658, 0.5835, 0.8782, 1.25, 1.706, 2.247",\
"0.05896, 0.0775, 0.1279, 0.2178, 0.3652, 0.5836, 0.8782, 1.25, 1.704, 2.247",\
"0.0588, 0.0774, 0.1276, 0.2174, 0.365, 0.5836, 0.8774, 1.249, 1.706, 2.246",\
"0.0588, 0.0774, 0.1278, 0.2176, 0.3656, 0.5832, 0.8772, 1.248, 1.706, 2.249",\
"0.0586, 0.0772, 0.1278, 0.2178, 0.3654, 0.5836, 0.8778, 1.249, 1.703, 2.246",\
"0.0586, 0.0772, 0.1276, 0.2174, 0.3654, 0.5832, 0.878, 1.249, 1.703, 2.244",\
"0.0588, 0.0772, 0.1276, 0.2176, 0.365, 0.5828, 0.8768, 1.25, 1.704, 2.245");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394, 1.994, 2.727, 3.6");
index_2("0.001, 0.01102, 0.04621, 0.1134, 0.2181, 0.3649, 0.5582, 0.8017, 1.099, 1.453");
values("0.06168, 0.0834, 0.1575, 0.3165, 0.5719, 0.9317, 1.411, 2.01, 2.741, 3.615",\
"0.06182, 0.08328, 0.1583, 0.3164, 0.5715, 0.9337, 1.408, 2.009, 2.746, 3.614",\
"0.06152, 0.08328, 0.1576, 0.3165, 0.5719, 0.9334, 1.408, 2.009, 2.74, 3.614",\
"0.06156, 0.08316, 0.1576, 0.3164, 0.5726, 0.9334, 1.408, 2.009, 2.742, 3.615",\
"0.06156, 0.0832, 0.1576, 0.3164, 0.5716, 0.9334, 1.41, 2.011, 2.741, 3.614",\
"0.0618, 0.083, 0.158, 0.3168, 0.5718, 0.9324, 1.41, 2.011, 2.745, 3.613",\
"0.0616, 0.0836, 0.1582, 0.3166, 0.5714, 0.9326, 1.409, 2.008, 2.741, 3.613",\
"0.0618, 0.0832, 0.158, 0.3166, 0.5718, 0.9324, 1.408, 2.008, 2.74, 3.612",\
"0.062, 0.084, 0.1584, 0.3168, 0.572, 0.9324, 1.408, 2.009, 2.742, 3.613",\
"0.0624, 0.084, 0.1582, 0.317, 0.5714, 0.9334, 1.408, 2.009, 2.74, 3.614");
}
}
}
}