blob: 6dbc7b00f913973a998546cf5f89878a22ca4a59 [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__dffq_2) {
area : 84.672000 ;
ff(IQ1,IQN1) {
clocked_on : "CLK" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&!D" ;
value : "0.002359566" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.00329373" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.002252646" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.003016134" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.00329373" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.00478 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 8.4 ;
min_period : 2 ;
min_pulse_width_high : 0.784 ;
min_pulse_width_low : 0.994 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("0.06122, 0.06094, 0.06062, 0.06147, 0.06422, 0.0688, 0.07546, \
0.08438, 0.09573, 0.1097");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("0.03959, 0.03944, 0.03925, 0.0399, 0.04195, 0.04578, 0.05161, \
0.05952, 0.06966, 0.08206");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("0.06325, 0.06297, 0.06266, 0.0635, 0.06624, 0.0708, 0.07747, 0.08631, \
0.09769, 0.1116");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("0.03957, 0.03942, 0.03922, 0.03988, 0.04195, 0.04581, 0.05162, \
0.05959, 0.06972, 0.08217");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("0.994");
}
rise_constraint(scalar) {
values("0.62");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("0.918");
}
rise_constraint(scalar) {
values("0.784");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("2");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("1.85");
}
}
}
pin(D) {
capacitance : 0.003755 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 8.4 ;
nextstate_type : data ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("0.03636, 0.03615, 0.03576, 0.03612, 0.03774, 0.04053, 0.04453, \
0.04985, 0.05657, 0.06475");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("0.02337, 0.02341, 0.02338, 0.02377, 0.02496, 0.02719, 0.0306, \
0.0352, 0.04106, 0.04821");
}
}
internal_power() {
when : "CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("0.003797, 0.003803, 0.003804, 0.003803, 0.003811, 0.003805, 0.003801, \
0.003796, 0.003785, 0.003771");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("-0.003473, -0.003475, -0.00347, -0.00348, -0.003491, -0.003511, \
-0.003527, -0.003536, -0.00355, -0.003564");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
index_2("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("0.206, 0.219, 0.271, 0.356, 0.434, 0.475, 0.501, 0.508, 0.486, 0.429",\
"0.196, 0.205, 0.262, 0.347, 0.417, 0.461, 0.49, 0.494, 0.471, 0.419",\
"0.153, 0.164, 0.217, 0.3, 0.375, 0.421, 0.446, 0.45, 0.427, 0.377",\
"0.091, 0.099, 0.149, 0.233, 0.3, 0.344, 0.377, 0.374, 0.356, 0.298",\
"0.005, 0.015, 0.068, 0.145, 0.224, 0.261, 0.284, 0.295, 0.266, 0.214",\
"-0.086, -0.075, -0.034, 0.05, 0.134, 0.164, 0.186, 0.203, 0.173, 0.12",\
"-0.188, -0.18, -0.137, -0.064, 0.024, 0.058, 0.079, 0.092, 0.072, 0.018",\
"-0.306, -0.307, -0.274, -0.191, -0.114, -0.071, -0.054, -0.028, -0.049, -0.092",\
"-0.439, -0.448, -0.42, -0.339, -0.257, -0.224, -0.199, -0.168, -0.183, -0.23",\
"-0.597, -0.614, -0.587, -0.516, -0.417, -0.398, -0.374, -0.328, -0.342, -0.38");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
index_2("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("-0, 0.015, 0.054, 0.106, 0.127, 0.126, 0.105, 0.064, -0.005, -0.1",\
"-0.015, -0, 0.04, 0.091, 0.114, 0.115, 0.096, 0.056, -0.008, -0.103",\
"-0.054, -0.04, 0.007, 0.055, 0.085, 0.084, 0.074, 0.03, -0.034, -0.132",\
"-0.088, -0.072, -0.033, 0.023, 0.047, 0.051, 0.035, -0.005, -0.071, -0.161",\
"-0.112, -0.098, -0.051, -0.005, 0.02, 0.021, 0.005, -0.039, -0.104, -0.199",\
"-0.12, -0.109, -0.065, -0.015, 0.005, 0.005, -0.012, -0.06, -0.13, -0.228",\
"-0.114, -0.096, -0.057, -0.006, 0.006, 0.005, -0.024, -0.07, -0.141, -0.247",\
"-0.07, -0.05, -0.013, 0.031, 0.039, 0.027, 0.003, -0.056, -0.135, -0.241",\
"0.012, 0.023, 0.066, 0.105, 0.104, 0.083, 0.049, -0.01, -0.099, -0.212",\
"0.126, 0.139, 0.179, 0.211, 0.206, 0.177, 0.142, 0.069, -0.025, -0.14");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
index_2("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("0.401, 0.387, 0.328, 0.234, 0.151, 0.094, 0.051, 0.04, 0.059, 0.105",\
"0.41, 0.402, 0.34, 0.241, 0.159, 0.099, 0.063, 0.049, 0.07, 0.114",\
"0.457, 0.443, 0.387, 0.286, 0.205, 0.147, 0.112, 0.097, 0.114, 0.158",\
"0.571, 0.556, 0.5, 0.406, 0.326, 0.264, 0.229, 0.214, 0.225, 0.271",\
"0.755, 0.742, 0.682, 0.585, 0.508, 0.451, 0.41, 0.394, 0.41, 0.457",\
"0.977, 0.963, 0.908, 0.809, 0.733, 0.671, 0.631, 0.62, 0.631, 0.677",\
"1.236, 1.228, 1.164, 1.071, 0.995, 0.93, 0.892, 0.881, 0.886, 0.93",\
"1.536, 1.522, 1.465, 1.373, 1.293, 1.232, 1.19, 1.175, 1.178, 1.223",\
"1.879, 1.861, 1.802, 1.706, 1.626, 1.566, 1.522, 1.508, 1.513, 1.55",\
"2.256, 2.238, 2.18, 2.087, 2.002, 1.94, 1.901, 1.88, 1.891, 1.93");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
index_2("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
values("0.561, 0.537, 0.482, 0.404, 0.341, 0.314, 0.324, 0.357, 0.425, 0.518",\
"0.573, 0.552, 0.498, 0.412, 0.364, 0.33, 0.332, 0.37, 0.439, 0.529",\
"0.622, 0.601, 0.542, 0.457, 0.409, 0.372, 0.377, 0.413, 0.478, 0.567",\
"0.696, 0.679, 0.619, 0.533, 0.476, 0.45, 0.454, 0.482, 0.541, 0.638",\
"0.762, 0.75, 0.69, 0.605, 0.547, 0.528, 0.516, 0.553, 0.613, 0.701",\
"0.808, 0.79, 0.733, 0.652, 0.596, 0.56, 0.565, 0.604, 0.662, 0.753",\
"0.832, 0.809, 0.757, 0.68, 0.62, 0.588, 0.584, 0.623, 0.69, 0.777",\
"0.837, 0.821, 0.76, 0.681, 0.627, 0.598, 0.598, 0.632, 0.696, 0.787",\
"0.82, 0.801, 0.743, 0.664, 0.608, 0.577, 0.581, 0.617, 0.684, 0.776",\
"0.775, 0.757, 0.697, 0.621, 0.558, 0.531, 0.541, 0.578, 0.65, 0.74");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.6602 ;
max_transition : 8.4 ;
min_capacitance : 0.001 ;
output_voltage : default ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
related_pin : "CLK" ;
fall_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
index_2("0.001, 0.00555, 0.02152, 0.05202, 0.09953, 0.1662, 0.2539, 0.3644, 0.4994, 0.6602");
values("0.08454, 0.08375, 0.08297, 0.08283, 0.08288, 0.08296, 0.083, 0.08302, 0.08304, 0.08305",\
"0.08454, 0.08374, 0.08295, 0.08284, 0.08289, 0.08294, 0.083, 0.08301, 0.08302, 0.08304",\
"0.08454, 0.08375, 0.08298, 0.08285, 0.0829, 0.08294, 0.08299, 0.08301, 0.08302, 0.08304",\
"0.08472, 0.08391, 0.08312, 0.083, 0.08305, 0.08312, 0.08317, 0.08319, 0.0832, 0.08321",\
"0.08503, 0.0842, 0.08344, 0.08329, 0.08335, 0.08342, 0.08345, 0.08348, 0.08349, 0.08351",\
"0.08528, 0.0845, 0.08375, 0.08363, 0.08366, 0.08373, 0.08376, 0.08377, 0.08378, 0.08379",\
"0.08562, 0.08481, 0.08404, 0.08391, 0.08397, 0.08403, 0.08406, 0.08407, 0.08409, 0.0841",\
"0.08607, 0.08525, 0.08449, 0.08432, 0.08438, 0.08446, 0.08451, 0.08454, 0.08455, 0.08455",\
"0.08648, 0.08565, 0.08491, 0.08474, 0.08477, 0.08485, 0.08488, 0.08492, 0.08494, 0.08496",\
"0.08695, 0.08617, 0.0854, 0.08525, 0.08529, 0.08538, 0.08542, 0.08547, 0.08545, 0.08547");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
index_2("0.001, 0.00555, 0.02152, 0.05202, 0.09953, 0.1662, 0.2539, 0.3644, 0.4994, 0.6602");
values("0.07807, 0.07757, 0.07702, 0.0772, 0.0778, 0.07869, 0.07934, 0.07998, 0.08062, 0.0841",\
"0.07803, 0.07752, 0.07701, 0.0772, 0.07778, 0.0787, 0.07942, 0.07992, 0.08078, 0.08431",\
"0.07798, 0.07751, 0.07696, 0.07714, 0.07776, 0.07864, 0.0795, 0.07992, 0.08058, 0.08418",\
"0.07791, 0.07747, 0.07691, 0.07711, 0.07771, 0.07859, 0.07931, 0.07985, 0.08071, 0.0845",\
"0.07797, 0.07753, 0.07696, 0.07714, 0.07774, 0.07862, 0.07926, 0.08012, 0.08062, 0.08538",\
"0.07802, 0.07753, 0.07709, 0.0774, 0.07784, 0.07874, 0.07944, 0.08014, 0.08092, 0.08631",\
"0.07831, 0.07779, 0.07726, 0.07737, 0.0784, 0.07903, 0.07961, 0.08023, 0.08125, 0.08799",\
"0.07871, 0.07818, 0.07757, 0.07762, 0.07823, 0.07942, 0.08033, 0.08087, 0.08159, 0.09091",\
"0.07926, 0.07874, 0.07819, 0.07828, 0.07874, 0.0795, 0.08083, 0.08191, 0.08334, 0.09512",\
"0.07985, 0.07932, 0.07881, 0.07886, 0.07945, 0.0799, 0.08066, 0.08202, 0.08534, 0.103");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
index_2("0.001, 0.00555, 0.02152, 0.05202, 0.09953, 0.1662, 0.2539, 0.3644, 0.4994, 0.6602");
values("1.198, 1.235, 1.33, 1.464, 1.636, 1.86, 2.146, 2.504, 2.94, 3.46",\
"1.213, 1.25, 1.345, 1.479, 1.652, 1.875, 2.161, 2.519, 2.955, 3.476",\
"1.269, 1.305, 1.4, 1.534, 1.707, 1.93, 2.216, 2.574, 3.01, 3.53",\
"1.361, 1.398, 1.493, 1.626, 1.799, 2.022, 2.308, 2.666, 3.103, 3.623",\
"1.445, 1.482, 1.577, 1.71, 1.883, 2.107, 2.393, 2.75, 3.187, 3.708",\
"1.508, 1.545, 1.64, 1.774, 1.947, 2.17, 2.456, 2.814, 3.251, 3.771",\
"1.552, 1.589, 1.684, 1.817, 1.99, 2.213, 2.499, 2.857, 3.294, 3.814",\
"1.573, 1.609, 1.704, 1.838, 2.011, 2.234, 2.52, 2.878, 3.314, 3.834",\
"1.567, 1.604, 1.699, 1.832, 2.005, 2.228, 2.514, 2.872, 3.309, 3.829",\
"1.532, 1.569, 1.664, 1.797, 1.97, 2.194, 2.48, 2.838, 3.274, 3.794");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
index_2("0.001, 0.00555, 0.02152, 0.05202, 0.09953, 0.1662, 0.2539, 0.3644, 0.4994, 0.6602");
values("1.134, 1.178, 1.304, 1.521, 1.857, 2.327, 2.944, 3.72, 4.668, 5.799",\
"1.149, 1.193, 1.319, 1.537, 1.873, 2.342, 2.959, 3.736, 4.684, 5.814",\
"1.203, 1.247, 1.373, 1.591, 1.926, 2.396, 3.013, 3.789, 4.737, 5.868",\
"1.291, 1.335, 1.46, 1.678, 2.014, 2.484, 3.1, 3.877, 4.825, 5.956",\
"1.371, 1.415, 1.54, 1.758, 2.094, 2.564, 3.18, 3.957, 4.906, 6.034",\
"1.431, 1.475, 1.6, 1.818, 2.155, 2.624, 3.241, 4.017, 4.964, 6.096",\
"1.473, 1.516, 1.642, 1.86, 2.196, 2.665, 3.282, 4.059, 5.007, 6.138",\
"1.493, 1.537, 1.663, 1.881, 2.217, 2.686, 3.304, 4.079, 5.027, 6.159",\
"1.49, 1.534, 1.66, 1.878, 2.213, 2.683, 3.3, 4.076, 5.023, 6.152",\
"1.459, 1.503, 1.629, 1.847, 2.183, 2.652, 3.269, 4.045, 4.993, 6.122");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
index_2("0.001, 0.00555, 0.02152, 0.05202, 0.09953, 0.1662, 0.2539, 0.3644, 0.4994, 0.6602");
values("0.1298, 0.1638, 0.2606, 0.415, 0.656, 1.009, 1.49, 2.11, 2.87, 3.774",\
"0.1296, 0.1636, 0.261, 0.4156, 0.656, 1.008, 1.492, 2.111, 2.868, 3.78",\
"0.1298, 0.1642, 0.2612, 0.4154, 0.6562, 1.009, 1.49, 2.111, 2.868, 3.779",\
"0.1296, 0.1636, 0.2602, 0.4156, 0.656, 1.008, 1.492, 2.108, 2.872, 3.779",\
"0.13, 0.1636, 0.2602, 0.4158, 0.6562, 1.008, 1.49, 2.111, 2.868, 3.78",\
"0.1298, 0.1638, 0.2598, 0.4156, 0.6554, 1.009, 1.492, 2.11, 2.871, 3.78",\
"0.1302, 0.1636, 0.2602, 0.4154, 0.6556, 1.01, 1.49, 2.108, 2.868, 3.776",\
"0.13, 0.1636, 0.26, 0.4154, 0.6554, 1.008, 1.49, 2.109, 2.866, 3.773",\
"0.1298, 0.1636, 0.2602, 0.4152, 0.6556, 1.008, 1.49, 2.108, 2.867, 3.773",\
"0.1296, 0.1638, 0.26, 0.416, 0.656, 1.008, 1.491, 2.111, 2.871, 3.772");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.07784, 0.2809, 0.6686, 1.273, 2.12, 3.235, 4.64, 6.356, 8.4");
index_2("0.001, 0.00555, 0.02152, 0.05202, 0.09953, 0.1662, 0.2539, 0.3644, 0.4994, 0.6602");
values("0.141, 0.1946, 0.3726, 0.741, 1.336, 2.177, 3.277, 4.668, 6.364, 8.393",\
"0.1412, 0.1946, 0.3726, 0.7414, 1.336, 2.174, 3.282, 4.667, 6.363, 8.417",\
"0.1412, 0.1946, 0.3728, 0.741, 1.336, 2.174, 3.282, 4.668, 6.365, 8.393",\
"0.1418, 0.1946, 0.3724, 0.7414, 1.335, 2.175, 3.282, 4.668, 6.364, 8.393",\
"0.1416, 0.1946, 0.3726, 0.7408, 1.336, 2.177, 3.276, 4.668, 6.369, 8.39",\
"0.1412, 0.1944, 0.3734, 0.7418, 1.336, 2.177, 3.282, 4.667, 6.366, 8.393",\
"0.1408, 0.1938, 0.3728, 0.7414, 1.336, 2.175, 3.282, 4.667, 6.363, 8.416",\
"0.1408, 0.1942, 0.3724, 0.7414, 1.338, 2.177, 3.276, 4.676, 6.367, 8.413",\
"0.141, 0.1942, 0.3726, 0.7414, 1.336, 2.177, 3.279, 4.667, 6.37, 8.385",\
"0.1418, 0.1946, 0.373, 0.7414, 1.338, 2.176, 3.277, 4.669, 6.363, 8.387");
}
}
}
}