blob: 289514b296eeb39ef234661353429c26fa1d258b [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__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 : 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.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.9234, 6.95652, 7.03452, 7.17396, 7.3776, 7.65684, 8.0352", \
"6.91956, 6.95424, 7.035, 7.1754, 7.38084, 7.6608, 8.0238", \
"6.9432, 6.9624, 7.05048, 7.19136, 7.4088, 7.67436, 8.0724", \
"6.9738, 6.9912, 7.08108, 7.22916, 7.42416, 7.704, 8.0772", \
"6.98856, 7.02672, 7.09632, 7.23984, 7.44456, 7.73736, 8.09448", \
"7.00092, 7.04172, 7.11504, 7.25664, 7.46064, 7.75836, 8.13084", \
"7.00104, 7.02072, 7.104, 7.2438, 7.44984, 7.73256, 8.10336" \
)
}
rise_transition(q_slew_template) {
index_1 ("0.0100, 0.0286, 0.0937, 0.2182, 0.4121, 0.6842, 1.0423");
values ( \
"0.227676, 0.266148, 0.399252, 0.646284, 1.03256, 1.59804, 2.33544" \
)
}
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 ( \
"7.17732, 7.20636, 7.2762, 7.3968, 7.55184, 7.7292, 7.97664", \
"7.1754, 7.20504, 7.27392, 7.39608, 7.5558, 7.73496, 7.96656", \
"7.19184, 7.21116, 7.29408, 7.41468, 7.57452, 7.7562, 8.01096", \
"7.22556, 7.24188, 7.32672, 7.45092, 7.59864, 7.7832, 8.01732", \
"7.24164, 7.27764, 7.34172, 7.46136, 7.614, 7.81248, 8.03592", \
"7.25136, 7.29696, 7.35468, 7.47636, 7.62948, 7.83264, 8.06604", \
"7.25364, 7.26672, 7.34784, 7.46424, 7.61688, 7.80852, 8.04" \
)
}
fall_transition(q_slew_template) {
index_1 ("0.0100, 0.0286, 0.0937, 0.2182, 0.4121, 0.6842, 1.0423");
values ( \
"0.228072, 0.25524, 0.345948, 0.484512, 0.691248, 0.986772, 1.35444" \
)
}
}
}
pin(CLK) {
direction : input;
capacitance : 0.293159;
clock : true;
max_transition : 3.1779;
min_pulse_width_high : 3.58023;
min_pulse_width_low : 3.33447;
min_period : 9.24063;
/* 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 ("408.606, 408.606, 408.606, 408.606, 408.606, 408.606, 408.606");
}
fall_power(power_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ("408.606, 408.606, 408.606, 408.606, 408.606, 408.606, 408.606");
}
}
/* 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 ("0.000271659, 0.000271659, 0.000271659, 0.000271659, 0.000271659, 0.000271659, 0.000271659");
}
fall_power(power_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ("0.000271659, 0.000271659, 0.000271659, 0.000271659, 0.000271659, 0.000271659, 0.000271659");
}
}
/* 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 ("369.6, 369.6, 369.6, 369.6, 369.6, 369.6, 369.6");
}
fall_power(power_template) {
index_1 ("0.0200, 0.0768, 0.2762, 0.6570, 1.2503, 2.0822, 3.1779");
values ("369.6, 369.6, 369.6, 369.6, 369.6, 369.6, 369.6");
}
}
}
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.01827;
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.612843, 0.599731, 0.603845, 0.657217, 0.736076, 0.787589, 0.826936", \
"0.602283, 0.589182, 0.592801, 0.646679, 0.725516, 0.777007, 0.816343", \
"0.585101, 0.576026, 0.575718, 0.621478, 0.691548, 0.746086, 0.785323", \
"0.586025, 0.574739, 0.575465, 0.621214, 0.676643, 0.696036, 0.735427", \
"0.584375, 0.57541, 0.575036, 0.620851, 0.676225, 0.696542, 0.719455", \
"0.584903, 0.574156, 0.574893, 0.620631, 0.676071, 0.695464, 0.719191", \
"0.585189, 0.575234, 0.574618, 0.620367, 0.675147, 0.724823, 0.763081" \
)
}
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.541519, 0.549307, 0.58278, 0.663564, 0.789701, 0.927014, 1.07832", \
"0.540804, 0.547723, 0.581603, 0.662442, 0.786786, 0.926486, 1.07716", \
"0.539033, 0.54637, 0.580932, 0.659857, 0.778998, 0.925045, 1.07572", \
"0.538989, 0.546458, 0.579898, 0.66066, 0.778525, 0.924132, 1.07545", \
"0.537999, 0.545776, 0.580217, 0.659241, 0.778162, 0.923076, 1.07509", \
"0.538527, 0.545556, 0.579293, 0.659021, 0.784542, 0.923571, 1.07484", \
"0.537856, 0.545171, 0.579788, 0.659813, 0.784245, 0.923945, 1.0746" \
)
}
}
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.59346, 1.60347, 1.60281, 1.55804, 1.5015, 1.48214, 1.45838", \
"1.6016, 1.61161, 1.61095, 1.56618, 1.50964, 1.49028, 1.46652", \
"1.6335, 1.64263, 1.64285, 1.59709, 1.54462, 1.52229, 1.49864", \
"1.70797, 1.7193, 1.71853, 1.67277, 1.61733, 1.59808, 1.57421", \
"1.79795, 1.80686, 1.8073, 1.76143, 1.7061, 1.68575, 1.66287", \
"1.88386, 1.89464, 1.89387, 1.84811, 1.79267, 1.77331, 1.74955", \
"1.93138, 1.94128, 1.94194, 1.89618, 1.8414, 1.82039, 1.79762" \
)
}
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.63955, 1.63174, 1.5983, 1.51745, 1.39139, 1.25404, 1.10274", \
"1.64725, 1.64032, 1.60644, 1.52559, 1.40118, 1.26154, 1.11086", \
"1.67959, 1.67222, 1.63768, 1.5587, 1.43957, 1.29357, 1.1429", \
"1.75505, 1.74757, 1.71413, 1.63339, 1.51547, 1.36994, 1.21859", \
"1.84426, 1.83656, 1.80213, 1.72304, 1.60413, 1.45926, 1.30724", \
"1.93017, 1.92324, 1.88947, 1.80972, 1.68421, 1.54517, 1.39392", \
"1.97868, 1.97131, 1.93677, 1.85669, 1.73228, 1.59258, 1.44188" \
)
}
}
}
pin(GWEN) {
direction : input;
capacitance : 0.0480111;
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.823812, 0.834031, 0.867086, 0.936188, 1.03114, 1.12515, 1.204", \
"0.81433, 0.824263, 0.857769, 0.926871, 1.02167, 1.1157, 1.19408", \
"0.782056, 0.792264, 0.825495, 0.894487, 0.989593, 1.08284, 1.16228", \
"0.714472, 0.724526, 0.757702, 0.826826, 0.921624, 1.01565, 1.0945", \
"0.644413, 0.654456, 0.687687, 0.756778, 0.851565, 0.94556, 1.02454", \
"0.58454, 0.594616, 0.6281, 0.697224, 0.792154, 0.88605, 0.963116", \
"0.548504, 0.558272, 0.591734, 0.660253, 0.755656, 0.849112, 0.928059" \
)
}
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.917543, 0.924572, 0.971333, 1.0668, 1.21642, 1.40173, 1.60677", \
"0.910195, 0.915101, 0.961884, 1.05737, 1.20591, 1.39205, 1.59533", \
"0.878163, 0.882871, 0.926992, 1.02509, 1.16882, 1.35982, 1.5631", \
"0.810381, 0.815067, 0.861355, 0.957297, 1.10048, 1.29216, 1.49534", \
"0.738133, 0.745052, 0.789162, 0.887293, 1.03074, 1.22197, 1.42725", \
"0.678634, 0.685388, 0.733271, 0.827695, 0.976294, 1.16254, 1.36576", \
"0.642202, 0.649033, 0.693066, 0.79134, 0.940302, 1.12598, 1.33056" \
)
}
}
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.18247, 1.17357, 1.13966, 1.07916, 1.03014, 0.991661, 0.981893", \
"1.18807, 1.17972, 1.14524, 1.08473, 1.03439, 0.997238, 0.98747", \
"1.20634, 1.19751, 1.16361, 1.1031, 1.05373, 1.01581, 1.00585", \
"1.22243, 1.21355, 1.17965, 1.11915, 1.07012, 1.03165, 1.02188", \
"1.25178, 1.24242, 1.20853, 1.14795, 1.099, 1.06052, 1.05075", \
"1.25957, 1.25068, 1.21678, 1.15621, 1.10733, 1.06878, 1.05905", \
"1.24632, 1.23744, 1.20354, 1.14304, 1.09402, 1.05554, 1.04578" \
)
}
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.633259, 0.627088, 0.581339, 0.486178, 0.340505, 0.164949, 0", \
"0.641168, 0.633138, 0.586608, 0.491711, 0.348568, 0.170074, 0", \
"0.660473, 0.651486, 0.606837, 0.510092, 0.373978, 0.18847, 0", \
"0.676522, 0.667876, 0.618915, 0.526108, 0.388905, 0.205104, 0.005742", \
"0.703186, 0.696784, 0.65175, 0.554994, 0.42009, 0.23329, 0.034034", \
"0.753698, 0.745107, 0.699215, 0.602063, 0.452397, 0.278688, 0.0854788", \
"0.830621, 0.821414, 0.778217, 0.678337, 0.528374, 0.355179, 0.161108" \
)
}
}
}
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, 0, 0.004906", \
"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.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.336743, 0.342419, 0.39193, 0.483923, 0.628837, 0.805519, 1.00633", \
"0.327085, 0.336171, 0.38577, 0.477873, 0.620466, 0.799986, 0.998679", \
"0.306845, 0.315931, 0.363506, 0.457633, 0.597366, 0.778921, 0.979649", \
"0.293207, 0.302207, 0.35123, 0.443597, 0.581328, 0.764643, 0.964722", \
"0.264718, 0.272611, 0.319935, 0.414117, 0.55264, 0.736098, 0.937772", \
"0.255087, 0.263103, 0.311905, 0.404536, 0.548064, 0.726176, 0.926717", \
"0.270129, 0.278254, 0.324896, 0.419991, 0.564773, 0.742038, 0.938751" \
)
}
}
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.18295, 1.1751, 1.14313, 1.08192, 1.0306, 0.991683, 0.981893", \
"1.18853, 1.18067, 1.14871, 1.08749, 1.03619, 0.997271, 0.98747", \
"1.2069, 1.19904, 1.16707, 1.10585, 1.05455, 1.01581, 1.00585", \
"1.22296, 1.2151, 1.18314, 1.12192, 1.07061, 1.0317, 1.02188", \
"1.2518, 1.24395, 1.21198, 1.15077, 1.09946, 1.06054, 1.05075", \
"1.26014, 1.25228, 1.22032, 1.1591, 1.1078, 1.06888, 1.05905", \
"1.24686, 1.23902, 1.20704, 1.14583, 1.09452, 1.0556, 1.04578" \
)
}
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.633644, 0.627088, 0.581339, 0.486178, 0.34221, 0.166309, 0", \
"0.641685, 0.633138, 0.586608, 0.491711, 0.350141, 0.171576, 0", \
"0.660902, 0.651486, 0.606837, 0.510092, 0.373978, 0.189939, 0", \
"0.67694, 0.667876, 0.618915, 0.526108, 0.389554, 0.206381, 0.010109", \
"0.703483, 0.696784, 0.65175, 0.554994, 0.42009, 0.234784, 0.034034", \
"0.711293, 0.704495, 0.657811, 0.563354, 0.42174, 0.243569, 0.047289", \
"0.699501, 0.691427, 0.646668, 0.55, 0.406934, 0.229913, 0.032912" \
)
}
}
}
bus(A) {
bus_type : A_BUS;
direction : input;
capacitance : 0.0401976;
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.927531, 0.921415, 0.926255, 0.974149, 1.05517, 1.119, 1.1672", \
"0.919204, 0.913077, 0.921525, 0.970101, 1.05143, 1.1155, 1.16056", \
"0.900504, 0.894179, 0.897193, 0.948772, 1.02886, 1.09529, 1.13702", \
"0.885929, 0.882728, 0.884554, 0.9339, 1.01702, 1.08132, 1.1268", \
"0.856009, 0.849123, 0.853138, 0.904772, 0.986106, 1.05075, 1.0942", \
"0.844118, 0.841698, 0.845713, 0.894993, 0.977174, 1.04117, 1.08379", \
"0.867581, 0.855503, 0.859881, 0.911141, 0.99011, 1.05724, 1.10372" \
)
}
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.28151, 1.29789, 1.33397, 1.41955, 1.55375, 1.70258, 1.87616", \
"1.28539, 1.29282, 1.3266, 1.41031, 1.54363, 1.69796, 1.86637", \
"1.26179, 1.26672, 1.31021, 1.38479, 1.51987, 1.67893, 1.84844", \
"1.24512, 1.25588, 1.29174, 1.37335, 1.5048, 1.6632, 1.83601", \
"1.21519, 1.22553, 1.26427, 1.34288, 1.47763, 1.62789, 1.80664", \
"1.21045, 1.21243, 1.25155, 1.33122, 1.46652, 1.62206, 1.79652", \
"1.2242, 1.23344, 1.26839, 1.34959, 1.48236, 1.64164, 1.80906" \
)
}
}
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.697433, 0.704792, 0.696707, 0.678095, 0.668107, 0.659835, 0.649253", \
"0.708851, 0.716287, 0.708191, 0.689579, 0.679602, 0.671319, 0.660737", \
"0.742335, 0.74954, 0.741433, 0.722832, 0.712855, 0.704583, 0.694001", \
"0.808049, 0.815463, 0.807378, 0.788766, 0.778778, 0.770506, 0.759935", \
"0.902792, 0.910151, 0.902066, 0.883454, 0.873466, 0.865194, 0.854612", \
"0.968242, 0.975667, 0.967571, 0.948959, 0.938971, 0.93071, 0.920117", \
"1.02463, 1.03378, 1.0257, 1.00707, 0.997095, 0.988823, 0.978241" \
)
}
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.732336, 0.723283, 0.68541, 0.641905, 0.61721, 0.608872, 0.614658", \
"0.743798, 0.734921, 0.696894, 0.653389, 0.628683, 0.620345, 0.626142", \
"0.77704, 0.768163, 0.730147, 0.686653, 0.661947, 0.653609, 0.659406", \
"0.842996, 0.834097, 0.796081, 0.752587, 0.727859, 0.719521, 0.725329", \
"0.937673, 0.928785, 0.890769, 0.847264, 0.822547, 0.814209, 0.820017", \
"1.00318, 0.99429, 0.956274, 0.91278, 0.888052, 0.879736, 0.885533", \
"1.06109, 1.05238, 1.01439, 0.970893, 0.946187, 0.937849, 0.943646" \
)
}
}
}
bus(D) {
bus_type : Q_BUS;
memory_write() {
address : A;
clocked_on : "CLK";
}
direction : input;
capacitance : 0.0166433;
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.673915, 0.685487, 0.715605, 0.730136, 0.730642, 0.698412, 0.624811", \
"0.670571, 0.680999, 0.706948, 0.72578, 0.724328, 0.694188, 0.620708", \
"0.649682, 0.655336, 0.686488, 0.704561, 0.704462, 0.671231, 0.596992", \
"0.636647, 0.642279, 0.674388, 0.689876, 0.689425, 0.657107, 0.581746", \
"0.608025, 0.615912, 0.643357, 0.657778, 0.657525, 0.626043, 0.553432", \
"0.596376, 0.601777, 0.636449, 0.647735, 0.650221, 0.616077, 0.545952", \
"0.612645, 0.618112, 0.649253, 0.665775, 0.665698, 0.631774, 0.557425" \
)
}
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.118923, 0.124299, 0.164125, 0.267174, 0.420365, 0.608333, 0.83864", \
"0.116481, 0.119727, 0.156112, 0.261004, 0.414678, 0.601216, 0.832986", \
"0.0926827, 0.0983312, 0.1377, 0.240265, 0.393965, 0.581669, 0.812966", \
"0.078155, 0.081972, 0.123365, 0.226406, 0.379599, 0.567677, 0.798633", \
"0.048741, 0.049753, 0.0926266, 0.195653, 0.348865, 0.536008, 0.767074", \
"0.040304, 0.045067, 0.0844338, 0.187476, 0.34067, 0.528627, 0.757636", \
"0.055297, 0.05973, 0.0995115, 0.202474, 0.357214, 0.543785, 0.772959" \
)
}
}
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.592383, 0.581185, 0.545171, 0.534996, 0.534985, 0.566137, 0.635899", \
"0.595606, 0.585673, 0.557491, 0.539176, 0.53955, 0.571923, 0.644963", \
"0.617639, 0.608146, 0.576169, 0.559856, 0.560967, 0.591844, 0.666347", \
"0.627088, 0.620499, 0.584793, 0.574618, 0.573958, 0.605759, 0.675532", \
"0.651101, 0.650771, 0.61666, 0.604362, 0.604472, 0.636284, 0.710303", \
"0.665973, 0.65923, 0.623392, 0.612623, 0.613415, 0.651288, 0.718388", \
"0.657349, 0.641729, 0.611226, 0.599742, 0.600358, 0.63151, 0.705551" \
)
}
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.906411, 0.904607, 0.864754, 0.759275, 0.607816, 0.419111, 0.193216", \
"0.911361, 0.909073, 0.86955, 0.764082, 0.612612, 0.423918, 0.198024", \
"0.931909, 0.930204, 0.89045, 0.784982, 0.633512, 0.444818, 0.218926", \
"0.946033, 0.94391, 0.904365, 0.798897, 0.647438, 0.458733, 0.232844", \
"0.97669, 0.977669, 0.93489, 0.829444, 0.677952, 0.489258, 0.263362", \
"0.984797, 0.982718, 0.942975, 0.837507, 0.686037, 0.497343, 0.271448", \
"0.971949, 0.96998, 0.930127, 0.82467, 0.673178, 0.484484, 0.257858" \
)
}
}
}
cell_leakage_power : 0.0002716593;
}
}