blob: c393e9663b9cc6eb3329c5a62712dd77b9fe1d2c [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_5v00) {
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 : 5.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 : 1.547;
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, 5.0);
voltage_map (VSS, 0.00);
operating_conditions(tt_5p0v_25C) {
process : 1;
temperature : 25;
voltage : 5.0;
tree_type : balanced_tree;
}
default_operating_conditions : tt_5p0v_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 : 1.119;
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.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.01, 0.02994, 0.09995, 0.2336, 0.4419, 0.7342, 1.119");
values ( \
"4.33896, 4.35132, 4.40988, 4.51488, 4.66608, 4.86756, 5.13084", \
"4.34136, 4.35672, 4.41456, 4.51344, 4.66164, 4.86408, 5.13312", \
"4.34544, 4.36488, 4.4232, 4.52328, 4.67148, 4.8756, 5.14512", \
"4.34772, 4.36932, 4.42752, 4.52484, 4.67412, 4.87764, 5.14692", \
"4.36032, 4.37544, 4.43244, 4.53564, 4.68432, 4.88616, 5.15808", \
"4.36296, 4.38216, 4.4382, 4.53948, 4.68804, 4.89228, 5.16204", \
"4.35372, 4.37304, 4.43364, 4.53216, 4.6782, 4.88568, 5.14992" \
)
}
rise_transition(q_slew_template) {
index_1 ("0.01, 0.02994, 0.09995, 0.2336, 0.4419, 0.7342, 1.119");
values ( \
"0.167808, 0.194952, 0.293964, 0.472872, 0.761352, 1.18285, 1.73856" \
)
}
cell_fall(q_delay_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.01, 0.02994, 0.09995, 0.2336, 0.4419, 0.7342, 1.119");
values ( \
"4.48224, 4.49652, 4.55232, 4.65072, 4.77528, 4.92168, 5.11008", \
"4.48332, 4.50084, 4.5576, 4.65012, 4.7688, 4.92072, 5.11428", \
"4.48908, 4.50816, 4.56792, 4.65564, 4.77864, 4.93116, 5.12376", \
"4.49136, 4.51068, 4.57248, 4.65984, 4.78164, 4.93344, 5.12652", \
"4.50468, 4.5198, 4.575, 4.67088, 4.791, 4.94136, 5.13912", \
"4.50516, 4.52556, 4.58376, 4.67616, 4.79544, 4.94724, 5.13996", \
"4.497, 4.51572, 4.5768, 4.6668, 4.7856, 4.941, 5.12892" \
)
}
fall_transition(q_slew_template) {
index_1 ("0.01, 0.02994, 0.09995, 0.2336, 0.4419, 0.7342, 1.119");
values ( \
"0.174024, 0.199356, 0.261744, 0.381132, 0.545808, 0.787848, 1.10224" \
)
}
}
}
pin(CLK) {
direction : input;
capacitance : 0.296201;
clock : true;
max_transition : 1.547;
min_pulse_width_high : 2.231475;
min_pulse_width_low : 2.53974;
min_period : 5.74725;
/* 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.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ("859.2, 859.2, 859.2, 859.2, 859.2, 859.2, 859.2");
}
fall_power(power_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ("859.2, 859.2, 859.2, 859.2, 859.2, 859.2, 859.2");
}
}
/* DISABLED POWER */
internal_power() {
when : "CEN";
rise_power(power_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ("0.00013216, 0.00013216, 0.00013216, 0.00013216, 0.00013216, 0.00013216, 0.00013216");
}
fall_power(power_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ("0.00013216, 0.00013216, 0.00013216, 0.00013216, 0.00013216, 0.00013216, 0.00013216");
}
}
/* READ POWER */
internal_power() {
when : "!CEN & GWEN";
rise_power(power_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ("770.85, 770.85, 770.85, 770.85, 770.85, 770.85, 770.85");
}
fall_power(power_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ("770.85, 770.85, 770.85, 770.85, 770.85, 770.85, 770.85");
}
}
}
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.0176988;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ( \
"0.435171, 0.430936, 0.423456, 0.43043, 0.454883, 0.491634, 0.520333", \
"0.434071, 0.429264, 0.422466, 0.429517, 0.453794, 0.484033, 0.520949", \
"0.433598, 0.428494, 0.421476, 0.428406, 0.450923, 0.473385, 0.507518", \
"0.432982, 0.428483, 0.421256, 0.42834, 0.453695, 0.473176, 0.493779", \
"0.43307, 0.428494, 0.420937, 0.427999, 0.4488, 0.472846, 0.493944", \
"0.432784, 0.427548, 0.420805, 0.427493, 0.448272, 0.472582, 0.493185", \
"0.432861, 0.427625, 0.420409, 0.427471, 0.447931, 0.472318, 0.493537" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ( \
"0.405812, 0.408276, 0.418506, 0.443531, 0.495495, 0.55847, 0.629145", \
"0.404888, 0.407198, 0.417571, 0.442431, 0.494483, 0.557458, 0.628144", \
"0.40392, 0.406274, 0.416515, 0.441738, 0.493053, 0.55517, 0.627176", \
"0.403788, 0.406362, 0.416328, 0.441254, 0.492877, 0.554972, 0.626967", \
"0.403205, 0.405735, 0.415822, 0.440913, 0.492954, 0.557018, 0.626626", \
"0.403029, 0.40546, 0.4158, 0.440935, 0.49269, 0.555687, 0.626373", \
"0.402919, 0.405196, 0.415525, 0.44066, 0.492415, 0.554092, 0.624921" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ( \
"1.10821, 1.11244, 1.11991, 1.11295, 1.08855, 1.06578, 1.0474", \
"1.1134, 1.11821, 1.125, 1.11795, 1.09368, 1.07374, 1.05203", \
"1.12774, 1.13285, 1.13986, 1.13293, 1.11042, 1.08796, 1.06736", \
"1.15423, 1.15873, 1.16596, 1.15887, 1.13352, 1.11403, 1.09342", \
"1.19512, 1.19969, 1.20725, 1.20019, 1.17938, 1.15534, 1.13423", \
"1.22751, 1.23275, 1.23949, 1.23281, 1.21202, 1.18773, 1.16712", \
"1.25914, 1.26437, 1.2716, 1.26454, 1.24407, 1.21969, 1.19908" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ( \
"1.13756, 1.1351, 1.12487, 1.09985, 1.04788, 0.984896, 0.914221", \
"1.14258, 1.14027, 1.1299, 1.10504, 1.05299, 0.990011, 0.919325", \
"1.15742, 1.15507, 1.14483, 1.1196, 1.06829, 1.00617, 0.934164", \
"1.18342, 1.18085, 1.17088, 1.14595, 1.09434, 1.03223, 0.960245", \
"1.22498, 1.22245, 1.21237, 1.18727, 1.13523, 1.07117, 1.00156", \
"1.25728, 1.25484, 1.2445, 1.21937, 1.16761, 1.10462, 1.03393", \
"1.28909, 1.28678, 1.27644, 1.25135, 1.19959, 1.13792, 1.06709" \
)
}
}
}
pin(GWEN) {
direction : input;
capacitance : 0.0496735;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ( \
"0.592042, 0.596134, 0.607849, 0.633974, 0.678634, 0.734019, 0.79035", \
"0.588511, 0.593076, 0.604516, 0.632159, 0.675312, 0.732347, 0.788689", \
"0.577082, 0.580602, 0.592064, 0.618673, 0.662651, 0.719697, 0.775181", \
"0.550737, 0.554224, 0.566555, 0.594418, 0.63855, 0.69355, 0.751388", \
"0.506374, 0.511027, 0.522511, 0.548757, 0.59345, 0.64988, 0.706541", \
"0.467984, 0.472417, 0.483505, 0.511676, 0.554763, 0.611578, 0.667018", \
"0.431024, 0.435644, 0.446578, 0.473286, 0.517968, 0.57475, 0.630058" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ( \
"0.62997, 0.633622, 0.652201, 0.691196, 0.757251, 0.849068, 0.953876", \
"0.626736, 0.630311, 0.648736, 0.687929, 0.753907, 0.8448, 0.951016", \
"0.614295, 0.617551, 0.636174, 0.675598, 0.74327, 0.832788, 0.938091", \
"0.588643, 0.592691, 0.611017, 0.649902, 0.717761, 0.807741, 0.912593", \
"0.544797, 0.548471, 0.566357, 0.605869, 0.67188, 0.763708, 0.868538", \
"0.506297, 0.509674, 0.528077, 0.567215, 0.633611, 0.72512, 0.829917", \
"0.469106, 0.472538, 0.491249, 0.529045, 0.596442, 0.688226, 0.793628" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ( \
"0.828894, 0.827673, 0.816904, 0.790383, 0.759693, 0.734019, 0.714857", \
"0.831897, 0.831094, 0.820182, 0.793463, 0.762894, 0.737099, 0.718916", \
"0.834702, 0.833569, 0.822734, 0.797049, 0.765666, 0.739904, 0.721116", \
"0.836913, 0.836066, 0.824901, 0.798457, 0.767261, 0.741906, 0.723382", \
"0.846626, 0.845449, 0.834537, 0.807807, 0.777348, 0.751421, 0.733865", \
"0.848045, 0.846978, 0.836308, 0.809578, 0.778899, 0.753313, 0.734536", \
"0.84161, 0.840576, 0.829697, 0.802978, 0.772398, 0.746867, 0.72809" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ( \
"0.456016, 0.453904, 0.433037, 0.39457, 0.328977, 0.245101, 0.140307", \
"0.459844, 0.457347, 0.43846, 0.396341, 0.332717, 0.251548, 0.145013", \
"0.462099, 0.458964, 0.440902, 0.399014, 0.33308, 0.250841, 0.146285", \
"0.466895, 0.462473, 0.443267, 0.402996, 0.335995, 0.252954, 0.148587", \
"0.474551, 0.470998, 0.453057, 0.41239, 0.347039, 0.261555, 0.157792", \
"0.519288, 0.516373, 0.49731, 0.458469, 0.389279, 0.299871, 0.200858", \
"0.575641, 0.572044, 0.55363, 0.514789, 0.445841, 0.356235, 0.256696" \
)
}
}
}
bus(WEN) {
bus_type : Q_BUS;
direction : input;
capacitance : 0.00784667;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ( \
"0, 0, 0, 0, 0, 0, 0.01738", \
"0, 0, 0, 0, 0, 0, 0.012826", \
"0, 0, 0, 0, 0, 0, 0.010505", \
"0, 0, 0, 0, 0, 0, 0.007733", \
"0, 0, 0, 0, 0, 0, 0", \
"0, 0, 0, 0, 0, 0, 0", \
"0, 0, 0, 0, 0, 0, 0.002772" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ( \
"0.271942, 0.275088, 0.296549, 0.334895, 0.400345, 0.484352, 0.589402", \
"0.270437, 0.272291, 0.291665, 0.333311, 0.396935, 0.478698, 0.584463", \
"0.267154, 0.269927, 0.288508, 0.329538, 0.395285, 0.477752, 0.582153", \
"0.261292, 0.266269, 0.285681, 0.326007, 0.392029, 0.47575, 0.580107", \
"0.253979, 0.257474, 0.275627, 0.316096, 0.381205, 0.466147, 0.570471", \
"0.252503, 0.255201, 0.274164, 0.314765, 0.38005, 0.464827, 0.568524", \
"0.25903, 0.26091, 0.280896, 0.322564, 0.385748, 0.469502, 0.574024" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ( \
"0.828894, 0.827992, 0.81719, 0.791362, 0.760573, 0.734019, 0.71511", \
"0.831897, 0.831248, 0.820435, 0.794607, 0.763818, 0.737099, 0.718916", \
"0.834702, 0.833767, 0.822954, 0.797126, 0.766337, 0.739904, 0.721116", \
"0.836913, 0.836066, 0.825253, 0.799425, 0.768647, 0.741906, 0.723382", \
"0.846626, 0.845548, 0.834735, 0.808907, 0.778118, 0.751421, 0.733865", \
"0.848045, 0.847385, 0.836572, 0.810744, 0.779955, 0.753313, 0.734536", \
"0.84161, 0.840719, 0.829906, 0.804078, 0.773289, 0.746867, 0.72809" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ( \
"0.456104, 0.453959, 0.433125, 0.394625, 0.328977, 0.24522, 0.140454", \
"0.459844, 0.457347, 0.43846, 0.396341, 0.332717, 0.251548, 0.145013", \
"0.462154, 0.458964, 0.440902, 0.399014, 0.33308, 0.251258, 0.146285", \
"0.466895, 0.462473, 0.443267, 0.402996, 0.335995, 0.253002, 0.148587", \
"0.474573, 0.470998, 0.453057, 0.41239, 0.347039, 0.261907, 0.157792", \
"0.477466, 0.473374, 0.454113, 0.414172, 0.348711, 0.264317, 0.159833", \
"0.468523, 0.467434, 0.447909, 0.405878, 0.341924, 0.258012, 0.153553" \
)
}
}
}
bus(A) {
bus_type : A_BUS;
direction : input;
capacitance : 0.0345188;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ( \
"0.536998, 0.531641, 0.529408, 0.535942, 0.568601, 0.602668, 0.630817", \
"0.533819, 0.529551, 0.525547, 0.534523, 0.565763, 0.594495, 0.624844", \
"0.530101, 0.524557, 0.522522, 0.531212, 0.559823, 0.592856, 0.627308", \
"0.527065, 0.522467, 0.520179, 0.528913, 0.557007, 0.58982, 0.625284", \
"0.518342, 0.514239, 0.510972, 0.518221, 0.549615, 0.578336, 0.615109", \
"0.515471, 0.512072, 0.508354, 0.516065, 0.542927, 0.575938, 0.613602", \
"0.523457, 0.519189, 0.515119, 0.524172, 0.553696, 0.584969, 0.619773" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ( \
"0.702658, 0.704154, 0.71632, 0.74536, 0.796521, 0.863599, 0.949454", \
"0.699743, 0.700689, 0.713097, 0.742511, 0.79343, 0.85888, 0.946726", \
"0.69597, 0.697565, 0.709588, 0.739211, 0.788799, 0.85503, 0.943162", \
"0.693605, 0.695035, 0.706937, 0.736043, 0.78782, 0.852115, 0.940467", \
"0.684123, 0.685795, 0.697389, 0.726451, 0.777832, 0.843062, 0.930578", \
"0.681659, 0.68288, 0.696003, 0.724075, 0.776017, 0.840675, 0.928576", \
"0.68871, 0.690129, 0.701877, 0.731214, 0.781869, 0.847264, 0.932481" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ( \
"0.527241, 0.530761, 0.533709, 0.531751, 0.531762, 0.530871, 0.529892", \
"0.52932, 0.532895, 0.535854, 0.532455, 0.533907, 0.533203, 0.532565", \
"0.541849, 0.545413, 0.548361, 0.546425, 0.546414, 0.545732, 0.544544", \
"0.568029, 0.571516, 0.574508, 0.571109, 0.57277, 0.571857, 0.570636", \
"0.609785, 0.613338, 0.616297, 0.612953, 0.614361, 0.613657, 0.613019", \
"0.650617, 0.65417, 0.65714, 0.653741, 0.655193, 0.654489, 0.653312", \
"0.686301, 0.689865, 0.692824, 0.689425, 0.690877, 0.690173, 0.688952" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ( \
"0.541574, 0.539275, 0.527175, 0.509927, 0.506176, 0.51249, 0.520707", \
"0.543708, 0.541618, 0.529309, 0.512072, 0.508321, 0.514195, 0.522841", \
"0.556413, 0.553916, 0.541827, 0.524579, 0.521422, 0.526042, 0.535359", \
"0.582362, 0.579975, 0.567952, 0.550715, 0.547558, 0.552178, 0.561495", \
"0.624151, 0.621852, 0.609752, 0.592515, 0.588764, 0.593978, 0.603284", \
"0.664994, 0.662629, 0.650584, 0.633347, 0.629596, 0.635899, 0.644127", \
"0.700678, 0.698368, 0.686268, 0.669031, 0.665291, 0.670956, 0.679811" \
)
}
}
}
bus(D) {
bus_type : Q_BUS;
memory_write() {
address : A;
clocked_on : "CLK";
}
direction : input;
capacitance : 0.0165528;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ( \
"0.489214, 0.494032, 0.504383, 0.514767, 0.510873, 0.492613, 0.455279", \
"0.486453, 0.487784, 0.5005, 0.510851, 0.506, 0.488213, 0.450659", \
"0.48367, 0.487949, 0.4972, 0.507496, 0.504955, 0.485562, 0.447942", \
"0.478401, 0.484198, 0.495451, 0.506506, 0.501413, 0.48312, 0.445016", \
"0.470976, 0.475574, 0.485287, 0.495792, 0.490633, 0.473187, 0.435963", \
"0.468105, 0.472758, 0.484682, 0.493141, 0.489566, 0.471592, 0.433235", \
"0.476036, 0.47971, 0.488708, 0.500764, 0.496331, 0.477785, 0.440814" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ( \
"0.123371, 0.122927, 0.140974, 0.191029, 0.269281, 0.370645, 0.500654", \
"0.120003, 0.120086, 0.137804, 0.18863, 0.265797, 0.368005, 0.497574", \
"0.11758, 0.116816, 0.13451, 0.18531, 0.262939, 0.36498, 0.494208", \
"0.113442, 0.113651, 0.132216, 0.1804, 0.259961, 0.361724, 0.491678", \
"0.106263, 0.10471, 0.122416, 0.172471, 0.25038, 0.352858, 0.48235", \
"0.10365, 0.101247, 0.120039, 0.168459, 0.248034, 0.3498, 0.479765", \
"0.110651, 0.108219, 0.126817, 0.176068, 0.254785, 0.356554, 0.486728" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ( \
"0.451759, 0.449251, 0.438988, 0.42812, 0.431882, 0.449933, 0.48741", \
"0.456445, 0.453178, 0.440638, 0.430386, 0.435182, 0.454047, 0.490204", \
"0.459536, 0.456005, 0.446622, 0.435446, 0.439648, 0.458711, 0.491656", \
"0.462198, 0.457358, 0.448294, 0.436832, 0.440352, 0.46112, 0.495638", \
"0.469788, 0.468853, 0.456577, 0.446644, 0.451627, 0.46937, 0.506825", \
"0.473121, 0.469898, 0.459349, 0.449493, 0.454267, 0.471449, 0.50897", \
"0.466587, 0.463573, 0.451825, 0.441892, 0.44759, 0.465894, 0.502348" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ( \
"0.643247, 0.643577, 0.625592, 0.575245, 0.497189, 0.396198, 0.267705", \
"0.646371, 0.646591, 0.628529, 0.578798, 0.50061, 0.398706, 0.270644", \
"0.649836, 0.651002, 0.632929, 0.583209, 0.504537, 0.403117, 0.275055", \
"0.652696, 0.652894, 0.634832, 0.585112, 0.506924, 0.405449, 0.276958", \
"0.660759, 0.662662, 0.644611, 0.594264, 0.516692, 0.414348, 0.286594", \
"0.663575, 0.665236, 0.647174, 0.597454, 0.519266, 0.417791, 0.289289", \
"0.656513, 0.658449, 0.640123, 0.590403, 0.512204, 0.410729, 0.282106" \
)
}
}
}
cell_leakage_power : 0.00013216;
}
}