blob: 092288a9e21ac0fbaaeec96f6e7003109d7710d1 [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__sram256x8m8wm1
* Technology : GF 180nm 5V Green
*
* ---------
* Pin name:
* ---------
* Input Pins : CLK CEN GWEN WEN[7:0] A[7: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__sram256x8m8wm1__ss_n40C_3v00) {
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 : -40;
nom_voltage : 3.0;
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 : 6.4830;
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, 3.0);
voltage_map (VSS, 0.00);
operating_conditions(ss_3p0v_m40C) {
process : 1;
temperature : -40;
voltage : 3.0;
tree_type : balanced_tree;
}
default_operating_conditions : ss_3p0v_m40C;
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 : 8;
bit_from : 7;
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__sram256x8m8wm1) {
area : 147212.4368;
dont_use : TRUE;
dont_touch : TRUE;
interface_timing : TRUE;
memory() {
type : ram;
address_width : 8;
word_width : 8;
}
bus(Q) {
bus_type : Q_BUS;
direction : output;
max_capacitance : 1.1369;
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.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0100, 0.0303, 0.1014, 0.2373, 0.4490, 0.7460, 1.1369");
values ( \
"8.68008, 8.70864, 8.83476, 9.0192, 9.28956, 9.6828, 10.20252", \
"8.67768, 8.71236, 8.83332, 9.02856, 9.31224, 9.70068, 10.20852", \
"8.72796, 8.7774, 8.89728, 9.11064, 9.3618, 9.75528, 10.26", \
"8.8392, 8.8776, 8.99628, 9.19116, 9.47772, 9.85812, 10.3608", \
"8.91492, 8.94168, 9.07128, 9.25332, 9.54228, 9.92772, 10.43016", \
"8.95164, 8.991, 9.10872, 9.29676, 9.57708, 9.95856, 10.45524", \
"8.93844, 8.97528, 9.08796, 9.29112, 9.56808, 9.95664, 10.46112" \
)
}
rise_transition(q_slew_template) {
index_1 ("0.0100, 0.0303, 0.1014, 0.2373, 0.4490, 0.7460, 1.1369");
values ( \
"0.266136, 0.317256, 0.48858, 0.803724, 1.32132, 2.05416, 3.01836" \
)
}
cell_fall(q_delay_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0100, 0.0303, 0.1014, 0.2373, 0.4490, 0.7460, 1.1369");
values ( \
"9.039, 9.0642, 9.1866, 9.34044, 9.534, 9.79752, 10.12752", \
"9.03468, 9.06708, 9.18156, 9.34692, 9.55932, 9.819, 10.13088", \
"9.0882, 9.1374, 9.24864, 9.42924, 9.60504, 9.86868, 10.18788", \
"9.19584, 9.23508, 9.3462, 9.50964, 9.72036, 9.96756, 10.29456", \
"9.2694, 9.303, 9.42, 9.57744, 9.78348, 10.03836, 10.35576", \
"9.3114, 9.34704, 9.45408, 9.61368, 9.822, 10.07388, 10.39368", \
"9.29724, 9.32916, 9.43692, 9.61632, 9.81672, 10.07148, 10.39176" \
)
}
fall_transition(q_slew_template) {
index_1 ("0.0100, 0.0303, 0.1014, 0.2373, 0.4490, 0.7460, 1.1369");
values ( \
"0.257664, 0.306264, 0.419688, 0.611196, 0.881232, 1.266, 1.76772" \
)
}
}
}
pin(CLK) {
direction : input;
capacitance : 0.311327;
clock : true;
max_transition : 6.4830;
min_pulse_width_high : 4.15185;
min_pulse_width_low : 4.27521;
min_period : 11.604405;
/* 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.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ("300.42, 300.42, 300.42, 300.42, 300.42, 300.42, 300.42");
}
fall_power(power_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ("300.42, 300.42, 300.42, 300.42, 300.42, 300.42, 300.42");
}
}
/* DISABLED POWER */
internal_power() {
when : "CEN";
rise_power(power_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ("0.000122169, 0.000122169, 0.000122169, 0.000122169, 0.000122169, 0.000122169, 0.000122169");
}
fall_power(power_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ("0.000122169, 0.000122169, 0.000122169, 0.000122169, 0.000122169, 0.000122169, 0.000122169");
}
}
/* READ POWER */
internal_power() {
when : "!CEN & GWEN";
rise_power(power_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ("275.565, 275.565, 275.565, 275.565, 275.565, 275.565, 275.565");
}
fall_power(power_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ("275.565, 275.565, 275.565, 275.565, 275.565, 275.565, 275.565");
}
}
}
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.0196131;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ( \
"0.805761, 0.788755, 0.830236, 1.01044, 1.24413, 1.40866, 1.55276", \
"0.783046, 0.766249, 0.808885, 0.983972, 1.22211, 1.40635, 1.54088", \
"0.75218, 0.735438, 0.774521, 0.942975, 1.13006, 1.31164, 1.44793", \
"0.750585, 0.732545, 0.772288, 0.939378, 1.11054, 1.23415, 1.33782", \
"0.750398, 0.735702, 0.772277, 0.940786, 1.11503, 1.22792, 1.28277", \
"0.751069, 0.736802, 0.772277, 0.933328, 1.11417, 1.22788, 1.28135", \
"0.749067, 0.732292, 0.770858, 0.936386, 1.11458, 1.22922, 1.32616" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ( \
"0.659142, 0.672859, 0.765248, 0.962115, 1.22426, 1.5125, 1.80323", \
"0.653642, 0.669009, 0.761189, 0.958122, 1.22026, 1.49952, 1.79399", \
"0.650705, 0.664873, 0.757328, 0.946594, 1.21633, 1.49996, 1.79014", \
"0.648307, 0.66319, 0.755656, 0.95249, 1.21466, 1.49402, 1.78838", \
"0.648021, 0.662706, 0.755161, 0.95205, 1.21424, 1.49699, 1.78794", \
"0.647735, 0.662728, 0.754886, 0.951786, 1.21392, 1.50007, 1.78772", \
"0.647009, 0.661716, 0.754127, 0.951016, 1.21314, 1.49941, 1.78695" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ( \
"1.90542, 1.92368, 1.88298, 1.71479, 1.5411, 1.44672, 1.37379", \
"1.92907, 1.94711, 1.90531, 1.74163, 1.56398, 1.45002, 1.39018", \
"2.01773, 2.03445, 1.9954, 1.82688, 1.65462, 1.53967, 1.48533", \
"2.19384, 2.21199, 2.17217, 2.00508, 1.83392, 1.71039, 1.65638", \
"2.36654, 2.38128, 2.34465, 2.17613, 2.00189, 1.88903, 1.83414", \
"2.51262, 2.52692, 2.49139, 2.33035, 2.14951, 2.03577, 1.98231", \
"2.60117, 2.618, 2.57939, 2.41384, 2.23564, 2.12102, 2.06855" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ( \
"2.00651, 1.99287, 1.90047, 1.70357, 1.44144, 1.16212, 0.86768", \
"2.03148, 2.01619, 1.92401, 1.727, 1.46487, 1.1856, 0.891154", \
"2.11915, 2.10507, 2.01256, 1.82325, 1.55353, 1.26998, 0.97977", \
"2.29614, 2.28129, 2.18878, 1.99199, 1.72986, 1.45046, 1.15607", \
"2.46895, 2.45421, 2.36181, 2.16491, 1.90267, 1.61997, 1.32902", \
"2.61591, 2.60095, 2.50877, 2.31187, 2.04974, 1.76352, 1.47598", \
"2.70325, 2.68851, 2.59611, 2.39921, 2.13708, 1.85086, 1.56332" \
)
}
}
}
pin(GWEN) {
direction : input;
capacitance : 0.0486854;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ( \
"1.02853, 1.04851, 1.13831, 1.30152, 1.50601, 1.68124, 1.83139", \
"1.00905, 1.02936, 1.11889, 1.28338, 1.48709, 1.66287, 1.80807", \
"0.925133, 0.944284, 1.03422, 1.19735, 1.40151, 1.57344, 1.7193", \
"0.764786, 0.784751, 0.874621, 1.0378, 1.24161, 1.41779, 1.56607", \
"0.637285, 0.649264, 0.74745, 0.909513, 1.11373, 1.28897, 1.43528", \
"0.529936, 0.547833, 0.639331, 0.803957, 1.00709, 1.17929, 1.32979", \
"0.480018, 0.499939, 0.590931, 0.754347, 0.957341, 1.12478, 1.27555" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ( \
"1.15862, 1.18856, 1.29646, 1.51283, 1.82864, 2.18933, 2.58137", \
"1.14565, 1.1691, 1.27592, 1.49226, 1.80928, 2.16799, 2.5619", \
"1.05554, 1.07934, 1.19106, 1.40085, 1.72447, 2.08538, 2.47709", \
"0.896225, 0.919765, 1.0327, 1.24873, 1.56497, 1.92599, 2.31759", \
"0.768724, 0.791538, 0.904453, 1.11918, 1.43671, 1.79993, 2.18933", \
"0.664675, 0.687731, 0.797522, 1.01369, 1.32979, 1.69158, 2.08241", \
"0.610665, 0.635767, 0.746856, 0.964293, 1.2802, 1.64197, 2.0328" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ( \
"1.46927, 1.45079, 1.36125, 1.23293, 1.12124, 1.04293, 1.00221", \
"1.47884, 1.46047, 1.37082, 1.24259, 1.13163, 1.0526, 1.01505", \
"1.52768, 1.51008, 1.42054, 1.2923, 1.17407, 1.10505, 1.06952", \
"1.60457, 1.5862, 1.49666, 1.3684, 1.25667, 1.18138, 1.13864", \
"1.68157, 1.66848, 1.57278, 1.44441, 1.33342, 1.25408, 1.21639", \
"1.69972, 1.68135, 1.59192, 1.46355, 1.3519, 1.27646, 1.23281", \
"1.70269, 1.68432, 1.59478, 1.46751, 1.35553, 1.28585, 1.24117" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ( \
"0.734723, 0.70708, 0.597839, 0.38852, 0.0950532, 0, 0", \
"0.75141, 0.721358, 0.60742, 0.392931, 0.10391, 0, 0", \
"0.796565, 0.776413, 0.656117, 0.451517, 0.153395, 0, 0", \
"0.874742, 0.855195, 0.735284, 0.520124, 0.229669, 0, 0", \
"1.02625, 1.00735, 0.891616, 0.675213, 0.367961, 0.043538, 0", \
"1.20898, 1.186, 1.0705, 0.853567, 0.546777, 0.22046, 0", \
"1.33815, 1.31483, 1.19944, 0.982179, 0.675719, 0.349404, 0" \
)
}
}
}
bus(WEN) {
bus_type : Q_BUS;
direction : input;
capacitance : 0.00791289;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ( \
"0, 0, 0, 0, 0.080685, 0.157355, 0.206639", \
"0, 0, 0, 0, 0.06919, 0.151473, 0.200124", \
"0, 0, 0, 0, 0.024486, 0.100279, 0.139098", \
"0, 0, 0, 0, 0, 0.024706, 0.069784", \
"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.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ( \
"0.42757, 0.454487, 0.565004, 0.77561, 1.07304, 1.41647, 1.81214", \
"0.410388, 0.444895, 0.555841, 0.770187, 1.06513, 1.4058, 1.80125", \
"0.36355, 0.386254, 0.503151, 0.707476, 1.0104, 1.35322, 1.74988", \
"0.285487, 0.309903, 0.429209, 0.641388, 0.937805, 1.27729, 1.67453", \
"0.209361, 0.234589, 0.348128, 0.562881, 0.85712, 1.20463, 1.59742", \
"0.194381, 0.221735, 0.333498, 0.545908, 0.841566, 1.18309, 1.58114", \
"0.189922, 0.217867, 0.329692, 0.540518, 0.83842, 1.17966, 1.57465" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ( \
"1.47004, 1.45497, 1.36433, 1.23293, 1.12396, 1.04706, 1.00221", \
"1.47972, 1.46465, 1.37401, 1.24259, 1.13361, 1.05669, 1.01505", \
"1.52922, 1.51415, 1.42351, 1.2923, 1.18315, 1.10625, 1.06952", \
"1.60545, 1.59038, 1.49974, 1.3684, 1.25939, 1.18248, 1.13864", \
"1.68157, 1.66848, 1.57586, 1.44441, 1.33551, 1.25855, 1.21639", \
"1.70071, 1.68564, 1.595, 1.46355, 1.35465, 1.27774, 1.23281", \
"1.70357, 1.6885, 1.59786, 1.46751, 1.35751, 1.28585, 1.24117" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ( \
"0.736362, 0.711711, 0.599918, 0.38852, 0.0951907, 0, 0", \
"0.751454, 0.721358, 0.609521, 0.392931, 0.104838, 0, 0", \
"0.797962, 0.776413, 0.658295, 0.453222, 0.154297, 0, 0", \
"0.876018, 0.855195, 0.735284, 0.520124, 0.230639, 0, 0", \
"0.952952, 0.928268, 0.812185, 0.597795, 0.30657, 0, 0", \
"0.968561, 0.941809, 0.830566, 0.61534, 0.325886, 0, 0", \
"0.970651, 0.945032, 0.83325, 0.622028, 0.3289, 0, 0" \
)
}
}
}
bus(A) {
bus_type : A_BUS;
direction : input;
capacitance : 0.0438961;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ( \
"0.976536, 0.968055, 1.01454, 1.17565, 1.41669, 1.6192, 1.77199", \
"0.968176, 0.962522, 1.01001, 1.17759, 1.40921, 1.60149, 1.75824", \
"0.910668, 0.907368, 0.955548, 1.12156, 1.35652, 1.56937, 1.70577", \
"0.837309, 0.831193, 0.881364, 1.04306, 1.27384, 1.47334, 1.64109", \
"0.755601, 0.748055, 0.803363, 0.962126, 1.20369, 1.39623, 1.55716", \
"0.742973, 0.740157, 0.785708, 0.953348, 1.18021, 1.39469, 1.53934", \
"0.74283, 0.735207, 0.776688, 0.944779, 1.17555, 1.3816, 1.53714" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ( \
"1.22393, 1.23901, 1.32847, 1.53604, 1.81423, 2.12993, 2.45289", \
"1.21949, 1.23078, 1.32044, 1.52658, 1.80334, 2.10991, 2.44552", \
"1.16032, 1.17194, 1.2663, 1.47059, 1.75252, 2.06118, 2.39041", \
"1.08503, 1.1005, 1.19097, 1.397, 1.67222, 1.97769, 2.31594", \
"1.01383, 1.02702, 1.11455, 1.3167, 1.59797, 1.90597, 2.23927", \
"0.993102, 1.00331, 1.10078, 1.3013, 1.57828, 1.88782, 2.22288", \
"0.985787, 0.998437, 1.08878, 1.29536, 1.573, 1.88936, 2.21353" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ( \
"0.883036, 0.893882, 0.842919, 0.761508, 0.677776, 0.604109, 0.544203", \
"0.901879, 0.910503, 0.861817, 0.779867, 0.696674, 0.607849, 0.56309", \
"0.987184, 0.998184, 0.947562, 0.86614, 0.78958, 0.718762, 0.648824", \
"1.1465, 1.15705, 1.10642, 1.02448, 0.940764, 0.852489, 0.807631", \
"1.3497, 1.35971, 1.30966, 1.22757, 1.14542, 1.05564, 1.01103", \
"1.51646, 1.52515, 1.47642, 1.39502, 1.31131, 1.24666, 1.1777", \
"1.64483, 1.65341, 1.60402, 1.5235, 1.44056, 1.3662, 1.30658" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ( \
"0.945483, 0.929753, 0.848056, 0.760331, 0.697785, 0.60104, 0.561759", \
"0.964326, 0.948794, 0.866954, 0.779218, 0.716672, 0.619927, 0.580195", \
"1.05049, 1.03542, 0.952699, 0.864963, 0.802417, 0.705298, 0.666325", \
"1.20876, 1.19149, 1.11156, 1.02384, 0.961356, 0.864589, 0.825264", \
"1.41251, 1.39425, 1.31483, 1.22706, 1.1646, 1.06778, 1.02845", \
"1.57949, 1.5642, 1.47554, 1.38952, 1.33067, 1.23596, 1.19246", \
"1.70753, 1.69268, 1.60996, 1.52218, 1.4597, 1.36147, 1.32352" \
)
}
}
}
bus(D) {
bus_type : Q_BUS;
memory_write() {
address : A;
clocked_on : "CLK";
}
direction : input;
capacitance : 0.017407;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ( \
"0.989637, 1.00862, 1.07927, 1.14198, 1.16256, 1.1106, 1.02049", \
"0.984973, 1.00485, 1.07866, 1.13252, 1.14857, 1.0974, 1.02432", \
"0.926926, 0.951489, 1.02338, 1.08155, 1.09331, 1.04927, 0.96437", \
"0.850696, 0.871629, 0.948596, 1.0013, 1.01856, 0.977878, 0.881166", \
"0.776468, 0.80212, 0.866228, 0.928653, 0.942986, 0.898018, 0.808082", \
"0.754886, 0.781, 0.854843, 0.912021, 0.920227, 0.875798, 0.79068", \
"0.754897, 0.776633, 0.848562, 0.903067, 0.917356, 0.873334, 0.786434" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ( \
"0.151047, 0.16124, 0.270003, 0.488455, 0.769593, 1.09871, 1.48203", \
"0.145683, 0.152288, 0.261775, 0.480766, 0.761145, 1.08677, 1.47378", \
"0.0922163, 0.0983697, 0.207229, 0.426272, 0.706827, 1.03504, 1.41977", \
"0.016225, 0.023364, 0.132266, 0.350724, 0.631873, 0.956659, 1.34442", \
"0, 0, 0.055396, 0.275178, 0.554026, 0.882915, 1.2655", \
"0, 0, 0.036553, 0.255387, 0.536162, 0.864358, 1.24854", \
"0, 0, 0.031856, 0.250848, 0.531476, 0.859694, 1.24387" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ( \
"0.633127, 0.610731, 0.540012, 0.48015, 0.460317, 0.505263, 0.601524", \
"0.639375, 0.618596, 0.544456, 0.490776, 0.478159, 0.520531, 0.60016", \
"0.69872, 0.674784, 0.603218, 0.544434, 0.532279, 0.573705, 0.660781", \
"0.770924, 0.747582, 0.671825, 0.615615, 0.604021, 0.640607, 0.737583", \
"0.851411, 0.82654, 0.757878, 0.696861, 0.685421, 0.72864, 0.81444", \
"0.870265, 0.844536, 0.774257, 0.712954, 0.702152, 0.743831, 0.835197", \
"0.868714, 0.847044, 0.776655, 0.720654, 0.705507, 0.745085, 0.830236" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ( \
"1.11164, 1.10062, 0.994202, 0.775533, 0.496034, 0.169149, 0", \
"1.1169, 1.10926, 1.00286, 0.784179, 0.504669, 0.180588, 0", \
"1.173, 1.1642, 1.05779, 0.839124, 0.559603, 0.232725, 0", \
"1.24497, 1.23659, 1.13018, 0.911515, 0.631994, 0.305118, 0", \
"1.32572, 1.31736, 1.21092, 0.992244, 0.712778, 0.385847, 0.00319", \
"1.34189, 1.3343, 1.2279, 1.00923, 0.729707, 0.402831, 0.020174", \
"1.34409, 1.33672, 1.2303, 1.01164, 0.732094, 0.405218, 0.022561" \
)
}
}
}
cell_leakage_power : 0.000122169;
}
}