blob: c77b5afad1c91a8f6a18e2298a296cc5f56a32a0 [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__ff_125C_5v50) {
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 : 125;
nom_voltage : 5.5;
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.394;
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.5);
voltage_map (VSS, 0.00);
operating_conditions(ff_5p5v_125C) {
process : 1;
temperature : 125;
voltage : 5.5;
tree_type : balanced_tree;
}
default_operating_conditions : ff_5p5v_125C;
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.115;
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.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.01, 0.02988, 0.09966, 0.2329, 0.4405, 0.7318, 1.115");
values ( \
"4.05612, 4.07412, 4.12872, 4.21968, 4.353, 4.53684, 4.7892", \
"4.05552, 4.07136, 4.12896, 4.2174, 4.35612, 4.536, 4.78356", \
"4.05612, 4.07484, 4.12836, 4.21968, 4.35396, 4.54056, 4.78344", \
"4.05528, 4.07208, 4.1262, 4.21764, 4.35312, 4.53828, 4.7808", \
"4.06548, 4.0806, 4.1352, 4.22916, 4.3578, 4.542, 4.79412", \
"4.05948, 4.07964, 4.13616, 4.2222, 4.35912, 4.5444, 4.788", \
"4.04736, 4.06812, 4.12176, 4.20948, 4.34364, 4.52976, 4.776" \
)
}
rise_transition(q_slew_template) {
index_1 ("0.01, 0.02988, 0.09966, 0.2329, 0.4405, 0.7318, 1.115");
values ( \
"0.189936, 0.212568, 0.295704, 0.467256, 0.738888, 1.14137, 1.6686" \
)
}
cell_fall(q_delay_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.01, 0.02988, 0.09966, 0.2329, 0.4405, 0.7318, 1.115");
values ( \
"4.16724, 4.1856, 4.24212, 4.33056, 4.44252, 4.58916, 4.78056", \
"4.16472, 4.1886, 4.24404, 4.329, 4.44612, 4.58712, 4.77636", \
"4.16568, 4.19028, 4.24104, 4.32924, 4.4412, 4.58964, 4.77672", \
"4.1664, 4.18548, 4.23996, 4.32672, 4.44108, 4.59024, 4.77324", \
"4.17672, 4.19268, 4.251, 4.33812, 4.44888, 4.59432, 4.78464", \
"4.173, 4.19184, 4.2498, 4.33308, 4.4508, 4.59648, 4.78212", \
"4.158, 4.18044, 4.23348, 4.31976, 4.434, 4.58064, 4.76808" \
)
}
fall_transition(q_slew_template) {
index_1 ("0.01, 0.02988, 0.09966, 0.2329, 0.4405, 0.7318, 1.115");
values ( \
"0.1878, 0.21096, 0.275868, 0.38574, 0.557592, 0.796896, 1.11739" \
)
}
}
}
pin(CLK) {
direction : input;
capacitance : 0.283903;
clock : true;
max_transition : 1.394;
min_pulse_width_high : 2.366415;
min_pulse_width_low : 2.42577;
min_period : 5.330145;
/* 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.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ("1103.25, 1103.25, 1103.25, 1103.25, 1103.25, 1103.25, 1103.25");
}
fall_power(power_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ("1103.25, 1103.25, 1103.25, 1103.25, 1103.25, 1103.25, 1103.25");
}
}
/* DISABLED POWER */
internal_power() {
when : "CEN";
rise_power(power_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ("0.0094567, 0.0094567, 0.0094567, 0.0094567, 0.0094567, 0.0094567, 0.0094567");
}
fall_power(power_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ("0.0094567, 0.0094567, 0.0094567, 0.0094567, 0.0094567, 0.0094567, 0.0094567");
}
}
/* READ POWER */
internal_power() {
when : "!CEN & GWEN";
rise_power(power_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ("991.21, 991.21, 991.21, 991.21, 991.21, 991.21, 991.21");
}
fall_power(power_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ("991.21, 991.21, 991.21, 991.21, 991.21, 991.21, 991.21");
}
}
}
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.0168675;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.411389, 0.407649, 0.402237, 0.404998, 0.424435, 0.447689, 0.473187", \
"0.411147, 0.407671, 0.402633, 0.404943, 0.424633, 0.445478, 0.470965", \
"0.410916, 0.40788, 0.401764, 0.405196, 0.425194, 0.440264, 0.462484", \
"0.410718, 0.407286, 0.401621, 0.404415, 0.423852, 0.440814, 0.453442", \
"0.410498, 0.407022, 0.401423, 0.404195, 0.423643, 0.440594, 0.453222", \
"0.410421, 0.407605, 0.401335, 0.40414, 0.423566, 0.440528, 0.454663", \
"0.419881, 0.416493, 0.411169, 0.41525, 0.440418, 0.468732, 0.493537" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.388333, 0.39127, 0.399476, 0.420013, 0.465641, 0.519959, 0.581108", \
"0.389092, 0.391105, 0.399322, 0.42086, 0.465487, 0.519805, 0.580954", \
"0.387959, 0.390225, 0.399707, 0.418022, 0.465256, 0.519574, 0.580712", \
"0.388663, 0.390687, 0.398893, 0.42042, 0.463892, 0.519376, 0.580525", \
"0.388685, 0.390456, 0.399289, 0.419221, 0.464838, 0.519156, 0.580305", \
"0.387607, 0.39039, 0.399212, 0.418572, 0.464299, 0.51909, 0.580228", \
"0.387398, 0.390313, 0.398541, 0.420057, 0.464695, 0.519013, 0.580162" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"1.07855, 1.0823, 1.0877, 1.08494, 1.0655, 1.04929, 1.03591", \
"1.08955, 1.09303, 1.09805, 1.09574, 1.07605, 1.06019, 1.04682", \
"1.10355, 1.10659, 1.11271, 1.10926, 1.08926, 1.07419, 1.06082", \
"1.12102, 1.12445, 1.13012, 1.12732, 1.10788, 1.09091, 1.0783", \
"1.15345, 1.15692, 1.16251, 1.15974, 1.1403, 1.12334, 1.11071", \
"1.18276, 1.18558, 1.19186, 1.18904, 1.16962, 1.15266, 1.14004", \
"1.20328, 1.20651, 1.21238, 1.20956, 1.19013, 1.17317, 1.16056" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"1.10161, 1.09868, 1.09046, 1.06993, 1.0243, 0.96998, 0.908842", \
"1.11161, 1.10958, 1.10136, 1.07984, 1.0352, 0.980892, 0.919743", \
"1.1265, 1.12423, 1.11476, 1.09644, 1.04921, 0.994884, 0.933746", \
"1.14307, 1.14105, 1.13284, 1.11131, 1.06784, 1.01236, 0.951214", \
"1.17526, 1.17348, 1.16466, 1.14473, 1.09911, 1.04478, 0.983642", \
"1.20559, 1.2028, 1.19398, 1.17462, 1.1289, 1.07411, 1.01296", \
"1.22624, 1.22332, 1.21509, 1.19357, 1.14894, 1.09462, 1.03347" \
)
}
}
}
pin(GWEN) {
direction : input;
capacitance : 0.0492022;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.563046, 0.564509, 0.571549, 0.593703, 0.628892, 0.675081, 0.718058", \
"0.562001, 0.563761, 0.570482, 0.592911, 0.628287, 0.674091, 0.716364", \
"0.55638, 0.558459, 0.565334, 0.587191, 0.622666, 0.670043, 0.710897", \
"0.537977, 0.539704, 0.547734, 0.569063, 0.604252, 0.650298, 0.692483", \
"0.501314, 0.502238, 0.509641, 0.5313, 0.566731, 0.613272, 0.655424", \
"0.468985, 0.471152, 0.478126, 0.50028, 0.534996, 0.581724, 0.625977", \
"0.440528, 0.442057, 0.449801, 0.471559, 0.506935, 0.553597, 0.593956" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.588467, 0.59114, 0.607299, 0.641729, 0.701525, 0.779845, 0.874632", \
"0.587895, 0.590524, 0.606551, 0.641553, 0.700931, 0.778547, 0.874027", \
"0.582241, 0.584914, 0.601073, 0.635503, 0.695299, 0.773619, 0.872355", \
"0.563651, 0.5665, 0.582505, 0.617936, 0.676885, 0.755447, 0.849926", \
"0.526592, 0.529441, 0.545732, 0.580448, 0.636878, 0.718234, 0.812988", \
"0.495033, 0.497706, 0.513997, 0.548295, 0.605143, 0.687808, 0.781198", \
"0.466521, 0.469183, 0.485353, 0.519772, 0.579568, 0.657206, 0.752609" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.791186, 0.789932, 0.782782, 0.764434, 0.742577, 0.728673, 0.72468", \
"0.792418, 0.790658, 0.78408, 0.765435, 0.743864, 0.731687, 0.721303", \
"0.787666, 0.786016, 0.779295, 0.760639, 0.73909, 0.725197, 0.722337", \
"0.788964, 0.787875, 0.78089, 0.762245, 0.740388, 0.725769, 0.723635", \
"0.794332, 0.792121, 0.785521, 0.767085, 0.745316, 0.730697, 0.728563", \
"0.798127, 0.796598, 0.789305, 0.770957, 0.7491, 0.734492, 0.732446", \
"0.784564, 0.783475, 0.776193, 0.757537, 0.735988, 0.722117, 0.713427" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.45749, 0.453893, 0.438075, 0.403326, 0.344135, 0.269284, 0.174032", \
"0.45925, 0.455158, 0.439351, 0.40546, 0.345081, 0.270607, 0.175159", \
"0.454091, 0.45078, 0.434588, 0.399839, 0.340648, 0.266041, 0.170187", \
"0.455653, 0.451561, 0.436073, 0.401478, 0.342067, 0.265576, 0.171835", \
"0.461604, 0.456478, 0.44066, 0.407099, 0.347985, 0.272597, 0.17787", \
"0.472824, 0.46981, 0.452826, 0.418176, 0.358545, 0.276639, 0.187703", \
"0.521411, 0.518397, 0.501919, 0.466763, 0.404162, 0.326502, 0.236369" \
)
}
}
}
bus(WEN) {
bus_type : Q_BUS;
direction : input;
capacitance : 0.00767809;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
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.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.243992, 0.247279, 0.263329, 0.297616, 0.357423, 0.43274, 0.527219", \
"0.242724, 0.246516, 0.262758, 0.296186, 0.35706, 0.431299, 0.5269", \
"0.246633, 0.250824, 0.26621, 0.300806, 0.360481, 0.435413, 0.531168", \
"0.245111, 0.249424, 0.265036, 0.299409, 0.358314, 0.435347, 0.529188", \
"0.239592, 0.243929, 0.259862, 0.293997, 0.353012, 0.428681, 0.52371", \
"0.237806, 0.241799, 0.25724, 0.292644, 0.350625, 0.427526, 0.521631", \
"0.250593, 0.254935, 0.269716, 0.304898, 0.364056, 0.438317, 0.534182" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.791186, 0.790064, 0.782782, 0.764489, 0.742577, 0.728673, 0.72468", \
"0.792418, 0.791428, 0.78408, 0.765842, 0.743864, 0.731687, 0.721303", \
"0.787666, 0.786588, 0.779295, 0.761002, 0.73909, 0.725197, 0.722337", \
"0.788964, 0.787886, 0.78089, 0.762311, 0.740388, 0.725769, 0.723635", \
"0.794332, 0.792825, 0.785521, 0.76725, 0.745316, 0.730697, 0.728563", \
"0.798127, 0.796609, 0.789305, 0.771034, 0.7491, 0.734492, 0.732446", \
"0.784564, 0.783486, 0.776193, 0.757911, 0.735988, 0.722117, 0.713427" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.45749, 0.453893, 0.438075, 0.403326, 0.344135, 0.269284, 0.174032", \
"0.45925, 0.455158, 0.439351, 0.40546, 0.345081, 0.270607, 0.175169", \
"0.454091, 0.45078, 0.434588, 0.399839, 0.340648, 0.266041, 0.170187", \
"0.455653, 0.451561, 0.436073, 0.401478, 0.342067, 0.265576, 0.171835", \
"0.461604, 0.456478, 0.44066, 0.407099, 0.347985, 0.272597, 0.17787", \
"0.464024, 0.46046, 0.444455, 0.409838, 0.351373, 0.274754, 0.180562", \
"0.450901, 0.447139, 0.431497, 0.396726, 0.337546, 0.262914, 0.167436" \
)
}
}
}
bus(A) {
bus_type : A_BUS;
direction : input;
capacitance : 0.0320813;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.49357, 0.489456, 0.48378, 0.487718, 0.518133, 0.541277, 0.562793", \
"0.490831, 0.489214, 0.484594, 0.486134, 0.516846, 0.541035, 0.562584", \
"0.494912, 0.493262, 0.487168, 0.489588, 0.519893, 0.54307, 0.565257", \
"0.495462, 0.492712, 0.487663, 0.489698, 0.520223, 0.545281, 0.564817", \
"0.489291, 0.486024, 0.481921, 0.484462, 0.513909, 0.539374, 0.558679", \
"0.487751, 0.483494, 0.479182, 0.481492, 0.511896, 0.536866, 0.555423", \
"0.499609, 0.496353, 0.491909, 0.493097, 0.524689, 0.546216, 0.57046" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.632467, 0.634832, 0.643478, 0.664081, 0.709401, 0.772541, 0.846208", \
"0.632005, 0.633303, 0.641773, 0.662794, 0.708257, 0.771694, 0.844921", \
"0.635085, 0.63701, 0.647273, 0.668635, 0.711865, 0.775456, 0.850982", \
"0.634799, 0.636581, 0.645051, 0.668129, 0.711425, 0.775467, 0.848485", \
"0.628617, 0.630729, 0.639617, 0.662156, 0.704451, 0.762432, 0.842908", \
"0.62623, 0.628738, 0.637945, 0.659516, 0.702328, 0.767888, 0.839872", \
"0.638847, 0.639936, 0.650793, 0.672518, 0.715803, 0.779196, 0.852093" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.491964, 0.49489, 0.496188, 0.492283, 0.490556, 0.491491, 0.492393", \
"0.4928, 0.494956, 0.497233, 0.493317, 0.491601, 0.492525, 0.493449", \
"0.503206, 0.505362, 0.507639, 0.503734, 0.502007, 0.502942, 0.503866", \
"0.520124, 0.522511, 0.524546, 0.520608, 0.518903, 0.519838, 0.520762", \
"0.548185, 0.550341, 0.552618, 0.548713, 0.546986, 0.547921, 0.549274", \
"0.579546, 0.581955, 0.583979, 0.580063, 0.578347, 0.579271, 0.580635", \
"0.60038, 0.602789, 0.604813, 0.600908, 0.599181, 0.600116, 0.60104" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.501831, 0.499697, 0.490336, 0.478533, 0.478566, 0.484176, 0.491403", \
"0.50292, 0.500698, 0.491392, 0.480931, 0.479611, 0.485221, 0.492437", \
"0.513326, 0.511104, 0.501787, 0.489984, 0.490017, 0.495627, 0.502854", \
"0.529837, 0.528011, 0.518694, 0.506891, 0.506924, 0.5137, 0.51975", \
"0.558316, 0.556105, 0.546799, 0.534974, 0.535007, 0.540815, 0.547833", \
"0.589666, 0.587499, 0.578116, 0.566335, 0.566357, 0.572176, 0.579249", \
"0.610511, 0.608234, 0.598972, 0.587158, 0.587202, 0.592812, 0.600028" \
)
}
}
}
bus(D) {
bus_type : Q_BUS;
memory_write() {
address : A;
clocked_on : "CLK";
}
direction : input;
capacitance : 0.0156697;
timing() {
related_pin : CLK;
timing_type : setup_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.413611, 0.414777, 0.423632, 0.426217, 0.417956, 0.394306, 0.351351", \
"0.414403, 0.41305, 0.421355, 0.424226, 0.417868, 0.394845, 0.350031", \
"0.418451, 0.417615, 0.427966, 0.429649, 0.419045, 0.397639, 0.354156", \
"0.415184, 0.417549, 0.42482, 0.428593, 0.420343, 0.395758, 0.353452", \
"0.411829, 0.411917, 0.42064, 0.423247, 0.412962, 0.39149, 0.346918", \
"0.405933, 0.408672, 0.418957, 0.420409, 0.41085, 0.389345, 0.341924", \
"0.421586, 0.421685, 0.431354, 0.431673, 0.422917, 0.401588, 0.356609" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.104592, 0.105059, 0.120941, 0.167235, 0.239741, 0.338503, 0.462528", \
"0.103103, 0.102404, 0.119807, 0.165999, 0.239924, 0.337557, 0.461186", \
"0.106974, 0.1077, 0.123628, 0.169709, 0.242222, 0.341143, 0.464904", \
"0.10641, 0.106922, 0.122895, 0.169228, 0.24279, 0.340879, 0.464508", \
"0.100754, 0.101005, 0.117204, 0.163388, 0.235789, 0.334609, 0.459118", \
"0.0983169, 0.0986315, 0.11498, 0.161592, 0.234818, 0.331969, 0.456203", \
"0.111647, 0.111222, 0.127423, 0.173636, 0.246011, 0.345169, 0.468809" \
)
}
}
timing() {
related_pin : CLK;
timing_type : hold_rising;
rise_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.467544, 0.466642, 0.456467, 0.454454, 0.463166, 0.486563, 0.5302", \
"0.468424, 0.468809, 0.460768, 0.456566, 0.465498, 0.488785, 0.533269", \
"0.463012, 0.463177, 0.454168, 0.44902, 0.460911, 0.484242, 0.527868", \
"0.464728, 0.464101, 0.457688, 0.452166, 0.461549, 0.487102, 0.530068", \
"0.471449, 0.469909, 0.462748, 0.457787, 0.46871, 0.492272, 0.535623", \
"0.474606, 0.473044, 0.464761, 0.459877, 0.470789, 0.494681, 0.537251", \
"0.461604, 0.460856, 0.451627, 0.448833, 0.457314, 0.481756, 0.525822" \
)
}
fall_constraint(constraint_template) {
index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
index_2 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394");
values ( \
"0.631587, 0.631334, 0.614482, 0.568634, 0.49555, 0.397727, 0.275297", \
"0.633655, 0.633677, 0.616814, 0.570966, 0.497882, 0.40007, 0.27764", \
"0.628573, 0.628518, 0.611655, 0.565807, 0.492723, 0.394911, 0.272479", \
"0.630685, 0.630718, 0.613855, 0.568007, 0.494923, 0.3971, 0.274669", \
"0.636383, 0.636328, 0.619465, 0.573617, 0.500533, 0.402721, 0.280291", \
"0.638429, 0.638396, 0.621544, 0.575663, 0.502601, 0.404789, 0.282348", \
"0.625779, 0.625724, 0.608872, 0.563013, 0.489929, 0.392117, 0.269684" \
)
}
}
}
cell_leakage_power : 0.0094567;
}
}