blob: 29aba3eaacf64f9e68c054ff61ea09bb45c0e292 [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_1v80) {
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 : 1.8;
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 : 4.617;
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, 1.8);
voltage_map (VSS, 0.00);
operating_conditions(tt_1p8v_25C) {
process : 1;
temperature : 25;
voltage : 1.8;
tree_type : balanced_tree;
}
default_operating_conditions : tt_1p8v_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 : 0.9747;
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.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.01, 0.02735, 0.08826, 0.2046, 0.3858, 0.6401, 0.9747");
values ( \
"17.2992, 17.4036, 17.5692, 17.9136, 18.4176, 19.11, 20.0124", \
"17.334, 17.3868, 17.6016, 17.94, 18.4464, 19.122, 20.046", \
"17.4168, 17.4768, 17.6772, 18.024, 18.5232, 19.2276, 20.1156", \
"17.5152, 17.5728, 17.7972, 18.1284, 18.6408, 19.3236, 20.226", \
"17.6808, 17.73, 17.9568, 18.2952, 18.7848, 19.4904, 20.3676", \
"17.8668, 17.9508, 18.1392, 18.4764, 18.9756, 19.6752, 20.562", \
"18.078, 18.1644, 18.3744, 18.6924, 19.2156, 19.902, 20.8104" \
)
}
rise_transition(q_slew_template) {
index_1 ("0.01, 0.02735, 0.08826, 0.2046, 0.3858, 0.6401, 0.9747");
values ( \
"0.50406, 0.585744, 0.884304, 1.4676, 2.325, 3.64932, 5.33904" \
)
}
cell_fall(q_delay_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.01, 0.02735, 0.08826, 0.2046, 0.3858, 0.6401, 0.9747");
values ( \
"18.2016, 18.2892, 18.426, 18.6648, 18.966, 19.3008, 19.7436", \
"18.246, 18.2832, 18.4548, 18.7152, 19.0032, 19.3296, 19.7952", \
"18.3084, 18.378, 18.5484, 18.7776, 19.0704, 19.4352, 19.8552", \
"18.42, 18.4848, 18.6624, 18.8916, 19.1904, 19.5396, 19.962", \
"18.5844, 18.6252, 18.81, 19.0548, 19.35, 19.7076, 20.1324", \
"18.774, 18.8472, 18.9876, 19.2348, 19.5096, 19.8936, 20.3232", \
"18.9672, 19.0584, 19.2336, 19.4472, 19.7532, 20.1108, 20.5548" \
)
}
fall_transition(q_slew_template) {
index_1 ("0.01, 0.02735, 0.08826, 0.2046, 0.3858, 0.6401, 0.9747");
values ( \
"0.512256, 0.557736, 0.74832, 0.992784, 1.353, 1.87416, 2.52996" \
)
}
}
}
pin(CLK) {
direction : input;
capacitance : 0.282301;
clock : true;
max_transition : 4.617;
min_pulse_width_high : 11.779035;
min_pulse_width_low : 10.061445;
min_period : 23.56065;
/* 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.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ("112.563, 112.563, 112.563, 112.563, 112.563, 112.563, 112.563");
}
fall_power(power_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ("112.563, 112.563, 112.563, 112.563, 112.563, 112.563, 112.563");
}
}
/* DISABLED POWER */
internal_power() {
when : "CEN";
rise_power(power_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ("8.06994e-05, 8.06994e-05, 8.06994e-05, 8.06994e-05, 8.06994e-05, 8.06994e-05, 8.06994e-05");
}
fall_power(power_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ("8.06994e-05, 8.06994e-05, 8.06994e-05, 8.06994e-05, 8.06994e-05, 8.06994e-05, 8.06994e-05");
}
}
/* READ POWER */
internal_power() {
when : "!CEN & GWEN";
rise_power(power_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ("103.176, 103.176, 103.176, 103.176, 103.176, 103.176, 103.176");
}
fall_power(power_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ("103.176, 103.176, 103.176, 103.176, 103.176, 103.176, 103.176");
}
}
}
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.0182531;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ( \
"1.55639, 1.53692, 1.55595, 1.67101, 1.96559, 2.34806, 2.89575", \
"1.5301, 1.51426, 1.52966, 1.64274, 1.92291, 2.33453, 2.87474", \
"1.46729, 1.44639, 1.46509, 1.58422, 1.86626, 2.25863, 2.80049", \
"1.32286, 1.30194, 1.31397, 1.44815, 1.70918, 2.12861, 2.65595", \
"1.28212, 1.27527, 1.28812, 1.42153, 1.68487, 2.05832, 2.5498", \
"1.2954, 1.27656, 1.28147, 1.4124, 1.68003, 2.08362, 2.57125", \
"1.2815, 1.27469, 1.2885, 1.41625, 1.67794, 2.08912, 2.56685" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ( \
"1.15156, 1.15919, 1.2353, 1.37951, 1.66353, 2.0603, 2.57026", \
"1.13121, 1.14819, 1.21467, 1.35894, 1.64285, 2.03973, 2.54969", \
"1.07909, 1.09447, 1.1645, 1.32418, 1.61084, 1.99122, 2.49073", \
"1.07856, 1.09393, 1.16396, 1.31076, 1.59203, 1.99067, 2.49018", \
"1.07811, 1.09283, 1.16292, 1.30962, 1.59093, 1.98946, 2.48908", \
"1.07852, 1.08624, 1.16306, 1.30981, 1.60952, 1.9899, 2.48941", \
"1.07755, 1.09225, 1.16225, 1.30898, 1.59027, 1.98891, 2.48842" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ( \
"3.83042, 3.84879, 3.83779, 3.71404, 3.43376, 3.06482, 2.54936", \
"3.86507, 3.88058, 3.86903, 3.75859, 3.48469, 3.08693, 2.57862", \
"3.91314, 3.93294, 3.91842, 3.79951, 3.52649, 3.1482, 2.64077", \
"4.08078, 4.10058, 4.09255, 3.95791, 3.70139, 3.29978, 2.80093", \
"4.34544, 4.35226, 4.3395, 4.20607, 3.94273, 3.56928, 3.0778", \
"4.63529, 4.65421, 4.64926, 4.51836, 4.25073, 3.84703, 3.35951", \
"5.00808, 5.0149, 5.00115, 4.87344, 4.61164, 4.20057, 3.72273" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ( \
"4.04734, 4.03854, 3.96264, 3.8159, 3.53463, 3.13588, 2.63637", \
"4.07682, 4.06241, 3.99245, 3.84571, 3.56444, 3.16569, 2.66618", \
"4.13083, 4.11543, 4.04536, 3.88564, 3.59909, 3.21871, 2.7192", \
"4.29847, 4.28307, 4.213, 4.06626, 3.78499, 3.38624, 2.88673", \
"4.54949, 4.53475, 4.46468, 4.31794, 4.03667, 3.63803, 3.13852", \
"4.85221, 4.84451, 4.76762, 4.62088, 4.32124, 3.94086, 3.44135", \
"5.21202, 5.19739, 5.12732, 4.98058, 4.69931, 4.30067, 3.80116" \
)
}
}
}
pin(GWEN) {
direction : input;
capacitance : 0.0443231;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ( \
"1.89068, 1.89959, 1.97164, 2.12795, 2.35257, 2.63549, 2.96472", \
"1.86956, 1.87946, 1.95074, 2.10045, 2.32694, 2.6224, 2.94294", \
"1.80169, 1.81951, 1.89387, 2.03401, 2.26182, 2.54804, 2.87375", \
"1.66012, 1.67783, 1.7512, 1.89728, 2.12179, 2.40141, 2.72272", \
"1.42659, 1.44474, 1.51778, 1.66452, 1.88859, 2.17393, 2.5003", \
"1.21139, 1.22117, 1.30334, 1.4432, 1.67299, 1.9613, 2.28338", \
"0.997249, 1.01554, 1.08994, 1.23476, 1.45981, 1.74449, 2.06976" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ( \
"2.41164, 2.42902, 2.51966, 2.68048, 2.97231, 3.38327, 3.88817", \
"2.39085, 2.409, 2.50008, 2.65947, 2.95141, 3.36237, 3.86518", \
"2.32276, 2.34102, 2.4321, 2.5916, 2.89267, 3.29439, 3.7972", \
"2.1813, 2.19956, 2.28899, 2.44992, 2.74175, 3.15271, 3.65761", \
"1.94821, 1.96636, 2.05733, 2.21683, 2.50866, 2.91962, 3.42441", \
"1.73261, 1.75087, 1.84041, 2.00134, 2.29977, 2.70402, 3.20881", \
"1.51877, 1.53703, 1.62679, 1.78761, 2.07944, 2.4904, 2.99321" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ( \
"2.72338, 2.70908, 2.6334, 2.48578, 2.28426, 2.0922, 1.88386", \
"2.70039, 2.68444, 2.60887, 2.47423, 2.2726, 2.06822, 1.86868", \
"2.65232, 2.63043, 2.55255, 2.4134, 2.21782, 2.02048, 1.81302", \
"2.69808, 2.67608, 2.59963, 2.46279, 2.26259, 2.06349, 1.86956", \
"2.82799, 2.80643, 2.73449, 2.60425, 2.39305, 2.19659, 1.99617", \
"3.0063, 2.99046, 2.91269, 2.76672, 2.57334, 2.37413, 2.17877", \
"3.19286, 3.17141, 3.10046, 2.95383, 2.75792, 2.56201, 2.36687" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ( \
"1.42791, 1.39304, 1.30709, 1.15325, 0.865568, 0.456819, 0", \
"1.40558, 1.38017, 1.28176, 1.1331, 0.842523, 0.433928, 0", \
"1.34805, 1.33133, 1.23393, 1.08277, 0.784245, 0.385671, 0", \
"1.39601, 1.37797, 1.28203, 1.1277, 0.840312, 0.431728, 0", \
"1.53285, 1.50821, 1.41031, 1.26184, 0.970585, 0.56177, 0.07876", \
"1.71116, 1.68652, 1.59038, 1.43594, 1.1421, 0.739915, 0.256738", \
"1.89882, 1.87264, 1.77749, 1.62371, 1.33551, 0.926838, 0.441815" \
)
}
}
}
bus(WEN) {
bus_type : Q_BUS;
direction : input;
capacitance : 0.00715847;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ( \
"0, 0, 0, 0, 0, 0, 0.105072", \
"0, 0, 0, 0, 0, 0, 0.12556", \
"0, 0, 0, 0, 0, 0, 0.179135", \
"0, 0, 0, 0, 0, 0, 0.124567", \
"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.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ( \
"0.557876, 0.585915, 0.675939, 0.825011, 1.11975, 1.52163, 2.00838", \
"0.584606, 0.605363, 0.705507, 0.849981, 1.14706, 1.54891, 2.03753", \
"0.641333, 0.652894, 0.752015, 0.898436, 1.20335, 1.59566, 2.0856", \
"0.588951, 0.604406, 0.701855, 0.851587, 1.1459, 1.54781, 2.03522", \
"0.455653, 0.475937, 0.575696, 0.719895, 1.01764, 1.41944, 1.90685", \
"0.279122, 0.299797, 0.397386, 0.546843, 0.84843, 1.24319, 1.73063", \
"0.087747, 0.112189, 0.20832, 0.35442, 0.652817, 1.0545, 1.5433" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ( \
"2.73229, 2.7115, 2.63516, 2.49282, 2.28877, 2.09627, 1.90047", \
"2.70919, 2.6884, 2.61206, 2.47423, 2.2726, 2.07317, 1.87737", \
"2.66145, 2.64055, 2.56421, 2.42176, 2.21782, 2.02521, 1.82952", \
"2.70699, 2.68631, 2.60997, 2.46752, 2.26347, 2.07097, 1.87528", \
"2.83712, 2.81644, 2.7401, 2.60425, 2.3936, 2.2011, 2.00541", \
"3.01532, 2.99442, 2.91808, 2.77563, 2.57334, 2.37908, 2.18339", \
"3.20243, 3.18153, 3.10519, 2.96274, 2.75869, 2.56619, 2.3705" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ( \
"1.43308, 1.39821, 1.31426, 1.15444, 0.866305, 0.462682, 0", \
"1.40998, 1.38556, 1.28638, 1.1331, 0.84315, 0.439571, 0", \
"1.35575, 1.33694, 1.23888, 1.08405, 0.784245, 0.3916, 0", \
"1.40162, 1.38303, 1.28919, 1.12921, 0.841005, 0.437415, 0", \
"1.53813, 1.51327, 1.41493, 1.26184, 0.971289, 0.567534, 0.080476", \
"1.71622, 1.69147, 1.59742, 1.43748, 1.1421, 0.745514, 0.258425", \
"1.90355, 1.87781, 1.78453, 1.62503, 1.33628, 0.932613, 0.443322" \
)
}
}
}
bus(A) {
bus_type : A_BUS;
direction : input;
capacitance : 0.0401807;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ( \
"2.16645, 2.17173, 2.16436, 2.30186, 2.56817, 2.99805, 3.50625", \
"2.18515, 2.19747, 2.18801, 2.33002, 2.59204, 3.02335, 3.54112", \
"2.23861, 2.23674, 2.2638, 2.3815, 2.63582, 3.08484, 3.59062", \
"2.18746, 2.18867, 2.18394, 2.32694, 2.58852, 3.01939, 3.56103", \
"2.06305, 2.05931, 2.06448, 2.1846, 2.47522, 2.88893, 3.43233", \
"1.88793, 1.89332, 1.87968, 2.03082, 2.28173, 2.73097, 3.24346", \
"1.70313, 1.69895, 1.7171, 1.84151, 2.10122, 2.53902, 3.05481" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ( \
"2.59149, 2.6224, 2.68257, 2.87254, 3.14578, 3.54255, 4.06098", \
"2.6202, 2.6532, 2.70479, 2.88288, 3.16382, 3.57203, 4.08529", \
"2.67421, 2.70006, 2.75825, 2.93304, 3.21321, 3.62406, 4.13853", \
"2.61756, 2.64528, 2.70732, 2.88486, 3.17218, 3.57885, 4.08199", \
"2.49359, 2.50371, 2.57862, 2.7577, 3.04106, 3.44773, 3.95725", \
"2.31693, 2.34267, 2.40427, 2.58687, 2.86055, 3.27844, 3.77971", \
"2.12355, 2.14764, 2.21331, 2.40746, 2.66783, 3.08297, 3.58303" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ( \
"1.32275, 1.3332, 1.31805, 1.17807, 0.929478, 0.576763, 0.22575", \
"1.34233, 1.35267, 1.34002, 1.19755, 0.93841, 0.596035, 0.218959", \
"1.41031, 1.42076, 1.40701, 1.26404, 1.01706, 0.66935, 0.302737", \
"1.55386, 1.56431, 1.55342, 1.40613, 1.14962, 0.808654, 0.420354", \
"1.78431, 1.79476, 1.78387, 1.65363, 1.38006, 1.0442, 0.646173", \
"2.08318, 2.09363, 2.08285, 1.93842, 1.68993, 1.34222, 0.975601", \
"2.39239, 2.40284, 2.3892, 2.24774, 1.99914, 1.65154, 1.28489" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ( \
"1.51822, 1.50282, 1.42395, 1.26724, 1.07639, 0.857384, 0.62612", \
"1.53725, 1.5224, 1.44342, 1.28676, 1.09588, 0.876909, 0.645634", \
"1.60534, 1.59038, 1.51151, 1.35476, 1.1639, 0.944966, 0.713658", \
"1.74977, 1.73393, 1.65506, 1.49831, 1.30746, 1.08848, 0.857208", \
"1.98011, 1.96438, 1.88551, 1.72887, 1.53791, 1.31892, 1.08766", \
"2.27909, 2.26325, 2.18438, 2.02774, 1.83678, 1.61788, 1.38655", \
"2.5883, 2.57257, 2.49359, 2.33695, 2.1461, 1.92709, 1.69587" \
)
}
}
}
bus(D) {
bus_type : Q_BUS;
memory_write() {
address : A;
clocked_on : "CLK";
}
direction : input;
capacitance : 0.0160497;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ( \
"1.74504, 1.75989, 1.83458, 1.94898, 2.0955, 2.15963, 2.27447", \
"1.76297, 1.78673, 1.86241, 1.98418, 2.11398, 2.22288, 2.32551", \
"1.82314, 1.83227, 1.9008, 2.03093, 2.16117, 2.24576, 2.37072", \
"1.75098, 1.78321, 1.85405, 1.98176, 2.11398, 2.21672, 2.30538", \
"1.63504, 1.65253, 1.73481, 1.85691, 1.98517, 2.06591, 2.18757", \
"1.46806, 1.47609, 1.55782, 1.68245, 1.81302, 1.89079, 2.01014", \
"1.27882, 1.28866, 1.36543, 1.49644, 1.6225, 1.70445, 1.80873" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ( \
"0, 0, 0, 0.15431, 0.426481, 0.814209, 1.2903", \
"0, 0, 0.003817, 0.180722, 0.453442, 0.841159, 1.31724", \
"0, 0, 0.052239, 0.229629, 0.501875, 0.889581, 1.36521", \
"0, 0, 0.001507, 0.178977, 0.45111, 0.838816, 1.3145", \
"0, 0, 0, 0.051788, 0.324046, 0.711755, 1.18743", \
"0, 0, 0, 0, 0.147943, 0.535634, 1.01134", \
"0, 0, 0, 0, 0, 0.347787, 0.823449" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ( \
"1.09014, 1.07287, 0.997447, 0.874225, 0.74085, 0.66737, 0.544643", \
"1.06439, 1.04773, 0.966372, 0.848078, 0.71962, 0.61215, 0.50556", \
"1.01709, 0.999394, 0.926585, 0.798556, 0.669493, 0.588423, 0.467071", \
"1.06433, 1.0472, 0.975755, 0.849728, 0.719499, 0.612678, 0.510576", \
"1.19369, 1.1806, 1.10341, 0.978417, 0.846142, 0.764885, 0.645821", \
"1.36939, 1.35894, 1.28109, 1.15515, 1.0222, 0.9691, 0.815188", \
"1.55804, 1.54517, 1.4696, 1.34024, 1.21071, 1.12959, 1.01046" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617");
values ( \
"2.23465, 2.23597, 2.16711, 1.99122, 1.71831, 1.3343, 0.86581", \
"2.20792, 2.21001, 2.14137, 1.96548, 1.69257, 1.30859, 0.84007", \
"2.1615, 2.16271, 2.09407, 1.91818, 1.64527, 1.26131, 0.792781", \
"2.21056, 2.21001, 2.14137, 1.96548, 1.69257, 1.30859, 0.840059", \
"2.33805, 2.33926, 2.27062, 2.09462, 1.82182, 1.43781, 0.969287", \
"2.51416, 2.51537, 2.44662, 2.27073, 1.99782, 1.61392, 1.14534", \
"2.7027, 2.70358, 2.63516, 2.45927, 2.18636, 1.80246, 1.33386" \
)
}
}
}
cell_leakage_power : 8.06994e-05;
}
}