blob: e211977608232177b7303c34a7f954d04c2610ac [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__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 : 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.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.85988, 4.88364, 4.93692, 5.03712, 5.1858, 5.38896, 5.65848", \
"4.86036, 4.88316, 4.93812, 5.03664, 5.18496, 5.385, 5.65884", \
"4.8678, 4.88364, 4.94472, 5.04516, 5.18916, 5.39772, 5.66628", \
"4.87644, 4.89204, 4.95228, 5.05752, 5.20116, 5.40696, 5.67636", \
"4.8828, 4.89324, 4.95084, 5.05776, 5.20692, 5.40528, 5.6772", \
"4.8876, 4.90404, 4.96836, 5.0646, 5.214, 5.41656, 5.68404", \
"4.8762, 4.8972, 4.94808, 5.04984, 5.20044, 5.4024, 5.67492" \
)
}
rise_transition(q_slew_template) {
index_1 ("0.01, 0.02994, 0.09995, 0.2336, 0.4419, 0.7342, 1.119");
values ( \
"0.167832, 0.193392, 0.29304, 0.473508, 0.762972, 1.18465, 1.7352" \
)
}
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 ( \
"5.00796, 5.02872, 5.08488, 5.17464, 5.29512, 5.4462, 5.64108", \
"5.0064, 5.02896, 5.088, 5.17536, 5.29692, 5.44356, 5.64144", \
"5.0148, 5.02908, 5.09124, 5.18256, 5.29992, 5.45676, 5.64888", \
"5.0232, 5.03964, 5.09904, 5.19468, 5.31168, 5.46408, 5.65896", \
"5.02908, 5.03976, 5.09844, 5.19672, 5.31732, 5.46348, 5.65932", \
"5.03376, 5.05176, 5.11392, 5.2026, 5.32272, 5.47524, 5.66964", \
"5.02176, 5.04396, 5.0964, 5.18844, 5.31108, 5.45964, 5.65872" \
)
}
fall_transition(q_slew_template) {
index_1 ("0.01, 0.02994, 0.09995, 0.2336, 0.4419, 0.7342, 1.119");
values ( \
"0.174396, 0.195348, 0.264276, 0.376332, 0.546216, 0.790704, 1.10563" \
)
}
}
}
pin(CLK) {
direction : input;
capacitance : 0.297584;
clock : true;
max_transition : 1.547;
min_pulse_width_high : 2.37687;
min_pulse_width_low : 2.25216;
min_period : 6.593715;
/* 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 ("1017.1, 1017.1, 1017.1, 1017.1, 1017.1, 1017.1, 1017.1");
}
fall_power(power_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ("1017.1, 1017.1, 1017.1, 1017.1, 1017.1, 1017.1, 1017.1");
}
}
/* 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.0006242, 0.0006242, 0.0006242, 0.0006242, 0.0006242, 0.0006242, 0.0006242");
}
fall_power(power_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ("0.0006242, 0.0006242, 0.0006242, 0.0006242, 0.0006242, 0.0006242, 0.0006242");
}
}
/* 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 ("908.1, 908.1, 908.1, 908.1, 908.1, 908.1, 908.1");
}
fall_power(power_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ("908.1, 908.1, 908.1, 908.1, 908.1, 908.1, 908.1");
}
}
}
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.0181905;
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.435435, 0.430452, 0.42317, 0.429946, 0.451946, 0.489346, 0.522467", \
"0.433983, 0.428879, 0.421894, 0.42889, 0.455026, 0.487542, 0.520652", \
"0.432025, 0.428373, 0.421091, 0.427933, 0.448745, 0.474342, 0.506847", \
"0.433191, 0.428076, 0.420937, 0.427757, 0.453244, 0.474155, 0.485342", \
"0.432817, 0.427757, 0.420563, 0.427405, 0.448217, 0.473803, 0.492921", \
"0.43241, 0.42702, 0.420057, 0.427108, 0.44792, 0.473517, 0.487366", \
"0.432267, 0.427361, 0.420101, 0.426943, 0.447744, 0.473011, 0.48829" \
)
}
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.405911, 0.40799, 0.417956, 0.444312, 0.494483, 0.558052, 0.62766", \
"0.404866, 0.406868, 0.416911, 0.442805, 0.493438, 0.557007, 0.626516", \
"0.40381, 0.405911, 0.415877, 0.442057, 0.493955, 0.555984, 0.625482", \
"0.403447, 0.405768, 0.415723, 0.44187, 0.492822, 0.554422, 0.625306", \
"0.403238, 0.40546, 0.415338, 0.442299, 0.493416, 0.555445, 0.624954", \
"0.403161, 0.405086, 0.415052, 0.441892, 0.493141, 0.55517, 0.625845", \
"0.402754, 0.405031, 0.414887, 0.441045, 0.49137, 0.553608, 0.624767" \
)
}
}
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.10864, 1.11362, 1.1209, 1.11412, 1.09325, 1.06765, 1.04853", \
"1.11382, 1.11892, 1.12591, 1.1189, 1.09277, 1.07243, 1.05332", \
"1.12659, 1.13024, 1.13752, 1.13068, 1.10987, 1.08427, 1.06469", \
"1.15364, 1.15876, 1.1659, 1.15908, 1.13359, 1.11268, 1.10149", \
"1.19354, 1.19859, 1.2058, 1.19896, 1.17814, 1.15256, 1.13344", \
"1.23049, 1.23588, 1.24285, 1.2358, 1.21498, 1.18939, 1.17554", \
"1.25894, 1.26383, 1.27105, 1.26425, 1.24345, 1.21818, 1.204" \
)
}
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.13815, 1.13608, 1.12611, 1.09976, 1.04959, 0.986007, 0.916399", \
"1.14293, 1.14092, 1.13089, 1.10499, 1.05436, 0.990792, 0.921283", \
"1.1548, 1.1527, 1.14274, 1.11656, 1.06466, 1.00263, 0.93313", \
"1.18339, 1.18107, 1.1711, 1.14497, 1.09402, 1.03242, 0.961521", \
"1.22312, 1.2209, 1.21101, 1.18405, 1.13295, 1.07091, 1.0014", \
"1.25974, 1.25782, 1.24785, 1.22101, 1.16976, 1.10773, 1.03706", \
"1.28843, 1.28612, 1.27633, 1.25016, 1.19983, 1.1376, 1.06643" \
)
}
}
}
pin(GWEN) {
direction : input;
capacitance : 0.0494974;
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.590128, 0.59378, 0.604769, 0.633457, 0.678216, 0.734668, 0.78925", \
"0.5885, 0.592119, 0.603196, 0.631752, 0.676621, 0.733359, 0.787578", \
"0.575894, 0.57948, 0.590898, 0.619124, 0.663982, 0.721028, 0.776017", \
"0.549835, 0.553575, 0.565554, 0.593131, 0.638077, 0.695057, 0.750057", \
"0.505428, 0.510037, 0.522027, 0.549615, 0.594473, 0.65153, 0.705496", \
"0.466697, 0.471328, 0.483043, 0.510884, 0.555764, 0.612865, 0.667799", \
"0.430969, 0.434577, 0.446578, 0.474155, 0.519013, 0.57607, 0.631059" \
)
}
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.627077, 0.631268, 0.649418, 0.68915, 0.757097, 0.846967, 0.952633", \
"0.625977, 0.629508, 0.647746, 0.686323, 0.755425, 0.844305, 0.951016", \
"0.612876, 0.616946, 0.635184, 0.675389, 0.74107, 0.832612, 0.937838", \
"0.586817, 0.591052, 0.609191, 0.649352, 0.714945, 0.805079, 0.91201", \
"0.543312, 0.547459, 0.565664, 0.606419, 0.67155, 0.762223, 0.868483", \
"0.505109, 0.509091, 0.526944, 0.567545, 0.632841, 0.724372, 0.829609", \
"0.468732, 0.471955, 0.490215, 0.529903, 0.597894, 0.687643, 0.792077" \
)
}
}
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.865172, 0.864875, 0.852423, 0.825352, 0.796059, 0.770297, 0.751883", \
"0.8668, 0.865513, 0.854161, 0.827123, 0.797764, 0.772068, 0.753709", \
"0.866712, 0.866646, 0.854117, 0.827475, 0.797852, 0.77209, 0.753236", \
"0.873268, 0.87208, 0.860376, 0.833998, 0.804364, 0.778591, 0.75977", \
"0.88154, 0.880968, 0.868483, 0.842105, 0.812482, 0.78672, 0.768361", \
"0.884092, 0.882651, 0.871189, 0.844591, 0.814968, 0.789195, 0.770363", \
"0.877558, 0.876733, 0.864666, 0.838288, 0.808665, 0.782903, 0.76406" \
)
}
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.492481, 0.489137, 0.470261, 0.430452, 0.36223, 0.280379, 0.175767", \
"0.497277, 0.490666, 0.471889, 0.430815, 0.363968, 0.285637, 0.180395", \
"0.495286, 0.490644, 0.472043, 0.430034, 0.36663, 0.282403, 0.18023", \
"0.500863, 0.497387, 0.478368, 0.436898, 0.371745, 0.289795, 0.185098", \
"0.508915, 0.505384, 0.486728, 0.444543, 0.381282, 0.3003, 0.192928", \
"0.518793, 0.515042, 0.496606, 0.456687, 0.38863, 0.299574, 0.19972", \
"0.575157, 0.57046, 0.552024, 0.512534, 0.44253, 0.35486, 0.256109" \
)
}
}
}
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", \
"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.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.239133, 0.242915, 0.261331, 0.30107, 0.369138, 0.450967, 0.556127", \
"0.233786, 0.241551, 0.258743, 0.299673, 0.366476, 0.445104, 0.552079", \
"0.235087, 0.240271, 0.258361, 0.299739, 0.363561, 0.447436, 0.549032", \
"0.229873, 0.233802, 0.252209, 0.293524, 0.358611, 0.441232, 0.544951", \
"0.221571, 0.225865, 0.24399, 0.285582, 0.349217, 0.430089, 0.538087", \
"0.215993, 0.223124, 0.241095, 0.281985, 0.346291, 0.430584, 0.536217", \
"0.224579, 0.229606, 0.247484, 0.287694, 0.354651, 0.437074, 0.540188" \
)
}
}
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.865172, 0.864875, 0.8525, 0.826661, 0.796059, 0.770297, 0.751883", \
"0.8668, 0.865513, 0.854238, 0.82841, 0.797764, 0.772068, 0.753709", \
"0.866712, 0.866646, 0.854249, 0.828421, 0.797852, 0.77209, 0.753236", \
"0.873268, 0.87208, 0.860772, 0.834944, 0.804364, 0.778591, 0.75977", \
"0.88154, 0.880968, 0.868868, 0.84304, 0.812482, 0.78672, 0.768361", \
"0.884092, 0.882651, 0.871365, 0.845537, 0.814968, 0.789195, 0.770363", \
"0.877558, 0.876733, 0.864864, 0.839036, 0.808665, 0.782903, 0.76406" \
)
}
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.493097, 0.489137, 0.470261, 0.430452, 0.362758, 0.280665, 0.175767", \
"0.497277, 0.490666, 0.472109, 0.430815, 0.364045, 0.2871, 0.180395", \
"0.495286, 0.490644, 0.472043, 0.431112, 0.36663, 0.282645, 0.18023", \
"0.5016, 0.497387, 0.478368, 0.439065, 0.371745, 0.291082, 0.185098", \
"0.509718, 0.505384, 0.486728, 0.444961, 0.381282, 0.30173, 0.192928", \
"0.515229, 0.507749, 0.489027, 0.447799, 0.383757, 0.299761, 0.194525", \
"0.505681, 0.501523, 0.482768, 0.442244, 0.375738, 0.293249, 0.189864" \
)
}
}
}
bus(A) {
bus_type : A_BUS;
direction : input;
capacitance : 0.0401181;
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.633182, 0.628375, 0.624316, 0.633963, 0.660605, 0.701635, 0.736978", \
"0.630388, 0.624635, 0.622204, 0.631807, 0.66506, 0.699446, 0.735911", \
"0.630751, 0.625548, 0.619817, 0.630586, 0.661914, 0.700854, 0.734415", \
"0.623612, 0.619795, 0.616473, 0.626637, 0.657767, 0.694683, 0.728794", \
"0.615637, 0.609895, 0.606848, 0.616814, 0.645645, 0.685564, 0.719367", \
"0.611237, 0.608025, 0.605044, 0.614768, 0.644391, 0.682011, 0.716716", \
"0.619025, 0.614636, 0.610588, 0.619289, 0.646767, 0.68728, 0.721941" \
)
}
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.947419, 0.950653, 0.966405, 0.991749, 1.04409, 1.11675, 1.20299", \
"0.946638, 0.950158, 0.962434, 0.990418, 1.04356, 1.11592, 1.20459", \
"0.946946, 0.948772, 0.962907, 0.989362, 1.04272, 1.11519, 1.20261", \
"0.942854, 0.94545, 0.957836, 0.982674, 1.03568, 1.10843, 1.19699", \
"0.933097, 0.935, 0.947738, 0.974578, 1.02901, 1.09875, 1.18613", \
"0.928246, 0.933878, 0.945208, 0.971619, 1.02682, 1.09669, 1.18546", \
"0.933251, 0.938531, 0.949366, 0.976382, 1.03014, 1.10251, 1.19197" \
)
}
}
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.536239, 0.539968, 0.543004, 0.541013, 0.540892, 0.540089, 0.53878", \
"0.540199, 0.543884, 0.54692, 0.54494, 0.544808, 0.544005, 0.542696", \
"0.552805, 0.556699, 0.559746, 0.557777, 0.557645, 0.556831, 0.555533", \
"0.575949, 0.579931, 0.582967, 0.580987, 0.580855, 0.580052, 0.578743", \
"0.616264, 0.620136, 0.623227, 0.621247, 0.621115, 0.620312, 0.619003", \
"0.659648, 0.663575, 0.666589, 0.664609, 0.664499, 0.663696, 0.662387", \
"0.695156, 0.698852, 0.701877, 0.699897, 0.699765, 0.698962, 0.697664" \
)
}
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.548955, 0.546414, 0.533819, 0.517385, 0.512512, 0.51788, 0.527406", \
"0.552871, 0.55033, 0.537746, 0.521312, 0.516428, 0.521796, 0.531322", \
"0.565675, 0.563255, 0.550561, 0.534149, 0.529254, 0.534622, 0.544148", \
"0.588984, 0.586278, 0.573793, 0.557348, 0.552475, 0.557832, 0.567369", \
"0.629156, 0.626736, 0.614042, 0.597608, 0.592735, 0.598092, 0.607618", \
"0.672507, 0.6699, 0.657437, 0.641003, 0.636119, 0.641476, 0.651013", \
"0.707762, 0.705166, 0.692692, 0.676269, 0.671385, 0.676742, 0.686279" \
)
}
}
}
bus(D) {
bus_type : Q_BUS;
memory_write() {
address : A;
clocked_on : "CLK";
}
direction : input;
capacitance : 0.0167494;
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.457721, 0.460196, 0.473352, 0.483736, 0.479457, 0.461901, 0.424094", \
"0.458084, 0.462143, 0.472208, 0.481569, 0.478203, 0.459888, 0.422455", \
"0.454696, 0.45903, 0.46937, 0.478753, 0.477092, 0.458535, 0.421982", \
"0.449691, 0.453607, 0.465564, 0.473803, 0.472494, 0.454047, 0.415041", \
"0.442717, 0.445467, 0.455213, 0.46596, 0.463078, 0.445423, 0.405108", \
"0.438735, 0.443091, 0.453464, 0.462099, 0.459437, 0.441045, 0.403766", \
"0.44231, 0.446292, 0.457589, 0.469546, 0.465025, 0.445753, 0.409013" \
)
}
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.0939961, 0.0932382, 0.111436, 0.159321, 0.239146, 0.340824, 0.471493", \
"0.0935902, 0.0919358, 0.110068, 0.159887, 0.238268, 0.339548, 0.469425", \
"0.0926453, 0.0904332, 0.108948, 0.156954, 0.236973, 0.338602, 0.468963", \
"0.0869231, 0.0855272, 0.103531, 0.153451, 0.231745, 0.333014, 0.463375", \
"0.0779636, 0.0763884, 0.0942667, 0.144573, 0.222289, 0.323906, 0.453849", \
"0.0752213, 0.0736769, 0.0919039, 0.139699, 0.219618, 0.321266, 0.45155", \
"0.0798182, 0.0789547, 0.0968704, 0.147051, 0.224785, 0.326381, 0.456467" \
)
}
}
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.484077, 0.483252, 0.470877, 0.460042, 0.463265, 0.482053, 0.518716", \
"0.486728, 0.482658, 0.473495, 0.463001, 0.466499, 0.485023, 0.521378", \
"0.489302, 0.487278, 0.474826, 0.46497, 0.467192, 0.486541, 0.522731", \
"0.494417, 0.492415, 0.479963, 0.469854, 0.471911, 0.491535, 0.530442", \
"0.503976, 0.500764, 0.489159, 0.477466, 0.482317, 0.500225, 0.538175", \
"0.505912, 0.501644, 0.491799, 0.481679, 0.483912, 0.502898, 0.53944", \
"0.500533, 0.498982, 0.486431, 0.475772, 0.478544, 0.49764, 0.534072" \
)
}
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.674146, 0.675972, 0.657712, 0.607981, 0.529793, 0.428318, 0.299684", \
"0.676478, 0.678084, 0.660044, 0.610313, 0.532125, 0.43065, 0.302159", \
"0.678172, 0.679998, 0.661738, 0.611996, 0.533808, 0.432344, 0.303842", \
"0.683078, 0.684706, 0.666611, 0.61688, 0.538692, 0.437217, 0.308726", \
"0.692153, 0.693792, 0.675708, 0.625977, 0.547789, 0.446325, 0.317823", \
"0.69476, 0.696619, 0.678348, 0.628628, 0.55044, 0.448976, 0.320474", \
"0.689414, 0.691075, 0.673244, 0.62326, 0.545072, 0.443597, 0.315106" \
)
}
}
}
cell_leakage_power : 0.0006242;
}
}