blob: e91bf6a05a5514761db2d3e3fcec71a71e2e3142 [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__sram512x8m8wm1
* Technology : GF 180nm 5V Green
*
* ---------
* Pin name:
* ---------
* Input Pins : CLK CEN GWEN WEN[7:0] A[8: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__sram512x8m8wm1__ff_125C_5v50) {
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 : 125;
nom_voltage : 5.5;
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.394;
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.5);
voltage_map (VSS, 0.00);
operating_conditions(ff_5p5v_125C) {
process : 1;
temperature : 125;
voltage : 5.5;
tree_type : balanced_tree;
}
default_operating_conditions : ff_5p5v_125C;
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 : 9;
bit_from : 8;
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__sram512x8m8wm1) {
area : 209400.2768;
dont_use : TRUE;
dont_touch : TRUE;
interface_timing : TRUE;
memory() {
type : ram;
address_width : 9;
word_width : 8;
}
bus(Q) {
bus_type : Q_BUS;
direction : output;
max_capacitance : 1.115;
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.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.01, 0.02988, 0.09966, 0.2329, 0.4405, 0.7318, 1.115");
values ( \
"4.51512, 4.53216, 4.58664, 4.67784, 4.81044, 4.99872, 5.24256", \
"4.51524, 4.53324, 4.59072, 4.677, 4.812, 4.9974, 5.24508", \
"4.51608, 4.52916, 4.58604, 4.67676, 4.81164, 4.99656, 5.24412", \
"4.51296, 4.53288, 4.5876, 4.67784, 4.81392, 4.998, 5.2416", \
"4.52076, 4.53708, 4.59192, 4.68456, 4.81896, 5.00304, 5.24448", \
"4.5216, 4.54176, 4.5954, 4.68312, 4.8192, 5.00448, 5.24988", \
"4.51308, 4.5348, 4.58868, 4.67532, 4.809, 4.99524, 5.23716" \
)
}
rise_transition(q_slew_template) {
index_1 ("0.01, 0.02988, 0.09966, 0.2329, 0.4405, 0.7318, 1.115");
values ( \
"0.189252, 0.213504, 0.296232, 0.467052, 0.739128, 1.14301, 1.66944" \
)
}
cell_fall(q_delay_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.01, 0.02988, 0.09966, 0.2329, 0.4405, 0.7318, 1.115");
values ( \
"4.6284, 4.64568, 4.70388, 4.79112, 4.90524, 5.05056, 5.23776", \
"4.62948, 4.64604, 4.707, 4.78752, 4.9032, 5.05044, 5.24076", \
"4.62876, 4.64352, 4.69812, 4.78776, 4.90092, 5.0448, 5.2368", \
"4.62696, 4.64352, 4.70184, 4.78632, 4.90392, 5.04828, 5.23632", \
"4.6344, 4.64988, 4.70628, 4.7958, 4.91004, 5.05716, 5.2398", \
"4.63584, 4.65444, 4.70988, 4.79652, 4.91124, 5.05812, 5.24664", \
"4.62312, 4.64604, 4.70136, 4.78356, 4.89768, 5.04564, 5.2296" \
)
}
fall_transition(q_slew_template) {
index_1 ("0.01, 0.02988, 0.09966, 0.2329, 0.4405, 0.7318, 1.115");
values ( \
"0.187752, 0.208884, 0.274332, 0.386436, 0.55596, 0.798216, 1.12002" \
)
}
}
}
pin(CLK) {
direction : input;
capacitance : 0.284845;
clock : true;
max_transition : 1.394;
min_pulse_width_high : 2.103825;
min_pulse_width_low : 1.981425;
min_period : 6.07704;
/* 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.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ("1293.85, 1293.85, 1293.85, 1293.85, 1293.85, 1293.85, 1293.85");
}
fall_power(power_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ("1293.85, 1293.85, 1293.85, 1293.85, 1293.85, 1293.85, 1293.85");
}
}
/* DISABLED POWER */
internal_power() {
when : "CEN";
rise_power(power_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ("0.030899, 0.030899, 0.030899, 0.030899, 0.030899, 0.030899, 0.030899");
}
fall_power(power_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ("0.030899, 0.030899, 0.030899, 0.030899, 0.030899, 0.030899, 0.030899");
}
}
/* READ POWER */
internal_power() {
when : "!CEN & GWEN";
rise_power(power_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ("1165.42, 1165.42, 1165.42, 1165.42, 1165.42, 1165.42, 1165.42");
}
fall_power(power_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ("1165.42, 1165.42, 1165.42, 1165.42, 1165.42, 1165.42, 1165.42");
}
}
}
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.0173055;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.411015, 0.407924, 0.402347, 0.404899, 0.423368, 0.447172, 0.472615", \
"0.411048, 0.407935, 0.402215, 0.404734, 0.423203, 0.445665, 0.470448", \
"0.409937, 0.407495, 0.401357, 0.404492, 0.423654, 0.440605, 0.46222", \
"0.410784, 0.407407, 0.401291, 0.404316, 0.422774, 0.440418, 0.453024", \
"0.409915, 0.407286, 0.400972, 0.404041, 0.422521, 0.440165, 0.452771", \
"0.409959, 0.406516, 0.400785, 0.403953, 0.423115, 0.440066, 0.454069", \
"0.419188, 0.415811, 0.41008, 0.414502, 0.438669, 0.465487, 0.492426" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.388872, 0.390258, 0.399113, 0.42064, 0.465267, 0.519519, 0.580701", \
"0.388938, 0.390093, 0.398937, 0.420475, 0.465102, 0.519409, 0.580536", \
"0.389169, 0.389862, 0.399311, 0.420244, 0.46486, 0.519167, 0.580294", \
"0.388509, 0.389664, 0.398508, 0.420035, 0.464673, 0.518947, 0.580107", \
"0.388245, 0.3894, 0.398255, 0.419793, 0.46442, 0.518694, 0.579854", \
"0.387871, 0.389312, 0.398167, 0.419694, 0.464321, 0.518628, 0.579755", \
"0.388619, 0.38929, 0.398167, 0.419683, 0.464277, 0.518628, 0.579755" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"1.07749, 1.08059, 1.08616, 1.08361, 1.06514, 1.0475, 1.03488", \
"1.09031, 1.09343, 1.09914, 1.09662, 1.07815, 1.06051, 1.0479", \
"1.10274, 1.10518, 1.11132, 1.10818, 1.08902, 1.07206, 1.05945", \
"1.12333, 1.12671, 1.13282, 1.1298, 1.11134, 1.0937, 1.08109", \
"1.15544, 1.15807, 1.16438, 1.16131, 1.14283, 1.1252, 1.11258", \
"1.1817, 1.18515, 1.19087, 1.18771, 1.16855, 1.1516, 1.13898", \
"1.20181, 1.20518, 1.21124, 1.20783, 1.18979, 1.17294, 1.15948" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"1.09964, 1.09825, 1.0894, 1.06787, 1.02324, 0.96899, 0.907808", \
"1.11242, 1.11126, 1.10242, 1.08088, 1.03625, 0.981948, 0.920821", \
"1.12351, 1.1228, 1.11337, 1.09243, 1.04781, 0.993498, 0.932371", \
"1.14562, 1.14445, 1.13562, 1.11408, 1.06944, 1.01518, 0.954008", \
"1.17711, 1.17596, 1.1671, 1.14557, 1.10094, 1.04667, 0.985501", \
"1.2038, 1.20234, 1.1935, 1.17197, 1.12735, 1.07304, 1.01191", \
"1.22354, 1.22287, 1.21399, 1.19248, 1.14788, 1.09353, 1.03241" \
)
}
}
}
pin(GWEN) {
direction : input;
capacitance : 0.0490477;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.562232, 0.564278, 0.570702, 0.591107, 0.627374, 0.675554, 0.717057", \
"0.561407, 0.563816, 0.570471, 0.590832, 0.627704, 0.675521, 0.719356", \
"0.554301, 0.556545, 0.563233, 0.583627, 0.619993, 0.668338, 0.713317", \
"0.533929, 0.536316, 0.542828, 0.563145, 0.599423, 0.64757, 0.691669", \
"0.499994, 0.502678, 0.509025, 0.529342, 0.565851, 0.614053, 0.659285", \
"0.469095, 0.471845, 0.478335, 0.498674, 0.535601, 0.583099, 0.628298", \
"0.441573, 0.444246, 0.450758, 0.471086, 0.507353, 0.555786, 0.60071" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.587928, 0.590832, 0.604758, 0.639155, 0.697631, 0.778217, 0.874478", \
"0.587246, 0.590557, 0.605825, 0.639683, 0.697356, 0.779801, 0.876018", \
"0.580272, 0.583396, 0.59818, 0.631741, 0.693308, 0.770924, 0.866525", \
"0.55957, 0.56287, 0.577709, 0.61138, 0.671484, 0.752741, 0.846329", \
"0.525767, 0.528869, 0.543895, 0.577577, 0.639023, 0.718938, 0.814539", \
"0.495308, 0.498399, 0.512325, 0.546909, 0.605198, 0.687566, 0.781583", \
"0.467731, 0.4708, 0.485628, 0.5192, 0.577599, 0.659637, 0.753984" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.818994, 0.817993, 0.810986, 0.793848, 0.771023, 0.757361, 0.752433", \
"0.819511, 0.818785, 0.811316, 0.794167, 0.771331, 0.757658, 0.746812", \
"0.816728, 0.814605, 0.808269, 0.791131, 0.768306, 0.754611, 0.742005", \
"0.818774, 0.81774, 0.810634, 0.793397, 0.77055, 0.75691, 0.746042", \
"0.822173, 0.820281, 0.814033, 0.79684, 0.774004, 0.760342, 0.747725", \
"0.825187, 0.823009, 0.816706, 0.799568, 0.776743, 0.76307, 0.750442", \
"0.813912, 0.812691, 0.805706, 0.788557, 0.765743, 0.752037, 0.739431" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.485144, 0.482218, 0.467709, 0.43252, 0.373813, 0.298122, 0.203966", \
"0.485661, 0.482988, 0.468061, 0.433488, 0.374132, 0.295625, 0.203605", \
"0.483252, 0.479875, 0.465036, 0.430111, 0.369644, 0.293161, 0.201254", \
"0.485408, 0.4818, 0.467324, 0.432476, 0.374649, 0.296384, 0.203231", \
"0.488719, 0.485221, 0.470734, 0.43582, 0.375364, 0.299827, 0.206272", \
"0.491766, 0.488092, 0.473011, 0.438548, 0.379533, 0.302819, 0.209004", \
"0.518474, 0.514734, 0.499851, 0.46508, 0.404206, 0.32208, 0.233776" \
)
}
}
}
bus(WEN) {
bus_type : Q_BUS;
direction : input;
capacitance : 0.00767809;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"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", \
"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.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.218044, 0.222242, 0.236276, 0.271538, 0.330693, 0.405834, 0.50083", \
"0.2166, 0.220381, 0.234883, 0.2696, 0.32912, 0.407748, 0.500335", \
"0.219079, 0.222958, 0.237272, 0.272348, 0.332959, 0.4092, 0.502821", \
"0.216993, 0.221209, 0.234903, 0.270689, 0.328581, 0.406824, 0.500599", \
"0.214657, 0.21895, 0.232943, 0.26851, 0.32802, 0.40458, 0.498927", \
"0.211681, 0.21556, 0.230441, 0.265261, 0.324588, 0.400367, 0.494879", \
"0.221971, 0.226207, 0.24069, 0.275594, 0.33462, 0.412049, 0.506088" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.818994, 0.817993, 0.810986, 0.793848, 0.771023, 0.757361, 0.752433", \
"0.819511, 0.818785, 0.811316, 0.794167, 0.771331, 0.757658, 0.746812", \
"0.816728, 0.815364, 0.808269, 0.791131, 0.768306, 0.754611, 0.743677", \
"0.818774, 0.81774, 0.810634, 0.793397, 0.77055, 0.75691, 0.746042", \
"0.822173, 0.820754, 0.814033, 0.79684, 0.774004, 0.760342, 0.749078", \
"0.825187, 0.823471, 0.816706, 0.799568, 0.776743, 0.76307, 0.751784", \
"0.813912, 0.812691, 0.805706, 0.788557, 0.765743, 0.752037, 0.740784" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.485144, 0.482218, 0.467709, 0.43252, 0.373813, 0.298122, 0.203966", \
"0.485661, 0.482988, 0.468061, 0.433488, 0.374132, 0.295625, 0.203605", \
"0.48367, 0.479875, 0.465036, 0.430111, 0.369644, 0.293161, 0.201254", \
"0.485408, 0.4818, 0.467324, 0.432476, 0.374649, 0.296384, 0.203231", \
"0.488719, 0.485221, 0.470734, 0.43582, 0.375375, 0.299827, 0.206272", \
"0.491799, 0.488092, 0.473011, 0.438548, 0.379533, 0.302819, 0.209004", \
"0.480799, 0.476883, 0.462297, 0.427548, 0.368522, 0.290928, 0.19799" \
)
}
}
}
bus(A) {
bus_type : A_BUS;
direction : input;
capacitance : 0.0375921;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.578677, 0.573518, 0.570845, 0.577269, 0.602866, 0.634095, 0.662805", \
"0.577643, 0.574959, 0.5687, 0.577016, 0.600413, 0.632918, 0.661078", \
"0.577016, 0.573155, 0.570482, 0.579249, 0.603075, 0.636515, 0.660748", \
"0.578556, 0.572253, 0.569679, 0.576015, 0.601909, 0.635107, 0.658999", \
"0.576576, 0.572572, 0.56859, 0.574134, 0.599632, 0.632126, 0.656711", \
"0.573947, 0.566093, 0.563486, 0.571813, 0.59642, 0.629321, 0.653873", \
"0.584265, 0.580558, 0.573628, 0.582923, 0.606221, 0.640618, 0.664697" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.864347, 0.866822, 0.875798, 0.897402, 0.945648, 1.00675, 1.08746", \
"0.863929, 0.866536, 0.873939, 0.897072, 0.942832, 1.00566, 1.08688", \
"0.86603, 0.869462, 0.878152, 0.896335, 0.944009, 1.00883, 1.08728", \
"0.866921, 0.866965, 0.875061, 0.897149, 0.941523, 1.00652, 1.08623", \
"0.862686, 0.86592, 0.872839, 0.895312, 0.937849, 1.00412, 1.08485", \
"0.860772, 0.863643, 0.868879, 0.890725, 0.939532, 1.00082, 1.08031", \
"0.870221, 0.872751, 0.881144, 0.901802, 0.946638, 1.00978, 1.09216" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.495913, 0.499741, 0.501204, 0.498476, 0.498366, 0.495297, 0.495506", \
"0.498058, 0.501545, 0.502986, 0.500291, 0.500181, 0.497112, 0.49731", \
"0.506066, 0.509916, 0.511401, 0.508651, 0.508541, 0.505472, 0.505681", \
"0.525613, 0.528308, 0.529749, 0.527065, 0.526944, 0.523886, 0.524084", \
"0.553366, 0.556193, 0.557667, 0.554928, 0.554818, 0.551749, 0.551947", \
"0.585024, 0.588995, 0.59048, 0.587741, 0.587631, 0.584562, 0.58476", \
"0.604406, 0.608146, 0.60962, 0.606892, 0.606782, 0.603713, 0.603911" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.505505, 0.503459, 0.494197, 0.481536, 0.479369, 0.488675, 0.495495", \
"0.507474, 0.505252, 0.496001, 0.483351, 0.481239, 0.490501, 0.49731", \
"0.515812, 0.513634, 0.504361, 0.492294, 0.493416, 0.498861, 0.50567", \
"0.534226, 0.532026, 0.522775, 0.510334, 0.51183, 0.517275, 0.524084", \
"0.562089, 0.5599, 0.550649, 0.537988, 0.539693, 0.545127, 0.551947", \
"0.594814, 0.592724, 0.583462, 0.571384, 0.568667, 0.577951, 0.58476", \
"0.613888, 0.611864, 0.602646, 0.59015, 0.591657, 0.597091, 0.603911" \
)
}
}
}
bus(D) {
bus_type : Q_BUS;
memory_write() {
address : A;
clocked_on : "CLK";
}
direction : input;
capacitance : 0.0157294;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.391215, 0.39204, 0.399421, 0.40315, 0.389928, 0.371118, 0.326744", \
"0.388487, 0.391226, 0.397441, 0.402182, 0.391732, 0.371294, 0.325061", \
"0.390852, 0.393184, 0.399542, 0.402809, 0.39193, 0.372207, 0.326535", \
"0.38852, 0.391567, 0.400059, 0.403062, 0.392942, 0.370667, 0.326524", \
"0.387156, 0.388905, 0.397232, 0.39776, 0.392227, 0.369512, 0.321552", \
"0.383581, 0.385407, 0.392469, 0.395879, 0.386342, 0.364991, 0.322234", \
"0.394317, 0.395802, 0.404327, 0.405856, 0.399619, 0.375639, 0.332398" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.0803055, 0.0811426, 0.0958408, 0.143787, 0.217157, 0.314666, 0.438845", \
"0.0798226, 0.0787336, 0.0954899, 0.142509, 0.216312, 0.314435, 0.438251", \
"0.0814836, 0.0806839, 0.0972356, 0.144946, 0.218242, 0.316096, 0.439989", \
"0.0809699, 0.0802208, 0.0965272, 0.143107, 0.216429, 0.314391, 0.438141", \
"0.0778052, 0.0787391, 0.0948332, 0.14126, 0.214953, 0.312697, 0.436678", \
"0.0738716, 0.0749969, 0.0914683, 0.138119, 0.211224, 0.308748, 0.433158", \
"0.0855943, 0.0848683, 0.10161, 0.149079, 0.222158, 0.319682, 0.443938" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.49137, 0.49225, 0.483989, 0.479446, 0.489423, 0.513139, 0.556127", \
"0.493537, 0.493174, 0.485419, 0.480898, 0.490842, 0.512347, 0.559086", \
"0.492514, 0.491557, 0.483186, 0.479446, 0.488631, 0.511819, 0.554862", \
"0.493647, 0.493108, 0.485254, 0.480634, 0.490666, 0.513513, 0.557095", \
"0.495847, 0.494054, 0.486706, 0.483032, 0.492272, 0.514888, 0.558877", \
"0.499158, 0.49764, 0.489687, 0.485694, 0.495253, 0.518837, 0.561297", \
"0.489291, 0.487641, 0.480282, 0.476201, 0.484924, 0.509399, 0.551958" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.658053, 0.65714, 0.640266, 0.594374, 0.521323, 0.4235, 0.30107", \
"0.658537, 0.658768, 0.641696, 0.595837, 0.522753, 0.42493, 0.3025", \
"0.656403, 0.656337, 0.639463, 0.593604, 0.52052, 0.422697, 0.300267", \
"0.65868, 0.658603, 0.641531, 0.595672, 0.522588, 0.424765, 0.302335", \
"0.660187, 0.66, 0.643126, 0.597267, 0.524183, 0.426371, 0.30393", \
"0.663784, 0.663036, 0.645953, 0.600105, 0.527021, 0.429198, 0.306768", \
"0.653147, 0.653059, 0.63624, 0.590392, 0.517308, 0.419485, 0.297055" \
)
}
}
}
cell_leakage_power : 0.030899;
}
}