blob: 4186cad733be9838c2499446382d90fd23450ea1 [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__dffnq_2) {
area : 87.494400 ;
ff(IQ1,IQN1) {
clocked_on : "(!CLKN)" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&!D" ;
value : "0.000271548" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.000288558" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.0002270376" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.0002242512" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.000288558" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.004944 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 4.4 ;
min_period : 0.653 ;
min_pulse_width_high : 0.268 ;
min_pulse_width_low : 0.32 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.2027, 0.2023, 0.2052, 0.2201, 0.2487, 0.2927, 0.3532, 0.4307, \
0.5264, 0.6408");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.1284, 0.128, 0.1305, 0.1428, 0.167, 0.2054, 0.2586, 0.3276, \
0.4123, 0.5142");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.203, 0.2024, 0.2054, 0.2205, 0.2489, 0.2929, 0.3532, 0.4308, \
0.5267, 0.6411");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.1284, 0.1278, 0.1303, 0.1426, 0.1668, 0.2051, 0.2584, 0.3272, \
0.4122, 0.514");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.304");
}
rise_constraint(scalar) {
values("0.268");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.32");
}
rise_constraint(scalar) {
values("0.254");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("0.617");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("0.653");
}
}
}
pin(D) {
capacitance : 0.003849 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 4.4 ;
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.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.04555, 0.04535, 0.05, 0.0628, 0.08495, 0.1172, 0.1603, 0.2152, \
0.2825, 0.363");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.003524, 0.003245, 0.006171, 0.01649, 0.03541, 0.06371, 0.1018, \
0.1505, 0.2104, 0.2821");
}
}
internal_power() {
when : "CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.1538, 0.1536, 0.1566, 0.168, 0.1899, 0.2235, 0.2697, 0.329, \
0.4022, 0.4896");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.1069, 0.1067, 0.1092, 0.1184, 0.1362, 0.1645, 0.2039, 0.255, \
0.3186, 0.3948");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
index_2("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.011, 0.013, 0.045, 0.087, 0.142, 0.198, 0.275, 0.366, 0.481, 0.598",\
"0.006, 0.007, 0.038, 0.084, 0.136, 0.194, 0.268, 0.363, 0.467, 0.59",\
"-0.028, -0.02, 0.005, 0.049, 0.1, 0.161, 0.238, 0.325, 0.44, 0.558",\
"-0.081, -0.077, -0.049, -0, 0.044, 0.108, 0.181, 0.267, 0.38, 0.495",\
"-0.142, -0.136, -0.116, -0.068, -0.023, 0.04, 0.106, 0.194, 0.297, 0.412",\
"-0.231, -0.221, -0.197, -0.149, -0.108, -0.053, 0.022, 0.104, 0.199, 0.319",\
"-0.321, -0.315, -0.288, -0.251, -0.205, -0.152, -0.077, -0.002, 0.09, 0.202",\
"-0.43, -0.427, -0.405, -0.36, -0.321, -0.266, -0.199, -0.127, -0.027, 0.082",\
"-0.558, -0.552, -0.528, -0.482, -0.447, -0.398, -0.332, -0.256, -0.163, -0.058",\
"-0.692, -0.689, -0.666, -0.631, -0.588, -0.544, -0.485, -0.407, -0.318, -0.218");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
index_2("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.092, 0.102, 0.136, 0.19, 0.268, 0.356, 0.461, 0.577, 0.71, 0.851",\
"0.087, 0.096, 0.126, 0.185, 0.266, 0.349, 0.457, 0.575, 0.706, 0.849",\
"0.071, 0.077, 0.108, 0.166, 0.244, 0.334, 0.437, 0.559, 0.686, 0.829",\
"0.058, 0.062, 0.097, 0.157, 0.227, 0.321, 0.421, 0.539, 0.677, 0.819",\
"0.047, 0.059, 0.084, 0.145, 0.227, 0.31, 0.416, 0.534, 0.667, 0.813",\
"0.051, 0.054, 0.091, 0.145, 0.23, 0.316, 0.42, 0.543, 0.668, 0.814",\
"0.07, 0.072, 0.11, 0.163, 0.24, 0.325, 0.43, 0.549, 0.686, 0.828",\
"0.105, 0.108, 0.144, 0.192, 0.272, 0.351, 0.456, 0.578, 0.708, 0.856",\
"0.163, 0.166, 0.202, 0.25, 0.314, 0.397, 0.499, 0.613, 0.747, 0.889",\
"0.242, 0.245, 0.272, 0.317, 0.382, 0.459, 0.559, 0.674, 0.807, 0.94");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
index_2("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.189, 0.182, 0.154, 0.094, 0.038, -0.041, -0.126, -0.226, -0.337, -0.467",\
"0.196, 0.192, 0.157, 0.106, 0.04, -0.033, -0.117, -0.221, -0.33, -0.463",\
"0.235, 0.224, 0.19, 0.134, 0.074, -0.003, -0.089, -0.191, -0.3, -0.429",\
"0.293, 0.286, 0.254, 0.203, 0.133, 0.063, -0.028, -0.131, -0.241, -0.366",\
"0.385, 0.368, 0.337, 0.288, 0.219, 0.143, 0.055, -0.044, -0.162, -0.288",\
"0.481, 0.476, 0.442, 0.386, 0.319, 0.24, 0.151, 0.056, -0.061, -0.184",\
"0.61, 0.599, 0.576, 0.513, 0.447, 0.369, 0.275, 0.173, 0.065, -0.06",\
"0.755, 0.743, 0.713, 0.654, 0.59, 0.507, 0.41, 0.313, 0.204, 0.075",\
"0.922, 0.911, 0.88, 0.816, 0.742, 0.663, 0.568, 0.467, 0.357, 0.235",\
"1.098, 1.087, 1.055, 0.99, 0.919, 0.834, 0.739, 0.64, 0.523, 0.398");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
index_2("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
values("0.126, 0.119, 0.088, 0.04, -0.016, -0.08, -0.135, -0.22, -0.278, -0.373",\
"0.127, 0.124, 0.095, 0.043, -0.006, -0.067, -0.126, -0.201, -0.27, -0.374",\
"0.152, 0.144, 0.114, 0.061, 0.012, -0.06, -0.128, -0.198, -0.256, -0.355",\
"0.184, 0.173, 0.145, 0.092, 0.029, -0.035, -0.12, -0.181, -0.25, -0.348",\
"0.214, 0.201, 0.172, 0.117, 0.053, -0.021, -0.113, -0.187, -0.267, -0.356",\
"0.231, 0.221, 0.197, 0.133, 0.069, -0.018, -0.116, -0.212, -0.288, -0.394",\
"0.247, 0.24, 0.208, 0.148, 0.075, -0.014, -0.111, -0.219, -0.326, -0.44",\
"0.245, 0.234, 0.204, 0.145, 0.076, -0.021, -0.121, -0.229, -0.348, -0.482",\
"0.227, 0.219, 0.194, 0.13, 0.056, -0.033, -0.133, -0.254, -0.374, -0.514",\
"0.197, 0.192, 0.163, 0.101, 0.024, -0.067, -0.171, -0.284, -0.414, -0.558");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.9071 ;
max_transition : 4.4 ;
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.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
index_2("0.001, 0.007254, 0.02921, 0.07113, 0.1364, 0.2281, 0.3487, 0.5006, 0.6861, 0.9071");
values("0.3662, 0.3568, 0.3447, 0.3393, 0.3366, 0.3351, 0.3341, 0.3335, 0.3331, 0.3329",\
"0.3659, 0.3565, 0.3446, 0.339, 0.3364, 0.3349, 0.3339, 0.3333, 0.333, 0.3327",\
"0.366, 0.3565, 0.3445, 0.339, 0.3364, 0.3349, 0.3339, 0.3333, 0.333, 0.3327",\
"0.3669, 0.3574, 0.3455, 0.3399, 0.3373, 0.3358, 0.3349, 0.3342, 0.3339, 0.3336",\
"0.3698, 0.3608, 0.3486, 0.3429, 0.3403, 0.3388, 0.3378, 0.3373, 0.3369, 0.3366",\
"0.3739, 0.3643, 0.3525, 0.3468, 0.344, 0.3427, 0.3417, 0.3411, 0.3407, 0.3405",\
"0.3795, 0.3703, 0.3579, 0.3521, 0.3495, 0.348, 0.347, 0.3464, 0.346, 0.3458",\
"0.3867, 0.3775, 0.3651, 0.3594, 0.3567, 0.355, 0.3541, 0.3535, 0.3531, 0.3528",\
"0.3952, 0.3859, 0.3733, 0.3674, 0.3647, 0.3632, 0.3622, 0.3616, 0.3612, 0.3608",\
"0.4047, 0.3952, 0.3824, 0.3765, 0.3736, 0.3721, 0.3711, 0.3705, 0.3701, 0.3698");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
index_2("0.001, 0.007254, 0.02921, 0.07113, 0.1364, 0.2281, 0.3487, 0.5006, 0.6861, 0.9071");
values("0.3968, 0.3911, 0.3838, 0.3804, 0.3798, 0.3804, 0.3814, 0.3849, 0.3865, 0.3886",\
"0.3967, 0.3911, 0.3838, 0.3804, 0.3795, 0.381, 0.3827, 0.3844, 0.3878, 0.3903",\
"0.3973, 0.3914, 0.3841, 0.3809, 0.3803, 0.3809, 0.3818, 0.3846, 0.387, 0.3894",\
"0.3988, 0.3925, 0.3852, 0.382, 0.3818, 0.3822, 0.3833, 0.3861, 0.3884, 0.3905",\
"0.4016, 0.396, 0.3885, 0.3852, 0.3846, 0.3854, 0.3873, 0.3893, 0.3927, 0.3945",\
"0.4044, 0.3987, 0.3919, 0.3887, 0.3873, 0.3877, 0.3897, 0.3929, 0.3952, 0.3988",\
"0.4091, 0.4034, 0.3956, 0.3934, 0.3939, 0.3929, 0.3953, 0.397, 0.3993, 0.4011",\
"0.4138, 0.4077, 0.4012, 0.3975, 0.3974, 0.4006, 0.4008, 0.4029, 0.4042, 0.4066",\
"0.419, 0.4136, 0.4064, 0.4036, 0.4018, 0.4037, 0.4101, 0.4118, 0.412, 0.4134",\
"0.4242, 0.4182, 0.411, 0.4077, 0.4085, 0.4071, 0.4102, 0.4177, 0.4178, 0.4192");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
index_2("0.001, 0.007254, 0.02921, 0.07113, 0.1364, 0.2281, 0.3487, 0.5006, 0.6861, 0.9071");
values("0.4425, 0.4635, 0.5166, 0.5932, 0.6975, 0.8393, 1.025, 1.26, 1.546, 1.887",\
"0.4498, 0.4709, 0.524, 0.6006, 0.7049, 0.8467, 1.033, 1.267, 1.553, 1.894",\
"0.4808, 0.5019, 0.555, 0.6316, 0.7358, 0.8776, 1.064, 1.298, 1.584, 1.925",\
"0.5422, 0.5633, 0.6164, 0.6931, 0.7972, 0.9391, 1.125, 1.36, 1.646, 1.987",\
"0.6242, 0.6453, 0.6984, 0.775, 0.8792, 1.021, 1.207, 1.441, 1.728, 2.069",\
"0.7222, 0.7432, 0.7964, 0.8731, 0.9774, 1.119, 1.305, 1.539, 1.826, 2.167",\
"0.8356, 0.8567, 0.9099, 0.9866, 1.091, 1.233, 1.419, 1.653, 1.939, 2.28",\
"0.9623, 0.9835, 1.037, 1.113, 1.218, 1.36, 1.546, 1.78, 2.066, 2.407",\
"1.104, 1.125, 1.178, 1.255, 1.359, 1.501, 1.687, 1.921, 2.207, 2.549",\
"1.259, 1.28, 1.333, 1.41, 1.514, 1.656, 1.842, 2.076, 2.362, 2.704");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
index_2("0.001, 0.007254, 0.02921, 0.07113, 0.1364, 0.2281, 0.3487, 0.5006, 0.6861, 0.9071");
values("0.4886, 0.5102, 0.5741, 0.6899, 0.8708, 1.125, 1.46, 1.881, 2.397, 3.011",\
"0.496, 0.5176, 0.5814, 0.6973, 0.8782, 1.133, 1.467, 1.889, 2.404, 3.019",\
"0.5274, 0.549, 0.6128, 0.7287, 0.9097, 1.164, 1.499, 1.92, 2.436, 3.049",\
"0.5891, 0.6105, 0.6744, 0.7903, 0.9713, 1.226, 1.56, 1.982, 2.498, 3.111",\
"0.671, 0.6926, 0.7563, 0.8722, 1.053, 1.307, 1.642, 2.064, 2.579, 3.194",\
"0.7687, 0.7904, 0.8544, 0.9701, 1.151, 1.405, 1.74, 2.162, 2.678, 3.29",\
"0.882, 0.9034, 0.9673, 1.083, 1.264, 1.518, 1.853, 2.275, 2.79, 3.404",\
"1.008, 1.029, 1.093, 1.209, 1.39, 1.644, 1.979, 2.401, 2.916, 3.53",\
"1.147, 1.169, 1.233, 1.349, 1.53, 1.784, 2.119, 2.541, 3.055, 3.669",\
"1.299, 1.32, 1.384, 1.5, 1.681, 1.936, 2.27, 2.692, 3.207, 3.82");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
index_2("0.001, 0.007254, 0.02921, 0.07113, 0.1364, 0.2281, 0.3487, 0.5006, 0.6861, 0.9071");
values("0.05206, 0.07266, 0.1295, 0.2221, 0.3755, 0.6034, 0.9122, 1.299, 1.776, 2.343",\
"0.05186, 0.07266, 0.1295, 0.2213, 0.3755, 0.6036, 0.9121, 1.3, 1.776, 2.341",\
"0.05206, 0.07266, 0.1295, 0.2214, 0.3755, 0.6035, 0.9121, 1.3, 1.777, 2.341",\
"0.0521, 0.07268, 0.1295, 0.2214, 0.3754, 0.6034, 0.9122, 1.299, 1.777, 2.341",\
"0.0518, 0.0726, 0.1296, 0.2214, 0.3748, 0.6046, 0.912, 1.301, 1.775, 2.345",\
"0.052, 0.0726, 0.1296, 0.2214, 0.3746, 0.6034, 0.9104, 1.301, 1.776, 2.341",\
"0.0524, 0.073, 0.1298, 0.2214, 0.3746, 0.6034, 0.9106, 1.299, 1.775, 2.342",\
"0.0524, 0.0728, 0.13, 0.2218, 0.375, 0.6036, 0.9102, 1.298, 1.773, 2.34",\
"0.0526, 0.073, 0.13, 0.2216, 0.3754, 0.605, 0.911, 1.299, 1.772, 2.337",\
"0.0528, 0.0736, 0.1302, 0.2222, 0.375, 0.6042, 0.9106, 1.299, 1.774, 2.337");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
index_2("0.001, 0.007254, 0.02921, 0.07113, 0.1364, 0.2281, 0.3487, 0.5006, 0.6861, 0.9071");
values("0.04954, 0.07762, 0.175, 0.3713, 0.686, 1.129, 1.711, 2.441, 3.336, 4.404",\
"0.04956, 0.07734, 0.1749, 0.3714, 0.6856, 1.127, 1.708, 2.439, 3.333, 4.4",\
"0.04954, 0.07728, 0.1749, 0.3714, 0.6858, 1.129, 1.711, 2.441, 3.337, 4.404",\
"0.04964, 0.07748, 0.175, 0.3712, 0.6852, 1.129, 1.711, 2.441, 3.337, 4.404",\
"0.0496, 0.0772, 0.1748, 0.371, 0.686, 1.127, 1.708, 2.44, 3.334, 4.41",\
"0.0498, 0.0776, 0.1748, 0.3718, 0.6854, 1.128, 1.711, 2.44, 3.336, 4.401",\
"0.0494, 0.077, 0.175, 0.3718, 0.6848, 1.128, 1.711, 2.441, 3.336, 4.405",\
"0.049, 0.0772, 0.1748, 0.3714, 0.6848, 1.126, 1.707, 2.439, 3.334, 4.403",\
"0.0494, 0.077, 0.1746, 0.3718, 0.6854, 1.126, 1.708, 2.44, 3.339, 4.399",\
"0.0492, 0.077, 0.1748, 0.3714, 0.6854, 1.127, 1.709, 2.44, 3.332, 4.398");
}
}
}
}