| /* |
| * 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_1v80) { |
| 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 : 1.8; |
| 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 : 4.617; |
| 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, 1.8); |
| voltage_map (VSS, 0.00); |
| operating_conditions(tt_1p8v_25C) { |
| process : 1; |
| temperature : 25; |
| voltage : 1.8; |
| tree_type : balanced_tree; |
| } |
| |
| default_operating_conditions : tt_1p8v_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 : 0.9747; |
| 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.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| index_2 ("0.01, 0.02735, 0.08826, 0.2046, 0.3858, 0.6401, 0.9747"); |
| values ( \ |
| "17.2992, 17.4036, 17.5692, 17.9136, 18.4176, 19.11, 20.0124", \ |
| "17.334, 17.3868, 17.6016, 17.94, 18.4464, 19.122, 20.046", \ |
| "17.4168, 17.4768, 17.6772, 18.024, 18.5232, 19.2276, 20.1156", \ |
| "17.5152, 17.5728, 17.7972, 18.1284, 18.6408, 19.3236, 20.226", \ |
| "17.6808, 17.73, 17.9568, 18.2952, 18.7848, 19.4904, 20.3676", \ |
| "17.8668, 17.9508, 18.1392, 18.4764, 18.9756, 19.6752, 20.562", \ |
| "18.078, 18.1644, 18.3744, 18.6924, 19.2156, 19.902, 20.8104" \ |
| ) |
| } |
| rise_transition(q_slew_template) { |
| index_1 ("0.01, 0.02735, 0.08826, 0.2046, 0.3858, 0.6401, 0.9747"); |
| values ( \ |
| "0.50406, 0.585744, 0.884304, 1.4676, 2.325, 3.64932, 5.33904" \ |
| ) |
| |
| } |
| cell_fall(q_delay_template) { |
| index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| index_2 ("0.01, 0.02735, 0.08826, 0.2046, 0.3858, 0.6401, 0.9747"); |
| values ( \ |
| "18.2016, 18.2892, 18.426, 18.6648, 18.966, 19.3008, 19.7436", \ |
| "18.246, 18.2832, 18.4548, 18.7152, 19.0032, 19.3296, 19.7952", \ |
| "18.3084, 18.378, 18.5484, 18.7776, 19.0704, 19.4352, 19.8552", \ |
| "18.42, 18.4848, 18.6624, 18.8916, 19.1904, 19.5396, 19.962", \ |
| "18.5844, 18.6252, 18.81, 19.0548, 19.35, 19.7076, 20.1324", \ |
| "18.774, 18.8472, 18.9876, 19.2348, 19.5096, 19.8936, 20.3232", \ |
| "18.9672, 19.0584, 19.2336, 19.4472, 19.7532, 20.1108, 20.5548" \ |
| ) |
| } |
| fall_transition(q_slew_template) { |
| index_1 ("0.01, 0.02735, 0.08826, 0.2046, 0.3858, 0.6401, 0.9747"); |
| values ( \ |
| "0.512256, 0.557736, 0.74832, 0.992784, 1.353, 1.87416, 2.52996" \ |
| ) |
| } |
| } |
| } |
| pin(CLK) { |
| direction : input; |
| capacitance : 0.282301; |
| clock : true; |
| max_transition : 4.617; |
| min_pulse_width_high : 11.779035; |
| min_pulse_width_low : 10.061445; |
| min_period : 23.56065; |
| |
| /* 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.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| values ("112.563, 112.563, 112.563, 112.563, 112.563, 112.563, 112.563"); |
| } |
| fall_power(power_template) { |
| index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| values ("112.563, 112.563, 112.563, 112.563, 112.563, 112.563, 112.563"); |
| } |
| } |
| /* DISABLED POWER */ |
| internal_power() { |
| when : "CEN"; |
| rise_power(power_template) { |
| index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| values ("8.06994e-05, 8.06994e-05, 8.06994e-05, 8.06994e-05, 8.06994e-05, 8.06994e-05, 8.06994e-05"); |
| } |
| fall_power(power_template) { |
| index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| values ("8.06994e-05, 8.06994e-05, 8.06994e-05, 8.06994e-05, 8.06994e-05, 8.06994e-05, 8.06994e-05"); |
| } |
| } |
| /* READ POWER */ |
| internal_power() { |
| when : "!CEN & GWEN"; |
| rise_power(power_template) { |
| index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| values ("103.176, 103.176, 103.176, 103.176, 103.176, 103.176, 103.176"); |
| } |
| fall_power(power_template) { |
| index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| values ("103.176, 103.176, 103.176, 103.176, 103.176, 103.176, 103.176"); |
| } |
| } |
| } |
| |
| 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.0182531; |
| timing() { |
| related_pin : CLK; |
| timing_type : setup_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| values ( \ |
| "1.55639, 1.53692, 1.55595, 1.67101, 1.96559, 2.34806, 2.89575", \ |
| "1.5301, 1.51426, 1.52966, 1.64274, 1.92291, 2.33453, 2.87474", \ |
| "1.46729, 1.44639, 1.46509, 1.58422, 1.86626, 2.25863, 2.80049", \ |
| "1.32286, 1.30194, 1.31397, 1.44815, 1.70918, 2.12861, 2.65595", \ |
| "1.28212, 1.27527, 1.28812, 1.42153, 1.68487, 2.05832, 2.5498", \ |
| "1.2954, 1.27656, 1.28147, 1.4124, 1.68003, 2.08362, 2.57125", \ |
| "1.2815, 1.27469, 1.2885, 1.41625, 1.67794, 2.08912, 2.56685" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| values ( \ |
| "1.15156, 1.15919, 1.2353, 1.37951, 1.66353, 2.0603, 2.57026", \ |
| "1.13121, 1.14819, 1.21467, 1.35894, 1.64285, 2.03973, 2.54969", \ |
| "1.07909, 1.09447, 1.1645, 1.32418, 1.61084, 1.99122, 2.49073", \ |
| "1.07856, 1.09393, 1.16396, 1.31076, 1.59203, 1.99067, 2.49018", \ |
| "1.07811, 1.09283, 1.16292, 1.30962, 1.59093, 1.98946, 2.48908", \ |
| "1.07852, 1.08624, 1.16306, 1.30981, 1.60952, 1.9899, 2.48941", \ |
| "1.07755, 1.09225, 1.16225, 1.30898, 1.59027, 1.98891, 2.48842" \ |
| ) |
| } |
| } |
| timing() { |
| related_pin : CLK; |
| timing_type : hold_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| values ( \ |
| "3.83042, 3.84879, 3.83779, 3.71404, 3.43376, 3.06482, 2.54936", \ |
| "3.86507, 3.88058, 3.86903, 3.75859, 3.48469, 3.08693, 2.57862", \ |
| "3.91314, 3.93294, 3.91842, 3.79951, 3.52649, 3.1482, 2.64077", \ |
| "4.08078, 4.10058, 4.09255, 3.95791, 3.70139, 3.29978, 2.80093", \ |
| "4.34544, 4.35226, 4.3395, 4.20607, 3.94273, 3.56928, 3.0778", \ |
| "4.63529, 4.65421, 4.64926, 4.51836, 4.25073, 3.84703, 3.35951", \ |
| "5.00808, 5.0149, 5.00115, 4.87344, 4.61164, 4.20057, 3.72273" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| values ( \ |
| "4.04734, 4.03854, 3.96264, 3.8159, 3.53463, 3.13588, 2.63637", \ |
| "4.07682, 4.06241, 3.99245, 3.84571, 3.56444, 3.16569, 2.66618", \ |
| "4.13083, 4.11543, 4.04536, 3.88564, 3.59909, 3.21871, 2.7192", \ |
| "4.29847, 4.28307, 4.213, 4.06626, 3.78499, 3.38624, 2.88673", \ |
| "4.54949, 4.53475, 4.46468, 4.31794, 4.03667, 3.63803, 3.13852", \ |
| "4.85221, 4.84451, 4.76762, 4.62088, 4.32124, 3.94086, 3.44135", \ |
| "5.21202, 5.19739, 5.12732, 4.98058, 4.69931, 4.30067, 3.80116" \ |
| ) |
| } |
| } |
| } |
| pin(GWEN) { |
| direction : input; |
| capacitance : 0.0443231; |
| timing() { |
| related_pin : CLK; |
| timing_type : setup_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| values ( \ |
| "1.89068, 1.89959, 1.97164, 2.12795, 2.35257, 2.63549, 2.96472", \ |
| "1.86956, 1.87946, 1.95074, 2.10045, 2.32694, 2.6224, 2.94294", \ |
| "1.80169, 1.81951, 1.89387, 2.03401, 2.26182, 2.54804, 2.87375", \ |
| "1.66012, 1.67783, 1.7512, 1.89728, 2.12179, 2.40141, 2.72272", \ |
| "1.42659, 1.44474, 1.51778, 1.66452, 1.88859, 2.17393, 2.5003", \ |
| "1.21139, 1.22117, 1.30334, 1.4432, 1.67299, 1.9613, 2.28338", \ |
| "0.997249, 1.01554, 1.08994, 1.23476, 1.45981, 1.74449, 2.06976" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| values ( \ |
| "2.41164, 2.42902, 2.51966, 2.68048, 2.97231, 3.38327, 3.88817", \ |
| "2.39085, 2.409, 2.50008, 2.65947, 2.95141, 3.36237, 3.86518", \ |
| "2.32276, 2.34102, 2.4321, 2.5916, 2.89267, 3.29439, 3.7972", \ |
| "2.1813, 2.19956, 2.28899, 2.44992, 2.74175, 3.15271, 3.65761", \ |
| "1.94821, 1.96636, 2.05733, 2.21683, 2.50866, 2.91962, 3.42441", \ |
| "1.73261, 1.75087, 1.84041, 2.00134, 2.29977, 2.70402, 3.20881", \ |
| "1.51877, 1.53703, 1.62679, 1.78761, 2.07944, 2.4904, 2.99321" \ |
| ) |
| } |
| } |
| timing() { |
| related_pin : CLK; |
| timing_type : hold_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| values ( \ |
| "2.72338, 2.70908, 2.6334, 2.48578, 2.28426, 2.0922, 1.88386", \ |
| "2.70039, 2.68444, 2.60887, 2.47423, 2.2726, 2.06822, 1.86868", \ |
| "2.65232, 2.63043, 2.55255, 2.4134, 2.21782, 2.02048, 1.81302", \ |
| "2.69808, 2.67608, 2.59963, 2.46279, 2.26259, 2.06349, 1.86956", \ |
| "2.82799, 2.80643, 2.73449, 2.60425, 2.39305, 2.19659, 1.99617", \ |
| "3.0063, 2.99046, 2.91269, 2.76672, 2.57334, 2.37413, 2.17877", \ |
| "3.19286, 3.17141, 3.10046, 2.95383, 2.75792, 2.56201, 2.36687" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| values ( \ |
| "1.42791, 1.39304, 1.30709, 1.15325, 0.865568, 0.456819, 0", \ |
| "1.40558, 1.38017, 1.28176, 1.1331, 0.842523, 0.433928, 0", \ |
| "1.34805, 1.33133, 1.23393, 1.08277, 0.784245, 0.385671, 0", \ |
| "1.39601, 1.37797, 1.28203, 1.1277, 0.840312, 0.431728, 0", \ |
| "1.53285, 1.50821, 1.41031, 1.26184, 0.970585, 0.56177, 0.07876", \ |
| "1.71116, 1.68652, 1.59038, 1.43594, 1.1421, 0.739915, 0.256738", \ |
| "1.89882, 1.87264, 1.77749, 1.62371, 1.33551, 0.926838, 0.441815" \ |
| ) |
| } |
| } |
| } |
| bus(WEN) { |
| bus_type : Q_BUS; |
| direction : input; |
| capacitance : 0.00715847; |
| timing() { |
| related_pin : CLK; |
| timing_type : setup_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| values ( \ |
| "0, 0, 0, 0, 0, 0, 0.105072", \ |
| "0, 0, 0, 0, 0, 0, 0.12556", \ |
| "0, 0, 0, 0, 0, 0, 0.179135", \ |
| "0, 0, 0, 0, 0, 0, 0.124567", \ |
| "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.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| values ( \ |
| "0.557876, 0.585915, 0.675939, 0.825011, 1.11975, 1.52163, 2.00838", \ |
| "0.584606, 0.605363, 0.705507, 0.849981, 1.14706, 1.54891, 2.03753", \ |
| "0.641333, 0.652894, 0.752015, 0.898436, 1.20335, 1.59566, 2.0856", \ |
| "0.588951, 0.604406, 0.701855, 0.851587, 1.1459, 1.54781, 2.03522", \ |
| "0.455653, 0.475937, 0.575696, 0.719895, 1.01764, 1.41944, 1.90685", \ |
| "0.279122, 0.299797, 0.397386, 0.546843, 0.84843, 1.24319, 1.73063", \ |
| "0.087747, 0.112189, 0.20832, 0.35442, 0.652817, 1.0545, 1.5433" \ |
| ) |
| } |
| } |
| timing() { |
| related_pin : CLK; |
| timing_type : hold_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| values ( \ |
| "2.73229, 2.7115, 2.63516, 2.49282, 2.28877, 2.09627, 1.90047", \ |
| "2.70919, 2.6884, 2.61206, 2.47423, 2.2726, 2.07317, 1.87737", \ |
| "2.66145, 2.64055, 2.56421, 2.42176, 2.21782, 2.02521, 1.82952", \ |
| "2.70699, 2.68631, 2.60997, 2.46752, 2.26347, 2.07097, 1.87528", \ |
| "2.83712, 2.81644, 2.7401, 2.60425, 2.3936, 2.2011, 2.00541", \ |
| "3.01532, 2.99442, 2.91808, 2.77563, 2.57334, 2.37908, 2.18339", \ |
| "3.20243, 3.18153, 3.10519, 2.96274, 2.75869, 2.56619, 2.3705" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| values ( \ |
| "1.43308, 1.39821, 1.31426, 1.15444, 0.866305, 0.462682, 0", \ |
| "1.40998, 1.38556, 1.28638, 1.1331, 0.84315, 0.439571, 0", \ |
| "1.35575, 1.33694, 1.23888, 1.08405, 0.784245, 0.3916, 0", \ |
| "1.40162, 1.38303, 1.28919, 1.12921, 0.841005, 0.437415, 0", \ |
| "1.53813, 1.51327, 1.41493, 1.26184, 0.971289, 0.567534, 0.080476", \ |
| "1.71622, 1.69147, 1.59742, 1.43748, 1.1421, 0.745514, 0.258425", \ |
| "1.90355, 1.87781, 1.78453, 1.62503, 1.33628, 0.932613, 0.443322" \ |
| ) |
| } |
| } |
| } |
| bus(A) { |
| bus_type : A_BUS; |
| direction : input; |
| capacitance : 0.0401807; |
| timing() { |
| related_pin : CLK; |
| timing_type : setup_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| values ( \ |
| "2.16645, 2.17173, 2.16436, 2.30186, 2.56817, 2.99805, 3.50625", \ |
| "2.18515, 2.19747, 2.18801, 2.33002, 2.59204, 3.02335, 3.54112", \ |
| "2.23861, 2.23674, 2.2638, 2.3815, 2.63582, 3.08484, 3.59062", \ |
| "2.18746, 2.18867, 2.18394, 2.32694, 2.58852, 3.01939, 3.56103", \ |
| "2.06305, 2.05931, 2.06448, 2.1846, 2.47522, 2.88893, 3.43233", \ |
| "1.88793, 1.89332, 1.87968, 2.03082, 2.28173, 2.73097, 3.24346", \ |
| "1.70313, 1.69895, 1.7171, 1.84151, 2.10122, 2.53902, 3.05481" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| values ( \ |
| "2.59149, 2.6224, 2.68257, 2.87254, 3.14578, 3.54255, 4.06098", \ |
| "2.6202, 2.6532, 2.70479, 2.88288, 3.16382, 3.57203, 4.08529", \ |
| "2.67421, 2.70006, 2.75825, 2.93304, 3.21321, 3.62406, 4.13853", \ |
| "2.61756, 2.64528, 2.70732, 2.88486, 3.17218, 3.57885, 4.08199", \ |
| "2.49359, 2.50371, 2.57862, 2.7577, 3.04106, 3.44773, 3.95725", \ |
| "2.31693, 2.34267, 2.40427, 2.58687, 2.86055, 3.27844, 3.77971", \ |
| "2.12355, 2.14764, 2.21331, 2.40746, 2.66783, 3.08297, 3.58303" \ |
| ) |
| } |
| } |
| timing() { |
| related_pin : CLK; |
| timing_type : hold_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| values ( \ |
| "1.32275, 1.3332, 1.31805, 1.17807, 0.929478, 0.576763, 0.22575", \ |
| "1.34233, 1.35267, 1.34002, 1.19755, 0.93841, 0.596035, 0.218959", \ |
| "1.41031, 1.42076, 1.40701, 1.26404, 1.01706, 0.66935, 0.302737", \ |
| "1.55386, 1.56431, 1.55342, 1.40613, 1.14962, 0.808654, 0.420354", \ |
| "1.78431, 1.79476, 1.78387, 1.65363, 1.38006, 1.0442, 0.646173", \ |
| "2.08318, 2.09363, 2.08285, 1.93842, 1.68993, 1.34222, 0.975601", \ |
| "2.39239, 2.40284, 2.3892, 2.24774, 1.99914, 1.65154, 1.28489" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| values ( \ |
| "1.51822, 1.50282, 1.42395, 1.26724, 1.07639, 0.857384, 0.62612", \ |
| "1.53725, 1.5224, 1.44342, 1.28676, 1.09588, 0.876909, 0.645634", \ |
| "1.60534, 1.59038, 1.51151, 1.35476, 1.1639, 0.944966, 0.713658", \ |
| "1.74977, 1.73393, 1.65506, 1.49831, 1.30746, 1.08848, 0.857208", \ |
| "1.98011, 1.96438, 1.88551, 1.72887, 1.53791, 1.31892, 1.08766", \ |
| "2.27909, 2.26325, 2.18438, 2.02774, 1.83678, 1.61788, 1.38655", \ |
| "2.5883, 2.57257, 2.49359, 2.33695, 2.1461, 1.92709, 1.69587" \ |
| ) |
| } |
| } |
| } |
| bus(D) { |
| bus_type : Q_BUS; |
| memory_write() { |
| address : A; |
| clocked_on : "CLK"; |
| } |
| direction : input; |
| capacitance : 0.0160497; |
| timing() { |
| related_pin : CLK; |
| timing_type : setup_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| values ( \ |
| "1.74504, 1.75989, 1.83458, 1.94898, 2.0955, 2.15963, 2.27447", \ |
| "1.76297, 1.78673, 1.86241, 1.98418, 2.11398, 2.22288, 2.32551", \ |
| "1.82314, 1.83227, 1.9008, 2.03093, 2.16117, 2.24576, 2.37072", \ |
| "1.75098, 1.78321, 1.85405, 1.98176, 2.11398, 2.21672, 2.30538", \ |
| "1.63504, 1.65253, 1.73481, 1.85691, 1.98517, 2.06591, 2.18757", \ |
| "1.46806, 1.47609, 1.55782, 1.68245, 1.81302, 1.89079, 2.01014", \ |
| "1.27882, 1.28866, 1.36543, 1.49644, 1.6225, 1.70445, 1.80873" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| values ( \ |
| "0, 0, 0, 0.15431, 0.426481, 0.814209, 1.2903", \ |
| "0, 0, 0.003817, 0.180722, 0.453442, 0.841159, 1.31724", \ |
| "0, 0, 0.052239, 0.229629, 0.501875, 0.889581, 1.36521", \ |
| "0, 0, 0.001507, 0.178977, 0.45111, 0.838816, 1.3145", \ |
| "0, 0, 0, 0.051788, 0.324046, 0.711755, 1.18743", \ |
| "0, 0, 0, 0, 0.147943, 0.535634, 1.01134", \ |
| "0, 0, 0, 0, 0, 0.347787, 0.823449" \ |
| ) |
| } |
| } |
| timing() { |
| related_pin : CLK; |
| timing_type : hold_rising; |
| rise_constraint(constraint_template) { |
| index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| values ( \ |
| "1.09014, 1.07287, 0.997447, 0.874225, 0.74085, 0.66737, 0.544643", \ |
| "1.06439, 1.04773, 0.966372, 0.848078, 0.71962, 0.61215, 0.50556", \ |
| "1.01709, 0.999394, 0.926585, 0.798556, 0.669493, 0.588423, 0.467071", \ |
| "1.06433, 1.0472, 0.975755, 0.849728, 0.719499, 0.612678, 0.510576", \ |
| "1.19369, 1.1806, 1.10341, 0.978417, 0.846142, 0.764885, 0.645821", \ |
| "1.36939, 1.35894, 1.28109, 1.15515, 1.0222, 0.9691, 0.815188", \ |
| "1.55804, 1.54517, 1.4696, 1.34024, 1.21071, 1.12959, 1.01046" \ |
| ) |
| } |
| fall_constraint(constraint_template) { |
| index_1 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| index_2 ("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617"); |
| values ( \ |
| "2.23465, 2.23597, 2.16711, 1.99122, 1.71831, 1.3343, 0.86581", \ |
| "2.20792, 2.21001, 2.14137, 1.96548, 1.69257, 1.30859, 0.84007", \ |
| "2.1615, 2.16271, 2.09407, 1.91818, 1.64527, 1.26131, 0.792781", \ |
| "2.21056, 2.21001, 2.14137, 1.96548, 1.69257, 1.30859, 0.840059", \ |
| "2.33805, 2.33926, 2.27062, 2.09462, 1.82182, 1.43781, 0.969287", \ |
| "2.51416, 2.51537, 2.44662, 2.27073, 1.99782, 1.61392, 1.14534", \ |
| "2.7027, 2.70358, 2.63516, 2.45927, 2.18636, 1.80246, 1.33386" \ |
| ) |
| } |
| } |
| } |
| cell_leakage_power : 8.06994e-05; |
| } |
| } |