blob: f12cfdf4bbb6d31859418a76f377823eda6d26ca [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__dffnq_2) {
area : 87.494400 ;
ff(IQ1,IQN1) {
clocked_on : "(!CLKN)" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&!D" ;
value : "9.101268e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.000104247" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "6.856938e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "6.775758e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.000104247" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.00453 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 6 ;
min_period : 1.376 ;
min_pulse_width_high : 0.568 ;
min_pulse_width_low : 0.683 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("0.05846, 0.0582, 0.05767, 0.05739, 0.05778, 0.0588, 0.0604, 0.06274, \
0.06579, 0.06955");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("0.03749, 0.03736, 0.03699, 0.03673, 0.03684, 0.03764, 0.03904, \
0.04109, 0.04392, 0.04744");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("0.05852, 0.05826, 0.05774, 0.05746, 0.05783, 0.05887, 0.06051, \
0.06279, 0.06582, 0.0696");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("0.03745, 0.03731, 0.03692, 0.03668, 0.03679, 0.03755, 0.03896, \
0.04099, 0.04382, 0.04739");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.639");
}
rise_constraint(scalar) {
values("0.568");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.683");
}
rise_constraint(scalar) {
values("0.495");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("1.31");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("1.376");
}
}
}
pin(D) {
capacitance : 0.003544 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 6 ;
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.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("0.01369, 0.01331, 0.01303, 0.01319, 0.01382, 0.0149, 0.01651, \
0.01865, 0.02139, 0.02484");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("0.00181, 0.001608, 0.00128, 0.001278, 0.001727, 0.002654, 0.004099, \
0.006071, 0.008575, 0.01166");
}
}
internal_power() {
when : "CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("0.04298, 0.04277, 0.04251, 0.04245, 0.04284, 0.04377, 0.04518, \
0.04712, 0.04965, 0.0528");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("0.03138, 0.03124, 0.03103, 0.03098, 0.03118, 0.03181, 0.03289, \
0.03448, 0.03665, 0.03942");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
index_2("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("-0.006, 0.007, 0.06, 0.141, 0.231, 0.317, 0.423, 0.556, 0.719, 0.901",\
"-0.021, -0.008, 0.043, 0.124, 0.219, 0.305, 0.409, 0.543, 0.699, 0.89",\
"-0.078, -0.054, -0.013, 0.069, 0.167, 0.248, 0.353, 0.487, 0.649, 0.835",\
"-0.17, -0.155, -0.115, -0.029, 0.058, 0.143, 0.254, 0.386, 0.548, 0.731",\
"-0.298, -0.289, -0.245, -0.159, -0.068, 0.015, 0.117, 0.245, 0.406, 0.59",\
"-0.435, -0.426, -0.378, -0.303, -0.211, -0.124, -0.029, 0.093, 0.247, 0.431",\
"-0.588, -0.577, -0.536, -0.455, -0.362, -0.279, -0.19, -0.065, 0.081, 0.253",\
"-0.758, -0.748, -0.709, -0.624, -0.539, -0.457, -0.364, -0.243, -0.102, 0.072",\
"-0.956, -0.94, -0.902, -0.821, -0.734, -0.654, -0.557, -0.44, -0.301, -0.135",\
"-1.166, -1.15, -1.109, -1.032, -0.943, -0.869, -0.782, -0.662, -0.517, -0.353");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
index_2("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("0.212, 0.228, 0.281, 0.386, 0.534, 0.697, 0.874, 1.062, 1.268, 1.49",\
"0.2, 0.218, 0.273, 0.374, 0.522, 0.685, 0.861, 1.047, 1.254, 1.476",\
"0.161, 0.176, 0.222, 0.329, 0.479, 0.649, 0.816, 1.01, 1.213, 1.442",\
"0.111, 0.126, 0.181, 0.282, 0.431, 0.595, 0.77, 0.957, 1.168, 1.387",\
"0.079, 0.095, 0.144, 0.246, 0.393, 0.559, 0.731, 0.919, 1.13, 1.355",\
"0.064, 0.076, 0.125, 0.229, 0.371, 0.534, 0.711, 0.9, 1.106, 1.325",\
"0.052, 0.073, 0.117, 0.227, 0.366, 0.528, 0.699, 0.889, 1.091, 1.319",\
"0.069, 0.089, 0.135, 0.234, 0.377, 0.535, 0.707, 0.898, 1.097, 1.325",\
"0.107, 0.127, 0.173, 0.276, 0.412, 0.562, 0.737, 0.921, 1.123, 1.347",\
"0.182, 0.199, 0.241, 0.336, 0.462, 0.608, 0.777, 0.96, 1.16, 1.387");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
index_2("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("0.447, 0.434, 0.373, 0.276, 0.158, 0.022, -0.118, -0.285, -0.475, -0.673",\
"0.462, 0.451, 0.386, 0.293, 0.17, 0.041, -0.106, -0.27, -0.461, -0.661",\
"0.52, 0.503, 0.438, 0.342, 0.229, 0.097, -0.053, -0.22, -0.403, -0.608",\
"0.623, 0.61, 0.552, 0.45, 0.332, 0.197, 0.054, -0.11, -0.3, -0.502",\
"0.782, 0.766, 0.706, 0.611, 0.491, 0.358, 0.211, 0.04, -0.144, -0.354",\
"0.968, 0.954, 0.901, 0.796, 0.673, 0.542, 0.393, 0.218, 0.036, -0.167",\
"1.178, 1.164, 1.104, 1.007, 0.878, 0.74, 0.585, 0.417, 0.227, 0.023",\
"1.408, 1.397, 1.33, 1.234, 1.098, 0.96, 0.806, 0.631, 0.445, 0.23",\
"1.652, 1.635, 1.578, 1.472, 1.345, 1.195, 1.041, 0.869, 0.674, 0.464",\
"1.925, 1.913, 1.844, 1.743, 1.608, 1.462, 1.299, 1.122, 0.929, 0.718");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
index_2("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
values("0.212, 0.2, 0.152, 0.06, -0.079, -0.215, -0.313, -0.462, -0.515, -0.658",\
"0.222, 0.211, 0.166, 0.073, -0.062, -0.201, -0.341, -0.432, -0.523, -0.616",\
"0.272, 0.253, 0.203, 0.109, -0.031, -0.173, -0.262, -0.38, -0.514, -0.608",\
"0.335, 0.321, 0.275, 0.173, 0.028, -0.111, -0.211, -0.357, -0.424, -0.566",\
"0.411, 0.394, 0.343, 0.237, 0.098, -0.047, -0.19, -0.323, -0.439, -0.556",\
"0.477, 0.46, 0.406, 0.302, 0.154, 0, -0.135, -0.314, -0.446, -0.577",\
"0.526, 0.514, 0.457, 0.354, 0.198, 0.039, -0.121, -0.295, -0.465, -0.626",\
"0.564, 0.551, 0.495, 0.386, 0.234, 0.069, -0.106, -0.283, -0.469, -0.668",\
"0.583, 0.569, 0.514, 0.4, 0.252, 0.084, -0.094, -0.283, -0.476, -0.695",\
"0.584, 0.564, 0.509, 0.399, 0.245, 0.075, -0.099, -0.292, -0.496, -0.712");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.6287 ;
max_transition : 6 ;
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.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
index_2("0.001, 0.005332, 0.02054, 0.04958, 0.09482, 0.1583, 0.2418, 0.3471, 0.4755, 0.6287");
values("0.08719, 0.08716, 0.08759, 0.0883, 0.08884, 0.08921, 0.08943, 0.08956, 0.08965, 0.08971",\
"0.08715, 0.08716, 0.08764, 0.08837, 0.08887, 0.08923, 0.08943, 0.08956, 0.08964, 0.08976",\
"0.08719, 0.08724, 0.08769, 0.08837, 0.08889, 0.08922, 0.08946, 0.08962, 0.08967, 0.08973",\
"0.08703, 0.08708, 0.08758, 0.08828, 0.08877, 0.08914, 0.08935, 0.08948, 0.08957, 0.08963",\
"0.08702, 0.08705, 0.08747, 0.08823, 0.08878, 0.08912, 0.08933, 0.08947, 0.08955, 0.08961",\
"0.08695, 0.08696, 0.08745, 0.08815, 0.0887, 0.08904, 0.08925, 0.08938, 0.08947, 0.08953",\
"0.08702, 0.08702, 0.08744, 0.08815, 0.08873, 0.08903, 0.08928, 0.08941, 0.08951, 0.08957",\
"0.08707, 0.08713, 0.08763, 0.08818, 0.08873, 0.08911, 0.08933, 0.08946, 0.08955, 0.08961",\
"0.08725, 0.08715, 0.08766, 0.08831, 0.08887, 0.08923, 0.08944, 0.08958, 0.08968, 0.08973",\
"0.08734, 0.08739, 0.08784, 0.08841, 0.08905, 0.0894, 0.08961, 0.08976, 0.08986, 0.08993");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
index_2("0.001, 0.005332, 0.02054, 0.04958, 0.09482, 0.1583, 0.2418, 0.3471, 0.4755, 0.6287");
values("0.096, 0.0961, 0.09647, 0.09734, 0.09831, 0.09921, 0.1001, 0.1007, 0.1011, 0.1021",\
"0.09599, 0.09601, 0.09641, 0.09746, 0.09823, 0.09923, 0.09999, 0.1006, 0.1013, 0.1027",\
"0.09599, 0.09614, 0.09644, 0.09727, 0.09836, 0.09926, 0.09991, 0.1006, 0.1012, 0.1019",\
"0.09603, 0.09598, 0.09638, 0.09731, 0.0984, 0.09928, 0.1001, 0.101, 0.1021, 0.1017",\
"0.09632, 0.0964, 0.09675, 0.09766, 0.09851, 0.09949, 0.1003, 0.1009, 0.1016, 0.1024",\
"0.09658, 0.09669, 0.09709, 0.09792, 0.09897, 0.09977, 0.1006, 0.1012, 0.1021, 0.1033",\
"0.097, 0.09708, 0.09736, 0.09839, 0.09925, 0.1003, 0.101, 0.1015, 0.1022, 0.1029",\
"0.0973, 0.09738, 0.09771, 0.09864, 0.09976, 0.1006, 0.1013, 0.1023, 0.1033, 0.1032",\
"0.09761, 0.09767, 0.098, 0.09883, 0.09998, 0.1011, 0.1021, 0.1024, 0.1031, 0.1036",\
"0.09809, 0.09802, 0.09846, 0.09947, 0.1003, 0.1009, 0.1022, 0.1036, 0.1034, 0.1046");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
index_2("0.001, 0.005332, 0.02054, 0.04958, 0.09482, 0.1583, 0.2418, 0.3471, 0.4755, 0.6287");
values("0.8908, 0.9208, 0.9939, 1.094, 1.219, 1.38, 1.587, 1.847, 2.163, 2.541",\
"0.9053, 0.9353, 1.008, 1.108, 1.233, 1.395, 1.602, 1.861, 2.178, 2.555",\
"0.9591, 0.989, 1.062, 1.162, 1.287, 1.448, 1.655, 1.915, 2.232, 2.609",\
"1.066, 1.096, 1.169, 1.269, 1.394, 1.555, 1.763, 2.022, 2.339, 2.716",\
"1.225, 1.255, 1.329, 1.428, 1.553, 1.715, 1.922, 2.181, 2.498, 2.875",\
"1.409, 1.44, 1.513, 1.612, 1.738, 1.899, 2.106, 2.366, 2.682, 3.06",\
"1.606, 1.636, 1.709, 1.809, 1.935, 2.096, 2.303, 2.562, 2.879, 3.257",\
"1.817, 1.848, 1.921, 2.021, 2.146, 2.307, 2.514, 2.774, 3.09, 3.467",\
"2.045, 2.075, 2.149, 2.249, 2.374, 2.535, 2.742, 3.002, 3.318, 3.696",\
"2.292, 2.322, 2.396, 2.496, 2.621, 2.782, 2.989, 3.249, 3.565, 3.942");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
index_2("0.001, 0.005332, 0.02054, 0.04958, 0.09482, 0.1583, 0.2418, 0.3471, 0.4755, 0.6287");
values("1.009, 1.042, 1.137, 1.302, 1.552, 1.901, 2.359, 2.935, 3.638, 4.477",\
"1.023, 1.057, 1.152, 1.316, 1.566, 1.915, 2.373, 2.949, 3.653, 4.49",\
"1.077, 1.11, 1.205, 1.37, 1.62, 1.969, 2.427, 3.003, 3.707, 4.545",\
"1.184, 1.218, 1.313, 1.477, 1.727, 2.076, 2.534, 3.11, 3.814, 4.653",\
"1.342, 1.375, 1.47, 1.635, 1.885, 2.234, 2.692, 3.268, 3.971, 4.81",\
"1.523, 1.557, 1.651, 1.816, 2.066, 2.415, 2.873, 3.449, 4.152, 4.991",\
"1.717, 1.75, 1.845, 2.009, 2.26, 2.609, 3.067, 3.643, 4.346, 5.185",\
"1.923, 1.957, 2.052, 2.216, 2.466, 2.815, 3.273, 3.849, 4.552, 5.391",\
"2.147, 2.18, 2.275, 2.439, 2.69, 3.038, 3.496, 4.072, 4.776, 5.615",\
"2.388, 2.422, 2.517, 2.681, 2.931, 3.28, 3.738, 4.315, 5.017, 5.855");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
index_2("0.001, 0.005332, 0.02054, 0.04958, 0.09482, 0.1583, 0.2418, 0.3471, 0.4755, 0.6287");
values("0.09486, 0.12, 0.1877, 0.2936, 0.4582, 0.7052, 1.045, 1.481, 2.016, 2.657",\
"0.09484, 0.1201, 0.1878, 0.2936, 0.4582, 0.7054, 1.046, 1.482, 2.017, 2.658",\
"0.0948, 0.1202, 0.1878, 0.2942, 0.4586, 0.7052, 1.045, 1.482, 2.015, 2.658",\
"0.0948, 0.1202, 0.1878, 0.2942, 0.4578, 0.7052, 1.047, 1.48, 2.017, 2.656",\
"0.095, 0.1204, 0.1876, 0.2942, 0.4586, 0.705, 1.047, 1.482, 2.016, 2.658",\
"0.095, 0.1204, 0.1878, 0.2942, 0.4586, 0.7058, 1.046, 1.482, 2.017, 2.656",\
"0.0954, 0.1204, 0.188, 0.2936, 0.458, 0.7064, 1.045, 1.48, 2.017, 2.656",\
"0.0952, 0.1208, 0.1884, 0.2942, 0.4582, 0.7068, 1.045, 1.48, 2.015, 2.654",\
"0.0956, 0.1208, 0.1886, 0.2942, 0.4588, 0.7066, 1.045, 1.481, 2.015, 2.651",\
"0.0958, 0.1212, 0.1888, 0.294, 0.4584, 0.7064, 1.046, 1.483, 2.014, 2.651");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315, 3.317, 4.541, 6");
index_2("0.001, 0.005332, 0.02054, 0.04958, 0.09482, 0.1583, 0.2418, 0.3471, 0.4755, 0.6287");
values("0.0976, 0.1332, 0.2628, 0.5252, 0.949, 1.546, 2.335, 3.323, 4.538, 5.984",\
"0.0972, 0.1338, 0.2628, 0.5264, 0.949, 1.546, 2.332, 3.327, 4.542, 5.986",\
"0.0974, 0.1338, 0.2626, 0.5262, 0.9492, 1.547, 2.331, 3.327, 4.542, 5.98",\
"0.0974, 0.1338, 0.2626, 0.5256, 0.9482, 1.547, 2.332, 3.328, 4.541, 5.986",\
"0.0972, 0.1336, 0.2626, 0.5256, 0.9494, 1.546, 2.334, 3.327, 4.542, 5.982",\
"0.0974, 0.1336, 0.2626, 0.5256, 0.9484, 1.546, 2.332, 3.325, 4.538, 5.989",\
"0.097, 0.1338, 0.2624, 0.5258, 0.9496, 1.545, 2.333, 3.326, 4.541, 5.979",\
"0.097, 0.1326, 0.2624, 0.5258, 0.9476, 1.545, 2.335, 3.328, 4.541, 5.985",\
"0.097, 0.133, 0.2626, 0.5266, 0.9482, 1.547, 2.331, 3.321, 4.535, 5.984",\
"0.0974, 0.1328, 0.2624, 0.5264, 0.9492, 1.546, 2.331, 3.323, 4.534, 5.98");
}
}
}
}