| /* |
| * 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__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 : 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.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.25688, 4.27596, 4.32936, 4.42164, 4.55508, 4.74156, 4.98696", \ |
| "4.2606, 4.27476, 4.33188, 4.42536, 4.55796, 4.74132, 4.98792", \ |
| "4.25664, 4.27452, 4.32852, 4.4208, 4.55484, 4.73904, 4.98912", \ |
| "4.25664, 4.27188, 4.33116, 4.42116, 4.55808, 4.74156, 4.98636", \ |
| "4.26192, 4.28172, 4.335, 4.42596, 4.56132, 4.74384, 4.99092", \ |
| "4.26372, 4.28136, 4.33728, 4.43112, 4.5636, 4.74996, 4.9914", \ |
| "4.25184, 4.27104, 4.31952, 4.4178, 4.55208, 4.73832, 4.983" \ |
| ) |
| } |
| rise_transition(q_slew_template) { |
| index_1 ("0.01, 0.02988, 0.09966, 0.2329, 0.4405, 0.7318, 1.115"); |
| values ( \ |
| "0.190164, 0.210852, 0.295932, 0.465636, 0.739332, 1.14366, 1.67028" \ |
| ) |
| |
| } |
| 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.36992, 4.38852, 4.4436, 4.52976, 4.64592, 4.791, 4.97724", \ |
| "4.37196, 4.3872, 4.446, 4.53408, 4.64784, 4.7916, 4.98168", \ |
| "4.37004, 4.38768, 4.44504, 4.53156, 4.64664, 4.79184, 4.98192", \ |
| "4.3698, 4.3854, 4.44744, 4.53228, 4.64532, 4.79484, 4.9788", \ |
| "4.37352, 4.3932, 4.44948, 4.53636, 4.65204, 4.79532, 4.98444", \ |
| "4.37556, 4.39476, 4.45176, 4.542, 4.65564, 4.80024, 4.98696", \ |
| "4.36332, 4.3836, 4.43292, 4.52748, 4.6422, 4.7892, 4.97352" \ |
| ) |
| } |
| fall_transition(q_slew_template) { |
| index_1 ("0.01, 0.02988, 0.09966, 0.2329, 0.4405, 0.7318, 1.115"); |
| values ( \ |
| "0.18714, 0.208824, 0.274032, 0.388176, 0.556848, 0.798864, 1.11834" \ |
| ) |
| } |
| } |
| } |
| pin(CLK) { |
| direction : input; |
| capacitance : 0.285194; |
| clock : true; |
| max_transition : 1.394; |
| min_pulse_width_high : 2.082885; |
| min_pulse_width_low : 1.97373; |
| min_period : 5.66085; |
| |
| /* 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 ("1195.51, 1195.51, 1195.51, 1195.51, 1195.51, 1195.51, 1195.51"); |
| } |
| fall_power(power_template) { |
| index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| values ("1195.51, 1195.51, 1195.51, 1195.51, 1195.51, 1195.51, 1195.51"); |
| } |
| } |
| /* 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.0186604, 0.0186604, 0.0186604, 0.0186604, 0.0186604, 0.0186604, 0.0186604"); |
| } |
| fall_power(power_template) { |
| index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| values ("0.0186604, 0.0186604, 0.0186604, 0.0186604, 0.0186604, 0.0186604, 0.0186604"); |
| } |
| } |
| /* 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 ("1079.29, 1079.29, 1079.29, 1079.29, 1079.29, 1079.29, 1079.29"); |
| } |
| fall_power(power_template) { |
| index_1 ("0.02, 0.04471, 0.1314, 0.2971, 0.5551, 0.9172, 1.394"); |
| values ("1079.29, 1079.29, 1079.29, 1079.29, 1079.29, 1079.29, 1079.29"); |
| } |
| } |
| } |
| |
| 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.0173966; |
| 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.410993, 0.407715, 0.401665, 0.406296, 0.420167, 0.444961, 0.472648", \ |
| "0.410938, 0.40755, 0.401588, 0.406164, 0.418935, 0.445126, 0.471119", \ |
| "0.410696, 0.407462, 0.401302, 0.405922, 0.41976, 0.44055, 0.463045", \ |
| "0.410399, 0.40711, 0.401148, 0.405724, 0.419562, 0.440264, 0.452012", \ |
| "0.410586, 0.407011, 0.400763, 0.405438, 0.419298, 0.440011, 0.452771", \ |
| "0.410388, 0.406945, 0.400543, 0.405801, 0.416735, 0.439945, 0.456159", \ |
| "0.418836, 0.414788, 0.409079, 0.414953, 0.433147, 0.468017, 0.493042" \ |
| ) |
| } |
| 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.3883, 0.38995, 0.398321, 0.419144, 0.463881, 0.519233, 0.579964", \ |
| "0.388157, 0.390005, 0.397012, 0.418979, 0.462605, 0.519057, 0.579799", \ |
| "0.387937, 0.389499, 0.397914, 0.418737, 0.464134, 0.518815, 0.579568", \ |
| "0.387783, 0.389587, 0.396561, 0.418539, 0.463287, 0.518639, 0.57937", \ |
| "0.387486, 0.389059, 0.396242, 0.418011, 0.463023, 0.518397, 0.579106", \ |
| "0.387508, 0.389257, 0.39622, 0.418198, 0.461582, 0.518364, 0.579029", \ |
| "0.387332, 0.388894, 0.395978, 0.417901, 0.463551, 0.518232, 0.578963" \ |
| ) |
| } |
| } |
| 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.07676, 1.08005, 1.08609, 1.08147, 1.06759, 1.05034, 1.03412", \ |
| "1.09018, 1.09357, 1.09953, 1.09495, 1.08218, 1.06031, 1.04764", \ |
| "1.1036, 1.10682, 1.11299, 1.10837, 1.09453, 1.07373, 1.06208", \ |
| "1.12146, 1.12475, 1.13071, 1.12614, 1.1123, 1.0916, 1.07985", \ |
| "1.1563, 1.15988, 1.16613, 1.16146, 1.14759, 1.12687, 1.11412", \ |
| "1.18546, 1.18889, 1.19529, 1.19004, 1.1791, 1.15589, 1.14314", \ |
| "1.20551, 1.20915, 1.21484, 1.21018, 1.19882, 1.17564, 1.16288" \ |
| ) |
| } |
| 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.09946, 1.0978, 1.08943, 1.06861, 1.02388, 0.968528, 0.907786", \ |
| "1.11295, 1.11111, 1.1041, 1.08214, 1.03851, 0.982058, 0.921316", \ |
| "1.12635, 1.12479, 1.11638, 1.09555, 1.05016, 0.995467, 0.934725", \ |
| "1.14407, 1.14227, 1.1353, 1.11332, 1.06857, 1.01322, 0.95249", \ |
| "1.17941, 1.17782, 1.17064, 1.14887, 1.10387, 1.0485, 0.987789", \ |
| "1.20833, 1.20658, 1.19962, 1.17764, 1.13425, 1.07747, 1.01681", \ |
| "1.22817, 1.22661, 1.21953, 1.1976, 1.15195, 1.09727, 1.03654" \ |
| ) |
| } |
| } |
| } |
| pin(GWEN) { |
| direction : input; |
| capacitance : 0.0490479; |
| 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.561946, 0.564762, 0.571208, 0.59323, 0.629728, 0.676214, 0.720346", \ |
| "0.560923, 0.564256, 0.570592, 0.592526, 0.628936, 0.674872, 0.71962", \ |
| "0.553916, 0.557271, 0.563508, 0.585541, 0.622061, 0.667909, 0.712107", \ |
| "0.535975, 0.539297, 0.545831, 0.567754, 0.604164, 0.650606, 0.694342", \ |
| "0.497937, 0.501292, 0.507342, 0.529551, 0.56606, 0.612579, 0.656667", \ |
| "0.466697, 0.469095, 0.474958, 0.497387, 0.533863, 0.580382, 0.624448", \ |
| "0.438339, 0.441474, 0.44792, 0.469942, 0.506418, 0.553025, 0.597047" \ |
| ) |
| } |
| 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.588808, 0.591701, 0.607464, 0.640948, 0.701778, 0.778789, 0.878064", \ |
| "0.588093, 0.590997, 0.605957, 0.640178, 0.698335, 0.778756, 0.876942", \ |
| "0.581097, 0.584023, 0.599874, 0.633226, 0.694606, 0.771221, 0.870463", \ |
| "0.563288, 0.566236, 0.581196, 0.615483, 0.676225, 0.753324, 0.852544", \ |
| "0.525118, 0.528033, 0.542993, 0.577049, 0.638, 0.717673, 0.813989", \ |
| "0.492888, 0.496023, 0.510796, 0.545479, 0.60643, 0.685531, 0.781792", \ |
| "0.465498, 0.468424, 0.483384, 0.517462, 0.578699, 0.655501, 0.754369" \ |
| ) |
| } |
| } |
| 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.80564, 0.802868, 0.797126, 0.778954, 0.756756, 0.739838, 0.734514", \ |
| "0.805211, 0.80256, 0.796257, 0.778602, 0.756239, 0.740509, 0.734173", \ |
| "0.804881, 0.802252, 0.796444, 0.778261, 0.756063, 0.740157, 0.730466", \ |
| "0.803935, 0.800998, 0.79541, 0.777238, 0.754864, 0.737913, 0.729443", \ |
| "0.810733, 0.808247, 0.802241, 0.784674, 0.762234, 0.745294, 0.73997", \ |
| "0.812988, 0.810733, 0.804958, 0.786775, 0.764566, 0.74767, 0.742346", \ |
| "0.79937, 0.796873, 0.790911, 0.773014, 0.75053, 0.733634, 0.72831" \ |
| ) |
| } |
| 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.471669, 0.468468, 0.452562, 0.419419, 0.359865, 0.285043, 0.188921", \ |
| "0.470393, 0.467643, 0.452628, 0.418682, 0.361911, 0.285263, 0.188533", \ |
| "0.470844, 0.467324, 0.452001, 0.419254, 0.35816, 0.283679, 0.188036", \ |
| "0.469458, 0.46629, 0.451572, 0.418, 0.357247, 0.283338, 0.18702", \ |
| "0.476894, 0.473451, 0.458733, 0.424831, 0.365299, 0.287364, 0.194378", \ |
| "0.479281, 0.47608, 0.460801, 0.427713, 0.36575, 0.289718, 0.196889", \ |
| "0.523402, 0.51997, 0.504746, 0.470008, 0.405779, 0.328273, 0.235949" \ |
| ) |
| } |
| } |
| } |
| 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.231818, 0.235098, 0.250515, 0.28402, 0.343222, 0.417934, 0.51458", \ |
| "0.232108, 0.235358, 0.251066, 0.283745, 0.340769, 0.418077, 0.514239", \ |
| "0.232777, 0.236368, 0.251946, 0.285109, 0.345708, 0.420255, 0.515141", \ |
| "0.232709, 0.237417, 0.250876, 0.284944, 0.346313, 0.419188, 0.515471", \ |
| "0.225831, 0.229859, 0.244874, 0.278751, 0.338327, 0.416416, 0.50853", \ |
| "0.224528, 0.229145, 0.243056, 0.27577, 0.337788, 0.41415, 0.506154", \ |
| "0.237122, 0.240798, 0.254608, 0.289586, 0.348931, 0.422895, 0.51887" \ |
| ) |
| } |
| } |
| 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.80564, 0.80344, 0.797126, 0.778954, 0.756756, 0.739838, 0.734514", \ |
| "0.805211, 0.803297, 0.796257, 0.778602, 0.756239, 0.740509, 0.734173", \ |
| "0.804881, 0.802736, 0.796444, 0.778261, 0.756063, 0.740157, 0.73106", \ |
| "0.803935, 0.801724, 0.79541, 0.777238, 0.754864, 0.737913, 0.730037", \ |
| "0.810733, 0.808863, 0.802241, 0.784674, 0.762234, 0.745294, 0.73997", \ |
| "0.812988, 0.810986, 0.804958, 0.786775, 0.764566, 0.74767, 0.742346", \ |
| "0.79937, 0.797225, 0.790911, 0.773014, 0.75053, 0.733634, 0.72831" \ |
| ) |
| } |
| 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.471669, 0.468468, 0.452562, 0.419419, 0.359865, 0.285043, 0.188921", \ |
| "0.471339, 0.467643, 0.452628, 0.419727, 0.361911, 0.285263, 0.188533", \ |
| "0.470844, 0.467324, 0.452001, 0.419254, 0.35816, 0.283679, 0.188036", \ |
| "0.469535, 0.46629, 0.451572, 0.418, 0.357247, 0.283338, 0.18702", \ |
| "0.477411, 0.473451, 0.458733, 0.425216, 0.365299, 0.287364, 0.194378", \ |
| "0.479281, 0.47608, 0.460801, 0.427713, 0.36575, 0.289718, 0.196889", \ |
| "0.464992, 0.461813, 0.447073, 0.413556, 0.353177, 0.278762, 0.18289" \ |
| ) |
| } |
| } |
| } |
| bus(A) { |
| bus_type : A_BUS; |
| direction : input; |
| capacitance : 0.0376076; |
| 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.474485, 0.471955, 0.467346, 0.471867, 0.496111, 0.525822, 0.554037", \ |
| "0.475431, 0.473, 0.467687, 0.471405, 0.493449, 0.526471, 0.55286", \ |
| "0.475552, 0.472428, 0.468072, 0.471361, 0.496408, 0.52822, 0.553003", \ |
| "0.476157, 0.473583, 0.468369, 0.471823, 0.494351, 0.527483, 0.552101", \ |
| "0.46948, 0.467115, 0.463804, 0.467632, 0.490457, 0.521543, 0.547965", \ |
| "0.467665, 0.464596, 0.45991, 0.464662, 0.48587, 0.519398, 0.545688", \ |
| "0.480029, 0.475541, 0.472241, 0.477587, 0.499081, 0.528484, 0.558855" \ |
| ) |
| } |
| 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.606903, 0.609884, 0.620455, 0.640255, 0.685267, 0.75163, 0.830929", \ |
| "0.607673, 0.609378, 0.620488, 0.640948, 0.686279, 0.751531, 0.82324", \ |
| "0.609697, 0.610005, 0.620532, 0.64163, 0.685597, 0.753115, 0.827816", \ |
| "0.610368, 0.610247, 0.619674, 0.641751, 0.686323, 0.753313, 0.83127", \ |
| "0.603317, 0.604175, 0.614691, 0.635228, 0.680713, 0.746592, 0.82258", \ |
| "0.600182, 0.602096, 0.612293, 0.633875, 0.678117, 0.743413, 0.821843", \ |
| "0.61358, 0.614009, 0.625196, 0.645601, 0.689568, 0.756734, 0.834878" \ |
| ) |
| } |
| } |
| 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.493559, 0.49654, 0.497992, 0.495308, 0.495242, 0.49522, 0.494362", \ |
| "0.496419, 0.499466, 0.500918, 0.498234, 0.498168, 0.498146, 0.497288", \ |
| "0.50424, 0.507287, 0.508739, 0.506055, 0.505989, 0.505967, 0.505109", \ |
| "0.523435, 0.526482, 0.527945, 0.52525, 0.525195, 0.525173, 0.524304", \ |
| "0.55132, 0.554378, 0.55583, 0.553146, 0.55308, 0.553058, 0.5522", \ |
| "0.582076, 0.585266, 0.586575, 0.583891, 0.583825, 0.583803, 0.582945", \ |
| "0.606111, 0.609092, 0.610544, 0.60786, 0.607794, 0.607772, 0.606914" \ |
| ) |
| } |
| 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.50171, 0.500236, 0.490435, 0.477378, 0.475211, 0.481448, 0.488807", \ |
| "0.504603, 0.503162, 0.493361, 0.480315, 0.478137, 0.484374, 0.491733", \ |
| "0.512424, 0.510609, 0.501182, 0.488125, 0.485958, 0.492195, 0.499554", \ |
| "0.531982, 0.529848, 0.520377, 0.507331, 0.505153, 0.511401, 0.518749", \ |
| "0.559922, 0.558074, 0.548273, 0.535227, 0.533049, 0.539297, 0.546645", \ |
| "0.590601, 0.588456, 0.579018, 0.565972, 0.563794, 0.570042, 0.57739", \ |
| "0.614229, 0.612788, 0.602987, 0.589941, 0.587763, 0.594011, 0.601359" \ |
| ) |
| } |
| } |
| } |
| bus(D) { |
| bus_type : Q_BUS; |
| memory_write() { |
| address : A; |
| clocked_on : "CLK"; |
| } |
| direction : input; |
| capacitance : 0.0157294; |
| 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.402809, 0.405207, 0.410993, 0.417021, 0.406703, 0.381491, 0.339603", \ |
| "0.400488, 0.405724, 0.410982, 0.416119, 0.40524, 0.384219, 0.342067", \ |
| "0.402248, 0.405306, 0.413193, 0.415855, 0.407649, 0.385044, 0.341979", \ |
| "0.403282, 0.405031, 0.413633, 0.417626, 0.408045, 0.385572, 0.341055", \ |
| "0.397628, 0.399311, 0.406637, 0.410388, 0.402017, 0.377718, 0.333916", \ |
| "0.395263, 0.398255, 0.404415, 0.408738, 0.398915, 0.375826, 0.332354", \ |
| "0.408276, 0.40744, 0.417538, 0.420871, 0.411356, 0.390478, 0.343893" \ |
| ) |
| } |
| 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.0931337, 0.0952138, 0.111448, 0.156911, 0.230205, 0.327987, 0.452155", \ |
| "0.0935143, 0.0943492, 0.111492, 0.156823, 0.230259, 0.327778, 0.451979", \ |
| "0.0943448, 0.0942513, 0.111772, 0.157289, 0.230295, 0.328515, 0.452925", \ |
| "0.0944427, 0.0940214, 0.111805, 0.157447, 0.231331, 0.328592, 0.453002", \ |
| "0.0885544, 0.0886127, 0.105997, 0.151376, 0.223247, 0.322685, 0.447128", \ |
| "0.0854865, 0.0855965, 0.1037, 0.149174, 0.220792, 0.319979, 0.444114", \ |
| "0.0985138, 0.0991507, 0.115847, 0.161096, 0.2331, 0.332442, 0.456918" \ |
| ) |
| } |
| } |
| 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.479853, 0.47828, 0.471009, 0.465377, 0.476014, 0.500643, 0.54362", \ |
| "0.479523, 0.477939, 0.47091, 0.46486, 0.475728, 0.499301, 0.541024", \ |
| "0.479193, 0.477477, 0.47003, 0.464376, 0.474507, 0.497684, 0.541915", \ |
| "0.478104, 0.476278, 0.470129, 0.464079, 0.474738, 0.498069, 0.541585", \ |
| "0.485056, 0.481921, 0.476322, 0.471581, 0.480282, 0.504669, 0.54879", \ |
| "0.487025, 0.484671, 0.478467, 0.474485, 0.483527, 0.506044, 0.54802", \ |
| "0.474452, 0.47443, 0.466147, 0.462055, 0.471592, 0.493856, 0.539319" \ |
| ) |
| } |
| 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.644633, 0.643159, 0.627099, 0.581251, 0.507738, 0.410344, 0.287903", \ |
| "0.643951, 0.643478, 0.626582, 0.580723, 0.507221, 0.409827, 0.2882", \ |
| "0.643368, 0.643016, 0.62612, 0.580272, 0.507342, 0.409365, 0.287254", \ |
| "0.642796, 0.642653, 0.625801, 0.579953, 0.506451, 0.409046, 0.286605", \ |
| "0.649011, 0.648791, 0.631895, 0.586047, 0.513161, 0.41514, 0.292699", \ |
| "0.652355, 0.651365, 0.634513, 0.588665, 0.515163, 0.417758, 0.295328", \ |
| "0.639463, 0.63954, 0.622369, 0.576521, 0.503437, 0.405614, 0.283173" \ |
| ) |
| } |
| } |
| } |
| cell_leakage_power : 0.0186604; |
| } |
| } |