blob: f23e2dab161d7fda0a3092266b6b203b7839c767 [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__ff_n40C_1v98) {
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 : 1.98;
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.315;
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.98);
voltage_map (VSS, 0.00);
operating_conditions(ff_1p98v_m40C) {
process : 1;
temperature : -40;
voltage : 1.98;
tree_type : balanced_tree;
}
default_operating_conditions : ff_1p98v_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 : 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.973;
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.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
index_2 ("0.01, 0.02732, 0.08813, 0.2042, 0.3851, 0.639, 0.973");
values ( \
"7.44768, 7.47024, 7.59192, 7.75296, 8.00532, 8.33952, 8.81004", \
"7.43784, 7.47432, 7.58016, 7.76196, 8.0058, 8.3442, 8.80344", \
"7.47504, 7.51692, 7.62336, 7.7916, 8.04372, 8.39352, 8.829", \
"7.5174, 7.54956, 7.65948, 7.8252, 8.08188, 8.42508, 8.88048", \
"7.572, 7.60356, 7.70988, 7.88532, 8.13924, 8.4822, 8.94024", \
"7.61832, 7.6548, 7.7676, 7.93704, 8.1858, 8.52816, 8.98356", \
"7.67712, 7.71156, 7.82112, 8.00016, 8.25096, 8.5878, 9.0432" \
)
}
rise_transition(q_slew_template) {
index_1 ("0.01, 0.02732, 0.08813, 0.2042, 0.3851, 0.639, 0.973");
values ( \
"0.256512, 0.301368, 0.45246, 0.734784, 1.18332, 1.84788, 2.71344" \
)
}
cell_fall(q_delay_template) {
index_1 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
index_2 ("0.01, 0.02732, 0.08813, 0.2042, 0.3851, 0.639, 0.973");
values ( \
"7.82052, 7.839, 7.94424, 8.06232, 8.2224, 8.40228, 8.65932", \
"7.81572, 7.84584, 7.93236, 8.07432, 8.2188, 8.41092, 8.6556", \
"7.84344, 7.8786, 7.97544, 8.10336, 8.25768, 8.44716, 8.679", \
"7.88592, 7.91868, 8.00964, 8.13336, 8.29344, 8.48904, 8.72532", \
"7.93752, 7.97328, 8.06244, 8.18988, 8.35524, 8.54544, 8.78772", \
"7.99116, 8.02116, 8.1216, 8.24472, 8.40288, 8.59284, 8.82864", \
"8.05404, 8.08284, 8.17632, 8.31264, 8.47176, 8.64696, 8.88648" \
)
}
fall_transition(q_slew_template) {
index_1 ("0.01, 0.02732, 0.08813, 0.2042, 0.3851, 0.639, 0.973");
values ( \
"0.252012, 0.295536, 0.386412, 0.520332, 0.72252, 1.012, 1.38276" \
)
}
}
}
pin(CLK) {
direction : input;
capacitance : 0.269276;
clock : true;
max_transition : 2.315;
min_pulse_width_high : 4.948095;
min_pulse_width_low : 4.736925;
min_period : 10.11168;
/* 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.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
values ("110.484, 110.484, 110.484, 110.484, 110.484, 110.484, 110.484");
}
fall_power(power_template) {
index_1 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
values ("110.484, 110.484, 110.484, 110.484, 110.484, 110.484, 110.484");
}
}
/* DISABLED POWER */
internal_power() {
when : "CEN";
rise_power(power_template) {
index_1 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
values ("2.05009e-05, 2.05009e-05, 2.05009e-05, 2.05009e-05, 2.05009e-05, 2.05009e-05, 2.05009e-05");
}
fall_power(power_template) {
index_1 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
values ("2.05009e-05, 2.05009e-05, 2.05009e-05, 2.05009e-05, 2.05009e-05, 2.05009e-05, 2.05009e-05");
}
}
/* READ POWER */
internal_power() {
when : "!CEN & GWEN";
rise_power(power_template) {
index_1 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
values ("100.495, 100.495, 100.495, 100.495, 100.495, 100.495, 100.495");
}
fall_power(power_template) {
index_1 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
values ("100.495, 100.495, 100.495, 100.495, 100.495, 100.495, 100.495");
}
}
}
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.0167148;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
index_2 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
values ( \
"0.799073, 0.791703, 0.790317, 0.835483, 0.939268, 1.09337, 1.25111", \
"0.786709, 0.782683, 0.780373, 0.825528, 0.929313, 1.08342, 1.24116", \
"0.755106, 0.747516, 0.747868, 0.793034, 0.896819, 1.05093, 1.20866", \
"0.706915, 0.702207, 0.69773, 0.742951, 0.838035, 0.989868, 1.14792", \
"0.70719, 0.700601, 0.699347, 0.742775, 0.837859, 0.969463, 1.08209", \
"0.706596, 0.699446, 0.699204, 0.742621, 0.837716, 0.969309, 1.06754", \
"0.706508, 0.699127, 0.699908, 0.742533, 0.83776, 0.955768, 1.05199" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
index_2 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
values ( \
"0.653807, 0.662838, 0.692428, 0.763169, 0.88385, 1.05678, 1.26009", \
"0.65065, 0.658086, 0.689337, 0.758846, 0.880066, 1.05339, 1.25015", \
"0.650474, 0.657921, 0.689161, 0.75867, 0.87989, 1.05322, 1.24958", \
"0.650001, 0.657503, 0.688611, 0.758208, 0.879428, 1.05276, 1.24912", \
"0.650276, 0.657261, 0.688446, 0.758021, 0.879252, 1.05256, 1.24893", \
"0.649715, 0.657107, 0.688303, 0.757878, 0.879109, 1.05243, 1.24879", \
"0.649715, 0.657107, 0.68827, 0.75779, 0.87901, 1.05234, 1.2487" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
index_2 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
values ( \
"2.00123, 2.00926, 2.00904, 1.96559, 1.87055, 1.73899, 1.64076", \
"2.00552, 2.01003, 2.01113, 1.96768, 1.87264, 1.74097, 1.64285", \
"2.04226, 2.04941, 2.04963, 2.00618, 1.91114, 1.77947, 1.68135", \
"2.10914, 2.11387, 2.11838, 2.07317, 1.97802, 1.84646, 1.74823", \
"2.20803, 2.21463, 2.21584, 2.17239, 2.07735, 1.94568, 1.84756", \
"2.34553, 2.35268, 2.3529, 2.30945, 2.21441, 2.08274, 1.98451", \
"2.48237, 2.48974, 2.48897, 2.4464, 2.35114, 2.23311, 2.13697" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
index_2 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
values ( \
"2.05854, 2.05117, 2.01993, 1.95041, 1.82919, 1.65583, 1.45948", \
"2.06063, 2.05315, 2.02191, 1.95239, 1.83117, 1.65792, 1.46157", \
"2.09913, 2.09176, 2.06052, 1.991, 1.86978, 1.69642, 1.50007", \
"2.16612, 2.15853, 2.12751, 2.05788, 1.93666, 1.7633, 1.56695", \
"2.2649, 2.25797, 2.22673, 2.15721, 2.03588, 1.86263, 1.66628", \
"2.4024, 2.39503, 2.36379, 2.29416, 2.17294, 1.99969, 1.80334", \
"2.53924, 2.53176, 2.50063, 2.43111, 2.30989, 2.13653, 1.94018" \
)
}
}
}
pin(GWEN) {
direction : input;
capacitance : 0.0441618;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
index_2 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
values ( \
"1.00397, 1.01665, 1.04481, 1.10547, 1.20429, 1.31659, 1.43088", \
"0.991584, 1.00088, 1.03312, 1.09359, 1.19206, 1.30431, 1.41878", \
"0.967593, 0.976723, 1.00839, 1.06903, 1.1679, 1.28017, 1.39447", \
"0.902946, 0.915662, 0.943899, 1.00455, 1.10342, 1.21622, 1.33001", \
"0.81939, 0.831358, 0.860926, 0.920986, 1.01984, 1.13347, 1.24713", \
"0.735427, 0.7447, 0.776534, 0.837034, 0.935231, 1.04816, 1.16269", \
"0.673563, 0.681538, 0.713218, 0.773872, 0.87274, 0.984995, 1.10002" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
index_2 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
values ( \
"1.18814, 1.19812, 1.23835, 1.31156, 1.44408, 1.6225, 1.83997", \
"1.17646, 1.18639, 1.22278, 1.29929, 1.43187, 1.61018, 1.82765", \
"1.15171, 1.16225, 1.20331, 1.27513, 1.40767, 1.58609, 1.80356", \
"1.08782, 1.09778, 1.13743, 1.21065, 1.34321, 1.52163, 1.7391", \
"1.00423, 1.01655, 1.05057, 1.12708, 1.25962, 1.43979, 1.6555", \
"0.920282, 0.932602, 0.969914, 1.04313, 1.17548, 1.35575, 1.57157", \
"0.857428, 0.86944, 0.906752, 0.979968, 1.11251, 1.29263, 1.50832" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
index_2 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
values ( \
"1.3035, 1.29616, 1.26553, 1.20487, 1.12552, 1.06055, 1.00511", \
"1.3046, 1.29841, 1.26566, 1.2061, 1.12566, 1.0607, 1.00521", \
"1.32825, 1.32297, 1.29028, 1.22962, 1.15027, 1.08532, 1.02988", \
"1.36422, 1.35575, 1.32528, 1.26458, 1.18523, 1.12041, 1.06483", \
"1.41647, 1.408, 1.37753, 1.31691, 1.23756, 1.17246, 1.11531", \
"1.46597, 1.45981, 1.42604, 1.36642, 1.28708, 1.21978, 1.16607", \
"1.51679, 1.51041, 1.47774, 1.41702, 1.33771, 1.27272, 1.21544" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
index_2 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
values ( \
"0.669097, 0.658361, 0.623238, 0.538241, 0.417285, 0.238611, 0.040909", \
"0.669251, 0.65263, 0.62337, 0.538395, 0.417461, 0.238662, 0.041052", \
"0.693858, 0.677248, 0.64691, 0.563255, 0.44209, 0.263309, 0.065659", \
"0.728904, 0.712195, 0.681868, 0.59796, 0.477048, 0.298268, 0.100617", \
"0.781132, 0.764434, 0.734173, 0.649583, 0.529364, 0.353639, 0.152923", \
"0.830643, 0.813945, 0.783805, 0.70004, 0.578853, 0.40315, 0.202442", \
"0.881111, 0.864655, 0.834306, 0.750398, 0.629497, 0.453772, 0.253059" \
)
}
}
}
bus(WEN) {
bus_type : Q_BUS;
direction : input;
capacitance : 0.00700372;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
index_2 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
values ( \
"0, 0, 0, 0, 0.045034, 0.113004, 0.169147", \
"0, 0, 0, 0, 0.043285, 0.111221, 0.167363", \
"0, 0, 0, 0, 0.018711, 0.086658, 0.142794", \
"0, 0, 0, 0, 0, 0.05357, 0.109714", \
"0, 0, 0, 0, 0, 0.001386, 0.05753", \
"0, 0, 0, 0, 0, 0, 0.008349", \
"0, 0, 0, 0, 0, 0, 0" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
index_2 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
values ( \
"0.500764, 0.509762, 0.547668, 0.630355, 0.753665, 0.929588, 1.1277", \
"0.498993, 0.517165, 0.545897, 0.628595, 0.752147, 0.927872, 1.12593", \
"0.475167, 0.492591, 0.521323, 0.6039, 0.7271, 0.902495, 1.10135", \
"0.441672, 0.45958, 0.488235, 0.570944, 0.694496, 0.870353, 1.06807", \
"0.390038, 0.407374, 0.436062, 0.517957, 0.642312, 0.814352, 1.01632", \
"0.339955, 0.354266, 0.386771, 0.468765, 0.59312, 0.76472, 0.966922", \
"0.291543, 0.308544, 0.337304, 0.41921, 0.54307, 0.714978, 0.916927" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
index_2 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
values ( \
"1.30792, 1.29878, 1.26896, 1.20823, 1.13304, 1.06055, 1.00511", \
"1.30804, 1.2989, 1.26909, 1.20835, 1.13318, 1.0607, 1.00521", \
"1.33265, 1.32352, 1.2937, 1.23296, 1.15778, 1.08532, 1.02988", \
"1.36763, 1.3585, 1.32869, 1.26794, 1.19275, 1.12041, 1.06483", \
"1.41999, 1.41086, 1.38105, 1.32022, 1.24509, 1.17246, 1.11664", \
"1.46949, 1.46036, 1.43055, 1.36972, 1.29458, 1.2211, 1.16612", \
"1.52009, 1.51096, 1.48115, 1.42043, 1.34519, 1.27272, 1.21677" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
index_2 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
values ( \
"0.669097, 0.658361, 0.623238, 0.538241, 0.417285, 0.238611, 0.041591", \
"0.669251, 0.65263, 0.62337, 0.538395, 0.417461, 0.238662, 0.041756", \
"0.693858, 0.677248, 0.64691, 0.563255, 0.44209, 0.263309, 0.066363", \
"0.728904, 0.712195, 0.681868, 0.59796, 0.477048, 0.298268, 0.101343", \
"0.781132, 0.764434, 0.734173, 0.649583, 0.529364, 0.353639, 0.153658", \
"0.830643, 0.813945, 0.783805, 0.70004, 0.578853, 0.40315, 0.20316", \
"0.881111, 0.864655, 0.834306, 0.750398, 0.629497, 0.453772, 0.253801" \
)
}
}
}
bus(A) {
bus_type : A_BUS;
direction : input;
capacitance : 0.0319286;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
index_2 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
values ( \
"1.01628, 1.01552, 1.02306, 1.0628, 1.15176, 1.29752, 1.44903", \
"1.01361, 1.01372, 1.01922, 1.06105, 1.15091, 1.29609, 1.44419", \
"0.990033, 0.991265, 0.998591, 1.03612, 1.12717, 1.27199, 1.42461", \
"0.959871, 0.957616, 0.969364, 1.00428, 1.0925, 1.23207, 1.3904", \
"0.90684, 0.900031, 0.911141, 0.950895, 1.04121, 1.18438, 1.33628", \
"0.852632, 0.852379, 0.860816, 0.899635, 0.98967, 1.13368, 1.28275", \
"0.801955, 0.803462, 0.808423, 0.850377, 0.939433, 1.08481, 1.22903" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
index_2 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
values ( \
"1.12435, 1.12653, 1.15418, 1.23105, 1.35047, 1.52328, 1.73327", \
"1.1162, 1.12974, 1.15331, 1.23017, 1.3497, 1.52339, 1.73415", \
"1.09772, 1.10505, 1.12972, 1.20284, 1.32594, 1.50128, 1.70918", \
"1.06202, 1.07127, 1.09598, 1.17222, 1.29292, 1.46201, 1.67497", \
"1.0142, 1.02025, 1.0437, 1.11933, 1.2399, 1.41119, 1.62448", \
"0.962181, 0.963061, 0.991012, 1.06691, 1.18432, 1.35982, 1.57102", \
"0.893915, 0.916003, 0.941655, 1.01846, 1.13793, 1.31176, 1.52273" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
index_2 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
values ( \
"0.758252, 0.763092, 0.746768, 0.7029, 0.628166, 0.534721, 0.426558", \
"0.770033, 0.767382, 0.756877, 0.713009, 0.638264, 0.544819, 0.436689", \
"0.795223, 0.792572, 0.782067, 0.738188, 0.663454, 0.570009, 0.461879", \
"0.859639, 0.862796, 0.846164, 0.802615, 0.727969, 0.634425, 0.526295", \
"0.948288, 0.951401, 0.935132, 0.891253, 0.816519, 0.723074, 0.611226", \
"1.0734, 1.07007, 1.05955, 1.01568, 0.94094, 0.847495, 0.738661", \
"1.1863, 1.18945, 1.17313, 1.12926, 1.05453, 0.961081, 0.849222" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
index_2 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
values ( \
"0.838552, 0.830907, 0.798578, 0.738881, 0.674564, 0.605473, 0.537702", \
"0.849651, 0.841225, 0.808676, 0.74899, 0.684662, 0.614526, 0.547415", \
"0.874841, 0.866415, 0.833866, 0.77418, 0.709852, 0.639705, 0.572154", \
"0.938377, 0.930688, 0.898282, 0.838596, 0.774268, 0.704121, 0.637406", \
"1.02715, 1.01948, 0.986931, 0.927245, 0.862917, 0.79277, 0.726066", \
"1.15154, 1.14441, 1.11136, 1.05167, 0.987349, 0.917213, 0.849662", \
"1.26591, 1.25871, 1.22494, 1.16524, 1.10092, 1.03079, 0.963237" \
)
}
}
}
bus(D) {
bus_type : Q_BUS;
memory_write() {
address : A;
clocked_on : "CLK";
}
direction : input;
capacitance : 0.0153038;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
index_2 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
values ( \
"0.936804, 0.942304, 0.97328, 1.02963, 1.05987, 1.06949, 1.0658", \
"0.935594, 0.948849, 0.974732, 1.02306, 1.05907, 1.06677, 1.05826", \
"0.908083, 0.919611, 0.948739, 1.00387, 1.0418, 1.04398, 1.04126", \
"0.880352, 0.886721, 0.918907, 0.963391, 1.00175, 1.01066, 1.00736", \
"0.826331, 0.836407, 0.86636, 0.914771, 0.955724, 0.957044, 0.953799", \
"0.770748, 0.782859, 0.814, 0.866382, 0.89903, 0.909062, 0.898414", \
"0.726374, 0.734613, 0.765611, 0.815969, 0.838068, 0.860134, 0.852874" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
index_2 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
values ( \
"0.189886, 0.189164, 0.223178, 0.301411, 0.425161, 0.603394, 0.79739", \
"0.188835, 0.188096, 0.222119, 0.300361, 0.424149, 0.602624, 0.796334", \
"0.165397, 0.164662, 0.198734, 0.27692, 0.400664, 0.579183, 0.772893", \
"0.131859, 0.130856, 0.164956, 0.243146, 0.366938, 0.545413, 0.738848", \
"0.079486, 0.078606, 0.112666, 0.19085, 0.314598, 0.493119, 0.686829", \
"0.026719, 0.025883, 0.059961, 0.138152, 0.261902, 0.440418, 0.633985", \
"0, 0, 0.010604, 0.088792, 0.212539, 0.39105, 0.584485" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
index_2 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
values ( \
"0.54912, 0.534039, 0.510268, 0.459382, 0.424501, 0.412049, 0.403788", \
"0.551089, 0.53889, 0.512347, 0.463441, 0.425293, 0.416108, 0.413006", \
"0.575124, 0.563684, 0.535733, 0.484836, 0.446688, 0.437514, 0.429264", \
"0.606276, 0.599907, 0.567325, 0.51876, 0.483879, 0.471438, 0.463177", \
"0.658812, 0.650012, 0.620642, 0.571087, 0.533159, 0.523985, 0.515724", \
"0.709511, 0.700678, 0.671209, 0.62128, 0.586795, 0.574475, 0.569811", \
"0.761486, 0.751905, 0.721468, 0.672892, 0.634755, 0.625944, 0.61732" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
index_2 ("0.02, 0.06127, 0.2062, 0.4828, 0.9139, 1.519, 2.315");
values ( \
"1.03909, 1.0416, 1.00568, 0.929555, 0.805662, 0.629057, 0.436183", \
"1.04316, 1.04565, 1.00975, 0.933614, 0.809721, 0.633127, 0.440242", \
"1.06456, 1.06702, 1.03115, 0.95502, 0.831127, 0.654522, 0.461648", \
"1.09838, 1.10098, 1.06506, 0.988933, 0.86504, 0.688446, 0.495561", \
"1.15101, 1.15349, 1.11761, 1.04148, 0.917587, 0.740982, 0.548108", \
"1.20155, 1.20402, 1.16811, 1.09198, 0.968088, 0.791494, 0.598609", \
"1.25263, 1.25509, 1.21921, 1.14308, 1.01918, 0.842578, 0.649704" \
)
}
}
}
cell_leakage_power : 2.050092e-05;
}
}