blob: 135ab75e7a481e2cbc29cb79561dd727f73f7834 [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__sram64x8m8wm1
* Technology : GF 180nm 5V Green
*
* ---------
* Pin name:
* ---------
* Input Pins : CLK CEN GWEN WEN[7:0] A[5: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__sram64x8m8wm1__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 : 6;
bit_from : 5;
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__sram64x8m8wm1) {
area : 100571.5568;
dont_use : TRUE;
dont_touch : TRUE;
interface_timing : TRUE;
memory() {
type : ram;
address_width : 6;
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 ( \
"32.2344, 32.3484, 32.8068, 33.5496, 34.7016, 36.2184, 38.3064", \
"32.2848, 32.4192, 32.9124, 33.6192, 34.8, 36.3768, 38.502", \
"32.5248, 32.6316, 33.0648, 33.8448, 34.986, 36.5796, 38.682", \
"32.9508, 33.0552, 33.5148, 34.2324, 35.3868, 37.0392, 39.0948", \
"33.6108, 33.8064, 34.1424, 34.8996, 36.0816, 37.7196, 39.774", \
"34.4124, 34.4964, 34.9308, 35.7252, 36.8616, 38.4636, 40.572", \
"35.4084, 35.5464, 36.0384, 36.7464, 37.9212, 39.4776, 41.586" \
)
}
rise_transition(q_slew_template) {
index_1 ("0.01, 0.02835, 0.09278, 0.2158, 0.4075, 0.6764, 1.03");
values ( \
"0.884292, 1.06388, 1.7394, 2.95692, 4.88208, 7.67892, 11.3596" \
)
}
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 ( \
"34.7448, 34.8216, 35.1624, 35.526, 36.06, 36.5772, 37.416", \
"34.8048, 34.9296, 35.2776, 35.64, 36.1956, 36.7872, 37.644", \
"35.0508, 35.1336, 35.4312, 35.8344, 36.3864, 36.99, 37.7808", \
"35.466, 35.5476, 35.868, 36.2328, 36.774, 37.4628, 38.22", \
"36.1284, 36.2976, 36.48, 36.8892, 37.452, 38.1552, 38.892", \
"36.9096, 36.9648, 37.2672, 37.7448, 38.2476, 38.8956, 39.66", \
"37.908, 38.0412, 38.3556, 38.736, 39.3072, 39.9156, 40.6608" \
)
}
fall_transition(q_slew_template) {
index_1 ("0.01, 0.02835, 0.09278, 0.2158, 0.4075, 0.6764, 1.03");
values ( \
"0.865476, 0.966876, 1.26732, 1.71984, 2.3862, 3.3366, 4.46712" \
)
}
}
}
pin(CLK) {
direction : input;
capacitance : 0.293687;
clock : true;
max_transition : 10.6;
min_pulse_width_high : 17.80485;
min_pulse_width_low : 20.34585;
min_period : 46.9428;
/* 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 ("72.2552, 72.2552, 72.2552, 72.2552, 72.2552, 72.2552, 72.2552");
}
fall_power(power_template) {
index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
values ("72.2552, 72.2552, 72.2552, 72.2552, 72.2552, 72.2552, 72.2552");
}
}
/* 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 ("1.3516e-05, 1.3516e-05, 1.3516e-05, 1.3516e-05, 1.3516e-05, 1.3516e-05, 1.3516e-05");
}
fall_power(power_template) {
index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
values ("1.3516e-05, 1.3516e-05, 1.3516e-05, 1.3516e-05, 1.3516e-05, 1.3516e-05, 1.3516e-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 ("67.2535, 67.2535, 67.2535, 67.2535, 67.2535, 67.2535, 67.2535");
}
fall_power(power_template) {
index_1 ("0.02, 0.2104, 0.8786, 2.155, 4.143, 6.932, 10.6");
values ("67.2535, 67.2535, 67.2535, 67.2535, 67.2535, 67.2535, 67.2535");
}
}
}
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.0187828;
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.59062, 3.53529, 3.62582, 4.05724, 4.93361, 6.11116, 7.76578", \
"3.51109, 3.48645, 3.56466, 3.99366, 4.8708, 6.10027, 7.68383", \
"3.28284, 3.24269, 3.32948, 3.75859, 4.64167, 5.79667, 7.50552", \
"2.87485, 2.8391, 2.93436, 3.34631, 4.23148, 5.39803, 7.09346", \
"2.87782, 2.84042, 2.92666, 3.32981, 4.21498, 5.38813, 7.02955", \
"2.87386, 2.84724, 2.92457, 3.33751, 4.2284, 5.39506, 7.06255", \
"2.87441, 2.8292, 2.92325, 3.32838, 4.20101, 5.39781, 7.0818" \
)
}
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.37226, 2.42154, 2.63252, 3.07274, 3.8522, 4.97343, 6.46899", \
"2.29559, 2.35796, 2.56696, 3.00927, 3.78884, 4.91183, 6.40541", \
"2.0658, 2.12267, 2.33552, 2.7742, 3.55366, 4.67599, 6.16748", \
"2.02543, 2.0713, 2.29196, 2.73768, 3.49756, 4.63419, 6.12227", \
"2.02554, 2.08109, 2.28987, 2.73702, 3.5002, 4.6321, 6.12216", \
"2.02455, 2.07064, 2.29108, 2.7357, 3.49921, 4.63276, 6.12128", \
"2.02433, 2.0801, 2.28866, 2.73559, 3.49899, 4.6321, 6.12106" \
)
}
}
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.26253, 7.31654, 7.21292, 6.79844, 5.91305, 4.74892, 3.09419", \
"7.33326, 7.36241, 7.27639, 6.8728, 5.97817, 4.76025, 3.17834", \
"7.55216, 7.60078, 7.50409, 7.09764, 6.19828, 5.05582, 3.35665", \
"7.97621, 7.99986, 7.92242, 7.50948, 6.60748, 5.45534, 3.76585", \
"8.66195, 8.69935, 8.61322, 8.20996, 7.32479, 6.15164, 4.51022", \
"9.65107, 9.67758, 9.60025, 9.18742, 8.29653, 7.12976, 5.46227", \
"10.8217, 10.867, 10.773, 10.3678, 9.4952, 8.2984, 6.61441" \
)
}
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.11569, 8.05574, 7.84498, 7.40025, 6.63685, 5.50374, 4.01467", \
"8.1906, 8.1213, 7.91241, 7.46559, 6.70208, 5.56743, 4.08023", \
"8.41555, 8.34889, 8.13637, 7.69307, 6.92967, 5.79557, 4.3076", \
"8.81353, 8.76755, 8.547, 8.10128, 7.3414, 6.20477, 4.71669", \
"9.51423, 9.45868, 9.2499, 8.80275, 8.03957, 6.90767, 5.41761", \
"10.5004, 10.4543, 10.2338, 9.78912, 9.02572, 7.89206, 6.40354", \
"11.6721, 11.616, 11.4081, 10.9606, 10.1971, 9.06411, 7.57515" \
)
}
}
}
pin(GWEN) {
direction : input;
capacitance : 0.0436795;
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.78037, 3.85132, 4.07154, 4.50219, 5.18595, 6.09433, 7.23932", \
"3.73098, 3.79346, 4.02182, 4.43916, 5.12479, 6.04912, 7.17178", \
"3.49547, 3.57423, 3.8027, 4.22037, 4.91238, 5.81262, 6.95288", \
"3.08121, 3.15678, 3.37348, 3.81876, 4.49504, 5.39506, 6.53532", \
"2.37391, 2.44926, 2.67751, 3.11102, 3.77883, 4.68787, 5.8322", \
"1.57025, 1.63229, 1.84976, 2.29383, 2.96945, 3.87079, 5.01006", \
"0.601491, 0.677127, 0.905179, 1.32253, 2.0119, 2.92611, 4.05999" \
)
}
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.43697, 5.49637, 5.74519, 6.23931, 7.03505, 8.1554, 9.71014", \
"5.37284, 5.41772, 5.64795, 6.1765, 6.97246, 8.0949, 9.64425", \
"5.15372, 5.1986, 5.46876, 5.95793, 6.75334, 7.90603, 9.35858", \
"4.73517, 4.77587, 5.05109, 5.54345, 6.32137, 7.49265, 9.01043", \
"4.02831, 4.09354, 4.30364, 4.84242, 5.62804, 6.73497, 8.29983", \
"3.21046, 3.25094, 3.52121, 4.01577, 4.81096, 5.97707, 7.41906", \
"2.25599, 2.3045, 2.53143, 3.06042, 3.85572, 4.97992, 6.46118" \
)
}
}
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.43753, 6.38308, 6.17375, 5.71461, 5.05989, 4.29528, 3.39823", \
"6.07607, 6.01117, 5.78842, 5.34776, 4.71581, 3.91402, 3.0261", \
"5.44258, 5.38868, 5.16164, 4.72098, 4.0887, 3.3176, 2.3991", \
"5.12149, 5.05648, 4.83494, 4.39549, 3.76684, 2.99552, 2.07713", \
"5.59229, 5.5275, 5.31047, 4.8664, 4.21454, 3.46643, 2.55332", \
"6.38847, 6.34007, 6.1424, 5.66918, 5.0402, 4.25282, 3.34466", \
"7.30004, 7.24801, 7.02042, 6.57987, 5.92867, 5.12842, 4.26327" \
)
}
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.70007, 3.65046, 3.39042, 2.87056, 2.13411, 0.991595, 0", \
"3.31892, 3.27745, 3.05085, 2.5036, 1.76583, 0.621335, 0", \
"2.71348, 2.65034, 2.42319, 1.87561, 1.1394, 0, 0", \
"2.3958, 2.35895, 2.10199, 1.55265, 0.827805, 0, 0", \
"2.86209, 2.79939, 2.57103, 2.0196, 1.28774, 0.153319, 0", \
"3.66619, 3.63176, 3.34719, 2.82799, 2.09176, 0.916333, 0", \
"4.57171, 4.50835, 4.28241, 3.73483, 2.99816, 1.85053, 0.343541" \
)
}
}
}
bus(WEN) {
bus_type : Q_BUS;
direction : input;
capacitance : 0.00722788;
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.531366", \
"0, 0, 0, 0, 0, 0.014091, 0.904563", \
"0, 0, 0, 0, 0, 0.608201, 1.52878", \
"0, 0, 0, 0, 0.145914, 0.939994, 1.84679", \
"0, 0, 0, 0, 0, 0.460911, 1.38083", \
"0, 0, 0, 0, 0, 0, 0.574596", \
"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.089034, 0.143796, 0.407143, 0.910184, 1.66287, 2.80478, 4.41771", \
"0.465652, 0.514734, 0.741422, 1.27155, 2.02972, 3.17097, 4.75431", \
"1.06799, 1.13899, 1.3662, 1.91224, 2.65419, 3.80369, 5.31179", \
"1.3959, 1.43693, 1.69301, 2.23751, 2.97088, 4.14601, 5.73606", \
"0.922383, 0.992365, 1.21913, 1.75846, 2.50668, 3.64111, 5.23127", \
"0.126354, 0.163112, 0.449394, 0.958903, 1.70742, 2.88299, 4.35633", \
"0, 0, 0, 0.040029, 0.795102, 1.93842, 3.45323" \
)
}
}
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.46998, 6.42587, 6.18222, 5.74992, 5.09916, 4.32949, 3.44025", \
"6.10324, 6.05902, 5.8157, 5.38307, 4.73242, 3.97606, 3.0734", \
"5.47613, 5.43202, 5.18936, 4.75596, 4.10542, 3.33564, 2.44629", \
"5.15383, 5.10928, 4.86607, 4.43377, 3.78312, 3.01334, 2.1241", \
"5.62485, 5.5792, 5.33665, 4.90479, 4.25414, 3.47688, 2.59435", \
"6.42796, 6.38374, 6.1424, 5.70779, 5.05714, 4.28736, 3.39812", \
"7.33469, 7.29047, 7.04583, 6.61452, 5.97113, 5.1942, 4.30485" \
)
}
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.73461, 3.65046, 3.40417, 2.88904, 2.15523, 1.00973, 0", \
"3.34895, 3.29263, 3.06108, 2.52219, 1.78717, 0.64053, 0", \
"2.7258, 2.66552, 2.43353, 1.89464, 1.16064, 0, 0", \
"2.40339, 2.36874, 2.11211, 1.57091, 0.847473, 0, 0", \
"2.87111, 2.80665, 2.58148, 2.03929, 1.30884, 0.169915, 0", \
"3.67708, 3.64287, 3.36182, 2.84658, 2.1131, 0.92444, 0", \
"4.58073, 4.51132, 4.29242, 3.7532, 3.01917, 1.86681, 0.363572" \
)
}
}
}
bus(A) {
bus_type : A_BUS;
direction : input;
capacitance : 0.0377823;
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.49756, 3.45917, 3.56367, 4.01159, 4.85892, 6.07134, 7.7066", \
"3.43981, 3.40065, 3.50581, 3.95373, 4.80106, 6.00677, 7.59517", \
"3.58171, 3.60965, 3.66234, 4.10993, 4.9995, 6.22644, 7.79614", \
"3.9171, 3.949, 3.99696, 4.44972, 5.31806, 6.51486, 8.09545", \
"3.45323, 3.45587, 3.52055, 3.96418, 4.85386, 6.07508, 7.6494", \
"2.66728, 2.66651, 2.72855, 3.17559, 4.05141, 5.2514, 6.8574", \
"1.76682, 1.7501, 1.82006, 2.26391, 3.14017, 4.37767, 5.9444" \
)
}
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.74989, 2.79609, 3.00102, 3.48227, 4.30639, 5.42597, 6.94155", \
"3.12103, 3.1614, 3.37887, 3.84736, 4.65014, 5.79117, 7.31786", \
"3.76013, 3.78642, 3.99608, 4.46457, 5.29573, 6.42004, 7.93386", \
"4.05097, 4.11763, 4.32872, 4.79512, 5.63002, 6.74971, 8.28113", \
"3.5827, 3.64221, 3.84142, 4.32938, 5.14866, 6.28276, 7.79009", \
"2.7995, 2.86231, 3.0624, 3.53661, 4.36359, 5.49692, 7.0015", \
"1.90729, 1.91598, 2.15138, 2.61921, 3.443, 4.56555, 6.0863" \
)
}
}
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.36643, 2.39492, 2.30241, 1.83403, 0.994411, 0, 0", \
"2.43947, 2.46862, 2.37556, 1.90718, 1.06761, 0, 0", \
"2.6565, 2.68565, 2.59259, 2.12421, 1.2846, 0.145358, 0", \
"3.04238, 3.07153, 2.97847, 2.51009, 1.67046, 0.531223, 0", \
"3.77553, 3.80446, 3.71151, 3.24313, 2.4035, 1.24472, 0", \
"4.7212, 4.75035, 4.65729, 4.18891, 3.34928, 2.21001, 0.79013", \
"5.88148, 5.9092, 5.81702, 5.34809, 4.50769, 3.3693, 1.94942" \
)
}
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.98749, 2.93799, 2.70149, 2.23718, 1.57597, 0.760826, 0", \
"3.06064, 3.01114, 2.77475, 2.31033, 1.64912, 0.834042, 0", \
"3.27767, 3.22817, 2.99167, 2.52736, 1.86615, 1.05108, 0.019668", \
"3.66355, 3.61405, 3.37755, 2.91324, 2.25203, 1.43693, 0.405537", \
"4.39637, 4.34709, 4.11059, 3.64628, 2.98507, 2.16997, 1.13856", \
"5.34237, 5.29287, 5.05637, 4.59206, 3.93085, 3.11575, 2.08439", \
"6.50155, 6.45216, 6.21566, 5.75135, 5.09014, 4.27504, 3.24368" \
)
}
}
}
bus(D) {
bus_type : Q_BUS;
memory_write() {
address : A;
clocked_on : "CLK";
}
direction : input;
capacitance : 0.017259;
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.47765, 3.52748, 3.74187, 4.16625, 4.70074, 5.36921, 6.05825", \
"3.84087, 3.90104, 4.12412, 4.54113, 5.06308, 5.71615, 6.41949", \
"4.47678, 4.52573, 4.74386, 5.16087, 5.69657, 6.34403, 7.06376", \
"4.80447, 4.87399, 5.08266, 5.50033, 6.03042, 6.68734, 7.38221", \
"4.33103, 4.37745, 4.61098, 5.02656, 5.5528, 6.20851, 6.90624", \
"3.53364, 3.58358, 3.82184, 4.24864, 4.75156, 5.43862, 6.116", \
"2.61888, 2.66893, 2.89234, 3.31188, 3.85891, 4.50098, 5.20993" \
)
}
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, 1.11451, 2.57543", \
"0, 0, 0, 0, 0.316789, 1.48104, 2.94195", \
"0, 0, 0, 0.209305, 0.941358, 2.11365, 3.56785", \
"0, 0, 0.023452, 0.539946, 1.27204, 2.44574, 3.89851", \
"0, 0, 0, 0.063844, 0.795575, 1.96152, 3.42243", \
"0, 0, 0, 0, 0.007601, 1.18127, 2.63582", \
"0, 0, 0, 0, 0, 0.260214, 1.71435" \
)
}
}
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.98133, 2.92787, 2.70688, 2.28349, 1.74691, 1.10515, 0.397023", \
"2.61657, 2.56333, 2.33662, 1.91312, 1.38204, 0.730994, 0.024937", \
"1.99199, 1.94139, 1.71644, 1.29573, 0.759814, 0.114285, 0", \
"1.66144, 1.60875, 1.38391, 0.960388, 0.429088, 0, 0", \
"2.13939, 2.08769, 1.86076, 1.44023, 0.904376, 0.255639, 0", \
"2.92336, 2.87012, 2.64418, 2.22101, 1.68883, 1.03786, 0.331089", \
"3.84989, 3.79841, 3.57181, 3.14721, 2.61459, 1.96669, 1.2611" \
)
}
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.68106, 5.65972, 5.46579, 4.95352, 4.17142, 3.0261, 1.53824", \
"5.31718, 5.291, 5.10136, 4.58909, 3.80699, 2.66167, 1.17381", \
"4.6937, 4.66807, 4.47843, 3.96616, 3.18406, 2.04776, 0.55088", \
"4.36227, 4.33719, 4.14689, 3.63462, 2.85252, 1.7072, 0.219383", \
"4.8411, 4.81976, 4.62583, 4.11345, 3.33135, 2.18603, 0.698247", \
"5.62276, 5.59834, 5.40815, 4.89588, 4.11378, 2.96846, 1.48071", \
"6.55237, 6.53037, 6.33655, 5.82417, 5.04207, 3.89675, 2.409" \
)
}
}
}
cell_leakage_power : 1.3515984e-05;
}
}