blob: 2c0cb84d1bfe1c85121ae4f8352310f45d2b11eb [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.003245616" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!CLK&D" ;
value : "0.004086324" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&!D" ;
value : "0.003034746" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "CLK&D" ;
value : "0.00347391" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.004086324" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(CLK) {
capacitance : 0.003137 ;
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.805 ;
min_pulse_width_high : 1.155 ;
min_pulse_width_low : 1.398 ;
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.04319, 0.04306, 0.04295, 0.0436, 0.04562, 0.04901, 0.05393, \
0.06055, 0.06896, 0.07929");
}
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.03218, 0.03208, 0.03201, 0.03255, 0.03406, 0.03683, 0.04102, \
0.04676, 0.05411, 0.06311");
}
}
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.04304, 0.04289, 0.04278, 0.04344, 0.04547, 0.04885, 0.05375, \
0.06035, 0.06878, 0.0791");
}
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.03203, 0.03196, 0.03187, 0.03242, 0.03395, 0.03672, 0.04094, \
0.04673, 0.05409, 0.0631");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "!D" ;
fall_constraint(scalar) {
values("1.398");
}
rise_constraint(scalar) {
values("0.666");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : min_pulse_width ;
when : "D" ;
fall_constraint(scalar) {
values("1.072");
}
rise_constraint(scalar) {
values("1.155");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_NOT_D === 1'b1" ;
timing_type : minimum_period ;
when : "!D" ;
rise_constraint(scalar) {
values("2.805");
}
}
timing() {
related_pin : "CLK" ;
sdf_cond : "ENABLE_D === 1'b1" ;
timing_type : minimum_period ;
when : "D" ;
rise_constraint(scalar) {
values("2.469");
}
}
}
pin(D) {
capacitance : 0.002382 ;
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 : "!CLK" ;
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.02508, 0.02494, 0.02468, 0.02483, 0.02572, 0.02747, 0.02993, \
0.03314, 0.03719, 0.04213");
}
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.01707, 0.01711, 0.01718, 0.01749, 0.01819, 0.01945, 0.02133, \
0.02387, 0.02712, 0.03113");
}
}
internal_power() {
when : "CLK" ;
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.001666, 0.001666, 0.001664, 0.001665, 0.001669, 0.001667, 0.001665, \
0.001661, 0.001656, 0.00165");
}
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.001036, -0.001042, -0.001044, -0.001045, -0.00105, -0.001059, \
-0.001062, -0.001073, -0.00108, -0.00109");
}
}
timing() {
related_pin : "CLK" ;
timing_type : hold_rising ;
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.075, 0.091, 0.138, 0.231, 0.301, 0.358, 0.39, 0.385, 0.358, 0.292",\
"0.068, 0.081, 0.132, 0.223, 0.294, 0.345, 0.375, 0.374, 0.341, 0.281",\
"0.026, 0.043, 0.097, 0.183, 0.259, 0.305, 0.331, 0.334, 0.307, 0.238",\
"-0.091, -0.075, -0.022, 0.063, 0.141, 0.197, 0.222, 0.223, 0.196, 0.13",\
"-0.278, -0.262, -0.214, -0.125, -0.049, 0.013, 0.04, 0.043, 0.018, -0.045",\
"-0.525, -0.504, -0.456, -0.363, -0.285, -0.234, -0.2, -0.194, -0.223, -0.281",\
"-0.807, -0.791, -0.742, -0.661, -0.584, -0.524, -0.493, -0.482, -0.509, -0.571",\
"-1.152, -1.139, -1.091, -1.003, -0.924, -0.868, -0.835, -0.828, -0.855, -0.907",\
"-1.55, -1.536, -1.486, -1.407, -1.328, -1.272, -1.238, -1.226, -1.255, -1.306",\
"-2.009, -1.992, -1.956, -1.866, -1.797, -1.732, -1.694, -1.684, -1.703, -1.768");
}
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.046, 0.064, 0.105, 0.175, 0.209, 0.222, 0.224, 0.19, 0.136, 0.056",\
"0.033, 0.048, 0.096, 0.164, 0.198, 0.218, 0.216, 0.183, 0.134, 0.048",\
"-0.001, 0.019, 0.065, 0.129, 0.178, 0.193, 0.19, 0.167, 0.119, 0.033",\
"-0.017, 0.004, 0.044, 0.118, 0.157, 0.174, 0.171, 0.147, 0.097, 0.014",\
"-0.011, 0.008, 0.055, 0.12, 0.159, 0.176, 0.176, 0.143, 0.096, 0.011",\
"0.034, 0.049, 0.09, 0.157, 0.194, 0.206, 0.203, 0.171, 0.118, 0.033",\
"0.123, 0.138, 0.174, 0.241, 0.273, 0.283, 0.267, 0.229, 0.175, 0.085",\
"0.261, 0.28, 0.321, 0.377, 0.408, 0.403, 0.386, 0.343, 0.283, 0.182",\
"0.474, 0.489, 0.523, 0.58, 0.598, 0.591, 0.564, 0.52, 0.451, 0.343",\
"0.741, 0.76, 0.788, 0.841, 0.851, 0.836, 0.807, 0.75, 0.673, 0.566");
}
}
timing() {
related_pin : "CLK" ;
timing_type : setup_rising ;
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.71, 0.693, 0.632, 0.532, 0.442, 0.378, 0.34, 0.329, 0.359, 0.412",\
"0.71, 0.698, 0.634, 0.538, 0.453, 0.383, 0.35, 0.335, 0.365, 0.424",\
"0.76, 0.741, 0.676, 0.579, 0.493, 0.425, 0.389, 0.379, 0.403, 0.467",\
"0.882, 0.865, 0.801, 0.701, 0.615, 0.55, 0.509, 0.502, 0.526, 0.587",\
"1.105, 1.088, 1.028, 0.924, 0.839, 0.773, 0.739, 0.721, 0.755, 0.808",\
"1.42, 1.403, 1.345, 1.245, 1.162, 1.092, 1.056, 1.038, 1.063, 1.123",\
"1.808, 1.799, 1.733, 1.63, 1.546, 1.477, 1.443, 1.425, 1.45, 1.508",\
"2.262, 2.249, 2.183, 2.086, 2.002, 1.938, 1.893, 1.887, 1.909, 1.963",\
"2.792, 2.781, 2.718, 2.617, 2.532, 2.464, 2.423, 2.412, 2.438, 2.489",\
"3.393, 3.38, 3.315, 3.219, 3.134, 3.062, 3.022, 3.012, 3.035, 3.091");
}
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.687, 0.666, 0.594, 0.504, 0.419, 0.366, 0.341, 0.347, 0.382, 0.466",\
"0.696, 0.682, 0.61, 0.518, 0.429, 0.371, 0.35, 0.36, 0.398, 0.473",\
"0.738, 0.729, 0.66, 0.561, 0.475, 0.419, 0.399, 0.398, 0.437, 0.511",\
"0.808, 0.796, 0.724, 0.63, 0.544, 0.482, 0.463, 0.467, 0.499, 0.57",\
"0.86, 0.842, 0.778, 0.685, 0.596, 0.547, 0.515, 0.515, 0.549, 0.617",\
"0.874, 0.856, 0.792, 0.694, 0.61, 0.557, 0.527, 0.525, 0.559, 0.635",\
"0.842, 0.827, 0.761, 0.661, 0.583, 0.523, 0.5, 0.497, 0.528, 0.608",\
"0.763, 0.75, 0.681, 0.588, 0.51, 0.45, 0.421, 0.426, 0.464, 0.535",\
"0.637, 0.632, 0.563, 0.467, 0.38, 0.329, 0.297, 0.304, 0.338, 0.412",\
"0.449, 0.438, 0.371, 0.275, 0.195, 0.147, 0.115, 0.116, 0.157, 0.233");
}
}
}
pin(Q) {
direction : output ;
function : "IQ1" ;
max_capacitance : 0.4669 ;
max_transition : 8.9 ;
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.08129, 0.2964, 0.7073, 1.347, 2.245, 3.427, 4.916, 6.734, 8.9");
index_2("0.001, 0.004216, 0.0155, 0.03706, 0.07064, 0.1178, 0.1798, 0.2579, 0.3532, 0.4669");
values("0.05324, 0.05243, 0.05138, 0.05095, 0.05077, 0.0507, 0.05064, 0.0506, 0.05059, 0.05058",\
"0.05325, 0.05243, 0.0514, 0.05097, 0.0508, 0.05071, 0.05066, 0.05062, 0.05061, 0.05059",\
"0.05323, 0.05242, 0.0514, 0.05095, 0.05078, 0.0507, 0.05064, 0.05062, 0.05059, 0.05059",\
"0.0533, 0.05249, 0.05145, 0.05101, 0.05084, 0.05078, 0.05072, 0.05069, 0.05067, 0.05065",\
"0.05345, 0.05263, 0.05161, 0.05117, 0.051, 0.05092, 0.05087, 0.05084, 0.05082, 0.0508",\
"0.0536, 0.05278, 0.05179, 0.05132, 0.05116, 0.05108, 0.05103, 0.05099, 0.05096, 0.05095",\
"0.05379, 0.05295, 0.05194, 0.0515, 0.05135, 0.05127, 0.0512, 0.05117, 0.05115, 0.05114",\
"0.05398, 0.05316, 0.05212, 0.0517, 0.05153, 0.05145, 0.0514, 0.05137, 0.05134, 0.05132",\
"0.05422, 0.0534, 0.05239, 0.05191, 0.05175, 0.05169, 0.05163, 0.0516, 0.0516, 0.05157",\
"0.05442, 0.0536, 0.05256, 0.05213, 0.05195, 0.05188, 0.05183, 0.05179, 0.05177, 0.05176");
}
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.004216, 0.0155, 0.03706, 0.07064, 0.1178, 0.1798, 0.2579, 0.3532, 0.4669");
values("0.05096, 0.05033, 0.0493, 0.04877, 0.04878, 0.04909, 0.04962, 0.04978, 0.05063, 0.05451",\
"0.05093, 0.05026, 0.04927, 0.04875, 0.04876, 0.04905, 0.04947, 0.04984, 0.05061, 0.05451",\
"0.05093, 0.05026, 0.04926, 0.04874, 0.04875, 0.04907, 0.04948, 0.04975, 0.05056, 0.05486",\
"0.0509, 0.05024, 0.04923, 0.04874, 0.04874, 0.04902, 0.04943, 0.04983, 0.0507, 0.05548",\
"0.05099, 0.05032, 0.04932, 0.04879, 0.04886, 0.04909, 0.0495, 0.04996, 0.05071, 0.05618",\
"0.05113, 0.05048, 0.04947, 0.04893, 0.04898, 0.04925, 0.04966, 0.05018, 0.05095, 0.05765",\
"0.05128, 0.0506, 0.04957, 0.04909, 0.04919, 0.04945, 0.0498, 0.05043, 0.05137, 0.0597",\
"0.05149, 0.05083, 0.04977, 0.04922, 0.0493, 0.04986, 0.05025, 0.05064, 0.05171, 0.06292",\
"0.05179, 0.05112, 0.0501, 0.04956, 0.04941, 0.04978, 0.05057, 0.05123, 0.05315, 0.06798",\
"0.05217, 0.0515, 0.05045, 0.04991, 0.04976, 0.04997, 0.05038, 0.05148, 0.05534, 0.07708");
}
}
timing() {
related_pin : "CLK" ;
timing_type : rising_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.004216, 0.0155, 0.03706, 0.07064, 0.1178, 0.1798, 0.2579, 0.3532, 0.4669");
values("1.365, 1.407, 1.517, 1.674, 1.872, 2.122, 2.438, 2.83, 3.308, 3.878",\
"1.381, 1.422, 1.533, 1.689, 1.887, 2.138, 2.453, 2.846, 3.324, 3.893",\
"1.437, 1.479, 1.589, 1.745, 1.943, 2.194, 2.509, 2.902, 3.38, 3.949",\
"1.534, 1.576, 1.686, 1.843, 2.041, 2.291, 2.607, 2.999, 3.477, 4.047",\
"1.626, 1.668, 1.778, 1.935, 2.133, 2.383, 2.699, 3.091, 3.569, 4.138",\
"1.694, 1.735, 1.846, 2.002, 2.2, 2.451, 2.766, 3.159, 3.636, 4.206",\
"1.739, 1.781, 1.891, 2.048, 2.246, 2.496, 2.812, 3.204, 3.682, 4.251",\
"1.758, 1.799, 1.91, 2.066, 2.264, 2.515, 2.83, 3.223, 3.7, 4.27",\
"1.748, 1.79, 1.9, 2.056, 2.254, 2.505, 2.82, 3.213, 3.69, 4.26",\
"1.704, 1.746, 1.856, 2.013, 2.211, 2.461, 2.777, 3.169, 3.647, 4.216");
}
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.004216, 0.0155, 0.03706, 0.07064, 0.1178, 0.1798, 0.2579, 0.3532, 0.4669");
values("1.547, 1.598, 1.743, 1.979, 2.334, 2.83, 3.482, 4.303, 5.305, 6.501",\
"1.563, 1.614, 1.758, 1.994, 2.349, 2.845, 3.497, 4.319, 5.321, 6.517",\
"1.618, 1.669, 1.814, 2.049, 2.404, 2.9, 3.553, 4.374, 5.376, 6.572",\
"1.714, 1.765, 1.909, 2.145, 2.5, 2.996, 3.648, 4.469, 5.472, 6.668",\
"1.806, 1.857, 2.002, 2.237, 2.592, 3.088, 3.74, 4.562, 5.564, 6.76",\
"1.876, 1.927, 2.071, 2.307, 2.662, 3.158, 3.811, 4.632, 5.635, 6.83",\
"1.925, 1.976, 2.12, 2.356, 2.711, 3.207, 3.859, 4.681, 5.684, 6.877",\
"1.951, 2.002, 2.146, 2.382, 2.737, 3.233, 3.884, 4.706, 5.709, 6.904",\
"1.95, 2.001, 2.146, 2.381, 2.737, 3.233, 3.885, 4.706, 5.708, 6.902",\
"1.919, 1.971, 2.115, 2.351, 2.706, 3.202, 3.854, 4.675, 5.678, 6.872");
}
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.004216, 0.0155, 0.03706, 0.07064, 0.1178, 0.1798, 0.2579, 0.3532, 0.4669");
values("0.1696, 0.2084, 0.3204, 0.4938, 0.7554, 1.135, 1.654, 2.329, 3.159, 4.155",\
"0.1696, 0.2084, 0.3202, 0.4952, 0.7558, 1.135, 1.654, 2.327, 3.159, 4.15",\
"0.1696, 0.2084, 0.3204, 0.4956, 0.7554, 1.135, 1.655, 2.329, 3.159, 4.15",\
"0.1698, 0.2086, 0.3196, 0.4942, 0.7552, 1.135, 1.653, 2.327, 3.159, 4.155",\
"0.1696, 0.2084, 0.3204, 0.4954, 0.7552, 1.135, 1.653, 2.325, 3.155, 4.151",\
"0.1698, 0.2082, 0.3206, 0.495, 0.7556, 1.135, 1.653, 2.328, 3.16, 4.152",\
"0.1696, 0.2086, 0.32, 0.4946, 0.7554, 1.133, 1.653, 2.326, 3.158, 4.15",\
"0.1696, 0.2084, 0.3196, 0.495, 0.7554, 1.135, 1.653, 2.324, 3.153, 4.149",\
"0.1696, 0.2084, 0.32, 0.4946, 0.7554, 1.134, 1.653, 2.325, 3.158, 4.145",\
"0.1698, 0.2084, 0.3198, 0.4938, 0.7556, 1.134, 1.654, 2.325, 3.155, 4.146");
}
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.004216, 0.0155, 0.03706, 0.07064, 0.1178, 0.1798, 0.2579, 0.3532, 0.4669");
values("0.1918, 0.2526, 0.4402, 0.8128, 1.433, 2.318, 3.49, 4.96, 6.757, 8.903",\
"0.192, 0.2524, 0.4402, 0.8126, 1.433, 2.32, 3.486, 4.966, 6.753, 8.9",\
"0.1918, 0.2522, 0.44, 0.8126, 1.432, 2.32, 3.491, 4.959, 6.757, 8.902",\
"0.1918, 0.2522, 0.44, 0.8128, 1.433, 2.321, 3.484, 4.959, 6.756, 8.896",\
"0.1918, 0.2522, 0.44, 0.8128, 1.432, 2.321, 3.485, 4.967, 6.755, 8.896",\
"0.1922, 0.2522, 0.4398, 0.8128, 1.432, 2.32, 3.491, 4.965, 6.756, 8.898",\
"0.1916, 0.252, 0.4408, 0.813, 1.432, 2.322, 3.487, 4.967, 6.755, 8.899",\
"0.1916, 0.2516, 0.44, 0.8128, 1.435, 2.317, 3.486, 4.965, 6.757, 8.894",\
"0.1918, 0.2518, 0.4404, 0.8142, 1.433, 2.318, 3.487, 4.959, 6.768, 8.897",\
"0.1922, 0.2524, 0.441, 0.8138, 1.433, 2.32, 3.484, 4.956, 6.753, 8.9");
}
}
}
}