| /* |
| * 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_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 : 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.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.85988, 4.88364, 4.93692, 5.03712, 5.1858, 5.38896, 5.65848", \ |
| "4.86036, 4.88316, 4.93812, 5.03664, 5.18496, 5.385, 5.65884", \ |
| "4.8678, 4.88364, 4.94472, 5.04516, 5.18916, 5.39772, 5.66628", \ |
| "4.87644, 4.89204, 4.95228, 5.05752, 5.20116, 5.40696, 5.67636", \ |
| "4.8828, 4.89324, 4.95084, 5.05776, 5.20692, 5.40528, 5.6772", \ |
| "4.8876, 4.90404, 4.96836, 5.0646, 5.214, 5.41656, 5.68404", \ |
| "4.8762, 4.8972, 4.94808, 5.04984, 5.20044, 5.4024, 5.67492" \ |
| ) |
| } |
| rise_transition(q_slew_template) { |
| index_1 ("0.01, 0.02994, 0.09995, 0.2336, 0.4419, 0.7342, 1.119"); |
| values ( \ |
| "0.167832, 0.193392, 0.29304, 0.473508, 0.762972, 1.18465, 1.7352" \ |
| ) |
| |
| } |
| 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 ( \ |
| "5.00796, 5.02872, 5.08488, 5.17464, 5.29512, 5.4462, 5.64108", \ |
| "5.0064, 5.02896, 5.088, 5.17536, 5.29692, 5.44356, 5.64144", \ |
| "5.0148, 5.02908, 5.09124, 5.18256, 5.29992, 5.45676, 5.64888", \ |
| "5.0232, 5.03964, 5.09904, 5.19468, 5.31168, 5.46408, 5.65896", \ |
| "5.02908, 5.03976, 5.09844, 5.19672, 5.31732, 5.46348, 5.65932", \ |
| "5.03376, 5.05176, 5.11392, 5.2026, 5.32272, 5.47524, 5.66964", \ |
| "5.02176, 5.04396, 5.0964, 5.18844, 5.31108, 5.45964, 5.65872" \ |
| ) |
| } |
| fall_transition(q_slew_template) { |
| index_1 ("0.01, 0.02994, 0.09995, 0.2336, 0.4419, 0.7342, 1.119"); |
| values ( \ |
| "0.174396, 0.195348, 0.264276, 0.376332, 0.546216, 0.790704, 1.10563" \ |
| ) |
| } |
| } |
| } |
| pin(CLK) { |
| direction : input; |
| capacitance : 0.297584; |
| clock : true; |
| max_transition : 1.547; |
| min_pulse_width_high : 2.37687; |
| min_pulse_width_low : 2.25216; |
| min_period : 6.593715; |
| |
| /* 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 ("1017.1, 1017.1, 1017.1, 1017.1, 1017.1, 1017.1, 1017.1"); |
| } |
| fall_power(power_template) { |
| index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| values ("1017.1, 1017.1, 1017.1, 1017.1, 1017.1, 1017.1, 1017.1"); |
| } |
| } |
| /* 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.0006242, 0.0006242, 0.0006242, 0.0006242, 0.0006242, 0.0006242, 0.0006242"); |
| } |
| fall_power(power_template) { |
| index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| values ("0.0006242, 0.0006242, 0.0006242, 0.0006242, 0.0006242, 0.0006242, 0.0006242"); |
| } |
| } |
| /* 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 ("908.1, 908.1, 908.1, 908.1, 908.1, 908.1, 908.1"); |
| } |
| fall_power(power_template) { |
| index_1 ("0.02, 0.04747, 0.1439, 0.328, 0.6149, 1.017, 1.547"); |
| values ("908.1, 908.1, 908.1, 908.1, 908.1, 908.1, 908.1"); |
| } |
| } |
| } |
| |
| 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.0181905; |
| 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.435435, 0.430452, 0.42317, 0.429946, 0.451946, 0.489346, 0.522467", \ |
| "0.433983, 0.428879, 0.421894, 0.42889, 0.455026, 0.487542, 0.520652", \ |
| "0.432025, 0.428373, 0.421091, 0.427933, 0.448745, 0.474342, 0.506847", \ |
| "0.433191, 0.428076, 0.420937, 0.427757, 0.453244, 0.474155, 0.485342", \ |
| "0.432817, 0.427757, 0.420563, 0.427405, 0.448217, 0.473803, 0.492921", \ |
| "0.43241, 0.42702, 0.420057, 0.427108, 0.44792, 0.473517, 0.487366", \ |
| "0.432267, 0.427361, 0.420101, 0.426943, 0.447744, 0.473011, 0.48829" \ |
| ) |
| } |
| 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.405911, 0.40799, 0.417956, 0.444312, 0.494483, 0.558052, 0.62766", \ |
| "0.404866, 0.406868, 0.416911, 0.442805, 0.493438, 0.557007, 0.626516", \ |
| "0.40381, 0.405911, 0.415877, 0.442057, 0.493955, 0.555984, 0.625482", \ |
| "0.403447, 0.405768, 0.415723, 0.44187, 0.492822, 0.554422, 0.625306", \ |
| "0.403238, 0.40546, 0.415338, 0.442299, 0.493416, 0.555445, 0.624954", \ |
| "0.403161, 0.405086, 0.415052, 0.441892, 0.493141, 0.55517, 0.625845", \ |
| "0.402754, 0.405031, 0.414887, 0.441045, 0.49137, 0.553608, 0.624767" \ |
| ) |
| } |
| } |
| 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.10864, 1.11362, 1.1209, 1.11412, 1.09325, 1.06765, 1.04853", \ |
| "1.11382, 1.11892, 1.12591, 1.1189, 1.09277, 1.07243, 1.05332", \ |
| "1.12659, 1.13024, 1.13752, 1.13068, 1.10987, 1.08427, 1.06469", \ |
| "1.15364, 1.15876, 1.1659, 1.15908, 1.13359, 1.11268, 1.10149", \ |
| "1.19354, 1.19859, 1.2058, 1.19896, 1.17814, 1.15256, 1.13344", \ |
| "1.23049, 1.23588, 1.24285, 1.2358, 1.21498, 1.18939, 1.17554", \ |
| "1.25894, 1.26383, 1.27105, 1.26425, 1.24345, 1.21818, 1.204" \ |
| ) |
| } |
| 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.13815, 1.13608, 1.12611, 1.09976, 1.04959, 0.986007, 0.916399", \ |
| "1.14293, 1.14092, 1.13089, 1.10499, 1.05436, 0.990792, 0.921283", \ |
| "1.1548, 1.1527, 1.14274, 1.11656, 1.06466, 1.00263, 0.93313", \ |
| "1.18339, 1.18107, 1.1711, 1.14497, 1.09402, 1.03242, 0.961521", \ |
| "1.22312, 1.2209, 1.21101, 1.18405, 1.13295, 1.07091, 1.0014", \ |
| "1.25974, 1.25782, 1.24785, 1.22101, 1.16976, 1.10773, 1.03706", \ |
| "1.28843, 1.28612, 1.27633, 1.25016, 1.19983, 1.1376, 1.06643" \ |
| ) |
| } |
| } |
| } |
| pin(GWEN) { |
| direction : input; |
| capacitance : 0.0494974; |
| 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.590128, 0.59378, 0.604769, 0.633457, 0.678216, 0.734668, 0.78925", \ |
| "0.5885, 0.592119, 0.603196, 0.631752, 0.676621, 0.733359, 0.787578", \ |
| "0.575894, 0.57948, 0.590898, 0.619124, 0.663982, 0.721028, 0.776017", \ |
| "0.549835, 0.553575, 0.565554, 0.593131, 0.638077, 0.695057, 0.750057", \ |
| "0.505428, 0.510037, 0.522027, 0.549615, 0.594473, 0.65153, 0.705496", \ |
| "0.466697, 0.471328, 0.483043, 0.510884, 0.555764, 0.612865, 0.667799", \ |
| "0.430969, 0.434577, 0.446578, 0.474155, 0.519013, 0.57607, 0.631059" \ |
| ) |
| } |
| 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.627077, 0.631268, 0.649418, 0.68915, 0.757097, 0.846967, 0.952633", \ |
| "0.625977, 0.629508, 0.647746, 0.686323, 0.755425, 0.844305, 0.951016", \ |
| "0.612876, 0.616946, 0.635184, 0.675389, 0.74107, 0.832612, 0.937838", \ |
| "0.586817, 0.591052, 0.609191, 0.649352, 0.714945, 0.805079, 0.91201", \ |
| "0.543312, 0.547459, 0.565664, 0.606419, 0.67155, 0.762223, 0.868483", \ |
| "0.505109, 0.509091, 0.526944, 0.567545, 0.632841, 0.724372, 0.829609", \ |
| "0.468732, 0.471955, 0.490215, 0.529903, 0.597894, 0.687643, 0.792077" \ |
| ) |
| } |
| } |
| 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.865172, 0.864875, 0.852423, 0.825352, 0.796059, 0.770297, 0.751883", \ |
| "0.8668, 0.865513, 0.854161, 0.827123, 0.797764, 0.772068, 0.753709", \ |
| "0.866712, 0.866646, 0.854117, 0.827475, 0.797852, 0.77209, 0.753236", \ |
| "0.873268, 0.87208, 0.860376, 0.833998, 0.804364, 0.778591, 0.75977", \ |
| "0.88154, 0.880968, 0.868483, 0.842105, 0.812482, 0.78672, 0.768361", \ |
| "0.884092, 0.882651, 0.871189, 0.844591, 0.814968, 0.789195, 0.770363", \ |
| "0.877558, 0.876733, 0.864666, 0.838288, 0.808665, 0.782903, 0.76406" \ |
| ) |
| } |
| 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.492481, 0.489137, 0.470261, 0.430452, 0.36223, 0.280379, 0.175767", \ |
| "0.497277, 0.490666, 0.471889, 0.430815, 0.363968, 0.285637, 0.180395", \ |
| "0.495286, 0.490644, 0.472043, 0.430034, 0.36663, 0.282403, 0.18023", \ |
| "0.500863, 0.497387, 0.478368, 0.436898, 0.371745, 0.289795, 0.185098", \ |
| "0.508915, 0.505384, 0.486728, 0.444543, 0.381282, 0.3003, 0.192928", \ |
| "0.518793, 0.515042, 0.496606, 0.456687, 0.38863, 0.299574, 0.19972", \ |
| "0.575157, 0.57046, 0.552024, 0.512534, 0.44253, 0.35486, 0.256109" \ |
| ) |
| } |
| } |
| } |
| 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.239133, 0.242915, 0.261331, 0.30107, 0.369138, 0.450967, 0.556127", \ |
| "0.233786, 0.241551, 0.258743, 0.299673, 0.366476, 0.445104, 0.552079", \ |
| "0.235087, 0.240271, 0.258361, 0.299739, 0.363561, 0.447436, 0.549032", \ |
| "0.229873, 0.233802, 0.252209, 0.293524, 0.358611, 0.441232, 0.544951", \ |
| "0.221571, 0.225865, 0.24399, 0.285582, 0.349217, 0.430089, 0.538087", \ |
| "0.215993, 0.223124, 0.241095, 0.281985, 0.346291, 0.430584, 0.536217", \ |
| "0.224579, 0.229606, 0.247484, 0.287694, 0.354651, 0.437074, 0.540188" \ |
| ) |
| } |
| } |
| 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.865172, 0.864875, 0.8525, 0.826661, 0.796059, 0.770297, 0.751883", \ |
| "0.8668, 0.865513, 0.854238, 0.82841, 0.797764, 0.772068, 0.753709", \ |
| "0.866712, 0.866646, 0.854249, 0.828421, 0.797852, 0.77209, 0.753236", \ |
| "0.873268, 0.87208, 0.860772, 0.834944, 0.804364, 0.778591, 0.75977", \ |
| "0.88154, 0.880968, 0.868868, 0.84304, 0.812482, 0.78672, 0.768361", \ |
| "0.884092, 0.882651, 0.871365, 0.845537, 0.814968, 0.789195, 0.770363", \ |
| "0.877558, 0.876733, 0.864864, 0.839036, 0.808665, 0.782903, 0.76406" \ |
| ) |
| } |
| 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.493097, 0.489137, 0.470261, 0.430452, 0.362758, 0.280665, 0.175767", \ |
| "0.497277, 0.490666, 0.472109, 0.430815, 0.364045, 0.2871, 0.180395", \ |
| "0.495286, 0.490644, 0.472043, 0.431112, 0.36663, 0.282645, 0.18023", \ |
| "0.5016, 0.497387, 0.478368, 0.439065, 0.371745, 0.291082, 0.185098", \ |
| "0.509718, 0.505384, 0.486728, 0.444961, 0.381282, 0.30173, 0.192928", \ |
| "0.515229, 0.507749, 0.489027, 0.447799, 0.383757, 0.299761, 0.194525", \ |
| "0.505681, 0.501523, 0.482768, 0.442244, 0.375738, 0.293249, 0.189864" \ |
| ) |
| } |
| } |
| } |
| bus(A) { |
| bus_type : A_BUS; |
| direction : input; |
| capacitance : 0.0401181; |
| 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.633182, 0.628375, 0.624316, 0.633963, 0.660605, 0.701635, 0.736978", \ |
| "0.630388, 0.624635, 0.622204, 0.631807, 0.66506, 0.699446, 0.735911", \ |
| "0.630751, 0.625548, 0.619817, 0.630586, 0.661914, 0.700854, 0.734415", \ |
| "0.623612, 0.619795, 0.616473, 0.626637, 0.657767, 0.694683, 0.728794", \ |
| "0.615637, 0.609895, 0.606848, 0.616814, 0.645645, 0.685564, 0.719367", \ |
| "0.611237, 0.608025, 0.605044, 0.614768, 0.644391, 0.682011, 0.716716", \ |
| "0.619025, 0.614636, 0.610588, 0.619289, 0.646767, 0.68728, 0.721941" \ |
| ) |
| } |
| 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.947419, 0.950653, 0.966405, 0.991749, 1.04409, 1.11675, 1.20299", \ |
| "0.946638, 0.950158, 0.962434, 0.990418, 1.04356, 1.11592, 1.20459", \ |
| "0.946946, 0.948772, 0.962907, 0.989362, 1.04272, 1.11519, 1.20261", \ |
| "0.942854, 0.94545, 0.957836, 0.982674, 1.03568, 1.10843, 1.19699", \ |
| "0.933097, 0.935, 0.947738, 0.974578, 1.02901, 1.09875, 1.18613", \ |
| "0.928246, 0.933878, 0.945208, 0.971619, 1.02682, 1.09669, 1.18546", \ |
| "0.933251, 0.938531, 0.949366, 0.976382, 1.03014, 1.10251, 1.19197" \ |
| ) |
| } |
| } |
| 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.536239, 0.539968, 0.543004, 0.541013, 0.540892, 0.540089, 0.53878", \ |
| "0.540199, 0.543884, 0.54692, 0.54494, 0.544808, 0.544005, 0.542696", \ |
| "0.552805, 0.556699, 0.559746, 0.557777, 0.557645, 0.556831, 0.555533", \ |
| "0.575949, 0.579931, 0.582967, 0.580987, 0.580855, 0.580052, 0.578743", \ |
| "0.616264, 0.620136, 0.623227, 0.621247, 0.621115, 0.620312, 0.619003", \ |
| "0.659648, 0.663575, 0.666589, 0.664609, 0.664499, 0.663696, 0.662387", \ |
| "0.695156, 0.698852, 0.701877, 0.699897, 0.699765, 0.698962, 0.697664" \ |
| ) |
| } |
| 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.548955, 0.546414, 0.533819, 0.517385, 0.512512, 0.51788, 0.527406", \ |
| "0.552871, 0.55033, 0.537746, 0.521312, 0.516428, 0.521796, 0.531322", \ |
| "0.565675, 0.563255, 0.550561, 0.534149, 0.529254, 0.534622, 0.544148", \ |
| "0.588984, 0.586278, 0.573793, 0.557348, 0.552475, 0.557832, 0.567369", \ |
| "0.629156, 0.626736, 0.614042, 0.597608, 0.592735, 0.598092, 0.607618", \ |
| "0.672507, 0.6699, 0.657437, 0.641003, 0.636119, 0.641476, 0.651013", \ |
| "0.707762, 0.705166, 0.692692, 0.676269, 0.671385, 0.676742, 0.686279" \ |
| ) |
| } |
| } |
| } |
| bus(D) { |
| bus_type : Q_BUS; |
| memory_write() { |
| address : A; |
| clocked_on : "CLK"; |
| } |
| direction : input; |
| capacitance : 0.0167494; |
| 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.457721, 0.460196, 0.473352, 0.483736, 0.479457, 0.461901, 0.424094", \ |
| "0.458084, 0.462143, 0.472208, 0.481569, 0.478203, 0.459888, 0.422455", \ |
| "0.454696, 0.45903, 0.46937, 0.478753, 0.477092, 0.458535, 0.421982", \ |
| "0.449691, 0.453607, 0.465564, 0.473803, 0.472494, 0.454047, 0.415041", \ |
| "0.442717, 0.445467, 0.455213, 0.46596, 0.463078, 0.445423, 0.405108", \ |
| "0.438735, 0.443091, 0.453464, 0.462099, 0.459437, 0.441045, 0.403766", \ |
| "0.44231, 0.446292, 0.457589, 0.469546, 0.465025, 0.445753, 0.409013" \ |
| ) |
| } |
| 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.0939961, 0.0932382, 0.111436, 0.159321, 0.239146, 0.340824, 0.471493", \ |
| "0.0935902, 0.0919358, 0.110068, 0.159887, 0.238268, 0.339548, 0.469425", \ |
| "0.0926453, 0.0904332, 0.108948, 0.156954, 0.236973, 0.338602, 0.468963", \ |
| "0.0869231, 0.0855272, 0.103531, 0.153451, 0.231745, 0.333014, 0.463375", \ |
| "0.0779636, 0.0763884, 0.0942667, 0.144573, 0.222289, 0.323906, 0.453849", \ |
| "0.0752213, 0.0736769, 0.0919039, 0.139699, 0.219618, 0.321266, 0.45155", \ |
| "0.0798182, 0.0789547, 0.0968704, 0.147051, 0.224785, 0.326381, 0.456467" \ |
| ) |
| } |
| } |
| 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.484077, 0.483252, 0.470877, 0.460042, 0.463265, 0.482053, 0.518716", \ |
| "0.486728, 0.482658, 0.473495, 0.463001, 0.466499, 0.485023, 0.521378", \ |
| "0.489302, 0.487278, 0.474826, 0.46497, 0.467192, 0.486541, 0.522731", \ |
| "0.494417, 0.492415, 0.479963, 0.469854, 0.471911, 0.491535, 0.530442", \ |
| "0.503976, 0.500764, 0.489159, 0.477466, 0.482317, 0.500225, 0.538175", \ |
| "0.505912, 0.501644, 0.491799, 0.481679, 0.483912, 0.502898, 0.53944", \ |
| "0.500533, 0.498982, 0.486431, 0.475772, 0.478544, 0.49764, 0.534072" \ |
| ) |
| } |
| 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.674146, 0.675972, 0.657712, 0.607981, 0.529793, 0.428318, 0.299684", \ |
| "0.676478, 0.678084, 0.660044, 0.610313, 0.532125, 0.43065, 0.302159", \ |
| "0.678172, 0.679998, 0.661738, 0.611996, 0.533808, 0.432344, 0.303842", \ |
| "0.683078, 0.684706, 0.666611, 0.61688, 0.538692, 0.437217, 0.308726", \ |
| "0.692153, 0.693792, 0.675708, 0.625977, 0.547789, 0.446325, 0.317823", \ |
| "0.69476, 0.696619, 0.678348, 0.628628, 0.55044, 0.448976, 0.320474", \ |
| "0.689414, 0.691075, 0.673244, 0.62326, 0.545072, 0.443597, 0.315106" \ |
| ) |
| } |
| } |
| } |
| cell_leakage_power : 0.0006242; |
| } |
| } |