blob: 25115741ebffa50d11a7f89423000f1fae5983eb [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_1) {
area : 65.856000 ;
ff(IQ1,IQN1) {
clocked_on : "(!CLKN)" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&!D" ;
value : "0.00123093" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.0012195" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.00113256" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.001143135" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.00123093" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.0035 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 7 ;
min_period : 1.966 ;
min_pulse_width_high : 0.794 ;
min_pulse_width_low : 0.806 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.2564, 0.2558, 0.2568, 0.2651, 0.2848, 0.3166, 0.3614, 0.4201, \
0.4931, 0.5808");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.165, 0.1647, 0.1653, 0.1721, 0.1884, 0.2154, 0.2544, 0.3059, \
0.3706, 0.4491");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.2564, 0.2558, 0.2567, 0.265, 0.2848, 0.3165, 0.3614, 0.42, 0.493, \
0.5808");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.1652, 0.1649, 0.1653, 0.1723, 0.1885, 0.2155, 0.2546, 0.3061, \
0.3708, 0.4491");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.678");
}
rise_constraint(scalar) {
values("0.794");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.806");
}
rise_constraint(scalar) {
values("0.649");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("1.591");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("1.966");
}
}
}
pin(D) {
capacitance : 0.00237 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 7 ;
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.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.04765, 0.04684, 0.04922, 0.05742, 0.07242, 0.09475, 0.125, 0.1636, \
0.2111, 0.268");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.005157, 0.004872, 0.006166, 0.01203, 0.02383, 0.04225, 0.06769, \
0.1005, 0.1412, 0.1901");
}
}
internal_power() {
when : "CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.1667, 0.1663, 0.1677, 0.1743, 0.1885, 0.2115, 0.2437, 0.2856, \
0.3376, 0.4");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.107, 0.1067, 0.1079, 0.1133, 0.1244, 0.1423, 0.1679, 0.2016, \
0.2441, 0.2957");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.052, 0.067, 0.114, 0.204, 0.311, 0.439, 0.591, 0.749, 0.93, 1.14",\
"0.039, 0.053, 0.096, 0.197, 0.3, 0.428, 0.577, 0.735, 0.916, 1.128",\
"-0.015, 0.001, 0.042, 0.138, 0.248, 0.374, 0.519, 0.675, 0.861, 1.067",\
"-0.125, -0.105, -0.058, 0.026, 0.137, 0.262, 0.408, 0.561, 0.743, 0.951",\
"-0.273, -0.254, -0.211, -0.119, -0.017, 0.105, 0.248, 0.399, 0.58, 0.784",\
"-0.448, -0.437, -0.395, -0.304, -0.199, -0.08, 0.051, 0.205, 0.372, 0.571",\
"-0.669, -0.656, -0.609, -0.524, -0.419, -0.311, -0.179, -0.027, 0.143, 0.33",\
"-0.914, -0.903, -0.859, -0.77, -0.679, -0.571, -0.438, -0.3, -0.136, 0.053",\
"-1.198, -1.187, -1.146, -1.059, -0.968, -0.87, -0.743, -0.611, -0.446, -0.266",\
"-1.515, -1.506, -1.462, -1.381, -1.301, -1.2, -1.089, -0.953, -0.801, -0.618");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.252, 0.266, 0.319, 0.418, 0.563, 0.728, 0.913, 1.128, 1.356, 1.618",\
"0.244, 0.256, 0.31, 0.406, 0.549, 0.723, 0.904, 1.119, 1.352, 1.609",\
"0.22, 0.226, 0.278, 0.377, 0.52, 0.688, 0.879, 1.09, 1.323, 1.577",\
"0.185, 0.197, 0.251, 0.344, 0.491, 0.657, 0.846, 1.056, 1.288, 1.547",\
"0.176, 0.191, 0.244, 0.342, 0.482, 0.65, 0.843, 1.045, 1.279, 1.534",\
"0.197, 0.214, 0.255, 0.353, 0.498, 0.669, 0.849, 1.062, 1.291, 1.545",\
"0.248, 0.261, 0.306, 0.401, 0.544, 0.709, 0.895, 1.11, 1.343, 1.591",\
"0.332, 0.348, 0.391, 0.489, 0.624, 0.792, 0.979, 1.181, 1.412, 1.664",\
"0.463, 0.482, 0.526, 0.613, 0.748, 0.909, 1.087, 1.296, 1.527, 1.78",\
"0.645, 0.66, 0.701, 0.792, 0.915, 1.066, 1.246, 1.448, 1.672, 1.923");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.527, 0.516, 0.465, 0.367, 0.246, 0.101, -0.046, -0.223, -0.414, -0.627",\
"0.538, 0.527, 0.472, 0.373, 0.257, 0.115, -0.038, -0.204, -0.401, -0.612",\
"0.594, 0.583, 0.528, 0.431, 0.31, 0.17, 0.014, -0.157, -0.344, -0.556",\
"0.703, 0.691, 0.636, 0.546, 0.421, 0.28, 0.128, -0.044, -0.233, -0.446",\
"0.873, 0.863, 0.813, 0.712, 0.589, 0.447, 0.299, 0.125, -0.067, -0.276",\
"1.104, 1.088, 1.035, 0.937, 0.81, 0.669, 0.51, 0.335, 0.144, -0.068",\
"1.368, 1.352, 1.299, 1.201, 1.079, 0.927, 0.769, 0.595, 0.399, 0.19",\
"1.683, 1.671, 1.612, 1.513, 1.386, 1.235, 1.078, 0.9, 0.705, 0.489",\
"2.049, 2.038, 1.982, 1.877, 1.744, 1.592, 1.43, 1.246, 1.05, 0.841",\
"2.455, 2.452, 2.386, 2.29, 2.15, 1.99, 1.819, 1.638, 1.442, 1.238");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.269, 0.257, 0.21, 0.113, -0.026, -0.188, -0.382, -0.603, -0.845, -1.106",\
"0.279, 0.271, 0.215, 0.122, -0.019, -0.181, -0.372, -0.588, -0.837, -1.093",\
"0.319, 0.304, 0.25, 0.152, 0.016, -0.155, -0.339, -0.562, -0.799, -1.066",\
"0.37, 0.356, 0.307, 0.201, 0.067, -0.103, -0.293, -0.512, -0.75, -1.014",\
"0.418, 0.405, 0.351, 0.252, 0.112, -0.061, -0.249, -0.466, -0.704, -0.969",\
"0.449, 0.437, 0.385, 0.286, 0.142, -0.026, -0.222, -0.433, -0.681, -0.941",\
"0.465, 0.449, 0.392, 0.293, 0.154, -0.021, -0.213, -0.43, -0.675, -0.937",\
"0.447, 0.44, 0.378, 0.275, 0.131, -0.037, -0.227, -0.45, -0.694, -0.959",\
"0.4, 0.388, 0.331, 0.233, 0.083, -0.083, -0.274, -0.5, -0.738, -1.007",\
"0.321, 0.303, 0.249, 0.153, 0.003, -0.17, -0.359, -0.58, -0.825, -1.086");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.228 ;
max_transition : 7 ;
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.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.001, 0.002567, 0.008068, 0.01857, 0.03494, 0.0579, 0.08812, 0.1262, 0.1727, 0.228");
values("0.2969, 0.2952, 0.2924, 0.2907, 0.2896, 0.2888, 0.2884, 0.2881, 0.2879, 0.2878",\
"0.297, 0.2952, 0.2926, 0.2907, 0.2896, 0.2889, 0.2885, 0.2882, 0.2881, 0.2878",\
"0.2968, 0.2951, 0.2923, 0.2906, 0.2895, 0.2888, 0.2883, 0.288, 0.2878, 0.2877",\
"0.2972, 0.2956, 0.2927, 0.291, 0.2899, 0.2892, 0.2888, 0.2885, 0.2883, 0.2881",\
"0.2992, 0.2975, 0.2949, 0.2929, 0.2919, 0.2912, 0.2908, 0.2905, 0.2903, 0.2902",\
"0.3024, 0.3007, 0.2978, 0.296, 0.295, 0.2942, 0.2938, 0.2934, 0.2933, 0.2931",\
"0.3069, 0.3052, 0.3024, 0.3005, 0.2995, 0.2988, 0.2984, 0.298, 0.2979, 0.2977",\
"0.3126, 0.3109, 0.3079, 0.3061, 0.3051, 0.3043, 0.304, 0.3036, 0.3034, 0.3033",\
"0.3194, 0.3176, 0.3147, 0.3127, 0.3117, 0.311, 0.3105, 0.3103, 0.31, 0.3098",\
"0.3271, 0.3255, 0.3224, 0.3204, 0.3193, 0.3185, 0.3181, 0.3177, 0.3176, 0.3174");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.001, 0.002567, 0.008068, 0.01857, 0.03494, 0.0579, 0.08812, 0.1262, 0.1727, 0.228");
values("0.4048, 0.4031, 0.3995, 0.3975, 0.3963, 0.3961, 0.3966, 0.3972, 0.3979, 0.4001",\
"0.4047, 0.4031, 0.3997, 0.3975, 0.3963, 0.3961, 0.3966, 0.3973, 0.3979, 0.3998",\
"0.4048, 0.4032, 0.3995, 0.3977, 0.3964, 0.3963, 0.3967, 0.3974, 0.3981, 0.4005",\
"0.4057, 0.404, 0.4007, 0.3985, 0.3972, 0.3971, 0.3978, 0.3984, 0.3988, 0.4009",\
"0.4082, 0.4065, 0.4032, 0.401, 0.3997, 0.3996, 0.4001, 0.4007, 0.4013, 0.404",\
"0.4113, 0.41, 0.4063, 0.4043, 0.403, 0.4029, 0.4036, 0.4045, 0.405, 0.4077",\
"0.4157, 0.414, 0.4108, 0.4089, 0.4075, 0.4074, 0.4079, 0.4086, 0.4092, 0.4127",\
"0.4207, 0.419, 0.4157, 0.4135, 0.4126, 0.4122, 0.4128, 0.413, 0.4139, 0.4189",\
"0.4254, 0.424, 0.4207, 0.4186, 0.4173, 0.4182, 0.4183, 0.4188, 0.4202, 0.4266",\
"0.432, 0.4305, 0.4271, 0.4248, 0.4233, 0.4228, 0.4243, 0.4258, 0.4271, 0.439");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.001, 0.002567, 0.008068, 0.01857, 0.03494, 0.0579, 0.08812, 0.1262, 0.1727, 0.228");
values("1.005, 1.032, 1.111, 1.235, 1.404, 1.628, 1.92, 2.287, 2.735, 3.27",\
"1.018, 1.045, 1.123, 1.247, 1.416, 1.641, 1.932, 2.3, 2.748, 3.282",\
"1.068, 1.095, 1.174, 1.298, 1.466, 1.691, 1.983, 2.35, 2.798, 3.333",\
"1.171, 1.198, 1.277, 1.401, 1.569, 1.794, 2.086, 2.453, 2.901, 3.435",\
"1.321, 1.348, 1.426, 1.551, 1.719, 1.944, 2.236, 2.603, 3.051, 3.586",\
"1.497, 1.525, 1.603, 1.727, 1.896, 2.12, 2.412, 2.779, 3.228, 3.762",\
"1.699, 1.726, 1.805, 1.929, 2.098, 2.322, 2.614, 2.981, 3.429, 3.963",\
"1.923, 1.951, 2.029, 2.153, 2.322, 2.547, 2.839, 3.205, 3.654, 4.188",\
"2.169, 2.196, 2.275, 2.399, 2.568, 2.792, 3.084, 3.451, 3.899, 4.433",\
"2.436, 2.463, 2.542, 2.666, 2.836, 3.06, 3.352, 3.719, 4.167, 4.701");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.001, 0.002567, 0.008068, 0.01857, 0.03494, 0.0579, 0.08812, 0.1262, 0.1727, 0.228");
values("1.275, 1.307, 1.407, 1.586, 1.861, 2.248, 2.757, 3.399, 4.182, 5.117",\
"1.288, 1.32, 1.42, 1.599, 1.874, 2.26, 2.77, 3.411, 4.194, 5.13",\
"1.338, 1.37, 1.47, 1.649, 1.924, 2.31, 2.82, 3.462, 4.245, 5.181",\
"1.443, 1.475, 1.575, 1.754, 2.029, 2.415, 2.925, 3.567, 4.349, 5.285",\
"1.598, 1.63, 1.73, 1.909, 2.184, 2.57, 3.079, 3.721, 4.504, 5.44",\
"1.783, 1.815, 1.915, 2.094, 2.369, 2.755, 3.264, 3.906, 4.689, 5.624",\
"1.995, 2.027, 2.127, 2.306, 2.581, 2.968, 3.477, 4.118, 4.902, 5.837",\
"2.233, 2.264, 2.365, 2.544, 2.818, 3.205, 3.714, 4.356, 5.139, 6.074",\
"2.491, 2.523, 2.623, 2.803, 3.078, 3.464, 3.974, 4.615, 5.399, 6.332",\
"2.773, 2.805, 2.905, 3.084, 3.359, 3.745, 4.254, 4.896, 5.679, 6.612");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.001, 0.002567, 0.008068, 0.01857, 0.03494, 0.0579, 0.08812, 0.1262, 0.1727, 0.228");
values("0.1338, 0.1616, 0.2508, 0.4066, 0.6488, 1.006, 1.492, 2.112, 2.87, 3.775",\
"0.1336, 0.1618, 0.2506, 0.407, 0.649, 1.006, 1.492, 2.109, 2.87, 3.77",\
"0.1334, 0.1616, 0.2508, 0.4068, 0.6486, 1.006, 1.492, 2.111, 2.87, 3.775",\
"0.134, 0.162, 0.2508, 0.407, 0.6482, 1.006, 1.491, 2.109, 2.869, 3.772",\
"0.134, 0.1616, 0.2508, 0.407, 0.6482, 1.006, 1.492, 2.111, 2.87, 3.773",\
"0.1336, 0.1616, 0.2508, 0.4072, 0.6486, 1.006, 1.492, 2.111, 2.87, 3.774",\
"0.134, 0.1622, 0.2508, 0.4074, 0.6474, 1.004, 1.492, 2.109, 2.869, 3.773",\
"0.1342, 0.1618, 0.251, 0.4074, 0.648, 1.004, 1.49, 2.11, 2.867, 3.772",\
"0.1346, 0.1626, 0.2514, 0.4076, 0.649, 1.005, 1.491, 2.108, 2.865, 3.768",\
"0.1352, 0.1632, 0.252, 0.4078, 0.6494, 1.005, 1.49, 2.108, 2.866, 3.767");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.001, 0.002567, 0.008068, 0.01857, 0.03494, 0.0579, 0.08812, 0.1262, 0.1727, 0.228");
values("0.1638, 0.2074, 0.3602, 0.6644, 1.153, 1.849, 2.761, 3.92, 5.334, 7.005",\
"0.1644, 0.2074, 0.36, 0.6642, 1.153, 1.849, 2.762, 3.92, 5.333, 7.005",\
"0.1638, 0.2074, 0.36, 0.6644, 1.154, 1.848, 2.763, 3.921, 5.334, 7.005",\
"0.1638, 0.2074, 0.36, 0.6644, 1.152, 1.848, 2.763, 3.917, 5.332, 7.005",\
"0.1638, 0.2072, 0.36, 0.6644, 1.153, 1.849, 2.761, 3.92, 5.334, 7.005",\
"0.163, 0.2068, 0.3602, 0.6642, 1.152, 1.846, 2.765, 3.922, 5.324, 7.004",\
"0.1632, 0.2064, 0.3596, 0.6642, 1.154, 1.847, 2.766, 3.92, 5.334, 7.004",\
"0.1634, 0.2066, 0.3598, 0.6644, 1.153, 1.846, 2.765, 3.915, 5.324, 7.005",\
"0.1626, 0.2068, 0.3596, 0.6644, 1.154, 1.849, 2.762, 3.92, 5.333, 7.001",\
"0.1628, 0.2066, 0.3594, 0.6644, 1.154, 1.848, 2.762, 3.916, 5.324, 7.012");
}
}
}
}