blob: 668ab7c2173e4fc2a1465ff369bc85f650b08c69 [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__dffq_2) {
area : 68.051200 ;
ff(IQ1,IQN1) {
clocked_on : "CLK" ;
next_state : "D" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&!D" ;
value : "0.0003186378" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.0003389364" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.0003519126" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.0003539862" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.0003539862" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.002895 ;
clock : true ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 25 ;
min_period : 12.19 ;
min_pulse_width_high : 5.005 ;
min_pulse_width_low : 6.13 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("0.02869, 0.02863, 0.02847, 0.02831, 0.0282, 0.02814, 0.02815, \
0.02823, 0.02818, 0.01534");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("0.02282, 0.02279, 0.02269, 0.02252, 0.02237, 0.02227, 0.02225, \
0.0223, 0.02247, 0.02288");
}
}
internal_power() {
when : "D" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("0.02906, 0.029, 0.02884, 0.02868, 0.02855, 0.02851, 0.02851, 0.02857, \
0.02844, 0.01526");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("0.02285, 0.02282, 0.02272, 0.02254, 0.02239, 0.02231, 0.02227, \
0.02233, 0.0225, 0.02293");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("6.13");
}
rise_constraint(scalar) {
values("2.556");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("4.614");
}
rise_constraint(scalar) {
values("5.005");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("12.19");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("10.5");
}
}
}
pin(D) {
capacitance : 0.002199 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 25 ;
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.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("0.0151, 0.01509, 0.01492, 0.01477, 0.0147, 0.0147, 0.01475, 0.01481, \
0.01343, 0.004243");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("0.01143, 0.01145, 0.01144, 0.01138, 0.01133, 0.01129, 0.01129, \
0.01134, 0.01145, 0.01169");
}
}
internal_power() {
when : "CLK" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("0.0009383, 0.0009381, 0.0009384, 0.0009374, 0.0009361, 0.0009302, \
0.0009209, 0.0009014, 0.0008129, 0.0006184");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("-0.0004814, -0.0004865, -0.0004953, -0.0005039, -0.0005138, -0.0005244, \
-0.0005386, -0.000566, -0.0006179, -0.000597");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
index_2("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("0.401, 0.462, 0.674, 1.072, 1.599, 2.126, 2.622, 3.084, 3.487, 3.841",\
"0.336, 0.397, 0.609, 0.999, 1.52, 2.048, 2.536, 2.988, 3.391, 3.747",\
"0.178, 0.244, 0.453, 0.842, 1.356, 1.876, 2.359, 2.807, 3.21, 3.554",\
"-0.211, -0.151, 0.055, 0.45, 0.962, 1.483, 1.973, 2.426, 2.826, 3.178",\
"-0.832, -0.77, -0.571, -0.185, 0.328, 0.842, 1.328, 1.781, 2.193, 2.539",\
"-1.565, -1.51, -1.317, -0.945, -0.449, 0.06, 0.538, 0.981, 1.383, 1.726",\
"-2.437, -2.376, -2.19, -1.827, -1.344, -0.85, -0.382, 0.056, 0.444, 0.774",\
"-3.389, -3.338, -3.164, -2.811, -2.339, -1.863, -1.422, -0.987, -0.615, -0.29",\
"-4.477, -4.423, -4.251, -3.92, -3.463, -2.994, -2.568, -2.156, -1.796, -1.478",\
"-5.686, -5.634, -5.471, -5.171, -4.707, -4.259, -3.844, -3.451, -3.103, -2.783");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
index_2("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("0.011, 0.076, 0.288, 0.61, 0.936, 1.234, 1.504, 1.723, 1.902, 2.019",\
"-0.04, 0.025, 0.232, 0.558, 0.889, 1.187, 1.457, 1.685, 1.859, 1.98",\
"-0.223, -0.156, 0.061, 0.389, 0.723, 1.032, 1.315, 1.544, 1.73, 1.852",\
"-0.447, -0.383, -0.171, 0.166, 0.5, 0.815, 1.107, 1.347, 1.533, 1.663",\
"-0.643, -0.582, -0.374, -0.031, 0.301, 0.612, 0.897, 1.133, 1.327, 1.46",\
"-0.788, -0.721, -0.517, -0.178, 0.142, 0.451, 0.727, 0.963, 1.152, 1.283",\
"-0.855, -0.79, -0.584, -0.254, 0.069, 0.361, 0.628, 0.854, 1.043, 1.168",\
"-0.816, -0.758, -0.561, -0.241, 0.072, 0.354, 0.616, 0.832, 1.017, 1.134",\
"-0.687, -0.628, -0.437, -0.122, 0.178, 0.451, 0.703, 0.915, 1.077, 1.195",\
"-0.441, -0.383, -0.195, 0.108, 0.394, 0.658, 0.896, 1.092, 1.251, 1.362");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
fall_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
index_2("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("3.326, 3.247, 3.001, 2.554, 1.932, 1.305, 0.71, 0.15, -0.344, -0.789",\
"3.382, 3.298, 3.057, 2.612, 1.984, 1.364, 0.773, 0.211, -0.282, -0.726",\
"3.552, 3.469, 3.226, 2.784, 2.155, 1.532, 0.941, 0.379, -0.109, -0.554",\
"3.978, 3.892, 3.648, 3.207, 2.579, 1.963, 1.36, 0.801, 0.305, -0.131",\
"4.714, 4.63, 4.381, 3.937, 3.307, 2.689, 2.097, 1.538, 1.037, 0.598",\
"5.774, 5.688, 5.447, 5.009, 4.378, 3.757, 3.162, 2.6, 2.107, 1.665",\
"7.183, 7.099, 6.853, 6.413, 5.783, 5.165, 4.565, 4.013, 3.519, 3.072",\
"8.842, 8.774, 8.517, 8.074, 7.453, 6.826, 6.233, 5.671, 5.193, 4.737",\
"10.67, 10.57, 10.33, 9.9, 9.266, 8.638, 8.046, 7.487, 6.978, 6.525",\
"12.61, 12.5, 12.27, 11.84, 11.18, 10.58, 9.957, 9.407, 8.907, 8.457");
}
rise_constraint(cnst_ctin_rtin_10x10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
index_2("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
values("2.851, 2.764, 2.503, 2.098, 1.497, 0.928, 0.472, 0.051, -0.271, -0.545",\
"2.907, 2.817, 2.557, 2.155, 1.55, 0.985, 0.525, 0.094, -0.225, -0.495",\
"3.095, 3.01, 2.756, 2.346, 1.749, 1.179, 0.716, 0.292, -0.033, -0.317",\
"3.454, 3.367, 3.104, 2.709, 2.104, 1.535, 1.069, 0.632, 0.305, 0.012",\
"3.871, 3.781, 3.529, 3.125, 2.533, 1.965, 1.498, 1.053, 0.722, 0.42",\
"4.281, 4.195, 3.941, 3.535, 2.948, 2.382, 1.913, 1.474, 1.137, 0.834",\
"4.633, 4.546, 4.284, 3.885, 3.3, 2.733, 2.265, 1.816, 1.487, 1.182",\
"4.882, 4.8, 4.539, 4.134, 3.55, 2.983, 2.517, 2.072, 1.736, 1.43",\
"5.028, 4.957, 4.696, 4.306, 3.732, 3.158, 2.67, 2.214, 1.885, 1.581",\
"5.116, 5.023, 4.768, 4.382, 3.781, 3.233, 2.741, 2.312, 1.971, 1.657");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.3867 ;
max_transition : 25 ;
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.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
index_2("0.001, 0.003662, 0.01301, 0.03086, 0.05866, 0.09767, 0.149, 0.2137, 0.2926, 0.3867");
values("0.03048, 0.03063, 0.03101, 0.0314, 0.03168, 0.03186, 0.03196, 0.03203, 0.03207, 0.03205",\
"0.03049, 0.03064, 0.03102, 0.03141, 0.03169, 0.03186, 0.03197, 0.03204, 0.03207, 0.03206",\
"0.03049, 0.03063, 0.03101, 0.03139, 0.03167, 0.03185, 0.03196, 0.03202, 0.03206, 0.03203",\
"0.03048, 0.03063, 0.03101, 0.0314, 0.03168, 0.03185, 0.03197, 0.03203, 0.03206, 0.032",\
"0.03052, 0.03067, 0.03104, 0.03144, 0.03172, 0.03189, 0.032, 0.03207, 0.03208, 0.03194",\
"0.03057, 0.03072, 0.0311, 0.03149, 0.03177, 0.03195, 0.03205, 0.03211, 0.03208, 0.03175",\
"0.03061, 0.03076, 0.03114, 0.03152, 0.0318, 0.03197, 0.03207, 0.03209, 0.03185, 0.03113",\
"0.03064, 0.03078, 0.03115, 0.03155, 0.03183, 0.032, 0.03205, 0.03176, 0.03089, 0.02989",\
"0.03063, 0.0308, 0.03117, 0.03156, 0.03181, 0.03173, 0.03086, 0.02968, 0.02883, 0.02821",\
"0.0269, 0.02693, 0.02602, 0.0249, 0.02436, 0.02409, 0.02394, 0.02385, 0.02379, 0.02375");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
index_2("0.001, 0.003662, 0.01301, 0.03086, 0.05866, 0.09767, 0.149, 0.2137, 0.2926, 0.3867");
values("-0.03906, -0.03894, -0.03869, -0.03831, -0.03792, -0.03742, -0.03341, 0.0005567, 0.0923, 0.1993",\
"-0.03906, -0.03897, -0.03867, -0.03834, -0.03797, -0.0374, -0.03316, 0.001988, 0.09456, 0.2004",\
"-0.03907, -0.03896, -0.03869, -0.03835, -0.03798, -0.03741, -0.03202, 0.00736, 0.1023, 0.2041",\
"-0.03911, -0.03902, -0.03873, -0.0384, -0.03803, -0.03737, -0.02971, 0.01852, 0.1162, 0.2091",\
"-0.03916, -0.03906, -0.03879, -0.03843, -0.03801, -0.03699, -0.02375, 0.03857, 0.1334, 0.2119",\
"-0.03922, -0.03911, -0.03885, -0.03846, -0.03805, -0.03576, -0.009999, 0.06577, 0.1471, 0.2071",\
"-0.03924, -0.03914, -0.03888, -0.03851, -0.03798, -0.0302, 0.01778, 0.09163, 0.1483, 0.1879",\
"-0.03932, -0.03922, -0.03895, -0.03862, -0.03607, -0.00676, 0.05124, 0.09543, 0.125, 0.1453",\
"-0.03968, -0.03957, -0.03929, -0.03688, -0.01137, 0.02081, 0.04082, 0.05332, 0.06145, 0.06696",\
"-0.05384, -0.05375, -0.05366, -0.05363, -0.05361, -0.05361, -0.05361, -0.05362, -0.05362, -0.05362");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_edge ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
index_2("0.001, 0.003662, 0.01301, 0.03086, 0.05866, 0.09767, 0.149, 0.2137, 0.2926, 0.3867");
values("5.357, 5.471, 5.761, 6.156, 6.651, 7.266, 8.03, 8.973, 10.12, 11.48",\
"5.423, 5.537, 5.827, 6.222, 6.717, 7.332, 8.096, 9.039, 10.18, 11.54",\
"5.654, 5.768, 6.058, 6.453, 6.948, 7.563, 8.327, 9.27, 10.41, 11.77",\
"6.091, 6.205, 6.495, 6.89, 7.385, 8, 8.764, 9.707, 10.85, 12.21",\
"6.676, 6.79, 7.08, 7.477, 7.971, 8.586, 9.35, 10.29, 11.43, 12.79",\
"7.277, 7.391, 7.681, 8.076, 8.571, 9.185, 9.95, 10.89, 12.04, 13.4",\
"7.857, 7.971, 8.261, 8.656, 9.151, 9.766, 10.53, 11.47, 12.61, 13.98",\
"8.403, 8.517, 8.807, 9.203, 9.698, 10.31, 11.08, 12.02, 13.16, 14.52",\
"8.909, 9.022, 9.313, 9.708, 10.2, 10.82, 11.58, 12.52, 13.67, 15.03",\
"9.356, 9.47, 9.76, 10.15, 10.65, 11.26, 12.03, 12.97, 14.11, 15.47");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
index_2("0.001, 0.003662, 0.01301, 0.03086, 0.05866, 0.09767, 0.149, 0.2137, 0.2926, 0.3867");
values("6.569, 6.721, 7.149, 7.857, 8.921, 10.41, 12.35, 14.8, 17.79, 21.35",\
"6.635, 6.787, 7.215, 7.923, 8.987, 10.47, 12.42, 14.87, 17.86, 21.42",\
"6.863, 7.015, 7.443, 8.151, 9.216, 10.7, 12.65, 15.1, 18.09, 21.65",\
"7.287, 7.439, 7.866, 8.575, 9.638, 11.12, 13.07, 15.52, 18.51, 22.07",\
"7.852, 8.004, 8.431, 9.139, 10.2, 11.69, 13.64, 16.08, 19.07, 22.63",\
"8.434, 8.586, 9.014, 9.722, 10.79, 12.27, 14.22, 16.67, 19.66, 23.22",\
"9.002, 9.154, 9.582, 10.29, 11.35, 12.84, 14.79, 17.24, 20.22, 23.78",\
"9.538, 9.69, 10.12, 10.83, 11.89, 13.38, 15.32, 17.77, 20.76, 24.32",\
"10.03, 10.19, 10.62, 11.32, 12.39, 13.87, 15.82, 18.27, 21.26, 24.82",\
"10.48, 10.63, 11.06, 11.77, 12.83, 14.31, 16.26, 18.71, 21.7, 25.26");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
index_2("0.001, 0.003662, 0.01301, 0.03086, 0.05866, 0.09767, 0.149, 0.2137, 0.2926, 0.3867");
values("0.5138, 0.6004, 0.8528, 1.27, 1.888, 2.771, 3.975, 5.536, 7.475, 9.795",\
"0.5142, 0.6004, 0.853, 1.27, 1.888, 2.77, 3.973, 5.535, 7.476, 9.796",\
"0.5144, 0.6002, 0.853, 1.27, 1.889, 2.771, 3.974, 5.54, 7.476, 9.803",\
"0.5138, 0.6004, 0.8522, 1.27, 1.888, 2.771, 3.974, 5.534, 7.476, 9.804",\
"0.5142, 0.6004, 0.8524, 1.269, 1.888, 2.77, 3.976, 5.54, 7.472, 9.792",\
"0.514, 0.6, 0.85, 1.268, 1.886, 2.77, 3.972, 5.53, 7.476, 9.792",\
"0.514, 0.602, 0.852, 1.268, 1.888, 2.77, 3.976, 5.536, 7.472, 9.798",\
"0.514, 0.6, 0.852, 1.268, 1.89, 2.768, 3.972, 5.534, 7.47, 9.782",\
"0.514, 0.6, 0.85, 1.27, 1.886, 2.768, 3.97, 5.536, 7.464, 9.78",\
"0.516, 0.602, 0.852, 1.268, 1.888, 2.77, 3.974, 5.534, 7.476, 9.78");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1924, 0.7976, 1.953, 3.754, 6.28, 9.605, 13.79, 18.91, 25");
index_2("0.001, 0.003662, 0.01301, 0.03086, 0.05866, 0.09767, 0.149, 0.2137, 0.2926, 0.3867");
values("0.6054, 0.753, 1.272, 2.339, 4.09, 6.581, 9.851, 13.99, 19.03, 25",\
"0.6048, 0.7534, 1.271, 2.338, 4.089, 6.582, 9.85, 13.98, 19.03, 25",\
"0.6046, 0.7532, 1.27, 2.337, 4.086, 6.577, 9.854, 13.98, 19.02, 25.02",\
"0.6046, 0.753, 1.271, 2.337, 4.088, 6.58, 9.844, 13.98, 19, 25.06",\
"0.6052, 0.752, 1.27, 2.338, 4.092, 6.582, 9.85, 13.99, 19, 25.03",\
"0.604, 0.754, 1.27, 2.34, 4.092, 6.576, 9.854, 13.98, 19.02, 25.04",\
"0.606, 0.752, 1.272, 2.338, 4.09, 6.578, 9.844, 13.96, 19.01, 25.04",\
"0.604, 0.754, 1.272, 2.338, 4.086, 6.58, 9.844, 13.98, 19.02, 25.05",\
"0.604, 0.754, 1.27, 2.338, 4.084, 6.57, 9.844, 13.98, 19.02, 25.03",\
"0.606, 0.752, 1.272, 2.338, 4.088, 6.57, 9.838, 13.96, 19.01, 25.03");
}
}
}
}