blob: d0a47153675ad88c160cf857744aae7dfbf28d8a [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.
*
* Single Port SRAM cell name : gf180mcu_fd_ip_sram__sram512x8m8wm1
* Technology : GF 180nm 5V Green
*
* ---------
* Pin name:
* ---------
* Input Pins : CLK CEN GWEN WEN[7:0] A[8:0] D[7:0]
* Inout Pins: VDD VSS
* Output Pins: Q[7:0]
*
* Revision History: 1.0 (Initial Release: June 20, 2014)
*/
library(gf180mcu_fd_ip_sram__sram512x8m8wm1__ss_125C_4v50) {
delay_model : table_lookup;
revision : 1.0;
date : "June 20, 2014";
comment : "GF 180nm 5V Green";
voltage_unit : "1V";
time_unit : "1ns";
current_unit : "1mA";
leakage_power_unit : "1mW";
nom_process : 1;
nom_temperature : 125;
nom_voltage : 4.5;
capacitive_load_unit (1,pf);
pulling_resistance_unit : "1kohm";
/* additional header data */
default_fanout_load : 1;
default_inout_pin_cap : 0.045;
default_input_pin_cap : 0.045;
default_output_pin_cap : 0;
default_max_transition : 2.775;
default_cell_leakage_power : 0;
/* default attributes */
slew_derate_from_library : 1.000;
slew_lower_threshold_pct_fall : 10.000;
slew_upper_threshold_pct_fall : 90.000;
slew_lower_threshold_pct_rise : 10.000;
slew_upper_threshold_pct_rise : 90.000;
input_threshold_pct_fall : 50.000;
input_threshold_pct_rise : 50.000;
output_threshold_pct_fall : 50.000;
output_threshold_pct_rise : 50.000;
default_leakage_power_density : 0;
/* k-factors */
k_process_recovery_fall : 1;
k_process_recovery_rise : 1;
k_process_cell_fall : 1;
k_process_cell_leakage_power : 0;
k_process_cell_rise : 1;
k_process_fall_transition : 1;
k_process_hold_fall : 1;
k_process_hold_rise : 1;
k_process_internal_power : 0;
k_process_min_pulse_width_high : 1;
k_process_min_pulse_width_low : 1;
k_process_setup_fall : 1;
k_process_setup_rise : 1;
k_process_wire_cap : 0;
k_process_wire_res : 0;
k_process_pin_cap : 0;
k_process_rise_transition : 1;
k_temp_cell_fall : 0.000;
k_temp_cell_rise : 0.000;
k_temp_hold_fall : 0.000;
k_temp_hold_rise : 0.000;
k_temp_min_pulse_width_high : 0.000;
k_temp_min_pulse_width_low : 0.000;
k_temp_min_period : 0.000;
k_temp_rise_propagation : 0.000;
k_temp_fall_propagation : 0.000;
k_temp_rise_transition : 0.000;
k_temp_fall_transition : 0.000;
k_temp_recovery_fall : 0.000;
k_temp_recovery_rise : 0.000;
k_temp_setup_fall : 0.000;
k_temp_setup_rise : 0.000;
k_volt_cell_fall : 0.000;
k_volt_cell_rise : 0.000;
k_volt_hold_fall : 0.000;
k_volt_hold_rise : 0.000;
k_volt_min_pulse_width_high : 0.000;
k_volt_min_pulse_width_low : 0.000;
k_volt_min_period : 0.000;
k_volt_recovery_fall : 0.000;
k_volt_recovery_rise : 0.000;
k_volt_setup_fall : 0.000;
k_volt_setup_rise : 0.000;
k_volt_rise_propagation : 0.000;
k_volt_fall_propagation : 0.000;
k_volt_rise_transition : 0.000;
k_volt_fall_transition : 0.000;
voltage_map (VDD, 4.5);
voltage_map (VSS, 0.00);
operating_conditions(ss_4p5v_125C) {
process : 1;
temperature : 125;
voltage : 4.5;
tree_type : balanced_tree;
}
default_operating_conditions : ss_4p5v_125C;
wire_load("Estimate") {
resistance : 1.44e-05;
capacitance : 0.00018;
area : 1.7;
slope : 500;
fanout_length (1,500);
}
power_lut_template(power_template) {
variable_1 : input_transition_time;
index_1 ("1001, 1002, 1003, 1004, 1005, 1006, 1007");
}
lu_table_template(q_delay_template) {
variable_1 : input_net_transition;
variable_2 : total_output_net_capacitance;
index_1 ("1001, 1002, 1003, 1004, 1005, 1006, 1007");
index_2 ("1001, 1002, 1003, 1004, 1005, 1006, 1007");
}
lu_table_template(q_slew_template) {
variable_1 : total_output_net_capacitance;
index_1 ("1001, 1002, 1003, 1004, 1005, 1006, 1007");
}
lu_table_template(constraint_template) {
variable_1 : related_pin_transition;
variable_2 : constrained_pin_transition;
index_1 ("1001, 1002, 1003, 1004, 1005, 1006, 1007");
index_2 ("1001, 1002, 1003, 1004, 1005, 1006, 1007");
}
library_features(report_delay_calculation);
type (A_BUS) {
base_type : array;
data_type : bit;
bit_width : 9;
bit_from : 8;
bit_to : 0;
downto : true;
}
type (Q_BUS) {
base_type : array;
data_type : bit;
bit_width : 8;
bit_from : 7;
bit_to : 0;
downto : true;
}
cell(gf180mcu_fd_ip_sram__sram512x8m8wm1) {
area : 209400.2768;
dont_use : TRUE;
dont_touch : TRUE;
interface_timing : TRUE;
memory() {
type : ram;
address_width : 9;
word_width : 8;
}
bus(Q) {
bus_type : Q_BUS;
direction : output;
max_capacitance : 1.202;
memory_read() {
address : A;
}
timing() {
related_pin : "CLK";
timing_type : rising_edge;
timing_sense : non_unate;
when : "((!CEN) & (GWEN))";
sdf_cond : "CEN== 1'b0 && GWEN== 1'b1";
cell_rise(q_delay_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.01, 0.03143, 0.1067, 0.2504, 0.4742, 0.7883, 1.202");
values ( \
"8.79552, 8.82528, 8.93916, 9.12864, 9.39108, 9.74928, 10.22232", \
"8.79576, 8.82804, 8.9484, 9.11616, 9.40284, 9.74808, 10.21992", \
"8.81352, 8.84964, 8.95548, 9.13404, 9.40776, 9.76152, 10.24476", \
"8.82288, 8.85804, 8.96964, 9.14808, 9.41256, 9.79548, 10.27008", \
"8.8644, 8.89416, 9.00264, 9.18552, 9.46356, 9.81, 10.28688", \
"8.86524, 8.89308, 9.01512, 9.1956, 9.4626, 9.82092, 10.30032", \
"8.87448, 8.90328, 9, 9.20556, 9.47172, 9.8274, 10.29984" \
)
}
rise_transition(q_slew_template) {
index_1 ("0.01, 0.03143, 0.1067, 0.2504, 0.4742, 0.7883, 1.202");
values ( \
"0.29706, 0.347748, 0.52872, 0.852528, 1.37688, 2.1324, 3.11712" \
)
}
cell_fall(q_delay_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.01, 0.03143, 0.1067, 0.2504, 0.4742, 0.7883, 1.202");
values ( \
"9.06084, 9.09576, 9.207, 9.36852, 9.585, 9.84624, 10.17576", \
"9.0594, 9.09252, 9.2148, 9.3624, 9.59736, 9.8412, 10.1718", \
"9.0774, 9.11568, 9.22152, 9.37632, 9.59952, 9.85176, 10.19916", \
"9.08772, 9.12408, 9.23736, 9.39264, 9.60144, 9.88764, 10.22244", \
"9.12792, 9.16344, 9.26784, 9.42672, 9.65688, 9.90396, 10.24236", \
"9.12888, 9.15588, 9.27708, 9.43968, 9.6546, 9.91476, 10.25124", \
"9.1422, 9.17088, 9.2646, 9.44904, 9.66216, 9.92124, 10.25556" \
)
}
fall_transition(q_slew_template) {
index_1 ("0.01, 0.03143, 0.1067, 0.2504, 0.4742, 0.7883, 1.202");
values ( \
"0.303624, 0.345108, 0.461832, 0.669348, 0.974172, 1.39596, 1.95192" \
)
}
}
}
pin(CLK) {
direction : input;
capacitance : 0.31848;
clock : true;
max_transition : 2.775;
min_pulse_width_high : 4.387335;
min_pulse_width_low : 5.72349;
min_period : 11.89014;
/* WRITE POWER */
internal_power() {
when : "!CEN & !GWEN & (!WEN[0] | !WEN[1] | !WEN[2] | !WEN[3] | !WEN[4] | !WEN[5] | !WEN[6] | !WEN[7])";
rise_power(power_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ("830.363, 830.363, 830.363, 830.363, 830.363, 830.363, 830.363");
}
fall_power(power_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ("830.363, 830.363, 830.363, 830.363, 830.363, 830.363, 830.363");
}
}
/* DISABLED POWER */
internal_power() {
when : "CEN";
rise_power(power_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ("0.00061677, 0.00061677, 0.00061677, 0.00061677, 0.00061677, 0.00061677, 0.00061677");
}
fall_power(power_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ("0.00061677, 0.00061677, 0.00061677, 0.00061677, 0.00061677, 0.00061677, 0.00061677");
}
}
/* READ POWER */
internal_power() {
when : "!CEN & GWEN";
rise_power(power_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ("746.438, 746.438, 746.438, 746.438, 746.438, 746.438, 746.438");
}
fall_power(power_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ("746.438, 746.438, 746.438, 746.438, 746.438, 746.438, 746.438");
}
}
}
pg_pin(VDD) {
voltage_name : VDD;
pg_type : primary_power;
}
pg_pin(VSS) {
voltage_name : VSS;
pg_type : primary_ground;
}
pin(CEN) {
direction : input;
capacitance : 0.0197865;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ( \
"0.660583, 0.65615, 0.648153, 0.6721, 0.740828, 0.814022, 0.860277", \
"0.654709, 0.647361, 0.640772, 0.665445, 0.731742, 0.80817, 0.85855", \
"0.647383, 0.641894, 0.632379, 0.653708, 0.708587, 0.785807, 0.825957", \
"0.647394, 0.640772, 0.632302, 0.65406, 0.708345, 0.757526, 0.782628", \
"0.645766, 0.634425, 0.63118, 0.653147, 0.707751, 0.750761, 0.771155", \
"0.64526, 0.640431, 0.630256, 0.652773, 0.707091, 0.745778, 0.779889", \
"0.645579, 0.638583, 0.629959, 0.651904, 0.706475, 0.749485, 0.779306" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ( \
"0.586377, 0.591855, 0.616462, 0.675147, 0.779867, 0.907522, 1.04269", \
"0.582659, 0.586949, 0.612447, 0.670846, 0.775896, 0.896984, 1.0327", \
"0.580085, 0.585266, 0.609103, 0.668558, 0.775269, 0.895433, 1.03631", \
"0.579348, 0.583979, 0.608729, 0.667546, 0.772178, 0.90068, 1.02904", \
"0.578215, 0.583363, 0.608487, 0.66693, 0.771595, 0.899767, 1.02845", \
"0.577885, 0.582021, 0.607486, 0.666259, 0.770979, 0.899184, 1.02775", \
"0.577093, 0.582098, 0.60621, 0.665665, 0.769153, 0.894773, 1.02714" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ( \
"1.85185, 1.85746, 1.86681, 1.84525, 1.78805, 1.74691, 1.71435", \
"1.86351, 1.86857, 1.87858, 1.85658, 1.80191, 1.75593, 1.72007", \
"1.89387, 1.89937, 1.90883, 1.88749, 1.83282, 1.78585, 1.75912", \
"1.94689, 1.95349, 1.96196, 1.94029, 1.88595, 1.83678, 1.81621", \
"2.02598, 2.03731, 2.04061, 2.01861, 1.96405, 1.92104, 1.90058", \
"2.11618, 2.12102, 2.13125, 2.1087, 2.05436, 2.01575, 1.98154", \
"2.16843, 2.17536, 2.18405, 2.16205, 2.10749, 2.06448, 2.03467" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ( \
"1.9195, 1.914, 1.88936, 1.83073, 1.72601, 1.5983, 1.46311", \
"1.93127, 1.92698, 1.90146, 1.84305, 1.738, 1.617, 1.48126", \
"1.96119, 1.95591, 1.93215, 1.87264, 1.76594, 1.64582, 1.50491", \
"2.01498, 2.01036, 1.98561, 1.92676, 1.82215, 1.69367, 1.5653", \
"2.09352, 2.08846, 2.06327, 2.00486, 1.90014, 1.77199, 1.64329", \
"2.18361, 2.17943, 2.15402, 2.09517, 1.99045, 1.8623, 1.73371", \
"2.23685, 2.2319, 2.20781, 2.1483, 2.04479, 1.91917, 1.78684" \
)
}
}
}
pin(GWEN) {
direction : input;
capacitance : 0.0513452;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ( \
"0.934087, 0.940038, 0.962379, 1.01904, 1.10432, 1.21022, 1.30911", \
"0.928609, 0.934736, 0.958287, 1.01445, 1.09981, 1.20771, 1.30581", \
"0.908919, 0.915002, 0.939015, 0.993773, 1.07837, 1.18708, 1.28546", \
"0.852467, 0.858572, 0.88264, 0.937563, 1.02287, 1.13036, 1.22867", \
"0.770825, 0.776996, 0.799271, 0.855866, 0.94138, 1.04715, 1.14789", \
"0.692758, 0.697829, 0.721468, 0.777876, 0.863203, 0.970453, 1.0691", \
"0.633424, 0.639716, 0.662563, 0.718421, 0.803836, 0.909711, 1.01" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ( \
"1.01252, 1.02146, 1.05573, 1.13241, 1.25855, 1.4223, 1.61326", \
"1.00717, 1.01715, 1.05167, 1.12812, 1.25407, 1.42076, 1.60908", \
"0.986535, 0.997029, 1.03043, 1.10708, 1.23296, 1.40019, 1.58818", \
"0.931106, 0.940621, 0.973995, 1.0508, 1.17518, 1.34431, 1.53175", \
"0.849431, 0.859034, 0.891825, 0.969639, 1.09559, 1.25707, 1.45024", \
"0.770473, 0.780505, 0.814825, 0.891011, 1.01747, 1.17851, 1.37203", \
"0.711172, 0.721556, 0.754754, 0.832183, 0.95788, 1.12242, 1.31274" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ( \
"1.42351, 1.41669, 1.3937, 1.34431, 1.28161, 1.23224, 1.19436", \
"1.42406, 1.41768, 1.39447, 1.34486, 1.28238, 1.2286, 1.19435", \
"1.43011, 1.42329, 1.39975, 1.35003, 1.28821, 1.23449, 1.20012", \
"1.44716, 1.4399, 1.41702, 1.36752, 1.30493, 1.25055, 1.21637", \
"1.46245, 1.45563, 1.43264, 1.38303, 1.32055, 1.27116, 1.23276", \
"1.48049, 1.47389, 1.45068, 1.40118, 1.33859, 1.28425, 1.25045", \
"1.47708, 1.47026, 1.44793, 1.397, 1.33507, 1.28579, 1.24703" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ( \
"0.741796, 0.730719, 0.695299, 0.622479, 0.496375, 0.341715, 0.159284", \
"0.742324, 0.734822, 0.698071, 0.619036, 0.497233, 0.339614, 0.156519", \
"0.747351, 0.738199, 0.704385, 0.625273, 0.504053, 0.347193, 0.165893", \
"0.764214, 0.756173, 0.718685, 0.641399, 0.52206, 0.362175, 0.17759", \
"0.780637, 0.771298, 0.737473, 0.659956, 0.535161, 0.38346, 0.193576", \
"0.815705, 0.806168, 0.771045, 0.694705, 0.564245, 0.408034, 0.224549", \
"0.911449, 0.900537, 0.867075, 0.790504, 0.660264, 0.500621, 0.320353" \
)
}
}
}
bus(WEN) {
bus_type : Q_BUS;
direction : input;
capacitance : 0.00826446;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ( \
"0, 0, 0, 0, 0, 0, 0", \
"0, 0, 0, 0, 0, 0, 0", \
"0, 0, 0, 0, 0, 0, 0", \
"0, 0, 0, 0, 0, 0, 0", \
"0, 0, 0, 0, 0, 0, 0", \
"0, 0, 0, 0, 0, 0, 0", \
"0, 0, 0, 0, 0, 0, 0" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ( \
"0.300872, 0.312235, 0.347061, 0.420871, 0.547349, 0.701316, 0.886336", \
"0.300883, 0.307054, 0.344476, 0.422851, 0.546634, 0.703703, 0.887722", \
"0.295526, 0.302368, 0.336831, 0.416405, 0.539231, 0.696344, 0.878757", \
"0.280203, 0.2871, 0.325028, 0.401643, 0.522379, 0.682319, 0.867163", \
"0.260264, 0.267596, 0.301631, 0.379852, 0.505637, 0.657151, 0.84766", \
"0.244158, 0.249509, 0.2893, 0.364254, 0.488004, 0.638352, 0.830412", \
"0.248855, 0.256248, 0.290521, 0.368951, 0.493691, 0.650804, 0.836561" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ( \
"1.42351, 1.41889, 1.39491, 1.34431, 1.28172, 1.23224, 1.19436", \
"1.42406, 1.41955, 1.39557, 1.34486, 1.28238, 1.23069, 1.19488", \
"1.43011, 1.42538, 1.4014, 1.35003, 1.28821, 1.23652, 1.2007", \
"1.44716, 1.44155, 1.41757, 1.36752, 1.30493, 1.25265, 1.21683", \
"1.46245, 1.45772, 1.43374, 1.38303, 1.32055, 1.27116, 1.23306", \
"1.48049, 1.47587, 1.45189, 1.40118, 1.3387, 1.287, 1.25114", \
"1.47708, 1.47235, 1.44837, 1.397, 1.33518, 1.28579, 1.24766" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ( \
"0.741796, 0.731797, 0.695299, 0.622479, 0.496375, 0.341715, 0.159284", \
"0.743886, 0.734822, 0.698071, 0.620862, 0.497233, 0.339614, 0.156519", \
"0.748374, 0.739266, 0.704935, 0.627066, 0.504053, 0.347193, 0.165893", \
"0.765127, 0.75724, 0.719455, 0.643082, 0.52206, 0.362175, 0.17759", \
"0.780637, 0.771298, 0.739068, 0.659956, 0.535161, 0.38346, 0.193576", \
"0.799139, 0.791076, 0.75196, 0.678128, 0.554235, 0.403249, 0.211674", \
"0.795476, 0.788073, 0.753874, 0.67485, 0.550506, 0.393734, 0.208197" \
)
}
}
}
bus(A) {
bus_type : A_BUS;
direction : input;
capacitance : 0.0440049;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ( \
"1.04046, 1.03751, 1.03378, 1.06152, 1.13113, 1.20736, 1.2705", \
"1.04441, 1.03987, 1.03582, 1.05977, 1.12969, 1.20781, 1.27204", \
"1.03879, 1.03294, 1.03222, 1.05268, 1.1249, 1.20182, 1.26179", \
"1.01838, 1.01618, 1.0124, 1.03745, 1.10758, 1.18927, 1.24929", \
"0.999207, 0.996259, 0.991023, 1.0172, 1.08665, 1.16609, 1.22944", \
"0.982388, 0.979814, 0.978406, 1.00089, 1.07151, 1.15312, 1.21178", \
"0.995368, 0.985391, 0.981607, 1.00482, 1.07599, 1.15639, 1.2209" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ( \
"1.52834, 1.5323, 1.56409, 1.6247, 1.73217, 1.87077, 2.02411", \
"1.52988, 1.53329, 1.56145, 1.62283, 1.73074, 1.87022, 2.03126", \
"1.51899, 1.52383, 1.55914, 1.61557, 1.72623, 1.86065, 2.02125", \
"1.50656, 1.51129, 1.53714, 1.59995, 1.70368, 1.84932, 2.01014", \
"1.48709, 1.49138, 1.51745, 1.57883, 1.68751, 1.83172, 1.98748", \
"1.47213, 1.47499, 1.50304, 1.56684, 1.67684, 1.8139, 1.97362", \
"1.47807, 1.47763, 1.50986, 1.57344, 1.683, 1.82127, 1.97758" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ( \
"0.818444, 0.825088, 0.827739, 0.810689, 0.802087, 0.795564, 0.790614", \
"0.827585, 0.834603, 0.836858, 0.819753, 0.811151, 0.804254, 0.799678", \
"0.852049, 0.859056, 0.861289, 0.844217, 0.835615, 0.828707, 0.824142", \
"0.898425, 0.905443, 0.907643, 0.890593, 0.881991, 0.875083, 0.870518", \
"0.983037, 0.990638, 0.992882, 0.975788, 0.967186, 0.960674, 0.955702", \
"1.071, 1.07734, 1.08006, 1.063, 1.05438, 1.04749, 1.04291", \
"1.1491, 1.15643, 1.15864, 1.14159, 1.13298, 1.12648, 1.12152" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ( \
"0.85261, 0.846736, 0.818664, 0.774444, 0.746889, 0.741972, 0.748638", \
"0.862048, 0.855107, 0.827728, 0.783508, 0.755942, 0.751025, 0.757713", \
"0.885951, 0.87956, 0.852192, 0.807983, 0.780406, 0.775489, 0.782166", \
"0.932338, 0.926673, 0.898568, 0.854348, 0.826782, 0.821876, 0.828553", \
"1.01752, 1.01253, 0.983774, 0.939543, 0.911988, 0.907071, 0.913737", \
"1.10472, 1.09835, 1.07097, 1.02675, 0.999185, 0.994257, 1.00096", \
"1.18364, 1.17833, 1.14956, 1.10535, 1.07778, 1.07285, 1.07954" \
)
}
}
}
bus(D) {
bus_type : Q_BUS;
memory_write() {
address : A;
clocked_on : "CLK";
}
direction : input;
capacitance : 0.0175901;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ( \
"0.724207, 0.730631, 0.75801, 0.78529, 0.783992, 0.759462, 0.704737", \
"0.725483, 0.731819, 0.754809, 0.780989, 0.782705, 0.759616, 0.703604", \
"0.720599, 0.726528, 0.746988, 0.777007, 0.779262, 0.75504, 0.695255", \
"0.703131, 0.713526, 0.733744, 0.761024, 0.762069, 0.738617, 0.681428", \
"0.681505, 0.694353, 0.715704, 0.742797, 0.738749, 0.719301, 0.66231", \
"0.668921, 0.677237, 0.698203, 0.726264, 0.72578, 0.702031, 0.642774", \
"0.67529, 0.68156, 0.70345, 0.730455, 0.731522, 0.704869, 0.650727" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ( \
"0.048686, 0.05082, 0.0859892, 0.172908, 0.315535, 0.496672, 0.718707", \
"0.048939, 0.048763, 0.0830511, 0.169624, 0.314974, 0.496199, 0.71764", \
"0.043956, 0.046178, 0.0768328, 0.164595, 0.308682, 0.489346, 0.711304", \
"0.025157, 0.028996, 0.0610929, 0.146908, 0.29315, 0.47443, 0.696322", \
"0.008085, 0.00814, 0.041679, 0.13053, 0.271464, 0.453651, 0.675829", \
"0, 0, 0.027401, 0.112028, 0.255521, 0.438493, 0.660198", \
"0, 0, 0.031108, 0.118251, 0.263406, 0.444422, 0.665434" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ( \
"0.716826, 0.716012, 0.685817, 0.657866, 0.660286, 0.68442, 0.738562", \
"0.718091, 0.71236, 0.691064, 0.664169, 0.659956, 0.6864, 0.74206", \
"0.725307, 0.712976, 0.693825, 0.665258, 0.66506, 0.691284, 0.74668", \
"0.740663, 0.734272, 0.711557, 0.680295, 0.682099, 0.705254, 0.760452", \
"0.759957, 0.745646, 0.72798, 0.703483, 0.702339, 0.726451, 0.779207", \
"0.777513, 0.77121, 0.74448, 0.71676, 0.717508, 0.742093, 0.798193", \
"0.768757, 0.763411, 0.739794, 0.715033, 0.711491, 0.736659, 0.791846" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ( \
"1.07353, 1.07307, 1.03994, 0.953634, 0.810095, 0.628089, 0.408661", \
"1.07615, 1.07449, 1.04568, 0.955658, 0.81246, 0.630443, 0.410971", \
"1.08076, 1.07853, 1.05056, 0.960531, 0.817333, 0.635316, 0.415899", \
"1.0954, 1.09413, 1.06136, 0.975194, 0.831996, 0.649979, 0.430562", \
"1.11561, 1.11509, 1.08537, 0.995335, 0.852148, 0.67012, 0.450703", \
"1.13267, 1.13083, 1.09819, 1.01204, 0.868846, 0.686818, 0.467401", \
"1.124, 1.12591, 1.09406, 1.00661, 0.863401, 0.681384, 0.461967" \
)
}
}
}
cell_leakage_power : 0.00061677;
}
}