blob: 308090cbcafe9fba7fe79a3d674d51316ba27723 [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__tt_025C_5v00) {
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 : 5.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 : 1.547;
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, 5.0);
voltage_map (VSS, 0.00);
operating_conditions(tt_5p0v_25C) {
process : 1;
temperature : 25;
voltage : 5.0;
tree_type : balanced_tree;
}
default_operating_conditions : tt_5p0v_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 : 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.119;
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.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.01, 0.02994, 0.09995, 0.2336, 0.4419, 0.7342, 1.119");
values ( \
"4.56924, 4.58664, 4.647, 4.74636, 4.8942, 5.0994, 5.36832", \
"4.5726, 4.58808, 4.65036, 4.74732, 4.8972, 5.10216, 5.3682", \
"4.57788, 4.5966, 4.65096, 4.75116, 4.90224, 5.1084, 5.37408", \
"4.58376, 4.60212, 4.66188, 4.761, 4.911, 5.11476, 5.38416", \
"4.59036, 4.6062, 4.66932, 4.76688, 4.91916, 5.121, 5.39028", \
"4.59924, 4.61844, 4.67292, 4.77552, 4.91916, 5.12604, 5.39652", \
"4.58808, 4.6104, 4.66632, 4.76412, 4.91076, 5.11704, 5.38512" \
)
}
rise_transition(q_slew_template) {
index_1 ("0.01, 0.02994, 0.09995, 0.2336, 0.4419, 0.7342, 1.119");
values ( \
"0.16728, 0.193944, 0.293448, 0.47322, 0.760944, 1.18441, 1.73928" \
)
}
cell_fall(q_delay_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.01, 0.02994, 0.09995, 0.2336, 0.4419, 0.7342, 1.119");
values ( \
"4.71576, 4.73436, 4.79244, 4.88376, 5.0052, 5.15532, 5.35128", \
"4.7178, 4.73592, 4.7952, 4.88532, 5.00844, 5.16204, 5.34984", \
"4.72368, 4.74216, 4.79928, 4.88916, 5.0124, 5.16552, 5.3568", \
"4.72848, 4.7508, 4.80864, 4.8996, 5.01948, 5.1726, 5.36388", \
"4.73496, 4.755, 4.81572, 4.90644, 5.03088, 5.17776, 5.37192", \
"4.74444, 4.7658, 4.82196, 4.9146, 5.0298, 5.18496, 5.37792", \
"4.73496, 4.75788, 4.81104, 4.90116, 5.02224, 5.17548, 5.36976" \
)
}
fall_transition(q_slew_template) {
index_1 ("0.01, 0.02994, 0.09995, 0.2336, 0.4419, 0.7342, 1.119");
values ( \
"0.175236, 0.196392, 0.263148, 0.378876, 0.5466, 0.788136, 1.10702" \
)
}
}
}
pin(CLK) {
direction : input;
capacitance : 0.298056;
clock : true;
max_transition : 1.547;
min_pulse_width_high : 2.6907;
min_pulse_width_low : 2.666055;
min_period : 6.11805;
/* 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.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ("939.625, 939.625, 939.625, 939.625, 939.625, 939.625, 939.625");
}
fall_power(power_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ("939.625, 939.625, 939.625, 939.625, 939.625, 939.625, 939.625");
}
}
/* DISABLED POWER */
internal_power() {
when : "CEN";
rise_power(power_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ("0.000343015, 0.000343015, 0.000343015, 0.000343015, 0.000343015, 0.000343015, 0.000343015");
}
fall_power(power_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ("0.000343015, 0.000343015, 0.000343015, 0.000343015, 0.000343015, 0.000343015, 0.000343015");
}
}
/* READ POWER */
internal_power() {
when : "!CEN & GWEN";
rise_power(power_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ("841.225, 841.225, 841.225, 841.225, 841.225, 841.225, 841.225");
}
fall_power(power_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ("841.225, 841.225, 841.225, 841.225, 841.225, 841.225, 841.225");
}
}
}
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.0182857;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ( \
"0.435039, 0.43054, 0.423115, 0.429814, 0.454465, 0.485716, 0.522511", \
"0.433994, 0.429308, 0.422136, 0.429077, 0.45342, 0.485859, 0.516164", \
"0.432421, 0.429264, 0.421146, 0.428054, 0.448701, 0.474155, 0.507628", \
"0.431508, 0.428241, 0.420816, 0.427867, 0.452199, 0.474276, 0.488114", \
"0.431926, 0.427966, 0.420651, 0.427515, 0.448107, 0.473935, 0.493053", \
"0.432553, 0.42746, 0.420079, 0.427229, 0.451572, 0.473649, 0.484836", \
"0.432366, 0.428186, 0.420123, 0.425447, 0.451396, 0.473143, 0.490556" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ( \
"0.406043, 0.407836, 0.418022, 0.444125, 0.495627, 0.558151, 0.627693", \
"0.40491, 0.407033, 0.416977, 0.443168, 0.494659, 0.555731, 0.626714", \
"0.403579, 0.406153, 0.415976, 0.442134, 0.493119, 0.556094, 0.62414", \
"0.404558, 0.405812, 0.415778, 0.441892, 0.493405, 0.554532, 0.625438", \
"0.403425, 0.405493, 0.415415, 0.441584, 0.49302, 0.555555, 0.625086", \
"0.40293, 0.405218, 0.415151, 0.441991, 0.491645, 0.555269, 0.624811", \
"0.402787, 0.405064, 0.414975, 0.441012, 0.491502, 0.555093, 0.623139" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ( \
"1.10807, 1.11256, 1.12, 1.11329, 1.08865, 1.07075, 1.04697", \
"1.114, 1.11869, 1.12586, 1.11892, 1.09458, 1.07467, 1.05867", \
"1.12508, 1.12824, 1.13636, 1.12945, 1.1088, 1.08335, 1.06281", \
"1.1552, 1.15848, 1.1659, 1.15885, 1.13452, 1.11243, 1.0986", \
"1.19611, 1.20007, 1.20737, 1.20052, 1.17992, 1.1541, 1.13497", \
"1.2305, 1.23559, 1.24298, 1.23582, 1.21147, 1.1894, 1.17821", \
"1.25854, 1.26273, 1.27083, 1.26544, 1.23952, 1.21778, 1.20129" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ( \
"1.13707, 1.13528, 1.12508, 1.09898, 1.04749, 0.984951, 0.91542", \
"1.14309, 1.14098, 1.13102, 1.10483, 1.05334, 0.992266, 0.921283", \
"1.15392, 1.15135, 1.14153, 1.11536, 1.06438, 1.00141, 0.933361", \
"1.18216, 1.18089, 1.17094, 1.14483, 1.09331, 1.03219, 0.961279", \
"1.22461, 1.22254, 1.21261, 1.18645, 1.13501, 1.07248, 1.00295", \
"1.26012, 1.25784, 1.24789, 1.22106, 1.1714, 1.10778, 1.03825", \
"1.2881, 1.2859, 1.276, 1.24991, 1.19942, 1.13583, 1.06778" \
)
}
}
}
pin(GWEN) {
direction : input;
capacitance : 0.0494975;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ( \
"0.59026, 0.593956, 0.60588, 0.633644, 0.678403, 0.734525, 0.790658", \
"0.588511, 0.592196, 0.603867, 0.631961, 0.676654, 0.733403, 0.789767", \
"0.575058, 0.579766, 0.591668, 0.619311, 0.664169, 0.721083, 0.775533", \
"0.549054, 0.553718, 0.5654, 0.593329, 0.638209, 0.6952, 0.749793", \
"0.506539, 0.510169, 0.521928, 0.549802, 0.594605, 0.651376, 0.705078", \
"0.466862, 0.471548, 0.4829, 0.511115, 0.555973, 0.612964, 0.667788", \
"0.430166, 0.434654, 0.446182, 0.47443, 0.519288, 0.576312, 0.630322" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ( \
"0.628111, 0.631158, 0.649693, 0.68926, 0.756932, 0.846945, 0.951995", \
"0.625702, 0.62964, 0.647757, 0.687918, 0.755348, 0.845064, 0.95062", \
"0.613855, 0.617177, 0.63547, 0.675037, 0.741048, 0.832722, 0.937783", \
"0.586729, 0.591074, 0.609301, 0.647911, 0.716683, 0.806564, 0.912582", \
"0.543499, 0.547712, 0.565785, 0.604329, 0.673277, 0.763037, 0.868307", \
"0.504691, 0.508871, 0.527098, 0.565323, 0.634777, 0.724636, 0.829928", \
"0.468633, 0.472274, 0.49038, 0.528935, 0.597927, 0.687654, 0.793144" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ( \
"0.846736, 0.845548, 0.833822, 0.807598, 0.777843, 0.751652, 0.73326", \
"0.850333, 0.849035, 0.837496, 0.811305, 0.781396, 0.755766, 0.736901", \
"0.850223, 0.84964, 0.837474, 0.81103, 0.781495, 0.755865, 0.737022", \
"0.855921, 0.855756, 0.843557, 0.817212, 0.787446, 0.761728, 0.742874", \
"0.865766, 0.865271, 0.853083, 0.826672, 0.79673, 0.771045, 0.752708", \
"0.86845, 0.86724, 0.855756, 0.829455, 0.799601, 0.773971, 0.755106", \
"0.862741, 0.861322, 0.849871, 0.823559, 0.793705, 0.768064, 0.748704" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ( \
"0.475178, 0.471449, 0.452903, 0.410696, 0.344223, 0.26255, 0.159353", \
"0.480084, 0.474012, 0.455334, 0.413985, 0.348403, 0.266961, 0.162017", \
"0.477565, 0.473605, 0.455906, 0.413941, 0.348975, 0.265719, 0.160392", \
"0.484011, 0.479853, 0.461582, 0.421256, 0.355124, 0.272941, 0.169489", \
"0.493284, 0.489808, 0.471097, 0.430573, 0.364309, 0.2794, 0.177078", \
"0.51986, 0.515108, 0.496705, 0.458843, 0.3872, 0.298661, 0.199863", \
"0.574486, 0.570229, 0.552299, 0.513513, 0.443003, 0.35508, 0.255575" \
)
}
}
}
bus(WEN) {
bus_type : Q_BUS;
direction : input;
capacitance : 0.00784667;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
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.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ( \
"0.255199, 0.259273, 0.277871, 0.319352, 0.384956, 0.467346, 0.570658", \
"0.248316, 0.255679, 0.273519, 0.315436, 0.379676, 0.461428, 0.566852", \
"0.251206, 0.255124, 0.272809, 0.315337, 0.379698, 0.462836, 0.568304", \
"0.245983, 0.250582, 0.268654, 0.308847, 0.375397, 0.456104, 0.560967", \
"0.236476, 0.240114, 0.25853, 0.298551, 0.365376, 0.44902, 0.552475", \
"0.232035, 0.236233, 0.255134, 0.294943, 0.362582, 0.444587, 0.547316", \
"0.234754, 0.242908, 0.260467, 0.300751, 0.368522, 0.452265, 0.554884" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ( \
"0.846736, 0.845548, 0.834251, 0.808423, 0.777843, 0.751652, 0.73326", \
"0.850333, 0.849035, 0.837749, 0.811921, 0.781396, 0.755766, 0.736901", \
"0.850223, 0.84964, 0.837749, 0.811921, 0.781495, 0.755865, 0.737022", \
"0.855921, 0.855756, 0.8437, 0.817872, 0.787446, 0.761728, 0.742874", \
"0.865766, 0.865271, 0.853083, 0.826881, 0.79673, 0.771045, 0.752708", \
"0.86845, 0.86724, 0.855943, 0.830115, 0.799601, 0.773971, 0.755106", \
"0.862741, 0.861322, 0.850014, 0.824186, 0.793705, 0.768064, 0.748704" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ( \
"0.475178, 0.471449, 0.452903, 0.411895, 0.344784, 0.262831, 0.159353", \
"0.48026, 0.474232, 0.455873, 0.415877, 0.349316, 0.268338, 0.162017", \
"0.477565, 0.473979, 0.455906, 0.41459, 0.348975, 0.265719, 0.160392", \
"0.484011, 0.479853, 0.461582, 0.422323, 0.355124, 0.274344, 0.169489", \
"0.493944, 0.489808, 0.471097, 0.431629, 0.364309, 0.2794, 0.177078", \
"0.496837, 0.492591, 0.473682, 0.434445, 0.365838, 0.28424, 0.180464", \
"0.493526, 0.487025, 0.46794, 0.428692, 0.360217, 0.276254, 0.173187" \
)
}
}
}
bus(A) {
bus_type : A_BUS;
direction : input;
capacitance : 0.0404163;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ( \
"0.514866, 0.51073, 0.505769, 0.511808, 0.547426, 0.58674, 0.621632", \
"0.510818, 0.506671, 0.501897, 0.511709, 0.542883, 0.583121, 0.615648", \
"0.511302, 0.505835, 0.500544, 0.50974, 0.542168, 0.581658, 0.616121", \
"0.505076, 0.49973, 0.495715, 0.504823, 0.53746, 0.577478, 0.611006", \
"0.494989, 0.491425, 0.485474, 0.494461, 0.527098, 0.56683, 0.600765", \
"0.493042, 0.487817, 0.482383, 0.491645, 0.523798, 0.563178, 0.598246", \
"0.496848, 0.494307, 0.488235, 0.496584, 0.529793, 0.568348, 0.60357" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ( \
"0.682451, 0.683661, 0.692549, 0.722414, 0.775192, 0.847814, 0.933724", \
"0.678051, 0.677754, 0.689535, 0.718025, 0.771969, 0.843667, 0.928015", \
"0.677391, 0.679305, 0.690745, 0.71764, 0.77187, 0.841643, 0.927212", \
"0.671242, 0.6743, 0.68563, 0.713152, 0.765666, 0.837584, 0.922416", \
"0.659956, 0.664323, 0.674278, 0.70224, 0.753588, 0.826254, 0.916047", \
"0.658856, 0.660088, 0.670186, 0.698423, 0.752114, 0.823757, 0.909755", \
"0.664059, 0.667348, 0.676357, 0.705628, 0.756514, 0.828982, 0.916146" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ( \
"0.535073, 0.538538, 0.541244, 0.539121, 0.539022, 0.537922, 0.536657", \
"0.538714, 0.542278, 0.544874, 0.542762, 0.542663, 0.541552, 0.540287", \
"0.551364, 0.554961, 0.557799, 0.555797, 0.555445, 0.554213, 0.55308", \
"0.57409, 0.577555, 0.580261, 0.578138, 0.578039, 0.576939, 0.575674", \
"0.617166, 0.620928, 0.623524, 0.621654, 0.621302, 0.620202, 0.618937", \
"0.65901, 0.66264, 0.665291, 0.663421, 0.663069, 0.661969, 0.660704", \
"0.694265, 0.696927, 0.700436, 0.698324, 0.698225, 0.697114, 0.69586" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ( \
"0.547503, 0.544995, 0.532411, 0.516538, 0.515867, 0.520652, 0.528759", \
"0.551133, 0.54846, 0.536041, 0.520377, 0.519255, 0.524282, 0.533148", \
"0.563508, 0.561253, 0.548834, 0.532939, 0.53229, 0.537075, 0.545941", \
"0.58652, 0.583847, 0.571637, 0.555566, 0.554642, 0.559669, 0.567776", \
"0.629541, 0.627121, 0.614691, 0.598829, 0.597905, 0.602932, 0.609136", \
"0.671528, 0.668877, 0.656469, 0.640794, 0.639914, 0.644688, 0.652047", \
"0.706673, 0.704033, 0.691823, 0.675741, 0.674817, 0.679844, 0.68871" \
)
}
}
}
bus(D) {
bus_type : Q_BUS;
memory_write() {
address : A;
clocked_on : "CLK";
}
direction : input;
capacitance : 0.0164131;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ( \
"0.474419, 0.479633, 0.488642, 0.500786, 0.496551, 0.476663, 0.440737", \
"0.470976, 0.474892, 0.486244, 0.496507, 0.491513, 0.474903, 0.435666", \
"0.470426, 0.473484, 0.484924, 0.494186, 0.491579, 0.473253, 0.433103", \
"0.466158, 0.469172, 0.479127, 0.490204, 0.485254, 0.469876, 0.430111", \
"0.45452, 0.459778, 0.468688, 0.479655, 0.475343, 0.459019, 0.421234", \
"0.451539, 0.454652, 0.466499, 0.477114, 0.473165, 0.455213, 0.416702", \
"0.456368, 0.463177, 0.471493, 0.483725, 0.478764, 0.459943, 0.423368" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ( \
"0.107906, 0.109314, 0.127823, 0.177889, 0.255253, 0.356895, 0.487179", \
"0.106632, 0.105019, 0.123577, 0.173342, 0.251109, 0.352693, 0.483021", \
"0.106043, 0.105075, 0.122597, 0.172909, 0.251257, 0.351637, 0.482053", \
"0.100623, 0.0997975, 0.117819, 0.16848, 0.246239, 0.347589, 0.477015", \
"0.0897655, 0.0887315, 0.10696, 0.158502, 0.235754, 0.336644, 0.466356", \
"0.0873928, 0.0860497, 0.104257, 0.154325, 0.23267, 0.333542, 0.463661", \
"0.0933174, 0.0913374, 0.110183, 0.158814, 0.238382, 0.339768, 0.469051" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ( \
"0.469887, 0.463903, 0.454773, 0.444092, 0.44748, 0.466136, 0.502898", \
"0.471746, 0.468677, 0.45925, 0.449207, 0.451363, 0.470041, 0.509245", \
"0.47399, 0.471196, 0.459492, 0.448822, 0.452397, 0.469491, 0.506979", \
"0.479303, 0.476267, 0.46541, 0.453189, 0.457798, 0.475684, 0.515108", \
"0.490358, 0.486838, 0.475233, 0.464772, 0.467456, 0.486035, 0.522951", \
"0.491502, 0.490094, 0.478632, 0.467555, 0.471306, 0.488796, 0.527395", \
"0.486409, 0.481877, 0.472681, 0.462143, 0.46552, 0.483989, 0.521884" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
index_2 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547");
values ( \
"0.658955, 0.659527, 0.641311, 0.591547, 0.513392, 0.411917, 0.283426", \
"0.662486, 0.664224, 0.645964, 0.596233, 0.518045, 0.416658, 0.288079", \
"0.662508, 0.664202, 0.645997, 0.596266, 0.517594, 0.416603, 0.287969", \
"0.668162, 0.669702, 0.651629, 0.601898, 0.52371, 0.422235, 0.293744", \
"0.678392, 0.680526, 0.661947, 0.612216, 0.534028, 0.432564, 0.304062", \
"0.681362, 0.682792, 0.664741, 0.61501, 0.536349, 0.435347, 0.306856", \
"0.675884, 0.677589, 0.659351, 0.60962, 0.531432, 0.429957, 0.301466" \
)
}
}
}
cell_leakage_power : 0.000343015;
}
}