blob: a78a904e00f96b9f0674e922868290df5d15e8d5 [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_4) {
area : 83.417600 ;
ff(IQ1,IQN1) {
clocked_on : "(!CLKN)" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&!D" ;
value : "0.00137394" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.00139671" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.001275615" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.001320345" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.00139671" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.003499 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 7 ;
min_period : 1.841 ;
min_pulse_width_high : 0.81 ;
min_pulse_width_low : 0.909 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.257, 0.2564, 0.2574, 0.2656, 0.2854, 0.3172, 0.3619, 0.4207, \
0.4936, 0.5814");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.165, 0.1647, 0.1652, 0.172, 0.1884, 0.2152, 0.2541, 0.3058, \
0.3706, 0.4489");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.2569, 0.2565, 0.2573, 0.2657, 0.2854, 0.3171, 0.3618, 0.4206, \
0.4935, 0.5814");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.1651, 0.1647, 0.1654, 0.1721, 0.1884, 0.2153, 0.2544, 0.306, \
0.3706, 0.4492");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.824");
}
rise_constraint(scalar) {
values("0.81");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.909");
}
rise_constraint(scalar) {
values("0.671");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("1.744");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("1.841");
}
}
}
pin(D) {
capacitance : 0.00237 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 7 ;
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.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.04763, 0.04687, 0.0492, 0.05745, 0.07242, 0.0948, 0.125, 0.1636, \
0.2111, 0.268");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.005174, 0.004855, 0.006169, 0.01203, 0.02383, 0.04225, 0.06769, \
0.1005, 0.1412, 0.1901");
}
}
internal_power() {
when : "CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.1667, 0.1663, 0.1677, 0.1742, 0.1886, 0.2115, 0.2437, 0.2856, \
0.3375, 0.3998");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.107, 0.1067, 0.1079, 0.1133, 0.1244, 0.1423, 0.1679, 0.2016, \
0.2441, 0.2957");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.097, 0.114, 0.163, 0.244, 0.349, 0.478, 0.619, 0.778, 0.963, 1.166",\
"0.085, 0.098, 0.144, 0.23, 0.339, 0.467, 0.606, 0.765, 0.949, 1.154",\
"0.034, 0.044, 0.091, 0.178, 0.285, 0.412, 0.549, 0.706, 0.895, 1.102",\
"-0.085, -0.071, -0.018, 0.065, 0.172, 0.298, 0.433, 0.589, 0.772, 0.978",\
"-0.228, -0.215, -0.167, -0.083, 0.017, 0.142, 0.277, 0.43, 0.603, 0.803",\
"-0.41, -0.398, -0.352, -0.267, -0.17, -0.053, 0.079, 0.232, 0.406, 0.597",\
"-0.62, -0.606, -0.564, -0.483, -0.39, -0.272, -0.146, -0.003, 0.172, 0.354",\
"-0.866, -0.844, -0.808, -0.726, -0.637, -0.536, -0.414, -0.272, -0.108, 0.079",\
"-1.14, -1.128, -1.085, -1.008, -0.929, -0.827, -0.714, -0.578, -0.42, -0.237",\
"-1.456, -1.437, -1.4, -1.326, -1.252, -1.158, -1.054, -0.927, -0.772, -0.593");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.269, 0.279, 0.329, 0.426, 0.57, 0.738, 0.927, 1.138, 1.369, 1.627",\
"0.257, 0.271, 0.315, 0.423, 0.562, 0.733, 0.918, 1.129, 1.358, 1.618",\
"0.23, 0.236, 0.285, 0.387, 0.527, 0.699, 0.887, 1.1, 1.33, 1.586",\
"0.2, 0.214, 0.261, 0.364, 0.5, 0.669, 0.863, 1.067, 1.303, 1.556",\
"0.195, 0.204, 0.251, 0.359, 0.493, 0.664, 0.852, 1.057, 1.294, 1.545",\
"0.216, 0.223, 0.271, 0.371, 0.512, 0.678, 0.866, 1.076, 1.308, 1.561",\
"0.269, 0.282, 0.321, 0.426, 0.563, 0.726, 0.915, 1.126, 1.353, 1.603",\
"0.361, 0.368, 0.411, 0.511, 0.642, 0.806, 0.995, 1.2, 1.428, 1.684",\
"0.496, 0.502, 0.546, 0.642, 0.771, 0.934, 1.116, 1.312, 1.546, 1.795",\
"0.687, 0.694, 0.728, 0.829, 0.944, 1.086, 1.27, 1.467, 1.694, 1.94");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.538, 0.529, 0.465, 0.375, 0.252, 0.11, -0.046, -0.213, -0.407, -0.619",\
"0.551, 0.535, 0.483, 0.39, 0.263, 0.125, -0.031, -0.204, -0.395, -0.612",\
"0.604, 0.593, 0.534, 0.441, 0.317, 0.175, 0.021, -0.152, -0.344, -0.556",\
"0.719, 0.708, 0.646, 0.552, 0.43, 0.286, 0.136, -0.044, -0.233, -0.446",\
"0.886, 0.876, 0.821, 0.73, 0.6, 0.454, 0.299, 0.125, -0.067, -0.276",\
"1.113, 1.098, 1.04, 0.943, 0.817, 0.677, 0.515, 0.342, 0.153, -0.068",\
"1.375, 1.366, 1.307, 1.21, 1.088, 0.938, 0.776, 0.603, 0.409, 0.19",\
"1.703, 1.691, 1.628, 1.53, 1.398, 1.249, 1.086, 0.909, 0.71, 0.495",\
"2.062, 2.058, 1.996, 1.891, 1.76, 1.601, 1.44, 1.257, 1.056, 0.841",\
"2.489, 2.477, 2.412, 2.308, 2.17, 2.006, 1.831, 1.651, 1.456, 1.238");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.298, 0.284, 0.24, 0.137, 0.005, -0.159, -0.347, -0.554, -0.793, -1.054",\
"0.306, 0.294, 0.247, 0.147, 0.008, -0.151, -0.336, -0.548, -0.791, -1.05",\
"0.339, 0.326, 0.278, 0.182, 0.046, -0.118, -0.301, -0.521, -0.752, -1.013",\
"0.394, 0.381, 0.337, 0.234, 0.094, -0.073, -0.26, -0.473, -0.7, -0.968",\
"0.443, 0.431, 0.38, 0.278, 0.14, -0.025, -0.22, -0.43, -0.665, -0.92",\
"0.478, 0.467, 0.412, 0.311, 0.171, 0, -0.189, -0.405, -0.638, -0.898",\
"0.486, 0.471, 0.422, 0.318, 0.173, 0.006, -0.186, -0.398, -0.637, -0.896",\
"0.476, 0.46, 0.408, 0.303, 0.155, -0.01, -0.203, -0.422, -0.66, -0.927",\
"0.427, 0.415, 0.358, 0.255, 0.106, -0.058, -0.254, -0.473, -0.713, -0.978",\
"0.346, 0.329, 0.276, 0.18, 0.032, -0.144, -0.335, -0.554, -0.796, -1.061");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.8796 ;
max_transition : 7 ;
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.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.001, 0.007064, 0.02835, 0.069, 0.1323, 0.2212, 0.3381, 0.4854, 0.6652, 0.8796");
values("0.704, 0.686, 0.6469, 0.615, 0.5967, 0.5845, 0.5767, 0.5713, 0.5673, 0.5644",\
"0.7039, 0.6859, 0.647, 0.6152, 0.5965, 0.5846, 0.5767, 0.5713, 0.5674, 0.5645",\
"0.704, 0.686, 0.6469, 0.6152, 0.5964, 0.5846, 0.5766, 0.5712, 0.5672, 0.5643",\
"0.7044, 0.6863, 0.6472, 0.6156, 0.5967, 0.585, 0.577, 0.5715, 0.5675, 0.5647",\
"0.7061, 0.6884, 0.6491, 0.6176, 0.5985, 0.5868, 0.5789, 0.5734, 0.5694, 0.5665",\
"0.7092, 0.6912, 0.6519, 0.6203, 0.6016, 0.5898, 0.5818, 0.5762, 0.5722, 0.5693",\
"0.714, 0.6963, 0.6569, 0.625, 0.606, 0.594, 0.5861, 0.5806, 0.5766, 0.5737",\
"0.7194, 0.7013, 0.6618, 0.63, 0.6113, 0.5993, 0.5912, 0.5857, 0.5816, 0.5787",\
"0.7263, 0.7083, 0.6688, 0.6365, 0.6174, 0.6054, 0.5975, 0.5918, 0.5877, 0.5847",\
"0.7342, 0.7161, 0.6764, 0.644, 0.6249, 0.6126, 0.6046, 0.5991, 0.5951, 0.5921");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.001, 0.007064, 0.02835, 0.069, 0.1323, 0.2212, 0.3381, 0.4854, 0.6652, 0.8796");
values("0.7836, 0.7711, 0.7497, 0.7322, 0.7223, 0.7178, 0.717, 0.7176, 0.7192, 0.7269",\
"0.7831, 0.7712, 0.7484, 0.7322, 0.7219, 0.7174, 0.718, 0.7176, 0.7192, 0.7268",\
"0.7837, 0.7712, 0.7492, 0.7317, 0.7219, 0.7183, 0.718, 0.7181, 0.7192, 0.7264",\
"0.7843, 0.7714, 0.7506, 0.7332, 0.7233, 0.7185, 0.7182, 0.7188, 0.7208, 0.7277",\
"0.7869, 0.7745, 0.7517, 0.7355, 0.7257, 0.7208, 0.721, 0.722, 0.7227, 0.7324",\
"0.7895, 0.7768, 0.7551, 0.7387, 0.7281, 0.7234, 0.7239, 0.7249, 0.7262, 0.7365",\
"0.7933, 0.7808, 0.7594, 0.7424, 0.7326, 0.7281, 0.7273, 0.7283, 0.7302, 0.7447",\
"0.7988, 0.7867, 0.7656, 0.7479, 0.7389, 0.7342, 0.733, 0.734, 0.736, 0.7526",\
"0.8037, 0.7908, 0.7706, 0.7524, 0.7434, 0.7409, 0.7401, 0.7402, 0.7415, 0.7688",\
"0.8095, 0.7975, 0.7758, 0.758, 0.7483, 0.7435, 0.7459, 0.75, 0.7532, 0.7987");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.001, 0.007064, 0.02835, 0.069, 0.1323, 0.2212, 0.3381, 0.4854, 0.6652, 0.8796");
values("1.238, 1.276, 1.378, 1.527, 1.717, 1.951, 2.241, 2.598, 3.033, 3.55",\
"1.251, 1.289, 1.391, 1.54, 1.73, 1.964, 2.254, 2.611, 3.046, 3.563",\
"1.301, 1.339, 1.441, 1.59, 1.78, 2.014, 2.303, 2.661, 3.096, 3.613",\
"1.404, 1.442, 1.544, 1.693, 1.883, 2.117, 2.407, 2.764, 3.199, 3.716",\
"1.555, 1.592, 1.694, 1.843, 2.033, 2.267, 2.557, 2.915, 3.349, 3.867",\
"1.732, 1.77, 1.872, 2.021, 2.211, 2.444, 2.734, 3.092, 3.527, 4.044",\
"1.934, 1.972, 2.074, 2.223, 2.413, 2.647, 2.937, 3.295, 3.729, 4.247",\
"2.16, 2.197, 2.299, 2.449, 2.639, 2.873, 3.163, 3.52, 3.955, 4.472",\
"2.407, 2.444, 2.546, 2.696, 2.886, 3.12, 3.41, 3.767, 4.202, 4.719",\
"2.676, 2.713, 2.815, 2.965, 3.155, 3.389, 3.679, 4.037, 4.471, 4.989");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.001, 0.007064, 0.02835, 0.069, 0.1323, 0.2212, 0.3381, 0.4854, 0.6652, 0.8796");
values("1.382, 1.418, 1.524, 1.704, 1.979, 2.364, 2.874, 3.515, 4.3, 5.235",\
"1.394, 1.431, 1.536, 1.717, 1.991, 2.377, 2.885, 3.528, 4.312, 5.247",\
"1.445, 1.481, 1.587, 1.767, 2.041, 2.427, 2.936, 3.578, 4.363, 5.297",\
"1.549, 1.585, 1.691, 1.872, 2.147, 2.532, 3.041, 3.683, 4.468, 5.402",\
"1.704, 1.74, 1.846, 2.026, 2.301, 2.686, 3.196, 3.837, 4.622, 5.556",\
"1.889, 1.925, 2.031, 2.212, 2.486, 2.872, 3.38, 4.023, 4.807, 5.742",\
"2.101, 2.137, 2.242, 2.423, 2.697, 3.083, 3.592, 4.234, 5.019, 5.953",\
"2.339, 2.375, 2.481, 2.661, 2.935, 3.321, 3.831, 4.472, 5.256, 6.192",\
"2.598, 2.633, 2.741, 2.921, 3.195, 3.58, 4.089, 4.731, 5.515, 6.452",\
"2.878, 2.914, 3.021, 3.201, 3.476, 3.861, 4.37, 5.012, 5.796, 6.731");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.001, 0.007064, 0.02835, 0.069, 0.1323, 0.2212, 0.3381, 0.4854, 0.6652, 0.8796");
values("0.1816, 0.2188, 0.3188, 0.4806, 0.7088, 1.031, 1.477, 2.062, 2.788, 3.663",\
"0.1818, 0.218, 0.3188, 0.4804, 0.7084, 1.032, 1.477, 2.06, 2.786, 3.663",\
"0.1816, 0.2186, 0.3186, 0.4808, 0.7084, 1.031, 1.477, 2.059, 2.786, 3.662",\
"0.1816, 0.2188, 0.3188, 0.4806, 0.7088, 1.031, 1.477, 2.059, 2.786, 3.662",\
"0.1818, 0.2182, 0.319, 0.4806, 0.709, 1.031, 1.477, 2.062, 2.786, 3.663",\
"0.182, 0.2178, 0.3186, 0.4806, 0.7088, 1.03, 1.477, 2.061, 2.788, 3.661",\
"0.1818, 0.2184, 0.3188, 0.4806, 0.7088, 1.032, 1.477, 2.06, 2.788, 3.66",\
"0.1816, 0.2184, 0.3198, 0.4812, 0.7092, 1.032, 1.477, 2.061, 2.789, 3.657",\
"0.1824, 0.2188, 0.3198, 0.4816, 0.7092, 1.032, 1.478, 2.059, 2.785, 3.66",\
"0.1824, 0.2194, 0.3198, 0.482, 0.709, 1.031, 1.476, 2.062, 2.786, 3.655");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.001, 0.007064, 0.02835, 0.069, 0.1323, 0.2212, 0.3381, 0.4854, 0.6652, 0.8796");
values("0.1556, 0.1996, 0.3506, 0.6476, 1.132, 1.827, 2.745, 3.898, 5.308, 6.991",\
"0.1564, 0.1996, 0.3506, 0.6476, 1.133, 1.825, 2.745, 3.897, 5.31, 6.992",\
"0.1556, 0.1994, 0.3502, 0.6468, 1.133, 1.824, 2.745, 3.901, 5.31, 6.992",\
"0.1556, 0.199, 0.3506, 0.6478, 1.133, 1.828, 2.745, 3.904, 5.314, 6.992",\
"0.1556, 0.1996, 0.3504, 0.6468, 1.133, 1.827, 2.744, 3.901, 5.313, 6.991",\
"0.1544, 0.1986, 0.3502, 0.6474, 1.132, 1.827, 2.745, 3.901, 5.31, 6.991",\
"0.1544, 0.1988, 0.351, 0.6478, 1.132, 1.828, 2.744, 3.904, 5.313, 6.992",\
"0.1544, 0.1986, 0.3502, 0.6474, 1.133, 1.827, 2.745, 3.9, 5.314, 6.991",\
"0.155, 0.1984, 0.3498, 0.6462, 1.133, 1.827, 2.741, 3.901, 5.307, 6.989",\
"0.155, 0.1986, 0.3502, 0.6472, 1.133, 1.827, 2.743, 3.896, 5.314, 6.998");
}
}
}
}