blob: 62f95d533277db3bdd48cb9e58fb460dd9a7a453 [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_4v50) {
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 : 4.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 : 2.775;
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, 4.5);
voltage_map (VSS, 0.00);
operating_conditions(ss_4p5v_125C) {
process : 1;
temperature : 125;
voltage : 4.5;
tree_type : balanced_tree;
}
default_operating_conditions : ss_4p5v_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.202;
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.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.01, 0.03143, 0.1067, 0.2504, 0.4742, 0.7883, 1.202");
values ( \
"8.2512, 8.28912, 8.39772, 8.5722, 8.82192, 9.20364, 9.666", \
"8.2308, 8.26308, 8.38308, 8.55792, 8.8374, 9.18144, 9.65412", \
"8.2464, 8.28336, 8.39004, 8.57664, 8.83896, 9.201, 9.67884", \
"8.26764, 8.29884, 8.41308, 8.59128, 8.85708, 9.22008, 9.69972", \
"8.28732, 8.32608, 8.43672, 8.61036, 8.88204, 9.24192, 9.7182", \
"8.31336, 8.3532, 8.454, 8.63448, 8.91144, 9.26856, 9.74676", \
"8.30628, 8.34672, 8.45172, 8.63604, 8.8968, 9.26124, 9.73656" \
)
}
rise_transition(q_slew_template) {
index_1 ("0.01, 0.03143, 0.1067, 0.2504, 0.4742, 0.7883, 1.202");
values ( \
"0.296544, 0.347652, 0.533436, 0.855828, 1.37556, 2.13348, 3.12096" \
)
}
cell_fall(q_delay_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.01, 0.03143, 0.1067, 0.2504, 0.4742, 0.7883, 1.202");
values ( \
"8.51316, 8.55648, 8.65656, 8.8176, 9.01332, 9.29268, 9.61932", \
"8.49828, 8.529, 8.64636, 8.8008, 9.0318, 9.27444, 9.60924", \
"8.51148, 8.54952, 8.65344, 8.81844, 9.02964, 9.28872, 9.63192", \
"8.53416, 8.57004, 8.67468, 8.83488, 9.04932, 9.3186, 9.65052", \
"8.55696, 8.59152, 8.70024, 8.85132, 9.0726, 9.33492, 9.66996", \
"8.57856, 8.62164, 8.71824, 8.883, 9.10188, 9.35988, 9.69864", \
"8.57268, 8.61072, 8.71428, 8.87712, 9.08652, 9.351, 9.68448" \
)
}
fall_transition(q_slew_template) {
index_1 ("0.01, 0.03143, 0.1067, 0.2504, 0.4742, 0.7883, 1.202");
values ( \
"0.306972, 0.342, 0.467496, 0.667236, 0.976536, 1.4064, 1.95924" \
)
}
}
}
pin(CLK) {
direction : input;
capacitance : 0.319115;
clock : true;
max_transition : 2.775;
min_pulse_width_high : 5.400885;
min_pulse_width_low : 4.969275;
min_period : 10.999965;
/* 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.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ("761.49, 761.49, 761.49, 761.49, 761.49, 761.49, 761.49");
}
fall_power(power_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ("761.49, 761.49, 761.49, 761.49, 761.49, 761.49, 761.49");
}
}
/* DISABLED POWER */
internal_power() {
when : "CEN";
rise_power(power_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ("0.000344655, 0.000344655, 0.000344655, 0.000344655, 0.000344655, 0.000344655, 0.000344655");
}
fall_power(power_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ("0.000344655, 0.000344655, 0.000344655, 0.000344655, 0.000344655, 0.000344655, 0.000344655");
}
}
/* READ POWER */
internal_power() {
when : "!CEN & GWEN";
rise_power(power_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ("693.63, 693.63, 693.63, 693.63, 693.63, 693.63, 693.63");
}
fall_power(power_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ("693.63, 693.63, 693.63, 693.63, 693.63, 693.63, 693.63");
}
}
}
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.0198929;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ( \
"0.661606, 0.657778, 0.648373, 0.670637, 0.739849, 0.807807, 0.863643", \
"0.653752, 0.650628, 0.641784, 0.662849, 0.7315, 0.808907, 0.84821", \
"0.646206, 0.641905, 0.632841, 0.65263, 0.7095, 0.775302, 0.823306", \
"0.64515, 0.641652, 0.63228, 0.652685, 0.708708, 0.747263, 0.790218", \
"0.645183, 0.640607, 0.631917, 0.651024, 0.707806, 0.744656, 0.773267", \
"0.645612, 0.640398, 0.629981, 0.650375, 0.706629, 0.746273, 0.772629", \
"0.643467, 0.63943, 0.630388, 0.649759, 0.70642, 0.745382, 0.784949" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ( \
"0.586861, 0.592042, 0.615956, 0.674949, 0.778448, 0.908446, 1.04002", \
"0.583022, 0.587829, 0.613118, 0.67166, 0.778162, 0.902253, 1.03293", \
"0.580272, 0.58509, 0.610467, 0.66902, 0.775522, 0.901494, 1.03659", \
"0.579249, 0.584485, 0.609455, 0.668019, 0.770803, 0.900482, 1.0293", \
"0.578677, 0.58377, 0.608872, 0.666721, 0.77022, 0.90024, 1.03498", \
"0.578127, 0.582835, 0.608212, 0.666765, 0.769582, 0.899437, 1.02827", \
"0.577379, 0.58223, 0.607563, 0.665401, 0.77264, 0.898623, 1.03369" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ( \
"1.85273, 1.85724, 1.86582, 1.84646, 1.78959, 1.75065, 1.72425", \
"1.86868, 1.87242, 1.88155, 1.86219, 1.80532, 1.75758, 1.73426", \
"1.89596, 1.90025, 1.90927, 1.88947, 1.8326, 1.78794, 1.76154", \
"1.9481, 1.95162, 1.96097, 1.94051, 1.88452, 1.84602, 1.80477", \
"2.0328, 2.03731, 2.046, 2.02697, 1.9701, 1.93325, 1.90465", \
"2.11508, 2.12036, 2.1307, 2.11035, 2.05414, 2.01443, 1.98814", \
"2.17052, 2.17459, 2.18361, 2.16425, 2.1076, 2.06866, 2.02906" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ( \
"1.91884, 1.91367, 1.88969, 1.83073, 1.72722, 1.5972, 1.46564", \
"1.93446, 1.92962, 1.90432, 1.8458, 1.73932, 1.61524, 1.48456", \
"1.96185, 1.95701, 1.93171, 1.87308, 1.7666, 1.64065, 1.50557", \
"2.01399, 2.00871, 1.98374, 1.92522, 1.82237, 1.69279, 1.56387", \
"2.09924, 2.09418, 2.0691, 2.01124, 1.90773, 1.77771, 1.64296", \
"2.18262, 2.17789, 2.15248, 2.09396, 1.99111, 1.86131, 1.7325", \
"2.23663, 2.23179, 2.20649, 2.14863, 2.04138, 1.91543, 1.78035" \
)
}
}
}
pin(GWEN) {
direction : input;
capacitance : 0.0513454;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ( \
"0.935836, 0.941512, 0.965943, 1.0207, 1.10688, 1.21391, 1.31417", \
"0.929599, 0.935297, 0.958298, 1.01462, 1.10088, 1.20786, 1.30746", \
"0.906015, 0.912516, 0.935935, 0.991012, 1.07719, 1.18403, 1.28392", \
"0.852896, 0.859166, 0.884499, 0.938498, 1.02474, 1.12905, 1.23256", \
"0.768999, 0.775027, 0.797709, 0.854128, 0.940258, 1.04476, 1.14747", \
"0.692659, 0.698819, 0.723624, 0.778074, 0.863236, 0.970992, 1.07158", \
"0.633809, 0.639507, 0.662497, 0.718784, 0.804958, 0.90937, 1.00672" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ( \
"1.01431, 1.02377, 1.05795, 1.13497, 1.26015, 1.42384, 1.61645", \
"1.00823, 1.01774, 1.05185, 1.12804, 1.25362, 1.41757, 1.6093", \
"0.98472, 0.994301, 1.02828, 1.10415, 1.23002, 1.39458, 1.58543", \
"0.932063, 0.941039, 0.975733, 1.05162, 1.17791, 1.34145, 1.53318", \
"0.847748, 0.85668, 0.891341, 0.968055, 1.09291, 1.25717, 1.44925", \
"0.771496, 0.780329, 0.814561, 0.891539, 1.01612, 1.18503, 1.37478", \
"0.712382, 0.722007, 0.756052, 0.831787, 0.957682, 1.12186, 1.31318" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ( \
"1.39359, 1.3871, 1.36367, 1.31307, 1.24977, 1.19712, 1.16434", \
"1.39634, 1.38985, 1.36708, 1.31582, 1.25288, 1.20093, 1.16719", \
"1.40063, 1.39392, 1.37049, 1.32011, 1.25719, 1.20402, 1.17157", \
"1.4124, 1.40591, 1.38237, 1.33265, 1.26896, 1.22015, 1.18197", \
"1.43726, 1.4311, 1.40767, 1.35784, 1.29481, 1.2453, 1.20836", \
"1.45002, 1.44331, 1.41966, 1.36928, 1.30812, 1.2532, 1.22055", \
"1.44276, 1.4366, 1.41372, 1.36257, 1.29921, 1.25076, 1.22118" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ( \
"0.711986, 0.703538, 0.667326, 0.590711, 0.466411, 0.311476, 0.123918", \
"0.714329, 0.705012, 0.670142, 0.593439, 0.470041, 0.312774, 0.127466", \
"0.71929, 0.709203, 0.675664, 0.596959, 0.474287, 0.317977, 0.135903", \
"0.730675, 0.722183, 0.686994, 0.6116, 0.485386, 0.33165, 0.143455", \
"0.754963, 0.746097, 0.71148, 0.635767, 0.511357, 0.35552, 0.168215", \
"0.816299, 0.805387, 0.771309, 0.695816, 0.56507, 0.403029, 0.223945", \
"0.912087, 0.901252, 0.867053, 0.791626, 0.66154, 0.502183, 0.319858" \
)
}
}
}
bus(WEN) {
bus_type : Q_BUS;
direction : input;
capacitance : 0.00826446;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
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.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ( \
"0.332585, 0.33979, 0.374924, 0.452364, 0.575861, 0.731313, 0.919578", \
"0.329032, 0.338217, 0.372504, 0.449889, 0.573738, 0.730719, 0.916355", \
"0.323763, 0.331892, 0.365508, 0.445896, 0.566401, 0.724031, 0.9064", \
"0.310563, 0.319781, 0.353793, 0.430628, 0.556611, 0.710281, 0.895543", \
"0.287716, 0.29623, 0.330319, 0.406186, 0.531982, 0.686829, 0.874599", \
"0.273107, 0.283052, 0.31647, 0.394768, 0.518298, 0.675532, 0.86262", \
"0.279664, 0.289476, 0.323268, 0.398233, 0.52481, 0.679195, 0.86405" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ( \
"1.39359, 1.3893, 1.36532, 1.31384, 1.25217, 1.20045, 1.16464", \
"1.39634, 1.39128, 1.3673, 1.31582, 1.25412, 1.20241, 1.16719", \
"1.40063, 1.39557, 1.37159, 1.32011, 1.25839, 1.20667, 1.17157", \
"1.4124, 1.40811, 1.38424, 1.33265, 1.27105, 1.22015, 1.18348", \
"1.43726, 1.43253, 1.40866, 1.35784, 1.29547, 1.2453, 1.20836", \
"1.45002, 1.44386, 1.41988, 1.36928, 1.30812, 1.25495, 1.22055", \
"1.44276, 1.43792, 1.41405, 1.36257, 1.30086, 1.25076, 1.22118" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ( \
"0.714164, 0.704011, 0.667579, 0.590711, 0.466411, 0.311476, 0.123918", \
"0.71511, 0.705012, 0.670395, 0.593439, 0.470041, 0.312774, 0.127466", \
"0.719334, 0.709203, 0.676335, 0.597982, 0.474287, 0.317977, 0.135903", \
"0.730675, 0.722568, 0.68805, 0.6116, 0.485386, 0.332013, 0.143702", \
"0.756767, 0.746966, 0.71148, 0.635767, 0.511357, 0.35552, 0.168215", \
"0.769824, 0.759517, 0.724636, 0.647229, 0.524161, 0.364958, 0.178082", \
"0.76153, 0.751597, 0.717002, 0.642114, 0.516582, 0.360932, 0.178269" \
)
}
}
}
bus(A) {
bus_type : A_BUS;
direction : input;
capacitance : 0.044176;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ( \
"0.823647, 0.823999, 0.819379, 0.843414, 0.913209, 0.987932, 1.05684", \
"0.825649, 0.822877, 0.815078, 0.842523, 0.909887, 0.986194, 1.05754", \
"0.819654, 0.811503, 0.810953, 0.833778, 0.902935, 0.97867, 1.04584", \
"0.806333, 0.803583, 0.796686, 0.823317, 0.893134, 0.973247, 1.03288", \
"0.785389, 0.781616, 0.774389, 0.801735, 0.868087, 0.94468, 1.01146", \
"0.772827, 0.768218, 0.760749, 0.783959, 0.851719, 0.935528, 0.998327", \
"0.773905, 0.772398, 0.765094, 0.79112, 0.858308, 0.937376, 1.00422" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ( \
"1.06086, 1.06592, 1.0878, 1.15079, 1.25613, 1.39656, 1.56057", \
"1.05755, 1.06306, 1.08774, 1.14747, 1.25368, 1.39513, 1.5554", \
"1.05145, 1.05571, 1.0814, 1.14034, 1.24899, 1.386, 1.54968", \
"1.04247, 1.04686, 1.07457, 1.13001, 1.23667, 1.37368, 1.54099", \
"1.01935, 1.02524, 1.04658, 1.10575, 1.20918, 1.34805, 1.51668", \
"1.00314, 1.00928, 1.03036, 1.09096, 1.19764, 1.34024, 1.50183", \
"1.00878, 1.01537, 1.03854, 1.09789, 1.20788, 1.34794, 1.50568" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ( \
"0.815375, 0.821821, 0.823658, 0.80729, 0.799106, 0.791626, 0.785334", \
"0.825451, 0.832117, 0.83369, 0.817245, 0.809677, 0.802186, 0.795905", \
"0.850146, 0.857351, 0.858484, 0.842237, 0.834471, 0.827035, 0.820391", \
"0.895653, 0.903309, 0.904508, 0.888415, 0.880858, 0.87329, 0.867086", \
"0.979308, 0.988933, 0.990308, 0.973555, 0.965833, 0.958397, 0.952259", \
"1.07108, 1.07775, 1.07976, 1.06312, 1.05501, 1.04809, 1.04181", \
"1.14063, 1.14892, 1.15036, 1.13342, 1.1257, 1.11827, 1.11212" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ( \
"0.849079, 0.843282, 0.815705, 0.771958, 0.753478, 0.747582, 0.749584", \
"0.859903, 0.854106, 0.827013, 0.782562, 0.764093, 0.758208, 0.758329", \
"0.88462, 0.878856, 0.850993, 0.807378, 0.788898, 0.783002, 0.790691", \
"0.930776, 0.9251, 0.89738, 0.853765, 0.835285, 0.829389, 0.831391", \
"1.01609, 1.01025, 0.982487, 0.938894, 0.920403, 0.914496, 0.916509", \
"1.10571, 1.09995, 1.07221, 1.02848, 1.00999, 1.00409, 1.00609", \
"1.17597, 1.17021, 1.14249, 1.09874, 1.08027, 1.07436, 1.07769" \
)
}
}
}
bus(D) {
bus_type : Q_BUS;
memory_write() {
address : A;
clocked_on : "CLK";
}
direction : input;
capacitance : 0.0175897;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ( \
"0.753687, 0.759814, 0.783915, 0.810051, 0.811503, 0.786665, 0.7271", \
"0.750959, 0.760045, 0.781275, 0.810128, 0.811085, 0.78584, 0.725219", \
"0.743919, 0.752477, 0.775951, 0.799612, 0.803319, 0.778327, 0.721204", \
"0.733656, 0.739981, 0.764555, 0.790823, 0.792341, 0.769241, 0.708004", \
"0.70818, 0.715726, 0.73975, 0.760144, 0.767129, 0.745668, 0.682605", \
"0.695156, 0.700612, 0.727023, 0.751443, 0.749848, 0.730477, 0.6688", \
"0.701052, 0.71049, 0.73227, 0.757999, 0.761761, 0.736021, 0.677787" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ( \
"0.0792748, 0.0729003, 0.109566, 0.197916, 0.33781, 0.521884, 0.743105", \
"0.0726011, 0.0738188, 0.106289, 0.194003, 0.338184, 0.51975, 0.742368", \
"0.0661881, 0.0617859, 0.100191, 0.187482, 0.329956, 0.51282, 0.733502", \
"0.054846, 0.052415, 0.090596, 0.175787, 0.31999, 0.502601, 0.722744", \
"0.030162, 0.027687, 0.0651508, 0.151551, 0.294294, 0.477202, 0.697961", \
"0.019558, 0.015015, 0.050677, 0.137841, 0.280379, 0.46354, 0.684992", \
"0.025531, 0.020493, 0.0576741, 0.143745, 0.287705, 0.469502, 0.690261" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ( \
"0.69476, 0.68607, 0.66066, 0.635767, 0.633578, 0.658163, 0.716716", \
"0.694925, 0.687379, 0.662805, 0.633127, 0.632313, 0.657888, 0.717893", \
"0.700194, 0.691735, 0.66825, 0.642884, 0.639958, 0.666413, 0.720511", \
"0.713086, 0.705793, 0.678469, 0.651959, 0.651365, 0.672474, 0.733062", \
"0.734943, 0.728893, 0.707916, 0.681604, 0.677182, 0.698027, 0.761233", \
"0.747494, 0.739321, 0.717167, 0.691988, 0.690569, 0.715264, 0.773344", \
"0.743886, 0.735746, 0.711117, 0.683903, 0.681615, 0.708202, 0.76461" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
index_2 ("0.02, 0.06956, 0.2435, 0.5757, 1.093, 1.819, 2.775");
values ( \
"1.04449, 1.04897, 1.01291, 0.926728, 0.783541, 0.601524, 0.382294", \
"1.04873, 1.04719, 1.01409, 0.927905, 0.784718, 0.60269, 0.383273", \
"1.05507, 1.05648, 1.02043, 0.934252, 0.791065, 0.609037, 0.389818", \
"1.06669, 1.06811, 1.03209, 0.946451, 0.802692, 0.620675, 0.401445", \
"1.09177, 1.0942, 1.05744, 0.971267, 0.828058, 0.646041, 0.426822", \
"1.10117, 1.10318, 1.06956, 0.983367, 0.84018, 0.658152, 0.438933", \
"1.09633, 1.1001, 1.06402, 0.977845, 0.834647, 0.65263, 0.4334" \
)
}
}
}
cell_leakage_power : 0.000344655;
}
}