blob: 9f9fccb9d5323212592d7178c68caac518e5cd40 [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 : "5.421816e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "5.895342e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "4.255578e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "4.23711e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "5.895342e-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.002922 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 21 ;
min_period : 9.81 ;
min_pulse_width_high : 3.811 ;
min_pulse_width_low : 4.57 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
values("0.03052, 0.03046, 0.03033, 0.03019, 0.03009, 0.02999, 0.02992, \
0.02987, 0.02983, 0.01904");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
values("0.01983, 0.01982, 0.01975, 0.01963, 0.01949, 0.01938, 0.01931, \
0.01924, 0.0192, 0.01931");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
values("0.0305, 0.03045, 0.03032, 0.03018, 0.03007, 0.02997, 0.02991, \
0.02986, 0.02981, 0.0189");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
values("0.01984, 0.01983, 0.01976, 0.01963, 0.01952, 0.01939, 0.01933, \
0.01925, 0.01921, 0.01933");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("3.199");
}
rise_constraint(scalar) {
values("3.811");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("4.57");
}
rise_constraint(scalar) {
values("2.425");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("7.402");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("9.81");
}
}
}
pin(D) {
capacitance : 0.002035 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 21 ;
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.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
values("0.005723, 0.005588, 0.005439, 0.005378, 0.005346, 0.005324, 0.005312, \
0.005306, 0.005301, 0.005079");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
values("0.0008971, 0.0008677, 0.0007948, 0.0007222, 0.0006578, 0.0006222, \
0.0005932, 0.0005753, 0.0005618, 0.0006373");
}
}
internal_power() {
when : "CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
values("0.01841, 0.01832, 0.01822, 0.01814, 0.01808, 0.01802, 0.01798, \
0.01796, 0.01791, 0.009173");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
values("0.01253, 0.0125, 0.01246, 0.0124, 0.01234, 0.01229, 0.01223, 0.0122, \
0.01217, 0.01222");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
index_2("0.02, 0.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
values("0.968, 1.042, 1.31, 1.813, 2.612, 3.731, 5.147, 6.753, 8.554, 10.54",\
"0.899, 0.976, 1.238, 1.748, 2.547, 3.66, 5.08, 6.687, 8.48, 10.47",\
"0.649, 0.721, 0.989, 1.495, 2.289, 3.409, 4.82, 6.431, 8.226, 10.2",\
"0.14, 0.216, 0.472, 0.983, 1.778, 2.888, 4.307, 5.919, 7.706, 9.694",\
"-0.684, -0.605, -0.35, 0.158, 0.956, 2.077, 3.497, 5.101, 6.896, 8.883",\
"-1.742, -1.673, -1.412, -0.916, -0.129, 0.983, 2.408, 4.002, 5.789, 7.774",\
"-3.002, -2.928, -2.682, -2.19, -1.409, -0.309, 1.096, 2.674, 4.438, 6.409",\
"-4.45, -4.385, -4.142, -3.658, -2.884, -1.799, -0.409, 1.14, 2.878, 4.808",\
"-6.089, -6.033, -5.782, -5.314, -4.56, -3.492, -2.118, -0.595, 1.098, 2.986",\
"-7.934, -7.862, -7.625, -7.163, -6.429, -5.371, -4.028, -2.537, -0.879, 0.935");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
index_2("0.02, 0.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
values("1.723, 1.801, 2.065, 2.591, 3.426, 4.592, 6.097, 7.866, 9.87, 12.08",\
"1.659, 1.735, 2.004, 2.536, 3.362, 4.53, 6.036, 7.807, 9.808, 12.02",\
"1.448, 1.518, 1.79, 2.318, 3.143, 4.319, 5.818, 7.591, 9.586, 11.81",\
"1.108, 1.188, 1.452, 1.974, 2.804, 3.983, 5.489, 7.264, 9.264, 11.49",\
"0.736, 0.816, 1.08, 1.601, 2.428, 3.596, 5.1, 6.877, 8.875, 11.1",\
"0.357, 0.434, 0.7, 1.215, 2.032, 3.19, 4.689, 6.452, 8.451, 10.68",\
"-0.035, 0.041, 0.3, 0.816, 1.628, 2.778, 4.259, 6.012, 8, 10.22",\
"-0.443, -0.364, -0.098, 0.415, 1.222, 2.357, 3.817, 5.562, 7.534, 9.736",\
"-0.843, -0.767, -0.49, 0.013, 0.812, 1.938, 3.388, 5.117, 7.075, 9.26",\
"-1.224, -1.144, -0.876, -0.371, 0.426, 1.535, 2.967, 4.682, 6.619, 8.792");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
index_2("0.02, 0.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
values("3.309, 3.237, 2.922, 2.347, 1.567, 0.644, -0.466, -1.814, -3.382, -5.147",\
"3.38, 3.302, 2.956, 2.413, 1.64, 0.715, -0.398, -1.75, -3.319, -5.074",\
"3.646, 3.571, 3.233, 2.681, 1.905, 0.984, -0.138, -1.478, -3.052, -4.816",\
"4.173, 4.101, 3.753, 3.214, 2.432, 1.509, 0.395, -0.953, -2.524, -4.284",\
"5.006, 4.933, 4.582, 4.044, 3.261, 2.338, 1.224, -0.123, -1.693, -3.452",\
"6.169, 6.095, 5.783, 5.212, 4.427, 3.5, 2.387, 1.042, -0.529, -2.291",\
"7.663, 7.59, 7.248, 6.705, 5.92, 4.984, 3.874, 2.533, 0.96, -0.805",\
"9.459, 9.39, 9.081, 8.505, 7.713, 6.768, 5.656, 4.312, 2.736, 0.967",\
"11.55, 11.47, 11.13, 10.58, 9.78, 8.827, 7.702, 6.348, 4.776, 2.995",\
"13.86, 13.8, 13.49, 12.91, 12.09, 11.12, 9.985, 8.62, 7.034, 5.248");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
index_2("0.02, 0.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
values("0.578, 0.494, 0.226, -0.312, -1.208, -2.433, -3.991, -5.849, -7.956, -10.33",\
"0.637, 0.558, 0.282, -0.271, -1.143, -2.369, -3.924, -5.779, -7.896, -10.27",\
"0.852, 0.768, 0.491, -0.049, -0.936, -2.155, -3.722, -5.566, -7.675, -10.04",\
"1.216, 1.126, 0.854, 0.317, -0.572, -1.801, -3.359, -5.208, -7.32, -9.687",\
"1.708, 1.622, 1.349, 0.81, -0.077, -1.307, -2.87, -4.704, -6.822, -9.191",\
"2.284, 2.196, 1.915, 1.363, 0.502, -0.729, -2.287, -4.133, -6.235, -8.598",\
"2.905, 2.828, 2.54, 1.992, 1.12, -0.097, -1.653, -3.496, -5.595, -7.955",\
"3.573, 3.49, 3.202, 2.653, 1.785, 0.559, -0.992, -2.83, -4.918, -7.262",\
"4.262, 4.179, 3.9, 3.338, 2.474, 1.251, -0.301, -2.135, -4.213, -6.571",\
"4.973, 4.886, 4.604, 4.063, 3.181, 1.965, 0.428, -1.409, -3.495, -5.825");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.1524 ;
max_transition : 21 ;
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.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
index_2("0.001, 0.002045, 0.005712, 0.01272, 0.02363, 0.03894, 0.05908, 0.08446, 0.1154, 0.1524");
values("0.03055, 0.0306, 0.03071, 0.03081, 0.0309, 0.03094, 0.03097, 0.03099, 0.031, 0.03101",\
"0.03056, 0.0306, 0.03072, 0.03083, 0.03091, 0.03095, 0.03098, 0.031, 0.03101, 0.03101",\
"0.03057, 0.03062, 0.03073, 0.03084, 0.03092, 0.03097, 0.03099, 0.03101, 0.03102, 0.03102",\
"0.03055, 0.0306, 0.03071, 0.03082, 0.0309, 0.03095, 0.03099, 0.03099, 0.03101, 0.03102",\
"0.03053, 0.03058, 0.03068, 0.03079, 0.03088, 0.03092, 0.03094, 0.03097, 0.03098, 0.03098",\
"0.03048, 0.03054, 0.03065, 0.03077, 0.03085, 0.0309, 0.03093, 0.03094, 0.03094, 0.03095",\
"0.03044, 0.0305, 0.03063, 0.03072, 0.03082, 0.03085, 0.03088, 0.0309, 0.0309, 0.03089",\
"0.03044, 0.03046, 0.03058, 0.0307, 0.03076, 0.03081, 0.03084, 0.03085, 0.03072, 0.03028",\
"0.03036, 0.03041, 0.03053, 0.03062, 0.03069, 0.03058, 0.02987, 0.02916, 0.02867, 0.02833",\
"0.0004055, 0.0004055, 0.0004039, 0.0004023, 0.0004007, 0.0004007, 0.000399, 0.000399, 0.0003974, 0.0003974");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
index_2("0.001, 0.002045, 0.005712, 0.01272, 0.02363, 0.03894, 0.05908, 0.08446, 0.1154, 0.1524");
values("-0.001469, -0.001437, -0.001345, -0.001198, -0.001058, -0.0009096, -0.0006929, 0.002265, 0.02614, 0.07668",\
"-0.001459, -0.00143, -0.00135, -0.001208, -0.001038, -0.0009129, -0.0007094, 0.002466, 0.02742, 0.07765",\
"-0.00147, -0.001429, -0.001354, -0.001199, -0.001046, -0.0008967, -0.0005652, 0.003317, 0.03098, 0.08107",\
"-0.001464, -0.001448, -0.001356, -0.00122, -0.001085, -0.0009019, -0.0005613, 0.005485, 0.03905, 0.0868",\
"-0.001485, -0.001468, -0.00138, -0.00123, -0.001075, -0.0009055, -0.0001201, 0.01163, 0.05189, 0.09324",\
"-0.001482, -0.00144, -0.001354, -0.001212, -0.001046, -0.000871, 0.002045, 0.02657, 0.06597, 0.09665",\
"-0.001388, -0.001353, -0.00126, -0.001112, -0.0009888, 2.012e-05, 0.01493, 0.04713, 0.07247, 0.09051",\
"-0.001156, -0.001137, -0.001034, -0.0008971, 0.0002237, 0.01508, 0.03547, 0.04937, 0.05876, 0.06527",\
"-0.003619, -0.003597, -0.001779, 0.001286, 0.003378, 0.004609, 0.005345, 0.005793, 0.006097, 0.006294",\
"-0.03859, -0.03859, -0.03859, -0.03859, -0.03859, -0.03859, -0.03859, -0.03859, -0.03859, -0.03859");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
index_2("0.001, 0.002045, 0.005712, 0.01272, 0.02363, 0.03894, 0.05908, 0.08446, 0.1154, 0.1524");
values("4.445, 4.498, 4.652, 4.891, 5.206, 5.606, 6.114, 6.748, 7.52, 8.441",\
"4.522, 4.576, 4.73, 4.969, 5.284, 5.683, 6.191, 6.825, 7.598, 8.518",\
"4.798, 4.851, 5.006, 5.244, 5.56, 5.959, 6.467, 7.101, 7.874, 8.795",\
"5.334, 5.387, 5.542, 5.781, 6.096, 6.496, 7.003, 7.637, 8.41, 9.332",\
"6.179, 6.232, 6.386, 6.625, 6.94, 7.34, 7.848, 8.481, 9.254, 10.18",\
"7.366, 7.419, 7.574, 7.814, 8.129, 8.528, 9.036, 9.67, 10.44, 11.36",\
"8.896, 8.95, 9.104, 9.342, 9.659, 10.06, 10.57, 11.2, 11.97, 12.89",\
"10.72, 10.77, 10.93, 11.16, 11.48, 11.88, 12.39, 13.02, 13.79, 14.71",\
"12.78, 12.83, 12.98, 13.22, 13.54, 13.94, 14.44, 15.08, 15.85, 16.77",\
"15.06, 15.12, 15.27, 15.51, 15.83, 16.23, 16.73, 17.37, 18.14, 19.06");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
index_2("0.001, 0.002045, 0.005712, 0.01272, 0.02363, 0.03894, 0.05908, 0.08446, 0.1154, 0.1524");
values("6.489, 6.582, 6.894, 7.477, 8.368, 9.611, 11.24, 13.29, 15.8, 18.78",\
"6.566, 6.658, 6.971, 7.555, 8.445, 9.687, 11.32, 13.37, 15.88, 18.86",\
"6.841, 6.934, 7.247, 7.831, 8.721, 9.963, 11.59, 13.65, 16.15, 19.13",\
"7.376, 7.469, 7.782, 8.364, 9.255, 10.5, 12.13, 14.18, 16.68, 19.67",\
"8.222, 8.314, 8.626, 9.21, 10.1, 11.34, 12.97, 15.03, 17.53, 20.51",\
"9.408, 9.5, 9.813, 10.4, 11.29, 12.53, 14.16, 16.21, 18.72, 21.7",\
"10.94, 11.03, 11.35, 11.93, 12.82, 14.06, 15.69, 17.75, 20.25, 23.23",\
"12.78, 12.87, 13.18, 13.77, 14.66, 15.9, 17.53, 19.58, 22.09, 25.07",\
"14.85, 14.95, 15.26, 15.84, 16.73, 17.97, 19.6, 21.66, 24.16, 27.15",\
"17.17, 17.26, 17.57, 18.15, 19.04, 20.29, 21.92, 23.97, 26.47, 29.46");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
index_2("0.001, 0.002045, 0.005712, 0.01272, 0.02363, 0.03894, 0.05908, 0.08446, 0.1154, 0.1524");
values("0.3628, 0.4114, 0.5678, 0.846, 1.247, 1.828, 2.641, 3.695, 4.993, 6.532",\
"0.3628, 0.4114, 0.5682, 0.8452, 1.247, 1.828, 2.641, 3.695, 4.992, 6.532",\
"0.363, 0.4108, 0.568, 0.8456, 1.247, 1.83, 2.642, 3.692, 4.99, 6.541",\
"0.3628, 0.4112, 0.568, 0.8456, 1.247, 1.829, 2.641, 3.695, 4.985, 6.544",\
"0.3626, 0.4106, 0.5682, 0.8452, 1.247, 1.83, 2.642, 3.691, 4.988, 6.534",\
"0.362, 0.412, 0.568, 0.846, 1.246, 1.83, 2.642, 3.692, 4.992, 6.54",\
"0.362, 0.412, 0.568, 0.846, 1.248, 1.83, 2.642, 3.69, 4.992, 6.542",\
"0.364, 0.412, 0.566, 0.846, 1.248, 1.83, 2.64, 3.692, 4.994, 6.534",\
"0.364, 0.412, 0.568, 0.846, 1.246, 1.828, 2.64, 3.688, 4.986, 6.536",\
"0.364, 0.412, 0.568, 0.846, 1.248, 1.83, 2.642, 3.696, 4.982, 6.532");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1648, 0.6731, 1.644, 3.156, 5.278, 8.07, 11.59, 15.88, 21");
index_2("0.001, 0.002045, 0.005712, 0.01272, 0.02363, 0.03894, 0.05908, 0.08446, 0.1154, 0.1524");
values("0.565, 0.6996, 1.189, 2.127, 3.587, 5.652, 8.38, 11.83, 16.02, 21.01",\
"0.5648, 0.6998, 1.188, 2.127, 3.587, 5.652, 8.377, 11.82, 16.03, 21.04",\
"0.5648, 0.6994, 1.189, 2.127, 3.584, 5.65, 8.384, 11.83, 16, 21",\
"0.5648, 0.6994, 1.188, 2.127, 3.584, 5.654, 8.384, 11.81, 16, 21",\
"0.5642, 0.7, 1.19, 2.126, 3.586, 5.654, 8.382, 11.81, 16, 21",\
"0.564, 0.698, 1.188, 2.126, 3.584, 5.654, 8.384, 11.81, 16, 21.02",\
"0.566, 0.7, 1.19, 2.128, 3.584, 5.652, 8.384, 11.81, 16, 21",\
"0.566, 0.7, 1.188, 2.128, 3.586, 5.652, 8.374, 11.82, 16.02, 20.99",\
"0.566, 0.7, 1.188, 2.126, 3.586, 5.656, 8.384, 11.83, 16.01, 21.01",\
"0.564, 0.7, 1.188, 2.128, 3.586, 5.656, 8.374, 11.83, 16, 21");
}
}
}
}