blob: ff99a62147eb1f5f75e2138997138a7fcfbd6892 [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_n40C_1v62) {
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 : -40;
nom_voltage : 1.62;
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 : 10.6;
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.62);
voltage_map (VSS, 0.00);
operating_conditions(ss_1p62v_m40C) {
process : 1;
temperature : -40;
voltage : 1.62;
tree_type : balanced_tree;
}
default_operating_conditions : ss_1p62v_m40C;
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.03;
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.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
index_2 ("0.01, 0.02835, 0.09278, 0.2158, 0.4075, 0.6764, 1.03");
values ( \
"34.2708, 34.3872, 34.8216, 35.5848, 36.7944, 38.352, 40.452", \
"34.3956, 34.4652, 34.9704, 35.6988, 36.7944, 38.4264, 40.572", \
"34.5324, 34.6968, 35.0928, 35.9496, 37.0404, 38.6472, 40.7292", \
"34.9212, 35.0184, 35.5056, 36.222, 37.4208, 39.0396, 41.1444", \
"35.598, 35.7276, 36.1668, 36.9432, 38.0916, 39.6924, 41.7828", \
"36.4272, 36.5244, 36.9384, 37.7112, 38.856, 40.4448, 42.5676", \
"37.3716, 37.5612, 37.938, 38.7372, 39.852, 41.4576, 43.5108" \
)
}
rise_transition(q_slew_template) {
index_1 ("0.01, 0.02835, 0.09278, 0.2158, 0.4075, 0.6764, 1.03");
values ( \
"0.854148, 1.04194, 1.6896, 2.96928, 4.89756, 7.689, 11.3356" \
)
}
cell_fall(q_delay_template) {
index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
index_2 ("0.01, 0.02835, 0.09278, 0.2158, 0.4075, 0.6764, 1.03");
values ( \
"36.8388, 36.912, 37.206, 37.6416, 38.1648, 38.8116, 39.5988", \
"36.9552, 36.9816, 37.3332, 37.7328, 38.1888, 38.8332, 39.7176", \
"37.098, 37.2444, 37.5, 38.0112, 38.4408, 39.126, 39.8556", \
"37.4472, 37.5504, 37.902, 38.28, 38.7888, 39.4836, 40.236", \
"38.1672, 38.2884, 38.5812, 38.9856, 39.5256, 40.1544, 40.9668", \
"39.0036, 39.0396, 39.3012, 39.7572, 40.302, 40.9404, 41.7072", \
"39.8916, 40.0824, 40.2888, 40.7532, 41.2368, 41.8692, 42.6408" \
)
}
fall_transition(q_slew_template) {
index_1 ("0.01, 0.02835, 0.09278, 0.2158, 0.4075, 0.6764, 1.03");
values ( \
"0.9051, 1.04794, 1.25268, 1.73352, 2.37804, 3.36696, 4.43532" \
)
}
}
}
pin(CLK) {
direction : input;
capacitance : 0.295918;
clock : true;
max_transition : 10.6;
min_pulse_width_high : 18.4434;
min_pulse_width_low : 24.2445;
min_period : 49.6236;
/* 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.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
values ("81.2349, 81.2349, 81.2349, 81.2349, 81.2349, 81.2349, 81.2349");
}
fall_power(power_template) {
index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
values ("81.2349, 81.2349, 81.2349, 81.2349, 81.2349, 81.2349, 81.2349");
}
}
/* DISABLED POWER */
internal_power() {
when : "CEN";
rise_power(power_template) {
index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
values ("3.54812e-05, 3.54812e-05, 3.54812e-05, 3.54812e-05, 3.54812e-05, 3.54812e-05, 3.54812e-05");
}
fall_power(power_template) {
index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
values ("3.54812e-05, 3.54812e-05, 3.54812e-05, 3.54812e-05, 3.54812e-05, 3.54812e-05, 3.54812e-05");
}
}
/* READ POWER */
internal_power() {
when : "!CEN & GWEN";
rise_power(power_template) {
index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
values ("75.087, 75.087, 75.087, 75.087, 75.087, 75.087, 75.087");
}
fall_power(power_template) {
index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
values ("75.087, 75.087, 75.087, 75.087, 75.087, 75.087, 75.087");
}
}
}
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.0194382;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
index_2 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
values ( \
"3.58182, 3.55476, 3.65497, 4.05977, 4.93812, 6.127, 7.74829", \
"3.51824, 3.49129, 3.59128, 3.99531, 4.86783, 6.05704, 7.74939", \
"3.28295, 3.26073, 3.35687, 3.76068, 4.63287, 5.82791, 7.51388", \
"2.86638, 2.83679, 2.93711, 3.3418, 4.23148, 5.40903, 7.08092", \
"2.87199, 2.83789, 2.92446, 3.32277, 4.22246, 5.40166, 7.07212", \
"2.87419, 2.83767, 2.92479, 3.33014, 4.22213, 5.39968, 7.08598", \
"2.87463, 2.84724, 2.92347, 3.33091, 4.23027, 5.40034, 7.05045" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
index_2 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
values ( \
"2.36808, 2.42143, 2.63549, 3.07582, 3.85506, 4.97728, 6.47163", \
"2.31231, 2.35752, 2.57191, 3.01213, 3.7906, 4.91381, 6.40816", \
"2.07394, 2.12509, 2.33398, 2.77662, 3.55597, 4.6783, 6.17276", \
"2.0108, 2.07108, 2.29207, 2.7368, 3.49998, 4.63573, 6.12183", \
"2.01124, 2.07141, 2.28987, 2.73691, 3.5002, 4.63408, 6.12315", \
"2.01278, 2.06965, 2.2902, 2.73493, 3.49822, 4.63232, 6.1204", \
"2.02081, 2.07009, 2.29086, 2.73636, 3.49888, 4.63155, 6.12172" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
index_2 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
values ( \
"7.26374, 7.30015, 7.21413, 6.81021, 5.91723, 4.73814, 3.11553", \
"7.30708, 7.34327, 7.25747, 6.86246, 5.96805, 4.78423, 3.09518", \
"7.54721, 7.58351, 7.4965, 7.09115, 6.20818, 5.02172, 3.33542", \
"7.96686, 8.00052, 7.90537, 7.50156, 6.59945, 5.42949, 3.76046", \
"8.65711, 8.69132, 8.60475, 8.20633, 7.30675, 6.12744, 4.45698", \
"9.63501, 9.67153, 9.58441, 9.17906, 8.28707, 7.10952, 5.42311", \
"10.8262, 10.8536, 10.7772, 10.3699, 9.47056, 8.30049, 6.65038" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
index_2 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
values ( \
"8.12449, 8.06839, 7.84751, 7.40289, 6.6396, 5.50561, 4.01764", \
"8.1609, 8.11195, 7.89085, 7.44623, 6.68371, 5.54884, 4.06076", \
"8.39916, 8.34229, 8.1334, 7.68636, 6.92318, 5.78897, 4.30089", \
"8.82013, 8.75985, 8.53886, 8.09413, 7.33095, 6.1952, 4.7091", \
"9.51797, 9.45769, 9.23923, 8.79219, 8.0289, 6.89502, 5.40595", \
"10.4964, 10.4396, 10.219, 9.77427, 9.01098, 7.87688, 6.3888", \
"11.6798, 11.6303, 11.4103, 10.9644, 10.2018, 9.06928, 7.579" \
)
}
}
}
pin(GWEN) {
direction : input;
capacitance : 0.0435041;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
index_2 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
values ( \
"3.78796, 3.84692, 4.06868, 4.4957, 5.19002, 6.08267, 7.23668", \
"3.72526, 3.78444, 4.00653, 4.433, 5.11269, 6.03922, 7.17398", \
"3.50856, 3.56532, 3.80039, 4.23203, 4.90105, 5.8003, 6.95453", \
"3.07351, 3.14215, 3.36413, 3.80875, 4.48492, 5.37757, 6.51827", \
"2.37292, 2.44552, 2.67608, 3.1075, 3.78752, 4.67632, 5.79953", \
"1.56596, 1.62514, 1.85944, 2.29174, 2.95405, 3.86078, 5.01468", \
"0.611864, 0.667161, 0.915596, 1.34673, 2.02301, 2.91588, 4.06956" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
index_2 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
values ( \
"5.39176, 5.48251, 5.71373, 6.23436, 7.01602, 8.15584, 9.68517", \
"5.33236, 5.41948, 5.66797, 6.17166, 6.94595, 8.1114, 9.55075", \
"5.13799, 5.17088, 5.41684, 5.94847, 6.73431, 7.87402, 9.33163", \
"4.7135, 4.77708, 5.02524, 5.5319, 6.31103, 7.45063, 8.97809", \
"3.98717, 4.04855, 4.29209, 4.82757, 5.60967, 6.74949, 8.27871", \
"3.19462, 3.26007, 3.49151, 4.00807, 4.79424, 5.93384, 7.39145", \
"2.22728, 2.299, 2.55145, 3.06955, 3.84912, 4.97662, 6.52355" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
index_2 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
values ( \
"6.6902, 6.63696, 6.43852, 5.97729, 5.33775, 4.58172, 3.67928", \
"6.27737, 6.22446, 6.02569, 5.56446, 4.91832, 4.11873, 3.26612", \
"5.69052, 5.63288, 5.40067, 4.9687, 4.33928, 3.5739, 2.6752", \
"5.37295, 5.3185, 5.12105, 4.65861, 4.02072, 3.2648, 2.37611", \
"5.81328, 5.75564, 5.52827, 5.09586, 4.45797, 3.70205, 2.81743", \
"6.56667, 6.51365, 6.27627, 5.85189, 5.20773, 4.45819, 3.55575", \
"7.50629, 7.45327, 7.22128, 6.78887, 6.1512, 5.39517, 4.49273" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
index_2 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
values ( \
"3.98255, 3.95164, 3.67587, 3.15293, 2.41879, 1.26442, 0", \
"3.56026, 3.5354, 3.27888, 2.7401, 2.00992, 0.832634, 0", \
"2.9656, 2.92435, 2.68312, 2.13994, 1.41196, 0.256456, 0", \
"2.66519, 2.63142, 2.38282, 1.83194, 1.10224, 0, 0", \
"3.10123, 3.06779, 2.81083, 2.27403, 1.53857, 0.384461, 0", \
"3.85957, 3.8247, 3.55234, 3.02522, 2.29526, 1.14057, 0", \
"4.79402, 4.76531, 4.51242, 3.96539, 3.23301, 2.08527, 0.531861" \
)
}
}
}
bus(WEN) {
bus_type : Q_BUS;
direction : input;
capacitance : 0.00722787;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
index_2 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
values ( \
"0, 0, 0, 0, 0, 0, 0.27503", \
"0, 0, 0, 0, 0, 0, 0.685443", \
"0, 0, 0, 0, 0, 0.35915, 1.27679", \
"0, 0, 0, 0, 0, 0.670428, 1.58081", \
"0, 0, 0, 0, 0, 0.234209, 1.13674", \
"0, 0, 0, 0, 0, 0, 0.391193", \
"0, 0, 0, 0, 0, 0, 0" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
index_2 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
values ( \
"0, 0, 0.146942, 0.665203, 1.41427, 2.56927, 4.11246", \
"0.254003, 0.275956, 0.525547, 1.07663, 1.82039, 2.98881, 4.47381", \
"0.842193, 0.888228, 1.13969, 1.67695, 2.41637, 3.57247, 5.06132", \
"1.1676, 1.19151, 1.43506, 1.99375, 2.73152, 3.87618, 5.46667", \
"0.708587, 0.741961, 1.01357, 1.54561, 2.28954, 3.43948, 4.98861", \
"0, 0, 0.267805, 0.798105, 1.53626, 2.67344, 4.17923", \
"0, 0, 0, 0, 0.596871, 1.73481, 3.32739" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
index_2 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
values ( \
"6.72408, 6.67986, 6.43852, 6.00391, 5.35326, 4.59107, 3.69424", \
"6.31136, 6.26714, 6.02569, 5.59119, 4.94043, 4.17076, 3.28152", \
"5.71736, 5.67325, 5.42916, 4.9973, 4.34665, 3.58435, 2.68763", \
"5.40727, 5.36195, 5.12105, 4.6871, 4.04074, 3.26843, 2.37655", \
"5.84452, 5.79953, 5.55665, 5.12435, 4.4737, 3.7114, 2.81743", \
"6.60066, 6.55644, 6.31301, 5.88049, 5.22984, 4.46754, 3.57082", \
"7.53742, 7.49353, 7.25076, 6.82209, 6.17694, 5.4021, 4.50791" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
index_2 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
values ( \
"3.98255, 3.95164, 3.67741, 3.15293, 2.41879, 1.26442, 0", \
"3.56026, 3.5354, 3.27888, 2.7401, 2.00992, 0.832634, 0", \
"2.9656, 2.92435, 2.68312, 2.13994, 1.41196, 0.256456, 0", \
"2.66519, 2.63142, 2.38282, 1.83194, 1.10224, 0, 0", \
"3.10123, 3.06779, 2.81083, 2.27403, 1.53857, 0.384461, 0", \
"3.85957, 3.8247, 3.55421, 3.02522, 2.29526, 1.14057, 0", \
"4.79402, 4.76531, 4.51242, 3.96539, 3.23301, 2.08527, 0.531861" \
)
}
}
}
bus(A) {
bus_type : A_BUS;
direction : input;
capacitance : 0.0437212;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
index_2 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
values ( \
"3.52352, 3.51263, 3.61867, 4.03425, 4.9016, 6.12997, 7.73707", \
"3.46808, 3.48238, 3.5574, 3.97298, 4.84033, 6.06177, 7.64555", \
"3.23631, 3.21541, 3.33091, 3.7466, 4.61384, 5.83506, 7.42445", \
"3.31397, 3.30715, 3.41385, 3.84197, 4.72373, 5.95595, 7.5372", \
"2.87375, 2.85725, 2.99101, 3.40131, 4.30023, 5.50891, 7.09148", \
"2.13752, 2.1219, 2.24169, 2.6455, 3.52902, 4.74507, 6.33369", \
"1.20979, 1.19577, 1.31006, 1.71952, 2.61701, 3.82635, 5.34611" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
index_2 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
values ( \
"2.50261, 2.48391, 2.68114, 3.21299, 3.99443, 5.13546, 6.62783", \
"2.90774, 2.89575, 3.08836, 3.62131, 4.41386, 5.55269, 7.03285", \
"3.50625, 3.4694, 3.68632, 4.19298, 4.98443, 6.13008, 7.62179", \
"3.80446, 3.78389, 3.97936, 4.51088, 5.30552, 6.46657, 7.94475", \
"3.35379, 3.35269, 3.61801, 4.06725, 4.85199, 5.99159, 7.51619", \
"2.61888, 2.58137, 2.79378, 3.33443, 4.11092, 5.2525, 6.73068", \
"1.65484, 1.66551, 1.85735, 2.38535, 3.1746, 4.30727, 5.79986" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
index_2 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
values ( \
"2.4783, 2.49381, 2.36489, 1.95349, 1.08206, 0, 0", \
"2.54826, 2.54342, 2.44112, 2.02972, 1.15825, 0.025047, 0", \
"2.76507, 2.78806, 2.65111, 2.2396, 1.36818, 0.234978, 0", \
"3.14501, 3.15689, 3.03105, 2.61954, 1.74713, 0.614955, 0", \
"3.88883, 3.91061, 3.7708, 3.3594, 2.48798, 1.35476, 0", \
"4.80667, 4.81855, 4.6926, 4.2812, 3.40978, 2.27656, 0.860937", \
"5.9686, 5.98026, 5.8509, 5.44302, 4.5716, 3.43838, 2.02279" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
index_2 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
values ( \
"3.07736, 3.03259, 2.81787, 2.33959, 1.6665, 0.854337, 0", \
"3.15359, 3.10871, 2.8941, 2.41934, 1.74339, 0.930534, 0", \
"3.36248, 3.31859, 3.10398, 2.62933, 1.95261, 1.14049, 0.130794", \
"3.74132, 3.69853, 3.48403, 3.00927, 2.33255, 1.52042, 0.510983", \
"4.48338, 4.43839, 4.20189, 3.74902, 3.07241, 2.2594, 1.25062", \
"5.40507, 5.36019, 5.14052, 4.66125, 3.9941, 3.18142, 2.17261", \
"6.56469, 6.52201, 6.30564, 5.83264, 5.15603, 4.34313, 3.33421" \
)
}
}
}
bus(D) {
bus_type : Q_BUS;
memory_write() {
address : A;
clocked_on : "CLK";
}
direction : input;
capacitance : 0.0170448;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
index_2 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
values ( \
"3.27965, 3.35368, 3.58347, 3.99861, 4.51682, 5.18419, 5.90612", \
"3.69127, 3.76255, 3.982, 4.41562, 4.94362, 5.60021, 6.31026", \
"4.29759, 4.37349, 4.57578, 5.00544, 5.53146, 6.20158, 6.90976", \
"4.59888, 4.66642, 4.90105, 5.32059, 5.84177, 6.50595, 7.21523", \
"4.15701, 4.22873, 4.44136, 4.8796, 5.41453, 6.07365, 6.75576", \
"3.40582, 3.46643, 3.69512, 4.12588, 4.65883, 5.30948, 6.02272", \
"2.46708, 2.54265, 2.76804, 3.19693, 3.71261, 4.36645, 5.08068" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
index_2 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
values ( \
"0, 0, 0, 0, 0, 0.95194, 2.40339", \
"0, 0, 0, 0, 0.190847, 1.36686, 2.81831", \
"0, 0, 0, 0.048279, 0.777084, 1.95129, 3.40362", \
"0, 0, 0, 0.361636, 1.0924, 2.26721, 3.71811", \
"0, 0, 0, 0, 0.649121, 1.81632, 3.27547", \
"0, 0, 0, 0, 0, 1.06794, 2.51966", \
"0, 0, 0, 0, 0, 0.140577, 1.59346" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
index_2 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
values ( \
"3.23301, 3.16943, 2.94294, 2.51944, 1.98605, 1.33716, 0.631114", \
"2.82326, 2.75781, 2.53649, 2.10947, 1.57729, 0.9372, 0.21948", \
"2.22343, 2.14918, 1.9404, 1.51437, 0.979286, 0.330528, 0", \
"1.91543, 1.85394, 1.62536, 1.20189, 0.668591, 0.019712, 0", \
"2.3595, 2.29427, 2.06778, 1.64428, 1.11088, 0.462044, 0", \
"3.10574, 3.04854, 2.82216, 2.39866, 1.86527, 1.21642, 0.510378", \
"4.05548, 3.99245, 3.76849, 3.34268, 2.81149, 2.16227, 1.45376" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
index_2 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
values ( \
"5.92328, 5.89776, 5.70801, 5.1953, 4.41309, 3.26788, 1.78002", \
"5.51067, 5.48999, 5.2965, 4.78368, 4.00158, 2.85626, 1.3684", \
"4.91634, 4.895, 4.70151, 4.18869, 3.40659, 2.26127, 0.773454", \
"4.60515, 4.58414, 4.39065, 3.87783, 3.09573, 1.95041, 0.462561", \
"5.0468, 5.02645, 4.83296, 4.32014, 3.53804, 2.39272, 0.904882", \
"5.80184, 5.78083, 5.58734, 5.07452, 4.29242, 3.1471, 1.65924", \
"6.74377, 6.71858, 6.52938, 6.01645, 5.23435, 4.08903, 2.60117" \
)
}
}
}
cell_leakage_power : 3.548124e-05;
}
}