blob: 6bde7b83b80b066eec2ba6c7d171a8ed9f8db723 [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__ff_125C_5v50) {
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 : 5.5;
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.394;
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.5);
voltage_map (VSS, 0.00);
operating_conditions(ff_5p5v_125C) {
process : 1;
temperature : 125;
voltage : 5.5;
tree_type : balanced_tree;
}
default_operating_conditions : ff_5p5v_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.115;
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.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.01, 0.02988, 0.09966, 0.2329, 0.4405, 0.7318, 1.115");
values ( \
"4.25688, 4.27596, 4.32936, 4.42164, 4.55508, 4.74156, 4.98696", \
"4.2606, 4.27476, 4.33188, 4.42536, 4.55796, 4.74132, 4.98792", \
"4.25664, 4.27452, 4.32852, 4.4208, 4.55484, 4.73904, 4.98912", \
"4.25664, 4.27188, 4.33116, 4.42116, 4.55808, 4.74156, 4.98636", \
"4.26192, 4.28172, 4.335, 4.42596, 4.56132, 4.74384, 4.99092", \
"4.26372, 4.28136, 4.33728, 4.43112, 4.5636, 4.74996, 4.9914", \
"4.25184, 4.27104, 4.31952, 4.4178, 4.55208, 4.73832, 4.983" \
)
}
rise_transition(q_slew_template) {
index_1 ("0.01, 0.02988, 0.09966, 0.2329, 0.4405, 0.7318, 1.115");
values ( \
"0.190164, 0.210852, 0.295932, 0.465636, 0.739332, 1.14366, 1.67028" \
)
}
cell_fall(q_delay_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.01, 0.02988, 0.09966, 0.2329, 0.4405, 0.7318, 1.115");
values ( \
"4.36992, 4.38852, 4.4436, 4.52976, 4.64592, 4.791, 4.97724", \
"4.37196, 4.3872, 4.446, 4.53408, 4.64784, 4.7916, 4.98168", \
"4.37004, 4.38768, 4.44504, 4.53156, 4.64664, 4.79184, 4.98192", \
"4.3698, 4.3854, 4.44744, 4.53228, 4.64532, 4.79484, 4.9788", \
"4.37352, 4.3932, 4.44948, 4.53636, 4.65204, 4.79532, 4.98444", \
"4.37556, 4.39476, 4.45176, 4.542, 4.65564, 4.80024, 4.98696", \
"4.36332, 4.3836, 4.43292, 4.52748, 4.6422, 4.7892, 4.97352" \
)
}
fall_transition(q_slew_template) {
index_1 ("0.01, 0.02988, 0.09966, 0.2329, 0.4405, 0.7318, 1.115");
values ( \
"0.18714, 0.208824, 0.274032, 0.388176, 0.556848, 0.798864, 1.11834" \
)
}
}
}
pin(CLK) {
direction : input;
capacitance : 0.285194;
clock : true;
max_transition : 1.394;
min_pulse_width_high : 2.082885;
min_pulse_width_low : 1.97373;
min_period : 5.66085;
/* 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.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ("1195.51, 1195.51, 1195.51, 1195.51, 1195.51, 1195.51, 1195.51");
}
fall_power(power_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ("1195.51, 1195.51, 1195.51, 1195.51, 1195.51, 1195.51, 1195.51");
}
}
/* DISABLED POWER */
internal_power() {
when : "CEN";
rise_power(power_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ("0.0186604, 0.0186604, 0.0186604, 0.0186604, 0.0186604, 0.0186604, 0.0186604");
}
fall_power(power_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ("0.0186604, 0.0186604, 0.0186604, 0.0186604, 0.0186604, 0.0186604, 0.0186604");
}
}
/* READ POWER */
internal_power() {
when : "!CEN & GWEN";
rise_power(power_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ("1079.29, 1079.29, 1079.29, 1079.29, 1079.29, 1079.29, 1079.29");
}
fall_power(power_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ("1079.29, 1079.29, 1079.29, 1079.29, 1079.29, 1079.29, 1079.29");
}
}
}
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.0173966;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.410993, 0.407715, 0.401665, 0.406296, 0.420167, 0.444961, 0.472648", \
"0.410938, 0.40755, 0.401588, 0.406164, 0.418935, 0.445126, 0.471119", \
"0.410696, 0.407462, 0.401302, 0.405922, 0.41976, 0.44055, 0.463045", \
"0.410399, 0.40711, 0.401148, 0.405724, 0.419562, 0.440264, 0.452012", \
"0.410586, 0.407011, 0.400763, 0.405438, 0.419298, 0.440011, 0.452771", \
"0.410388, 0.406945, 0.400543, 0.405801, 0.416735, 0.439945, 0.456159", \
"0.418836, 0.414788, 0.409079, 0.414953, 0.433147, 0.468017, 0.493042" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.3883, 0.38995, 0.398321, 0.419144, 0.463881, 0.519233, 0.579964", \
"0.388157, 0.390005, 0.397012, 0.418979, 0.462605, 0.519057, 0.579799", \
"0.387937, 0.389499, 0.397914, 0.418737, 0.464134, 0.518815, 0.579568", \
"0.387783, 0.389587, 0.396561, 0.418539, 0.463287, 0.518639, 0.57937", \
"0.387486, 0.389059, 0.396242, 0.418011, 0.463023, 0.518397, 0.579106", \
"0.387508, 0.389257, 0.39622, 0.418198, 0.461582, 0.518364, 0.579029", \
"0.387332, 0.388894, 0.395978, 0.417901, 0.463551, 0.518232, 0.578963" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"1.07676, 1.08005, 1.08609, 1.08147, 1.06759, 1.05034, 1.03412", \
"1.09018, 1.09357, 1.09953, 1.09495, 1.08218, 1.06031, 1.04764", \
"1.1036, 1.10682, 1.11299, 1.10837, 1.09453, 1.07373, 1.06208", \
"1.12146, 1.12475, 1.13071, 1.12614, 1.1123, 1.0916, 1.07985", \
"1.1563, 1.15988, 1.16613, 1.16146, 1.14759, 1.12687, 1.11412", \
"1.18546, 1.18889, 1.19529, 1.19004, 1.1791, 1.15589, 1.14314", \
"1.20551, 1.20915, 1.21484, 1.21018, 1.19882, 1.17564, 1.16288" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"1.09946, 1.0978, 1.08943, 1.06861, 1.02388, 0.968528, 0.907786", \
"1.11295, 1.11111, 1.1041, 1.08214, 1.03851, 0.982058, 0.921316", \
"1.12635, 1.12479, 1.11638, 1.09555, 1.05016, 0.995467, 0.934725", \
"1.14407, 1.14227, 1.1353, 1.11332, 1.06857, 1.01322, 0.95249", \
"1.17941, 1.17782, 1.17064, 1.14887, 1.10387, 1.0485, 0.987789", \
"1.20833, 1.20658, 1.19962, 1.17764, 1.13425, 1.07747, 1.01681", \
"1.22817, 1.22661, 1.21953, 1.1976, 1.15195, 1.09727, 1.03654" \
)
}
}
}
pin(GWEN) {
direction : input;
capacitance : 0.0490479;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.561946, 0.564762, 0.571208, 0.59323, 0.629728, 0.676214, 0.720346", \
"0.560923, 0.564256, 0.570592, 0.592526, 0.628936, 0.674872, 0.71962", \
"0.553916, 0.557271, 0.563508, 0.585541, 0.622061, 0.667909, 0.712107", \
"0.535975, 0.539297, 0.545831, 0.567754, 0.604164, 0.650606, 0.694342", \
"0.497937, 0.501292, 0.507342, 0.529551, 0.56606, 0.612579, 0.656667", \
"0.466697, 0.469095, 0.474958, 0.497387, 0.533863, 0.580382, 0.624448", \
"0.438339, 0.441474, 0.44792, 0.469942, 0.506418, 0.553025, 0.597047" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.588808, 0.591701, 0.607464, 0.640948, 0.701778, 0.778789, 0.878064", \
"0.588093, 0.590997, 0.605957, 0.640178, 0.698335, 0.778756, 0.876942", \
"0.581097, 0.584023, 0.599874, 0.633226, 0.694606, 0.771221, 0.870463", \
"0.563288, 0.566236, 0.581196, 0.615483, 0.676225, 0.753324, 0.852544", \
"0.525118, 0.528033, 0.542993, 0.577049, 0.638, 0.717673, 0.813989", \
"0.492888, 0.496023, 0.510796, 0.545479, 0.60643, 0.685531, 0.781792", \
"0.465498, 0.468424, 0.483384, 0.517462, 0.578699, 0.655501, 0.754369" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.80564, 0.802868, 0.797126, 0.778954, 0.756756, 0.739838, 0.734514", \
"0.805211, 0.80256, 0.796257, 0.778602, 0.756239, 0.740509, 0.734173", \
"0.804881, 0.802252, 0.796444, 0.778261, 0.756063, 0.740157, 0.730466", \
"0.803935, 0.800998, 0.79541, 0.777238, 0.754864, 0.737913, 0.729443", \
"0.810733, 0.808247, 0.802241, 0.784674, 0.762234, 0.745294, 0.73997", \
"0.812988, 0.810733, 0.804958, 0.786775, 0.764566, 0.74767, 0.742346", \
"0.79937, 0.796873, 0.790911, 0.773014, 0.75053, 0.733634, 0.72831" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.471669, 0.468468, 0.452562, 0.419419, 0.359865, 0.285043, 0.188921", \
"0.470393, 0.467643, 0.452628, 0.418682, 0.361911, 0.285263, 0.188533", \
"0.470844, 0.467324, 0.452001, 0.419254, 0.35816, 0.283679, 0.188036", \
"0.469458, 0.46629, 0.451572, 0.418, 0.357247, 0.283338, 0.18702", \
"0.476894, 0.473451, 0.458733, 0.424831, 0.365299, 0.287364, 0.194378", \
"0.479281, 0.47608, 0.460801, 0.427713, 0.36575, 0.289718, 0.196889", \
"0.523402, 0.51997, 0.504746, 0.470008, 0.405779, 0.328273, 0.235949" \
)
}
}
}
bus(WEN) {
bus_type : Q_BUS;
direction : input;
capacitance : 0.00767809;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
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.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.231818, 0.235098, 0.250515, 0.28402, 0.343222, 0.417934, 0.51458", \
"0.232108, 0.235358, 0.251066, 0.283745, 0.340769, 0.418077, 0.514239", \
"0.232777, 0.236368, 0.251946, 0.285109, 0.345708, 0.420255, 0.515141", \
"0.232709, 0.237417, 0.250876, 0.284944, 0.346313, 0.419188, 0.515471", \
"0.225831, 0.229859, 0.244874, 0.278751, 0.338327, 0.416416, 0.50853", \
"0.224528, 0.229145, 0.243056, 0.27577, 0.337788, 0.41415, 0.506154", \
"0.237122, 0.240798, 0.254608, 0.289586, 0.348931, 0.422895, 0.51887" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.80564, 0.80344, 0.797126, 0.778954, 0.756756, 0.739838, 0.734514", \
"0.805211, 0.803297, 0.796257, 0.778602, 0.756239, 0.740509, 0.734173", \
"0.804881, 0.802736, 0.796444, 0.778261, 0.756063, 0.740157, 0.73106", \
"0.803935, 0.801724, 0.79541, 0.777238, 0.754864, 0.737913, 0.730037", \
"0.810733, 0.808863, 0.802241, 0.784674, 0.762234, 0.745294, 0.73997", \
"0.812988, 0.810986, 0.804958, 0.786775, 0.764566, 0.74767, 0.742346", \
"0.79937, 0.797225, 0.790911, 0.773014, 0.75053, 0.733634, 0.72831" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.471669, 0.468468, 0.452562, 0.419419, 0.359865, 0.285043, 0.188921", \
"0.471339, 0.467643, 0.452628, 0.419727, 0.361911, 0.285263, 0.188533", \
"0.470844, 0.467324, 0.452001, 0.419254, 0.35816, 0.283679, 0.188036", \
"0.469535, 0.46629, 0.451572, 0.418, 0.357247, 0.283338, 0.18702", \
"0.477411, 0.473451, 0.458733, 0.425216, 0.365299, 0.287364, 0.194378", \
"0.479281, 0.47608, 0.460801, 0.427713, 0.36575, 0.289718, 0.196889", \
"0.464992, 0.461813, 0.447073, 0.413556, 0.353177, 0.278762, 0.18289" \
)
}
}
}
bus(A) {
bus_type : A_BUS;
direction : input;
capacitance : 0.0376076;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.474485, 0.471955, 0.467346, 0.471867, 0.496111, 0.525822, 0.554037", \
"0.475431, 0.473, 0.467687, 0.471405, 0.493449, 0.526471, 0.55286", \
"0.475552, 0.472428, 0.468072, 0.471361, 0.496408, 0.52822, 0.553003", \
"0.476157, 0.473583, 0.468369, 0.471823, 0.494351, 0.527483, 0.552101", \
"0.46948, 0.467115, 0.463804, 0.467632, 0.490457, 0.521543, 0.547965", \
"0.467665, 0.464596, 0.45991, 0.464662, 0.48587, 0.519398, 0.545688", \
"0.480029, 0.475541, 0.472241, 0.477587, 0.499081, 0.528484, 0.558855" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.606903, 0.609884, 0.620455, 0.640255, 0.685267, 0.75163, 0.830929", \
"0.607673, 0.609378, 0.620488, 0.640948, 0.686279, 0.751531, 0.82324", \
"0.609697, 0.610005, 0.620532, 0.64163, 0.685597, 0.753115, 0.827816", \
"0.610368, 0.610247, 0.619674, 0.641751, 0.686323, 0.753313, 0.83127", \
"0.603317, 0.604175, 0.614691, 0.635228, 0.680713, 0.746592, 0.82258", \
"0.600182, 0.602096, 0.612293, 0.633875, 0.678117, 0.743413, 0.821843", \
"0.61358, 0.614009, 0.625196, 0.645601, 0.689568, 0.756734, 0.834878" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.493559, 0.49654, 0.497992, 0.495308, 0.495242, 0.49522, 0.494362", \
"0.496419, 0.499466, 0.500918, 0.498234, 0.498168, 0.498146, 0.497288", \
"0.50424, 0.507287, 0.508739, 0.506055, 0.505989, 0.505967, 0.505109", \
"0.523435, 0.526482, 0.527945, 0.52525, 0.525195, 0.525173, 0.524304", \
"0.55132, 0.554378, 0.55583, 0.553146, 0.55308, 0.553058, 0.5522", \
"0.582076, 0.585266, 0.586575, 0.583891, 0.583825, 0.583803, 0.582945", \
"0.606111, 0.609092, 0.610544, 0.60786, 0.607794, 0.607772, 0.606914" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.50171, 0.500236, 0.490435, 0.477378, 0.475211, 0.481448, 0.488807", \
"0.504603, 0.503162, 0.493361, 0.480315, 0.478137, 0.484374, 0.491733", \
"0.512424, 0.510609, 0.501182, 0.488125, 0.485958, 0.492195, 0.499554", \
"0.531982, 0.529848, 0.520377, 0.507331, 0.505153, 0.511401, 0.518749", \
"0.559922, 0.558074, 0.548273, 0.535227, 0.533049, 0.539297, 0.546645", \
"0.590601, 0.588456, 0.579018, 0.565972, 0.563794, 0.570042, 0.57739", \
"0.614229, 0.612788, 0.602987, 0.589941, 0.587763, 0.594011, 0.601359" \
)
}
}
}
bus(D) {
bus_type : Q_BUS;
memory_write() {
address : A;
clocked_on : "CLK";
}
direction : input;
capacitance : 0.0157294;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.402809, 0.405207, 0.410993, 0.417021, 0.406703, 0.381491, 0.339603", \
"0.400488, 0.405724, 0.410982, 0.416119, 0.40524, 0.384219, 0.342067", \
"0.402248, 0.405306, 0.413193, 0.415855, 0.407649, 0.385044, 0.341979", \
"0.403282, 0.405031, 0.413633, 0.417626, 0.408045, 0.385572, 0.341055", \
"0.397628, 0.399311, 0.406637, 0.410388, 0.402017, 0.377718, 0.333916", \
"0.395263, 0.398255, 0.404415, 0.408738, 0.398915, 0.375826, 0.332354", \
"0.408276, 0.40744, 0.417538, 0.420871, 0.411356, 0.390478, 0.343893" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.0931337, 0.0952138, 0.111448, 0.156911, 0.230205, 0.327987, 0.452155", \
"0.0935143, 0.0943492, 0.111492, 0.156823, 0.230259, 0.327778, 0.451979", \
"0.0943448, 0.0942513, 0.111772, 0.157289, 0.230295, 0.328515, 0.452925", \
"0.0944427, 0.0940214, 0.111805, 0.157447, 0.231331, 0.328592, 0.453002", \
"0.0885544, 0.0886127, 0.105997, 0.151376, 0.223247, 0.322685, 0.447128", \
"0.0854865, 0.0855965, 0.1037, 0.149174, 0.220792, 0.319979, 0.444114", \
"0.0985138, 0.0991507, 0.115847, 0.161096, 0.2331, 0.332442, 0.456918" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.479853, 0.47828, 0.471009, 0.465377, 0.476014, 0.500643, 0.54362", \
"0.479523, 0.477939, 0.47091, 0.46486, 0.475728, 0.499301, 0.541024", \
"0.479193, 0.477477, 0.47003, 0.464376, 0.474507, 0.497684, 0.541915", \
"0.478104, 0.476278, 0.470129, 0.464079, 0.474738, 0.498069, 0.541585", \
"0.485056, 0.481921, 0.476322, 0.471581, 0.480282, 0.504669, 0.54879", \
"0.487025, 0.484671, 0.478467, 0.474485, 0.483527, 0.506044, 0.54802", \
"0.474452, 0.47443, 0.466147, 0.462055, 0.471592, 0.493856, 0.539319" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.644633, 0.643159, 0.627099, 0.581251, 0.507738, 0.410344, 0.287903", \
"0.643951, 0.643478, 0.626582, 0.580723, 0.507221, 0.409827, 0.2882", \
"0.643368, 0.643016, 0.62612, 0.580272, 0.507342, 0.409365, 0.287254", \
"0.642796, 0.642653, 0.625801, 0.579953, 0.506451, 0.409046, 0.286605", \
"0.649011, 0.648791, 0.631895, 0.586047, 0.513161, 0.41514, 0.292699", \
"0.652355, 0.651365, 0.634513, 0.588665, 0.515163, 0.417758, 0.295328", \
"0.639463, 0.63954, 0.622369, 0.576521, 0.503437, 0.405614, 0.283173" \
)
}
}
}
cell_leakage_power : 0.0186604;
}
}