blob: 7665e29d79da3e93cffdd371ea734a8ecfd49e47 [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 : "0.00643644" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.00967932" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.00631584" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.00873324" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.00967932" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.004969 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 5.2 ;
min_period : 1.005 ;
min_pulse_width_high : 0.42 ;
min_pulse_width_low : 0.498 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.2113, 0.2107, 0.2138, 0.2297, 0.2614, 0.3104, 0.3781, 0.4649, \
0.5719, 0.6998");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.135, 0.1346, 0.1371, 0.1503, 0.1769, 0.2194, 0.2785, 0.3555, \
0.4509, 0.5651");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.2182, 0.2177, 0.2209, 0.2366, 0.2683, 0.3173, 0.3849, 0.4717, \
0.5785, 0.7063");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.1344, 0.1342, 0.1367, 0.1499, 0.1765, 0.2192, 0.2785, 0.3555, \
0.4506, 0.5647");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.498");
}
rise_constraint(scalar) {
values("0.344");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.419");
}
rise_constraint(scalar) {
values("0.42");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("1.005");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("0.905");
}
}
}
pin(D) {
capacitance : 0.003884 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 5.2 ;
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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.1275, 0.1268, 0.1276, 0.136, 0.1539, 0.1821, 0.221, 0.2708, \
0.3317, 0.4043");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.08013, 0.08033, 0.08206, 0.08944, 0.1044, 0.1282, 0.1614, 0.2045, \
0.2575, 0.321");
}
}
internal_power() {
when : "CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.01202, 0.01202, 0.01202, 0.01203, 0.01202, 0.01204, 0.01206, \
0.01206, 0.01204, 0.01203");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("-0.01256, -0.01254, -0.01255, -0.01255, -0.01254, -0.01254, -0.01261, \
-0.01262, -0.01264, -0.01265");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.137, 0.142, 0.17, 0.208, 0.237, 0.258, 0.265, 0.25, 0.227, 0.181",\
"0.133, 0.135, 0.163, 0.203, 0.232, 0.247, 0.257, 0.244, 0.218, 0.174",\
"0.11, 0.11, 0.141, 0.176, 0.207, 0.227, 0.236, 0.224, 0.192, 0.152",\
"0.076, 0.075, 0.099, 0.14, 0.169, 0.182, 0.192, 0.179, 0.148, 0.106",\
"0.036, 0.034, 0.06, 0.101, 0.13, 0.141, 0.146, 0.136, 0.097, 0.059",\
"-0.01, -0.016, 0.021, 0.052, 0.076, 0.088, 0.102, 0.081, 0.047, 0.002",\
"-0.055, -0.07, -0.035, -0.002, 0.027, 0.033, 0.046, 0.022, -0.009, -0.052",\
"-0.109, -0.138, -0.091, -0.062, -0.043, -0.029, -0.015, -0.042, -0.072, -0.118",\
"-0.167, -0.206, -0.166, -0.132, -0.114, -0.105, -0.084, -0.117, -0.152, -0.189",\
"-0.246, -0.297, -0.239, -0.21, -0.192, -0.185, -0.167, -0.195, -0.241, -0.275");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.023, 0.033, 0.048, 0.076, 0.08, 0.077, 0.061, 0.035, -0.01, -0.07",\
"0.018, 0.029, 0.05, 0.071, 0.076, 0.078, 0.06, 0.026, -0.012, -0.072",\
"0.005, 0.016, 0.029, 0.054, 0.061, 0.061, 0.046, 0.021, -0.023, -0.08",\
"-0.01, -0.002, 0.018, 0.036, 0.051, 0.051, 0.028, -0.005, -0.047, -0.101",\
"-0.019, -0.013, 0.002, 0.025, 0.034, 0.024, 0.002, -0.03, -0.079, -0.139",\
"-0.018, -0.008, 0.004, 0.024, 0.025, 0.013, -0.016, -0.06, -0.115, -0.181",\
"0.009, 0.017, 0.034, 0.048, 0.041, 0.025, -0.015, -0.068, -0.126, -0.209",\
"0.069, 0.072, 0.088, 0.088, 0.076, 0.05, 0.009, -0.049, -0.122, -0.206",\
"0.139, 0.153, 0.157, 0.161, 0.143, 0.109, 0.054, -0.01, -0.085, -0.184",\
"0.243, 0.253, 0.258, 0.259, 0.234, 0.189, 0.131, 0.059, -0.031, -0.138");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.195, 0.185, 0.162, 0.116, 0.082, 0.065, 0.052, 0.062, 0.1, 0.147",\
"0.2, 0.191, 0.167, 0.123, 0.092, 0.069, 0.061, 0.072, 0.103, 0.15",\
"0.231, 0.22, 0.188, 0.156, 0.118, 0.095, 0.086, 0.096, 0.126, 0.178",\
"0.294, 0.287, 0.258, 0.223, 0.191, 0.165, 0.155, 0.163, 0.193, 0.252",\
"0.404, 0.4, 0.37, 0.335, 0.295, 0.271, 0.264, 0.27, 0.301, 0.351",\
"0.551, 0.539, 0.516, 0.473, 0.437, 0.415, 0.403, 0.41, 0.439, 0.483",\
"0.71, 0.703, 0.678, 0.634, 0.606, 0.582, 0.567, 0.57, 0.6, 0.646",\
"0.902, 0.895, 0.87, 0.822, 0.791, 0.766, 0.752, 0.755, 0.787, 0.832",\
"1.118, 1.105, 1.076, 1.037, 0.999, 0.978, 0.966, 0.964, 0.992, 1.032",\
"1.351, 1.339, 1.31, 1.271, 1.232, 1.21, 1.192, 1.202, 1.216, 1.262");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
values("0.258, 0.249, 0.232, 0.202, 0.173, 0.17, 0.187, 0.217, 0.268, 0.346",\
"0.264, 0.255, 0.242, 0.207, 0.181, 0.184, 0.192, 0.222, 0.272, 0.357",\
"0.292, 0.276, 0.259, 0.23, 0.2, 0.195, 0.213, 0.244, 0.291, 0.37",\
"0.334, 0.315, 0.298, 0.259, 0.233, 0.231, 0.244, 0.272, 0.323, 0.404",\
"0.353, 0.337, 0.323, 0.293, 0.269, 0.254, 0.271, 0.307, 0.36, 0.439",\
"0.371, 0.362, 0.343, 0.314, 0.286, 0.279, 0.294, 0.327, 0.387, 0.475",\
"0.378, 0.371, 0.351, 0.318, 0.29, 0.287, 0.311, 0.347, 0.403, 0.49",\
"0.376, 0.363, 0.341, 0.312, 0.283, 0.28, 0.3, 0.346, 0.405, 0.509",\
"0.346, 0.327, 0.31, 0.278, 0.255, 0.254, 0.282, 0.326, 0.391, 0.487",\
"0.284, 0.271, 0.258, 0.23, 0.213, 0.208, 0.229, 0.273, 0.345, 0.45");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.7581 ;
max_transition : 5.2 ;
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.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.001, 0.006226, 0.02457, 0.0596, 0.1142, 0.1908, 0.2915, 0.4185, 0.5734, 0.7581");
values("0.3389, 0.3312, 0.3182, 0.3105, 0.3063, 0.3038, 0.3022, 0.3012, 0.3005, 0.3",\
"0.3387, 0.331, 0.318, 0.3104, 0.3063, 0.3037, 0.3021, 0.3011, 0.3004, 0.2999",\
"0.3392, 0.3314, 0.3185, 0.3109, 0.3066, 0.3042, 0.3025, 0.3015, 0.3008, 0.3002",\
"0.3403, 0.3325, 0.3196, 0.3118, 0.3077, 0.305, 0.3036, 0.3025, 0.3019, 0.3013",\
"0.3423, 0.3344, 0.3215, 0.3138, 0.3098, 0.3071, 0.3056, 0.3045, 0.3038, 0.3032",\
"0.3447, 0.3369, 0.3238, 0.3162, 0.312, 0.3095, 0.3079, 0.3069, 0.3062, 0.3057",\
"0.3479, 0.34, 0.3271, 0.3196, 0.3155, 0.3128, 0.3113, 0.3103, 0.3095, 0.309",\
"0.3513, 0.3435, 0.3307, 0.3231, 0.3189, 0.3161, 0.3148, 0.3137, 0.3129, 0.3124",\
"0.3552, 0.3473, 0.3345, 0.3267, 0.3225, 0.3201, 0.3186, 0.3175, 0.3169, 0.3163",\
"0.3596, 0.352, 0.3387, 0.3312, 0.3268, 0.3244, 0.3231, 0.3219, 0.3213, 0.3208");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.001, 0.006226, 0.02457, 0.0596, 0.1142, 0.1908, 0.2915, 0.4185, 0.5734, 0.7581");
values("0.3155, 0.3095, 0.3002, 0.2947, 0.292, 0.2925, 0.2935, 0.2943, 0.2965, 0.2972",\
"0.3155, 0.3092, 0.3, 0.2946, 0.2919, 0.2925, 0.2934, 0.2942, 0.2964, 0.2971",\
"0.3154, 0.3093, 0.3, 0.2946, 0.2919, 0.2921, 0.2931, 0.2942, 0.296, 0.2971",\
"0.3163, 0.3104, 0.301, 0.2953, 0.2935, 0.2933, 0.2939, 0.295, 0.2976, 0.2972",\
"0.3187, 0.3125, 0.3032, 0.2975, 0.2953, 0.2956, 0.2968, 0.2976, 0.2988, 0.3002",\
"0.3221, 0.316, 0.3066, 0.3016, 0.299, 0.299, 0.3002, 0.301, 0.3029, 0.3036",\
"0.3275, 0.3211, 0.3121, 0.3055, 0.3042, 0.305, 0.3053, 0.306, 0.3072, 0.3085",\
"0.334, 0.3282, 0.3183, 0.3121, 0.3096, 0.31, 0.3126, 0.3137, 0.3149, 0.3147",\
"0.3425, 0.3362, 0.326, 0.3202, 0.3174, 0.3162, 0.3183, 0.3241, 0.3241, 0.3254",\
"0.3519, 0.3459, 0.3362, 0.3299, 0.3268, 0.326, 0.3259, 0.3295, 0.3379, 0.3386");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.001, 0.006226, 0.02457, 0.0596, 0.1142, 0.1908, 0.2915, 0.4185, 0.5734, 0.7581");
values("0.6488, 0.6721, 0.7327, 0.8225, 0.9445, 1.107, 1.319, 1.586, 1.912, 2.301",\
"0.6552, 0.6786, 0.7391, 0.8289, 0.951, 1.114, 1.326, 1.593, 1.919, 2.308",\
"0.6815, 0.7048, 0.7653, 0.8551, 0.9772, 1.14, 1.352, 1.619, 1.945, 2.334",\
"0.724, 0.7473, 0.8079, 0.8976, 1.02, 1.183, 1.395, 1.661, 1.987, 2.376",\
"0.762, 0.7852, 0.8458, 0.9356, 1.058, 1.22, 1.432, 1.699, 2.025, 2.414",\
"0.7896, 0.813, 0.8735, 0.9633, 1.085, 1.248, 1.46, 1.727, 2.053, 2.442",\
"0.8041, 0.8274, 0.888, 0.9777, 1.1, 1.263, 1.475, 1.742, 2.067, 2.456",\
"0.803, 0.8262, 0.8872, 0.977, 1.099, 1.262, 1.474, 1.74, 2.066, 2.455",\
"0.7846, 0.808, 0.8685, 0.9583, 1.08, 1.243, 1.455, 1.722, 2.048, 2.436",\
"0.7481, 0.7714, 0.8319, 0.9218, 1.044, 1.207, 1.419, 1.685, 2.012, 2.4");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.001, 0.006226, 0.02457, 0.0596, 0.1142, 0.1908, 0.2915, 0.4185, 0.5734, 0.7581");
values("0.6055, 0.6299, 0.7015, 0.8302, 1.031, 1.315, 1.689, 2.16, 2.735, 3.422",\
"0.6121, 0.6364, 0.7082, 0.8368, 1.038, 1.322, 1.695, 2.166, 2.741, 3.428",\
"0.6375, 0.6619, 0.7336, 0.8622, 1.064, 1.347, 1.72, 2.192, 2.767, 3.454",\
"0.6789, 0.7033, 0.775, 0.9035, 1.105, 1.388, 1.762, 2.233, 2.808, 3.495",\
"0.7155, 0.7396, 0.8116, 0.9401, 1.142, 1.425, 1.799, 2.269, 2.844, 3.531",\
"0.7431, 0.7674, 0.8391, 0.9678, 1.169, 1.452, 1.826, 2.297, 2.872, 3.558",\
"0.7584, 0.7826, 0.8546, 0.983, 1.184, 1.468, 1.841, 2.312, 2.887, 3.572",\
"0.7589, 0.7834, 0.8548, 0.9835, 1.185, 1.468, 1.842, 2.312, 2.887, 3.574",\
"0.7441, 0.7683, 0.84, 0.9684, 1.17, 1.453, 1.826, 2.297, 2.872, 3.557",\
"0.7119, 0.7365, 0.8083, 0.9367, 1.138, 1.421, 1.795, 2.265, 2.84, 3.525");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.001, 0.006226, 0.02457, 0.0596, 0.1142, 0.1908, 0.2915, 0.4185, 0.5734, 0.7581");
values("0.07642, 0.1004, 0.1655, 0.2794, 0.4585, 0.7241, 1.084, 1.539, 2.102, 2.768",\
"0.07652, 0.1, 0.1657, 0.2795, 0.4585, 0.7241, 1.082, 1.539, 2.102, 2.769",\
"0.07642, 0.1004, 0.1655, 0.2793, 0.4584, 0.7234, 1.084, 1.539, 2.101, 2.768",\
"0.07632, 0.1, 0.1654, 0.2792, 0.4588, 0.7234, 1.082, 1.54, 2.1, 2.77",\
"0.0764, 0.1, 0.1654, 0.279, 0.4584, 0.7234, 1.083, 1.54, 2.102, 2.77",\
"0.0766, 0.1002, 0.1656, 0.2788, 0.458, 0.7246, 1.083, 1.542, 2.102, 2.768",\
"0.0764, 0.1002, 0.1654, 0.2792, 0.459, 0.723, 1.083, 1.539, 2.099, 2.765",\
"0.0764, 0.1, 0.1656, 0.2788, 0.4582, 0.7232, 1.082, 1.538, 2.097, 2.767",\
"0.0766, 0.0998, 0.1652, 0.279, 0.4584, 0.7234, 1.083, 1.541, 2.098, 2.763",\
"0.0762, 0.1002, 0.1652, 0.2792, 0.4584, 0.7236, 1.083, 1.539, 2.1, 2.764");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
index_2("0.001, 0.006226, 0.02457, 0.0596, 0.1142, 0.1908, 0.2915, 0.4185, 0.5734, 0.7581");
values("0.07796, 0.1094, 0.2213, 0.4508, 0.8195, 1.342, 2.025, 2.89, 3.937, 5.193",\
"0.07814, 0.1096, 0.2213, 0.4505, 0.8196, 1.342, 2.025, 2.889, 3.938, 5.193",\
"0.07814, 0.1096, 0.2213, 0.4509, 0.8198, 1.341, 2.023, 2.889, 3.937, 5.193",\
"0.07812, 0.1095, 0.2215, 0.4506, 0.8208, 1.342, 2.023, 2.89, 3.938, 5.192",\
"0.0778, 0.1094, 0.2218, 0.4508, 0.8198, 1.342, 2.027, 2.888, 3.938, 5.191",\
"0.078, 0.1094, 0.2222, 0.4512, 0.8202, 1.341, 2.027, 2.888, 3.938, 5.19",\
"0.0782, 0.1094, 0.2218, 0.451, 0.8204, 1.339, 2.028, 2.886, 3.937, 5.19",\
"0.0786, 0.11, 0.222, 0.4506, 0.821, 1.342, 2.024, 2.887, 3.943, 5.192",\
"0.0788, 0.1102, 0.222, 0.451, 0.8214, 1.341, 2.028, 2.885, 3.938, 5.194",\
"0.079, 0.1102, 0.2224, 0.451, 0.8208, 1.339, 2.025, 2.886, 3.939, 5.193");
}
}
}
}