blob: abb03b51af45c66ec4524eff5906cf63fba539b6 [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__dffq_4) {
area : 79.027200 ;
ff(IQ1,IQN1) {
clocked_on : "CLK" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&!D" ;
value : "0.000195723" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.0002152722" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.0002544597" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.0002707188" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.0002707188" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.003349 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 8.6 ;
min_period : 1.75 ;
min_pulse_width_high : 0.818 ;
min_pulse_width_low : 0.879 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.1219, 0.1215, 0.1222, 0.128, 0.1399, 0.1587, 0.185, 0.2193, \
0.2619, 0.3132");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.09121, 0.09088, 0.09139, 0.096, 0.1057, 0.1218, 0.1447, 0.1748, \
0.2125, 0.2577");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.1238, 0.1234, 0.1242, 0.1299, 0.1417, 0.1605, 0.1868, 0.221, \
0.2636, 0.3148");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.09113, 0.09088, 0.09133, 0.09595, 0.1057, 0.1218, 0.1448, 0.1751, \
0.2126, 0.2579");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.879");
}
rise_constraint(scalar) {
values("0.508");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.61");
}
rise_constraint(scalar) {
values("0.818");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("1.75");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("1.674");
}
}
}
pin(D) {
capacitance : 0.002363 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 8.6 ;
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.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.06688, 0.0663, 0.06598, 0.06818, 0.07383, 0.08249, 0.09446, \
0.1101, 0.1297, 0.1532");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.04624, 0.04638, 0.04687, 0.04891, 0.05309, 0.05993, 0.06959, \
0.08237, 0.09829, 0.1176");
}
}
internal_power() {
when : "CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.004374, 0.004375, 0.004375, 0.00437, 0.004367, 0.004374, 0.004374, \
0.004368, 0.004362, 0.004357");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("-0.002704, -0.002717, -0.002716, -0.002737, -0.002763, -0.002775, \
-0.002786, -0.002798, -0.002805, -0.00282");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.092, 0.11, 0.157, 0.226, 0.278, 0.313, 0.327, 0.325, 0.298, 0.236",\
"0.087, 0.103, 0.148, 0.218, 0.27, 0.306, 0.321, 0.314, 0.289, 0.23",\
"0.042, 0.054, 0.103, 0.167, 0.226, 0.264, 0.275, 0.274, 0.247, 0.187",\
"-0.08, -0.064, -0.016, 0.054, 0.111, 0.147, 0.166, 0.162, 0.128, 0.076",\
"-0.248, -0.232, -0.19, -0.121, -0.06, -0.022, -0.007, -0.01, -0.031, -0.097",\
"-0.468, -0.448, -0.404, -0.337, -0.284, -0.237, -0.227, -0.23, -0.258, -0.323",\
"-0.732, -0.707, -0.673, -0.605, -0.553, -0.507, -0.501, -0.501, -0.535, -0.595",\
"-1.051, -1.025, -0.988, -0.93, -0.871, -0.831, -0.817, -0.83, -0.854, -0.916",\
"-1.42, -1.398, -1.363, -1.308, -1.247, -1.209, -1.197, -1.212, -1.23, -1.298",\
"-1.855, -1.828, -1.796, -1.742, -1.684, -1.642, -1.631, -1.644, -1.674, -1.744");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.057, 0.069, 0.114, 0.162, 0.196, 0.209, 0.209, 0.195, 0.154, 0.096",\
"0.053, 0.063, 0.106, 0.16, 0.193, 0.206, 0.21, 0.195, 0.153, 0.093",\
"0.036, 0.048, 0.095, 0.138, 0.174, 0.194, 0.203, 0.187, 0.147, 0.091",\
"0.038, 0.052, 0.089, 0.138, 0.174, 0.191, 0.196, 0.176, 0.137, 0.081",\
"0.057, 0.069, 0.114, 0.153, 0.189, 0.206, 0.205, 0.183, 0.14, 0.082",\
"0.119, 0.13, 0.17, 0.212, 0.242, 0.248, 0.244, 0.225, 0.171, 0.11",\
"0.238, 0.244, 0.287, 0.314, 0.339, 0.342, 0.331, 0.3, 0.245, 0.176",\
"0.407, 0.414, 0.454, 0.473, 0.492, 0.491, 0.471, 0.435, 0.374, 0.304",\
"0.641, 0.641, 0.68, 0.702, 0.703, 0.693, 0.67, 0.631, 0.56, 0.485",\
"0.935, 0.939, 0.972, 0.983, 0.985, 0.957, 0.931, 0.885, 0.812, 0.722");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.412, 0.395, 0.347, 0.265, 0.199, 0.153, 0.128, 0.123, 0.148, 0.207",\
"0.418, 0.405, 0.35, 0.274, 0.208, 0.159, 0.133, 0.133, 0.16, 0.21",\
"0.468, 0.456, 0.402, 0.321, 0.253, 0.208, 0.178, 0.18, 0.208, 0.258",\
"0.599, 0.585, 0.532, 0.452, 0.386, 0.336, 0.314, 0.313, 0.335, 0.388",\
"0.822, 0.803, 0.748, 0.67, 0.606, 0.557, 0.528, 0.528, 0.551, 0.604",\
"1.107, 1.09, 1.036, 0.959, 0.889, 0.842, 0.813, 0.811, 0.834, 0.886",\
"1.457, 1.444, 1.389, 1.314, 1.24, 1.194, 1.163, 1.164, 1.184, 1.237",\
"1.883, 1.867, 1.809, 1.732, 1.664, 1.623, 1.588, 1.58, 1.603, 1.651",\
"2.375, 2.361, 2.306, 2.216, 2.155, 2.105, 2.071, 2.069, 2.085, 2.136",\
"2.933, 2.917, 2.863, 2.773, 2.709, 2.658, 2.63, 2.626, 2.647, 2.687");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
values("0.378, 0.361, 0.305, 0.22, 0.169, 0.136, 0.12, 0.129, 0.172, 0.238",\
"0.384, 0.373, 0.32, 0.235, 0.177, 0.142, 0.133, 0.139, 0.184, 0.247",\
"0.426, 0.414, 0.362, 0.28, 0.218, 0.183, 0.169, 0.174, 0.217, 0.274",\
"0.481, 0.469, 0.41, 0.33, 0.265, 0.226, 0.214, 0.211, 0.248, 0.306",\
"0.494, 0.487, 0.426, 0.348, 0.283, 0.25, 0.225, 0.232, 0.267, 0.33",\
"0.474, 0.465, 0.405, 0.33, 0.267, 0.227, 0.207, 0.213, 0.248, 0.311",\
"0.42, 0.407, 0.348, 0.276, 0.205, 0.17, 0.153, 0.159, 0.198, 0.267",\
"0.302, 0.296, 0.243, 0.162, 0.101, 0.065, 0.046, 0.052, 0.098, 0.159",\
"0.146, 0.129, 0.073, -0.003, -0.069, -0.101, -0.121, -0.105, -0.063, 0.01",\
"-0.081, -0.095, -0.145, -0.232, -0.287, -0.323, -0.338, -0.326, -0.28, -0.209");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 1.442 ;
max_transition : 8.6 ;
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.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
index_2("0.001, 0.01095, 0.04586, 0.1125, 0.2164, 0.3622, 0.5539, 0.7955, 1.09, 1.442");
values("0.279, 0.2711, 0.2646, 0.2622, 0.2615, 0.2611, 0.2609, 0.2607, 0.2607, 0.2606",\
"0.279, 0.2714, 0.2648, 0.2625, 0.2616, 0.261, 0.2609, 0.2608, 0.2607, 0.2607",\
"0.2789, 0.2713, 0.2647, 0.2624, 0.2616, 0.261, 0.2608, 0.2607, 0.2607, 0.2606",\
"0.2793, 0.2714, 0.2649, 0.2626, 0.2619, 0.2613, 0.2612, 0.2611, 0.261, 0.261",\
"0.2797, 0.272, 0.2657, 0.2633, 0.2625, 0.2619, 0.2618, 0.2617, 0.2617, 0.2616",\
"0.2804, 0.2727, 0.266, 0.2638, 0.2632, 0.2627, 0.2623, 0.2622, 0.2621, 0.2621",\
"0.281, 0.2733, 0.2667, 0.2643, 0.2637, 0.2632, 0.2629, 0.2627, 0.2627, 0.2627",\
"0.2819, 0.2741, 0.2676, 0.2654, 0.2643, 0.2641, 0.2638, 0.2637, 0.2636, 0.2635",\
"0.2826, 0.275, 0.2682, 0.2661, 0.2652, 0.2647, 0.2644, 0.2643, 0.2642, 0.2642",\
"0.2835, 0.2759, 0.2693, 0.267, 0.2662, 0.2655, 0.2653, 0.2652, 0.2651, 0.265");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
index_2("0.001, 0.01095, 0.04586, 0.1125, 0.2164, 0.3622, 0.5539, 0.7955, 1.09, 1.442");
values("0.2971, 0.2907, 0.283, 0.2799, 0.279, 0.2813, 0.2847, 0.2873, 0.2914, 0.3058",\
"0.297, 0.2905, 0.2824, 0.2798, 0.2791, 0.2812, 0.2853, 0.2882, 0.2913, 0.306",\
"0.297, 0.2905, 0.2825, 0.2798, 0.2791, 0.2818, 0.2848, 0.2871, 0.2925, 0.3068",\
"0.2968, 0.2903, 0.2824, 0.2796, 0.2798, 0.2818, 0.2848, 0.2881, 0.2922, 0.3089",\
"0.297, 0.2905, 0.2825, 0.279, 0.2792, 0.2813, 0.2849, 0.2869, 0.2911, 0.3143",\
"0.2973, 0.2908, 0.2832, 0.28, 0.2793, 0.2817, 0.2854, 0.2883, 0.2912, 0.3173",\
"0.2981, 0.2918, 0.2839, 0.2798, 0.282, 0.2837, 0.2864, 0.2882, 0.2924, 0.3265",\
"0.2995, 0.293, 0.2852, 0.2817, 0.2803, 0.2852, 0.2892, 0.291, 0.2941, 0.341",\
"0.3012, 0.2949, 0.2866, 0.2838, 0.2827, 0.2846, 0.2893, 0.2954, 0.3008, 0.3648",\
"0.3035, 0.2969, 0.2889, 0.2851, 0.2843, 0.2846, 0.2869, 0.2935, 0.3088, 0.4111");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
index_2("0.001, 0.01095, 0.04586, 0.1125, 0.2164, 0.3622, 0.5539, 0.7955, 1.09, 1.442");
values("0.9883, 1.028, 1.125, 1.266, 1.465, 1.737, 2.094, 2.544, 3.093, 3.747",\
"1.002, 1.041, 1.138, 1.28, 1.478, 1.75, 2.107, 2.557, 3.106, 3.761",\
"1.052, 1.091, 1.188, 1.33, 1.528, 1.801, 2.158, 2.607, 3.157, 3.811",\
"1.131, 1.171, 1.268, 1.409, 1.608, 1.88, 2.237, 2.687, 3.236, 3.89",\
"1.199, 1.238, 1.335, 1.477, 1.675, 1.947, 2.304, 2.754, 3.303, 3.958",\
"1.252, 1.291, 1.388, 1.53, 1.728, 2, 2.357, 2.807, 3.356, 4.01",\
"1.285, 1.324, 1.422, 1.563, 1.762, 2.034, 2.391, 2.84, 3.389, 4.044",\
"1.298, 1.337, 1.434, 1.576, 1.775, 2.047, 2.404, 2.853, 3.402, 4.056",\
"1.286, 1.325, 1.422, 1.563, 1.762, 2.034, 2.391, 2.84, 3.389, 4.044",\
"1.246, 1.285, 1.382, 1.524, 1.722, 1.994, 2.351, 2.801, 3.35, 4.004");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
index_2("0.001, 0.01095, 0.04586, 0.1125, 0.2164, 0.3622, 0.5539, 0.7955, 1.09, 1.442");
values("1.06, 1.105, 1.229, 1.453, 1.802, 2.292, 2.936, 3.748, 4.74, 5.921",\
"1.073, 1.118, 1.243, 1.466, 1.815, 2.305, 2.95, 3.762, 4.753, 5.935",\
"1.123, 1.168, 1.293, 1.516, 1.865, 2.355, 2.999, 3.811, 4.803, 5.984",\
"1.201, 1.246, 1.371, 1.594, 1.943, 2.433, 3.078, 3.89, 4.881, 6.063",\
"1.269, 1.314, 1.439, 1.662, 2.011, 2.501, 3.145, 3.957, 4.949, 6.131",\
"1.322, 1.367, 1.492, 1.716, 2.064, 2.555, 3.199, 4.011, 5.002, 6.184",\
"1.359, 1.404, 1.529, 1.753, 2.101, 2.591, 3.236, 4.048, 5.04, 6.221",\
"1.377, 1.422, 1.547, 1.77, 2.119, 2.608, 3.253, 4.065, 5.057, 6.239",\
"1.37, 1.415, 1.54, 1.763, 2.112, 2.602, 3.247, 4.06, 5.05, 6.231",\
"1.338, 1.383, 1.508, 1.731, 2.08, 2.57, 3.215, 4.027, 5.018, 6.2");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
index_2("0.001, 0.01095, 0.04586, 0.1125, 0.2164, 0.3622, 0.5539, 0.7955, 1.09, 1.442");
values("0.0936, 0.1302, 0.2344, 0.4186, 0.7244, 1.174, 1.773, 2.527, 3.454, 4.553",\
"0.0934, 0.1302, 0.2346, 0.4196, 0.726, 1.174, 1.772, 2.529, 3.454, 4.552",\
"0.0934, 0.1302, 0.2344, 0.419, 0.7258, 1.174, 1.772, 2.529, 3.452, 4.554",\
"0.0936, 0.1304, 0.2346, 0.4186, 0.7254, 1.174, 1.771, 2.526, 3.454, 4.554",\
"0.0932, 0.1302, 0.2346, 0.4194, 0.7254, 1.172, 1.772, 2.529, 3.455, 4.549",\
"0.0934, 0.1304, 0.234, 0.4194, 0.7244, 1.172, 1.772, 2.529, 3.451, 4.555",\
"0.0932, 0.1304, 0.2346, 0.419, 0.7254, 1.173, 1.769, 2.524, 3.449, 4.55",\
"0.0934, 0.1302, 0.2342, 0.4186, 0.7246, 1.173, 1.772, 2.526, 3.444, 4.544",\
"0.0934, 0.1302, 0.234, 0.4186, 0.7242, 1.174, 1.772, 2.526, 3.444, 4.543",\
"0.0934, 0.1304, 0.234, 0.4188, 0.724, 1.174, 1.77, 2.529, 3.447, 4.543");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
index_2("0.001, 0.01095, 0.04586, 0.1125, 0.2164, 0.3622, 0.5539, 0.7955, 1.09, 1.442");
values("0.1044, 0.1574, 0.3404, 0.725, 1.339, 2.204, 3.341, 4.773, 6.514, 8.603",\
"0.1042, 0.1572, 0.3406, 0.7248, 1.339, 2.204, 3.34, 4.772, 6.514, 8.604",\
"0.1044, 0.1574, 0.3402, 0.7256, 1.339, 2.205, 3.341, 4.774, 6.515, 8.604",\
"0.1042, 0.1574, 0.3402, 0.7252, 1.34, 2.205, 3.341, 4.772, 6.515, 8.604",\
"0.1044, 0.1578, 0.3398, 0.7248, 1.339, 2.205, 3.341, 4.775, 6.52, 8.607",\
"0.1034, 0.1574, 0.3404, 0.7246, 1.341, 2.203, 3.341, 4.771, 6.517, 8.6",\
"0.1038, 0.1574, 0.3404, 0.726, 1.339, 2.201, 3.34, 4.768, 6.518, 8.602",\
"0.1038, 0.1574, 0.3404, 0.7254, 1.341, 2.202, 3.338, 4.775, 6.529, 8.604",\
"0.1038, 0.1576, 0.3404, 0.7258, 1.339, 2.204, 3.337, 4.768, 6.516, 8.602",\
"0.1048, 0.1576, 0.3406, 0.7252, 1.34, 2.202, 3.343, 4.77, 6.515, 8.597");
}
}
}
}