blob: 8fc9c1cc6bd5ccac5554e0e2877b3df64c84cadc [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.000373383" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.000379674" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.000328887" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.000327393" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.000379674" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.003474 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 5 ;
min_period : 1.396 ;
min_pulse_width_high : 0.527 ;
min_pulse_width_low : 0.553 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.2499, 0.2493, 0.2498, 0.2564, 0.2724, 0.2977, 0.3332, 0.3795, \
0.4372, 0.5069");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.1604, 0.16, 0.1601, 0.1652, 0.1782, 0.1994, 0.2301, 0.2709, \
0.3224, 0.3847");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.2499, 0.2493, 0.2499, 0.2564, 0.2724, 0.2976, 0.3331, 0.3795, \
0.4373, 0.5067");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.1605, 0.1601, 0.1603, 0.1653, 0.1783, 0.1993, 0.2301, 0.271, \
0.3225, 0.3846");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.461");
}
rise_constraint(scalar) {
values("0.527");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.553");
}
rise_constraint(scalar) {
values("0.458");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("1.066");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("1.396");
}
}
}
pin(D) {
capacitance : 0.002354 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 5 ;
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.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.04541, 0.04481, 0.04682, 0.05351, 0.06576, 0.08386, 0.1085, \
0.1397, 0.1782, 0.2243");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.004158, 0.00378, 0.004704, 0.009433, 0.01913, 0.03416, 0.05487, \
0.08168, 0.1148, 0.1547");
}
}
internal_power() {
when : "CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.1579, 0.1575, 0.1585, 0.1638, 0.1756, 0.1938, 0.2192, 0.2525, \
0.2938, 0.3433");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.1011, 0.1008, 0.1017, 0.1059, 0.1148, 0.1291, 0.1497, 0.1769, \
0.2111, 0.2527");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.023, 0.026, 0.064, 0.133, 0.205, 0.3, 0.396, 0.512, 0.638, 0.787",\
"0.018, 0.021, 0.059, 0.118, 0.195, 0.291, 0.39, 0.509, 0.632, 0.778",\
"-0.021, -0.013, 0.017, 0.085, 0.161, 0.251, 0.35, 0.463, 0.595, 0.733",\
"-0.1, -0.091, -0.061, 0.005, 0.083, 0.176, 0.27, 0.39, 0.513, 0.653",\
"-0.206, -0.196, -0.162, -0.096, -0.017, 0.066, 0.168, 0.282, 0.403, 0.544",\
"-0.33, -0.321, -0.284, -0.221, -0.153, -0.066, 0.033, 0.144, 0.269, 0.407",\
"-0.479, -0.475, -0.439, -0.373, -0.307, -0.22, -0.125, -0.014, 0.109, 0.245",\
"-0.655, -0.647, -0.614, -0.55, -0.478, -0.396, -0.305, -0.19, -0.079, 0.065",\
"-0.848, -0.844, -0.813, -0.747, -0.68, -0.599, -0.51, -0.401, -0.285, -0.156",\
"-1.073, -1.065, -1.033, -0.972, -0.905, -0.829, -0.743, -0.639, -0.524, -0.391");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.183, 0.192, 0.228, 0.301, 0.402, 0.519, 0.651, 0.799, 0.962, 1.134",\
"0.177, 0.189, 0.226, 0.295, 0.393, 0.514, 0.643, 0.791, 0.959, 1.127",\
"0.16, 0.164, 0.196, 0.268, 0.37, 0.492, 0.621, 0.772, 0.932, 1.109",\
"0.133, 0.14, 0.177, 0.247, 0.345, 0.467, 0.593, 0.744, 0.904, 1.085",\
"0.119, 0.124, 0.16, 0.233, 0.336, 0.449, 0.577, 0.727, 0.888, 1.067",\
"0.122, 0.125, 0.157, 0.233, 0.332, 0.446, 0.585, 0.728, 0.892, 1.066",\
"0.139, 0.142, 0.173, 0.249, 0.345, 0.462, 0.6, 0.742, 0.908, 1.08",\
"0.181, 0.185, 0.213, 0.287, 0.385, 0.501, 0.631, 0.775, 0.944, 1.119",\
"0.249, 0.252, 0.286, 0.354, 0.443, 0.56, 0.69, 0.837, 1.001, 1.17",\
"0.34, 0.337, 0.37, 0.443, 0.529, 0.641, 0.767, 0.914, 1.072, 1.245");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.343, 0.33, 0.29, 0.23, 0.139, 0.042, -0.069, -0.19, -0.323, -0.478",\
"0.351, 0.343, 0.303, 0.236, 0.15, 0.051, -0.058, -0.184, -0.315, -0.467",\
"0.392, 0.383, 0.34, 0.272, 0.189, 0.093, -0.022, -0.14, -0.279, -0.427",\
"0.47, 0.458, 0.418, 0.353, 0.267, 0.169, 0.06, -0.067, -0.199, -0.354",\
"0.589, 0.576, 0.54, 0.473, 0.386, 0.289, 0.172, 0.047, -0.087, -0.234",\
"0.745, 0.73, 0.692, 0.621, 0.535, 0.433, 0.324, 0.194, 0.061, -0.086",\
"0.921, 0.907, 0.867, 0.801, 0.71, 0.61, 0.494, 0.369, 0.234, 0.084",\
"1.127, 1.117, 1.08, 1.01, 0.922, 0.814, 0.696, 0.571, 0.438, 0.283",\
"1.373, 1.354, 1.318, 1.249, 1.153, 1.048, 0.929, 0.8, 0.661, 0.51",\
"1.636, 1.626, 1.581, 1.517, 1.42, 1.311, 1.19, 1.063, 0.921, 0.77");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
values("0.177, 0.165, 0.134, 0.062, -0.038, -0.148, -0.292, -0.441, -0.61, -0.794",\
"0.185, 0.175, 0.145, 0.072, -0.033, -0.142, -0.285, -0.437, -0.604, -0.791",\
"0.211, 0.207, 0.167, 0.097, -0.003, -0.115, -0.261, -0.411, -0.576, -0.765",\
"0.25, 0.247, 0.212, 0.136, 0.038, -0.076, -0.215, -0.373, -0.539, -0.726",\
"0.294, 0.282, 0.246, 0.177, 0.075, -0.04, -0.182, -0.326, -0.499, -0.679",\
"0.33, 0.32, 0.283, 0.212, 0.104, -0.013, -0.147, -0.3, -0.468, -0.653",\
"0.35, 0.338, 0.3, 0.228, 0.127, 0.009, -0.125, -0.282, -0.446, -0.633",\
"0.348, 0.343, 0.306, 0.229, 0.131, 0.008, -0.13, -0.278, -0.449, -0.63",\
"0.333, 0.324, 0.288, 0.21, 0.109, -0.006, -0.143, -0.294, -0.459, -0.651",\
"0.292, 0.28, 0.248, 0.175, 0.071, -0.044, -0.185, -0.33, -0.505, -0.686");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.2334 ;
max_transition : 5 ;
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.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.001, 0.002604, 0.008234, 0.01898, 0.03573, 0.05924, 0.09016, 0.1291, 0.1767, 0.2334");
values("0.2738, 0.273, 0.271, 0.2704, 0.27, 0.2698, 0.2697, 0.2697, 0.2697, 0.2696",\
"0.2739, 0.2729, 0.2712, 0.2703, 0.27, 0.2698, 0.2697, 0.2697, 0.2697, 0.2696",\
"0.2738, 0.2728, 0.2714, 0.2704, 0.2701, 0.2699, 0.2698, 0.2698, 0.2697, 0.2697",\
"0.2741, 0.2731, 0.2716, 0.2707, 0.2704, 0.2701, 0.27, 0.27, 0.27, 0.2699",\
"0.2756, 0.2746, 0.2729, 0.2721, 0.2717, 0.2715, 0.2715, 0.2715, 0.2714, 0.2713",\
"0.278, 0.2769, 0.2751, 0.2744, 0.2741, 0.274, 0.2739, 0.2738, 0.2738, 0.2737",\
"0.2808, 0.2799, 0.2782, 0.2774, 0.2771, 0.2769, 0.2768, 0.2768, 0.2767, 0.2766",\
"0.2847, 0.2836, 0.2819, 0.2812, 0.2808, 0.2808, 0.2805, 0.2805, 0.2804, 0.2804",\
"0.2895, 0.2884, 0.2867, 0.2858, 0.2856, 0.2854, 0.2852, 0.285, 0.2851, 0.285",\
"0.2944, 0.2933, 0.2915, 0.2909, 0.2903, 0.2903, 0.29, 0.2899, 0.2899, 0.2898");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.001, 0.002604, 0.008234, 0.01898, 0.03573, 0.05924, 0.09016, 0.1291, 0.1767, 0.2334");
values("0.3747, 0.3736, 0.3708, 0.3698, 0.3692, 0.3696, 0.3707, 0.3712, 0.372, 0.3726",\
"0.375, 0.3734, 0.371, 0.3697, 0.3691, 0.3692, 0.3706, 0.3711, 0.3718, 0.3727",\
"0.3751, 0.3738, 0.371, 0.3697, 0.3691, 0.3694, 0.3704, 0.3709, 0.3716, 0.3735",\
"0.3759, 0.3746, 0.372, 0.3707, 0.37, 0.3702, 0.3715, 0.3718, 0.3725, 0.3741",\
"0.3777, 0.3767, 0.3739, 0.3726, 0.372, 0.3723, 0.3729, 0.3742, 0.3745, 0.3761",\
"0.3812, 0.38, 0.3773, 0.3759, 0.3753, 0.3752, 0.3766, 0.3772, 0.3777, 0.3784",\
"0.384, 0.3831, 0.3805, 0.3793, 0.3785, 0.3787, 0.3796, 0.3805, 0.3811, 0.3827",\
"0.3882, 0.387, 0.384, 0.3829, 0.3832, 0.3832, 0.3838, 0.3846, 0.3852, 0.3871",\
"0.3923, 0.391, 0.3886, 0.387, 0.387, 0.3875, 0.3887, 0.3895, 0.3897, 0.3901",\
"0.3974, 0.3961, 0.3935, 0.3923, 0.3918, 0.3924, 0.3936, 0.3952, 0.3956, 0.3954");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.001, 0.002604, 0.008234, 0.01898, 0.03573, 0.05924, 0.09016, 0.1291, 0.1767, 0.2334");
values("0.7072, 0.7272, 0.7855, 0.8778, 1.006, 1.181, 1.41, 1.698, 2.05, 2.47",\
"0.7161, 0.7363, 0.7946, 0.8869, 1.015, 1.19, 1.419, 1.707, 2.06, 2.479",\
"0.7517, 0.7717, 0.83, 0.9223, 1.051, 1.225, 1.454, 1.743, 2.095, 2.515",\
"0.825, 0.845, 0.9032, 0.9956, 1.124, 1.299, 1.528, 1.816, 2.168, 2.588",\
"0.9312, 0.9512, 1.01, 1.102, 1.23, 1.405, 1.634, 1.922, 2.275, 2.694",\
"1.055, 1.075, 1.134, 1.226, 1.354, 1.529, 1.758, 2.046, 2.398, 2.818",\
"1.196, 1.216, 1.274, 1.366, 1.495, 1.67, 1.898, 2.187, 2.539, 2.959",\
"1.352, 1.372, 1.43, 1.523, 1.651, 1.826, 2.055, 2.343, 2.695, 3.115",\
"1.522, 1.542, 1.601, 1.693, 1.822, 1.996, 2.225, 2.514, 2.866, 3.285",\
"1.707, 1.727, 1.786, 1.878, 2.007, 2.182, 2.41, 2.699, 3.051, 3.47");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.001, 0.002604, 0.008234, 0.01898, 0.03573, 0.05924, 0.09016, 0.1291, 0.1767, 0.2334");
values("0.9053, 0.9285, 1.001, 1.134, 1.339, 1.628, 2.008, 2.487, 3.071, 3.768",\
"0.9146, 0.9376, 1.01, 1.143, 1.348, 1.637, 2.017, 2.496, 3.08, 3.777",\
"0.9501, 0.9734, 1.046, 1.178, 1.384, 1.672, 2.052, 2.531, 3.116, 3.813",\
"1.024, 1.047, 1.12, 1.253, 1.458, 1.746, 2.127, 2.605, 3.19, 3.887",\
"1.133, 1.157, 1.229, 1.361, 1.567, 1.855, 2.235, 2.714, 3.299, 3.996",\
"1.262, 1.285, 1.358, 1.49, 1.695, 1.984, 2.364, 2.843, 3.427, 4.124",\
"1.407, 1.43, 1.503, 1.635, 1.84, 2.129, 2.509, 2.988, 3.573, 4.269",\
"1.57, 1.593, 1.666, 1.798, 2.003, 2.292, 2.672, 3.151, 3.735, 4.432",\
"1.748, 1.772, 1.844, 1.977, 2.182, 2.471, 2.851, 3.329, 3.914, 4.611",\
"1.941, 1.965, 2.037, 2.17, 2.375, 2.664, 3.044, 3.522, 4.107, 4.803");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.001, 0.002604, 0.008234, 0.01898, 0.03573, 0.05924, 0.09016, 0.1291, 0.1767, 0.2334");
values("0.0879, 0.1086, 0.1745, 0.2908, 0.4774, 0.754, 1.127, 1.597, 2.175, 2.858",\
"0.08824, 0.1087, 0.1744, 0.2908, 0.4778, 0.7548, 1.126, 1.597, 2.175, 2.858",\
"0.08778, 0.1089, 0.1742, 0.2908, 0.4776, 0.7548, 1.128, 1.597, 2.176, 2.859",\
"0.0878, 0.109, 0.1742, 0.2906, 0.4774, 0.7548, 1.128, 1.597, 2.175, 2.859",\
"0.0878, 0.1088, 0.1742, 0.2908, 0.478, 0.754, 1.126, 1.599, 2.175, 2.859",\
"0.088, 0.1086, 0.1742, 0.2908, 0.4778, 0.754, 1.128, 1.597, 2.175, 2.858",\
"0.088, 0.1088, 0.1744, 0.2908, 0.4768, 0.7538, 1.126, 1.597, 2.174, 2.858",\
"0.0878, 0.109, 0.1748, 0.291, 0.478, 0.7544, 1.126, 1.598, 2.174, 2.861",\
"0.0882, 0.109, 0.1748, 0.2912, 0.4774, 0.7542, 1.127, 1.597, 2.172, 2.858",\
"0.0884, 0.1094, 0.1748, 0.2912, 0.4774, 0.755, 1.127, 1.597, 2.173, 2.857");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
index_2("0.001, 0.002604, 0.008234, 0.01898, 0.03573, 0.05924, 0.09016, 0.1291, 0.1767, 0.2334");
values("0.1052, 0.1359, 0.2444, 0.4644, 0.8158, 1.314, 1.97, 2.793, 3.802, 5.005",\
"0.1055, 0.1358, 0.2443, 0.4646, 0.8152, 1.315, 1.97, 2.793, 3.802, 5.004",\
"0.1054, 0.1358, 0.2442, 0.4638, 0.8162, 1.315, 1.97, 2.791, 3.807, 5.009",\
"0.1056, 0.1358, 0.2442, 0.4644, 0.8158, 1.315, 1.97, 2.791, 3.806, 5.009",\
"0.1054, 0.1358, 0.2442, 0.4644, 0.816, 1.314, 1.97, 2.792, 3.807, 5.009",\
"0.1052, 0.1356, 0.2442, 0.464, 0.8158, 1.315, 1.97, 2.792, 3.803, 5.005",\
"0.1052, 0.1356, 0.2442, 0.4638, 0.8156, 1.314, 1.969, 2.793, 3.8, 5",\
"0.1052, 0.1354, 0.244, 0.4642, 0.8158, 1.313, 1.97, 2.793, 3.799, 5.001",\
"0.105, 0.1354, 0.2442, 0.464, 0.8156, 1.313, 1.966, 2.795, 3.799, 5.011",\
"0.1048, 0.1354, 0.244, 0.4642, 0.8158, 1.313, 1.967, 2.792, 3.8, 5");
}
}
}
}