blob: 43d105a0fde00e3f1739813239dbc76731002d2a [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_2) {
area : 72.441600 ;
ff(IQ1,IQN1) {
clocked_on : "(!CLKN)" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&!D" ;
value : "8.44371e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "8.81892e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "6.81813e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "6.758136e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "8.81892e-05" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.003183 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 6.8 ;
min_period : 1.613 ;
min_pulse_width_high : 0.689 ;
min_pulse_width_low : 0.785 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
values("0.04467, 0.0445, 0.0442, 0.04408, 0.04449, 0.04541, 0.04684, 0.04883, \
0.05142, 0.05472");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
values("0.02874, 0.02866, 0.02843, 0.02833, 0.02855, 0.02925, 0.03047, \
0.03223, 0.0346, 0.03756");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
values("0.04463, 0.04447, 0.04415, 0.04405, 0.04445, 0.04537, 0.04681, \
0.04879, 0.05139, 0.05468");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
values("0.02878, 0.02869, 0.02849, 0.02838, 0.0286, 0.02927, 0.03051, \
0.03225, 0.03463, 0.03765");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.702");
}
rise_constraint(scalar) {
values("0.689");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.785");
}
rise_constraint(scalar) {
values("0.565");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("1.482");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("1.613");
}
}
}
pin(D) {
capacitance : 0.002294 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 6.8 ;
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.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
values("0.008874, 0.008621, 0.008485, 0.00872, 0.009372, 0.01038, 0.01185, \
0.0138, 0.0163, 0.01937");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
values("0.001133, 0.001029, 0.0009073, 0.001022, 0.001494, 0.002354, 0.003626, \
0.005343, 0.007509, 0.01016");
}
}
internal_power() {
when : "CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
values("0.02899, 0.02885, 0.02869, 0.02873, 0.02923, 0.03016, 0.03152, \
0.03331, 0.03563, 0.03853");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
values("0.0195, 0.01943, 0.01935, 0.01943, 0.01975, 0.0204, 0.02144, 0.02292, \
0.02486, 0.02729");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
index_2("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
values("0.063, 0.08, 0.131, 0.239, 0.365, 0.503, 0.651, 0.823, 1.019, 1.249",\
"0.045, 0.067, 0.115, 0.217, 0.351, 0.484, 0.638, 0.811, 1.007, 1.23",\
"-0.015, 0.007, 0.054, 0.164, 0.293, 0.422, 0.578, 0.746, 0.943, 1.173",\
"-0.138, -0.119, -0.067, 0.038, 0.176, 0.303, 0.454, 0.626, 0.827, 1.048",\
"-0.297, -0.28, -0.228, -0.125, 0.005, 0.138, 0.288, 0.459, 0.655, 0.884",\
"-0.475, -0.455, -0.412, -0.302, -0.173, -0.043, 0.103, 0.273, 0.47, 0.688",\
"-0.672, -0.659, -0.608, -0.503, -0.38, -0.254, -0.11, 0.059, 0.261, 0.479",\
"-0.899, -0.879, -0.837, -0.739, -0.614, -0.496, -0.348, -0.174, 0.013, 0.234",\
"-1.166, -1.141, -1.096, -1.002, -0.881, -0.762, -0.61, -0.449, -0.253, -0.038",\
"-1.457, -1.431, -1.387, -1.29, -1.179, -1.064, -0.922, -0.755, -0.564, -0.342");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
index_2("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
values("0.292, 0.305, 0.363, 0.48, 0.656, 0.851, 1.053, 1.278, 1.516, 1.789",\
"0.276, 0.292, 0.347, 0.472, 0.639, 0.83, 1.04, 1.262, 1.508, 1.773",\
"0.237, 0.249, 0.307, 0.427, 0.601, 0.791, 0.995, 1.225, 1.466, 1.738",\
"0.197, 0.21, 0.275, 0.387, 0.565, 0.753, 0.961, 1.178, 1.428, 1.699",\
"0.179, 0.193, 0.252, 0.368, 0.541, 0.732, 0.94, 1.158, 1.402, 1.672",\
"0.183, 0.199, 0.258, 0.373, 0.542, 0.738, 0.935, 1.161, 1.406, 1.671",\
"0.214, 0.234, 0.29, 0.406, 0.576, 0.76, 0.962, 1.181, 1.428, 1.694",\
"0.276, 0.291, 0.35, 0.46, 0.625, 0.811, 1.015, 1.231, 1.475, 1.737",\
"0.368, 0.386, 0.438, 0.555, 0.713, 0.891, 1.094, 1.308, 1.553, 1.815",\
"0.503, 0.525, 0.579, 0.681, 0.842, 1.016, 1.2, 1.42, 1.662, 1.925");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
index_2("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
values("0.538, 0.52, 0.45, 0.345, 0.197, 0.042, -0.147, -0.35, -0.574, -0.825",\
"0.556, 0.539, 0.466, 0.358, 0.213, 0.055, -0.126, -0.332, -0.564, -0.812",\
"0.615, 0.595, 0.525, 0.421, 0.274, 0.113, -0.068, -0.268, -0.5, -0.747",\
"0.737, 0.719, 0.652, 0.54, 0.402, 0.237, 0.052, -0.15, -0.381, -0.63",\
"0.922, 0.908, 0.838, 0.73, 0.585, 0.421, 0.236, 0.032, -0.201, -0.448",\
"1.161, 1.138, 1.071, 0.955, 0.817, 0.65, 0.464, 0.259, 0.023, -0.23",\
"1.421, 1.4, 1.338, 1.218, 1.069, 0.902, 0.716, 0.509, 0.266, 0.014",\
"1.714, 1.693, 1.624, 1.51, 1.36, 1.188, 0.994, 0.784, 0.545, 0.285",\
"2.038, 2.021, 1.955, 1.833, 1.682, 1.507, 1.315, 1.093, 0.854, 0.596",\
"2.403, 2.383, 2.319, 2.19, 2.042, 1.861, 1.665, 1.446, 1.2, 0.934");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
index_2("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
values("0.212, 0.197, 0.14, 0.026, -0.149, -0.353, -0.563, -0.804, -1.064, -1.357",\
"0.226, 0.21, 0.154, 0.037, -0.139, -0.339, -0.555, -0.792, -1.045, -1.339",\
"0.266, 0.252, 0.197, 0.08, -0.092, -0.297, -0.506, -0.747, -1.003, -1.294",\
"0.332, 0.316, 0.261, 0.14, -0.03, -0.237, -0.438, -0.68, -0.946, -1.236",\
"0.396, 0.376, 0.321, 0.194, 0.022, -0.18, -0.38, -0.619, -0.881, -1.17",\
"0.438, 0.426, 0.36, 0.237, 0.06, -0.13, -0.346, -0.576, -0.829, -1.126",\
"0.46, 0.445, 0.381, 0.261, 0.085, -0.123, -0.329, -0.558, -0.817, -1.104",\
"0.454, 0.447, 0.377, 0.252, 0.08, -0.124, -0.33, -0.566, -0.825, -1.11",\
"0.428, 0.41, 0.348, 0.227, 0.05, -0.156, -0.37, -0.604, -0.86, -1.143",\
"0.369, 0.352, 0.292, 0.165, -0.017, -0.218, -0.429, -0.666, -0.925, -1.203");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.4261 ;
max_transition : 6.8 ;
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.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
index_2("0.001, 0.003934, 0.01423, 0.0339, 0.06454, 0.1075, 0.1641, 0.2354, 0.3224, 0.4261");
values("0.06076, 0.06073, 0.06095, 0.06129, 0.06156, 0.06175, 0.06187, 0.06192, 0.06197, 0.062",\
"0.06075, 0.06075, 0.06097, 0.06126, 0.06158, 0.06176, 0.06187, 0.06194, 0.06201, 0.06203",\
"0.06074, 0.06077, 0.06092, 0.06128, 0.06153, 0.06174, 0.06186, 0.06192, 0.06197, 0.062",\
"0.06072, 0.06071, 0.06092, 0.06127, 0.06152, 0.06172, 0.06183, 0.06193, 0.06198, 0.06201",\
"0.0607, 0.06075, 0.06094, 0.06127, 0.06152, 0.06171, 0.06183, 0.06192, 0.06197, 0.062",\
"0.06073, 0.06071, 0.06094, 0.06127, 0.06157, 0.06177, 0.06189, 0.06197, 0.062, 0.06204",\
"0.06088, 0.06087, 0.061, 0.06134, 0.06165, 0.06183, 0.06195, 0.06203, 0.06208, 0.06211",\
"0.06094, 0.06089, 0.0611, 0.06144, 0.06171, 0.06191, 0.06203, 0.06211, 0.06217, 0.0622",\
"0.0611, 0.06115, 0.06133, 0.06158, 0.06185, 0.06206, 0.06219, 0.06227, 0.06233, 0.06236",\
"0.0613, 0.06131, 0.06139, 0.06171, 0.062, 0.06222, 0.06234, 0.06241, 0.06247, 0.06251");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
index_2("0.001, 0.003934, 0.01423, 0.0339, 0.06454, 0.1075, 0.1641, 0.2354, 0.3224, 0.4261");
values("0.07259, 0.07263, 0.07274, 0.07327, 0.07377, 0.07452, 0.07494, 0.07551, 0.07598, 0.07683",\
"0.07257, 0.0726, 0.07272, 0.07323, 0.07378, 0.0744, 0.07482, 0.07533, 0.07593, 0.07673",\
"0.07255, 0.0726, 0.07273, 0.07322, 0.07373, 0.07441, 0.07485, 0.07548, 0.07559, 0.07599",\
"0.07261, 0.07263, 0.07275, 0.07324, 0.07375, 0.07443, 0.07487, 0.0754, 0.07563, 0.07628",\
"0.07291, 0.07292, 0.07306, 0.07355, 0.07415, 0.0748, 0.07518, 0.07581, 0.076, 0.07645",\
"0.07326, 0.07324, 0.07341, 0.07396, 0.07443, 0.07499, 0.07563, 0.07618, 0.07682, 0.07719",\
"0.07365, 0.0736, 0.07379, 0.0743, 0.07488, 0.07555, 0.07597, 0.07634, 0.07724, 0.078",\
"0.07403, 0.07407, 0.07417, 0.0747, 0.07537, 0.07574, 0.07634, 0.07691, 0.07714, 0.07776",\
"0.07433, 0.07445, 0.07454, 0.07495, 0.07568, 0.07639, 0.07691, 0.07727, 0.0775, 0.079",\
"0.07475, 0.07475, 0.07493, 0.07546, 0.07587, 0.07645, 0.07731, 0.07798, 0.07798, 0.07959");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
index_2("0.001, 0.003934, 0.01423, 0.0339, 0.06454, 0.1075, 0.1641, 0.2354, 0.3224, 0.4261");
values("1, 1.031, 1.11, 1.219, 1.353, 1.524, 1.741, 2.012, 2.344, 2.738",\
"1.017, 1.048, 1.127, 1.235, 1.37, 1.54, 1.758, 2.029, 2.36, 2.755",\
"1.078, 1.109, 1.188, 1.296, 1.431, 1.601, 1.819, 2.09, 2.421, 2.816",\
"1.199, 1.231, 1.31, 1.418, 1.552, 1.723, 1.94, 2.212, 2.543, 2.937",\
"1.38, 1.411, 1.49, 1.599, 1.733, 1.904, 2.121, 2.392, 2.723, 3.118",\
"1.591, 1.622, 1.701, 1.809, 1.944, 2.114, 2.332, 2.603, 2.934, 3.329",\
"1.816, 1.848, 1.927, 2.035, 2.169, 2.34, 2.557, 2.829, 3.16, 3.555",\
"2.06, 2.091, 2.17, 2.278, 2.413, 2.584, 2.801, 3.072, 3.403, 3.798",\
"2.325, 2.356, 2.435, 2.543, 2.678, 2.849, 3.066, 3.337, 3.669, 4.063",\
"2.614, 2.645, 2.724, 2.833, 2.967, 3.138, 3.355, 3.627, 3.958, 4.353");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
index_2("0.001, 0.003934, 0.01423, 0.0339, 0.06454, 0.1075, 0.1641, 0.2354, 0.3224, 0.4261");
values("1.188, 1.224, 1.327, 1.512, 1.795, 2.19, 2.709, 3.361, 4.158, 5.106",\
"1.205, 1.24, 1.344, 1.529, 1.812, 2.207, 2.725, 3.378, 4.174, 5.122",\
"1.266, 1.301, 1.405, 1.59, 1.873, 2.268, 2.786, 3.438, 4.234, 5.184",\
"1.388, 1.423, 1.526, 1.711, 1.994, 2.389, 2.908, 3.56, 4.356, 5.305",\
"1.57, 1.605, 1.709, 1.894, 2.177, 2.571, 3.09, 3.742, 4.539, 5.488",\
"1.784, 1.819, 1.923, 2.109, 2.391, 2.786, 3.304, 3.957, 4.753, 5.702",\
"2.015, 2.05, 2.154, 2.339, 2.622, 3.017, 3.535, 4.188, 4.984, 5.933",\
"2.264, 2.3, 2.403, 2.588, 2.871, 3.266, 3.785, 4.437, 5.233, 6.182",\
"2.534, 2.57, 2.674, 2.859, 3.142, 3.537, 4.055, 4.707, 5.503, 6.451",\
"2.829, 2.864, 2.969, 3.153, 3.436, 3.831, 4.349, 5.001, 5.797, 6.746");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
index_2("0.001, 0.003934, 0.01423, 0.0339, 0.06454, 0.1075, 0.1641, 0.2354, 0.3224, 0.4261");
values("0.1168, 0.143, 0.2148, 0.3266, 0.4966, 0.7512, 1.105, 1.558, 2.12, 2.788",\
"0.1164, 0.1428, 0.2148, 0.3268, 0.4958, 0.7522, 1.103, 1.56, 2.119, 2.788",\
"0.1164, 0.1432, 0.215, 0.326, 0.4958, 0.7522, 1.105, 1.56, 2.117, 2.789",\
"0.1164, 0.143, 0.215, 0.3268, 0.4968, 0.752, 1.105, 1.559, 2.119, 2.789",\
"0.1164, 0.143, 0.2152, 0.3262, 0.496, 0.751, 1.105, 1.558, 2.119, 2.788",\
"0.1166, 0.1432, 0.2152, 0.3268, 0.497, 0.7514, 1.105, 1.559, 2.117, 2.789",\
"0.1172, 0.1434, 0.2154, 0.3264, 0.4966, 0.7512, 1.105, 1.558, 2.119, 2.787",\
"0.1172, 0.1436, 0.2152, 0.3268, 0.496, 0.7524, 1.104, 1.557, 2.117, 2.787",\
"0.117, 0.1438, 0.2158, 0.3272, 0.4962, 0.7522, 1.105, 1.558, 2.118, 2.784",\
"0.1172, 0.1442, 0.2162, 0.3268, 0.4964, 0.7522, 1.105, 1.558, 2.12, 2.786");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.0668, 0.2311, 0.5448, 1.033, 1.719, 2.622, 3.758, 5.146, 6.8");
index_2("0.001, 0.003934, 0.01423, 0.0339, 0.06454, 0.1075, 0.1641, 0.2354, 0.3224, 0.4261");
values("0.1222, 0.1608, 0.3072, 0.609, 1.09, 1.769, 2.662, 3.783, 5.16, 6.806",\
"0.1218, 0.1612, 0.3076, 0.6092, 1.088, 1.768, 2.658, 3.789, 5.157, 6.8",\
"0.1216, 0.161, 0.3072, 0.6092, 1.09, 1.767, 2.661, 3.788, 5.162, 6.807",\
"0.1216, 0.161, 0.3072, 0.6094, 1.089, 1.767, 2.661, 3.787, 5.163, 6.799",\
"0.1218, 0.161, 0.3072, 0.6094, 1.09, 1.769, 2.661, 3.785, 5.165, 6.807",\
"0.1216, 0.16, 0.3072, 0.6086, 1.09, 1.767, 2.662, 3.784, 5.162, 6.807",\
"0.1206, 0.1598, 0.3076, 0.6088, 1.088, 1.768, 2.659, 3.788, 5.161, 6.806",\
"0.1202, 0.1602, 0.307, 0.6092, 1.091, 1.769, 2.66, 3.787, 5.161, 6.795",\
"0.1206, 0.1602, 0.307, 0.6086, 1.089, 1.765, 2.658, 3.788, 5.16, 6.802",\
"0.12, 0.16, 0.307, 0.609, 1.088, 1.767, 2.661, 3.782, 5.157, 6.799");
}
}
}
}