blob: 172c1dd88c1d5a90737feabfbe85339bd352af89 [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__ss_125C_3v00) {
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 : 3.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 : 7.0901;
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.0);
voltage_map (VSS, 0.00);
operating_conditions(ss_3p0v_125C) {
process : 1;
temperature : 125;
voltage : 3.0;
tree_type : balanced_tree;
}
default_operating_conditions : ss_3p0v_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 : 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.1270;
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.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0100, 0.0301, 0.1006, 0.2353, 0.4451, 0.7395, 1.1270");
values ( \
"12.588, 12.6504, 12.8256, 13.1088, 13.5144, 14.0712, 14.7672", \
"12.6456, 12.6936, 12.8604, 13.134, 13.5276, 14.0664, 14.7972", \
"12.6876, 12.7524, 12.9, 13.182, 13.5936, 14.1552, 14.8668", \
"12.7632, 12.8148, 12.9864, 13.266, 13.662, 14.184, 14.922", \
"12.8244, 12.8856, 13.0488, 13.3476, 13.746, 14.3088, 15.0072", \
"12.864, 12.918, 13.1088, 13.3668, 13.788, 14.3352, 15.0276", \
"12.8388, 12.8844, 13.0584, 13.3428, 13.7352, 14.2872, 15.0012" \
)
}
rise_transition(q_slew_template) {
index_1 ("0.0100, 0.0301, 0.1006, 0.2353, 0.4451, 0.7395, 1.1270");
values ( \
"0.431196, 0.512736, 0.77676, 1.24884, 2.01432, 3.10884, 4.54896" \
)
}
cell_fall(q_delay_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0100, 0.0301, 0.1006, 0.2353, 0.4451, 0.7395, 1.1270");
values ( \
"13.1052, 13.1652, 13.32, 13.5432, 13.8408, 14.2056, 14.6268", \
"13.1592, 13.2, 13.3428, 13.5792, 13.8564, 14.2092, 14.6484", \
"13.2036, 13.2648, 13.3956, 13.6248, 13.9296, 14.292, 14.7276", \
"13.278, 13.3296, 13.4712, 13.7076, 13.9968, 14.3256, 14.7816", \
"13.3416, 13.392, 13.5492, 13.7856, 14.0796, 14.4384, 14.8632", \
"13.3812, 13.4328, 13.6104, 13.8132, 14.1192, 14.4756, 14.8872", \
"13.3524, 13.3764, 13.5516, 13.782, 14.0724, 14.4204, 14.862" \
)
}
fall_transition(q_slew_template) {
index_1 ("0.0100, 0.0301, 0.1006, 0.2353, 0.4451, 0.7395, 1.1270");
values ( \
"0.425016, 0.473628, 0.658908, 0.940344, 1.32276, 1.87296, 2.55216" \
)
}
}
}
pin(CLK) {
direction : input;
capacitance : 0.314096;
clock : true;
max_transition : 7.0901;
min_pulse_width_high : 5.18775;
min_pulse_width_low : 6.276795;
min_period : 17.08635;
/* 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.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ("318.3, 318.3, 318.3, 318.3, 318.3, 318.3, 318.3");
}
fall_power(power_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ("318.3, 318.3, 318.3, 318.3, 318.3, 318.3, 318.3");
}
}
/* DISABLED POWER */
internal_power() {
when : "CEN";
rise_power(power_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ("0.000156966, 0.000156966, 0.000156966, 0.000156966, 0.000156966, 0.000156966, 0.000156966");
}
fall_power(power_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ("0.000156966, 0.000156966, 0.000156966, 0.000156966, 0.000156966, 0.000156966, 0.000156966");
}
}
/* READ POWER */
internal_power() {
when : "!CEN & GWEN";
rise_power(power_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ("288.78, 288.78, 288.78, 288.78, 288.78, 288.78, 288.78");
}
fall_power(power_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ("288.78, 288.78, 288.78, 288.78, 288.78, 288.78, 288.78");
}
}
}
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.0199854;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ( \
"1.07745, 1.06179, 1.07813, 1.23086, 1.46696, 1.63999, 1.74218", \
"1.0474, 1.03836, 1.05515, 1.20921, 1.43528, 1.61832, 1.71457", \
"0.965635, 0.954206, 0.972719, 1.11612, 1.34937, 1.52768, 1.62668", \
"0.966262, 0.952248, 0.971146, 1.10939, 1.28579, 1.40756, 1.50403", \
"0.96558, 0.951676, 0.970552, 1.10746, 1.26799, 1.37588, 1.42384", \
"0.965173, 0.948662, 0.970871, 1.10671, 1.28274, 1.37951, 1.42604", \
"0.963358, 0.947826, 0.969881, 1.10921, 1.28198, 1.39568, 1.47741" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ( \
"0.85173, 0.866393, 0.967296, 1.16884, 1.48016, 1.81456, 2.16282", \
"0.844426, 0.861586, 0.960058, 1.15354, 1.46586, 1.78915, 2.13367", \
"0.842589, 0.856548, 0.957825, 1.15805, 1.46388, 1.78684, 2.12443", \
"0.841148, 0.855008, 0.956296, 1.15996, 1.46234, 1.7853, 2.12289", \
"0.840444, 0.857285, 0.955658, 1.15929, 1.46146, 1.78475, 2.11607", \
"0.841313, 0.856603, 0.954998, 1.15873, 1.46102, 1.78409, 2.12157", \
"0.839036, 0.855844, 0.954184, 1.15961, 1.46025, 1.78321, 2.1208" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ( \
"2.849, 2.86319, 2.84405, 2.70721, 2.53121, 2.43353, 2.40493", \
"2.87056, 2.88343, 2.8644, 2.72426, 2.55277, 2.45201, 2.41802", \
"2.95405, 2.96549, 2.94701, 2.81017, 2.63219, 2.5366, 2.50008", \
"3.12598, 3.13995, 3.12103, 2.98287, 2.80643, 2.71205, 2.6818", \
"3.34873, 3.36259, 3.34367, 3.20683, 3.04623, 2.93843, 2.89443", \
"3.52176, 3.53837, 3.51615, 3.3803, 3.20419, 3.1075, 3.07703", \
"3.63836, 3.65398, 3.63187, 3.4925, 3.3198, 3.2219, 3.20507" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ( \
"2.97418, 2.95724, 2.8589, 2.65518, 2.35312, 2.02983, 1.69235", \
"2.99486, 2.9777, 2.87925, 2.68576, 2.37347, 2.05018, 1.71545", \
"3.07714, 3.06317, 2.96186, 2.76166, 2.45586, 2.1329, 1.79531", \
"3.25105, 3.23719, 3.13588, 2.93227, 2.62988, 2.30692, 1.96933", \
"3.4738, 3.45697, 3.35863, 3.15502, 2.85274, 2.52945, 2.19813", \
"3.64562, 3.63033, 3.53199, 3.32827, 3.02588, 2.70292, 2.36533", \
"3.76277, 3.74594, 3.6476, 3.44212, 3.14149, 2.81853, 2.48094" \
)
}
}
}
pin(GWEN) {
direction : input;
capacitance : 0.0496645;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ( \
"1.42945, 1.45354, 1.54033, 1.70984, 1.93556, 2.13631, 2.31077", \
"1.40976, 1.43363, 1.52097, 1.68674, 1.91488, 2.1186, 2.29955", \
"1.32429, 1.34827, 1.4344, 1.60248, 1.83491, 2.03027, 2.20616", \
"1.15834, 1.18105, 1.26992, 1.43605, 1.66452, 1.87022, 2.04479", \
"0.986513, 1.00995, 1.09751, 1.26513, 1.49325, 1.69554, 1.86186", \
"0.863621, 0.887271, 0.97427, 1.14232, 1.37115, 1.57003, 1.74471", \
"0.775291, 0.799106, 0.886765, 1.05366, 1.28583, 1.48082, 1.65858" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ( \
"1.64549, 1.672, 1.77892, 1.99804, 2.34861, 2.75627, 3.21189", \
"1.62525, 1.65209, 1.7589, 1.97868, 2.32881, 2.73625, 3.19297", \
"1.53901, 1.56684, 1.67365, 1.88914, 2.24334, 2.651, 3.10662", \
"1.3739, 1.40085, 1.50766, 1.72161, 2.07735, 2.48644, 2.94063", \
"1.20369, 1.22904, 1.33584, 1.54979, 1.90388, 2.31319, 2.76419", \
"1.07876, 1.10575, 1.21256, 1.43176, 1.78046, 2.19142, 2.6455", \
"0.990638, 1.01758, 1.12442, 1.33727, 1.69411, 2.10177, 2.55739" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ( \
"2.09484, 2.07548, 1.99045, 1.84514, 1.72293, 1.64791, 1.59192", \
"2.07922, 2.05942, 1.97395, 1.83348, 1.70357, 1.62525, 1.5829", \
"2.10474, 2.08538, 2.00079, 1.85493, 1.72843, 1.64945, 1.6027", \
"2.15809, 2.13862, 2.05227, 1.90773, 1.77661, 1.69587, 1.64945", \
"2.22497, 2.20748, 2.11915, 1.9734, 1.84569, 1.76715, 1.72557", \
"2.24323, 2.2275, 2.13994, 1.99342, 1.86846, 1.79597, 1.74152", \
"2.23014, 2.21375, 2.12597, 1.98242, 1.85779, 1.77507, 1.72909" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ( \
"1.02518, 0.997326, 0.88616, 0.662981, 0.340076, 0, 0", \
"1.00849, 0.983565, 0.869968, 0.651112, 0.327624, 0, 0", \
"1.02989, 1.00724, 0.896544, 0.677336, 0.353045, 0, 0", \
"1.08356, 1.05466, 0.946528, 0.730323, 0.402798, 0.008272, 0", \
"1.17568, 1.14827, 1.04201, 0.822316, 0.467225, 0.0894542, 0", \
"1.38248, 1.35498, 1.24877, 1.02397, 0.674069, 0.296124, 0", \
"1.55111, 1.52372, 1.41746, 1.19776, 0.842776, 0.464915, 0.050457" \
)
}
}
}
bus(WEN) {
bus_type : Q_BUS;
direction : input;
capacitance : 0.00804241;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
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.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ( \
"0.494516, 0.520454, 0.637373, 0.855052, 1.18116, 1.57102, 2.02312", \
"0.507078, 0.535414, 0.64746, 0.86724, 1.19236, 1.58411, 2.03753", \
"0.483362, 0.50644, 0.620818, 0.837353, 1.16433, 1.55617, 2.0075", \
"0.428439, 0.451077, 0.564124, 0.782672, 1.10969, 1.50139, 1.95492", \
"0.365442, 0.386672, 0.501457, 0.71654, 1.04971, 1.43682, 1.8843", \
"0.347776, 0.375342, 0.488444, 0.706574, 1.02391, 1.42219, 1.87286", \
"0.361174, 0.385253, 0.498817, 0.70873, 1.03903, 1.43341, 1.88342" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ( \
"2.09583, 2.07548, 1.99045, 1.8469, 1.72634, 1.64791, 1.59632", \
"2.08241, 2.0603, 1.97527, 1.83348, 1.71281, 1.62525, 1.5829", \
"2.10782, 2.08582, 2.00079, 1.85889, 1.73822, 1.64945, 1.60831", \
"2.15809, 2.13862, 2.05227, 1.90872, 1.78805, 1.69829, 1.65814", \
"2.22497, 2.20748, 2.11915, 1.97549, 1.85493, 1.76715, 1.72557", \
"2.24521, 2.2275, 2.13994, 1.99617, 1.87561, 1.79597, 1.74559", \
"2.23135, 2.21375, 2.12597, 1.98242, 1.86175, 1.77507, 1.73184" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ( \
"1.02518, 0.997326, 0.88616, 0.662981, 0.340076, 0, 0", \
"1.00849, 0.983565, 0.869968, 0.651112, 0.327624, 0, 0", \
"1.03133, 1.00839, 0.896544, 0.677666, 0.354761, 0, 0", \
"1.08356, 1.05837, 0.946528, 0.730323, 0.404635, 0.008272, 0", \
"1.14956, 1.12565, 1.01396, 0.797225, 0.463562, 0.075383, 0", \
"1.17149, 1.14647, 1.0359, 0.812361, 0.495561, 0.0963754, 0", \
"1.15677, 1.13295, 1.02212, 0.806905, 0.478654, 0.082291, 0" \
)
}
}
}
bus(A) {
bus_type : A_BUS;
direction : input;
capacitance : 0.0442684;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ( \
"1.26245, 1.25393, 1.28233, 1.42835, 1.66892, 1.85955, 1.98352", \
"1.27637, 1.27232, 1.29811, 1.44111, 1.68443, 1.86835, 1.99793", \
"1.25357, 1.24927, 1.27403, 1.41867, 1.65616, 1.84811, 1.97362", \
"1.20328, 1.1894, 1.2196, 1.36081, 1.60446, 1.7941, 1.92478", \
"1.13049, 1.12674, 1.15205, 1.2991, 1.53923, 1.72579, 1.85042", \
"1.11279, 1.10988, 1.13174, 1.28077, 1.52702, 1.71193, 1.83073", \
"1.1294, 1.11832, 1.15333, 1.29569, 1.54209, 1.72601, 1.84525" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ( \
"1.54363, 1.56915, 1.66309, 1.8612, 2.19758, 2.53748, 2.90972", \
"1.56387, 1.57762, 1.66551, 1.88386, 2.21254, 2.55585, 2.937", \
"1.53538, 1.55441, 1.65011, 1.85064, 2.18647, 2.52901, 2.90477", \
"1.47895, 1.50205, 1.59786, 1.79905, 2.12883, 2.47665, 2.85725", \
"1.41482, 1.43, 1.53109, 1.72766, 2.06206, 2.40889, 2.78883", \
"1.39436, 1.4157, 1.5125, 1.71259, 2.05073, 2.39382, 2.76914", \
"1.41229, 1.43022, 1.52009, 1.72909, 2.05722, 2.41505, 2.78542" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ( \
"1.15012, 1.16108, 1.11689, 1.04318, 0.97834, 0.952908, 0.914628", \
"1.17146, 1.18226, 1.14198, 1.06739, 1.01377, 0.982113, 0.943701", \
"1.2559, 1.26687, 1.22361, 1.14942, 1.08413, 1.05859, 1.02043", \
"1.42725, 1.4388, 1.39403, 1.31835, 1.25446, 1.22895, 1.19935", \
"1.62833, 1.63878, 1.59698, 1.52174, 1.45618, 1.43011, 1.39986", \
"1.82468, 1.83601, 1.79102, 1.71699, 1.65165, 1.6269, 1.59445", \
"1.958, 1.96922, 1.92478, 1.85097, 1.7853, 1.76044, 1.72249" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ( \
"1.23625, 1.21452, 1.11971, 1.01432, 0.915926, 0.862543, 0.824725", \
"1.25483, 1.23814, 1.14721, 1.03543, 0.937068, 0.883531, 0.845988", \
"1.34178, 1.32066, 1.2255, 1.12008, 1.02354, 0.96833, 0.930633", \
"1.51305, 1.49237, 1.39689, 1.29156, 1.19439, 1.13955, 1.102", \
"1.71413, 1.69345, 1.59797, 1.4927, 1.39601, 1.34079, 1.30295", \
"1.91081, 1.88914, 1.79421, 1.68894, 1.59049, 1.53692, 1.49941", \
"2.04391, 2.02312, 1.93391, 1.82215, 1.72546, 1.67035, 1.63273" \
)
}
}
}
bus(D) {
bus_type : Q_BUS;
memory_write() {
address : A;
clocked_on : "CLK";
}
direction : input;
capacitance : 0.0174724;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ( \
"1.23989, 1.25757, 1.32484, 1.38754, 1.37621, 1.31824, 1.21883", \
"1.25655, 1.26514, 1.34167, 1.40635, 1.39821, 1.3376, 1.21291", \
"1.22912, 1.24597, 1.32495, 1.3783, 1.3717, 1.309, 1.19835", \
"1.16914, 1.19574, 1.26232, 1.31263, 1.32286, 1.24389, 1.13361", \
"1.10087, 1.12258, 1.20487, 1.25252, 1.25799, 1.17835, 1.05855", \
"1.08413, 1.11291, 1.18424, 1.23693, 1.22799, 1.16998, 1.05727", \
"1.097, 1.12333, 1.19344, 1.2603, 1.2487, 1.18379, 1.0602" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ( \
"0.06754, 0.077132, 0.184144, 0.420244, 0.761112, 1.1673, 1.62536", \
"0.0894949, 0.0930743, 0.200589, 0.436557, 0.77759, 1.17878, 1.63801", \
"0.068552, 0.066737, 0.174008, 0.410586, 0.751036, 1.15639, 1.61183", \
"0.013266, 0.011748, 0.119383, 0.355949, 0.696454, 1.10185, 1.55573", \
"0, 0, 0.049731, 0.290887, 0.631378, 1.03678, 1.49182", \
"0, 0, 0.033, 0.272323, 0.613349, 1.01875, 1.47411", \
"0, 0, 0.050204, 0.279133, 0.627231, 1.02619, 1.48786" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ( \
"0.879483, 0.874654, 0.79354, 0.737462, 0.738947, 0.805002, 0.902748", \
"0.864996, 0.855261, 0.78144, 0.718894, 0.720918, 0.780846, 0.905916", \
"0.903056, 0.877426, 0.802945, 0.74811, 0.746834, 0.810887, 0.922416", \
"0.961147, 0.930699, 0.862697, 0.812702, 0.80322, 0.888063, 0.99088", \
"1.02709, 1.00549, 0.921668, 0.878053, 0.868604, 0.948321, 1.05631", \
"1.04169, 1.0045, 0.939686, 0.884961, 0.885489, 0.951632, 1.07306", \
"1.03253, 1.00565, 0.932833, 0.876216, 0.877679, 0.938927, 1.06579" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ( \
"1.5609, 1.55639, 1.45574, 1.2198, 0.881089, 0.478599, 0.020834", \
"1.54484, 1.54088, 1.44034, 1.20438, 0.865326, 0.463177, 0.005412", \
"1.57234, 1.56706, 1.46652, 1.2305, 0.89144, 0.489291, 0.031636", \
"1.6313, 1.6258, 1.52526, 1.28924, 0.950202, 0.548042, 0.0902781", \
"1.69631, 1.69092, 1.5906, 1.35465, 1.01557, 0.613426, 0.155692", \
"1.70841, 1.70269, 1.60226, 1.3662, 1.02717, 0.62502, 0.167343", \
"1.69829, 1.6951, 1.59456, 1.3585, 1.01949, 0.618992, 0.159675" \
)
}
}
}
cell_leakage_power : 0.000156966;
}
}