blob: 31eca6c08cbc8b78db66af2d6b0e44f21b3b61d5 [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.0001926036" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.0002162376" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.0002685996" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.0003295836" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.0003295836" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.004932 ;
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.671 ;
min_pulse_width_high : 0.282 ;
min_pulse_width_low : 0.335 ;
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.202, 0.2052, 0.2204, 0.249, 0.2932, 0.3538, 0.4314, \
0.5272, 0.6416");
}
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.1286, 0.1281, 0.1305, 0.1428, 0.1667, 0.2051, 0.2583, 0.3269, \
0.4118, 0.5134");
}
}
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.2089, 0.2083, 0.2115, 0.2266, 0.2552, 0.2992, 0.3597, 0.4371, \
0.5326, 0.6472");
}
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.1283, 0.1278, 0.1303, 0.1425, 0.1667, 0.205, 0.2583, 0.327, \
0.4118, 0.5133");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.335");
}
rise_constraint(scalar) {
values("0.229");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.281");
}
rise_constraint(scalar) {
values("0.282");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("0.671");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("0.605");
}
}
}
pin(D) {
capacitance : 0.003865 ;
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 : "!CLK" ;
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.118, 0.1171, 0.1181, 0.1267, 0.1434, 0.1696, 0.2052, 0.2508, \
0.3067, 0.3734");
}
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.07439, 0.07435, 0.07595, 0.08278, 0.09695, 0.1191, 0.15, 0.1897, \
0.2384, 0.2968");
}
}
internal_power() {
when : "CLK" ;
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.01219, 0.01219, 0.0122, 0.0122, 0.0122, 0.01221, 0.01222, 0.01222, \
0.01222, 0.01222");
}
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.01229, -0.01228, -0.01228, -0.01227, -0.01234, -0.01241, -0.01243, \
-0.01245, -0.01245, -0.01248");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
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.092, 0.102, 0.127, 0.154, 0.178, 0.191, 0.201, 0.194, 0.176, 0.148",\
"0.087, 0.096, 0.117, 0.147, 0.173, 0.188, 0.202, 0.195, 0.176, 0.142",\
"0.071, 0.077, 0.097, 0.13, 0.152, 0.168, 0.178, 0.171, 0.15, 0.123",\
"0.04, 0.043, 0.068, 0.102, 0.123, 0.133, 0.143, 0.138, 0.121, 0.083",\
"0.002, 0.012, 0.023, 0.059, 0.083, 0.097, 0.106, 0.099, 0.076, 0.043",\
"-0.047, -0.04, -0.024, 0.014, 0.037, 0.046, 0.058, 0.051, 0.028, 0.001",\
"-0.098, -0.088, -0.079, -0.039, -0.02, -0.008, 0.009, -0.008, -0.028, -0.052",\
"-0.169, -0.156, -0.151, -0.102, -0.084, -0.069, -0.059, -0.072, -0.091, -0.117",\
"-0.244, -0.236, -0.229, -0.176, -0.162, -0.155, -0.134, -0.15, -0.163, -0.198",\
"-0.335, -0.324, -0.327, -0.272, -0.25, -0.245, -0.217, -0.233, -0.252, -0.282");
}
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.006, 0.013, 0.028, 0.045, 0.061, 0.053, 0.042, 0.016, -0.019, -0.066",\
"0.006, 0.007, 0.029, 0.04, 0.053, 0.046, 0.042, 0.014, -0.021, -0.068",\
"-0.012, -0.003, 0.011, 0.027, 0.038, 0.038, 0.029, 0.003, -0.026, -0.075",\
"-0.021, -0.02, 0.002, 0.019, 0.026, 0.027, 0.012, -0.005, -0.046, -0.093",\
"-0.034, -0.025, -0.013, 0.005, 0.015, 0.011, -0.005, -0.027, -0.064, -0.113",\
"-0.034, -0.027, -0.01, 0.006, 0.008, -0, -0.014, -0.039, -0.083, -0.135",\
"-0.014, -0.013, 0.001, 0.016, 0.017, 0.007, -0.008, -0.044, -0.09, -0.149",\
"0.016, 0.018, 0.036, 0.042, 0.043, 0.029, 0.002, -0.03, -0.077, -0.142",\
"0.07, 0.072, 0.087, 0.093, 0.088, 0.071, 0.04, 0.006, -0.049, -0.114",\
"0.137, 0.134, 0.153, 0.158, 0.15, 0.127, 0.097, 0.05, 0.001, -0.075");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
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.115, 0.106, 0.088, 0.046, 0.02, -0.001, -0.005, -0.003, 0.019, 0.044",\
"0.12, 0.11, 0.086, 0.056, 0.031, 0.007, -0.003, 0.005, 0.02, 0.051",\
"0.144, 0.135, 0.114, 0.083, 0.054, 0.033, 0.021, 0.03, 0.043, 0.08",\
"0.202, 0.198, 0.174, 0.139, 0.114, 0.096, 0.081, 0.085, 0.102, 0.135",\
"0.286, 0.285, 0.26, 0.221, 0.197, 0.182, 0.166, 0.169, 0.183, 0.219",\
"0.395, 0.389, 0.363, 0.329, 0.31, 0.281, 0.267, 0.271, 0.287, 0.317",\
"0.526, 0.514, 0.497, 0.459, 0.434, 0.405, 0.396, 0.394, 0.413, 0.44",\
"0.666, 0.653, 0.633, 0.597, 0.574, 0.552, 0.534, 0.535, 0.55, 0.575",\
"0.829, 0.817, 0.792, 0.76, 0.732, 0.707, 0.692, 0.694, 0.706, 0.732",\
"1.004, 0.998, 0.971, 0.937, 0.913, 0.888, 0.873, 0.873, 0.879, 0.908");
}
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.166, 0.157, 0.129, 0.106, 0.092, 0.084, 0.098, 0.112, 0.154, 0.203",\
"0.171, 0.165, 0.139, 0.113, 0.096, 0.088, 0.091, 0.121, 0.157, 0.206",\
"0.194, 0.188, 0.152, 0.134, 0.115, 0.106, 0.11, 0.137, 0.175, 0.221",\
"0.214, 0.21, 0.181, 0.157, 0.139, 0.136, 0.136, 0.163, 0.195, 0.246",\
"0.232, 0.229, 0.198, 0.178, 0.159, 0.153, 0.154, 0.185, 0.218, 0.269",\
"0.244, 0.235, 0.218, 0.19, 0.175, 0.164, 0.173, 0.199, 0.231, 0.29",\
"0.247, 0.24, 0.218, 0.192, 0.175, 0.167, 0.181, 0.204, 0.239, 0.298",\
"0.233, 0.227, 0.198, 0.174, 0.163, 0.158, 0.163, 0.198, 0.232, 0.292",\
"0.21, 0.202, 0.176, 0.148, 0.136, 0.127, 0.14, 0.171, 0.211, 0.273",\
"0.159, 0.153, 0.123, 0.101, 0.087, 0.082, 0.105, 0.132, 0.176, 0.239");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.9075 ;
max_transition : 4.4 ;
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.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
index_2("0.001, 0.007257, 0.02922, 0.07116, 0.1365, 0.2282, 0.3488, 0.5008, 0.6863, 0.9075");
values("0.3023, 0.2948, 0.2867, 0.2831, 0.2814, 0.2803, 0.2797, 0.2794, 0.2793, 0.2791",\
"0.3023, 0.2949, 0.2867, 0.2831, 0.2815, 0.2804, 0.2798, 0.2795, 0.2793, 0.2791",\
"0.3027, 0.2952, 0.287, 0.2836, 0.2818, 0.2809, 0.28, 0.2799, 0.2797, 0.2795",\
"0.3039, 0.2964, 0.2883, 0.2847, 0.2829, 0.2819, 0.2813, 0.281, 0.2808, 0.2807",\
"0.3059, 0.2986, 0.2903, 0.2867, 0.285, 0.284, 0.2834, 0.2831, 0.2829, 0.2827",\
"0.308, 0.3005, 0.2923, 0.2886, 0.287, 0.2859, 0.2853, 0.285, 0.2848, 0.2847",\
"0.3106, 0.3032, 0.2951, 0.2914, 0.2896, 0.2889, 0.2879, 0.2875, 0.2874, 0.2874",\
"0.3135, 0.306, 0.2979, 0.2944, 0.2923, 0.2917, 0.2909, 0.2905, 0.2903, 0.2901",\
"0.3165, 0.3092, 0.3009, 0.2969, 0.2957, 0.2949, 0.294, 0.2937, 0.2935, 0.2933",\
"0.32, 0.3125, 0.3043, 0.3006, 0.2989, 0.2982, 0.2972, 0.297, 0.2967, 0.2966");
}
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.007257, 0.02922, 0.07116, 0.1365, 0.2282, 0.3488, 0.5008, 0.6863, 0.9075");
values("0.2763, 0.2719, 0.2659, 0.2641, 0.2641, 0.2649, 0.2683, 0.2696, 0.2727, 0.2747",\
"0.2763, 0.2716, 0.2658, 0.2635, 0.2641, 0.2649, 0.2681, 0.2693, 0.2725, 0.2748",\
"0.2761, 0.2718, 0.2657, 0.2634, 0.264, 0.2651, 0.2674, 0.2694, 0.2703, 0.2749",\
"0.2772, 0.2727, 0.2668, 0.2645, 0.2651, 0.2659, 0.2681, 0.2712, 0.2736, 0.2756",\
"0.2789, 0.274, 0.2687, 0.2664, 0.2668, 0.2675, 0.2702, 0.2718, 0.2739, 0.278",\
"0.2812, 0.2765, 0.27, 0.2693, 0.2693, 0.2691, 0.2719, 0.2742, 0.2762, 0.2808",\
"0.285, 0.2801, 0.2746, 0.2714, 0.2731, 0.2761, 0.2751, 0.2778, 0.2798, 0.2818",\
"0.2896, 0.2849, 0.2793, 0.2765, 0.2756, 0.2783, 0.282, 0.2847, 0.2846, 0.2877",\
"0.2953, 0.2905, 0.2844, 0.2819, 0.2818, 0.2822, 0.2861, 0.291, 0.2941, 0.2911",\
"0.3014, 0.2967, 0.2912, 0.2885, 0.2883, 0.288, 0.2908, 0.2949, 0.302, 0.3019");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_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.007257, 0.02922, 0.07116, 0.1365, 0.2282, 0.3488, 0.5008, 0.6863, 0.9075");
values("0.4531, 0.4727, 0.5221, 0.5954, 0.6985, 0.8402, 1.026, 1.261, 1.547, 1.888",\
"0.4592, 0.4788, 0.5282, 0.6016, 0.7047, 0.8463, 1.032, 1.267, 1.553, 1.894",\
"0.4827, 0.5024, 0.5517, 0.6251, 0.7282, 0.8698, 1.056, 1.29, 1.577, 1.918",\
"0.5178, 0.5374, 0.5867, 0.6601, 0.7632, 0.9048, 1.091, 1.325, 1.611, 1.953",\
"0.5474, 0.567, 0.6163, 0.6897, 0.7928, 0.9344, 1.12, 1.355, 1.641, 1.982",\
"0.5703, 0.5899, 0.6393, 0.7126, 0.8158, 0.9574, 1.143, 1.378, 1.664, 2.006",\
"0.5832, 0.6028, 0.6522, 0.7256, 0.8287, 0.9703, 1.156, 1.391, 1.677, 2.018",\
"0.5842, 0.6039, 0.6533, 0.7267, 0.8298, 0.9713, 1.157, 1.392, 1.678, 2.019",\
"0.5722, 0.5918, 0.6411, 0.7145, 0.8176, 0.9592, 1.146, 1.38, 1.666, 2.007",\
"0.5454, 0.5651, 0.6143, 0.6878, 0.7909, 0.9325, 1.119, 1.353, 1.639, 1.98");
}
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.007257, 0.02922, 0.07116, 0.1365, 0.2282, 0.3488, 0.5008, 0.6863, 0.9075");
values("0.421, 0.4418, 0.5041, 0.6197, 0.801, 1.055, 1.39, 1.812, 2.327, 2.942",\
"0.4271, 0.4479, 0.5102, 0.6258, 0.8071, 1.062, 1.396, 1.818, 2.333, 2.948",\
"0.45, 0.4708, 0.5331, 0.6487, 0.83, 1.084, 1.419, 1.841, 2.357, 2.971",\
"0.4838, 0.5046, 0.5669, 0.6825, 0.8637, 1.118, 1.453, 1.875, 2.39, 3.005",\
"0.5125, 0.5332, 0.5955, 0.7112, 0.8924, 1.147, 1.482, 1.903, 2.419, 3.033",\
"0.5344, 0.5552, 0.6175, 0.7331, 0.9142, 1.169, 1.504, 1.926, 2.441, 3.055",\
"0.5477, 0.5685, 0.6308, 0.7464, 0.9275, 1.182, 1.517, 1.938, 2.455, 3.068",\
"0.5496, 0.5704, 0.6327, 0.7482, 0.9293, 1.184, 1.519, 1.94, 2.455, 3.069",\
"0.5386, 0.5595, 0.6217, 0.7373, 0.9184, 1.173, 1.508, 1.929, 2.444, 3.057",\
"0.5141, 0.5349, 0.5974, 0.7126, 0.894, 1.148, 1.483, 1.905, 2.419, 3.033");
}
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.007257, 0.02922, 0.07116, 0.1365, 0.2282, 0.3488, 0.5008, 0.6863, 0.9075");
values("0.0485, 0.0674, 0.1208, 0.2157, 0.3723, 0.6037, 0.9117, 1.3, 1.777, 2.34",\
"0.04852, 0.06736, 0.1209, 0.2159, 0.3722, 0.6039, 0.9118, 1.3, 1.777, 2.34",\
"0.04844, 0.06742, 0.1208, 0.2155, 0.3729, 0.6042, 0.9106, 1.301, 1.775, 2.343",\
"0.04856, 0.06732, 0.121, 0.2155, 0.3727, 0.6038, 0.9118, 1.3, 1.776, 2.343",\
"0.0485, 0.0674, 0.1209, 0.2158, 0.3726, 0.6032, 0.9116, 1.3, 1.777, 2.34",\
"0.0486, 0.0674, 0.1208, 0.2154, 0.3726, 0.6028, 0.912, 1.301, 1.776, 2.344",\
"0.0486, 0.0672, 0.1208, 0.2152, 0.3724, 0.6028, 0.91, 1.298, 1.774, 2.341",\
"0.0486, 0.0674, 0.121, 0.2156, 0.3722, 0.6032, 0.911, 1.298, 1.772, 2.337",\
"0.0486, 0.0674, 0.1206, 0.2152, 0.3724, 0.6032, 0.9124, 1.299, 1.773, 2.336",\
"0.0484, 0.0674, 0.1208, 0.2152, 0.3722, 0.6036, 0.9098, 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.007257, 0.02922, 0.07116, 0.1365, 0.2282, 0.3488, 0.5008, 0.6863, 0.9075");
values("0.04782, 0.07498, 0.1721, 0.3713, 0.6855, 1.127, 1.709, 2.441, 3.334, 4.401",\
"0.04782, 0.07514, 0.1722, 0.3713, 0.6855, 1.127, 1.709, 2.441, 3.334, 4.4",\
"0.04772, 0.0752, 0.1722, 0.3713, 0.6855, 1.127, 1.709, 2.441, 3.341, 4.4",\
"0.0478, 0.07514, 0.1723, 0.3714, 0.6855, 1.127, 1.708, 2.441, 3.334, 4.409",\
"0.0475, 0.07496, 0.1725, 0.3714, 0.6856, 1.127, 1.711, 2.44, 3.335, 4.407",\
"0.0476, 0.075, 0.172, 0.372, 0.6854, 1.127, 1.707, 2.441, 3.337, 4.407",\
"0.048, 0.0752, 0.1724, 0.3718, 0.686, 1.127, 1.71, 2.439, 3.336, 4.403",\
"0.0478, 0.0752, 0.1724, 0.3714, 0.6866, 1.127, 1.708, 2.441, 3.333, 4.397",\
"0.0478, 0.0752, 0.1722, 0.3714, 0.6868, 1.127, 1.707, 2.439, 3.333, 4.401",\
"0.048, 0.0756, 0.1722, 0.3716, 0.6856, 1.127, 1.707, 2.441, 3.334, 4.396");
}
}
}
}