blob: 3b1ad7c2d80ebcfc0905825ba4ccbafaf7bece52 [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__tt_025C_3v30) {
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 : 3.3;
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 : 3.1779;
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.3);
voltage_map (VSS, 0.00);
operating_conditions(tt_3p3v_25C) {
process : 1;
temperature : 25;
voltage : 3.3;
tree_type : balanced_tree;
}
default_operating_conditions : tt_3p3v_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 : 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.0423;
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.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0100, 0.0286, 0.0937, 0.2182, 0.4121, 0.6842, 1.0423");
values ( \
"6.501, 6.52944, 6.6054, 6.75576, 6.95352, 7.24428, 7.6194", \
"6.52092, 6.53112, 6.624, 6.77184, 6.96972, 7.24668, 7.61748", \
"6.54048, 6.55488, 6.64812, 6.78072, 6.98232, 7.26864, 7.63908", \
"6.5478, 6.57204, 6.66264, 6.80544, 7.00668, 7.29372, 7.65852", \
"6.58644, 6.61404, 6.6972, 6.8394, 7.04412, 7.32564, 7.68708", \
"6.59304, 6.62436, 6.69216, 6.84408, 7.03632, 7.32516, 7.70964", \
"6.56652, 6.59484, 6.67728, 6.8208, 7.03392, 7.31196, 7.67916" \
)
}
rise_transition(q_slew_template) {
index_1 ("0.0100, 0.0286, 0.0937, 0.2182, 0.4121, 0.6842, 1.0423");
values ( \
"0.226416, 0.266448, 0.397956, 0.6414, 1.0328, 1.59912, 2.33844" \
)
}
cell_fall(q_delay_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0100, 0.0286, 0.0937, 0.2182, 0.4121, 0.6842, 1.0423");
values ( \
"6.75216, 6.7842, 6.84312, 6.97872, 7.1232, 7.32012, 7.56228", \
"6.77172, 6.78324, 6.8706, 6.98808, 7.14084, 7.32228, 7.56", \
"6.79488, 6.80376, 6.88956, 7.00212, 7.1538, 7.34724, 7.58376", \
"6.80088, 6.8268, 6.90552, 7.02564, 7.17636, 7.36656, 7.59756", \
"6.83568, 6.8628, 6.9408, 7.05828, 7.21932, 7.40544, 7.62708", \
"6.8466, 6.87564, 6.93708, 7.06536, 7.20492, 7.40304, 7.65", \
"6.82104, 6.84816, 6.92268, 7.04304, 7.20672, 7.38696, 7.6182" \
)
}
fall_transition(q_slew_template) {
index_1 ("0.0100, 0.0286, 0.0937, 0.2182, 0.4121, 0.6842, 1.0423");
values ( \
"0.226176, 0.258888, 0.349932, 0.482796, 0.695256, 0.97752, 1.3524" \
)
}
}
}
pin(CLK) {
direction : input;
capacitance : 0.293631;
clock : true;
max_transition : 3.1779;
min_pulse_width_high : 3.287265;
min_pulse_width_low : 3.891015;
min_period : 8.55972;
/* 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.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ("375.012, 375.012, 375.012, 375.012, 375.012, 375.012, 375.012");
}
fall_power(power_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ("375.012, 375.012, 375.012, 375.012, 375.012, 375.012, 375.012");
}
}
/* DISABLED POWER */
internal_power() {
when : "CEN";
rise_power(power_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ("0.000149223, 0.000149223, 0.000149223, 0.000149223, 0.000149223, 0.000149223, 0.000149223");
}
fall_power(power_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ("0.000149223, 0.000149223, 0.000149223, 0.000149223, 0.000149223, 0.000149223, 0.000149223");
}
}
/* READ POWER */
internal_power() {
when : "!CEN & GWEN";
rise_power(power_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ("338.663, 338.663, 338.663, 338.663, 338.663, 338.663, 338.663");
}
fall_power(power_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ("338.663, 338.663, 338.663, 338.663, 338.663, 338.663, 338.663");
}
}
}
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.0183651;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ( \
"0.617452, 0.603218, 0.603757, 0.658537, 0.734668, 0.789503, 0.820743", \
"0.606892, 0.592669, 0.594671, 0.64801, 0.725835, 0.778327, 0.816695", \
"0.585376, 0.576631, 0.575333, 0.621643, 0.694804, 0.746295, 0.785664", \
"0.58707, 0.575894, 0.57508, 0.621401, 0.676775, 0.697411, 0.735746", \
"0.586102, 0.575784, 0.575223, 0.621027, 0.676489, 0.695893, 0.719697", \
"0.586487, 0.575322, 0.574508, 0.620818, 0.676269, 0.695629, 0.719433", \
"0.586245, 0.575553, 0.574739, 0.620543, 0.675994, 0.723998, 0.763367" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ( \
"0.542047, 0.549076, 0.583968, 0.662596, 0.788106, 0.926486, 1.07853", \
"0.540639, 0.548339, 0.581691, 0.662585, 0.786951, 0.926035, 1.07732", \
"0.539363, 0.546458, 0.580987, 0.662354, 0.785521, 0.925518, 1.07591", \
"0.539385, 0.546205, 0.579986, 0.659725, 0.785235, 0.924968, 1.06691", \
"0.53878, 0.545842, 0.580052, 0.662123, 0.784894, 0.923241, 1.0753", \
"0.538615, 0.545622, 0.579403, 0.66022, 0.784696, 0.923758, 1.0751", \
"0.538593, 0.545325, 0.579601, 0.658955, 0.784421, 0.924099, 1.07478" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ( \
"1.59203, 1.60325, 1.60413, 1.55782, 1.50403, 1.48159, 1.46058", \
"1.59742, 1.60864, 1.60897, 1.5631, 1.50766, 1.48753, 1.46454", \
"1.63438, 1.64307, 1.64439, 1.59808, 1.54264, 1.52328, 1.49952", \
"1.70863, 1.71985, 1.72062, 1.67431, 1.61898, 1.59863, 1.57564", \
"1.80092, 1.81126, 1.81181, 1.76594, 1.7105, 1.69114, 1.66727", \
"1.87781, 1.88903, 1.8898, 1.84349, 1.78805, 1.76869, 1.74493", \
"1.93017, 1.94084, 1.94172, 1.89585, 1.84041, 1.82105, 1.79718" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ( \
"1.63999, 1.63295, 1.59808, 1.51943, 1.39392, 1.25555, 1.10351", \
"1.6456, 1.6379, 1.60457, 1.52361, 1.39931, 1.26018, 1.10889", \
"1.68036, 1.67332, 1.63878, 1.55738, 1.43418, 1.29426, 1.14384", \
"1.75637, 1.74955, 1.71578, 1.63603, 1.51052, 1.37071, 1.22881", \
"1.84822, 1.84118, 1.80697, 1.72491, 1.60204, 1.46377, 1.31164", \
"1.92566, 1.91873, 1.88496, 1.80411, 1.67959, 1.54055, 1.38919", \
"1.9778, 1.97109, 1.93688, 1.85746, 1.73206, 1.59236, 1.44166" \
)
}
}
}
pin(GWEN) {
direction : input;
capacitance : 0.0480112;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ( \
"0.824076, 0.834196, 0.86735, 0.935715, 1.03133, 1.12476, 1.20448", \
"0.814275, 0.824714, 0.85789, 0.926849, 1.0218, 1.11525, 1.19274", \
"0.782188, 0.792132, 0.825638, 0.89474, 0.98967, 1.08357, 1.16194", \
"0.714604, 0.724581, 0.757867, 0.826969, 0.921811, 1.01526, 1.09417", \
"0.640211, 0.650243, 0.683474, 0.752455, 0.847385, 0.94138, 1.01979", \
"0.584837, 0.5951, 0.628375, 0.697477, 0.792407, 0.886303, 0.964678", \
"0.548757, 0.558778, 0.592053, 0.661012, 0.755975, 0.849992, 0.928367" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ( \
"0.919754, 0.92466, 0.971476, 1.06695, 1.21594, 1.40162, 1.6049", \
"0.910558, 0.915211, 0.962005, 1.05747, 1.20646, 1.39293, 1.59544", \
"0.878053, 0.882926, 0.927696, 1.0254, 1.17422, 1.35861, 1.56321", \
"0.810282, 0.815166, 0.86251, 0.95744, 1.10642, 1.29212, 1.49435", \
"0.735977, 0.740773, 0.788799, 0.883212, 1.03201, 1.21833, 1.42098", \
"0.680867, 0.685685, 0.73249, 0.827926, 0.976316, 1.16336, 1.36598", \
"0.644457, 0.649396, 0.697411, 0.791637, 0.940027, 1.12632, 1.32968" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ( \
"1.15279, 1.14387, 1.11067, 1.04864, 1.00038, 0.962324, 0.952721", \
"1.15797, 1.14906, 1.11585, 1.05473, 1.00443, 0.967494, 0.957935", \
"1.18036, 1.17103, 1.13782, 1.0767, 1.02769, 0.989461, 0.979869", \
"1.19457, 1.18504, 1.15184, 1.09074, 1.04157, 1.00351, 0.993894", \
"1.22312, 1.21369, 1.18038, 1.11927, 1.06913, 1.03204, 1.02243", \
"1.22848, 1.21972, 1.18586, 1.12536, 1.07483, 1.03785, 1.02812", \
"1.22086, 1.21196, 1.17875, 1.11764, 1.06733, 1.0304, 1.0208" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ( \
"0.606089, 0.597938, 0.548427, 0.456709, 0.312686, 0.135105, 0", \
"0.61237, 0.602987, 0.55407, 0.461912, 0.317988, 0.141843, 0", \
"0.633127, 0.625636, 0.580734, 0.484253, 0.33902, 0.164846, 0", \
"0.647449, 0.639672, 0.593186, 0.498289, 0.353914, 0.17627, 0", \
"0.676654, 0.668228, 0.618926, 0.526724, 0.382426, 0.206091, 0.009955", \
"0.750508, 0.745437, 0.6996, 0.60247, 0.453024, 0.278991, 0.0858429", \
"0.826804, 0.821733, 0.775082, 0.678733, 0.529342, 0.355531, 0.162162" \
)
}
}
}
bus(WEN) {
bus_type : Q_BUS;
direction : input;
capacitance : 0.007649;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ( \
"0, 0, 0, 0, 0, 0.016192, 0.032076", \
"0, 0, 0, 0, 0, 0.011671, 0.027544", \
"0, 0, 0, 0, 0, 0, 0.005522", \
"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.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ( \
"0.359975, 0.37026, 0.418968, 0.511588, 0.655842, 0.833316, 1.0328", \
"0.353958, 0.364672, 0.414766, 0.507386, 0.651178, 0.827277, 1.02122", \
"0.3333, 0.342067, 0.388113, 0.48554, 0.629882, 0.804463, 1.00606", \
"0.316943, 0.327272, 0.375826, 0.469689, 0.613008, 0.791351, 0.991749", \
"0.286483, 0.296793, 0.348029, 0.43758, 0.583858, 0.76021, 0.958298", \
"0.281355, 0.29234, 0.341902, 0.435347, 0.577698, 0.754963, 0.952985", \
"0.291546, 0.301199, 0.351681, 0.444422, 0.586993, 0.766403, 0.966306" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ( \
"1.15333, 1.14547, 1.1135, 1.05229, 1.00098, 0.962324, 0.952721", \
"1.15851, 1.15065, 1.11869, 1.05747, 1.00616, 0.967494, 0.957935", \
"1.18048, 1.17263, 1.14066, 1.07944, 1.02814, 0.989461, 0.979869", \
"1.19457, 1.18668, 1.1547, 1.09349, 1.04218, 1.00351, 0.993894", \
"1.22312, 1.21523, 1.18325, 1.12202, 1.07072, 1.03204, 1.02243", \
"1.22921, 1.22136, 1.18939, 1.12817, 1.07687, 1.03795, 1.02812", \
"1.22142, 1.21356, 1.1816, 1.12038, 1.06908, 1.0304, 1.0208" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ( \
"0.606441, 0.597938, 0.54934, 0.456709, 0.313445, 0.135105, 0", \
"0.612766, 0.602987, 0.55506, 0.461912, 0.318659, 0.141843, 0", \
"0.633556, 0.625636, 0.580734, 0.484253, 0.340362, 0.164846, 0", \
"0.647845, 0.639672, 0.593186, 0.498289, 0.354651, 0.17764, 0", \
"0.676995, 0.668228, 0.618926, 0.526724, 0.383097, 0.206091, 0.010186", \
"0.683298, 0.67419, 0.62744, 0.532554, 0.391039, 0.212552, 0.016357", \
"0.674498, 0.666633, 0.617364, 0.524777, 0.383262, 0.20453, 0.008646" \
)
}
}
}
bus(A) {
bus_type : A_BUS;
direction : input;
capacitance : 0.0404958;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ( \
"0.739365, 0.734503, 0.735185, 0.788854, 0.870551, 0.929808, 0.977592", \
"0.732391, 0.726847, 0.729564, 0.781935, 0.863511, 0.925837, 0.96844", \
"0.717783, 0.712008, 0.712712, 0.761508, 0.844393, 0.906301, 0.952028", \
"0.696674, 0.694386, 0.695673, 0.74624, 0.827123, 0.888316, 0.933097", \
"0.669097, 0.662607, 0.664818, 0.717332, 0.79871, 0.861069, 0.905146", \
"0.662046, 0.658999, 0.660308, 0.710369, 0.792099, 0.854491, 0.901186", \
"0.675169, 0.671704, 0.670043, 0.723195, 0.805134, 0.865326, 0.911328" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ( \
"0.932107, 0.937464, 0.979473, 1.05448, 1.18665, 1.3398, 1.51162", \
"0.926354, 0.931403, 0.973445, 1.05194, 1.17762, 1.33353, 1.50491", \
"0.908578, 0.917169, 0.955977, 1.03174, 1.16234, 1.31626, 1.48753", \
"0.888503, 0.899503, 0.935495, 1.01404, 1.14665, 1.29965, 1.47213", \
"0.861333, 0.869, 0.910437, 0.986524, 1.11575, 1.27103, 1.44177", \
"0.85448, 0.864039, 0.9031, 0.986513, 1.10935, 1.26386, 1.4355", \
"0.866151, 0.876733, 0.914265, 0.988999, 1.11959, 1.27569, 1.44716" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ( \
"0.694408, 0.700084, 0.693396, 0.674872, 0.665566, 0.659021, 0.646778", \
"0.708136, 0.714186, 0.706453, 0.688633, 0.678623, 0.672078, 0.659846", \
"0.740839, 0.745855, 0.739167, 0.720643, 0.711337, 0.704803, 0.69256", \
"0.806091, 0.811096, 0.804397, 0.785829, 0.776567, 0.770022, 0.757812", \
"0.900471, 0.905564, 0.898799, 0.880286, 0.870969, 0.863599, 0.852192", \
"0.968176, 0.973742, 0.966009, 0.94787, 0.938168, 0.931645, 0.919424", \
"1.02094, 1.02604, 1.01927, 1.00074, 0.991441, 0.984885, 0.972664" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ( \
"0.73007, 0.721787, 0.683705, 0.646734, 0.623744, 0.614493, 0.615395", \
"0.743446, 0.734822, 0.696784, 0.659791, 0.636823, 0.628408, 0.628188", \
"0.775841, 0.767547, 0.729487, 0.692505, 0.669537, 0.660264, 0.660495", \
"0.841104, 0.832777, 0.796939, 0.757735, 0.734481, 0.726352, 0.726099", \
"0.935792, 0.926948, 0.888723, 0.852137, 0.829158, 0.820743, 0.820501", \
"1.003, 0.994356, 0.956329, 0.912879, 0.896368, 0.887953, 0.887711", \
"1.05594, 1.04761, 1.00958, 0.972609, 0.949619, 0.941215, 0.940984" \
)
}
}
}
bus(D) {
bus_type : Q_BUS;
memory_write() {
address : A;
clocked_on : "CLK";
}
direction : input;
capacitance : 0.0163071;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ( \
"0.693968, 0.705672, 0.736681, 0.756723, 0.752576, 0.715616, 0.645887", \
"0.694331, 0.705298, 0.731643, 0.746999, 0.748011, 0.716133, 0.641949", \
"0.675884, 0.682803, 0.712448, 0.728046, 0.727628, 0.694617, 0.623359", \
"0.656293, 0.667315, 0.69476, 0.711964, 0.713119, 0.673849, 0.606782", \
"0.630344, 0.639452, 0.666358, 0.684266, 0.682803, 0.644369, 0.573056", \
"0.62491, 0.621962, 0.655347, 0.67804, 0.677897, 0.64174, 0.568876", \
"0.633523, 0.641817, 0.673706, 0.689359, 0.688809, 0.650232, 0.583308" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ( \
"0.140605, 0.142299, 0.186201, 0.288335, 0.443168, 0.628595, 0.858946", \
"0.134339, 0.140911, 0.177095, 0.283091, 0.437723, 0.626197, 0.854007", \
"0.115546, 0.119538, 0.16139, 0.261871, 0.418836, 0.603801, 0.833316", \
"0.100142, 0.105882, 0.140863, 0.247389, 0.401742, 0.587147, 0.819489", \
"0.069729, 0.073513, 0.115278, 0.217653, 0.372526, 0.559757, 0.79079", \
"0.063459, 0.067188, 0.109079, 0.212506, 0.366245, 0.552794, 0.783277", \
"0.074855, 0.078991, 0.120623, 0.223245, 0.376497, 0.565246, 0.793507" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ( \
"0.568491, 0.558855, 0.529606, 0.506616, 0.510015, 0.545105, 0.608575", \
"0.571329, 0.554983, 0.529397, 0.514426, 0.514096, 0.543961, 0.62018", \
"0.593648, 0.583264, 0.553773, 0.536019, 0.534589, 0.563035, 0.640948", \
"0.60907, 0.596376, 0.567556, 0.552772, 0.552189, 0.586487, 0.657822", \
"0.63272, 0.621467, 0.596332, 0.58091, 0.580899, 0.615263, 0.686103", \
"0.646272, 0.635734, 0.605814, 0.58597, 0.589006, 0.622776, 0.690019", \
"0.630674, 0.623403, 0.591107, 0.576323, 0.575355, 0.610038, 0.68079" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ( \
"0.882629, 0.880506, 0.841038, 0.735592, 0.5841, 0.395395, 0.169497", \
"0.886435, 0.884224, 0.844701, 0.739255, 0.587763, 0.399179, 0.173169", \
"0.907258, 0.905146, 0.865667, 0.760232, 0.608729, 0.420035, 0.194136", \
"0.923868, 0.921316, 0.88242, 0.776963, 0.625471, 0.436777, 0.21015", \
"0.952754, 0.950719, 0.911196, 0.805761, 0.654247, 0.465674, 0.239657", \
"0.960333, 0.958298, 0.918775, 0.81334, 0.661837, 0.473132, 0.247239", \
"0.947903, 0.945494, 0.90596, 0.800525, 0.649033, 0.460449, 0.234431" \
)
}
}
}
cell_leakage_power : 0.0001492227;
}
}