blob: 5be7bfd2f1f7d2a665727068c23f148b567106f1 [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__sram64x8m8wm1
* Technology : GF 180nm 5V Green
*
* ---------
* Pin name:
* ---------
* Input Pins : CLK CEN GWEN WEN[7:0] A[5: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__sram64x8m8wm1__tt_025C_1v80) {
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 : 25;
nom_voltage : 1.8;
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 : 4.617;
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, 1.8);
voltage_map (VSS, 0.00);
operating_conditions(tt_1p8v_25C) {
process : 1;
temperature : 25;
voltage : 1.8;
tree_type : balanced_tree;
}
default_operating_conditions : tt_1p8v_25C;
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 : 6;
bit_from : 5;
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__sram64x8m8wm1) {
area : 100571.5568;
dont_use : TRUE;
dont_touch : TRUE;
interface_timing : TRUE;
memory() {
type : ram;
address_width : 6;
word_width : 8;
}
bus(Q) {
bus_type : Q_BUS;
direction : output;
max_capacitance : 0.9747;
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.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.01, 0.02735, 0.08826, 0.2046, 0.3858, 0.6401, 0.9747");
values ( \
"15.2892, 15.3864, 15.5844, 15.9036, 16.4544, 17.0808, 17.988", \
"15.3288, 15.3876, 15.6144, 15.9564, 16.4364, 17.1432, 18.006", \
"15.3996, 15.4668, 15.6516, 16.0116, 16.5288, 17.232, 18.0852", \
"15.4776, 15.5472, 15.7344, 16.0752, 16.6092, 17.2836, 18.216", \
"15.636, 15.7104, 15.9648, 16.2948, 16.7556, 17.4888, 18.3792", \
"15.8448, 15.9228, 16.1256, 16.452, 16.992, 17.6568, 18.5604", \
"16.0992, 16.176, 16.3776, 16.686, 17.2152, 17.9064, 18.8148" \
)
}
rise_transition(q_slew_template) {
index_1 ("0.01, 0.02735, 0.08826, 0.2046, 0.3858, 0.6401, 0.9747");
values ( \
"0.501348, 0.588912, 0.879672, 1.43688, 2.34972, 3.63756, 5.35032" \
)
}
cell_fall(q_delay_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.01, 0.02735, 0.08826, 0.2046, 0.3858, 0.6401, 0.9747");
values ( \
"16.1808, 16.2636, 16.4232, 16.638, 16.9908, 17.2752, 17.7192", \
"16.2168, 16.2672, 16.452, 16.6848, 16.9776, 17.3544, 17.7276", \
"16.2888, 16.356, 16.5072, 16.758, 17.0724, 17.4144, 17.8224", \
"16.3668, 16.4244, 16.5924, 16.83, 17.1396, 17.4852, 17.9556", \
"16.53, 16.5984, 16.8, 17.028, 17.2944, 17.676, 18.0948", \
"16.722, 16.818, 16.9848, 17.2032, 17.544, 17.856, 18.2868", \
"16.992, 17.0496, 17.214, 17.43, 17.7516, 18.1008, 18.5328" \
)
}
fall_transition(q_slew_template) {
index_1 ("0.01, 0.02735, 0.08826, 0.2046, 0.3858, 0.6401, 0.9747");
values ( \
"0.501756, 0.557112, 0.741972, 0.98592, 1.3518, 1.88208, 2.5596" \
)
}
}
}
pin(CLK) {
direction : input;
capacitance : 0.280919;
clock : true;
max_transition : 4.617;
min_pulse_width_high : 5.59182;
min_pulse_width_low : 9.346725;
min_period : 21.43875;
/* 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.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ("92.043, 92.043, 92.043, 92.043, 92.043, 92.043, 92.043");
}
fall_power(power_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ("92.043, 92.043, 92.043, 92.043, 92.043, 92.043, 92.043");
}
}
/* DISABLED POWER */
internal_power() {
when : "CEN";
rise_power(power_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ("1.69949e-05, 1.69949e-05, 1.69949e-05, 1.69949e-05, 1.69949e-05, 1.69949e-05, 1.69949e-05");
}
fall_power(power_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ("1.69949e-05, 1.69949e-05, 1.69949e-05, 1.69949e-05, 1.69949e-05, 1.69949e-05, 1.69949e-05");
}
}
/* READ POWER */
internal_power() {
when : "!CEN & GWEN";
rise_power(power_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ("84.3399, 84.3399, 84.3399, 84.3399, 84.3399, 84.3399, 84.3399");
}
fall_power(power_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ("84.3399, 84.3399, 84.3399, 84.3399, 84.3399, 84.3399, 84.3399");
}
}
}
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.0177614;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ( \
"1.56453, 1.53395, 1.52757, 1.67464, 1.92819, 2.3793, 2.88244", \
"1.54495, 1.51899, 1.51338, 1.65451, 1.90465, 2.33398, 2.8699", \
"1.45299, 1.44441, 1.46564, 1.58565, 1.83634, 2.26567, 2.80159", \
"1.32396, 1.30898, 1.30052, 1.44056, 1.70621, 2.13697, 2.64407", \
"1.3, 1.27498, 1.27621, 1.41603, 1.6742, 2.06767, 2.54859", \
"1.29856, 1.28175, 1.29049, 1.41284, 1.67827, 2.06459, 2.57598", \
"1.28942, 1.27794, 1.27675, 1.41163, 1.67805, 2.09264, 2.55376" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ( \
"1.15313, 1.13939, 1.24235, 1.38776, 1.68256, 2.06195, 2.57191", \
"1.1309, 1.11819, 1.22103, 1.36642, 1.66122, 2.0405, 2.55057", \
"1.08078, 1.08013, 1.17107, 1.32583, 1.60908, 1.99177, 2.49139", \
"1.07952, 1.09242, 1.17061, 1.32528, 1.60864, 1.99133, 2.49084", \
"1.07878, 1.09139, 1.16948, 1.32418, 1.60754, 1.99012, 2.48974", \
"1.07855, 1.07868, 1.16977, 1.32451, 1.6082, 1.99045, 2.49007", \
"1.0782, 1.07782, 1.1689, 1.32352, 1.60699, 1.98957, 2.48919" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ( \
"3.82987, 3.85363, 3.8599, 3.71833, 3.45136, 3.03446, 2.56399", \
"3.85341, 3.87101, 3.87816, 3.73692, 3.47897, 3.08572, 2.58522", \
"3.93602, 3.94933, 3.93382, 3.80809, 3.5497, 3.15634, 2.65584", \
"4.07099, 4.08386, 4.09178, 3.95604, 3.69754, 3.28108, 2.81281", \
"4.32234, 4.34742, 4.34621, 4.2064, 3.94812, 3.55465, 3.07373", \
"4.63254, 4.64926, 4.64057, 4.51825, 4.25282, 3.8665, 3.355", \
"5.00874, 5.02018, 5.02139, 4.88653, 4.62011, 4.20552, 3.74451" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ( \
"4.04932, 4.04987, 3.95868, 3.80402, 3.52066, 3.13797, 2.63835", \
"4.0755, 4.07506, 3.98398, 3.82921, 3.54585, 3.16338, 2.66354", \
"4.14491, 4.14557, 4.0546, 3.89983, 3.61658, 3.23389, 2.73427", \
"4.28835, 4.27548, 4.19727, 4.04261, 3.75925, 3.37656, 2.87705", \
"4.54355, 4.53101, 4.45291, 4.29825, 4.01478, 3.6322, 3.13258", \
"4.85254, 4.85232, 4.76124, 4.60658, 4.32289, 3.94053, 3.44102", \
"5.21994, 5.22038, 5.1293, 4.97464, 4.69117, 4.30859, 3.80897" \
)
}
}
}
pin(GWEN) {
direction : input;
capacitance : 0.0444991;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ( \
"1.88485, 1.90212, 1.98297, 2.12608, 2.35444, 2.64429, 2.9656", \
"1.86373, 1.88694, 1.96031, 2.10738, 2.33343, 2.61723, 2.94503", \
"1.8018, 1.81313, 1.89365, 2.0394, 2.26545, 2.54936, 2.87727", \
"1.65858, 1.67145, 1.74889, 1.89233, 2.12388, 2.41175, 2.73471", \
"1.42087, 1.43814, 1.51481, 1.66419, 1.89035, 2.17448, 2.50228", \
"1.20485, 1.22816, 1.30252, 1.44386, 1.672, 1.96603, 2.28723", \
"0.979253, 1.00363, 1.07916, 1.21774, 1.44771, 1.74053, 2.06096" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ( \
"2.41692, 2.43364, 2.52329, 2.70424, 2.98507, 3.36413, 3.89224", \
"2.3958, 2.41274, 2.50228, 2.68323, 2.96945, 3.33861, 3.87299", \
"2.32793, 2.34465, 2.43441, 2.61536, 2.89377, 3.27503, 3.80501", \
"2.18603, 2.20297, 2.29262, 2.47357, 2.76001, 3.13346, 3.66355", \
"1.95338, 1.96966, 2.05953, 2.24048, 2.5212, 2.90004, 3.43013", \
"1.74108, 1.75384, 1.84349, 2.02422, 2.27645, 2.68411, 3.212", \
"1.5015, 1.52834, 1.61821, 1.79894, 2.07988, 2.45883, 2.98881" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ( \
"2.56113, 2.55288, 2.46235, 2.33244, 2.12619, 1.91972, 1.73547", \
"2.51933, 2.50349, 2.42011, 2.28646, 2.07999, 1.86538, 1.68806", \
"2.4684, 2.46048, 2.36885, 2.23597, 2.0295, 1.81478, 1.63746", \
"2.50943, 2.5014, 2.41175, 2.27689, 2.07042, 1.85185, 1.67915", \
"2.64418, 2.63604, 2.54463, 2.41153, 2.20517, 1.99034, 1.81313", \
"2.82711, 2.8116, 2.73119, 2.59259, 2.39184, 2.17888, 1.9954", \
"3.01224, 2.99673, 2.91335, 2.77981, 2.57686, 2.35444, 2.1813" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ( \
"1.26049, 1.24588, 1.1519, 0.984489, 0.694067, 0.316765, 0", \
"1.22682, 1.20256, 1.10966, 0.942777, 0.652135, 0.280684, 0", \
"1.17624, 1.15158, 1.05686, 0.89045, 0.603724, 0.22546, 0", \
"1.21598, 1.19249, 1.09985, 0.93291, 0.64251, 0.265199, 0", \
"1.35168, 1.32737, 1.23353, 1.0663, 0.777524, 0.401324, 0", \
"1.53318, 1.51019, 1.41735, 1.2507, 0.990946, 0.583, 0.085591", \
"1.71325, 1.69719, 1.60061, 1.43583, 1.14543, 0.768119, 0.269784" \
)
}
}
}
bus(WEN) {
bus_type : Q_BUS;
direction : input;
capacitance : 0.00715847;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ( \
"0, 0, 0, 0, 0, 0.089045, 0.262931", \
"0, 0, 0, 0, 0, 0.118061, 0.300218", \
"0, 0, 0, 0, 0, 0.17046, 0.352605", \
"0, 0, 0, 0, 0, 0.128631, 0.311594", \
"0, 0, 0, 0, 0, 0, 0.177448", \
"0, 0, 0, 0, 0, 0, 0", \
"0, 0, 0, 0, 0, 0, 0" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ( \
"0.718696, 0.73601, 0.832106, 0.995456, 1.28772, 1.66628, 2.16821", \
"0.753247, 0.778767, 0.872586, 1.0407, 1.32869, 1.70137, 2.20407", \
"0.804199, 0.830599, 0.932151, 1.09162, 1.37841, 1.7589, 2.25643", \
"0.761728, 0.782914, 0.883322, 1.0438, 1.33694, 1.71127, 2.20902", \
"0.631169, 0.655479, 0.751432, 0.916465, 1.20508, 1.5829, 2.079", \
"0.448228, 0.471922, 0.565565, 0.734635, 0.99341, 1.39557, 1.89552", \
"0.267148, 0.281961, 0.384263, 0.544918, 0.83237, 1.20678, 1.70962" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ( \
"2.57202, 2.55288, 2.47489, 2.33255, 2.1285, 1.936, 1.74031", \
"2.52934, 2.50866, 2.43232, 2.28987, 2.08582, 1.89332, 1.69763", \
"2.47874, 2.46048, 2.38172, 2.23927, 2.03522, 1.84272, 1.64703", \
"2.51988, 2.5014, 2.42264, 2.28019, 2.07614, 1.88364, 1.68795", \
"2.65419, 2.63604, 2.55706, 2.41472, 2.21067, 2.01817, 1.82237", \
"2.83745, 2.81677, 2.74043, 2.59798, 2.39393, 2.20044, 2.00574", \
"3.02258, 3.0019, 2.92545, 2.78311, 2.57906, 2.38656, 2.19087" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ( \
"1.26086, 1.24634, 1.15191, 0.984489, 0.694067, 0.316765, 0", \
"1.22682, 1.20256, 1.10966, 0.942777, 0.652135, 0.280873, 0", \
"1.17624, 1.15158, 1.05686, 0.89045, 0.603724, 0.22546, 0", \
"1.21598, 1.19249, 1.09985, 0.93291, 0.64251, 0.265199, 0", \
"1.35168, 1.32737, 1.23378, 1.0663, 0.777524, 0.401324, 0", \
"1.53395, 1.51019, 1.41735, 1.2507, 0.990946, 0.583, 0.085591", \
"1.71325, 1.69719, 1.60061, 1.43583, 1.14543, 0.768119, 0.269784" \
)
}
}
}
bus(A) {
bus_type : A_BUS;
direction : input;
capacitance : 0.0345814;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ( \
"1.81104, 1.78607, 1.80004, 1.92731, 2.2088, 2.63307, 3.14534", \
"1.84602, 1.8315, 1.83249, 1.96482, 2.24862, 2.67179, 3.19143", \
"1.90069, 1.87968, 1.89453, 2.01619, 2.29845, 2.72844, 3.23796", \
"1.85823, 1.83777, 1.84129, 1.97285, 2.25797, 2.67773, 3.19847", \
"1.71171, 1.71578, 1.72238, 1.8535, 2.12377, 2.54782, 3.04678", \
"1.54451, 1.52889, 1.53252, 1.66177, 1.93974, 2.36632, 2.86242", \
"1.35817, 1.33892, 1.33694, 1.47213, 1.75142, 2.17756, 2.69544" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ( \
"1.92412, 1.93028, 2.01443, 2.16634, 2.45454, 2.85989, 3.37106", \
"1.93083, 1.96009, 2.05348, 2.20473, 2.48006, 2.89795, 3.40758", \
"1.98517, 2.01179, 2.10837, 2.25555, 2.54958, 2.94976, 3.46489", \
"1.95382, 1.97593, 2.06195, 2.21364, 2.50503, 2.90774, 3.4177", \
"1.83183, 1.84085, 1.93149, 2.07944, 2.37259, 2.77563, 3.28482", \
"1.63306, 1.66551, 1.74856, 1.90773, 2.20352, 2.59545, 3.10552", \
"1.46069, 1.47114, 1.55727, 1.71446, 1.98836, 2.40779, 2.92061" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ( \
"1.27603, 1.28736, 1.2736, 1.1275, 0.857032, 0.523347, 0.142211", \
"1.30172, 1.31318, 1.29901, 1.15366, 0.882959, 0.549483, 0.168022", \
"1.36631, 1.37764, 1.36389, 1.2181, 0.947397, 0.613921, 0.232458", \
"1.51085, 1.52141, 1.50821, 1.36279, 1.09206, 0.758571, 0.377113", \
"1.74317, 1.7545, 1.7413, 1.595, 1.32429, 0.990803, 0.608058", \
"2.04556, 2.05689, 2.04314, 1.89805, 1.63207, 1.29348, 0.9108", \
"2.35774, 2.36929, 2.35499, 2.20968, 1.93952, 1.60556, 1.22408" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ( \
"1.48555, 1.46949, 1.38985, 1.23405, 1.04507, 0.827508, 0.59862", \
"1.5114, 1.49523, 1.4157, 1.25981, 1.07086, 0.853303, 0.624426", \
"1.57542, 1.55969, 1.48005, 1.32121, 1.13528, 0.91773, 0.688864", \
"1.72051, 1.70434, 1.6247, 1.46916, 1.27996, 1.06239, 0.833514", \
"1.95228, 1.93666, 1.85702, 1.70115, 1.51217, 1.29463, 1.06576", \
"2.25511, 2.23905, 2.15941, 2.00354, 1.81456, 1.59698, 1.36818", \
"2.56795, 2.55134, 2.4717, 2.31594, 2.12696, 1.90938, 1.68047" \
)
}
}
}
bus(D) {
bus_type : Q_BUS;
memory_write() {
address : A;
clocked_on : "CLK";
}
direction : input;
capacitance : 0.0161834;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ( \
"1.84096, 1.87627, 1.94656, 2.07405, 2.19373, 2.27447, 2.40031", \
"1.89134, 1.90993, 1.98484, 2.10628, 2.23883, 2.2968, 2.41098", \
"1.94458, 1.96779, 2.03368, 2.16227, 2.29141, 2.37369, 2.50206", \
"1.89387, 1.92104, 1.9833, 2.11871, 2.25049, 2.32518, 2.4442", \
"1.76836, 1.79212, 1.86659, 1.98968, 2.11695, 2.19043, 2.32111", \
"1.57696, 1.60655, 1.67783, 1.81236, 1.94502, 2.00871, 2.12289", \
"1.39172, 1.41581, 1.49017, 1.61766, 1.75109, 1.82963, 1.93677" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ( \
"0.024453, 0.029799, 0.08932, 0.266974, 0.539803, 0.926068, 1.40261", \
"0.063184, 0.06534, 0.127321, 0.305254, 0.578105, 0.964601, 1.44089", \
"0.114748, 0.117723, 0.179174, 0.356873, 0.629651, 1.01616, 1.485", \
"0.072127, 0.07557, 0.137031, 0.314678, 0.587532, 0.973775, 1.4498", \
"0, 0, 0.004708, 0.182636, 0.455422, 0.841676, 1.31821", \
"0, 0, 0, 0.002233, 0.276152, 0.661573, 1.13737", \
"0, 0, 0, 0, 0.085063, 0.47157, 0.947485" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ( \
"0.945186, 0.923109, 0.853941, 0.728079, 0.596805, 0.525228, 0.402622", \
"0.908908, 0.88231, 0.812592, 0.680526, 0.563079, 0.500335, 0.367961", \
"0.857285, 0.835142, 0.765985, 0.640167, 0.510697, 0.427911, 0.296078", \
"0.906917, 0.877877, 0.807345, 0.683628, 0.553091, 0.470558, 0.351142", \
"1.02777, 1.0056, 0.928554, 0.808852, 0.679228, 0.597993, 0.472648", \
"1.21602, 1.19394, 1.12462, 0.992068, 0.869198, 0.798655, 0.669064", \
"1.40547, 1.37896, 1.30974, 1.18393, 1.05411, 0.971652, 0.850729" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ( \
"2.08857, 2.08791, 2.02114, 1.84514, 1.57223, 1.18832, 0.719763", \
"2.04776, 2.04897, 1.98022, 1.80433, 1.53142, 1.1475, 0.678953", \
"2.00068, 2.002, 1.93314, 1.75725, 1.48434, 1.10041, 0.631873", \
"2.04336, 2.04468, 1.97582, 1.79993, 1.52702, 1.14303, 0.674487", \
"2.17096, 2.17217, 2.10353, 1.92753, 1.65473, 1.27072, 0.802186", \
"2.35873, 2.36082, 2.29185, 2.11596, 1.84305, 1.45904, 0.99055", \
"2.54441, 2.54595, 2.47698, 2.30098, 2.02807, 1.64417, 1.17561" \
)
}
}
}
cell_leakage_power : 1.699488e-05;
}
}