blob: a15a235a64b893a43094d2b03922a38daa6f8b7f [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_125C_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 : 125;
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 : 7.0901;
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_125C) {
process : 1;
temperature : 125;
voltage : 3.0;
tree_type : balanced_tree;
}
default_operating_conditions : ss_3p0v_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.1270;
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.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0100, 0.0301, 0.1006, 0.2353, 0.4451, 0.7395, 1.1270");
values ( \
"13.464, 13.5288, 13.6992, 13.9752, 14.3844, 14.9148, 15.6396", \
"13.4832, 13.5696, 13.7268, 13.9788, 14.4132, 14.9316, 15.6696", \
"13.5456, 13.5972, 13.7712, 14.0544, 14.4384, 15.0036, 15.7128", \
"13.6416, 13.686, 13.8348, 14.1144, 14.5272, 15.0792, 15.7944", \
"13.6692, 13.7424, 13.9092, 14.2044, 14.6196, 15.1248, 15.8316", \
"13.7052, 13.7388, 13.9248, 14.2068, 14.604, 15.1404, 15.8712", \
"13.686, 13.7424, 13.9008, 14.1852, 14.586, 15.1248, 15.846" \
)
}
rise_transition(q_slew_template) {
index_1 ("0.0100, 0.0301, 0.1006, 0.2353, 0.4451, 0.7395, 1.1270");
values ( \
"0.441792, 0.514584, 0.768612, 1.25664, 2.00808, 3.10644, 4.54536" \
)
}
cell_fall(q_delay_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0100, 0.0301, 0.1006, 0.2353, 0.4451, 0.7395, 1.1270");
values ( \
"13.974, 14.034, 14.1852, 14.412, 14.706, 15.0564, 15.498", \
"13.9932, 14.0736, 14.2188, 14.4288, 14.7408, 15.0708, 15.5256", \
"14.0568, 14.1072, 14.2632, 14.4852, 14.7636, 15.1404, 15.5592", \
"14.154, 14.1936, 14.3244, 14.5584, 14.8656, 15.2172, 15.6516", \
"14.1864, 14.25, 14.3976, 14.6484, 14.9388, 15.258, 15.6888", \
"14.2236, 14.2536, 14.4228, 14.6496, 14.9364, 15.276, 15.7188", \
"14.1972, 14.2524, 14.4048, 14.6352, 14.916, 15.2652, 15.7032" \
)
}
fall_transition(q_slew_template) {
index_1 ("0.0100, 0.0301, 0.1006, 0.2353, 0.4451, 0.7395, 1.1270");
values ( \
"0.435276, 0.4917, 0.651396, 0.93348, 1.33392, 1.85844, 2.55972" \
)
}
}
}
pin(CLK) {
direction : input;
capacitance : 0.31346;
clock : true;
max_transition : 7.0901;
min_pulse_width_high : 5.664795;
min_pulse_width_low : 5.405535;
min_period : 18.2595;
/* 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.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ("347.865, 347.865, 347.865, 347.865, 347.865, 347.865, 347.865");
}
fall_power(power_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ("347.865, 347.865, 347.865, 347.865, 347.865, 347.865, 347.865");
}
}
/* DISABLED POWER */
internal_power() {
when : "CEN";
rise_power(power_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ("0.000280545, 0.000280545, 0.000280545, 0.000280545, 0.000280545, 0.000280545, 0.000280545");
}
fall_power(power_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ("0.000280545, 0.000280545, 0.000280545, 0.000280545, 0.000280545, 0.000280545, 0.000280545");
}
}
/* READ POWER */
internal_power() {
when : "!CEN & GWEN";
rise_power(power_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ("314.25, 314.25, 314.25, 314.25, 314.25, 314.25, 314.25");
}
fall_power(power_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ("314.25, 314.25, 314.25, 314.25, 314.25, 314.25, 314.25");
}
}
}
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.019879;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ( \
"1.07603, 1.06318, 1.08028, 1.2338, 1.46355, 1.63757, 1.73481", \
"1.04971, 1.0369, 1.04749, 1.20892, 1.44276, 1.61106, 1.71556", \
"0.964645, 0.951896, 0.964799, 1.11781, 1.34618, 1.52251, 1.62404", \
"0.962313, 0.951038, 0.965041, 1.11084, 1.28675, 1.40327, 1.50513", \
"0.963314, 0.94831, 0.970981, 1.11023, 1.28068, 1.37863, 1.40877", \
"0.964777, 0.947276, 0.963754, 1.09919, 1.27989, 1.37907, 1.42703", \
"0.961972, 0.946814, 0.969496, 1.1088, 1.27868, 1.39865, 1.49974" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ( \
"0.851642, 0.863335, 0.964953, 1.17059, 1.48753, 1.81379, 2.16205", \
"0.844107, 0.861333, 0.957825, 1.16485, 1.4685, 1.78915, 2.13224", \
"0.840873, 0.855602, 0.951313, 1.16078, 1.46542, 1.78618, 2.10958", \
"0.840136, 0.857637, 0.954063, 1.16145, 1.46476, 1.78486, 2.12234", \
"0.839553, 0.856944, 0.953502, 1.15909, 1.46399, 1.78431, 2.11882", \
"0.838948, 0.856372, 0.952776, 1.15982, 1.46344, 1.78365, 2.11486", \
"0.839168, 0.855547, 0.951962, 1.15763, 1.46267, 1.78277, 2.12025" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ( \
"2.85241, 2.86627, 2.8457, 2.70644, 2.53627, 2.43925, 2.39723", \
"2.87496, 2.88904, 2.87496, 2.7291, 2.55321, 2.46015, 2.4211", \
"2.95394, 2.9667, 2.95383, 2.80709, 2.63681, 2.53484, 2.50503", \
"3.12884, 3.14017, 3.12609, 2.98034, 2.80445, 2.70875, 2.67894", \
"3.34983, 3.36479, 3.34213, 3.20287, 3.03248, 2.93447, 2.90543", \
"3.51791, 3.5354, 3.5189, 3.38349, 3.20276, 3.10354, 3.07076", \
"3.64386, 3.65904, 3.63627, 3.49701, 3.32717, 3.22432, 3.1856" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ( \
"2.97715, 2.96241, 2.86319, 2.65584, 2.3452, 2.03247, 1.69499", \
"2.9997, 2.98243, 2.88596, 2.67894, 2.37534, 2.05458, 1.72073", \
"3.0778, 3.06306, 2.96736, 2.75781, 2.45322, 2.13246, 1.80906", \
"3.25105, 3.23356, 3.13709, 2.92974, 2.62636, 2.30626, 1.96889", \
"3.47358, 3.4562, 3.35962, 3.15403, 2.84911, 2.52879, 2.19428", \
"3.64375, 3.62626, 3.5299, 3.32288, 3.01917, 2.69907, 2.36775", \
"3.76662, 3.75023, 3.65387, 3.44817, 3.14314, 2.82304, 2.48556" \
)
}
}
}
pin(GWEN) {
direction : input;
capacitance : 0.0496643;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ( \
"1.42945, 1.45266, 1.53945, 1.70907, 1.93314, 2.13444, 2.31572", \
"1.41009, 1.43286, 1.51657, 1.68619, 1.91477, 2.12388, 2.29933", \
"1.32077, 1.34332, 1.43176, 1.59808, 1.82061, 2.03665, 2.20935", \
"1.15613, 1.1793, 1.26322, 1.43495, 1.6621, 1.86406, 2.03544", \
"0.99121, 1.01604, 1.10154, 1.27004, 1.49743, 1.70093, 1.86967", \
"0.862598, 0.885247, 0.973027, 1.13942, 1.37049, 1.57553, 1.74075", \
"0.7744, 0.799216, 0.885335, 1.0499, 1.28173, 1.48973, 1.65" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ( \
"1.64505, 1.67178, 1.77408, 1.99254, 2.33948, 2.75649, 3.20925", \
"1.62382, 1.65187, 1.75417, 1.98022, 2.32826, 2.73845, 3.18945", \
"1.53637, 1.56321, 1.67101, 1.88837, 2.23993, 2.64858, 3.10057", \
"1.36851, 1.39854, 1.50095, 1.7193, 2.07526, 2.4827, 2.93832", \
"1.20546, 1.23362, 1.33529, 1.5543, 1.91037, 2.32056, 2.77123", \
"1.07842, 1.10517, 1.20748, 1.43352, 1.78189, 2.19318, 2.6444", \
"0.988196, 1.0169, 1.11916, 1.34288, 1.69356, 2.10364, 2.55662" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ( \
"2.15237, 2.13554, 2.04875, 1.90267, 1.77694, 1.69455, 1.64912", \
"2.15006, 2.13191, 2.0493, 1.89937, 1.76869, 1.68806, 1.63625", \
"2.156, 2.1373, 2.05238, 1.90663, 1.77969, 1.69268, 1.6423", \
"2.21705, 2.20209, 2.11761, 1.96328, 1.83942, 1.75109, 1.71083", \
"2.27315, 2.25489, 2.16513, 2.01685, 1.88859, 1.81016, 1.7644", \
"2.29603, 2.27689, 2.19241, 2.04578, 1.91213, 1.83293, 1.79069", \
"2.28503, 2.26644, 2.17833, 2.03401, 1.90003, 1.82017, 1.77529" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ( \
"1.07975, 1.05481, 0.948475, 0.727177, 0.40249, 0.00352, 0", \
"1.07337, 1.0509, 0.945087, 0.72237, 0.393107, 0, 0", \
"1.08405, 1.05835, 0.947551, 0.72347, 0.400587, 0.003124, 0", \
"1.14693, 1.11854, 1.01324, 0.791934, 0.461824, 0.064405, 0", \
"1.19507, 1.1731, 1.06554, 0.845471, 0.512798, 0.119557, 0", \
"1.38171, 1.35399, 1.25135, 1.02212, 0.673981, 0.292859, 0", \
"1.55111, 1.52471, 1.42208, 1.19364, 0.844602, 0.463672, 0.051568" \
)
}
}
}
bus(WEN) {
bus_type : Q_BUS;
direction : input;
capacitance : 0.00804242;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
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.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ( \
"0.443993, 0.463518, 0.578831, 0.796125, 1.11888, 1.51525, 1.96988", \
"0.450538, 0.467522, 0.580459, 0.800338, 1.12541, 1.52361, 1.97098", \
"0.433378, 0.453244, 0.57233, 0.789184, 1.11324, 1.5081, 1.95514", \
"0.379742, 0.399498, 0.514074, 0.731324, 1.05853, 1.45431, 1.90289", \
"0.321816, 0.336468, 0.445038, 0.668778, 0.995577, 1.39315, 1.83436", \
"0.291295, 0.312279, 0.427801, 0.644237, 0.972532, 1.3684, 1.81247", \
"0.307461, 0.326568, 0.441254, 0.66055, 0.983543, 1.38215, 1.83205" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ( \
"2.15468, 2.13554, 2.04875, 1.90575, 1.78585, 1.69532, 1.64912", \
"2.15105, 2.13191, 2.0493, 1.90212, 1.77892, 1.69169, 1.64032", \
"2.15831, 2.1373, 2.05238, 1.90927, 1.78948, 1.69895, 1.64571", \
"2.21947, 2.20209, 2.11761, 1.97043, 1.84987, 1.76011, 1.71996", \
"2.27315, 2.25489, 2.1659, 2.02389, 1.90333, 1.81357, 1.77342", \
"2.29779, 2.27689, 2.19241, 2.04886, 1.9283, 1.83843, 1.79828", \
"2.28503, 2.26644, 2.17833, 2.03522, 1.91466, 1.8249, 1.78475" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ( \
"1.07975, 1.05521, 0.948475, 0.727177, 0.405581, 0.00352, 0", \
"1.07337, 1.0512, 0.945087, 0.72237, 0.395593, 0, 0", \
"1.08405, 1.05871, 0.947551, 0.725923, 0.402402, 0.003124, 0", \
"1.14693, 1.11938, 1.01324, 0.791934, 0.463727, 0.064405, 0", \
"1.19507, 1.1731, 1.06554, 0.845471, 0.516714, 0.119557, 0", \
"1.2229, 1.19893, 1.09161, 0.869319, 0.541937, 0.14448, 0", \
"1.2083, 1.18424, 1.07802, 0.853193, 0.528418, 0.129506, 0" \
)
}
}
}
bus(A) {
bus_type : A_BUS;
direction : input;
capacitance : 0.0440974;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ( \
"1.64175, 1.63108, 1.6544, 1.80785, 2.03742, 2.21826, 2.35972", \
"1.65495, 1.63647, 1.65759, 1.81423, 2.0438, 2.22431, 2.36181", \
"1.63537, 1.61678, 1.64263, 1.79498, 2.02499, 2.22046, 2.34311", \
"1.58202, 1.56981, 1.59302, 1.74064, 1.96966, 2.16128, 2.26369", \
"1.51855, 1.50458, 1.52669, 1.68025, 1.91103, 2.09539, 2.2", \
"1.49666, 1.4839, 1.50777, 1.65803, 1.8887, 2.07625, 2.20275", \
"1.50964, 1.50106, 1.52218, 1.67002, 1.90223, 2.08626, 2.19307" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ( \
"2.20748, 2.23355, 2.32243, 2.53176, 2.85692, 3.20683, 3.59271", \
"2.21155, 2.2341, 2.31946, 2.52395, 2.86396, 3.2076, 3.5948", \
"2.18944, 2.22079, 2.30098, 2.51922, 2.83943, 3.19572, 3.58149", \
"2.13928, 2.15798, 2.25808, 2.45564, 2.78278, 3.14149, 3.52363", \
"2.08318, 2.10287, 2.19593, 2.40614, 2.72877, 3.07824, 3.4672", \
"2.05161, 2.08362, 2.17316, 2.38821, 2.70666, 3.05481, 3.4474", \
"2.06514, 2.09814, 2.1824, 2.39404, 2.71865, 3.07373, 3.46236" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ( \
"1.15059, 1.16437, 1.12373, 1.04861, 0.997601, 0.964909, 0.926904", \
"1.17172, 1.18607, 1.1459, 1.07109, 1.01928, 0.985974, 0.947903", \
"1.25083, 1.26445, 1.22432, 1.14759, 1.09782, 1.06374, 1.02725", \
"1.43198, 1.44507, 1.4047, 1.32803, 1.27806, 1.24389, 1.20221", \
"1.64967, 1.66353, 1.62305, 1.5477, 1.49688, 1.46377, 1.42604", \
"1.82578, 1.8403, 1.79949, 1.72183, 1.67332, 1.64043, 1.60292", \
"1.95393, 1.96757, 1.92599, 1.85163, 1.80081, 1.7677, 1.72458" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ( \
"1.23871, 1.21746, 1.12152, 1.00324, 0.912164, 0.860189, 0.820974", \
"1.25858, 1.23892, 1.14324, 1.02498, 0.933889, 0.881914, 0.842655", \
"1.33804, 1.3178, 1.22185, 1.10359, 1.01256, 0.96052, 0.921305", \
"1.51822, 1.49798, 1.40206, 1.28381, 1.19271, 1.14073, 1.10152", \
"1.73811, 1.71611, 1.62063, 1.50238, 1.41141, 1.35927, 1.32011", \
"1.91521, 1.89299, 1.79729, 1.67904, 1.58796, 1.53593, 1.49666", \
"2.04215, 2.02026, 1.92456, 1.80642, 1.71523, 1.6632, 1.62404" \
)
}
}
}
bus(D) {
bus_type : Q_BUS;
memory_write() {
address : A;
clocked_on : "CLK";
}
direction : input;
capacitance : 0.0174727;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ( \
"1.18743, 1.20775, 1.28784, 1.33793, 1.34288, 1.26812, 1.15781", \
"1.19238, 1.22096, 1.28926, 1.34156, 1.34827, 1.27541, 1.14472", \
"1.17967, 1.19698, 1.27497, 1.33177, 1.32759, 1.25985, 1.1551", \
"1.12431, 1.14508, 1.22489, 1.27447, 1.28108, 1.20223, 1.09944", \
"1.06235, 1.08492, 1.16354, 1.21561, 1.21958, 1.14082, 1.03692", \
"1.04102, 1.06389, 1.12999, 1.17871, 1.19823, 1.12952, 1.01039", \
"1.05299, 1.07615, 1.15491, 1.20821, 1.21086, 1.14132, 1.03086" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ( \
"0.031823, 0.035123, 0.142331, 0.379104, 0.719389, 1.1245, 1.57993", \
"0.040612, 0.038852, 0.146347, 0.37675, 0.716705, 1.12482, 1.57949", \
"0.017787, 0.023023, 0.130363, 0.36212, 0.706728, 1.10837, 1.56783", \
"0, 0, 0.077506, 0.314292, 0.652949, 1.05667, 1.51492", \
"0, 0, 0.014531, 0.251612, 0.591195, 0.997007, 1.45233", \
"0, 0, 0, 0.22296, 0.569371, 0.974897, 1.43055", \
"0, 0, 0.006578, 0.238473, 0.583077, 0.988768, 1.44397" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ( \
"0.938762, 0.922471, 0.839531, 0.788051, 0.782441, 0.86262, 0.970838", \
"0.937673, 0.912373, 0.837628, 0.784938, 0.779053, 0.861586, 0.979044", \
"0.95359, 0.939422, 0.854271, 0.798886, 0.793595, 0.858869, 0.982597", \
"1.00692, 0.987558, 0.899679, 0.852962, 0.846604, 0.918423, 1.01632", \
"1.06898, 1.04546, 0.969122, 0.914848, 0.908765, 0.981992, 1.10091", \
"1.08671, 1.06396, 0.996193, 0.937354, 0.932437, 0.983147, 1.10353", \
"1.07041, 1.05326, 0.982883, 0.920513, 0.919908, 0.997315, 1.08439" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
index_2 ("0.0200, 0.1472, 0.5937, 1.4462, 2.7748, 4.6388, 7.0901");
values ( \
"1.6115, 1.60589, 1.50535, 1.26929, 0.930347, 0.528198, 0.070433", \
"1.60875, 1.60314, 1.50216, 1.26719, 0.927553, 0.526713, 0.067309", \
"1.62437, 1.61986, 1.51932, 1.28334, 0.944636, 0.543796, 0.0843777", \
"1.67431, 1.67035, 1.5697, 1.33364, 0.995071, 0.594242, 0.134821", \
"1.73987, 1.73382, 1.63328, 1.39722, 1.05863, 0.656128, 0.198369", \
"1.75747, 1.75307, 1.65242, 1.41713, 1.07778, 0.675301, 0.217528", \
"1.74636, 1.74086, 1.64021, 1.40415, 1.06559, 0.663102, 0.205421" \
)
}
}
}
cell_leakage_power : 0.000280545;
}
}