blob: 4e90786ce75742b178f54807e5a486d287eb03cd [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__tt_025C_3v30) {
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 : 25;
nom_voltage : 3.3;
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 : 3.1779;
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.3);
voltage_map (VSS, 0.00);
operating_conditions(tt_3p3v_25C) {
process : 1;
temperature : 25;
voltage : 3.3;
tree_type : balanced_tree;
}
default_operating_conditions : tt_3p3v_25C;
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.0423;
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.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0100, 0.0286, 0.0937, 0.2182, 0.4121, 0.6842, 1.0423");
values ( \
"6.16956, 6.18804, 6.27888, 6.41724, 6.61992, 6.90432, 7.27656", \
"6.17076, 6.2004, 6.29028, 6.423, 6.63972, 6.91248, 7.28292", \
"6.19656, 6.22272, 6.30996, 6.45372, 6.64764, 6.93924, 7.30764", \
"6.22188, 6.23988, 6.31788, 6.47232, 6.6642, 6.9468, 7.32876", \
"6.23436, 6.26004, 6.3426, 6.50304, 6.69912, 6.98832, 7.36212", \
"6.25008, 6.28044, 6.36492, 6.49752, 6.70728, 6.98232, 7.36344", \
"6.2394, 6.25392, 6.34296, 6.48648, 6.69684, 6.97716, 7.33824" \
)
}
rise_transition(q_slew_template) {
index_1 ("0.0100, 0.0286, 0.0937, 0.2182, 0.4121, 0.6842, 1.0423");
values ( \
"0.22902, 0.270516, 0.401616, 0.64218, 1.04041, 1.59612, 2.33484" \
)
}
cell_fall(q_delay_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0100, 0.0286, 0.0937, 0.2182, 0.4121, 0.6842, 1.0423");
values ( \
"6.417, 6.4374, 6.51828, 6.63612, 6.78768, 6.97464, 7.21308", \
"6.41688, 6.4446, 6.52248, 6.63756, 6.80724, 6.98352, 7.22328", \
"6.44436, 6.4686, 6.55056, 6.66816, 6.81504, 7.00884, 7.24092", \
"6.46212, 6.49428, 6.55728, 6.68844, 6.82464, 7.01856, 7.27044", \
"6.48288, 6.50532, 6.5826, 6.71832, 6.86484, 7.06092, 7.29912", \
"6.49488, 6.52704, 6.60504, 6.717, 6.87468, 7.0572, 7.2966", \
"6.48864, 6.50112, 6.579, 6.7026, 6.8622, 7.04676, 7.27248" \
)
}
fall_transition(q_slew_template) {
index_1 ("0.0100, 0.0286, 0.0937, 0.2182, 0.4121, 0.6842, 1.0423");
values ( \
"0.225528, 0.256824, 0.346536, 0.484368, 0.692532, 0.981636, 1.35192" \
)
}
}
}
pin(CLK) {
direction : input;
capacitance : 0.291776;
clock : true;
max_transition : 3.1779;
min_pulse_width_high : 2.693535;
min_pulse_width_low : 3.027885;
min_period : 8.26017;
/* 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.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ("342.144, 342.144, 342.144, 342.144, 342.144, 342.144, 342.144");
}
fall_power(power_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ("342.144, 342.144, 342.144, 342.144, 342.144, 342.144, 342.144");
}
}
/* DISABLED POWER */
internal_power() {
when : "CEN";
rise_power(power_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ("5.74068e-05, 5.74068e-05, 5.74068e-05, 5.74068e-05, 5.74068e-05, 5.74068e-05, 5.74068e-05");
}
fall_power(power_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ("5.74068e-05, 5.74068e-05, 5.74068e-05, 5.74068e-05, 5.74068e-05, 5.74068e-05, 5.74068e-05");
}
}
/* READ POWER */
internal_power() {
when : "!CEN & GWEN";
rise_power(power_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ("310.2, 310.2, 310.2, 310.2, 310.2, 310.2, 310.2");
}
fall_power(power_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ("310.2, 310.2, 310.2, 310.2, 310.2, 310.2, 310.2");
}
}
}
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.0177783;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ( \
"0.615582, 0.603482, 0.605308, 0.659263, 0.734778, 0.788898, 0.83402", \
"0.606804, 0.595078, 0.594726, 0.642697, 0.723932, 0.778008, 0.823174", \
"0.586443, 0.575806, 0.57706, 0.622204, 0.69421, 0.747494, 0.793353", \
"0.587026, 0.575872, 0.575938, 0.621764, 0.672903, 0.697455, 0.740894", \
"0.586113, 0.575487, 0.575619, 0.621434, 0.672573, 0.698357, 0.720082", \
"0.585046, 0.574695, 0.574926, 0.621192, 0.676643, 0.696872, 0.719829", \
"0.584771, 0.575091, 0.575795, 0.620389, 0.67639, 0.7238, 0.759968" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ( \
"0.54076, 0.549219, 0.583187, 0.665863, 0.788414, 0.926805, 1.07881", \
"0.540639, 0.548119, 0.582109, 0.661958, 0.78727, 0.925672, 1.07769", \
"0.540023, 0.546953, 0.580789, 0.66352, 0.784894, 0.924451, 1.07648", \
"0.537966, 0.546425, 0.580393, 0.660308, 0.785532, 0.924022, 1.07603", \
"0.538593, 0.546095, 0.580063, 0.66275, 0.78529, 0.923692, 1.07567", \
"0.537471, 0.545523, 0.579843, 0.662541, 0.785059, 0.92345, 1.07548", \
"0.538153, 0.545644, 0.579601, 0.662266, 0.784861, 0.923208, 1.07522" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ( \
"1.59214, 1.60336, 1.6027, 1.55749, 1.50425, 1.48115, 1.45882", \
"1.6005, 1.61161, 1.6115, 1.5719, 1.51195, 1.48896, 1.46652", \
"1.63438, 1.64505, 1.64373, 1.59863, 1.54539, 1.52295, 1.50007", \
"1.70808, 1.7193, 1.71919, 1.67332, 1.62228, 1.59764, 1.57476", \
"1.80114, 1.81181, 1.8117, 1.76583, 1.71468, 1.68894, 1.66716", \
"1.88034, 1.89068, 1.89046, 1.84415, 1.78871, 1.76847, 1.74559", \
"1.92753, 1.93721, 1.93644, 1.89189, 1.8359, 1.81566, 1.80521" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ( \
"1.64131, 1.63284, 1.59885, 1.51613, 1.39359, 1.25522, 1.10321", \
"1.64802, 1.64054, 1.60655, 1.52669, 1.4014, 1.26295, 1.11093", \
"1.6808, 1.67387, 1.6401, 1.55727, 1.43594, 1.29635, 1.14435", \
"1.75714, 1.74867, 1.71468, 1.63482, 1.50964, 1.37115, 1.21911", \
"1.84866, 1.84118, 1.80719, 1.72458, 1.60204, 1.46355, 1.31164", \
"1.92786, 1.91983, 1.88551, 1.80279, 1.68036, 1.54198, 1.38985", \
"1.97406, 1.96658, 1.9327, 1.84998, 1.72744, 1.58906, 1.43704" \
)
}
}
}
pin(GWEN) {
direction : input;
capacitance : 0.0481872;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ( \
"0.824824, 0.834053, 0.86845, 0.936298, 1.03161, 1.12426, 1.20478", \
"0.815166, 0.824637, 0.858066, 0.927344, 1.02243, 1.11507, 1.1955", \
"0.784003, 0.793353, 0.827101, 0.896093, 0.991529, 1.08308, 1.16426", \
"0.713801, 0.723877, 0.756965, 0.825979, 0.921888, 1.01372, 1.09412", \
"0.640134, 0.650067, 0.683287, 0.752312, 0.848485, 0.938047, 1.02069", \
"0.585376, 0.594429, 0.626164, 0.69718, 0.792869, 0.884895, 0.965349", \
"0.54868, 0.557194, 0.591778, 0.660473, 0.756305, 0.848826, 0.922273" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ( \
"0.919215, 0.925672, 0.973709, 1.06767, 1.21681, 1.40107, 1.60644", \
"0.907654, 0.917169, 0.964535, 1.05962, 1.20759, 1.39337, 1.59907", \
"0.878911, 0.885852, 0.933207, 1.02718, 1.17428, 1.36213, 1.56783", \
"0.806795, 0.815133, 0.863137, 0.957308, 1.10623, 1.29201, 1.4971", \
"0.734074, 0.741708, 0.789778, 0.883685, 1.03281, 1.21711, 1.42373", \
"0.68002, 0.68871, 0.734316, 0.828465, 0.977416, 1.16201, 1.36895", \
"0.641069, 0.64988, 0.697939, 0.791879, 0.939114, 1.12681, 1.33067" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ( \
"1.12762, 1.11986, 1.08614, 1.02475, 0.980155, 0.93588, 0.920205", \
"1.13486, 1.12746, 1.09377, 1.03228, 0.987767, 0.943514, 0.92785", \
"1.15155, 1.14404, 1.11034, 1.04895, 1.00418, 0.962291, 0.944405", \
"1.17062, 1.16322, 1.12954, 1.06818, 1.01394, 0.981508, 0.963622", \
"1.1935, 1.18598, 1.15229, 1.09088, 1.03666, 1.00243, 0.986359", \
"1.20341, 1.19589, 1.16234, 1.10079, 1.05717, 1.01412, 0.996237", \
"1.18718, 1.17928, 1.1462, 1.08482, 1.04121, 0.998151, 0.981376" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ( \
"0.57816, 0.572627, 0.52217, 0.42724, 0.287537, 0.10919, 0", \
"0.585992, 0.581713, 0.529782, 0.435083, 0.295178, 0.116593, 0", \
"0.606584, 0.598235, 0.546293, 0.451407, 0.314534, 0.133129, 0", \
"0.622105, 0.615978, 0.565488, 0.471449, 0.330748, 0.152276, 0", \
"0.662343, 0.652663, 0.607816, 0.510477, 0.360327, 0.188722, 0", \
"0.752411, 0.743391, 0.699248, 0.601843, 0.451682, 0.279781, 0.0846428", \
"0.830027, 0.820325, 0.775456, 0.678062, 0.530222, 0.354827, 0.160879" \
)
}
}
}
bus(WEN) {
bus_type : Q_BUS;
direction : input;
capacitance : 0.00764901;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ( \
"0, 0, 0, 0, 0.005907, 0.044704, 0.05995", \
"0, 0, 0, 0, 0, 0.036982, 0.051788", \
"0, 0, 0, 0, 0, 0.017853, 0.034177", \
"0, 0, 0, 0, 0, 0, 0.014069", \
"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.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ( \
"0.388608, 0.396902, 0.447073, 0.540661, 0.681604, 0.860827, 1.05669", \
"0.379478, 0.386507, 0.438977, 0.532543, 0.674608, 0.853072, 1.05541", \
"0.359447, 0.368126, 0.421399, 0.516164, 0.653972, 0.83545, 1.03761", \
"0.341297, 0.350141, 0.401269, 0.495154, 0.636394, 0.815155, 1.01364", \
"0.322212, 0.329912, 0.38104, 0.475662, 0.616209, 0.794948, 0.992838", \
"0.309155, 0.315557, 0.368203, 0.462286, 0.603801, 0.782188, 0.984456", \
"0.323829, 0.332024, 0.383097, 0.477928, 0.616517, 0.796807, 0.993036" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ( \
"1.12762, 1.11986, 1.08725, 1.02605, 0.980155, 0.93588, 0.920205", \
"1.13486, 1.12746, 1.09491, 1.03369, 0.987767, 0.943514, 0.92785", \
"1.15155, 1.14404, 1.11141, 1.0502, 1.00418, 0.962291, 0.944405", \
"1.17062, 1.16322, 1.13064, 1.06942, 1.01812, 0.981508, 0.963622", \
"1.1935, 1.18598, 1.15344, 1.09222, 1.04092, 1.00243, 0.986359", \
"1.20341, 1.19589, 1.16323, 1.10202, 1.05717, 1.01412, 0.996237", \
"1.18718, 1.17928, 1.14729, 1.08608, 1.04121, 0.998151, 0.981376" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ( \
"0.578864, 0.572627, 0.52217, 0.427504, 0.287537, 0.10919, 0", \
"0.585992, 0.581713, 0.529782, 0.43538, 0.295178, 0.116593, 0", \
"0.607013, 0.598235, 0.546293, 0.45166, 0.314534, 0.133129, 0", \
"0.622842, 0.615978, 0.565488, 0.471768, 0.330748, 0.152276, 0", \
"0.6457, 0.638814, 0.588324, 0.49368, 0.353518, 0.175335, 0", \
"0.65417, 0.649627, 0.598136, 0.504218, 0.363561, 0.184975, 0", \
"0.638187, 0.632654, 0.58223, 0.487597, 0.349547, 0.168978, 0" \
)
}
}
}
bus(A) {
bus_type : A_BUS;
direction : input;
capacitance : 0.0345983;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ( \
"0.793144, 0.783948, 0.786731, 0.836385, 0.914133, 0.959211, 1.01685", \
"0.784278, 0.776875, 0.780065, 0.828916, 0.907797, 0.955581, 1.00598", \
"0.768735, 0.759341, 0.762487, 0.809446, 0.889988, 0.945142, 0.988614", \
"0.748605, 0.739321, 0.743578, 0.790933, 0.871343, 0.924671, 0.968847", \
"0.726803, 0.718113, 0.723074, 0.770407, 0.850564, 0.893607, 0.947485", \
"0.714758, 0.707047, 0.710083, 0.760474, 0.837749, 0.893332, 0.934989", \
"0.728706, 0.720621, 0.724757, 0.774103, 0.852797, 0.904486, 0.954602" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ( \
"0.95733, 0.963534, 0.996743, 1.08019, 1.21057, 1.35751, 1.51679", \
"0.950444, 0.953876, 0.991155, 1.07315, 1.2011, 1.35025, 1.51789", \
"0.932844, 0.935506, 0.972862, 1.05687, 1.18217, 1.33276, 1.49985", \
"0.913385, 0.917983, 0.953755, 1.0343, 1.16496, 1.31307, 1.4795", \
"0.891759, 0.898007, 0.932657, 1.01628, 1.1441, 1.28975, 1.46278", \
"0.877844, 0.884191, 0.921316, 1.0032, 1.13418, 1.28641, 1.44837", \
"0.893233, 0.899987, 0.934505, 1.01638, 1.14474, 1.29437, 1.45354" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ( \
"0.680779, 0.687863, 0.677963, 0.659571, 0.64999, 0.645535, 0.632511", \
"0.693704, 0.700601, 0.690734, 0.670098, 0.662761, 0.658306, 0.645293", \
"0.727529, 0.73436, 0.724471, 0.706068, 0.696432, 0.692021, 0.679019", \
"0.791615, 0.798435, 0.788568, 0.770165, 0.760584, 0.756118, 0.743116", \
"0.885951, 0.89287, 0.883487, 0.864578, 0.854997, 0.850553, 0.837529", \
"0.953304, 0.960311, 0.951291, 0.932052, 0.922405, 0.917994, 0.904992", \
"1.01115, 1.01811, 1.00824, 0.989835, 0.980199, 0.975788, 0.962786" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ( \
"0.719543, 0.71104, 0.673662, 0.633237, 0.604692, 0.596849, 0.602965", \
"0.732325, 0.724174, 0.686433, 0.646008, 0.62117, 0.60962, 0.615736", \
"0.76604, 0.7579, 0.72017, 0.679745, 0.652311, 0.643929, 0.649473", \
"0.830093, 0.821997, 0.784267, 0.743842, 0.719015, 0.707454, 0.71357", \
"0.92455, 0.916025, 0.87868, 0.838244, 0.813406, 0.801856, 0.807972", \
"0.991969, 0.983873, 0.946143, 0.905718, 0.880891, 0.86933, 0.875446", \
"1.04982, 1.04167, 1.00394, 0.963512, 0.934967, 0.927124, 0.93324" \
)
}
}
}
bus(D) {
bus_type : Q_BUS;
memory_write() {
address : A;
clocked_on : "CLK";
}
direction : input;
capacitance : 0.0164468;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ( \
"0.722513, 0.733436, 0.75658, 0.777205, 0.778657, 0.741862, 0.667579", \
"0.716958, 0.720203, 0.751476, 0.770055, 0.770473, 0.737946, 0.661716", \
"0.699677, 0.700007, 0.734382, 0.75339, 0.751113, 0.720346, 0.645788", \
"0.681439, 0.685949, 0.716276, 0.731995, 0.730697, 0.700414, 0.625251", \
"0.659802, 0.666831, 0.69333, 0.714428, 0.711656, 0.676797, 0.605561", \
"0.644655, 0.647669, 0.684651, 0.701481, 0.701349, 0.665676, 0.593164", \
"0.658812, 0.666556, 0.697774, 0.711689, 0.712954, 0.678821, 0.606639" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ( \
"0.164921, 0.163773, 0.209283, 0.313093, 0.464948, 0.65219, 0.882046", \
"0.156597, 0.159922, 0.202361, 0.306163, 0.458007, 0.645645, 0.874808", \
"0.140339, 0.142965, 0.184732, 0.288599, 0.440451, 0.628672, 0.858605", \
"0.121617, 0.125183, 0.164703, 0.267367, 0.42042, 0.607662, 0.839168", \
"0.100359, 0.104277, 0.143246, 0.247669, 0.39952, 0.58784, 0.818356", \
"0.0867493, 0.0928741, 0.132404, 0.235077, 0.388146, 0.576235, 0.806432", \
"0.100955, 0.106499, 0.145966, 0.249831, 0.401698, 0.589787, 0.820028" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ( \
"0.542663, 0.528715, 0.500885, 0.485441, 0.485045, 0.521092, 0.592086", \
"0.54054, 0.537317, 0.506605, 0.490831, 0.48884, 0.523347, 0.596508", \
"0.565378, 0.556578, 0.527582, 0.510829, 0.510752, 0.542597, 0.61578", \
"0.578919, 0.575872, 0.545083, 0.52899, 0.528726, 0.562529, 0.636988", \
"0.601964, 0.596651, 0.567875, 0.548801, 0.549175, 0.585871, 0.65329", \
"0.620136, 0.608311, 0.57959, 0.556094, 0.560791, 0.593406, 0.666809", \
"0.604516, 0.593065, 0.564476, 0.546854, 0.546458, 0.577192, 0.653532" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
index_2 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ( \
"0.856911, 0.858253, 0.815287, 0.709841, 0.55836, 0.369655, 0.143765", \
"0.863225, 0.861102, 0.821172, 0.715726, 0.564234, 0.37554, 0.149647", \
"0.882101, 0.879956, 0.840422, 0.734976, 0.583484, 0.394779, 0.168892", \
"0.900504, 0.898359, 0.858836, 0.75339, 0.601909, 0.413204, 0.186578", \
"0.921503, 0.918819, 0.879142, 0.773839, 0.622347, 0.433642, 0.207022", \
"0.934472, 0.932327, 0.892793, 0.787347, 0.635855, 0.447161, 0.221267", \
"0.919523, 0.916179, 0.8767, 0.771254, 0.619773, 0.431068, 0.205176" \
)
}
}
}
cell_leakage_power : 5.74068e-05;
}
}