blob: b32a9494ad6ca8f1f56dfe3fd0215023189d29a3 [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_3v60) {
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.6;
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 : 2.3877;
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.6);
voltage_map (VSS, 0.00);
operating_conditions(ff_3p6v_125C) {
process : 1;
temperature : 125;
voltage : 3.6;
tree_type : balanced_tree;
}
default_operating_conditions : ff_3p6v_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.0626;
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.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
index_2 ("0.0100, 0.0289, 0.0954, 0.2223, 0.4200, 0.6975, 1.0626");
values ( \
"6.03336, 6.05436, 6.12804, 6.25392, 6.43464, 6.68568, 7.01232", \
"6.03084, 6.05988, 6.12948, 6.255, 6.43692, 6.69072, 7.01724", \
"6.03624, 6.06216, 6.13308, 6.2556, 6.44232, 6.687, 7.01916", \
"6.04308, 6.06732, 6.138, 6.26268, 6.44544, 6.6948, 7.02852", \
"6.0564, 6.0762, 6.1494, 6.27564, 6.45864, 6.70668, 7.03692", \
"6.05436, 6.07824, 6.15, 6.27684, 6.45612, 6.70488, 7.03656", \
"6.01764, 6.04104, 6.10968, 6.24096, 6.42456, 6.67248, 7.00176" \
)
}
rise_transition(q_slew_template) {
index_1 ("0.0100, 0.0289, 0.0954, 0.2223, 0.4200, 0.6975, 1.0626");
values ( \
"0.2343, 0.269424, 0.385656, 0.613536, 0.983832, 1.51944, 2.2176" \
)
}
cell_fall(q_delay_template) {
index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
index_2 ("0.0100, 0.0289, 0.0954, 0.2223, 0.4200, 0.6975, 1.0626");
values ( \
"6.21456, 6.2388, 6.312, 6.42252, 6.56184, 6.73584, 6.9516", \
"6.21552, 6.24252, 6.31464, 6.42132, 6.56268, 6.7428, 6.95628", \
"6.22164, 6.24816, 6.31692, 6.42564, 6.56784, 6.74016, 6.95904", \
"6.23232, 6.25464, 6.32172, 6.43152, 6.57348, 6.75144, 6.96804", \
"6.24192, 6.26748, 6.33504, 6.44544, 6.58632, 6.75852, 6.975", \
"6.23988, 6.26412, 6.33528, 6.44412, 6.58368, 6.75612, 6.97296", \
"6.20484, 6.2292, 6.297, 6.40812, 6.54852, 6.7236, 6.93996" \
)
}
fall_transition(q_slew_template) {
index_1 ("0.0100, 0.0289, 0.0954, 0.2223, 0.4200, 0.6975, 1.0626");
values ( \
"0.23952, 0.267108, 0.344472, 0.47766, 0.677052, 0.955752, 1.32456" \
)
}
}
}
pin(CLK) {
direction : input;
capacitance : 0.282001;
clock : true;
max_transition : 2.3877;
min_pulse_width_high : 3.243825;
min_pulse_width_low : 3.778215;
min_period : 7.959375;
/* 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.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
values ("520.218, 520.218, 520.218, 520.218, 520.218, 520.218, 520.218");
}
fall_power(power_template) {
index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
values ("520.218, 520.218, 520.218, 520.218, 520.218, 520.218, 520.218");
}
}
/* DISABLED POWER */
internal_power() {
when : "CEN";
rise_power(power_template) {
index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
values ("0.0121248, 0.0121248, 0.0121248, 0.0121248, 0.0121248, 0.0121248, 0.0121248");
}
fall_power(power_template) {
index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
values ("0.0121248, 0.0121248, 0.0121248, 0.0121248, 0.0121248, 0.0121248, 0.0121248");
}
}
/* READ POWER */
internal_power() {
when : "!CEN & GWEN";
rise_power(power_template) {
index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
values ("468.576, 468.576, 468.576, 468.576, 468.576, 468.576, 468.576");
}
fall_power(power_template) {
index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
values ("468.576, 468.576, 468.576, 468.576, 468.576, 468.576, 468.576");
}
}
}
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.0174749;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
index_2 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
values ( \
"0.538824, 0.532521, 0.527912, 0.549846, 0.59521, 0.629508, 0.654291", \
"0.532642, 0.524095, 0.520311, 0.543411, 0.587081, 0.622567, 0.647647", \
"0.523512, 0.516703, 0.511863, 0.530915, 0.568051, 0.602338, 0.627132", \
"0.522841, 0.51645, 0.511555, 0.530607, 0.559449, 0.572572, 0.597256", \
"0.523039, 0.516186, 0.511335, 0.530387, 0.559229, 0.572341, 0.590711", \
"0.523006, 0.516142, 0.511291, 0.530343, 0.560131, 0.594429, 0.619212", \
"0.571846, 0.563673, 0.560692, 0.582967, 0.628001, 0.662288, 0.687071" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
index_2 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
values ( \
"0.496969, 0.502062, 0.523622, 0.575498, 0.660825, 0.766073, 0.878438", \
"0.496584, 0.501842, 0.522643, 0.575322, 0.66418, 0.763169, 0.878273", \
"0.496265, 0.501578, 0.522324, 0.574871, 0.663861, 0.765589, 0.877954", \
"0.495968, 0.501006, 0.522027, 0.574695, 0.663553, 0.765281, 0.877646", \
"0.495748, 0.50105, 0.521807, 0.574475, 0.663322, 0.765061, 0.877426", \
"0.495704, 0.500973, 0.521763, 0.57442, 0.663289, 0.765006, 0.877371", \
"0.503932, 0.50919, 0.530123, 0.580085, 0.66957, 0.771628, 0.885533" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
index_2 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
values ( \
"1.47653, 1.48291, 1.48775, 1.46905, 1.4399, 1.42681, 1.42087", \
"1.4839, 1.4927, 1.49589, 1.47653, 1.44914, 1.43484, 1.42857", \
"1.5026, 1.50942, 1.51426, 1.49523, 1.4663, 1.45321, 1.44738", \
"1.54957, 1.55595, 1.5609, 1.54187, 1.51305, 1.49985, 1.49402", \
"1.60886, 1.61568, 1.62052, 1.60149, 1.57267, 1.55958, 1.55364", \
"1.65198, 1.6588, 1.66364, 1.64461, 1.61579, 1.6027, 1.59676", \
"1.68674, 1.69323, 1.69807, 1.67904, 1.65022, 1.63702, 1.63119" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
index_2 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
values ( \
"1.50315, 1.49809, 1.47653, 1.42461, 1.33925, 1.23405, 1.12168", \
"1.51107, 1.5059, 1.485, 1.43242, 1.34354, 1.24453, 1.12943", \
"1.52988, 1.52449, 1.50381, 1.45123, 1.36224, 1.26052, 1.14816", \
"1.57652, 1.57146, 1.55045, 1.49776, 1.40888, 1.30713, 1.1948", \
"1.63614, 1.63086, 1.61007, 1.55738, 1.4685, 1.36686, 1.25444", \
"1.67926, 1.67398, 1.65319, 1.6005, 1.51173, 1.40998, 1.29756", \
"1.71369, 1.70863, 1.6874, 1.63493, 1.54605, 1.44441, 1.33199" \
)
}
}
}
pin(GWEN) {
direction : input;
capacitance : 0.0480845;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
index_2 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
values ( \
"0.741972, 0.744843, 0.765171, 0.807532, 0.873422, 0.941369, 0.991045", \
"0.736439, 0.739013, 0.76021, 0.802571, 0.868461, 0.936408, 0.9867", \
"0.720698, 0.723646, 0.743974, 0.786335, 0.852214, 0.920172, 0.970464", \
"0.67463, 0.67804, 0.698357, 0.740718, 0.806608, 0.874555, 0.924858", \
"0.627858, 0.630652, 0.650265, 0.694199, 0.759385, 0.827321, 0.877624", \
"0.600556, 0.603339, 0.624283, 0.666831, 0.732534, 0.800481, 0.850773", \
"0.569811, 0.571813, 0.593582, 0.635943, 0.701833, 0.76978, 0.820072" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
index_2 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
values ( \
"0.812075, 0.815617, 0.848661, 0.913792, 1.01968, 1.15995, 1.31593", \
"0.806751, 0.811173, 0.8437, 0.90893, 1.01472, 1.15059, 1.31098", \
"0.790504, 0.794409, 0.827453, 0.892584, 0.99847, 1.13874, 1.2947", \
"0.745074, 0.749309, 0.781847, 0.846978, 0.952864, 1.09314, 1.24909", \
"0.697664, 0.701569, 0.734613, 0.799843, 0.905619, 1.0459, 1.20187", \
"0.671187, 0.675125, 0.707762, 0.772992, 0.878779, 1.01905, 1.17502", \
"0.640486, 0.644534, 0.677072, 0.740201, 0.848089, 0.988394, 1.14431" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
index_2 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
values ( \
"1.06095, 1.05669, 1.0379, 0.99935, 0.966713, 0.951918, 0.959068", \
"1.06227, 1.0584, 1.04038, 1.0018, 0.969166, 0.954393, 0.961521", \
"1.06659, 1.06341, 1.04463, 1.00607, 0.973434, 0.958628, 0.965789", \
"1.07306, 1.0689, 1.05004, 1.01146, 0.978824, 0.964029, 0.971179", \
"1.08288, 1.07986, 1.06099, 1.02243, 0.989791, 0.974985, 0.982146", \
"1.07975, 1.07663, 1.05786, 1.01951, 0.986656, 0.97185, 0.979011", \
"1.0529, 1.05074, 1.03096, 0.992387, 0.959453, 0.944955, 0.952116" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
index_2 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
values ( \
"0.599599, 0.592119, 0.562254, 0.500753, 0.393206, 0.257587, 0.0996446", \
"0.601755, 0.594836, 0.565059, 0.503041, 0.395164, 0.26871, 0.102099", \
"0.605407, 0.598961, 0.568909, 0.507254, 0.399938, 0.264304, 0.106302", \
"0.611655, 0.604483, 0.574002, 0.512424, 0.405328, 0.269695, 0.111699", \
"0.621962, 0.615318, 0.585321, 0.523655, 0.416284, 0.28065, 0.123403", \
"0.619333, 0.612095, 0.582131, 0.520542, 0.41316, 0.277526, 0.119597", \
"0.659549, 0.653961, 0.6237, 0.558041, 0.445423, 0.309958, 0.160219" \
)
}
}
}
bus(WEN) {
bus_type : Q_BUS;
direction : input;
capacitance : 0.0075492;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
index_2 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
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.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
index_2 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
values ( \
"0.2966, 0.303875, 0.333432, 0.39655, 0.503536, 0.639089, 0.798314", \
"0.294484, 0.299961, 0.331276, 0.39457, 0.50138, 0.62887, 0.796158", \
"0.291474, 0.297813, 0.327448, 0.388784, 0.496936, 0.633149, 0.791428", \
"0.284802, 0.291969, 0.322366, 0.384164, 0.492382, 0.627935, 0.786214", \
"0.274594, 0.281793, 0.311113, 0.374264, 0.481228, 0.61677, 0.775687", \
"0.275909, 0.282315, 0.312081, 0.374825, 0.482592, 0.618145, 0.777337", \
"0.304106, 0.310431, 0.340736, 0.405889, 0.51084, 0.646217, 0.805288" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
index_2 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
values ( \
"1.06095, 1.05669, 1.03845, 0.99935, 0.96723, 0.951918, 0.959068", \
"1.06227, 1.0584, 1.04094, 1.0018, 0.969716, 0.954393, 0.961521", \
"1.06659, 1.06341, 1.0452, 1.00607, 0.973962, 0.958628, 0.965789", \
"1.07306, 1.0689, 1.0506, 1.01146, 0.979352, 0.964029, 0.971179", \
"1.08288, 1.07986, 1.06157, 1.02243, 0.99033, 0.974985, 0.982146", \
"1.07975, 1.07663, 1.05842, 1.01951, 0.987173, 0.97185, 0.979011", \
"1.0529, 1.05074, 1.03155, 0.992387, 0.9603, 0.944955, 0.952116" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
index_2 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
values ( \
"0.599599, 0.592119, 0.562254, 0.500753, 0.393206, 0.257587, 0.0996446", \
"0.601755, 0.594836, 0.565059, 0.503041, 0.395164, 0.26871, 0.102099", \
"0.605407, 0.598961, 0.568909, 0.507254, 0.399938, 0.264304, 0.106302", \
"0.611655, 0.604483, 0.574002, 0.512424, 0.405328, 0.269695, 0.111699", \
"0.621962, 0.615318, 0.585321, 0.523655, 0.416284, 0.28065, 0.123403", \
"0.619333, 0.612095, 0.582131, 0.520542, 0.41316, 0.277526, 0.119597", \
"0.592405, 0.585266, 0.555192, 0.49137, 0.386298, 0.250966, 0.0933691" \
)
}
}
}
bus(A) {
bus_type : A_BUS;
direction : input;
capacitance : 0.0377615;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
index_2 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
values ( \
"0.786896, 0.784553, 0.779867, 0.806575, 0.862807, 0.882893, 0.912362", \
"0.782474, 0.782012, 0.780978, 0.802868, 0.857186, 0.881232, 0.910151", \
"0.77814, 0.777645, 0.773641, 0.79794, 0.854073, 0.875787, 0.907093", \
"0.772145, 0.772618, 0.767008, 0.790592, 0.846142, 0.871189, 0.900658", \
"0.762498, 0.759451, 0.760056, 0.780109, 0.841258, 0.86218, 0.893849", \
"0.764885, 0.763664, 0.7601, 0.784872, 0.840972, 0.86416, 0.893398", \
"0.793331, 0.791153, 0.787721, 0.811866, 0.866778, 0.890164, 0.920513" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
index_2 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
values ( \
"1.11452, 1.11882, 1.14443, 1.18623, 1.28456, 1.3992, 1.53736", \
"1.11191, 1.11588, 1.13983, 1.18548, 1.28228, 1.39997, 1.53461", \
"1.10785, 1.11334, 1.13885, 1.18089, 1.27802, 1.39095, 1.52966", \
"1.10401, 1.10615, 1.1316, 1.17692, 1.27178, 1.38523, 1.52394", \
"1.09431, 1.09837, 1.12082, 1.16479, 1.26268, 1.37665, 1.51393", \
"1.09359, 1.09793, 1.12191, 1.16996, 1.26437, 1.38039, 1.51657", \
"1.12303, 1.12893, 1.15008, 1.19512, 1.2928, 1.40965, 1.54396" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
index_2 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
values ( \
"0.617331, 0.62194, 0.618354, 0.60764, 0.594132, 0.60071, 0.597619", \
"0.625229, 0.629277, 0.623359, 0.614966, 0.601469, 0.608025, 0.604956", \
"0.643005, 0.647053, 0.643467, 0.632753, 0.619245, 0.625823, 0.622743", \
"0.679437, 0.683474, 0.679888, 0.669174, 0.655666, 0.662244, 0.659164", \
"0.738936, 0.742973, 0.737066, 0.728673, 0.715165, 0.721743, 0.718663", \
"0.777282, 0.78133, 0.778327, 0.76703, 0.753522, 0.7601, 0.757009", \
"0.801372, 0.80608, 0.802494, 0.79178, 0.778272, 0.78485, 0.78177" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
index_2 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
values ( \
"0.639672, 0.634667, 0.610588, 0.587895, 0.577698, 0.580415, 0.587686", \
"0.646822, 0.642048, 0.617914, 0.595232, 0.585035, 0.587609, 0.595023", \
"0.664818, 0.659659, 0.63569, 0.613008, 0.602844, 0.605528, 0.612799", \
"0.700953, 0.696212, 0.672111, 0.649429, 0.639243, 0.641949, 0.64922", \
"0.760694, 0.755612, 0.731621, 0.708939, 0.698742, 0.701316, 0.708719", \
"0.799084, 0.794101, 0.77, 0.747263, 0.73711, 0.739794, 0.747076", \
"0.82346, 0.818532, 0.794717, 0.772046, 0.761871, 0.764412, 0.771826" \
)
}
}
}
bus(D) {
bus_type : Q_BUS;
memory_write() {
address : A;
clocked_on : "CLK";
}
direction : input;
capacitance : 0.0156578;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
index_2 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
values ( \
"0.539121, 0.54054, 0.560637, 0.567479, 0.549967, 0.50633, 0.42691", \
"0.534897, 0.542685, 0.555621, 0.565114, 0.549714, 0.501149, 0.423896", \
"0.533335, 0.535007, 0.554455, 0.560945, 0.543224, 0.496991, 0.41822", \
"0.527791, 0.530937, 0.547327, 0.553762, 0.537295, 0.491986, 0.411147", \
"0.518859, 0.522621, 0.539627, 0.545083, 0.527703, 0.481998, 0.402358", \
"0.521939, 0.522126, 0.539242, 0.54296, 0.52921, 0.485045, 0.405438", \
"0.545479, 0.550539, 0.566797, 0.576048, 0.556567, 0.514624, 0.433763" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
index_2 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
values ( \
"0.104448, 0.101325, 0.134469, 0.212905, 0.335269, 0.494043, 0.69256", \
"0.101356, 0.100297, 0.131348, 0.209773, 0.332387, 0.490699, 0.689425", \
"0.0958727, 0.0946077, 0.127783, 0.206626, 0.328581, 0.487355, 0.685872", \
"0.0903529, 0.0896456, 0.12074, 0.198995, 0.32153, 0.480315, 0.678832", \
"0.082115, 0.079046, 0.112201, 0.190635, 0.312994, 0.471779, 0.670296", \
"0.0860805, 0.082918, 0.113946, 0.192361, 0.314743, 0.473517, 0.672045", \
"0.112071, 0.110342, 0.141384, 0.218508, 0.341924, 0.500962, 0.699468" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
index_2 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
values ( \
"0.576004, 0.573826, 0.553608, 0.550341, 0.567204, 0.610093, 0.688138", \
"0.583154, 0.572616, 0.557953, 0.554664, 0.570746, 0.607981, 0.692813", \
"0.58586, 0.580426, 0.561099, 0.55803, 0.573584, 0.617826, 0.695838", \
"0.591437, 0.588984, 0.56749, 0.564421, 0.579975, 0.624173, 0.702229", \
"0.601601, 0.596178, 0.57893, 0.573848, 0.589402, 0.633644, 0.711656", \
"0.595353, 0.593945, 0.574552, 0.571219, 0.587037, 0.631235, 0.709214", \
"0.567347, 0.565422, 0.546678, 0.543609, 0.560472, 0.603361, 0.681406" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
index_2 ("0.0200, 0.0626, 0.2121, 0.4976, 0.9426, 1.5664, 2.3877");
values ( \
"0.832293, 0.832403, 0.801922, 0.723228, 0.600919, 0.442915, 0.246573", \
"0.836836, 0.83699, 0.806487, 0.727793, 0.605484, 0.447491, 0.251142", \
"0.840004, 0.840114, 0.809611, 0.730917, 0.608608, 0.450615, 0.254277", \
"0.847572, 0.846549, 0.816002, 0.737319, 0.61501, 0.457006, 0.26067", \
"0.855756, 0.85591, 0.825429, 0.746735, 0.624437, 0.466433, 0.270082", \
"0.853435, 0.853556, 0.823064, 0.74437, 0.622061, 0.464068, 0.267717", \
"0.824824, 0.825671, 0.795179, 0.716496, 0.594187, 0.436183, 0.239851" \
)
}
}
}
cell_leakage_power : 0.0121248;
}
}