blob: a958032adf4076b7ebae86e96ad7b4c57340afb8 [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 : "0.003516282" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLKN&D" ;
value : "0.00367983" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&!D" ;
value : "0.002895948" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLKN&D" ;
value : "0.003666762" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.00367983" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLKN) {
capacitance : 0.003341 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 8.9 ;
min_period : 2.114 ;
min_pulse_width_high : 0.97 ;
min_pulse_width_low : 1.041 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.04678, 0.04663, 0.04647, 0.04706, 0.04904, 0.0524, 0.05726, \
0.06378, 0.0721, 0.08232");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.03004, 0.02997, 0.02988, 0.03044, 0.03193, 0.03468, 0.03886, \
0.04461, 0.0519, 0.06092");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.04668, 0.04652, 0.04636, 0.04696, 0.04893, 0.05228, 0.05715, \
0.06367, 0.07199, 0.08221");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.0301, 0.03003, 0.02994, 0.0305, 0.032, 0.03475, 0.0389, 0.04465, \
0.05197, 0.06095");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.921");
}
rise_constraint(scalar) {
values("0.97");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("1.041");
}
rise_constraint(scalar) {
values("0.766");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
fall_constraint(scalar) {
values("2.016");
}
}
timing() {
related_pin : "CLKN" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
fall_constraint(scalar) {
values("2.114");
}
}
}
pin(D) {
capacitance : 0.002393 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 8.9 ;
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.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.009489, 0.009235, 0.009331, 0.01024, 0.01208, 0.01493, 0.01887, \
0.02399, 0.03036, 0.03805");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.001342, 0.001258, 0.00131, 0.001943, 0.003381, 0.005713, 0.009017, \
0.01333, 0.01869, 0.02517");
}
}
internal_power() {
when : "CLKN" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.03186, 0.03172, 0.03173, 0.03233, 0.03399, 0.03674, 0.04062, \
0.04583, 0.05238, 0.0604");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.02104, 0.02099, 0.02105, 0.02161, 0.02286, 0.02495, 0.02806, \
0.03222, 0.03754, 0.04409");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : hold_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
index_2("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.062, 0.077, 0.144, 0.268, 0.416, 0.577, 0.781, 1, 1.262, 1.541",\
"0.047, 0.064, 0.126, 0.253, 0.405, 0.564, 0.765, 0.984, 1.246, 1.527",\
"-0.028, -0.011, 0.057, 0.177, 0.33, 0.489, 0.686, 0.912, 1.17, 1.452",\
"-0.167, -0.154, -0.093, 0.031, 0.179, 0.34, 0.537, 0.761, 1.018, 1.299",\
"-0.362, -0.349, -0.286, -0.168, -0.021, 0.14, 0.329, 0.556, 0.81, 1.089",\
"-0.589, -0.583, -0.516, -0.401, -0.249, -0.101, 0.092, 0.31, 0.557, 0.835",\
"-0.859, -0.853, -0.789, -0.672, -0.531, -0.385, -0.192, 0.022, 0.266, 0.543",\
"-1.184, -1.163, -1.104, -0.989, -0.855, -0.711, -0.527, -0.314, -0.073, 0.199",\
"-1.542, -1.527, -1.461, -1.352, -1.221, -1.088, -0.908, -0.695, -0.458, -0.188",\
"-1.944, -1.938, -1.873, -1.767, -1.643, -1.511, -1.34, -1.131, -0.902, -0.635");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
index_2("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.349, 0.373, 0.438, 0.575, 0.775, 0.993, 1.242, 1.525, 1.846, 2.192",\
"0.335, 0.361, 0.422, 0.569, 0.762, 0.977, 1.233, 1.515, 1.826, 2.176",\
"0.287, 0.314, 0.378, 0.516, 0.715, 0.937, 1.191, 1.47, 1.786, 2.134",\
"0.261, 0.281, 0.347, 0.48, 0.679, 0.898, 1.151, 1.43, 1.75, 2.097",\
"0.258, 0.278, 0.341, 0.479, 0.673, 0.89, 1.139, 1.421, 1.739, 2.086",\
"0.288, 0.311, 0.373, 0.512, 0.701, 0.919, 1.17, 1.451, 1.759, 2.106",\
"0.358, 0.385, 0.455, 0.581, 0.775, 0.993, 1.234, 1.51, 1.824, 2.174",\
"0.487, 0.508, 0.571, 0.709, 0.89, 1.108, 1.349, 1.621, 1.931, 2.278",\
"0.671, 0.696, 0.754, 0.887, 1.058, 1.263, 1.505, 1.776, 2.084, 2.43",\
"0.918, 0.949, 1.01, 1.125, 1.289, 1.478, 1.714, 1.979, 2.284, 2.625");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : setup_falling ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
index_2("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.733, 0.714, 0.637, 0.495, 0.319, 0.116, -0.102, -0.355, -0.628, -0.944",\
"0.751, 0.738, 0.652, 0.518, 0.334, 0.14, -0.084, -0.337, -0.615, -0.93",\
"0.831, 0.802, 0.732, 0.585, 0.412, 0.208, -0.003, -0.263, -0.537, -0.858",\
"0.976, 0.954, 0.873, 0.732, 0.555, 0.361, 0.133, -0.113, -0.395, -0.709",\
"1.204, 1.183, 1.109, 0.962, 0.784, 0.583, 0.367, 0.109, -0.165, -0.485",\
"1.497, 1.482, 1.397, 1.253, 1.08, 0.869, 0.645, 0.394, 0.104, -0.214",\
"1.843, 1.826, 1.742, 1.599, 1.416, 1.205, 0.976, 0.719, 0.436, 0.113",\
"2.244, 2.23, 2.151, 2.003, 1.811, 1.599, 1.359, 1.106, 0.813, 0.494",\
"2.718, 2.698, 2.615, 2.463, 2.277, 2.052, 1.812, 1.547, 1.263, 0.933",\
"3.247, 3.223, 3.143, 2.988, 2.789, 2.567, 2.328, 2.063, 1.768, 1.434");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
index_2("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
values("0.321, 0.308, 0.239, 0.114, -0.071, -0.293, -0.547, -0.835, -1.171, -1.535",\
"0.339, 0.321, 0.254, 0.123, -0.063, -0.273, -0.526, -0.824, -1.162, -1.531",\
"0.384, 0.373, 0.306, 0.169, -0.017, -0.233, -0.48, -0.77, -1.11, -1.468",\
"0.454, 0.44, 0.373, 0.236, 0.044, -0.167, -0.424, -0.713, -1.045, -1.409",\
"0.523, 0.5, 0.429, 0.288, 0.097, -0.122, -0.377, -0.656, -0.986, -1.354",\
"0.548, 0.528, 0.456, 0.317, 0.122, -0.101, -0.357, -0.633, -0.963, -1.331",\
"0.546, 0.526, 0.461, 0.31, 0.111, -0.11, -0.367, -0.658, -0.981, -1.34",\
"0.513, 0.491, 0.417, 0.278, 0.074, -0.151, -0.407, -0.698, -1.023, -1.387",\
"0.432, 0.416, 0.341, 0.196, -0.002, -0.234, -0.491, -0.778, -1.11, -1.47",\
"0.314, 0.291, 0.216, 0.072, -0.131, -0.361, -0.623, -0.907, -1.231, -1.604");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.4188 ;
max_transition : 8.9 ;
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.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
index_2("0.001, 0.003884, 0.01401, 0.03334, 0.06345, 0.1057, 0.1613, 0.2314, 0.3169, 0.4188");
values("0.07072, 0.07004, 0.06913, 0.06868, 0.06847, 0.06838, 0.06831, 0.06827, 0.06825, 0.06823",\
"0.07072, 0.07004, 0.0691, 0.06865, 0.06844, 0.06834, 0.06829, 0.06826, 0.06821, 0.06822",\
"0.0707, 0.07002, 0.06913, 0.06865, 0.06845, 0.06836, 0.0683, 0.06826, 0.06824, 0.0682",\
"0.07072, 0.07005, 0.06913, 0.06866, 0.06845, 0.06837, 0.0683, 0.06825, 0.06822, 0.0682",\
"0.07094, 0.07029, 0.06936, 0.06886, 0.06863, 0.06855, 0.06849, 0.06845, 0.06842, 0.0684",\
"0.07129, 0.07064, 0.06968, 0.06919, 0.069, 0.0689, 0.06883, 0.06878, 0.06875, 0.06873",\
"0.07172, 0.07101, 0.07006, 0.06962, 0.0694, 0.06928, 0.06923, 0.06918, 0.06915, 0.06913",\
"0.07223, 0.07162, 0.07066, 0.07009, 0.0699, 0.0698, 0.06975, 0.06971, 0.06966, 0.06964",\
"0.07291, 0.07224, 0.07127, 0.07077, 0.07054, 0.07045, 0.0704, 0.07032, 0.07029, 0.07026",\
"0.07375, 0.07304, 0.07202, 0.07154, 0.07132, 0.07119, 0.07113, 0.07108, 0.07108, 0.07104");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
index_2("0.001, 0.003884, 0.01401, 0.03334, 0.06345, 0.1057, 0.1613, 0.2314, 0.3169, 0.4188");
values("0.08364, 0.08333, 0.08277, 0.08269, 0.08289, 0.08324, 0.08379, 0.08412, 0.08477, 0.08849",\
"0.08364, 0.08335, 0.0828, 0.0827, 0.08291, 0.08325, 0.08381, 0.08414, 0.08483, 0.08843",\
"0.08366, 0.08334, 0.08279, 0.08273, 0.08293, 0.08332, 0.08379, 0.08414, 0.08482, 0.08852",\
"0.08381, 0.08342, 0.08286, 0.08282, 0.08302, 0.08341, 0.08392, 0.08432, 0.08503, 0.08932",\
"0.08427, 0.0839, 0.08333, 0.08332, 0.08345, 0.08385, 0.08433, 0.08481, 0.08551, 0.09072",\
"0.08478, 0.08448, 0.08383, 0.08383, 0.08405, 0.08438, 0.0849, 0.08536, 0.0863, 0.09283",\
"0.08531, 0.08492, 0.08438, 0.08435, 0.08459, 0.08502, 0.0855, 0.08586, 0.08707, 0.09574",\
"0.08597, 0.08561, 0.08506, 0.08506, 0.08542, 0.08577, 0.08611, 0.0865, 0.08829, 0.101",\
"0.08677, 0.08632, 0.08583, 0.08573, 0.08597, 0.08658, 0.08709, 0.08743, 0.09034, 0.1094",\
"0.08757, 0.08721, 0.08668, 0.08655, 0.08676, 0.08714, 0.08776, 0.08892, 0.09423, 0.1255");
}
}
timing() {
related_pin : "CLKN" ;
timing_type : falling_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
index_2("0.001, 0.003884, 0.01401, 0.03334, 0.06345, 0.1057, 0.1613, 0.2314, 0.3169, 0.4188");
values("1.315, 1.354, 1.458, 1.607, 1.79, 2.017, 2.301, 2.653, 3.082, 3.592",\
"1.334, 1.372, 1.476, 1.625, 1.808, 2.036, 2.32, 2.672, 3.101, 3.61",\
"1.405, 1.443, 1.547, 1.696, 1.879, 2.106, 2.391, 2.743, 3.171, 3.682",\
"1.548, 1.586, 1.69, 1.839, 2.022, 2.25, 2.534, 2.886, 3.315, 3.825",\
"1.756, 1.794, 1.898, 2.047, 2.23, 2.457, 2.742, 3.094, 3.522, 4.032",\
"1.996, 2.034, 2.138, 2.287, 2.47, 2.698, 2.982, 3.334, 3.763, 4.273",\
"2.265, 2.303, 2.407, 2.556, 2.74, 2.967, 3.251, 3.604, 4.032, 4.542",\
"2.567, 2.605, 2.71, 2.858, 3.042, 3.269, 3.553, 3.906, 4.334, 4.844",\
"2.903, 2.942, 3.046, 3.195, 3.378, 3.606, 3.89, 4.242, 4.671, 5.181",\
"3.275, 3.314, 3.418, 3.567, 3.751, 3.978, 4.263, 4.615, 5.044, 5.554");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
index_2("0.001, 0.003884, 0.01401, 0.03334, 0.06345, 0.1057, 0.1613, 0.2314, 0.3169, 0.4188");
values("1.539, 1.584, 1.717, 1.95, 2.304, 2.8, 3.451, 4.27, 5.271, 6.463",\
"1.558, 1.603, 1.736, 1.968, 2.323, 2.818, 3.469, 4.289, 5.29, 6.482",\
"1.628, 1.674, 1.807, 2.039, 2.393, 2.889, 3.54, 4.36, 5.36, 6.553",\
"1.773, 1.818, 1.951, 2.184, 2.538, 3.033, 3.685, 4.504, 5.505, 6.697",\
"1.986, 2.031, 2.164, 2.396, 2.75, 3.245, 3.897, 4.717, 5.717, 6.909",\
"2.236, 2.281, 2.414, 2.647, 3.001, 3.497, 4.148, 4.967, 5.968, 7.16",\
"2.516, 2.561, 2.695, 2.926, 3.28, 3.777, 4.427, 5.247, 6.248, 7.439",\
"2.83, 2.875, 3.008, 3.241, 3.595, 4.091, 4.741, 5.561, 6.561, 7.755",\
"3.181, 3.225, 3.358, 3.59, 3.945, 4.44, 5.09, 5.91, 6.91, 8.103",\
"3.566, 3.611, 3.743, 3.976, 4.33, 4.826, 5.477, 6.296, 7.296, 8.488");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
index_2("0.001, 0.003884, 0.01401, 0.03334, 0.06345, 0.1057, 0.1613, 0.2314, 0.3169, 0.4188");
values("0.1684, 0.2044, 0.3106, 0.4694, 0.6966, 1.029, 1.491, 2.092, 2.832, 3.723",\
"0.1686, 0.2046, 0.3106, 0.4688, 0.6972, 1.029, 1.493, 2.092, 2.832, 3.723",\
"0.1684, 0.2046, 0.3108, 0.4694, 0.6972, 1.029, 1.493, 2.089, 2.832, 3.723",\
"0.1682, 0.2044, 0.3112, 0.4686, 0.6968, 1.029, 1.489, 2.088, 2.83, 3.727",\
"0.1684, 0.205, 0.3106, 0.4694, 0.6962, 1.029, 1.49, 2.091, 2.836, 3.726",\
"0.1692, 0.205, 0.3112, 0.4696, 0.6962, 1.029, 1.492, 2.09, 2.831, 3.722",\
"0.169, 0.2056, 0.3112, 0.4692, 0.697, 1.029, 1.493, 2.09, 2.833, 3.723",\
"0.1696, 0.2054, 0.3114, 0.47, 0.6966, 1.03, 1.489, 2.089, 2.832, 3.725",\
"0.1698, 0.2058, 0.3118, 0.4704, 0.6964, 1.031, 1.493, 2.089, 2.831, 3.719",\
"0.1702, 0.2064, 0.3126, 0.4704, 0.6984, 1.03, 1.49, 2.09, 2.831, 3.722");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
index_2("0.001, 0.003884, 0.01401, 0.03334, 0.06345, 0.1057, 0.1613, 0.2314, 0.3169, 0.4188");
values("0.18, 0.2352, 0.4252, 0.812, 1.438, 2.323, 3.488, 4.963, 6.748, 8.884",\
"0.1802, 0.2354, 0.4252, 0.813, 1.438, 2.322, 3.488, 4.962, 6.746, 8.884",\
"0.18, 0.2352, 0.4254, 0.813, 1.438, 2.319, 3.49, 4.961, 6.745, 8.889",\
"0.179, 0.2356, 0.4254, 0.813, 1.438, 2.322, 3.489, 4.962, 6.748, 8.885",\
"0.1792, 0.2352, 0.425, 0.8134, 1.439, 2.321, 3.484, 4.959, 6.746, 8.884",\
"0.1794, 0.2352, 0.4248, 0.8128, 1.438, 2.323, 3.484, 4.961, 6.748, 8.885",\
"0.1788, 0.2352, 0.4248, 0.8122, 1.436, 2.318, 3.49, 4.96, 6.748, 8.882",\
"0.1792, 0.235, 0.4246, 0.812, 1.436, 2.32, 3.483, 4.957, 6.75, 8.887",\
"0.1786, 0.2348, 0.4246, 0.813, 1.438, 2.322, 3.485, 4.952, 6.748, 8.89",\
"0.1784, 0.2336, 0.4242, 0.8124, 1.435, 2.324, 3.486, 4.956, 6.75, 8.892");
}
}
}
}