blob: 459699db7cef6d6f7867db11f6fc12fddd8bd11b [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__dffnq_2) {
area : 72.441600 ;
ff(IQ1,IQN1) {
clocked_on : "(!CLKN)" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&!D" ;
value : "0.0003945915" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.0003999375" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.000350091" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.000347643" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.0003999375" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.003471 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 5 ;
min_period : 1.176 ;
min_pulse_width_high : 0.542 ;
min_pulse_width_low : 0.571 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.2505, 0.2499, 0.2504, 0.257, 0.273, 0.2982, 0.3338, 0.3799, \
0.4378, 0.5073");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.1604, 0.1599, 0.16, 0.1651, 0.1781, 0.1991, 0.23, 0.2708, 0.3221, \
0.3845");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.2504, 0.2498, 0.2504, 0.2569, 0.2731, 0.2983, 0.3337, 0.3801, \
0.4378, 0.5075");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.1606, 0.1601, 0.1602, 0.1652, 0.178, 0.1993, 0.2299, 0.2708, \
0.3221, 0.3845");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.504");
}
rise_constraint(scalar) {
values("0.542");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.571");
}
rise_constraint(scalar) {
values("0.466");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("1.107");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("1.176");
}
}
}
pin(D) {
capacitance : 0.002354 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 5 ;
nextstate_type : data ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.04543, 0.04471, 0.04685, 0.05351, 0.06578, 0.08385, 0.1084, \
0.1397, 0.1782, 0.2243");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.004154, 0.003779, 0.004712, 0.009452, 0.01915, 0.03414, 0.05485, \
0.08163, 0.1148, 0.1546");
}
}
internal_power() {
when : "CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.1578, 0.1575, 0.1585, 0.1638, 0.1755, 0.1937, 0.2193, 0.2524, \
0.2938, 0.3434");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.1011, 0.1008, 0.1017, 0.1059, 0.1148, 0.1291, 0.1497, 0.1769, \
0.2111, 0.2527");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.04, 0.051, 0.09, 0.146, 0.225, 0.315, 0.417, 0.527, 0.657, 0.8",\
"0.031, 0.042, 0.077, 0.138, 0.216, 0.306, 0.406, 0.524, 0.651, 0.791",\
"-0.004, 0.006, 0.04, 0.101, 0.178, 0.267, 0.367, 0.479, 0.605, 0.752",\
"-0.081, -0.07, -0.037, 0.02, 0.103, 0.194, 0.289, 0.406, 0.528, 0.666",\
"-0.186, -0.176, -0.145, -0.083, -0, 0.082, 0.182, 0.291, 0.414, 0.558",\
"-0.308, -0.299, -0.268, -0.203, -0.132, -0.046, 0.049, 0.159, 0.281, 0.422",\
"-0.458, -0.448, -0.416, -0.355, -0.286, -0.204, -0.106, 0.004, 0.123, 0.262",\
"-0.627, -0.618, -0.591, -0.526, -0.46, -0.38, -0.288, -0.183, -0.063, 0.075",\
"-0.829, -0.815, -0.784, -0.727, -0.663, -0.581, -0.496, -0.393, -0.267, -0.14",\
"-1.048, -1.035, -1.001, -0.952, -0.884, -0.814, -0.726, -0.62, -0.508, -0.379");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.195, 0.204, 0.237, 0.308, 0.412, 0.526, 0.655, 0.806, 0.972, 1.14",\
"0.184, 0.196, 0.235, 0.301, 0.399, 0.521, 0.653, 0.799, 0.959, 1.134",\
"0.16, 0.173, 0.208, 0.276, 0.376, 0.5, 0.628, 0.779, 0.942, 1.115",\
"0.139, 0.147, 0.185, 0.252, 0.352, 0.476, 0.606, 0.752, 0.915, 1.092",\
"0.129, 0.134, 0.172, 0.24, 0.344, 0.459, 0.591, 0.735, 0.899, 1.074",\
"0.129, 0.14, 0.173, 0.242, 0.342, 0.459, 0.593, 0.738, 0.898, 1.073",\
"0.149, 0.158, 0.189, 0.261, 0.359, 0.478, 0.61, 0.754, 0.915, 1.089",\
"0.196, 0.199, 0.236, 0.304, 0.403, 0.511, 0.648, 0.788, 0.952, 1.129",\
"0.259, 0.272, 0.306, 0.37, 0.46, 0.572, 0.704, 0.845, 1.01, 1.181",\
"0.358, 0.368, 0.395, 0.463, 0.551, 0.657, 0.783, 0.923, 1.083, 1.257");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.349, 0.343, 0.307, 0.236, 0.149, 0.049, -0.063, -0.19, -0.323, -0.472",\
"0.357, 0.35, 0.312, 0.242, 0.155, 0.059, -0.053, -0.177, -0.315, -0.467",\
"0.401, 0.393, 0.346, 0.28, 0.194, 0.093, -0.016, -0.14, -0.279, -0.427",\
"0.476, 0.465, 0.426, 0.358, 0.274, 0.179, 0.06, -0.059, -0.199, -0.348",\
"0.599, 0.587, 0.545, 0.48, 0.395, 0.289, 0.179, 0.056, -0.082, -0.234",\
"0.745, 0.737, 0.7, 0.63, 0.54, 0.44, 0.324, 0.199, 0.061, -0.086",\
"0.926, 0.918, 0.878, 0.807, 0.717, 0.618, 0.503, 0.375, 0.234, 0.084",\
"1.134, 1.131, 1.087, 1.018, 0.93, 0.819, 0.702, 0.578, 0.438, 0.283",\
"1.382, 1.373, 1.328, 1.259, 1.164, 1.054, 0.936, 0.808, 0.67, 0.516",\
"1.654, 1.639, 1.6, 1.524, 1.427, 1.318, 1.198, 1.072, 0.926, 0.77");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.189, 0.184, 0.151, 0.075, -0.019, -0.133, -0.271, -0.426, -0.581, -0.769",\
"0.198, 0.189, 0.154, 0.086, -0.013, -0.128, -0.264, -0.415, -0.575, -0.766",\
"0.22, 0.216, 0.179, 0.113, 0.013, -0.099, -0.238, -0.388, -0.556, -0.739",\
"0.269, 0.261, 0.22, 0.147, 0.052, -0.058, -0.197, -0.349, -0.518, -0.7",\
"0.313, 0.297, 0.263, 0.19, 0.092, -0.024, -0.161, -0.317, -0.471, -0.658",\
"0.337, 0.335, 0.299, 0.221, 0.12, 0, -0.131, -0.285, -0.45, -0.63",\
"0.355, 0.353, 0.317, 0.24, 0.141, 0.025, -0.116, -0.265, -0.425, -0.616",\
"0.362, 0.358, 0.321, 0.237, 0.139, 0.023, -0.113, -0.265, -0.425, -0.611",\
"0.342, 0.334, 0.298, 0.225, 0.121, 0.001, -0.136, -0.286, -0.45, -0.63",\
"0.304, 0.298, 0.261, 0.188, 0.085, -0.037, -0.168, -0.321, -0.484, -0.674");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.4503 ;
max_transition : 5 ;
min_capacitance : 0.001 ;
output_voltage : default ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
related_pin : "CLKN" ;
fall_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.001, 0.004101, 0.01499, 0.03577, 0.06816, 0.1136, 0.1734, 0.2487, 0.3407, 0.4503");
values("0.382, 0.3763, 0.3678, 0.3628, 0.3604, 0.359, 0.3582, 0.3576, 0.3573, 0.357",\
"0.3819, 0.3764, 0.3678, 0.3629, 0.3604, 0.3591, 0.3583, 0.3577, 0.3573, 0.357",\
"0.382, 0.3764, 0.368, 0.3628, 0.3604, 0.3591, 0.3583, 0.3578, 0.3573, 0.357",\
"0.3822, 0.3766, 0.3681, 0.3631, 0.3607, 0.3593, 0.3586, 0.358, 0.3576, 0.3573",\
"0.3837, 0.3781, 0.3695, 0.3645, 0.3621, 0.3608, 0.36, 0.3594, 0.359, 0.3587",\
"0.3862, 0.3804, 0.3717, 0.3669, 0.3645, 0.3633, 0.3623, 0.3618, 0.3614, 0.3611",\
"0.3888, 0.3831, 0.3745, 0.3694, 0.367, 0.3656, 0.3648, 0.3642, 0.3638, 0.3635",\
"0.393, 0.3872, 0.3784, 0.3737, 0.3711, 0.3696, 0.3688, 0.3683, 0.368, 0.3677",\
"0.3976, 0.3919, 0.3832, 0.3779, 0.3753, 0.374, 0.3733, 0.3727, 0.3722, 0.372",\
"0.4031, 0.3974, 0.3885, 0.3836, 0.381, 0.3796, 0.3786, 0.3779, 0.3776, 0.3773");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.001, 0.004101, 0.01499, 0.03577, 0.06816, 0.1136, 0.1734, 0.2487, 0.3407, 0.4503");
values("0.466, 0.4626, 0.4568, 0.4534, 0.4514, 0.4519, 0.454, 0.455, 0.4564, 0.4581",\
"0.4658, 0.4623, 0.4564, 0.4535, 0.4515, 0.4519, 0.4528, 0.4552, 0.4565, 0.4591",\
"0.4661, 0.4625, 0.4564, 0.453, 0.4515, 0.4521, 0.4537, 0.4546, 0.4574, 0.4577",\
"0.4666, 0.4631, 0.4572, 0.4537, 0.4523, 0.4525, 0.455, 0.4557, 0.4575, 0.4592",\
"0.4691, 0.465, 0.4588, 0.4564, 0.4544, 0.4547, 0.4567, 0.4576, 0.4594, 0.4611",\
"0.4718, 0.4683, 0.4624, 0.4591, 0.4573, 0.4578, 0.4598, 0.4607, 0.4626, 0.4638",\
"0.4746, 0.4714, 0.4657, 0.4624, 0.4607, 0.4609, 0.4627, 0.464, 0.4663, 0.4679",\
"0.479, 0.4754, 0.4695, 0.4664, 0.4658, 0.466, 0.4673, 0.4684, 0.4711, 0.4728",\
"0.4831, 0.4798, 0.4741, 0.4704, 0.4695, 0.4709, 0.4718, 0.4729, 0.4751, 0.4772",\
"0.4879, 0.4845, 0.4784, 0.475, 0.4741, 0.4748, 0.4774, 0.4801, 0.4815, 0.4809");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.001, 0.004101, 0.01499, 0.03577, 0.06816, 0.1136, 0.1734, 0.2487, 0.3407, 0.4503");
values("0.7713, 0.7959, 0.8625, 0.9613, 1.091, 1.261, 1.483, 1.762, 2.102, 2.508",\
"0.7803, 0.8049, 0.8715, 0.9703, 1.1, 1.27, 1.492, 1.771, 2.111, 2.517",\
"0.8158, 0.8403, 0.907, 1.006, 1.135, 1.306, 1.527, 1.806, 2.146, 2.552",\
"0.889, 0.9137, 0.9803, 1.079, 1.208, 1.379, 1.601, 1.879, 2.22, 2.626",\
"0.9955, 1.02, 1.087, 1.186, 1.315, 1.486, 1.707, 1.986, 2.326, 2.732",\
"1.12, 1.145, 1.212, 1.31, 1.44, 1.61, 1.832, 2.111, 2.451, 2.857",\
"1.261, 1.286, 1.352, 1.451, 1.581, 1.751, 1.973, 2.252, 2.592, 2.998",\
"1.418, 1.443, 1.51, 1.608, 1.738, 1.909, 2.13, 2.409, 2.749, 3.155",\
"1.59, 1.615, 1.681, 1.78, 1.91, 2.08, 2.302, 2.581, 2.921, 3.327",\
"1.776, 1.801, 1.868, 1.967, 2.096, 2.267, 2.489, 2.767, 3.107, 3.513");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.001, 0.004101, 0.01499, 0.03577, 0.06816, 0.1136, 0.1734, 0.2487, 0.3407, 0.4503");
values("0.8879, 0.9127, 0.9862, 1.118, 1.323, 1.612, 1.991, 2.47, 3.055, 3.751",\
"0.8968, 0.9215, 0.9951, 1.127, 1.332, 1.62, 2, 2.479, 3.063, 3.76",\
"0.9326, 0.9572, 1.031, 1.163, 1.368, 1.656, 2.036, 2.515, 3.099, 3.796",\
"1.006, 1.031, 1.105, 1.237, 1.442, 1.73, 2.11, 2.589, 3.173, 3.87",\
"1.116, 1.14, 1.214, 1.346, 1.551, 1.839, 2.219, 2.698, 3.283, 3.979",\
"1.244, 1.269, 1.342, 1.474, 1.679, 1.968, 2.348, 2.826, 3.411, 4.107",\
"1.39, 1.414, 1.488, 1.62, 1.825, 2.113, 2.493, 2.972, 3.557, 4.254",\
"1.553, 1.578, 1.651, 1.783, 1.988, 2.276, 2.656, 3.135, 3.72, 4.416",\
"1.732, 1.756, 1.83, 1.962, 2.167, 2.455, 2.835, 3.314, 3.898, 4.595",\
"1.925, 1.95, 2.023, 2.155, 2.36, 2.649, 3.028, 3.507, 4.092, 4.788");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.001, 0.004101, 0.01499, 0.03577, 0.06816, 0.1136, 0.1734, 0.2487, 0.3407, 0.4503");
values("0.0885, 0.1122, 0.1827, 0.2932, 0.4658, 0.7274, 1.082, 1.537, 2.095, 2.757",\
"0.08872, 0.1126, 0.1826, 0.2933, 0.467, 0.7272, 1.084, 1.537, 2.093, 2.759",\
"0.08864, 0.1129, 0.183, 0.2934, 0.4658, 0.7272, 1.084, 1.537, 2.093, 2.759",\
"0.0884, 0.1124, 0.1826, 0.2934, 0.4666, 0.7262, 1.084, 1.537, 2.093, 2.759",\
"0.0886, 0.1124, 0.1828, 0.2932, 0.4668, 0.727, 1.084, 1.537, 2.093, 2.759",\
"0.089, 0.1126, 0.1828, 0.2934, 0.4668, 0.7274, 1.083, 1.537, 2.095, 2.759",\
"0.0888, 0.1128, 0.1826, 0.2932, 0.4666, 0.7262, 1.083, 1.537, 2.093, 2.756",\
"0.0888, 0.1126, 0.1832, 0.2938, 0.4662, 0.7264, 1.083, 1.536, 2.093, 2.755",\
"0.0894, 0.113, 0.183, 0.2936, 0.4662, 0.7262, 1.083, 1.536, 2.092, 2.757",\
"0.089, 0.113, 0.1832, 0.2938, 0.466, 0.7264, 1.082, 1.537, 2.093, 2.755");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.001, 0.004101, 0.01499, 0.03577, 0.06816, 0.1136, 0.1734, 0.2487, 0.3407, 0.4503");
values("0.08482, 0.1158, 0.2225, 0.4426, 0.7942, 1.291, 1.949, 2.771, 3.778, 4.982",\
"0.08532, 0.1161, 0.2226, 0.4418, 0.7942, 1.293, 1.947, 2.773, 3.784, 4.982",\
"0.0854, 0.116, 0.2226, 0.4418, 0.7944, 1.293, 1.948, 2.771, 3.781, 4.986",\
"0.0854, 0.116, 0.2224, 0.4422, 0.7944, 1.291, 1.949, 2.776, 3.78, 4.981",\
"0.0854, 0.116, 0.2226, 0.4418, 0.7944, 1.292, 1.948, 2.773, 3.783, 4.979",\
"0.0844, 0.1154, 0.2224, 0.4426, 0.7944, 1.293, 1.949, 2.771, 3.78, 4.982",\
"0.0842, 0.1156, 0.2224, 0.442, 0.7944, 1.294, 1.948, 2.773, 3.78, 4.984",\
"0.0842, 0.1156, 0.2224, 0.4418, 0.794, 1.292, 1.948, 2.776, 3.78, 4.983",\
"0.0842, 0.1156, 0.2226, 0.4422, 0.7942, 1.293, 1.945, 2.773, 3.779, 4.982",\
"0.0844, 0.1154, 0.2224, 0.4424, 0.7942, 1.292, 1.946, 2.771, 3.777, 4.98");
}
}
}
}