blob: ecc948299a0c603c6a1570d5ec3f19aa2c65ff23 [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__ss_n40C_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 : -40;
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 : 6.4830;
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_m40C) {
process : 1;
temperature : -40;
voltage : 3.0;
tree_type : balanced_tree;
}
default_operating_conditions : ss_3p0v_m40C;
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.1369;
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.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0100, 0.0303, 0.1014, 0.2373, 0.4490, 0.7460, 1.1369");
values ( \
"9.27288, 9.29724, 9.42672, 9.61176, 9.89364, 10.27188, 10.77048", \
"9.27108, 9.32304, 9.44508, 9.62388, 9.9108, 10.299, 10.79796", \
"9.33636, 9.36828, 9.4908, 9.68724, 9.96552, 10.35144, 10.878", \
"9.39624, 9.4632, 9.56484, 9.75912, 10.04424, 10.43544, 10.92528", \
"9.4872, 9.52428, 9.66516, 9.82632, 10.12104, 10.497, 11.00148", \
"9.54948, 9.58248, 9.7116, 9.89568, 10.1814, 10.56444, 11.0406", \
"9.52068, 9.56652, 9.67716, 9.88728, 10.15044, 10.5282, 11.06484" \
)
}
rise_transition(q_slew_template) {
index_1 ("0.0100, 0.0303, 0.1014, 0.2373, 0.4490, 0.7460, 1.1369");
values ( \
"0.2682, 0.318804, 0.48954, 0.804936, 1.32276, 2.05296, 3.02064" \
)
}
cell_fall(q_delay_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0100, 0.0303, 0.1014, 0.2373, 0.4490, 0.7460, 1.1369");
values ( \
"9.62772, 9.651, 9.77208, 9.92604, 10.14636, 10.39308, 10.71204", \
"9.62484, 9.67884, 9.78624, 9.94248, 10.15308, 10.40112, 10.72608", \
"9.69, 9.71988, 9.84372, 10.00872, 10.20732, 10.46556, 10.80792", \
"9.7548, 9.81864, 9.91068, 10.0836, 10.28676, 10.54296, 10.85712", \
"9.84684, 9.88212, 10.01496, 10.1514, 10.37412, 10.61028, 10.93944", \
"9.90648, 9.94116, 10.05924, 10.2144, 10.42524, 10.67412, 10.97256", \
"9.88236, 9.91488, 10.02204, 10.20672, 10.39356, 10.6428, 10.98864" \
)
}
fall_transition(q_slew_template) {
index_1 ("0.0100, 0.0303, 0.1014, 0.2373, 0.4490, 0.7460, 1.1369");
values ( \
"0.264528, 0.314244, 0.427188, 0.610632, 0.877668, 1.2624, 1.76868" \
)
}
}
}
pin(CLK) {
direction : input;
capacitance : 0.310692;
clock : true;
max_transition : 6.4830;
min_pulse_width_high : 4.59879;
min_pulse_width_low : 5.82354;
min_period : 12.55293;
/* 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.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ("330.795, 330.795, 330.795, 330.795, 330.795, 330.795, 330.795");
}
fall_power(power_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ("330.795, 330.795, 330.795, 330.795, 330.795, 330.795, 330.795");
}
}
/* DISABLED POWER */
internal_power() {
when : "CEN";
rise_power(power_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ("0.00022272, 0.00022272, 0.00022272, 0.00022272, 0.00022272, 0.00022272, 0.00022272");
}
fall_power(power_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ("0.00022272, 0.00022272, 0.00022272, 0.00022272, 0.00022272, 0.00022272, 0.00022272");
}
}
/* READ POWER */
internal_power() {
when : "!CEN & GWEN";
rise_power(power_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ("301.665, 301.665, 301.665, 301.665, 301.665, 301.665, 301.665");
}
fall_power(power_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ("301.665, 301.665, 301.665, 301.665, 301.665, 301.665, 301.665");
}
}
}
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.0195066;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ( \
"0.803187, 0.791956, 0.829818, 1.01032, 1.24361, 1.42582, 1.55804", \
"0.786137, 0.768064, 0.803429, 0.975788, 1.21296, 1.41097, 1.52911", \
"0.755953, 0.734129, 0.774268, 0.942689, 1.13041, 1.30174, 1.44683", \
"0.755414, 0.736967, 0.772596, 0.941061, 1.11466, 1.22499, 1.34024", \
"0.746438, 0.73557, 0.772178, 0.940555, 1.11415, 1.22448, 1.28292", \
"0.750013, 0.731203, 0.771804, 0.940258, 1.11428, 1.22838, 1.28404", \
"0.747549, 0.730411, 0.771408, 0.936122, 1.10672, 1.22409, 1.32396" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ( \
"0.657998, 0.673101, 0.765072, 0.959475, 1.22398, 1.51228, 1.80268", \
"0.65384, 0.668602, 0.761046, 0.948695, 1.21994, 1.49919, 1.79355", \
"0.650485, 0.664873, 0.757141, 0.951555, 1.21607, 1.49523, 1.78959", \
"0.648186, 0.663036, 0.755491, 0.94314, 1.21441, 1.4971, 1.78794", \
"0.647295, 0.662684, 0.754963, 0.949388, 1.21386, 1.49314, 1.77826", \
"0.646943, 0.666116, 0.754688, 0.949113, 1.21365, 1.49292, 1.78717", \
"0.646448, 0.661496, 0.753907, 0.941556, 1.2128, 1.49204, 1.7864" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ( \
"1.90608, 1.91752, 1.88111, 1.71259, 1.53934, 1.42857, 1.37027", \
"1.92401, 1.94205, 1.90872, 1.74878, 1.56805, 1.44606, 1.3948", \
"2.0141, 2.03599, 1.99584, 1.82743, 1.65374, 1.55419, 1.48445", \
"2.18251, 2.20088, 2.16524, 1.99683, 1.82325, 1.71292, 1.65462", \
"2.37303, 2.38392, 2.34729, 2.17888, 2.0053, 1.89497, 1.83656", \
"2.51196, 2.53077, 2.49018, 2.32166, 2.14764, 2.03357, 1.97791", \
"2.60084, 2.618, 2.57697, 2.4123, 2.24169, 2.12432, 2.06635" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ( \
"2.0053, 1.99012, 1.89816, 1.70379, 1.43924, 1.16005, 0.865689", \
"2.03005, 2.0152, 1.9228, 1.73514, 1.46388, 1.18465, 0.890285", \
"2.11959, 2.10518, 2.01289, 1.81852, 1.55397, 1.2748, 0.980441", \
"2.28965, 2.2748, 2.1824, 1.99474, 1.72348, 1.44078, 1.1499", \
"2.47214, 2.45674, 2.36445, 2.17008, 1.90564, 1.62635, 1.34123", \
"2.61503, 2.59578, 2.50723, 2.31286, 2.04831, 1.76902, 1.47477", \
"2.70193, 2.68686, 2.59446, 2.4068, 2.13565, 1.85636, 1.562" \
)
}
}
}
pin(GWEN) {
direction : input;
capacitance : 0.0486853;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ( \
"1.02765, 1.04799, 1.1382, 1.30141, 1.5015, 1.68157, 1.82655", \
"1.00936, 1.02785, 1.11973, 1.28315, 1.48676, 1.65869, 1.81071", \
"0.924451, 0.944152, 1.03406, 1.19716, 1.40217, 1.5796, 1.71842", \
"0.76802, 0.787545, 0.877283, 1.04042, 1.24538, 1.41856, 1.56563", \
"0.630597, 0.651651, 0.742456, 0.904541, 1.10948, 1.28268, 1.42978", \
"0.529771, 0.549087, 0.639078, 0.80212, 1.00658, 1.18465, 1.32638", \
"0.479523, 0.498707, 0.58861, 0.753082, 0.956637, 1.12459, 1.27766" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ( \
"1.16357, 1.18789, 1.29503, 1.5114, 1.82853, 2.18944, 2.58148", \
"1.14022, 1.16631, 1.27599, 1.49358, 1.80895, 2.16997, 2.56157", \
"1.05585, 1.08312, 1.19088, 1.40965, 1.72436, 2.08538, 2.47687", \
"0.902418, 0.92323, 1.03408, 1.25044, 1.56761, 1.93127, 2.32023", \
"0.768383, 0.791747, 0.898689, 1.11456, 1.43176, 1.7963, 2.18603", \
"0.666017, 0.684684, 0.795828, 1.01215, 1.32935, 1.68982, 2.08197", \
"0.615648, 0.633809, 0.745833, 0.963501, 1.27892, 1.63988, 2.03159" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ( \
"1.50568, 1.48423, 1.39733, 1.26968, 1.16043, 1.08067, 1.03698", \
"1.51217, 1.49259, 1.40327, 1.27578, 1.16544, 1.08686, 1.04378", \
"1.56937, 1.55001, 1.4608, 1.3332, 1.22275, 1.13808, 1.10263", \
"1.64604, 1.62657, 1.53747, 1.40976, 1.29943, 1.22113, 1.17774", \
"1.71721, 1.69818, 1.61128, 1.48137, 1.37104, 1.29275, 1.2487", \
"1.7391, 1.72018, 1.63075, 1.50304, 1.39282, 1.31219, 1.27608", \
"1.74273, 1.72348, 1.63438, 1.50667, 1.39634, 1.32572, 1.27405" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ( \
"0.770792, 0.739002, 0.632566, 0.424358, 0.125435, 0, 0", \
"0.778723, 0.756822, 0.637659, 0.426558, 0.13154, 0, 0", \
"0.832964, 0.808764, 0.696102, 0.483857, 0.18923, 0, 0", \
"0.910503, 0.885291, 0.77264, 0.565345, 0.265525, 0, 0", \
"1.02637, 1.00388, 0.891616, 0.675015, 0.367873, 0.041558, 0", \
"1.20342, 1.18444, 1.06872, 0.852126, 0.544984, 0.220665, 0", \
"1.33452, 1.31549, 1.19994, 0.982135, 0.676093, 0.351791, 0" \
)
}
}
}
bus(WEN) {
bus_type : Q_BUS;
direction : input;
capacitance : 0.00791289;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ( \
"0, 0, 0, 0, 0.036696, 0.118996, 0.163967", \
"0, 0, 0, 0, 0.032703, 0.113323, 0.157799", \
"0, 0, 0, 0, 0, 0.06094, 0.100998", \
"0, 0, 0, 0, 0, 0, 0.02651", \
"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.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ( \
"0.390687, 0.420354, 0.529287, 0.736879, 1.03519, 1.37896, 1.77342", \
"0.38104, 0.405262, 0.524139, 0.734558, 1.02904, 1.37269, 1.76869", \
"0.32857, 0.350537, 0.466323, 0.678205, 0.973709, 1.31538, 1.71061", \
"0.25365, 0.278565, 0.391908, 0.598543, 0.899041, 1.24372, 1.63603", \
"0.179187, 0.203766, 0.319352, 0.526548, 0.825077, 1.17234, 1.56596", \
"0.156442, 0.182408, 0.296586, 0.504163, 0.804254, 1.14503, 1.54055", \
"0.154585, 0.177706, 0.295066, 0.506429, 0.800129, 1.14402, 1.54011" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ( \
"1.50667, 1.4916, 1.40107, 1.26968, 1.16063, 1.08372, 1.03698", \
"1.51283, 1.49776, 1.40712, 1.27578, 1.16677, 1.08986, 1.04378", \
"1.57025, 1.55507, 1.46454, 1.3332, 1.22411, 1.14721, 1.10263", \
"1.64681, 1.63174, 1.5411, 1.40976, 1.30075, 1.22384, 1.17774", \
"1.71842, 1.70335, 1.61271, 1.48137, 1.37236, 1.29547, 1.2487", \
"1.7402, 1.72513, 1.63449, 1.50304, 1.39414, 1.31725, 1.27608", \
"1.74383, 1.72876, 1.63823, 1.50667, 1.39777, 1.32572, 1.27405" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ( \
"0.771826, 0.739607, 0.635415, 0.427306, 0.131431, 0, 0", \
"0.782111, 0.756822, 0.640596, 0.429539, 0.137538, 0, 0", \
"0.835769, 0.808764, 0.698896, 0.483857, 0.194892, 0, 0", \
"0.911878, 0.885874, 0.775489, 0.567116, 0.271529, 0, 0", \
"0.983884, 0.958518, 0.846736, 0.639034, 0.343134, 0, 0", \
"1.01076, 0.982333, 0.868934, 0.660814, 0.364914, 0.018711, 0", \
"1.01283, 0.986733, 0.872146, 0.660539, 0.368566, 0.021241, 0" \
)
}
}
}
bus(A) {
bus_type : A_BUS;
direction : input;
capacitance : 0.043725;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ( \
"1.24583, 1.23937, 1.2806, 1.45464, 1.68223, 1.89222, 2.03841", \
"1.23974, 1.22858, 1.27986, 1.45332, 1.67662, 1.89959, 2.02895", \
"1.18229, 1.16974, 1.22063, 1.39293, 1.61612, 1.82677, 1.96988", \
"1.10986, 1.10106, 1.14567, 1.32132, 1.54253, 1.74724, 1.8986", \
"1.03356, 1.02676, 1.0718, 1.2435, 1.47224, 1.68465, 1.82974", \
"1.01669, 1.00154, 1.05417, 1.22587, 1.4487, 1.65825, 1.80257", \
"1.0132, 1.00102, 1.04623, 1.21898, 1.44683, 1.66188, 1.79432" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ( \
"1.69268, 1.70544, 1.79806, 2.00541, 2.28921, 2.59149, 2.92523", \
"1.68124, 1.69983, 1.7919, 2.00002, 2.28393, 2.58412, 2.91665", \
"1.62602, 1.64098, 1.73844, 1.94128, 2.22156, 2.53385, 2.86539", \
"1.55397, 1.56651, 1.6643, 1.8667, 2.1505, 2.45608, 2.78619", \
"1.48137, 1.49457, 1.59357, 1.793, 2.0779, 2.3848, 2.71942", \
"1.46201, 1.47345, 1.57355, 1.7776, 2.04974, 2.35851, 2.69181", \
"1.45002, 1.47059, 1.5631, 1.77155, 2.0537, 2.35763, 2.68917" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ( \
"0.884026, 0.89452, 0.84546, 0.761134, 0.67826, 0.613096, 0.542388", \
"0.898634, 0.913594, 0.862818, 0.775577, 0.695453, 0.632566, 0.559867", \
"0.990594, 1.00551, 0.954547, 0.870232, 0.787358, 0.724922, 0.651783", \
"1.15005, 1.1651, 1.1141, 1.02705, 0.94688, 0.884631, 0.813571", \
"1.35014, 1.36202, 1.3112, 1.224, 1.14387, 1.08098, 1.00828", \
"1.51591, 1.53065, 1.47972, 1.3926, 1.31241, 1.24997, 1.18368", \
"1.64373, 1.65847, 1.60754, 1.52042, 1.44023, 1.37588, 1.30702" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ( \
"0.947727, 0.930765, 0.843645, 0.75251, 0.675081, 0.598719, 0.555654", \
"0.964183, 0.94622, 0.860827, 0.76967, 0.692252, 0.616077, 0.572825", \
"1.05663, 1.03805, 0.952743, 0.861586, 0.784168, 0.707993, 0.664741", \
"1.21606, 1.20014, 1.11228, 1.02113, 0.943712, 0.86735, 0.824285", \
"1.41328, 1.39645, 1.30922, 1.21811, 1.14073, 1.06448, 1.02125", \
"1.58147, 1.56321, 1.47785, 1.38677, 1.30933, 1.2331, 1.18986", \
"1.70962, 1.69103, 1.60567, 1.51459, 1.43715, 1.36081, 1.31769" \
)
}
}
}
bus(D) {
bus_type : Q_BUS;
memory_write() {
address : A;
clocked_on : "CLK";
}
direction : input;
capacitance : 0.0174073;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ( \
"0.961158, 0.980925, 1.05653, 1.1071, 1.12279, 1.08313, 0.984753", \
"0.952633, 0.976206, 1.04994, 1.10736, 1.12056, 1.07661, 0.986623", \
"0.896159, 0.923527, 0.996006, 1.04655, 1.05869, 1.01099, 0.931095", \
"0.820435, 0.846604, 0.919864, 0.969716, 0.984445, 0.934868, 0.849244", \
"0.753434, 0.776567, 0.84337, 0.901142, 0.910239, 0.875116, 0.777447", \
"0.732424, 0.753203, 0.825154, 0.879428, 0.887535, 0.84854, 0.770011", \
"0.728101, 0.75097, 0.819676, 0.872586, 0.891627, 0.841269, 0.749826" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ( \
"0.11975, 0.132561, 0.238579, 0.459162, 0.739959, 1.06807, 1.45288", \
"0.118955, 0.127383, 0.232911, 0.453596, 0.734393, 1.06248, 1.44716", \
"0.063921, 0.070521, 0.176188, 0.396803, 0.677435, 1.00565, 1.39051", \
"0, 0, 0.101091, 0.321706, 0.602481, 0.930644, 1.31538", \
"0, 0, 0.028941, 0.249528, 0.53031, 0.858407, 1.24323", \
"0, 0, 0.006765, 0.227315, 0.507969, 0.837199, 1.22101", \
"0, 0, 0.003399, 0.223947, 0.504724, 0.833613, 1.21764" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ( \
"0.668019, 0.646503, 0.572154, 0.51546, 0.502601, 0.542927, 0.637395", \
"0.673794, 0.650331, 0.581218, 0.515878, 0.506143, 0.549637, 0.642873", \
"0.732424, 0.703307, 0.633545, 0.574651, 0.566071, 0.611578, 0.699809", \
"0.80531, 0.781033, 0.709335, 0.653334, 0.639496, 0.683144, 0.774675", \
"0.875314, 0.849376, 0.778877, 0.721017, 0.716606, 0.751685, 0.843282", \
"0.900592, 0.880044, 0.806674, 0.752158, 0.74239, 0.776083, 0.858143", \
"0.905003, 0.882508, 0.807609, 0.752521, 0.738991, 0.783057, 0.868978" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
index_2 ("0.0200, 0.1363, 0.5445, 1.3241, 2.5384, 4.2420, 6.4830");
values ( \
"1.14609, 1.13513, 1.02872, 0.810051, 0.53053, 0.203653, 0", \
"1.1496, 1.14135, 1.03495, 0.816266, 0.536745, 0.209865, 0", \
"1.20486, 1.19814, 1.09172, 0.873048, 0.593527, 0.266645, 0", \
"1.2813, 1.27244, 1.166, 0.947342, 0.667821, 0.340945, 0", \
"1.35256, 1.34343, 1.23697, 1.0183, 0.738782, 0.411895, 0.02926", \
"1.37643, 1.36829, 1.26185, 1.04318, 0.763664, 0.436788, 0.054142", \
"1.3805, 1.37225, 1.26584, 1.04718, 0.767657, 0.44077, 0.058124" \
)
}
}
}
cell_leakage_power : 0.00022272;
}
}