Add files using upload-large-folder tool
Browse filesThis view is limited to 50 files because it contains too many changes. See raw diff
- myproject_prj/solution1/syn/verilog/myproject.v +0 -0
- myproject_prj/solution1/syn/verilog/myproject_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_16u_config31_s.v +0 -0
- myproject_prj/solution1/syn/verilog/myproject_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_16u_config9_s.v +0 -0
- myproject_prj/solution1/syn/verilog/myproject_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_8u_config35_s.v +0 -0
- myproject_prj/solution1/syn/verilog/myproject_conv_2d_cl_array_ap_fixed_24u_array_ap_fixed_41_21_5_3_0_8u_config35_s.v +397 -0
- myproject_prj/solution1/syn/verilog/myproject_conv_2d_cl_array_array_ap_fixed_41_21_5_3_0_32u_config12_s.v +373 -0
- myproject_prj/solution1/syn/verilog/myproject_conv_2d_cl_array_array_ap_fixed_43_23_5_3_0_64u_config19_s.v +517 -0
- myproject_prj/solution1/syn/verilog/myproject_dense_resource_rf_gt_nin_rem0_ap_fixed_ap_fixed_37_17_5_3_0_config2_mult_s_oudEe.v +42 -0
- myproject_prj/solution1/syn/verilog/myproject_dense_resource_rf_gt_nin_rem0_ap_fixed_ap_fixed_40_20_5_3_0_config4_mult_s.v +0 -0
- myproject_prj/solution1/syn/verilog/myproject_dense_resource_rf_gt_nin_rem0_ap_fixed_ap_fixed_config14_mult_s_outidx_5_ROM_dkF.dat +576 -0
- myproject_prj/solution1/syn/verilog/myproject_dense_resource_rf_gt_nin_rem0_ap_fixed_ap_fixed_config14_mult_s_w14_ROM_NP_BRdlF.dat +576 -0
- myproject_prj/solution1/syn/verilog/myproject_dense_resource_rf_gt_nin_rem0_ap_fixed_ap_fixed_config14_mult_s_w14_ROM_NP_BRdlF.v +42 -0
- myproject_prj/solution1/syn/verilog/myproject_dense_resource_rf_gt_nin_rem0_ap_fixed_ap_fixed_config19_mult_s_outidx_7_ROM_g0b.v +42 -0
- myproject_prj/solution1/syn/verilog/myproject_dense_resource_rf_gt_nin_rem0_ap_fixed_ap_fixed_config31_mult_s.v +0 -0
- myproject_prj/solution1/syn/verilog/myproject_dense_resource_rf_gt_nin_rem0_ap_fixed_ap_fixed_config37_mult_s_w37_ROM_NP_BRoic.dat +144 -0
- myproject_prj/solution1/syn/verilog/myproject_dense_resource_rf_leq_nin_ap_fixed_ap_fixed_36_16_5_3_0_config58_mult_s.v +663 -0
- myproject_prj/solution1/syn/verilog/myproject_dense_resource_rf_leq_nin_ap_fixed_ap_fixed_40_20_5_3_0_config7_mult_s_w7_ROMUhA.v +42 -0
- myproject_prj/solution1/syn/verilog/myproject_dense_resource_rf_leq_nin_ap_fixed_ap_fixed_41_21_5_3_0_config12_mult_s_w12_Rceu.v +42 -0
- myproject_prj/solution1/syn/verilog/myproject_dense_resource_rf_leq_nin_ap_fixed_ap_fixed_41_21_5_3_0_config12_mult_s_w12_Rcgu.v +42 -0
- myproject_prj/solution1/syn/verilog/myproject_dense_resource_rf_leq_nin_ap_fixed_ap_fixed_41_21_5_3_0_config31_mult_s_w31_Rnbc.v +42 -0
- myproject_prj/solution1/syn/verilog/myproject_dense_resource_rf_leq_nin_ap_fixed_ap_fixed_41_21_5_3_0_config31_mult_s_w31_Rndc.dat +144 -0
- myproject_prj/solution1/syn/verilog/myproject_dense_resource_rf_leq_nin_ap_fixed_ap_fixed_41_21_5_3_0_config9_mult_s_w9_ROMbrm.v +42 -0
- myproject_prj/solution1/syn/verilog/myproject_dense_resource_rf_leq_nin_ap_fixed_ap_fixed_41_21_5_3_0_config9_mult_s_w9_ROMbtn.dat +144 -0
- myproject_prj/solution1/syn/verilog/myproject_dense_resource_rf_leq_nin_ap_fixed_ap_fixed_41_21_5_3_0_config9_mult_s_w9_ROMbtn.v +42 -0
- myproject_prj/solution1/syn/verilog/myproject_dense_resource_rf_leq_nin_ap_fixed_ap_fixed_42_22_5_3_0_config14_mult_s_w14_RdjF.v +42 -0
- myproject_prj/solution1/syn/verilog/myproject_dense_resource_rf_leq_nin_ap_fixed_ap_fixed_42_22_5_3_0_config17_mult_s_w17_ReSV.dat +144 -0
- myproject_prj/solution1/syn/verilog/myproject_fifo_w1024_d64_A.v +237 -0
- myproject_prj/solution1/syn/verilog/myproject_fifo_w1312_d256_A.v +237 -0
- myproject_prj/solution1/syn/verilog/myproject_fifo_w1376_d256_A.v +237 -0
- myproject_prj/solution1/syn/verilog/myproject_fifo_w1536_d256_A.v +237 -0
- myproject_prj/solution1/syn/verilog/myproject_fifo_w16_d4096_A.v +237 -0
- myproject_prj/solution1/syn/verilog/myproject_fifo_w16_d64_S.v +155 -0
- myproject_prj/solution1/syn/verilog/myproject_fifo_w256_d1156_A.v +237 -0
- myproject_prj/solution1/syn/verilog/myproject_fifo_w320_d4096_A.v +237 -0
- myproject_prj/solution1/syn/verilog/myproject_fifo_w328_d4096_A.v +237 -0
- myproject_prj/solution1/syn/verilog/myproject_fifo_w36_d4096_A.v +237 -0
- myproject_prj/solution1/syn/verilog/myproject_fifo_w384_d4096_A.v +237 -0
- myproject_prj/solution1/syn/verilog/myproject_fifo_w512_d256_A.v +237 -0
- myproject_prj/solution1/syn/verilog/myproject_fifo_w768_d1024_A.v +237 -0
- myproject_prj/solution1/syn/verilog/myproject_flow_control_loop_pipe_no_ap_cont.v +104 -0
- myproject_prj/solution1/syn/verilog/myproject_flow_control_loop_pipe_sequential_init.v +107 -0
- myproject_prj/solution1/syn/verilog/myproject_mac_muladd_16s_10s_33s_33_1_1.v +66 -0
- myproject_prj/solution1/syn/verilog/myproject_mac_muladd_16s_16s_33s_33_1_1.v +66 -0
- myproject_prj/solution1/syn/verilog/myproject_mac_muladd_16s_16s_40s_41_1_1.v +66 -0
- myproject_prj/solution1/syn/verilog/myproject_mac_muladd_16s_16s_41s_42_1_1.v +66 -0
- myproject_prj/solution1/syn/verilog/myproject_mac_muladd_16s_9s_31s_31_1_1.v +66 -0
- myproject_prj/solution1/syn/verilog/myproject_mac_muladd_16s_9s_34s_34_1_1.v +66 -0
- myproject_prj/solution1/syn/verilog/myproject_mac_muladd_16s_9s_41s_42_1_1.v +66 -0
- myproject_prj/solution1/syn/verilog/myproject_mac_muladd_16s_9s_43s_44_1_1.v +66 -0
- myproject_prj/solution1/syn/verilog/myproject_mul_16s_16s_32_1_1.v +75 -0
myproject_prj/solution1/syn/verilog/myproject.v
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
myproject_prj/solution1/syn/verilog/myproject_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_16u_config31_s.v
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
myproject_prj/solution1/syn/verilog/myproject_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_16u_config9_s.v
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
myproject_prj/solution1/syn/verilog/myproject_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_8u_config35_s.v
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
myproject_prj/solution1/syn/verilog/myproject_conv_2d_cl_array_ap_fixed_24u_array_ap_fixed_41_21_5_3_0_8u_config35_s.v
ADDED
|
@@ -0,0 +1,397 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// ==============================================================
|
| 2 |
+
// Generated by Vitis HLS v2024.1
|
| 3 |
+
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
| 4 |
+
// Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.
|
| 5 |
+
// ==============================================================
|
| 6 |
+
|
| 7 |
+
`timescale 1 ns / 1 ps
|
| 8 |
+
|
| 9 |
+
module myproject_conv_2d_cl_array_ap_fixed_24u_array_ap_fixed_41_21_5_3_0_8u_config35_s (
|
| 10 |
+
ap_clk,
|
| 11 |
+
ap_rst,
|
| 12 |
+
ap_start,
|
| 13 |
+
start_full_n,
|
| 14 |
+
ap_done,
|
| 15 |
+
ap_continue,
|
| 16 |
+
ap_idle,
|
| 17 |
+
ap_ready,
|
| 18 |
+
start_out,
|
| 19 |
+
start_write,
|
| 20 |
+
layer56_out_dout,
|
| 21 |
+
layer56_out_num_data_valid,
|
| 22 |
+
layer56_out_fifo_cap,
|
| 23 |
+
layer56_out_empty_n,
|
| 24 |
+
layer56_out_read,
|
| 25 |
+
layer35_out_din,
|
| 26 |
+
layer35_out_num_data_valid,
|
| 27 |
+
layer35_out_fifo_cap,
|
| 28 |
+
layer35_out_full_n,
|
| 29 |
+
layer35_out_write
|
| 30 |
+
);
|
| 31 |
+
|
| 32 |
+
parameter ap_ST_fsm_state1 = 3'd1;
|
| 33 |
+
parameter ap_ST_fsm_state2 = 3'd2;
|
| 34 |
+
parameter ap_ST_fsm_state3 = 3'd4;
|
| 35 |
+
|
| 36 |
+
input ap_clk;
|
| 37 |
+
input ap_rst;
|
| 38 |
+
input ap_start;
|
| 39 |
+
input start_full_n;
|
| 40 |
+
output ap_done;
|
| 41 |
+
input ap_continue;
|
| 42 |
+
output ap_idle;
|
| 43 |
+
output ap_ready;
|
| 44 |
+
output start_out;
|
| 45 |
+
output start_write;
|
| 46 |
+
input [383:0] layer56_out_dout;
|
| 47 |
+
input [13:0] layer56_out_num_data_valid;
|
| 48 |
+
input [13:0] layer56_out_fifo_cap;
|
| 49 |
+
input layer56_out_empty_n;
|
| 50 |
+
output layer56_out_read;
|
| 51 |
+
output [327:0] layer35_out_din;
|
| 52 |
+
input [12:0] layer35_out_num_data_valid;
|
| 53 |
+
input [12:0] layer35_out_fifo_cap;
|
| 54 |
+
input layer35_out_full_n;
|
| 55 |
+
output layer35_out_write;
|
| 56 |
+
|
| 57 |
+
reg ap_done;
|
| 58 |
+
reg ap_idle;
|
| 59 |
+
reg start_write;
|
| 60 |
+
reg layer35_out_write;
|
| 61 |
+
|
| 62 |
+
reg real_start;
|
| 63 |
+
reg start_once_reg;
|
| 64 |
+
reg ap_done_reg;
|
| 65 |
+
(* fsm_encoding = "none" *) reg [2:0] ap_CS_fsm;
|
| 66 |
+
wire ap_CS_fsm_state1;
|
| 67 |
+
reg internal_ap_ready;
|
| 68 |
+
reg layer56_out_blk_n;
|
| 69 |
+
wire ap_CS_fsm_state2;
|
| 70 |
+
wire [0:0] icmp_ln52_fu_1252_p2;
|
| 71 |
+
wire [15:0] trunc_ln58_fu_1264_p1;
|
| 72 |
+
reg [15:0] trunc_ln58_reg_1537;
|
| 73 |
+
reg ap_block_state2;
|
| 74 |
+
reg [15:0] trunc_ln58_s_reg_1542;
|
| 75 |
+
reg [15:0] trunc_ln58_10_reg_1547;
|
| 76 |
+
reg [15:0] trunc_ln58_11_reg_1552;
|
| 77 |
+
reg [15:0] trunc_ln58_12_reg_1557;
|
| 78 |
+
reg [15:0] trunc_ln58_13_reg_1562;
|
| 79 |
+
reg [15:0] trunc_ln58_14_reg_1567;
|
| 80 |
+
reg [15:0] trunc_ln58_15_reg_1572;
|
| 81 |
+
reg [15:0] trunc_ln58_16_reg_1577;
|
| 82 |
+
reg [15:0] trunc_ln58_17_reg_1582;
|
| 83 |
+
reg [15:0] trunc_ln58_18_reg_1587;
|
| 84 |
+
reg [15:0] trunc_ln58_19_reg_1592;
|
| 85 |
+
reg [15:0] trunc_ln58_20_reg_1597;
|
| 86 |
+
reg [15:0] trunc_ln58_21_reg_1602;
|
| 87 |
+
reg [15:0] trunc_ln58_22_reg_1607;
|
| 88 |
+
reg [15:0] trunc_ln58_23_reg_1612;
|
| 89 |
+
reg [15:0] trunc_ln58_24_reg_1617;
|
| 90 |
+
reg [15:0] trunc_ln58_25_reg_1622;
|
| 91 |
+
reg [15:0] trunc_ln58_26_reg_1627;
|
| 92 |
+
reg [15:0] trunc_ln58_27_reg_1632;
|
| 93 |
+
reg [15:0] trunc_ln58_28_reg_1637;
|
| 94 |
+
reg [15:0] trunc_ln58_29_reg_1642;
|
| 95 |
+
reg [15:0] trunc_ln58_30_reg_1647;
|
| 96 |
+
reg [15:0] trunc_ln58_31_reg_1652;
|
| 97 |
+
wire grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_8u_config35_s_fu_676_ap_start;
|
| 98 |
+
wire grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_8u_config35_s_fu_676_ap_done;
|
| 99 |
+
wire grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_8u_config35_s_fu_676_ap_idle;
|
| 100 |
+
wire grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_8u_config35_s_fu_676_ap_ready;
|
| 101 |
+
wire [327:0] grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_8u_config35_s_fu_676_layer35_out_din;
|
| 102 |
+
wire grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_8u_config35_s_fu_676_layer35_out_write;
|
| 103 |
+
reg grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_8u_config35_s_fu_676_ap_start_reg;
|
| 104 |
+
reg ap_block_state2_ignore_call27;
|
| 105 |
+
wire ap_CS_fsm_state3;
|
| 106 |
+
reg [12:0] indvar_flatten_fu_666;
|
| 107 |
+
wire [12:0] add_ln52_fu_1258_p2;
|
| 108 |
+
reg ap_block_state1;
|
| 109 |
+
reg layer56_out_read_local;
|
| 110 |
+
reg [2:0] ap_NS_fsm;
|
| 111 |
+
reg ap_ST_fsm_state1_blk;
|
| 112 |
+
reg ap_ST_fsm_state2_blk;
|
| 113 |
+
reg ap_ST_fsm_state3_blk;
|
| 114 |
+
wire ap_ce_reg;
|
| 115 |
+
|
| 116 |
+
// power-on initialization
|
| 117 |
+
initial begin
|
| 118 |
+
#0 start_once_reg = 1'b0;
|
| 119 |
+
#0 ap_done_reg = 1'b0;
|
| 120 |
+
#0 ap_CS_fsm = 3'd1;
|
| 121 |
+
#0 grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_8u_config35_s_fu_676_ap_start_reg = 1'b0;
|
| 122 |
+
#0 indvar_flatten_fu_666 = 13'd0;
|
| 123 |
+
end
|
| 124 |
+
|
| 125 |
+
myproject_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_8u_config35_s grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_8u_config35_s_fu_676(
|
| 126 |
+
.ap_clk(ap_clk),
|
| 127 |
+
.ap_rst(ap_rst),
|
| 128 |
+
.ap_start(grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_8u_config35_s_fu_676_ap_start),
|
| 129 |
+
.ap_done(grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_8u_config35_s_fu_676_ap_done),
|
| 130 |
+
.ap_idle(grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_8u_config35_s_fu_676_ap_idle),
|
| 131 |
+
.ap_ready(grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_8u_config35_s_fu_676_ap_ready),
|
| 132 |
+
.p_read(trunc_ln58_reg_1537),
|
| 133 |
+
.p_read1(trunc_ln58_s_reg_1542),
|
| 134 |
+
.p_read2(trunc_ln58_10_reg_1547),
|
| 135 |
+
.p_read3(trunc_ln58_11_reg_1552),
|
| 136 |
+
.p_read4(trunc_ln58_12_reg_1557),
|
| 137 |
+
.p_read5(trunc_ln58_13_reg_1562),
|
| 138 |
+
.p_read6(trunc_ln58_14_reg_1567),
|
| 139 |
+
.p_read7(trunc_ln58_15_reg_1572),
|
| 140 |
+
.p_read8(trunc_ln58_16_reg_1577),
|
| 141 |
+
.p_read9(trunc_ln58_17_reg_1582),
|
| 142 |
+
.p_read10(trunc_ln58_18_reg_1587),
|
| 143 |
+
.p_read11(trunc_ln58_19_reg_1592),
|
| 144 |
+
.p_read12(trunc_ln58_20_reg_1597),
|
| 145 |
+
.p_read13(trunc_ln58_21_reg_1602),
|
| 146 |
+
.p_read14(trunc_ln58_22_reg_1607),
|
| 147 |
+
.p_read15(trunc_ln58_23_reg_1612),
|
| 148 |
+
.p_read16(trunc_ln58_24_reg_1617),
|
| 149 |
+
.p_read17(trunc_ln58_25_reg_1622),
|
| 150 |
+
.p_read18(trunc_ln58_26_reg_1627),
|
| 151 |
+
.p_read19(trunc_ln58_27_reg_1632),
|
| 152 |
+
.p_read20(trunc_ln58_28_reg_1637),
|
| 153 |
+
.p_read21(trunc_ln58_29_reg_1642),
|
| 154 |
+
.p_read22(trunc_ln58_30_reg_1647),
|
| 155 |
+
.p_read23(trunc_ln58_31_reg_1652),
|
| 156 |
+
.layer35_out_din(grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_8u_config35_s_fu_676_layer35_out_din),
|
| 157 |
+
.layer35_out_num_data_valid(13'd0),
|
| 158 |
+
.layer35_out_fifo_cap(13'd0),
|
| 159 |
+
.layer35_out_full_n(layer35_out_full_n),
|
| 160 |
+
.layer35_out_write(grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_8u_config35_s_fu_676_layer35_out_write)
|
| 161 |
+
);
|
| 162 |
+
|
| 163 |
+
always @ (posedge ap_clk) begin
|
| 164 |
+
if (ap_rst == 1'b1) begin
|
| 165 |
+
ap_CS_fsm <= ap_ST_fsm_state1;
|
| 166 |
+
end else begin
|
| 167 |
+
ap_CS_fsm <= ap_NS_fsm;
|
| 168 |
+
end
|
| 169 |
+
end
|
| 170 |
+
|
| 171 |
+
always @ (posedge ap_clk) begin
|
| 172 |
+
if (ap_rst == 1'b1) begin
|
| 173 |
+
ap_done_reg <= 1'b0;
|
| 174 |
+
end else begin
|
| 175 |
+
if ((ap_continue == 1'b1)) begin
|
| 176 |
+
ap_done_reg <= 1'b0;
|
| 177 |
+
end else if (((1'b0 == ap_block_state2) & (icmp_ln52_fu_1252_p2 == 1'd1) & (1'b1 == ap_CS_fsm_state2))) begin
|
| 178 |
+
ap_done_reg <= 1'b1;
|
| 179 |
+
end
|
| 180 |
+
end
|
| 181 |
+
end
|
| 182 |
+
|
| 183 |
+
always @ (posedge ap_clk) begin
|
| 184 |
+
if (ap_rst == 1'b1) begin
|
| 185 |
+
grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_8u_config35_s_fu_676_ap_start_reg <= 1'b0;
|
| 186 |
+
end else begin
|
| 187 |
+
if (((1'b0 == ap_block_state2_ignore_call27) & (icmp_ln52_fu_1252_p2 == 1'd0) & (1'b1 == ap_CS_fsm_state2))) begin
|
| 188 |
+
grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_8u_config35_s_fu_676_ap_start_reg <= 1'b1;
|
| 189 |
+
end else if ((grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_8u_config35_s_fu_676_ap_ready == 1'b1)) begin
|
| 190 |
+
grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_8u_config35_s_fu_676_ap_start_reg <= 1'b0;
|
| 191 |
+
end
|
| 192 |
+
end
|
| 193 |
+
end
|
| 194 |
+
|
| 195 |
+
always @ (posedge ap_clk) begin
|
| 196 |
+
if (ap_rst == 1'b1) begin
|
| 197 |
+
start_once_reg <= 1'b0;
|
| 198 |
+
end else begin
|
| 199 |
+
if (((real_start == 1'b1) & (internal_ap_ready == 1'b0))) begin
|
| 200 |
+
start_once_reg <= 1'b1;
|
| 201 |
+
end else if ((internal_ap_ready == 1'b1)) begin
|
| 202 |
+
start_once_reg <= 1'b0;
|
| 203 |
+
end
|
| 204 |
+
end
|
| 205 |
+
end
|
| 206 |
+
|
| 207 |
+
always @ (posedge ap_clk) begin
|
| 208 |
+
if (((1'b0 == ap_block_state1) & (1'b1 == ap_CS_fsm_state1))) begin
|
| 209 |
+
indvar_flatten_fu_666 <= 13'd0;
|
| 210 |
+
end else if (((1'b0 == ap_block_state2) & (icmp_ln52_fu_1252_p2 == 1'd0) & (1'b1 == ap_CS_fsm_state2))) begin
|
| 211 |
+
indvar_flatten_fu_666 <= add_ln52_fu_1258_p2;
|
| 212 |
+
end
|
| 213 |
+
end
|
| 214 |
+
|
| 215 |
+
always @ (posedge ap_clk) begin
|
| 216 |
+
if (((1'b0 == ap_block_state2) & (1'b1 == ap_CS_fsm_state2))) begin
|
| 217 |
+
trunc_ln58_10_reg_1547 <= {{layer56_out_dout[47:32]}};
|
| 218 |
+
trunc_ln58_11_reg_1552 <= {{layer56_out_dout[63:48]}};
|
| 219 |
+
trunc_ln58_12_reg_1557 <= {{layer56_out_dout[79:64]}};
|
| 220 |
+
trunc_ln58_13_reg_1562 <= {{layer56_out_dout[95:80]}};
|
| 221 |
+
trunc_ln58_14_reg_1567 <= {{layer56_out_dout[111:96]}};
|
| 222 |
+
trunc_ln58_15_reg_1572 <= {{layer56_out_dout[127:112]}};
|
| 223 |
+
trunc_ln58_16_reg_1577 <= {{layer56_out_dout[143:128]}};
|
| 224 |
+
trunc_ln58_17_reg_1582 <= {{layer56_out_dout[159:144]}};
|
| 225 |
+
trunc_ln58_18_reg_1587 <= {{layer56_out_dout[175:160]}};
|
| 226 |
+
trunc_ln58_19_reg_1592 <= {{layer56_out_dout[191:176]}};
|
| 227 |
+
trunc_ln58_20_reg_1597 <= {{layer56_out_dout[207:192]}};
|
| 228 |
+
trunc_ln58_21_reg_1602 <= {{layer56_out_dout[223:208]}};
|
| 229 |
+
trunc_ln58_22_reg_1607 <= {{layer56_out_dout[239:224]}};
|
| 230 |
+
trunc_ln58_23_reg_1612 <= {{layer56_out_dout[255:240]}};
|
| 231 |
+
trunc_ln58_24_reg_1617 <= {{layer56_out_dout[271:256]}};
|
| 232 |
+
trunc_ln58_25_reg_1622 <= {{layer56_out_dout[287:272]}};
|
| 233 |
+
trunc_ln58_26_reg_1627 <= {{layer56_out_dout[303:288]}};
|
| 234 |
+
trunc_ln58_27_reg_1632 <= {{layer56_out_dout[319:304]}};
|
| 235 |
+
trunc_ln58_28_reg_1637 <= {{layer56_out_dout[335:320]}};
|
| 236 |
+
trunc_ln58_29_reg_1642 <= {{layer56_out_dout[351:336]}};
|
| 237 |
+
trunc_ln58_30_reg_1647 <= {{layer56_out_dout[367:352]}};
|
| 238 |
+
trunc_ln58_31_reg_1652 <= {{layer56_out_dout[383:368]}};
|
| 239 |
+
trunc_ln58_reg_1537 <= trunc_ln58_fu_1264_p1;
|
| 240 |
+
trunc_ln58_s_reg_1542 <= {{layer56_out_dout[31:16]}};
|
| 241 |
+
end
|
| 242 |
+
end
|
| 243 |
+
|
| 244 |
+
always @ (*) begin
|
| 245 |
+
if ((1'b1 == ap_block_state1)) begin
|
| 246 |
+
ap_ST_fsm_state1_blk = 1'b1;
|
| 247 |
+
end else begin
|
| 248 |
+
ap_ST_fsm_state1_blk = 1'b0;
|
| 249 |
+
end
|
| 250 |
+
end
|
| 251 |
+
|
| 252 |
+
always @ (*) begin
|
| 253 |
+
if ((1'b1 == ap_block_state2)) begin
|
| 254 |
+
ap_ST_fsm_state2_blk = 1'b1;
|
| 255 |
+
end else begin
|
| 256 |
+
ap_ST_fsm_state2_blk = 1'b0;
|
| 257 |
+
end
|
| 258 |
+
end
|
| 259 |
+
|
| 260 |
+
always @ (*) begin
|
| 261 |
+
if ((grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_8u_config35_s_fu_676_ap_done == 1'b0)) begin
|
| 262 |
+
ap_ST_fsm_state3_blk = 1'b1;
|
| 263 |
+
end else begin
|
| 264 |
+
ap_ST_fsm_state3_blk = 1'b0;
|
| 265 |
+
end
|
| 266 |
+
end
|
| 267 |
+
|
| 268 |
+
always @ (*) begin
|
| 269 |
+
if (((1'b0 == ap_block_state2) & (icmp_ln52_fu_1252_p2 == 1'd1) & (1'b1 == ap_CS_fsm_state2))) begin
|
| 270 |
+
ap_done = 1'b1;
|
| 271 |
+
end else begin
|
| 272 |
+
ap_done = ap_done_reg;
|
| 273 |
+
end
|
| 274 |
+
end
|
| 275 |
+
|
| 276 |
+
always @ (*) begin
|
| 277 |
+
if (((real_start == 1'b0) & (1'b1 == ap_CS_fsm_state1))) begin
|
| 278 |
+
ap_idle = 1'b1;
|
| 279 |
+
end else begin
|
| 280 |
+
ap_idle = 1'b0;
|
| 281 |
+
end
|
| 282 |
+
end
|
| 283 |
+
|
| 284 |
+
always @ (*) begin
|
| 285 |
+
if (((1'b0 == ap_block_state2) & (icmp_ln52_fu_1252_p2 == 1'd1) & (1'b1 == ap_CS_fsm_state2))) begin
|
| 286 |
+
internal_ap_ready = 1'b1;
|
| 287 |
+
end else begin
|
| 288 |
+
internal_ap_ready = 1'b0;
|
| 289 |
+
end
|
| 290 |
+
end
|
| 291 |
+
|
| 292 |
+
always @ (*) begin
|
| 293 |
+
if ((1'b1 == ap_CS_fsm_state3)) begin
|
| 294 |
+
layer35_out_write = grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_8u_config35_s_fu_676_layer35_out_write;
|
| 295 |
+
end else begin
|
| 296 |
+
layer35_out_write = 1'b0;
|
| 297 |
+
end
|
| 298 |
+
end
|
| 299 |
+
|
| 300 |
+
always @ (*) begin
|
| 301 |
+
if (((icmp_ln52_fu_1252_p2 == 1'd0) & (1'b1 == ap_CS_fsm_state2))) begin
|
| 302 |
+
layer56_out_blk_n = layer56_out_empty_n;
|
| 303 |
+
end else begin
|
| 304 |
+
layer56_out_blk_n = 1'b1;
|
| 305 |
+
end
|
| 306 |
+
end
|
| 307 |
+
|
| 308 |
+
always @ (*) begin
|
| 309 |
+
if (((1'b0 == ap_block_state2) & (icmp_ln52_fu_1252_p2 == 1'd0) & (1'b1 == ap_CS_fsm_state2))) begin
|
| 310 |
+
layer56_out_read_local = 1'b1;
|
| 311 |
+
end else begin
|
| 312 |
+
layer56_out_read_local = 1'b0;
|
| 313 |
+
end
|
| 314 |
+
end
|
| 315 |
+
|
| 316 |
+
always @ (*) begin
|
| 317 |
+
if (((start_once_reg == 1'b0) & (start_full_n == 1'b0))) begin
|
| 318 |
+
real_start = 1'b0;
|
| 319 |
+
end else begin
|
| 320 |
+
real_start = ap_start;
|
| 321 |
+
end
|
| 322 |
+
end
|
| 323 |
+
|
| 324 |
+
always @ (*) begin
|
| 325 |
+
if (((real_start == 1'b1) & (start_once_reg == 1'b0))) begin
|
| 326 |
+
start_write = 1'b1;
|
| 327 |
+
end else begin
|
| 328 |
+
start_write = 1'b0;
|
| 329 |
+
end
|
| 330 |
+
end
|
| 331 |
+
|
| 332 |
+
always @ (*) begin
|
| 333 |
+
case (ap_CS_fsm)
|
| 334 |
+
ap_ST_fsm_state1 : begin
|
| 335 |
+
if (((1'b0 == ap_block_state1) & (1'b1 == ap_CS_fsm_state1))) begin
|
| 336 |
+
ap_NS_fsm = ap_ST_fsm_state2;
|
| 337 |
+
end else begin
|
| 338 |
+
ap_NS_fsm = ap_ST_fsm_state1;
|
| 339 |
+
end
|
| 340 |
+
end
|
| 341 |
+
ap_ST_fsm_state2 : begin
|
| 342 |
+
if (((1'b0 == ap_block_state2) & (icmp_ln52_fu_1252_p2 == 1'd1) & (1'b1 == ap_CS_fsm_state2))) begin
|
| 343 |
+
ap_NS_fsm = ap_ST_fsm_state1;
|
| 344 |
+
end else if (((1'b0 == ap_block_state2) & (icmp_ln52_fu_1252_p2 == 1'd0) & (1'b1 == ap_CS_fsm_state2))) begin
|
| 345 |
+
ap_NS_fsm = ap_ST_fsm_state3;
|
| 346 |
+
end else begin
|
| 347 |
+
ap_NS_fsm = ap_ST_fsm_state2;
|
| 348 |
+
end
|
| 349 |
+
end
|
| 350 |
+
ap_ST_fsm_state3 : begin
|
| 351 |
+
if (((1'b1 == ap_CS_fsm_state3) & (grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_8u_config35_s_fu_676_ap_done == 1'b1))) begin
|
| 352 |
+
ap_NS_fsm = ap_ST_fsm_state2;
|
| 353 |
+
end else begin
|
| 354 |
+
ap_NS_fsm = ap_ST_fsm_state3;
|
| 355 |
+
end
|
| 356 |
+
end
|
| 357 |
+
default : begin
|
| 358 |
+
ap_NS_fsm = 'bx;
|
| 359 |
+
end
|
| 360 |
+
endcase
|
| 361 |
+
end
|
| 362 |
+
|
| 363 |
+
assign add_ln52_fu_1258_p2 = (indvar_flatten_fu_666 + 13'd1);
|
| 364 |
+
|
| 365 |
+
assign ap_CS_fsm_state1 = ap_CS_fsm[32'd0];
|
| 366 |
+
|
| 367 |
+
assign ap_CS_fsm_state2 = ap_CS_fsm[32'd1];
|
| 368 |
+
|
| 369 |
+
assign ap_CS_fsm_state3 = ap_CS_fsm[32'd2];
|
| 370 |
+
|
| 371 |
+
always @ (*) begin
|
| 372 |
+
ap_block_state1 = ((real_start == 1'b0) | (ap_done_reg == 1'b1));
|
| 373 |
+
end
|
| 374 |
+
|
| 375 |
+
always @ (*) begin
|
| 376 |
+
ap_block_state2 = ((icmp_ln52_fu_1252_p2 == 1'd0) & (layer56_out_empty_n == 1'b0));
|
| 377 |
+
end
|
| 378 |
+
|
| 379 |
+
always @ (*) begin
|
| 380 |
+
ap_block_state2_ignore_call27 = ((icmp_ln52_fu_1252_p2 == 1'd0) & (layer56_out_empty_n == 1'b0));
|
| 381 |
+
end
|
| 382 |
+
|
| 383 |
+
assign ap_ready = internal_ap_ready;
|
| 384 |
+
|
| 385 |
+
assign grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_8u_config35_s_fu_676_ap_start = grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_8u_config35_s_fu_676_ap_start_reg;
|
| 386 |
+
|
| 387 |
+
assign icmp_ln52_fu_1252_p2 = ((indvar_flatten_fu_666 == 13'd4356) ? 1'b1 : 1'b0);
|
| 388 |
+
|
| 389 |
+
assign layer35_out_din = grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_8u_config35_s_fu_676_layer35_out_din;
|
| 390 |
+
|
| 391 |
+
assign layer56_out_read = layer56_out_read_local;
|
| 392 |
+
|
| 393 |
+
assign start_out = real_start;
|
| 394 |
+
|
| 395 |
+
assign trunc_ln58_fu_1264_p1 = layer56_out_dout[15:0];
|
| 396 |
+
|
| 397 |
+
endmodule //myproject_conv_2d_cl_array_ap_fixed_24u_array_ap_fixed_41_21_5_3_0_8u_config35_s
|
myproject_prj/solution1/syn/verilog/myproject_conv_2d_cl_array_array_ap_fixed_41_21_5_3_0_32u_config12_s.v
ADDED
|
@@ -0,0 +1,373 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// ==============================================================
|
| 2 |
+
// Generated by Vitis HLS v2024.1
|
| 3 |
+
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
| 4 |
+
// Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.
|
| 5 |
+
// ==============================================================
|
| 6 |
+
|
| 7 |
+
`timescale 1 ns / 1 ps
|
| 8 |
+
|
| 9 |
+
module myproject_conv_2d_cl_array_array_ap_fixed_41_21_5_3_0_32u_config12_s (
|
| 10 |
+
ap_clk,
|
| 11 |
+
ap_rst,
|
| 12 |
+
ap_start,
|
| 13 |
+
start_full_n,
|
| 14 |
+
ap_done,
|
| 15 |
+
ap_continue,
|
| 16 |
+
ap_idle,
|
| 17 |
+
ap_ready,
|
| 18 |
+
start_out,
|
| 19 |
+
start_write,
|
| 20 |
+
layer48_out_dout,
|
| 21 |
+
layer48_out_num_data_valid,
|
| 22 |
+
layer48_out_fifo_cap,
|
| 23 |
+
layer48_out_empty_n,
|
| 24 |
+
layer48_out_read,
|
| 25 |
+
layer12_out_din,
|
| 26 |
+
layer12_out_num_data_valid,
|
| 27 |
+
layer12_out_fifo_cap,
|
| 28 |
+
layer12_out_full_n,
|
| 29 |
+
layer12_out_write
|
| 30 |
+
);
|
| 31 |
+
|
| 32 |
+
parameter ap_ST_fsm_state1 = 3'd1;
|
| 33 |
+
parameter ap_ST_fsm_state2 = 3'd2;
|
| 34 |
+
parameter ap_ST_fsm_state3 = 3'd4;
|
| 35 |
+
|
| 36 |
+
input ap_clk;
|
| 37 |
+
input ap_rst;
|
| 38 |
+
input ap_start;
|
| 39 |
+
input start_full_n;
|
| 40 |
+
output ap_done;
|
| 41 |
+
input ap_continue;
|
| 42 |
+
output ap_idle;
|
| 43 |
+
output ap_ready;
|
| 44 |
+
output start_out;
|
| 45 |
+
output start_write;
|
| 46 |
+
input [255:0] layer48_out_dout;
|
| 47 |
+
input [9:0] layer48_out_num_data_valid;
|
| 48 |
+
input [9:0] layer48_out_fifo_cap;
|
| 49 |
+
input layer48_out_empty_n;
|
| 50 |
+
output layer48_out_read;
|
| 51 |
+
output [1311:0] layer12_out_din;
|
| 52 |
+
input [8:0] layer12_out_num_data_valid;
|
| 53 |
+
input [8:0] layer12_out_fifo_cap;
|
| 54 |
+
input layer12_out_full_n;
|
| 55 |
+
output layer12_out_write;
|
| 56 |
+
|
| 57 |
+
reg ap_done;
|
| 58 |
+
reg ap_idle;
|
| 59 |
+
reg start_write;
|
| 60 |
+
reg layer12_out_write;
|
| 61 |
+
|
| 62 |
+
reg real_start;
|
| 63 |
+
reg start_once_reg;
|
| 64 |
+
reg ap_done_reg;
|
| 65 |
+
(* fsm_encoding = "none" *) reg [2:0] ap_CS_fsm;
|
| 66 |
+
wire ap_CS_fsm_state1;
|
| 67 |
+
reg internal_ap_ready;
|
| 68 |
+
reg layer48_out_blk_n;
|
| 69 |
+
wire ap_CS_fsm_state2;
|
| 70 |
+
wire [0:0] icmp_ln52_fu_864_p2;
|
| 71 |
+
wire [15:0] trunc_ln58_fu_876_p1;
|
| 72 |
+
reg [15:0] trunc_ln58_reg_1061;
|
| 73 |
+
reg ap_block_state2;
|
| 74 |
+
reg [15:0] trunc_ln58_s_reg_1066;
|
| 75 |
+
reg [15:0] trunc_ln58_226_reg_1071;
|
| 76 |
+
reg [15:0] trunc_ln58_227_reg_1076;
|
| 77 |
+
reg [15:0] trunc_ln58_228_reg_1081;
|
| 78 |
+
reg [15:0] trunc_ln58_229_reg_1086;
|
| 79 |
+
reg [15:0] trunc_ln58_230_reg_1091;
|
| 80 |
+
reg [15:0] trunc_ln58_231_reg_1096;
|
| 81 |
+
reg [15:0] trunc_ln58_232_reg_1101;
|
| 82 |
+
reg [15:0] trunc_ln58_233_reg_1106;
|
| 83 |
+
reg [15:0] trunc_ln58_234_reg_1111;
|
| 84 |
+
reg [15:0] trunc_ln58_235_reg_1116;
|
| 85 |
+
reg [15:0] trunc_ln58_236_reg_1121;
|
| 86 |
+
reg [15:0] trunc_ln58_237_reg_1126;
|
| 87 |
+
reg [15:0] trunc_ln58_238_reg_1131;
|
| 88 |
+
reg [15:0] trunc_ln58_239_reg_1136;
|
| 89 |
+
wire grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_32u_config12_s_fu_470_ap_start;
|
| 90 |
+
wire grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_32u_config12_s_fu_470_ap_done;
|
| 91 |
+
wire grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_32u_config12_s_fu_470_ap_idle;
|
| 92 |
+
wire grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_32u_config12_s_fu_470_ap_ready;
|
| 93 |
+
wire [1311:0] grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_32u_config12_s_fu_470_layer12_out_din;
|
| 94 |
+
wire grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_32u_config12_s_fu_470_layer12_out_write;
|
| 95 |
+
reg grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_32u_config12_s_fu_470_ap_start_reg;
|
| 96 |
+
reg ap_block_state2_ignore_call19;
|
| 97 |
+
wire ap_CS_fsm_state3;
|
| 98 |
+
reg [8:0] indvar_flatten_fu_460;
|
| 99 |
+
wire [8:0] add_ln52_fu_870_p2;
|
| 100 |
+
reg ap_block_state1;
|
| 101 |
+
reg layer48_out_read_local;
|
| 102 |
+
reg [2:0] ap_NS_fsm;
|
| 103 |
+
reg ap_ST_fsm_state1_blk;
|
| 104 |
+
reg ap_ST_fsm_state2_blk;
|
| 105 |
+
reg ap_ST_fsm_state3_blk;
|
| 106 |
+
wire ap_ce_reg;
|
| 107 |
+
|
| 108 |
+
// power-on initialization
|
| 109 |
+
initial begin
|
| 110 |
+
#0 start_once_reg = 1'b0;
|
| 111 |
+
#0 ap_done_reg = 1'b0;
|
| 112 |
+
#0 ap_CS_fsm = 3'd1;
|
| 113 |
+
#0 grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_32u_config12_s_fu_470_ap_start_reg = 1'b0;
|
| 114 |
+
#0 indvar_flatten_fu_460 = 9'd0;
|
| 115 |
+
end
|
| 116 |
+
|
| 117 |
+
myproject_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_32u_config12_s grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_32u_config12_s_fu_470(
|
| 118 |
+
.ap_clk(ap_clk),
|
| 119 |
+
.ap_rst(ap_rst),
|
| 120 |
+
.ap_start(grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_32u_config12_s_fu_470_ap_start),
|
| 121 |
+
.ap_done(grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_32u_config12_s_fu_470_ap_done),
|
| 122 |
+
.ap_idle(grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_32u_config12_s_fu_470_ap_idle),
|
| 123 |
+
.ap_ready(grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_32u_config12_s_fu_470_ap_ready),
|
| 124 |
+
.p_read(trunc_ln58_reg_1061),
|
| 125 |
+
.p_read1(trunc_ln58_s_reg_1066),
|
| 126 |
+
.p_read2(trunc_ln58_226_reg_1071),
|
| 127 |
+
.p_read3(trunc_ln58_227_reg_1076),
|
| 128 |
+
.p_read4(trunc_ln58_228_reg_1081),
|
| 129 |
+
.p_read5(trunc_ln58_229_reg_1086),
|
| 130 |
+
.p_read6(trunc_ln58_230_reg_1091),
|
| 131 |
+
.p_read7(trunc_ln58_231_reg_1096),
|
| 132 |
+
.p_read8(trunc_ln58_232_reg_1101),
|
| 133 |
+
.p_read9(trunc_ln58_233_reg_1106),
|
| 134 |
+
.p_read10(trunc_ln58_234_reg_1111),
|
| 135 |
+
.p_read11(trunc_ln58_235_reg_1116),
|
| 136 |
+
.p_read12(trunc_ln58_236_reg_1121),
|
| 137 |
+
.p_read13(trunc_ln58_237_reg_1126),
|
| 138 |
+
.p_read14(trunc_ln58_238_reg_1131),
|
| 139 |
+
.p_read15(trunc_ln58_239_reg_1136),
|
| 140 |
+
.layer12_out_din(grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_32u_config12_s_fu_470_layer12_out_din),
|
| 141 |
+
.layer12_out_num_data_valid(9'd0),
|
| 142 |
+
.layer12_out_fifo_cap(9'd0),
|
| 143 |
+
.layer12_out_full_n(layer12_out_full_n),
|
| 144 |
+
.layer12_out_write(grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_32u_config12_s_fu_470_layer12_out_write)
|
| 145 |
+
);
|
| 146 |
+
|
| 147 |
+
always @ (posedge ap_clk) begin
|
| 148 |
+
if (ap_rst == 1'b1) begin
|
| 149 |
+
ap_CS_fsm <= ap_ST_fsm_state1;
|
| 150 |
+
end else begin
|
| 151 |
+
ap_CS_fsm <= ap_NS_fsm;
|
| 152 |
+
end
|
| 153 |
+
end
|
| 154 |
+
|
| 155 |
+
always @ (posedge ap_clk) begin
|
| 156 |
+
if (ap_rst == 1'b1) begin
|
| 157 |
+
ap_done_reg <= 1'b0;
|
| 158 |
+
end else begin
|
| 159 |
+
if ((ap_continue == 1'b1)) begin
|
| 160 |
+
ap_done_reg <= 1'b0;
|
| 161 |
+
end else if (((1'b0 == ap_block_state2) & (icmp_ln52_fu_864_p2 == 1'd1) & (1'b1 == ap_CS_fsm_state2))) begin
|
| 162 |
+
ap_done_reg <= 1'b1;
|
| 163 |
+
end
|
| 164 |
+
end
|
| 165 |
+
end
|
| 166 |
+
|
| 167 |
+
always @ (posedge ap_clk) begin
|
| 168 |
+
if (ap_rst == 1'b1) begin
|
| 169 |
+
grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_32u_config12_s_fu_470_ap_start_reg <= 1'b0;
|
| 170 |
+
end else begin
|
| 171 |
+
if (((1'b0 == ap_block_state2_ignore_call19) & (icmp_ln52_fu_864_p2 == 1'd0) & (1'b1 == ap_CS_fsm_state2))) begin
|
| 172 |
+
grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_32u_config12_s_fu_470_ap_start_reg <= 1'b1;
|
| 173 |
+
end else if ((grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_32u_config12_s_fu_470_ap_ready == 1'b1)) begin
|
| 174 |
+
grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_32u_config12_s_fu_470_ap_start_reg <= 1'b0;
|
| 175 |
+
end
|
| 176 |
+
end
|
| 177 |
+
end
|
| 178 |
+
|
| 179 |
+
always @ (posedge ap_clk) begin
|
| 180 |
+
if (ap_rst == 1'b1) begin
|
| 181 |
+
start_once_reg <= 1'b0;
|
| 182 |
+
end else begin
|
| 183 |
+
if (((real_start == 1'b1) & (internal_ap_ready == 1'b0))) begin
|
| 184 |
+
start_once_reg <= 1'b1;
|
| 185 |
+
end else if ((internal_ap_ready == 1'b1)) begin
|
| 186 |
+
start_once_reg <= 1'b0;
|
| 187 |
+
end
|
| 188 |
+
end
|
| 189 |
+
end
|
| 190 |
+
|
| 191 |
+
always @ (posedge ap_clk) begin
|
| 192 |
+
if (((1'b0 == ap_block_state1) & (1'b1 == ap_CS_fsm_state1))) begin
|
| 193 |
+
indvar_flatten_fu_460 <= 9'd0;
|
| 194 |
+
end else if (((1'b0 == ap_block_state2) & (icmp_ln52_fu_864_p2 == 1'd0) & (1'b1 == ap_CS_fsm_state2))) begin
|
| 195 |
+
indvar_flatten_fu_460 <= add_ln52_fu_870_p2;
|
| 196 |
+
end
|
| 197 |
+
end
|
| 198 |
+
|
| 199 |
+
always @ (posedge ap_clk) begin
|
| 200 |
+
if (((1'b0 == ap_block_state2) & (1'b1 == ap_CS_fsm_state2))) begin
|
| 201 |
+
trunc_ln58_226_reg_1071 <= {{layer48_out_dout[47:32]}};
|
| 202 |
+
trunc_ln58_227_reg_1076 <= {{layer48_out_dout[63:48]}};
|
| 203 |
+
trunc_ln58_228_reg_1081 <= {{layer48_out_dout[79:64]}};
|
| 204 |
+
trunc_ln58_229_reg_1086 <= {{layer48_out_dout[95:80]}};
|
| 205 |
+
trunc_ln58_230_reg_1091 <= {{layer48_out_dout[111:96]}};
|
| 206 |
+
trunc_ln58_231_reg_1096 <= {{layer48_out_dout[127:112]}};
|
| 207 |
+
trunc_ln58_232_reg_1101 <= {{layer48_out_dout[143:128]}};
|
| 208 |
+
trunc_ln58_233_reg_1106 <= {{layer48_out_dout[159:144]}};
|
| 209 |
+
trunc_ln58_234_reg_1111 <= {{layer48_out_dout[175:160]}};
|
| 210 |
+
trunc_ln58_235_reg_1116 <= {{layer48_out_dout[191:176]}};
|
| 211 |
+
trunc_ln58_236_reg_1121 <= {{layer48_out_dout[207:192]}};
|
| 212 |
+
trunc_ln58_237_reg_1126 <= {{layer48_out_dout[223:208]}};
|
| 213 |
+
trunc_ln58_238_reg_1131 <= {{layer48_out_dout[239:224]}};
|
| 214 |
+
trunc_ln58_239_reg_1136 <= {{layer48_out_dout[255:240]}};
|
| 215 |
+
trunc_ln58_reg_1061 <= trunc_ln58_fu_876_p1;
|
| 216 |
+
trunc_ln58_s_reg_1066 <= {{layer48_out_dout[31:16]}};
|
| 217 |
+
end
|
| 218 |
+
end
|
| 219 |
+
|
| 220 |
+
always @ (*) begin
|
| 221 |
+
if ((1'b1 == ap_block_state1)) begin
|
| 222 |
+
ap_ST_fsm_state1_blk = 1'b1;
|
| 223 |
+
end else begin
|
| 224 |
+
ap_ST_fsm_state1_blk = 1'b0;
|
| 225 |
+
end
|
| 226 |
+
end
|
| 227 |
+
|
| 228 |
+
always @ (*) begin
|
| 229 |
+
if ((1'b1 == ap_block_state2)) begin
|
| 230 |
+
ap_ST_fsm_state2_blk = 1'b1;
|
| 231 |
+
end else begin
|
| 232 |
+
ap_ST_fsm_state2_blk = 1'b0;
|
| 233 |
+
end
|
| 234 |
+
end
|
| 235 |
+
|
| 236 |
+
always @ (*) begin
|
| 237 |
+
if ((grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_32u_config12_s_fu_470_ap_done == 1'b0)) begin
|
| 238 |
+
ap_ST_fsm_state3_blk = 1'b1;
|
| 239 |
+
end else begin
|
| 240 |
+
ap_ST_fsm_state3_blk = 1'b0;
|
| 241 |
+
end
|
| 242 |
+
end
|
| 243 |
+
|
| 244 |
+
always @ (*) begin
|
| 245 |
+
if (((1'b0 == ap_block_state2) & (icmp_ln52_fu_864_p2 == 1'd1) & (1'b1 == ap_CS_fsm_state2))) begin
|
| 246 |
+
ap_done = 1'b1;
|
| 247 |
+
end else begin
|
| 248 |
+
ap_done = ap_done_reg;
|
| 249 |
+
end
|
| 250 |
+
end
|
| 251 |
+
|
| 252 |
+
always @ (*) begin
|
| 253 |
+
if (((real_start == 1'b0) & (1'b1 == ap_CS_fsm_state1))) begin
|
| 254 |
+
ap_idle = 1'b1;
|
| 255 |
+
end else begin
|
| 256 |
+
ap_idle = 1'b0;
|
| 257 |
+
end
|
| 258 |
+
end
|
| 259 |
+
|
| 260 |
+
always @ (*) begin
|
| 261 |
+
if (((1'b0 == ap_block_state2) & (icmp_ln52_fu_864_p2 == 1'd1) & (1'b1 == ap_CS_fsm_state2))) begin
|
| 262 |
+
internal_ap_ready = 1'b1;
|
| 263 |
+
end else begin
|
| 264 |
+
internal_ap_ready = 1'b0;
|
| 265 |
+
end
|
| 266 |
+
end
|
| 267 |
+
|
| 268 |
+
always @ (*) begin
|
| 269 |
+
if ((1'b1 == ap_CS_fsm_state3)) begin
|
| 270 |
+
layer12_out_write = grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_32u_config12_s_fu_470_layer12_out_write;
|
| 271 |
+
end else begin
|
| 272 |
+
layer12_out_write = 1'b0;
|
| 273 |
+
end
|
| 274 |
+
end
|
| 275 |
+
|
| 276 |
+
always @ (*) begin
|
| 277 |
+
if (((icmp_ln52_fu_864_p2 == 1'd0) & (1'b1 == ap_CS_fsm_state2))) begin
|
| 278 |
+
layer48_out_blk_n = layer48_out_empty_n;
|
| 279 |
+
end else begin
|
| 280 |
+
layer48_out_blk_n = 1'b1;
|
| 281 |
+
end
|
| 282 |
+
end
|
| 283 |
+
|
| 284 |
+
always @ (*) begin
|
| 285 |
+
if (((1'b0 == ap_block_state2) & (icmp_ln52_fu_864_p2 == 1'd0) & (1'b1 == ap_CS_fsm_state2))) begin
|
| 286 |
+
layer48_out_read_local = 1'b1;
|
| 287 |
+
end else begin
|
| 288 |
+
layer48_out_read_local = 1'b0;
|
| 289 |
+
end
|
| 290 |
+
end
|
| 291 |
+
|
| 292 |
+
always @ (*) begin
|
| 293 |
+
if (((start_once_reg == 1'b0) & (start_full_n == 1'b0))) begin
|
| 294 |
+
real_start = 1'b0;
|
| 295 |
+
end else begin
|
| 296 |
+
real_start = ap_start;
|
| 297 |
+
end
|
| 298 |
+
end
|
| 299 |
+
|
| 300 |
+
always @ (*) begin
|
| 301 |
+
if (((real_start == 1'b1) & (start_once_reg == 1'b0))) begin
|
| 302 |
+
start_write = 1'b1;
|
| 303 |
+
end else begin
|
| 304 |
+
start_write = 1'b0;
|
| 305 |
+
end
|
| 306 |
+
end
|
| 307 |
+
|
| 308 |
+
always @ (*) begin
|
| 309 |
+
case (ap_CS_fsm)
|
| 310 |
+
ap_ST_fsm_state1 : begin
|
| 311 |
+
if (((1'b0 == ap_block_state1) & (1'b1 == ap_CS_fsm_state1))) begin
|
| 312 |
+
ap_NS_fsm = ap_ST_fsm_state2;
|
| 313 |
+
end else begin
|
| 314 |
+
ap_NS_fsm = ap_ST_fsm_state1;
|
| 315 |
+
end
|
| 316 |
+
end
|
| 317 |
+
ap_ST_fsm_state2 : begin
|
| 318 |
+
if (((1'b0 == ap_block_state2) & (icmp_ln52_fu_864_p2 == 1'd1) & (1'b1 == ap_CS_fsm_state2))) begin
|
| 319 |
+
ap_NS_fsm = ap_ST_fsm_state1;
|
| 320 |
+
end else if (((1'b0 == ap_block_state2) & (icmp_ln52_fu_864_p2 == 1'd0) & (1'b1 == ap_CS_fsm_state2))) begin
|
| 321 |
+
ap_NS_fsm = ap_ST_fsm_state3;
|
| 322 |
+
end else begin
|
| 323 |
+
ap_NS_fsm = ap_ST_fsm_state2;
|
| 324 |
+
end
|
| 325 |
+
end
|
| 326 |
+
ap_ST_fsm_state3 : begin
|
| 327 |
+
if (((1'b1 == ap_CS_fsm_state3) & (grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_32u_config12_s_fu_470_ap_done == 1'b1))) begin
|
| 328 |
+
ap_NS_fsm = ap_ST_fsm_state2;
|
| 329 |
+
end else begin
|
| 330 |
+
ap_NS_fsm = ap_ST_fsm_state3;
|
| 331 |
+
end
|
| 332 |
+
end
|
| 333 |
+
default : begin
|
| 334 |
+
ap_NS_fsm = 'bx;
|
| 335 |
+
end
|
| 336 |
+
endcase
|
| 337 |
+
end
|
| 338 |
+
|
| 339 |
+
assign add_ln52_fu_870_p2 = (indvar_flatten_fu_460 + 9'd1);
|
| 340 |
+
|
| 341 |
+
assign ap_CS_fsm_state1 = ap_CS_fsm[32'd0];
|
| 342 |
+
|
| 343 |
+
assign ap_CS_fsm_state2 = ap_CS_fsm[32'd1];
|
| 344 |
+
|
| 345 |
+
assign ap_CS_fsm_state3 = ap_CS_fsm[32'd2];
|
| 346 |
+
|
| 347 |
+
always @ (*) begin
|
| 348 |
+
ap_block_state1 = ((real_start == 1'b0) | (ap_done_reg == 1'b1));
|
| 349 |
+
end
|
| 350 |
+
|
| 351 |
+
always @ (*) begin
|
| 352 |
+
ap_block_state2 = ((icmp_ln52_fu_864_p2 == 1'd0) & (layer48_out_empty_n == 1'b0));
|
| 353 |
+
end
|
| 354 |
+
|
| 355 |
+
always @ (*) begin
|
| 356 |
+
ap_block_state2_ignore_call19 = ((icmp_ln52_fu_864_p2 == 1'd0) & (layer48_out_empty_n == 1'b0));
|
| 357 |
+
end
|
| 358 |
+
|
| 359 |
+
assign ap_ready = internal_ap_ready;
|
| 360 |
+
|
| 361 |
+
assign grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_32u_config12_s_fu_470_ap_start = grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_32u_config12_s_fu_470_ap_start_reg;
|
| 362 |
+
|
| 363 |
+
assign icmp_ln52_fu_864_p2 = ((indvar_flatten_fu_460 == 9'd324) ? 1'b1 : 1'b0);
|
| 364 |
+
|
| 365 |
+
assign layer12_out_din = grp_compute_output_buffer_2d_array_array_ap_fixed_41_21_5_3_0_32u_config12_s_fu_470_layer12_out_din;
|
| 366 |
+
|
| 367 |
+
assign layer48_out_read = layer48_out_read_local;
|
| 368 |
+
|
| 369 |
+
assign start_out = real_start;
|
| 370 |
+
|
| 371 |
+
assign trunc_ln58_fu_876_p1 = layer48_out_dout[15:0];
|
| 372 |
+
|
| 373 |
+
endmodule //myproject_conv_2d_cl_array_array_ap_fixed_41_21_5_3_0_32u_config12_s
|
myproject_prj/solution1/syn/verilog/myproject_conv_2d_cl_array_array_ap_fixed_43_23_5_3_0_64u_config19_s.v
ADDED
|
@@ -0,0 +1,517 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// ==============================================================
|
| 2 |
+
// Generated by Vitis HLS v2024.1
|
| 3 |
+
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
| 4 |
+
// Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.
|
| 5 |
+
// ==============================================================
|
| 6 |
+
|
| 7 |
+
`timescale 1 ns / 1 ps
|
| 8 |
+
|
| 9 |
+
module myproject_conv_2d_cl_array_array_ap_fixed_43_23_5_3_0_64u_config19_s (
|
| 10 |
+
ap_clk,
|
| 11 |
+
ap_rst,
|
| 12 |
+
ap_start,
|
| 13 |
+
start_full_n,
|
| 14 |
+
ap_done,
|
| 15 |
+
ap_continue,
|
| 16 |
+
ap_idle,
|
| 17 |
+
ap_ready,
|
| 18 |
+
start_out,
|
| 19 |
+
start_write,
|
| 20 |
+
layer51_out_dout,
|
| 21 |
+
layer51_out_num_data_valid,
|
| 22 |
+
layer51_out_fifo_cap,
|
| 23 |
+
layer51_out_empty_n,
|
| 24 |
+
layer51_out_read,
|
| 25 |
+
layer19_out_din,
|
| 26 |
+
layer19_out_num_data_valid,
|
| 27 |
+
layer19_out_fifo_cap,
|
| 28 |
+
layer19_out_full_n,
|
| 29 |
+
layer19_out_write
|
| 30 |
+
);
|
| 31 |
+
|
| 32 |
+
parameter ap_ST_fsm_state1 = 3'd1;
|
| 33 |
+
parameter ap_ST_fsm_state2 = 3'd2;
|
| 34 |
+
parameter ap_ST_fsm_state3 = 3'd4;
|
| 35 |
+
|
| 36 |
+
input ap_clk;
|
| 37 |
+
input ap_rst;
|
| 38 |
+
input ap_start;
|
| 39 |
+
input start_full_n;
|
| 40 |
+
output ap_done;
|
| 41 |
+
input ap_continue;
|
| 42 |
+
output ap_idle;
|
| 43 |
+
output ap_ready;
|
| 44 |
+
output start_out;
|
| 45 |
+
output start_write;
|
| 46 |
+
input [1023:0] layer51_out_dout;
|
| 47 |
+
input [7:0] layer51_out_num_data_valid;
|
| 48 |
+
input [7:0] layer51_out_fifo_cap;
|
| 49 |
+
input layer51_out_empty_n;
|
| 50 |
+
output layer51_out_read;
|
| 51 |
+
output [2751:0] layer19_out_din;
|
| 52 |
+
input [6:0] layer19_out_num_data_valid;
|
| 53 |
+
input [6:0] layer19_out_fifo_cap;
|
| 54 |
+
input layer19_out_full_n;
|
| 55 |
+
output layer19_out_write;
|
| 56 |
+
|
| 57 |
+
reg ap_done;
|
| 58 |
+
reg ap_idle;
|
| 59 |
+
reg start_write;
|
| 60 |
+
reg layer19_out_write;
|
| 61 |
+
|
| 62 |
+
reg real_start;
|
| 63 |
+
reg start_once_reg;
|
| 64 |
+
reg ap_done_reg;
|
| 65 |
+
(* fsm_encoding = "none" *) reg [2:0] ap_CS_fsm;
|
| 66 |
+
wire ap_CS_fsm_state1;
|
| 67 |
+
reg internal_ap_ready;
|
| 68 |
+
reg layer51_out_blk_n;
|
| 69 |
+
wire ap_CS_fsm_state2;
|
| 70 |
+
wire [0:0] icmp_ln52_fu_3216_p2;
|
| 71 |
+
wire [15:0] trunc_ln58_fu_3228_p1;
|
| 72 |
+
reg [15:0] trunc_ln58_reg_3941;
|
| 73 |
+
reg ap_block_state2;
|
| 74 |
+
reg [15:0] trunc_ln58_s_reg_3946;
|
| 75 |
+
reg [15:0] trunc_ln58_46_reg_3951;
|
| 76 |
+
reg [15:0] trunc_ln58_47_reg_3956;
|
| 77 |
+
reg [15:0] trunc_ln58_48_reg_3961;
|
| 78 |
+
reg [15:0] trunc_ln58_49_reg_3966;
|
| 79 |
+
reg [15:0] trunc_ln58_50_reg_3971;
|
| 80 |
+
reg [15:0] trunc_ln58_51_reg_3976;
|
| 81 |
+
reg [15:0] trunc_ln58_52_reg_3981;
|
| 82 |
+
reg [15:0] trunc_ln58_53_reg_3986;
|
| 83 |
+
reg [15:0] trunc_ln58_54_reg_3991;
|
| 84 |
+
reg [15:0] trunc_ln58_55_reg_3996;
|
| 85 |
+
reg [15:0] trunc_ln58_56_reg_4001;
|
| 86 |
+
reg [15:0] trunc_ln58_57_reg_4006;
|
| 87 |
+
reg [15:0] trunc_ln58_58_reg_4011;
|
| 88 |
+
reg [15:0] trunc_ln58_59_reg_4016;
|
| 89 |
+
reg [15:0] trunc_ln58_60_reg_4021;
|
| 90 |
+
reg [15:0] trunc_ln58_61_reg_4026;
|
| 91 |
+
reg [15:0] trunc_ln58_62_reg_4031;
|
| 92 |
+
reg [15:0] trunc_ln58_63_reg_4036;
|
| 93 |
+
reg [15:0] trunc_ln58_64_reg_4041;
|
| 94 |
+
reg [15:0] trunc_ln58_65_reg_4046;
|
| 95 |
+
reg [15:0] trunc_ln58_66_reg_4051;
|
| 96 |
+
reg [15:0] trunc_ln58_67_reg_4056;
|
| 97 |
+
reg [15:0] trunc_ln58_68_reg_4061;
|
| 98 |
+
reg [15:0] trunc_ln58_69_reg_4066;
|
| 99 |
+
reg [15:0] trunc_ln58_70_reg_4071;
|
| 100 |
+
reg [15:0] trunc_ln58_71_reg_4076;
|
| 101 |
+
reg [15:0] trunc_ln58_72_reg_4081;
|
| 102 |
+
reg [15:0] trunc_ln58_73_reg_4086;
|
| 103 |
+
reg [15:0] trunc_ln58_74_reg_4091;
|
| 104 |
+
reg [15:0] trunc_ln58_75_reg_4096;
|
| 105 |
+
reg [15:0] trunc_ln58_76_reg_4101;
|
| 106 |
+
reg [15:0] trunc_ln58_77_reg_4106;
|
| 107 |
+
reg [15:0] trunc_ln58_78_reg_4111;
|
| 108 |
+
reg [15:0] trunc_ln58_79_reg_4116;
|
| 109 |
+
reg [15:0] trunc_ln58_80_reg_4121;
|
| 110 |
+
reg [15:0] trunc_ln58_81_reg_4126;
|
| 111 |
+
reg [15:0] trunc_ln58_82_reg_4131;
|
| 112 |
+
reg [15:0] trunc_ln58_83_reg_4136;
|
| 113 |
+
reg [15:0] trunc_ln58_84_reg_4141;
|
| 114 |
+
reg [15:0] trunc_ln58_85_reg_4146;
|
| 115 |
+
reg [15:0] trunc_ln58_86_reg_4151;
|
| 116 |
+
reg [15:0] trunc_ln58_87_reg_4156;
|
| 117 |
+
reg [15:0] trunc_ln58_88_reg_4161;
|
| 118 |
+
reg [15:0] trunc_ln58_89_reg_4166;
|
| 119 |
+
reg [15:0] trunc_ln58_90_reg_4171;
|
| 120 |
+
reg [15:0] trunc_ln58_91_reg_4176;
|
| 121 |
+
reg [15:0] trunc_ln58_92_reg_4181;
|
| 122 |
+
reg [15:0] trunc_ln58_93_reg_4186;
|
| 123 |
+
reg [15:0] trunc_ln58_94_reg_4191;
|
| 124 |
+
reg [15:0] trunc_ln58_95_reg_4196;
|
| 125 |
+
reg [15:0] trunc_ln58_96_reg_4201;
|
| 126 |
+
reg [15:0] trunc_ln58_97_reg_4206;
|
| 127 |
+
reg [15:0] trunc_ln58_98_reg_4211;
|
| 128 |
+
reg [15:0] trunc_ln58_99_reg_4216;
|
| 129 |
+
reg [15:0] trunc_ln58_100_reg_4221;
|
| 130 |
+
reg [15:0] trunc_ln58_101_reg_4226;
|
| 131 |
+
reg [15:0] trunc_ln58_102_reg_4231;
|
| 132 |
+
reg [15:0] trunc_ln58_103_reg_4236;
|
| 133 |
+
reg [15:0] trunc_ln58_104_reg_4241;
|
| 134 |
+
reg [15:0] trunc_ln58_105_reg_4246;
|
| 135 |
+
reg [15:0] trunc_ln58_106_reg_4251;
|
| 136 |
+
reg [15:0] trunc_ln58_107_reg_4256;
|
| 137 |
+
wire grp_compute_output_buffer_2d_array_array_ap_fixed_43_23_5_3_0_64u_config19_s_fu_1718_ap_start;
|
| 138 |
+
wire grp_compute_output_buffer_2d_array_array_ap_fixed_43_23_5_3_0_64u_config19_s_fu_1718_ap_done;
|
| 139 |
+
wire grp_compute_output_buffer_2d_array_array_ap_fixed_43_23_5_3_0_64u_config19_s_fu_1718_ap_idle;
|
| 140 |
+
wire grp_compute_output_buffer_2d_array_array_ap_fixed_43_23_5_3_0_64u_config19_s_fu_1718_ap_ready;
|
| 141 |
+
wire [2751:0] grp_compute_output_buffer_2d_array_array_ap_fixed_43_23_5_3_0_64u_config19_s_fu_1718_layer19_out_din;
|
| 142 |
+
wire grp_compute_output_buffer_2d_array_array_ap_fixed_43_23_5_3_0_64u_config19_s_fu_1718_layer19_out_write;
|
| 143 |
+
reg grp_compute_output_buffer_2d_array_array_ap_fixed_43_23_5_3_0_64u_config19_s_fu_1718_ap_start_reg;
|
| 144 |
+
reg ap_block_state2_ignore_call67;
|
| 145 |
+
wire ap_CS_fsm_state3;
|
| 146 |
+
reg [6:0] indvar_flatten_fu_1708;
|
| 147 |
+
wire [6:0] add_ln52_fu_3222_p2;
|
| 148 |
+
reg ap_block_state1;
|
| 149 |
+
reg layer51_out_read_local;
|
| 150 |
+
reg [2:0] ap_NS_fsm;
|
| 151 |
+
reg ap_ST_fsm_state1_blk;
|
| 152 |
+
reg ap_ST_fsm_state2_blk;
|
| 153 |
+
reg ap_ST_fsm_state3_blk;
|
| 154 |
+
wire ap_ce_reg;
|
| 155 |
+
|
| 156 |
+
// power-on initialization
|
| 157 |
+
initial begin
|
| 158 |
+
#0 start_once_reg = 1'b0;
|
| 159 |
+
#0 ap_done_reg = 1'b0;
|
| 160 |
+
#0 ap_CS_fsm = 3'd1;
|
| 161 |
+
#0 grp_compute_output_buffer_2d_array_array_ap_fixed_43_23_5_3_0_64u_config19_s_fu_1718_ap_start_reg = 1'b0;
|
| 162 |
+
#0 indvar_flatten_fu_1708 = 7'd0;
|
| 163 |
+
end
|
| 164 |
+
|
| 165 |
+
myproject_compute_output_buffer_2d_array_array_ap_fixed_43_23_5_3_0_64u_config19_s grp_compute_output_buffer_2d_array_array_ap_fixed_43_23_5_3_0_64u_config19_s_fu_1718(
|
| 166 |
+
.ap_clk(ap_clk),
|
| 167 |
+
.ap_rst(ap_rst),
|
| 168 |
+
.ap_start(grp_compute_output_buffer_2d_array_array_ap_fixed_43_23_5_3_0_64u_config19_s_fu_1718_ap_start),
|
| 169 |
+
.ap_done(grp_compute_output_buffer_2d_array_array_ap_fixed_43_23_5_3_0_64u_config19_s_fu_1718_ap_done),
|
| 170 |
+
.ap_idle(grp_compute_output_buffer_2d_array_array_ap_fixed_43_23_5_3_0_64u_config19_s_fu_1718_ap_idle),
|
| 171 |
+
.ap_ready(grp_compute_output_buffer_2d_array_array_ap_fixed_43_23_5_3_0_64u_config19_s_fu_1718_ap_ready),
|
| 172 |
+
.p_read(trunc_ln58_reg_3941),
|
| 173 |
+
.p_read1(trunc_ln58_s_reg_3946),
|
| 174 |
+
.p_read2(trunc_ln58_46_reg_3951),
|
| 175 |
+
.p_read3(trunc_ln58_47_reg_3956),
|
| 176 |
+
.p_read4(trunc_ln58_48_reg_3961),
|
| 177 |
+
.p_read5(trunc_ln58_49_reg_3966),
|
| 178 |
+
.p_read6(trunc_ln58_50_reg_3971),
|
| 179 |
+
.p_read7(trunc_ln58_51_reg_3976),
|
| 180 |
+
.p_read8(trunc_ln58_52_reg_3981),
|
| 181 |
+
.p_read9(trunc_ln58_53_reg_3986),
|
| 182 |
+
.p_read10(trunc_ln58_54_reg_3991),
|
| 183 |
+
.p_read11(trunc_ln58_55_reg_3996),
|
| 184 |
+
.p_read12(trunc_ln58_56_reg_4001),
|
| 185 |
+
.p_read13(trunc_ln58_57_reg_4006),
|
| 186 |
+
.p_read14(trunc_ln58_58_reg_4011),
|
| 187 |
+
.p_read15(trunc_ln58_59_reg_4016),
|
| 188 |
+
.p_read16(trunc_ln58_60_reg_4021),
|
| 189 |
+
.p_read17(trunc_ln58_61_reg_4026),
|
| 190 |
+
.p_read18(trunc_ln58_62_reg_4031),
|
| 191 |
+
.p_read19(trunc_ln58_63_reg_4036),
|
| 192 |
+
.p_read20(trunc_ln58_64_reg_4041),
|
| 193 |
+
.p_read21(trunc_ln58_65_reg_4046),
|
| 194 |
+
.p_read22(trunc_ln58_66_reg_4051),
|
| 195 |
+
.p_read23(trunc_ln58_67_reg_4056),
|
| 196 |
+
.p_read24(trunc_ln58_68_reg_4061),
|
| 197 |
+
.p_read25(trunc_ln58_69_reg_4066),
|
| 198 |
+
.p_read26(trunc_ln58_70_reg_4071),
|
| 199 |
+
.p_read27(trunc_ln58_71_reg_4076),
|
| 200 |
+
.p_read28(trunc_ln58_72_reg_4081),
|
| 201 |
+
.p_read29(trunc_ln58_73_reg_4086),
|
| 202 |
+
.p_read30(trunc_ln58_74_reg_4091),
|
| 203 |
+
.p_read31(trunc_ln58_75_reg_4096),
|
| 204 |
+
.p_read32(trunc_ln58_76_reg_4101),
|
| 205 |
+
.p_read33(trunc_ln58_77_reg_4106),
|
| 206 |
+
.p_read34(trunc_ln58_78_reg_4111),
|
| 207 |
+
.p_read35(trunc_ln58_79_reg_4116),
|
| 208 |
+
.p_read36(trunc_ln58_80_reg_4121),
|
| 209 |
+
.p_read37(trunc_ln58_81_reg_4126),
|
| 210 |
+
.p_read38(trunc_ln58_82_reg_4131),
|
| 211 |
+
.p_read39(trunc_ln58_83_reg_4136),
|
| 212 |
+
.p_read40(trunc_ln58_84_reg_4141),
|
| 213 |
+
.p_read41(trunc_ln58_85_reg_4146),
|
| 214 |
+
.p_read42(trunc_ln58_86_reg_4151),
|
| 215 |
+
.p_read43(trunc_ln58_87_reg_4156),
|
| 216 |
+
.p_read44(trunc_ln58_88_reg_4161),
|
| 217 |
+
.p_read45(trunc_ln58_89_reg_4166),
|
| 218 |
+
.p_read46(trunc_ln58_90_reg_4171),
|
| 219 |
+
.p_read47(trunc_ln58_91_reg_4176),
|
| 220 |
+
.p_read48(trunc_ln58_92_reg_4181),
|
| 221 |
+
.p_read49(trunc_ln58_93_reg_4186),
|
| 222 |
+
.p_read50(trunc_ln58_94_reg_4191),
|
| 223 |
+
.p_read51(trunc_ln58_95_reg_4196),
|
| 224 |
+
.p_read52(trunc_ln58_96_reg_4201),
|
| 225 |
+
.p_read53(trunc_ln58_97_reg_4206),
|
| 226 |
+
.p_read54(trunc_ln58_98_reg_4211),
|
| 227 |
+
.p_read55(trunc_ln58_99_reg_4216),
|
| 228 |
+
.p_read56(trunc_ln58_100_reg_4221),
|
| 229 |
+
.p_read57(trunc_ln58_101_reg_4226),
|
| 230 |
+
.p_read58(trunc_ln58_102_reg_4231),
|
| 231 |
+
.p_read59(trunc_ln58_103_reg_4236),
|
| 232 |
+
.p_read60(trunc_ln58_104_reg_4241),
|
| 233 |
+
.p_read61(trunc_ln58_105_reg_4246),
|
| 234 |
+
.p_read62(trunc_ln58_106_reg_4251),
|
| 235 |
+
.p_read63(trunc_ln58_107_reg_4256),
|
| 236 |
+
.layer19_out_din(grp_compute_output_buffer_2d_array_array_ap_fixed_43_23_5_3_0_64u_config19_s_fu_1718_layer19_out_din),
|
| 237 |
+
.layer19_out_num_data_valid(7'd0),
|
| 238 |
+
.layer19_out_fifo_cap(7'd0),
|
| 239 |
+
.layer19_out_full_n(layer19_out_full_n),
|
| 240 |
+
.layer19_out_write(grp_compute_output_buffer_2d_array_array_ap_fixed_43_23_5_3_0_64u_config19_s_fu_1718_layer19_out_write)
|
| 241 |
+
);
|
| 242 |
+
|
| 243 |
+
always @ (posedge ap_clk) begin
|
| 244 |
+
if (ap_rst == 1'b1) begin
|
| 245 |
+
ap_CS_fsm <= ap_ST_fsm_state1;
|
| 246 |
+
end else begin
|
| 247 |
+
ap_CS_fsm <= ap_NS_fsm;
|
| 248 |
+
end
|
| 249 |
+
end
|
| 250 |
+
|
| 251 |
+
always @ (posedge ap_clk) begin
|
| 252 |
+
if (ap_rst == 1'b1) begin
|
| 253 |
+
ap_done_reg <= 1'b0;
|
| 254 |
+
end else begin
|
| 255 |
+
if ((ap_continue == 1'b1)) begin
|
| 256 |
+
ap_done_reg <= 1'b0;
|
| 257 |
+
end else if (((1'b0 == ap_block_state2) & (icmp_ln52_fu_3216_p2 == 1'd1) & (1'b1 == ap_CS_fsm_state2))) begin
|
| 258 |
+
ap_done_reg <= 1'b1;
|
| 259 |
+
end
|
| 260 |
+
end
|
| 261 |
+
end
|
| 262 |
+
|
| 263 |
+
always @ (posedge ap_clk) begin
|
| 264 |
+
if (ap_rst == 1'b1) begin
|
| 265 |
+
grp_compute_output_buffer_2d_array_array_ap_fixed_43_23_5_3_0_64u_config19_s_fu_1718_ap_start_reg <= 1'b0;
|
| 266 |
+
end else begin
|
| 267 |
+
if (((1'b0 == ap_block_state2_ignore_call67) & (icmp_ln52_fu_3216_p2 == 1'd0) & (1'b1 == ap_CS_fsm_state2))) begin
|
| 268 |
+
grp_compute_output_buffer_2d_array_array_ap_fixed_43_23_5_3_0_64u_config19_s_fu_1718_ap_start_reg <= 1'b1;
|
| 269 |
+
end else if ((grp_compute_output_buffer_2d_array_array_ap_fixed_43_23_5_3_0_64u_config19_s_fu_1718_ap_ready == 1'b1)) begin
|
| 270 |
+
grp_compute_output_buffer_2d_array_array_ap_fixed_43_23_5_3_0_64u_config19_s_fu_1718_ap_start_reg <= 1'b0;
|
| 271 |
+
end
|
| 272 |
+
end
|
| 273 |
+
end
|
| 274 |
+
|
| 275 |
+
always @ (posedge ap_clk) begin
|
| 276 |
+
if (ap_rst == 1'b1) begin
|
| 277 |
+
start_once_reg <= 1'b0;
|
| 278 |
+
end else begin
|
| 279 |
+
if (((real_start == 1'b1) & (internal_ap_ready == 1'b0))) begin
|
| 280 |
+
start_once_reg <= 1'b1;
|
| 281 |
+
end else if ((internal_ap_ready == 1'b1)) begin
|
| 282 |
+
start_once_reg <= 1'b0;
|
| 283 |
+
end
|
| 284 |
+
end
|
| 285 |
+
end
|
| 286 |
+
|
| 287 |
+
always @ (posedge ap_clk) begin
|
| 288 |
+
if (((1'b0 == ap_block_state1) & (1'b1 == ap_CS_fsm_state1))) begin
|
| 289 |
+
indvar_flatten_fu_1708 <= 7'd0;
|
| 290 |
+
end else if (((1'b0 == ap_block_state2) & (icmp_ln52_fu_3216_p2 == 1'd0) & (1'b1 == ap_CS_fsm_state2))) begin
|
| 291 |
+
indvar_flatten_fu_1708 <= add_ln52_fu_3222_p2;
|
| 292 |
+
end
|
| 293 |
+
end
|
| 294 |
+
|
| 295 |
+
always @ (posedge ap_clk) begin
|
| 296 |
+
if (((1'b0 == ap_block_state2) & (1'b1 == ap_CS_fsm_state2))) begin
|
| 297 |
+
trunc_ln58_100_reg_4221 <= {{layer51_out_dout[911:896]}};
|
| 298 |
+
trunc_ln58_101_reg_4226 <= {{layer51_out_dout[927:912]}};
|
| 299 |
+
trunc_ln58_102_reg_4231 <= {{layer51_out_dout[943:928]}};
|
| 300 |
+
trunc_ln58_103_reg_4236 <= {{layer51_out_dout[959:944]}};
|
| 301 |
+
trunc_ln58_104_reg_4241 <= {{layer51_out_dout[975:960]}};
|
| 302 |
+
trunc_ln58_105_reg_4246 <= {{layer51_out_dout[991:976]}};
|
| 303 |
+
trunc_ln58_106_reg_4251 <= {{layer51_out_dout[1007:992]}};
|
| 304 |
+
trunc_ln58_107_reg_4256 <= {{layer51_out_dout[1023:1008]}};
|
| 305 |
+
trunc_ln58_46_reg_3951 <= {{layer51_out_dout[47:32]}};
|
| 306 |
+
trunc_ln58_47_reg_3956 <= {{layer51_out_dout[63:48]}};
|
| 307 |
+
trunc_ln58_48_reg_3961 <= {{layer51_out_dout[79:64]}};
|
| 308 |
+
trunc_ln58_49_reg_3966 <= {{layer51_out_dout[95:80]}};
|
| 309 |
+
trunc_ln58_50_reg_3971 <= {{layer51_out_dout[111:96]}};
|
| 310 |
+
trunc_ln58_51_reg_3976 <= {{layer51_out_dout[127:112]}};
|
| 311 |
+
trunc_ln58_52_reg_3981 <= {{layer51_out_dout[143:128]}};
|
| 312 |
+
trunc_ln58_53_reg_3986 <= {{layer51_out_dout[159:144]}};
|
| 313 |
+
trunc_ln58_54_reg_3991 <= {{layer51_out_dout[175:160]}};
|
| 314 |
+
trunc_ln58_55_reg_3996 <= {{layer51_out_dout[191:176]}};
|
| 315 |
+
trunc_ln58_56_reg_4001 <= {{layer51_out_dout[207:192]}};
|
| 316 |
+
trunc_ln58_57_reg_4006 <= {{layer51_out_dout[223:208]}};
|
| 317 |
+
trunc_ln58_58_reg_4011 <= {{layer51_out_dout[239:224]}};
|
| 318 |
+
trunc_ln58_59_reg_4016 <= {{layer51_out_dout[255:240]}};
|
| 319 |
+
trunc_ln58_60_reg_4021 <= {{layer51_out_dout[271:256]}};
|
| 320 |
+
trunc_ln58_61_reg_4026 <= {{layer51_out_dout[287:272]}};
|
| 321 |
+
trunc_ln58_62_reg_4031 <= {{layer51_out_dout[303:288]}};
|
| 322 |
+
trunc_ln58_63_reg_4036 <= {{layer51_out_dout[319:304]}};
|
| 323 |
+
trunc_ln58_64_reg_4041 <= {{layer51_out_dout[335:320]}};
|
| 324 |
+
trunc_ln58_65_reg_4046 <= {{layer51_out_dout[351:336]}};
|
| 325 |
+
trunc_ln58_66_reg_4051 <= {{layer51_out_dout[367:352]}};
|
| 326 |
+
trunc_ln58_67_reg_4056 <= {{layer51_out_dout[383:368]}};
|
| 327 |
+
trunc_ln58_68_reg_4061 <= {{layer51_out_dout[399:384]}};
|
| 328 |
+
trunc_ln58_69_reg_4066 <= {{layer51_out_dout[415:400]}};
|
| 329 |
+
trunc_ln58_70_reg_4071 <= {{layer51_out_dout[431:416]}};
|
| 330 |
+
trunc_ln58_71_reg_4076 <= {{layer51_out_dout[447:432]}};
|
| 331 |
+
trunc_ln58_72_reg_4081 <= {{layer51_out_dout[463:448]}};
|
| 332 |
+
trunc_ln58_73_reg_4086 <= {{layer51_out_dout[479:464]}};
|
| 333 |
+
trunc_ln58_74_reg_4091 <= {{layer51_out_dout[495:480]}};
|
| 334 |
+
trunc_ln58_75_reg_4096 <= {{layer51_out_dout[511:496]}};
|
| 335 |
+
trunc_ln58_76_reg_4101 <= {{layer51_out_dout[527:512]}};
|
| 336 |
+
trunc_ln58_77_reg_4106 <= {{layer51_out_dout[543:528]}};
|
| 337 |
+
trunc_ln58_78_reg_4111 <= {{layer51_out_dout[559:544]}};
|
| 338 |
+
trunc_ln58_79_reg_4116 <= {{layer51_out_dout[575:560]}};
|
| 339 |
+
trunc_ln58_80_reg_4121 <= {{layer51_out_dout[591:576]}};
|
| 340 |
+
trunc_ln58_81_reg_4126 <= {{layer51_out_dout[607:592]}};
|
| 341 |
+
trunc_ln58_82_reg_4131 <= {{layer51_out_dout[623:608]}};
|
| 342 |
+
trunc_ln58_83_reg_4136 <= {{layer51_out_dout[639:624]}};
|
| 343 |
+
trunc_ln58_84_reg_4141 <= {{layer51_out_dout[655:640]}};
|
| 344 |
+
trunc_ln58_85_reg_4146 <= {{layer51_out_dout[671:656]}};
|
| 345 |
+
trunc_ln58_86_reg_4151 <= {{layer51_out_dout[687:672]}};
|
| 346 |
+
trunc_ln58_87_reg_4156 <= {{layer51_out_dout[703:688]}};
|
| 347 |
+
trunc_ln58_88_reg_4161 <= {{layer51_out_dout[719:704]}};
|
| 348 |
+
trunc_ln58_89_reg_4166 <= {{layer51_out_dout[735:720]}};
|
| 349 |
+
trunc_ln58_90_reg_4171 <= {{layer51_out_dout[751:736]}};
|
| 350 |
+
trunc_ln58_91_reg_4176 <= {{layer51_out_dout[767:752]}};
|
| 351 |
+
trunc_ln58_92_reg_4181 <= {{layer51_out_dout[783:768]}};
|
| 352 |
+
trunc_ln58_93_reg_4186 <= {{layer51_out_dout[799:784]}};
|
| 353 |
+
trunc_ln58_94_reg_4191 <= {{layer51_out_dout[815:800]}};
|
| 354 |
+
trunc_ln58_95_reg_4196 <= {{layer51_out_dout[831:816]}};
|
| 355 |
+
trunc_ln58_96_reg_4201 <= {{layer51_out_dout[847:832]}};
|
| 356 |
+
trunc_ln58_97_reg_4206 <= {{layer51_out_dout[863:848]}};
|
| 357 |
+
trunc_ln58_98_reg_4211 <= {{layer51_out_dout[879:864]}};
|
| 358 |
+
trunc_ln58_99_reg_4216 <= {{layer51_out_dout[895:880]}};
|
| 359 |
+
trunc_ln58_reg_3941 <= trunc_ln58_fu_3228_p1;
|
| 360 |
+
trunc_ln58_s_reg_3946 <= {{layer51_out_dout[31:16]}};
|
| 361 |
+
end
|
| 362 |
+
end
|
| 363 |
+
|
| 364 |
+
always @ (*) begin
|
| 365 |
+
if ((1'b1 == ap_block_state1)) begin
|
| 366 |
+
ap_ST_fsm_state1_blk = 1'b1;
|
| 367 |
+
end else begin
|
| 368 |
+
ap_ST_fsm_state1_blk = 1'b0;
|
| 369 |
+
end
|
| 370 |
+
end
|
| 371 |
+
|
| 372 |
+
always @ (*) begin
|
| 373 |
+
if ((1'b1 == ap_block_state2)) begin
|
| 374 |
+
ap_ST_fsm_state2_blk = 1'b1;
|
| 375 |
+
end else begin
|
| 376 |
+
ap_ST_fsm_state2_blk = 1'b0;
|
| 377 |
+
end
|
| 378 |
+
end
|
| 379 |
+
|
| 380 |
+
always @ (*) begin
|
| 381 |
+
if ((grp_compute_output_buffer_2d_array_array_ap_fixed_43_23_5_3_0_64u_config19_s_fu_1718_ap_done == 1'b0)) begin
|
| 382 |
+
ap_ST_fsm_state3_blk = 1'b1;
|
| 383 |
+
end else begin
|
| 384 |
+
ap_ST_fsm_state3_blk = 1'b0;
|
| 385 |
+
end
|
| 386 |
+
end
|
| 387 |
+
|
| 388 |
+
always @ (*) begin
|
| 389 |
+
if (((1'b0 == ap_block_state2) & (icmp_ln52_fu_3216_p2 == 1'd1) & (1'b1 == ap_CS_fsm_state2))) begin
|
| 390 |
+
ap_done = 1'b1;
|
| 391 |
+
end else begin
|
| 392 |
+
ap_done = ap_done_reg;
|
| 393 |
+
end
|
| 394 |
+
end
|
| 395 |
+
|
| 396 |
+
always @ (*) begin
|
| 397 |
+
if (((real_start == 1'b0) & (1'b1 == ap_CS_fsm_state1))) begin
|
| 398 |
+
ap_idle = 1'b1;
|
| 399 |
+
end else begin
|
| 400 |
+
ap_idle = 1'b0;
|
| 401 |
+
end
|
| 402 |
+
end
|
| 403 |
+
|
| 404 |
+
always @ (*) begin
|
| 405 |
+
if (((1'b0 == ap_block_state2) & (icmp_ln52_fu_3216_p2 == 1'd1) & (1'b1 == ap_CS_fsm_state2))) begin
|
| 406 |
+
internal_ap_ready = 1'b1;
|
| 407 |
+
end else begin
|
| 408 |
+
internal_ap_ready = 1'b0;
|
| 409 |
+
end
|
| 410 |
+
end
|
| 411 |
+
|
| 412 |
+
always @ (*) begin
|
| 413 |
+
if ((1'b1 == ap_CS_fsm_state3)) begin
|
| 414 |
+
layer19_out_write = grp_compute_output_buffer_2d_array_array_ap_fixed_43_23_5_3_0_64u_config19_s_fu_1718_layer19_out_write;
|
| 415 |
+
end else begin
|
| 416 |
+
layer19_out_write = 1'b0;
|
| 417 |
+
end
|
| 418 |
+
end
|
| 419 |
+
|
| 420 |
+
always @ (*) begin
|
| 421 |
+
if (((icmp_ln52_fu_3216_p2 == 1'd0) & (1'b1 == ap_CS_fsm_state2))) begin
|
| 422 |
+
layer51_out_blk_n = layer51_out_empty_n;
|
| 423 |
+
end else begin
|
| 424 |
+
layer51_out_blk_n = 1'b1;
|
| 425 |
+
end
|
| 426 |
+
end
|
| 427 |
+
|
| 428 |
+
always @ (*) begin
|
| 429 |
+
if (((1'b0 == ap_block_state2) & (icmp_ln52_fu_3216_p2 == 1'd0) & (1'b1 == ap_CS_fsm_state2))) begin
|
| 430 |
+
layer51_out_read_local = 1'b1;
|
| 431 |
+
end else begin
|
| 432 |
+
layer51_out_read_local = 1'b0;
|
| 433 |
+
end
|
| 434 |
+
end
|
| 435 |
+
|
| 436 |
+
always @ (*) begin
|
| 437 |
+
if (((start_once_reg == 1'b0) & (start_full_n == 1'b0))) begin
|
| 438 |
+
real_start = 1'b0;
|
| 439 |
+
end else begin
|
| 440 |
+
real_start = ap_start;
|
| 441 |
+
end
|
| 442 |
+
end
|
| 443 |
+
|
| 444 |
+
always @ (*) begin
|
| 445 |
+
if (((real_start == 1'b1) & (start_once_reg == 1'b0))) begin
|
| 446 |
+
start_write = 1'b1;
|
| 447 |
+
end else begin
|
| 448 |
+
start_write = 1'b0;
|
| 449 |
+
end
|
| 450 |
+
end
|
| 451 |
+
|
| 452 |
+
always @ (*) begin
|
| 453 |
+
case (ap_CS_fsm)
|
| 454 |
+
ap_ST_fsm_state1 : begin
|
| 455 |
+
if (((1'b0 == ap_block_state1) & (1'b1 == ap_CS_fsm_state1))) begin
|
| 456 |
+
ap_NS_fsm = ap_ST_fsm_state2;
|
| 457 |
+
end else begin
|
| 458 |
+
ap_NS_fsm = ap_ST_fsm_state1;
|
| 459 |
+
end
|
| 460 |
+
end
|
| 461 |
+
ap_ST_fsm_state2 : begin
|
| 462 |
+
if (((1'b0 == ap_block_state2) & (icmp_ln52_fu_3216_p2 == 1'd1) & (1'b1 == ap_CS_fsm_state2))) begin
|
| 463 |
+
ap_NS_fsm = ap_ST_fsm_state1;
|
| 464 |
+
end else if (((1'b0 == ap_block_state2) & (icmp_ln52_fu_3216_p2 == 1'd0) & (1'b1 == ap_CS_fsm_state2))) begin
|
| 465 |
+
ap_NS_fsm = ap_ST_fsm_state3;
|
| 466 |
+
end else begin
|
| 467 |
+
ap_NS_fsm = ap_ST_fsm_state2;
|
| 468 |
+
end
|
| 469 |
+
end
|
| 470 |
+
ap_ST_fsm_state3 : begin
|
| 471 |
+
if (((grp_compute_output_buffer_2d_array_array_ap_fixed_43_23_5_3_0_64u_config19_s_fu_1718_ap_done == 1'b1) & (1'b1 == ap_CS_fsm_state3))) begin
|
| 472 |
+
ap_NS_fsm = ap_ST_fsm_state2;
|
| 473 |
+
end else begin
|
| 474 |
+
ap_NS_fsm = ap_ST_fsm_state3;
|
| 475 |
+
end
|
| 476 |
+
end
|
| 477 |
+
default : begin
|
| 478 |
+
ap_NS_fsm = 'bx;
|
| 479 |
+
end
|
| 480 |
+
endcase
|
| 481 |
+
end
|
| 482 |
+
|
| 483 |
+
assign add_ln52_fu_3222_p2 = (indvar_flatten_fu_1708 + 7'd1);
|
| 484 |
+
|
| 485 |
+
assign ap_CS_fsm_state1 = ap_CS_fsm[32'd0];
|
| 486 |
+
|
| 487 |
+
assign ap_CS_fsm_state2 = ap_CS_fsm[32'd1];
|
| 488 |
+
|
| 489 |
+
assign ap_CS_fsm_state3 = ap_CS_fsm[32'd2];
|
| 490 |
+
|
| 491 |
+
always @ (*) begin
|
| 492 |
+
ap_block_state1 = ((real_start == 1'b0) | (ap_done_reg == 1'b1));
|
| 493 |
+
end
|
| 494 |
+
|
| 495 |
+
always @ (*) begin
|
| 496 |
+
ap_block_state2 = ((icmp_ln52_fu_3216_p2 == 1'd0) & (layer51_out_empty_n == 1'b0));
|
| 497 |
+
end
|
| 498 |
+
|
| 499 |
+
always @ (*) begin
|
| 500 |
+
ap_block_state2_ignore_call67 = ((icmp_ln52_fu_3216_p2 == 1'd0) & (layer51_out_empty_n == 1'b0));
|
| 501 |
+
end
|
| 502 |
+
|
| 503 |
+
assign ap_ready = internal_ap_ready;
|
| 504 |
+
|
| 505 |
+
assign grp_compute_output_buffer_2d_array_array_ap_fixed_43_23_5_3_0_64u_config19_s_fu_1718_ap_start = grp_compute_output_buffer_2d_array_array_ap_fixed_43_23_5_3_0_64u_config19_s_fu_1718_ap_start_reg;
|
| 506 |
+
|
| 507 |
+
assign icmp_ln52_fu_3216_p2 = ((indvar_flatten_fu_1708 == 7'd100) ? 1'b1 : 1'b0);
|
| 508 |
+
|
| 509 |
+
assign layer19_out_din = grp_compute_output_buffer_2d_array_array_ap_fixed_43_23_5_3_0_64u_config19_s_fu_1718_layer19_out_din;
|
| 510 |
+
|
| 511 |
+
assign layer51_out_read = layer51_out_read_local;
|
| 512 |
+
|
| 513 |
+
assign start_out = real_start;
|
| 514 |
+
|
| 515 |
+
assign trunc_ln58_fu_3228_p1 = layer51_out_dout[15:0];
|
| 516 |
+
|
| 517 |
+
endmodule //myproject_conv_2d_cl_array_array_ap_fixed_43_23_5_3_0_64u_config19_s
|
myproject_prj/solution1/syn/verilog/myproject_dense_resource_rf_gt_nin_rem0_ap_fixed_ap_fixed_37_17_5_3_0_config2_mult_s_oudEe.v
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// ==============================================================
|
| 2 |
+
// Generated by Vitis HLS v2024.1
|
| 3 |
+
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
| 4 |
+
// Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.
|
| 5 |
+
// ==============================================================
|
| 6 |
+
`timescale 1 ns / 1 ps
|
| 7 |
+
module myproject_dense_resource_rf_gt_nin_rem0_ap_fixed_ap_fixed_37_17_5_3_0_config2_mult_s_oudEe (
|
| 8 |
+
address0, ce0, q0,
|
| 9 |
+
reset, clk);
|
| 10 |
+
|
| 11 |
+
parameter DataWidth = 3;
|
| 12 |
+
parameter AddressWidth = 7;
|
| 13 |
+
parameter AddressRange = 72;
|
| 14 |
+
|
| 15 |
+
input[AddressWidth-1:0] address0;
|
| 16 |
+
input ce0;
|
| 17 |
+
output reg[DataWidth-1:0] q0;
|
| 18 |
+
|
| 19 |
+
input reset;
|
| 20 |
+
input clk;
|
| 21 |
+
|
| 22 |
+
|
| 23 |
+
reg [DataWidth-1:0] rom0[0:AddressRange-1];
|
| 24 |
+
|
| 25 |
+
|
| 26 |
+
initial begin
|
| 27 |
+
|
| 28 |
+
$readmemh("./myproject_dense_resource_rf_gt_nin_rem0_ap_fixed_ap_fixed_37_17_5_3_0_config2_mult_s_oudEe.dat", rom0);
|
| 29 |
+
end
|
| 30 |
+
|
| 31 |
+
|
| 32 |
+
always @(posedge clk)
|
| 33 |
+
begin
|
| 34 |
+
if (ce0)
|
| 35 |
+
begin
|
| 36 |
+
q0 <= rom0[address0];
|
| 37 |
+
end
|
| 38 |
+
end
|
| 39 |
+
|
| 40 |
+
|
| 41 |
+
endmodule
|
| 42 |
+
|
myproject_prj/solution1/syn/verilog/myproject_dense_resource_rf_gt_nin_rem0_ap_fixed_ap_fixed_40_20_5_3_0_config4_mult_s.v
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
myproject_prj/solution1/syn/verilog/myproject_dense_resource_rf_gt_nin_rem0_ap_fixed_ap_fixed_config14_mult_s_outidx_5_ROM_dkF.dat
ADDED
|
@@ -0,0 +1,576 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
0
|
| 2 |
+
0
|
| 3 |
+
0
|
| 4 |
+
0
|
| 5 |
+
0
|
| 6 |
+
0
|
| 7 |
+
0
|
| 8 |
+
0
|
| 9 |
+
0
|
| 10 |
+
0
|
| 11 |
+
0
|
| 12 |
+
0
|
| 13 |
+
0
|
| 14 |
+
0
|
| 15 |
+
0
|
| 16 |
+
0
|
| 17 |
+
0
|
| 18 |
+
0
|
| 19 |
+
0
|
| 20 |
+
0
|
| 21 |
+
0
|
| 22 |
+
0
|
| 23 |
+
0
|
| 24 |
+
0
|
| 25 |
+
0
|
| 26 |
+
0
|
| 27 |
+
0
|
| 28 |
+
0
|
| 29 |
+
0
|
| 30 |
+
0
|
| 31 |
+
0
|
| 32 |
+
0
|
| 33 |
+
0
|
| 34 |
+
0
|
| 35 |
+
0
|
| 36 |
+
0
|
| 37 |
+
0
|
| 38 |
+
0
|
| 39 |
+
0
|
| 40 |
+
0
|
| 41 |
+
0
|
| 42 |
+
0
|
| 43 |
+
0
|
| 44 |
+
0
|
| 45 |
+
0
|
| 46 |
+
0
|
| 47 |
+
0
|
| 48 |
+
0
|
| 49 |
+
0
|
| 50 |
+
0
|
| 51 |
+
0
|
| 52 |
+
0
|
| 53 |
+
0
|
| 54 |
+
0
|
| 55 |
+
0
|
| 56 |
+
0
|
| 57 |
+
0
|
| 58 |
+
0
|
| 59 |
+
0
|
| 60 |
+
0
|
| 61 |
+
0
|
| 62 |
+
0
|
| 63 |
+
0
|
| 64 |
+
0
|
| 65 |
+
0
|
| 66 |
+
0
|
| 67 |
+
0
|
| 68 |
+
0
|
| 69 |
+
0
|
| 70 |
+
0
|
| 71 |
+
0
|
| 72 |
+
0
|
| 73 |
+
0
|
| 74 |
+
0
|
| 75 |
+
0
|
| 76 |
+
0
|
| 77 |
+
0
|
| 78 |
+
0
|
| 79 |
+
0
|
| 80 |
+
0
|
| 81 |
+
0
|
| 82 |
+
0
|
| 83 |
+
0
|
| 84 |
+
0
|
| 85 |
+
0
|
| 86 |
+
0
|
| 87 |
+
0
|
| 88 |
+
0
|
| 89 |
+
0
|
| 90 |
+
0
|
| 91 |
+
0
|
| 92 |
+
0
|
| 93 |
+
0
|
| 94 |
+
0
|
| 95 |
+
0
|
| 96 |
+
0
|
| 97 |
+
0
|
| 98 |
+
0
|
| 99 |
+
0
|
| 100 |
+
0
|
| 101 |
+
0
|
| 102 |
+
0
|
| 103 |
+
0
|
| 104 |
+
0
|
| 105 |
+
0
|
| 106 |
+
0
|
| 107 |
+
0
|
| 108 |
+
0
|
| 109 |
+
0
|
| 110 |
+
0
|
| 111 |
+
0
|
| 112 |
+
0
|
| 113 |
+
0
|
| 114 |
+
0
|
| 115 |
+
0
|
| 116 |
+
0
|
| 117 |
+
0
|
| 118 |
+
0
|
| 119 |
+
0
|
| 120 |
+
0
|
| 121 |
+
0
|
| 122 |
+
0
|
| 123 |
+
0
|
| 124 |
+
0
|
| 125 |
+
0
|
| 126 |
+
0
|
| 127 |
+
0
|
| 128 |
+
0
|
| 129 |
+
0
|
| 130 |
+
0
|
| 131 |
+
0
|
| 132 |
+
0
|
| 133 |
+
0
|
| 134 |
+
0
|
| 135 |
+
0
|
| 136 |
+
0
|
| 137 |
+
0
|
| 138 |
+
0
|
| 139 |
+
0
|
| 140 |
+
0
|
| 141 |
+
0
|
| 142 |
+
0
|
| 143 |
+
0
|
| 144 |
+
0
|
| 145 |
+
0
|
| 146 |
+
0
|
| 147 |
+
0
|
| 148 |
+
0
|
| 149 |
+
0
|
| 150 |
+
0
|
| 151 |
+
0
|
| 152 |
+
0
|
| 153 |
+
0
|
| 154 |
+
0
|
| 155 |
+
0
|
| 156 |
+
0
|
| 157 |
+
0
|
| 158 |
+
0
|
| 159 |
+
0
|
| 160 |
+
0
|
| 161 |
+
0
|
| 162 |
+
0
|
| 163 |
+
0
|
| 164 |
+
0
|
| 165 |
+
0
|
| 166 |
+
0
|
| 167 |
+
0
|
| 168 |
+
0
|
| 169 |
+
0
|
| 170 |
+
0
|
| 171 |
+
0
|
| 172 |
+
0
|
| 173 |
+
0
|
| 174 |
+
0
|
| 175 |
+
0
|
| 176 |
+
0
|
| 177 |
+
0
|
| 178 |
+
0
|
| 179 |
+
0
|
| 180 |
+
0
|
| 181 |
+
0
|
| 182 |
+
0
|
| 183 |
+
0
|
| 184 |
+
0
|
| 185 |
+
0
|
| 186 |
+
0
|
| 187 |
+
0
|
| 188 |
+
0
|
| 189 |
+
0
|
| 190 |
+
0
|
| 191 |
+
0
|
| 192 |
+
0
|
| 193 |
+
0
|
| 194 |
+
0
|
| 195 |
+
0
|
| 196 |
+
0
|
| 197 |
+
0
|
| 198 |
+
0
|
| 199 |
+
0
|
| 200 |
+
0
|
| 201 |
+
0
|
| 202 |
+
0
|
| 203 |
+
0
|
| 204 |
+
0
|
| 205 |
+
0
|
| 206 |
+
0
|
| 207 |
+
0
|
| 208 |
+
0
|
| 209 |
+
0
|
| 210 |
+
0
|
| 211 |
+
0
|
| 212 |
+
0
|
| 213 |
+
0
|
| 214 |
+
0
|
| 215 |
+
0
|
| 216 |
+
0
|
| 217 |
+
0
|
| 218 |
+
0
|
| 219 |
+
0
|
| 220 |
+
0
|
| 221 |
+
0
|
| 222 |
+
0
|
| 223 |
+
0
|
| 224 |
+
0
|
| 225 |
+
0
|
| 226 |
+
0
|
| 227 |
+
0
|
| 228 |
+
0
|
| 229 |
+
0
|
| 230 |
+
0
|
| 231 |
+
0
|
| 232 |
+
0
|
| 233 |
+
0
|
| 234 |
+
0
|
| 235 |
+
0
|
| 236 |
+
0
|
| 237 |
+
0
|
| 238 |
+
0
|
| 239 |
+
0
|
| 240 |
+
0
|
| 241 |
+
0
|
| 242 |
+
0
|
| 243 |
+
0
|
| 244 |
+
0
|
| 245 |
+
0
|
| 246 |
+
0
|
| 247 |
+
0
|
| 248 |
+
0
|
| 249 |
+
0
|
| 250 |
+
0
|
| 251 |
+
0
|
| 252 |
+
0
|
| 253 |
+
0
|
| 254 |
+
0
|
| 255 |
+
0
|
| 256 |
+
0
|
| 257 |
+
0
|
| 258 |
+
0
|
| 259 |
+
0
|
| 260 |
+
0
|
| 261 |
+
0
|
| 262 |
+
0
|
| 263 |
+
0
|
| 264 |
+
0
|
| 265 |
+
0
|
| 266 |
+
0
|
| 267 |
+
0
|
| 268 |
+
0
|
| 269 |
+
0
|
| 270 |
+
0
|
| 271 |
+
0
|
| 272 |
+
0
|
| 273 |
+
0
|
| 274 |
+
0
|
| 275 |
+
0
|
| 276 |
+
0
|
| 277 |
+
0
|
| 278 |
+
0
|
| 279 |
+
0
|
| 280 |
+
0
|
| 281 |
+
0
|
| 282 |
+
0
|
| 283 |
+
0
|
| 284 |
+
0
|
| 285 |
+
0
|
| 286 |
+
0
|
| 287 |
+
0
|
| 288 |
+
0
|
| 289 |
+
1
|
| 290 |
+
1
|
| 291 |
+
1
|
| 292 |
+
1
|
| 293 |
+
1
|
| 294 |
+
1
|
| 295 |
+
1
|
| 296 |
+
1
|
| 297 |
+
1
|
| 298 |
+
1
|
| 299 |
+
1
|
| 300 |
+
1
|
| 301 |
+
1
|
| 302 |
+
1
|
| 303 |
+
1
|
| 304 |
+
1
|
| 305 |
+
1
|
| 306 |
+
1
|
| 307 |
+
1
|
| 308 |
+
1
|
| 309 |
+
1
|
| 310 |
+
1
|
| 311 |
+
1
|
| 312 |
+
1
|
| 313 |
+
1
|
| 314 |
+
1
|
| 315 |
+
1
|
| 316 |
+
1
|
| 317 |
+
1
|
| 318 |
+
1
|
| 319 |
+
1
|
| 320 |
+
1
|
| 321 |
+
1
|
| 322 |
+
1
|
| 323 |
+
1
|
| 324 |
+
1
|
| 325 |
+
1
|
| 326 |
+
1
|
| 327 |
+
1
|
| 328 |
+
1
|
| 329 |
+
1
|
| 330 |
+
1
|
| 331 |
+
1
|
| 332 |
+
1
|
| 333 |
+
1
|
| 334 |
+
1
|
| 335 |
+
1
|
| 336 |
+
1
|
| 337 |
+
1
|
| 338 |
+
1
|
| 339 |
+
1
|
| 340 |
+
1
|
| 341 |
+
1
|
| 342 |
+
1
|
| 343 |
+
1
|
| 344 |
+
1
|
| 345 |
+
1
|
| 346 |
+
1
|
| 347 |
+
1
|
| 348 |
+
1
|
| 349 |
+
1
|
| 350 |
+
1
|
| 351 |
+
1
|
| 352 |
+
1
|
| 353 |
+
1
|
| 354 |
+
1
|
| 355 |
+
1
|
| 356 |
+
1
|
| 357 |
+
1
|
| 358 |
+
1
|
| 359 |
+
1
|
| 360 |
+
1
|
| 361 |
+
1
|
| 362 |
+
1
|
| 363 |
+
1
|
| 364 |
+
1
|
| 365 |
+
1
|
| 366 |
+
1
|
| 367 |
+
1
|
| 368 |
+
1
|
| 369 |
+
1
|
| 370 |
+
1
|
| 371 |
+
1
|
| 372 |
+
1
|
| 373 |
+
1
|
| 374 |
+
1
|
| 375 |
+
1
|
| 376 |
+
1
|
| 377 |
+
1
|
| 378 |
+
1
|
| 379 |
+
1
|
| 380 |
+
1
|
| 381 |
+
1
|
| 382 |
+
1
|
| 383 |
+
1
|
| 384 |
+
1
|
| 385 |
+
1
|
| 386 |
+
1
|
| 387 |
+
1
|
| 388 |
+
1
|
| 389 |
+
1
|
| 390 |
+
1
|
| 391 |
+
1
|
| 392 |
+
1
|
| 393 |
+
1
|
| 394 |
+
1
|
| 395 |
+
1
|
| 396 |
+
1
|
| 397 |
+
1
|
| 398 |
+
1
|
| 399 |
+
1
|
| 400 |
+
1
|
| 401 |
+
1
|
| 402 |
+
1
|
| 403 |
+
1
|
| 404 |
+
1
|
| 405 |
+
1
|
| 406 |
+
1
|
| 407 |
+
1
|
| 408 |
+
1
|
| 409 |
+
1
|
| 410 |
+
1
|
| 411 |
+
1
|
| 412 |
+
1
|
| 413 |
+
1
|
| 414 |
+
1
|
| 415 |
+
1
|
| 416 |
+
1
|
| 417 |
+
1
|
| 418 |
+
1
|
| 419 |
+
1
|
| 420 |
+
1
|
| 421 |
+
1
|
| 422 |
+
1
|
| 423 |
+
1
|
| 424 |
+
1
|
| 425 |
+
1
|
| 426 |
+
1
|
| 427 |
+
1
|
| 428 |
+
1
|
| 429 |
+
1
|
| 430 |
+
1
|
| 431 |
+
1
|
| 432 |
+
1
|
| 433 |
+
1
|
| 434 |
+
1
|
| 435 |
+
1
|
| 436 |
+
1
|
| 437 |
+
1
|
| 438 |
+
1
|
| 439 |
+
1
|
| 440 |
+
1
|
| 441 |
+
1
|
| 442 |
+
1
|
| 443 |
+
1
|
| 444 |
+
1
|
| 445 |
+
1
|
| 446 |
+
1
|
| 447 |
+
1
|
| 448 |
+
1
|
| 449 |
+
1
|
| 450 |
+
1
|
| 451 |
+
1
|
| 452 |
+
1
|
| 453 |
+
1
|
| 454 |
+
1
|
| 455 |
+
1
|
| 456 |
+
1
|
| 457 |
+
1
|
| 458 |
+
1
|
| 459 |
+
1
|
| 460 |
+
1
|
| 461 |
+
1
|
| 462 |
+
1
|
| 463 |
+
1
|
| 464 |
+
1
|
| 465 |
+
1
|
| 466 |
+
1
|
| 467 |
+
1
|
| 468 |
+
1
|
| 469 |
+
1
|
| 470 |
+
1
|
| 471 |
+
1
|
| 472 |
+
1
|
| 473 |
+
1
|
| 474 |
+
1
|
| 475 |
+
1
|
| 476 |
+
1
|
| 477 |
+
1
|
| 478 |
+
1
|
| 479 |
+
1
|
| 480 |
+
1
|
| 481 |
+
1
|
| 482 |
+
1
|
| 483 |
+
1
|
| 484 |
+
1
|
| 485 |
+
1
|
| 486 |
+
1
|
| 487 |
+
1
|
| 488 |
+
1
|
| 489 |
+
1
|
| 490 |
+
1
|
| 491 |
+
1
|
| 492 |
+
1
|
| 493 |
+
1
|
| 494 |
+
1
|
| 495 |
+
1
|
| 496 |
+
1
|
| 497 |
+
1
|
| 498 |
+
1
|
| 499 |
+
1
|
| 500 |
+
1
|
| 501 |
+
1
|
| 502 |
+
1
|
| 503 |
+
1
|
| 504 |
+
1
|
| 505 |
+
1
|
| 506 |
+
1
|
| 507 |
+
1
|
| 508 |
+
1
|
| 509 |
+
1
|
| 510 |
+
1
|
| 511 |
+
1
|
| 512 |
+
1
|
| 513 |
+
1
|
| 514 |
+
1
|
| 515 |
+
1
|
| 516 |
+
1
|
| 517 |
+
1
|
| 518 |
+
1
|
| 519 |
+
1
|
| 520 |
+
1
|
| 521 |
+
1
|
| 522 |
+
1
|
| 523 |
+
1
|
| 524 |
+
1
|
| 525 |
+
1
|
| 526 |
+
1
|
| 527 |
+
1
|
| 528 |
+
1
|
| 529 |
+
1
|
| 530 |
+
1
|
| 531 |
+
1
|
| 532 |
+
1
|
| 533 |
+
1
|
| 534 |
+
1
|
| 535 |
+
1
|
| 536 |
+
1
|
| 537 |
+
1
|
| 538 |
+
1
|
| 539 |
+
1
|
| 540 |
+
1
|
| 541 |
+
1
|
| 542 |
+
1
|
| 543 |
+
1
|
| 544 |
+
1
|
| 545 |
+
1
|
| 546 |
+
1
|
| 547 |
+
1
|
| 548 |
+
1
|
| 549 |
+
1
|
| 550 |
+
1
|
| 551 |
+
1
|
| 552 |
+
1
|
| 553 |
+
1
|
| 554 |
+
1
|
| 555 |
+
1
|
| 556 |
+
1
|
| 557 |
+
1
|
| 558 |
+
1
|
| 559 |
+
1
|
| 560 |
+
1
|
| 561 |
+
1
|
| 562 |
+
1
|
| 563 |
+
1
|
| 564 |
+
1
|
| 565 |
+
1
|
| 566 |
+
1
|
| 567 |
+
1
|
| 568 |
+
1
|
| 569 |
+
1
|
| 570 |
+
1
|
| 571 |
+
1
|
| 572 |
+
1
|
| 573 |
+
1
|
| 574 |
+
1
|
| 575 |
+
1
|
| 576 |
+
1
|
myproject_prj/solution1/syn/verilog/myproject_dense_resource_rf_gt_nin_rem0_ap_fixed_ap_fixed_config14_mult_s_w14_ROM_NP_BRdlF.dat
ADDED
|
@@ -0,0 +1,576 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
056000D0031FF7B000DFFAB00D0FFCC006CFF40FFEC00250043FFF2FFB00004
|
| 2 |
+
066FFF5FF3EFF98005B01070071FFF9007F002800070006FFDAFFDC00CE0009
|
| 3 |
+
39AFFBEFFF500800049FF47FF630057005C0070001600550000003CFFABFF9F
|
| 4 |
+
3E6FFFB0010FFBCFFEAFFD9008EFFFB008B002CFFC80024FFE80054007EFF4F
|
| 5 |
+
0260005004E00A7006300A90015003C00140037FFD0FF46FFB8002B00BD0069
|
| 6 |
+
3A4FF7C000900E5002AFFC70075001600350015001AFFDEFFA0FF8FFF53FF34
|
| 7 |
+
3E7FFD1FE0200DBFFA100C20021004F001E006B0013FE3AFFA4FFF1FF770086
|
| 8 |
+
396FFD2FF35FFD6FFCEFFD5FF8F00340030FFD2FF9C000DFF6EFFDE00180015
|
| 9 |
+
0820003009DFFE1001D000E008FFF9BFFE8FFAAFFABFFF40031000EFF650048
|
| 10 |
+
3C400010090FF16FFD60086FFC700310002005F0031FFDDFFE9FFD200280088
|
| 11 |
+
020002D002BFFA70020FFDA0059FFE0FFB8000B0061FFADFFFA0000FFC8FFA4
|
| 12 |
+
062FFFD00D5FF36001DFF56FF7CFF86005AFFE300060061001AFFEAFFBBFFB6
|
| 13 |
+
365FFC5FF75FFA0FFFE0023FF4E000200390009FFE2FF7EFFD5FFF4FFA8FFD4
|
| 14 |
+
048FFD0FFAAFF3600140093FFA3FFEAFFFFFF4E003600660046FF7FFFDAFF22
|
| 15 |
+
02D0040FFC1FFFFFFEAFF56FFF8FF560074FFA6FFB8005C002BFFF0FFF5FF98
|
| 16 |
+
35F003CFF7A0008FFCBFFB900240021FFB2003EFFDBFEFBFFAD0014FFCDFF4C
|
| 17 |
+
3BFFFADFFAB003C000FFFCDFFBB0042003E004900BCFF53FF9CFFE80005FFAF
|
| 18 |
+
3EFFF68FFFDFF8FFF72FF39000D000EFFB2FFD7FFDA001D004CFFECFF7DFF8E
|
| 19 |
+
38A0020FF89FFB8FF7200CB0066FF7FFFA8FFDC000CFF85FFFB00150012FF51
|
| 20 |
+
007FFF2FFBBFFCF000600C30058000BFFE3FFE8FF950029FFDEFFA90027FFCB
|
| 21 |
+
3300013FF15FF99FF9C006BFFE9FFD1FF77FF8BFF580068FFE1FFABFFD6FF3C
|
| 22 |
+
397FF490043FFBD0031FF090060FFF30023000E0028000EFFB7FFF80036FF83
|
| 23 |
+
3E10011FF85008F00290076FFFF002EFF72FFC5FFC3007CFFE9FFD3FF96FFE6
|
| 24 |
+
37EFF6A00D2FFFAFFE3FF59001400530033002D000BFF98FFDA0004FF50FFD0
|
| 25 |
+
3ECFFEC00F300B20048FECF00F900320078FF730063FFF6FFCFFFE1001D0052
|
| 26 |
+
3D3FFD4FF9EFEB8FFFBFF79FFB0FF9CFFF1FF92FFC500D6FFF2FFE3FFE7FFE3
|
| 27 |
+
06600190061FF610034FFB6FFCA006B002A0007FFE1007800260052003BFFDF
|
| 28 |
+
01DFFE8FFB6FFF5FF94FF52FEEC00ADFFF8FF8E005500CD00440001FFD0FFA6
|
| 29 |
+
09CFFF2FF55FE7400080021FF17FF0C00CBFF29FF9B007E001C001EFFA8FFAC
|
| 30 |
+
3CF000E006DFFBEFFB7FF30FF9CFFAF0055FFB90044FFF60006FFD1FFAEFFD5
|
| 31 |
+
3CCFEC8FFDF0034005FFFC6001EFEB8FF68005900330059FFDEFFB3FFB8FFC0
|
| 32 |
+
3EB005CFF58FEDC0005FF1AFF1CFFCA0018FFDB008AFFFF000DFFB20004FFF0
|
| 33 |
+
007FF38000400A9007B008E000FFFB8004DFF74FFD7FFE7FFF5FFBAFF860026
|
| 34 |
+
0910032FFE40037FFF3FFA7FF6C000F0034FFE5FFE500CC0047FF9000B9FFB2
|
| 35 |
+
027FFF70072006F00400056FEC8FFF8FFEC001C006000210014FFB3FF6AFFF8
|
| 36 |
+
3C80017FFD20010FF6DFFC8FFA4FFEEFF6B0035FFEAFFA70007003100DBFF5C
|
| 37 |
+
048001200B600A2FFD20002FFED0037003EFFF4007AFFEEFFF1002900B00058
|
| 38 |
+
015001800240078FFCD006600100004FF7D0007000CFF1CFFC2FFF800730025
|
| 39 |
+
3DD0090FEE40053FFB4FFC00064003B00B700620019FF00FF52004CFFA7FFC3
|
| 40 |
+
008FFA0FF84FF8E0049FFCDFF9A007500C00048FF8F0076000CFFEB0017FF19
|
| 41 |
+
06FFF75FFAEFFB3006EFFFD00C8FFD80030FFD7FF91FFEF002AFFE6FFFC0024
|
| 42 |
+
3FC004DFFD5FFDA0001FF2BFF79FFE9FF94FFDA004DFF80FFFEFFC40056006E
|
| 43 |
+
3A1001B000AFE7A002A007A00C4FFBCFFECFFD8FFA6FEFA0007003AFFEAFF95
|
| 44 |
+
061FFC80026FFAA003C005E003EFFCF0041FFE1003F00740067FFB2FFE2FF8E
|
| 45 |
+
35CFFBEFF7AFFA0FF850047FFB2FFD9FF7DFFCFFFE5FF9FFF88FFECFFB50033
|
| 46 |
+
02CFFCEFFF5FFA50016009D0059000E000FFFCC002EFFF1FFE3FFCE0018FF09
|
| 47 |
+
063FFACFFB8002E000900CE002BFF62002FFFC3001A001C0030FFE2FFABFF11
|
| 48 |
+
3BC001EFFF10000FFC7FEBA000A0052FFD1008CFF95FFB3FFC10056FF96FF5D
|
| 49 |
+
07A002CFEC9001BFFF5FFCB000B0042FFC8FFC9FFF9000AFFE8FFEB001FFF64
|
| 50 |
+
3F9FFDB0092FFAEFFCBFFCFFF9BFFF60011FFDCFFF0001A00400014FF46FF83
|
| 51 |
+
3920050000EFF83FFE9007FFF9DFFD3FF510054FFC0FF87FFE200810073FF54
|
| 52 |
+
00B000CFF9000080012FF6EFF94FFEBFFA2000900290007FFC3FFCAFFEFFFFE
|
| 53 |
+
3E7FF92FF61FFBB0054009AFF41FFD70027FF7800300042FFD70001FFF9FF44
|
| 54 |
+
01BFFD2FFCAFFDAFFBD0088FFAAFFE9FFD1FFAF001C004FFFFD0001FFAB0044
|
| 55 |
+
003FFCD001AFFEB0022FFBFFFB9001300BF002A0018FFC2FF950020002BFFCF
|
| 56 |
+
3CA00620111FFD600510083FFA90008FFDC002500760044FFE7FFC700080071
|
| 57 |
+
067004D004F0059FFD800A6004C0013FF2BFF6BFFCD0009FFD5001600F2FFE7
|
| 58 |
+
3E3FF51FF44FF74000E0030FFE3FFA4FFDBFF98FFEA00AE0010FFDAFF6EFF0D
|
| 59 |
+
0010035FF75FFE0FFA50053FF95000800320053FFEE006B003E0006FFC4FF44
|
| 60 |
+
3C1FFC5FF14FFD0FFDC003FFFC7FFFB0060FF8A00180023005BFFB7000FFF2D
|
| 61 |
+
075FF28FF9B00590056004CFF59FF53FFD0FFCAFFC000700016FFCA000AFF44
|
| 62 |
+
0390012001EFF4B0018FFAD0024FFFC00ADFF5A006800510071FF9E0005FFD8
|
| 63 |
+
3960053FFDFFF740020FFAC00D4FEFB001C002EFFFEFFE1FFFA001100010079
|
| 64 |
+
03D00FAFFB3FF47FFEE001BFFF50032FFE5FFE20044FFE00025FF9BFF63003F
|
| 65 |
+
02DFF53FFD4009400FCFFE1FEFFFFCDFF90FFE4FFF40005FFFBFFA900010037
|
| 66 |
+
3B80002FFEF0099001D0034001F002000190030FFC4FFDB0000002E008E0027
|
| 67 |
+
3BB0021FFF2FFCF0094FFCFFF59FFE5FE92FFDC0045FFF60005FFBAFFE2FFCA
|
| 68 |
+
04A00200057006CFFFA0094FF660009002D001AFFE40049FFE800780085FFA8
|
| 69 |
+
00400B5003300A0FFCE00D0FFF4003300600040004C0027FFFCFFDB00BE002C
|
| 70 |
+
03A004E00690075FF8DFE67FE330006FF14FFE2FF8BFFDFFFE0001FFFFAFF39
|
| 71 |
+
03B0087002E0021FFE500790027FFDD0052001B0026FFC1FFC8001EFED5FFB1
|
| 72 |
+
32AFFC2003CFF2DFFECFFE9005E0019FF930049FFC1FFB2001A00220074FF0F
|
| 73 |
+
02DFECEFEA300520007FF9AFFB0FFB200240037FFD2FFD4002300180001FFE2
|
| 74 |
+
01F0017FFDCFFD7FF44004CFFD2004000C6007E0015FFCE001CFFAB00810096
|
| 75 |
+
3CFFFE2FF760016FF8AFF21FFFCFF210122FFDAFF9FFFCBFFE9FFC2FFBEFF79
|
| 76 |
+
018FF54FF4100330042FFECFF78FFD3FFC9FFAFFFCFFFC80052FF8EFF78FF6E
|
| 77 |
+
3C7004EFF99FF88FF5500A3FFB4FFFAFFCBFFEFFFF2FFFCFFCA000100750078
|
| 78 |
+
02D000EFFE1FF6F0018003AFFFFFFE0FF6AFFF3FFFAFFD3001200030015FF7B
|
| 79 |
+
3E7FFEA003BFFBE005E00ADFF3EFF6CFEF3001D0010FFC2002AFF8EFFB2FFBA
|
| 80 |
+
3DF001B00A0FFA50000FFD600040042FFB90044FF750042FFF30044FFB1FFC1
|
| 81 |
+
01600020004FFB9001CFFB6FEDB0017FE0FFF76FFA0004EFFD0FFE0003DFF4C
|
| 82 |
+
031FFFD0067FFD80021011800FFFFD3003CFFFD000CFFDF001CFFB5FF76FFE2
|
| 83 |
+
3C5004EFF8DFF9AFFE400D0FF9FFF74003B0031FF6AFFFDFFCA00420035FFB3
|
| 84 |
+
34F0003FFA3006DFFDF008BFF4AFFF300750018FFE7FF80FFEF0047002A0021
|
| 85 |
+
3D8FFA1FFB2FF76002EFF87FEA5FFBEFF25FFC5FFD7003D003F006200CCFFB8
|
| 86 |
+
3CC0019FFC7FFF8FFC30032FF660003FF32FFFAFFBE0031FFCEFFEDFFDFFFA3
|
| 87 |
+
3E80016FFCDFF87FF83FF85FDF00025FFBE0006FFA800160032001F000C003A
|
| 88 |
+
32F00A5009BFF3500460050012BFFECFF5EFFCDFFCA0016001EFF9C0043FFC8
|
| 89 |
+
00A001600B3FFFAFFEDFE820009FFE7FE08FF8EFFA0000E003DFFFBFFF2FEEE
|
| 90 |
+
3C4FF65FFB2FF50FFF4FFCE000EFF93001BFFA1FF47FFFF001FFFE5FFB3FFA7
|
| 91 |
+
3C50003FF190061FFB80089006BFFCCFF53003F000FFFA4000EFFC3FF4BFF91
|
| 92 |
+
3C80044FFA4FF4FFF5100590178FFE8FFD5FFC4FFE5FFA4000FFF8CFFEDFFF4
|
| 93 |
+
081FF05FF9E00B600350018FDECFF720098FFC9FF45FFE50000FFBAFFF5FFA3
|
| 94 |
+
3D1FF83FF4CFEF3FFEA0090FF60FFDC0007FFFBFFF1FFC00047FFA3FFD40013
|
| 95 |
+
02F00ACFFF5FF33FF92FFD10130FF38007D001A000400390045FFD700340080
|
| 96 |
+
04F0034FF36FF9D001C0065FFBEFFAA00030010006CFF63003F0007FF6B0036
|
| 97 |
+
05B006FFFA5FEC9FFE900A70005FFF50032000D0025FFAA001E00180051FFBD
|
| 98 |
+
02A005EFF6DFF5B0090FFF100680041005F0011FFE50054FFE4FF8B003D000E
|
| 99 |
+
3A1FFDE00CB005F0023FF65000AFF8C00A70098000400120012005AFFB10087
|
| 100 |
+
3ECFF6F0016FFFA000EFF77FFB9FFCF0064FFF2003DFFEAFFCA001FFFD400AE
|
| 101 |
+
030000100150031008D0015011E00320007FFF8FFF2FFECFF8A000A0094006D
|
| 102 |
+
3BDFF0BFFFC003C001500AAFFE8000EFFEE001AFF73FF68FFA6FFC40062FF59
|
| 103 |
+
004FF22FE670024FFEA00FFFFDC0047FFEB001CFFAAFFC7FFD3FFC5004DFF02
|
| 104 |
+
3D90014FFE00009FFD0FFF3FE56001BFFDEFF76FFEC002700030042FF9700D8
|
| 105 |
+
01CFFD1FFCDFF7D0024009E0096FFA0FFABFF8BFFD3FFADFFFBFFF6003600AA
|
| 106 |
+
009004FFF6EFFFBFFCF000D002A001BFF88FFF8FF95000D0011FF950029FFC1
|
| 107 |
+
040FF9AFFCA001F001AFF61001EFFEDFFAB0026007DFF93FFECFFEEFFA5002C
|
| 108 |
+
041002B0103FF7E005CFF84FF74FFF100020052FFA6FFFBFFE60031001B008A
|
| 109 |
+
371FFB8FF23003DFFF0FF92FFF3000E005E0035FFB8FF26FF430008FF2D0009
|
| 110 |
+
3C80052FF55FF99003FFFA6001EFFED005EFFBAFF73FFF1FFC8FFE1FFE2005E
|
| 111 |
+
053005E0134FFF7FFD6FFD7FF400034005DFFF0FFEB005F0003FFE6FF960059
|
| 112 |
+
382001DFF0DFFAD000DFFF4FF57004E001EFFE8FFEAFF77FF670023FF70009B
|
| 113 |
+
3BBFFC20068001FFFA5FFED00220070FFD5009A0030FFDCFFC6FFFFFF8EFFA1
|
| 114 |
+
37AFE95005FFF9A0003FFCCFF5F0022FFE6FF87004F0028004BFFC6FF59FF0A
|
| 115 |
+
384FF5F0009001CFFD6001F006B0069FF69FFA9FFFD00210029FFEFFF41004F
|
| 116 |
+
012001CFF11FFE9004AFFD7005F00080039FF7BFF73FFF3FFEFFFC4002CFFB8
|
| 117 |
+
352002B005DFFC5FFA8FFE7FEB9FFD6FF8FFFD3FFB100100011FFF1FFA50035
|
| 118 |
+
3BDFFB1FFAFFF68003BFF2FFFE50048003200590003FF88FFECFFD6000AFF81
|
| 119 |
+
05FFECBFFC8FFDB0032001A00230067FFDA000C0032FFF8005F0031001CFFAC
|
| 120 |
+
38E004C00820018FFFB005E009300110006009DFFBAFF8DFFD40012FFEBFFA9
|
| 121 |
+
329FFBE000CFFCC0017FFCA009B001CFFEBFFE9FFB4FFB9FF93FF7CFFD4FFF9
|
| 122 |
+
031008D00C1FF9EFFF3FF70FFA4FF71003E0014002A0047006CFFF6FF7AFFE4
|
| 123 |
+
0B8008A00E5FFD90014FFD000350042003BFF86FFC3FFEC005E001EFFD50068
|
| 124 |
+
048FFE8FF53FFF4FFF1FFA1002A00DB0000002AFFDFFFE0004A004100070031
|
| 125 |
+
067006E0113FF1CFFD5FF45FF5EFF380056000BFFC1FFE500440032FF8FFFD4
|
| 126 |
+
00CFFE200640021FFCEFF9EFFCEFFDC0059FFEEFFD5FF9D0035FFA6FF430048
|
| 127 |
+
3B8FF06FF5F00560019FF960072FF36FF84005CFFC3000FFF97FFDCFF27FF9D
|
| 128 |
+
3BDFFD3FF62FF1600000037FE23001200AFFFA9000A005CFFF5FFDE000B0055
|
| 129 |
+
038FFEAFFCF0076001B00E4FFBC001CFFB7FFF00037FF9CFFA4FF7F003C0027
|
| 130 |
+
0300016FF9BFFA20036FF47FF9D001D008300160079000D0005001800010038
|
| 131 |
+
3D8001C00BE0040003F0066002EFFB00013007DFFF200390017FFABFFE5003E
|
| 132 |
+
3D5FFBEFFFFFFECFFC5FF6BFF3DFFD8FF6AFFED0006001000050006FFFDFFE5
|
| 133 |
+
048000E007C00A7FFBFFFD0000C00330004000100630065FFEA004300100031
|
| 134 |
+
011FF3C002BFF5FFFFB00C5FFD4FFFCFFC80001FFFCFF670006FFE500970056
|
| 135 |
+
3F4FF05FEF100370007007CFF8800500016FFF1FFEFFFD9FFD400100094FFC3
|
| 136 |
+
3D50065FFF50040FFE90002FF2F00AC0032001E0000FF85FFF0001AFF9C0030
|
| 137 |
+
0040013FF210001003F00630083FF99003FFFE3FF82FFACFFE1FFF2FFE50001
|
| 138 |
+
3FB0092FF56FFAEFFBFFFFBFF5AFFCDFFECFF5BFFA6FF7A000BFFB4000AFFB3
|
| 139 |
+
38B0007FF8BFF3400060001FFEEFFB4FFB5FFE8FF95FF2DFFEB0050FFA8FFBA
|
| 140 |
+
059000A0003FFD60046FFEB00DB00000007004000100036001A002200160044
|
| 141 |
+
3BFFF9FFF4D0025FF8B0026FF1DFFCFFFD30036FF6CFF6CFF77FFCFFFC9FFC3
|
| 142 |
+
0600031FF6DFFF4002AFF9200B6FFD8001E0028FFCC003AFFAA003FFF98001D
|
| 143 |
+
04E002B007E0002002400E5006400140018FFA2FFDF0015FFEAFFC9FF93FFD0
|
| 144 |
+
3A300500017FFF2000C0007FFD7007BFFD5FFF0FFD20014FFC00019FF770002
|
| 145 |
+
003FFE5FFC90045FF890051FFE8005700140037FFFF0032FFFFFFADFF63FF55
|
| 146 |
+
344FFD100E8002C0053FFBEFE88FFF6FFBFFFD6FFF8FF9F0019FFFC00400010
|
| 147 |
+
3E0FFE200310008FFD9001CFED10011FF92001BFFB4006D001A005AFFA8FFC9
|
| 148 |
+
036000B0046FFD80027FF68FF19000A0008FF42FFA9FFB6FFACFFECFFD00032
|
| 149 |
+
3D3FFC0008B003CFFF50019FF7A0006003EFFC20047FF8500170021FF74FFE2
|
| 150 |
+
3FC0026FFBFFFB9FFA60046FEF100150016FFE5FFF5FFE80030FFB90049004F
|
| 151 |
+
3F2FF3CFFA9007AFFF20024FFB4FFF5FFF60067FFD1FFF200070017FF06FFF4
|
| 152 |
+
3F9002E0096FFD3002B0130FFDAFFDFFFC8FFDE006E0024FFD4FFC9005F003B
|
| 153 |
+
00AFFAFFFC5FFA9FFDB008A00670009FF90FFC60022004C0001FFA80062002D
|
| 154 |
+
3ED00250026FFF50026000800B3FF9B004C0004001BFFE900530034FF50FF97
|
| 155 |
+
00E002F0008FFFCFFF2001200AA0025006DFFDFFFA2FFC00045002D0010FFBD
|
| 156 |
+
391FF9B000F0052FFB8001E00A200400065FFA1FFADFF5CFFFE0039009EFFD6
|
| 157 |
+
06E0025009800540009FFEC0012FF5DFFE200310021FFC1FFE10001FF7EFF99
|
| 158 |
+
008FF74FFE50030003FFF37009EFFF30056FFD4FFB5FFA9002D0002FFEA0024
|
| 159 |
+
3F9FFE5FF83FF25FFF70070FFE4FF68000D0035FFFEFFDEFFC6004DFFCAFF8F
|
| 160 |
+
38BFFD5FF63FFE2FFA60077FE630033FFFDFFE100040019FFEEFFF0FFEF0039
|
| 161 |
+
054001CFFEE001B00680060FFAB0043FF3FFFEB0028000CFFDAFF7B008B0098
|
| 162 |
+
3ADFFEDFFB700340030006200230046001FFFEF009AFF9CFF980029001A006E
|
| 163 |
+
3DFFFF7FFF0000D005FFF3F004DFF6DFF2B0012FFE7000EFFE40003006F0029
|
| 164 |
+
3C9FF71010B0028FFC40047FE16FFE7004EFFE0FFC20037FFE100B1FFF8FFD1
|
| 165 |
+
00B00130079007E0025005D00DA004BFFE4FFF60030000FFFE0FFD90022005F
|
| 166 |
+
3FC001F00ABFFAA001E0065FEFCFFF1FF47FF9E0045FFDAFF8DFFF700410034
|
| 167 |
+
029001B00420024FFD9006AFFA6FFD9FFA9FF970023FFED0012FFCC0092007A
|
| 168 |
+
38FFFEE0069FFF2000D009800030058FF010054FFE8FFD2FFDDFF9900000026
|
| 169 |
+
3EDFFE7FEA0007FFFE80057FFD0FFE2FFDF0032FF87FFC8FFDE001EFFD2FFA6
|
| 170 |
+
05D0031FFD7FFD7FF3F0048FF2A001D015EFFECFFE3FFE3001AFFD500C3FFB3
|
| 171 |
+
364FFE0FFFB0061FF79FF02FF55FF3100D1FFDBFF7DFFE6FFA0FFEFFFC8FF9E
|
| 172 |
+
3A6FFD7FF4A001B001EFF5A0066FFA3FF9F0007FF89FFD80006000A0001FFEC
|
| 173 |
+
039006CFF81FFDCFF65001AFED6FFD2FFFD0019FF97FF97FFE5FFED00120016
|
| 174 |
+
3F1FFEEFEF700190011FFA4FF05FFACFF690005FFC30014FFEB0097FFE5FFDF
|
| 175 |
+
3F1002A0026FF9D007000950010004CFF14FFDBFFD4FFEDFFFAFFE5002AFFD5
|
| 176 |
+
003FFF80020FFF2001AFFD9007A008BFFF2FFC1FFD4001A0042FFD0FFE10015
|
| 177 |
+
020FFCDFF64FFB70036FF50002A0002FF6DFFDAFF940058FFD1FF8AFFE7005F
|
| 178 |
+
3F4006300300043FFC50071FFE4FFA7006A00210017FFC30013000B003F0094
|
| 179 |
+
017FFBA0066FF77FFBA0025FDC2FFED00B0FFEDFFC60046000D0049FFC7FFE0
|
| 180 |
+
3FBFFF9FFE2FFA7FFC800EDFF1C000300C6FF43000AFFDCFFE500CD004B000C
|
| 181 |
+
031FF86002FFFCC0023FF850085FFD1FF8BFFBA0013FF9000440000FFFA0009
|
| 182 |
+
3C4002FFF46000EFF9E001EFF350024FFAEFFB0FFD90019000DFFB4FFF5FFE6
|
| 183 |
+
3D0FFBBFFAD0054FFCBFF7F0095FFFDFFFDFFE5FFE500880036FFB6FF800034
|
| 184 |
+
36EFFD400400018FFAAFFDFFF93FFA3FFAA0028FFFDFFEF0023FFC7FFF7009E
|
| 185 |
+
38AFFCCFFFE00040024FF62005AFFE3FF61FFB40016001A002EFF9EFFD6FFE5
|
| 186 |
+
3ECFFD6FF6F004C00210012003CFF68004BFFB6FFF1FFC6002B0025FF45FFFB
|
| 187 |
+
3C8FFEDFF6B00490025000D00E8FFDE005A0034FF9DFF8F0005FFFBFFF5FFDF
|
| 188 |
+
393FFD700E10081FF25003F00B9FFCA005C0014FF8BFF31000E0052FF830035
|
| 189 |
+
0870013FF8000A0003700210012FFAC0002FF82FFC2FFBDFFE8FF9C0006FF6B
|
| 190 |
+
3F6FF53FEC4FF8D001F001EFF80FFD1005F0058FF42FFB0004300400000FFAE
|
| 191 |
+
3E800D9000DFF5EFFB9FF93FFC4FF58004BFFD5001400260036FFD2FF8DFFF0
|
| 192 |
+
367FFEE005B0031FF7E00BBFEA10017FFB100290000FF9DFFF7006A0075000A
|
| 193 |
+
02B001BFF5AFF0EFF59FE2FFFE10096FFCD0070FFB2003E003E0039FFF5FFF0
|
| 194 |
+
022000E0051002DFFEB001900A9FFBCFFC9FFD4FFF90006FF63FFBC0017001C
|
| 195 |
+
387FF71FFF4FFFE0018FF920036FFCA005DFFFE0077FFFE00320076FFDA007E
|
| 196 |
+
00FFFAAFFC4002EFF860006002CFFC1FF18FF5500BFFFDBFFCEFFD6FF520080
|
| 197 |
+
04D009300B50040FFD0002E0092000FFFACFFB60000FFACFF75FF80FF380089
|
| 198 |
+
3AFFFDCFFD600200003FF7BFFE1000E00360031FF2C0010FFD300300061FF99
|
| 199 |
+
08AFF72FFF4FFCA000F00500178001C004E0010FF83009BFFE0FF95FFD6FE4C
|
| 200 |
+
3FCFFACFF7E00000078FF97FF7DFF86FFA2FF50FFFDFF89FFC30024FF1F005A
|
| 201 |
+
377FF9EFF66FFDEFFEEFF560057FF38FF8300090055FFEEFFF0001A00A1005B
|
| 202 |
+
012FF77FFADFFD10027FFCF002D000D0023FF93FEC30094FFF8FFEF009C0094
|
| 203 |
+
013FF46FFDF00500012FF710032FFF1FFB50035009B000D0032FFE9000C0015
|
| 204 |
+
3D80043000B003EFFD7FF5EFF5CFF84FF7E0035FFFFFFBEFF87002E00E200AD
|
| 205 |
+
2FFFF3AFF3A0030000B0014001BFFF1001D00140052FF9FFFA7FFF0FF630025
|
| 206 |
+
360FF99FE7700010028FFD00090FFB60009FFF700100007FF6F003FFFEC0011
|
| 207 |
+
02D00060050003AFFEBFE8EFFF800770040FF6F0020FFDF00090036FF2C0053
|
| 208 |
+
3830039FF810027FFE3FFA3FFE1FF0E00480020008CFFBEFFADFFEFFF8900F5
|
| 209 |
+
03CFFB4003EFFBD00120051004A0066FFC70034001AFFE9003AFFDB0019FFBC
|
| 210 |
+
3D6FF76FFD7FEF80013FF5C00810009FFE8FF7EFFAD0056FFF40005FECAFF6D
|
| 211 |
+
3A4FF7EFF80FFE50014FFC5FFD3FFA0FF67FFA10065001E0018FFECFFA8003A
|
| 212 |
+
35FFF330010FF650030FF910011FF770064FF97FF7C0054FFBD0012005B0070
|
| 213 |
+
3C2FFAE0030005400040000FF89FF56FF8C00280023FFECFFEEFFF0FFA8001F
|
| 214 |
+
32BFFE6FF41FFF800130003FF7F0056FFFB0045FE650000FFD4FFE3FFDAFF2E
|
| 215 |
+
376FF1D0022000D006B009C00420012FFFD000AFFDA007AFFEAFFD3FFDDFFC7
|
| 216 |
+
3C20019FEFDFFDDFFFDFE850058FFD9005E008EFFC3002AFF9F0008FFAFFF37
|
| 217 |
+
3CDFFF0FF62FFF2FFC8000C00C7002E00930020FEEC004000010019FFE0FF48
|
| 218 |
+
04500AD00D00067000A0045FFCFFF8FFFB60021008B002A00170015FFA7001C
|
| 219 |
+
0C9007000070013FFDBFF77004A000AFEF8FF6C0031FFBC0000FFB6FF650049
|
| 220 |
+
041FFFBFFD0007DFF9A00570020000DFE84FFEA0088FFDF0008FFE1FF57FFAE
|
| 221 |
+
0D9007400B6FFDB001DFF4DFF6E0089005AFF080057FFA900300026FF9A004C
|
| 222 |
+
3AEFF4FFED40006FF88003FFEE6FF65FFABFF370014FF9DFF9FFFCAFF540084
|
| 223 |
+
042FF4A000000BC0032FF4700350017002C000BFFF00045FFD4FFCAFF58FFDA
|
| 224 |
+
3AFFF3BFF66FFA0FFEBFEE30112FF6F00070058FFDA000FFFBF007DFF72008F
|
| 225 |
+
045FFD8FF0D0095FFBBFF44FF5B005AFFEF0040FFE6FFD6FFC50029005CFFE4
|
| 226 |
+
064FF9B014C00B3FFB1FFD3FF3DFFD9003C001700AC003800090022FFCE005B
|
| 227 |
+
37A00050012FFE90014000F0002FF7FFFC20020003DFFDD0027FFCE008C006B
|
| 228 |
+
3E0FFF5FFE7004FFFCEFFE3FFA80038FEF7FFB500DA00590005FFDEFE9CFFAD
|
| 229 |
+
04200BE00200015FFB600110044000BFF8CFFF0008700C3FFE4FFC0FF490039
|
| 230 |
+
373FF97FFD4FF8DFFA4FFE4FF90FFE6006B001BFFBEFFEC0022000AFEFBFFE8
|
| 231 |
+
0BFFEA8FF6DFFC5003D0005FFEF00450025FFE8FF800011FFFBFFF10037FF68
|
| 232 |
+
3EE0050FFBA00490026FFAD0074FFDCFFF4001C007CFF9D001FFFFA0026FFB1
|
| 233 |
+
308FFE6FFF70054FFAAFEE1FFD9FFE60020FFFE004EFFB9FFFF0023FEBF0001
|
| 234 |
+
0250099FF42FFF6FF9D0081FEC00017FFECFFA2FF7100500004FFFEFFF10013
|
| 235 |
+
3EFFFF2005F001C0001FFD200A1FFD7FF910007004BFFF5000C001EFF59FFDC
|
| 236 |
+
3B0FFC300840051FFD9FF63FFE7FFD2FFEE004D0012FFFA0005FFFEFFDD0044
|
| 237 |
+
389FF56FF6E000D00070062FFB8FFC0FF42001FFFF9FFC8000CFFEB0048FFF1
|
| 238 |
+
05AFFA6FF82003100140030FFD4FFB2FFFB006AFFB00013FFEA0037FFD0002D
|
| 239 |
+
034002CFFA1FF000025003200A200290007FF860075FFD3FFDFFFACFFD3002F
|
| 240 |
+
00C00CAFFC5FFE4FFCCFF4700D8FF82FF8C00010056FFD6FFFAFFC00058FFFD
|
| 241 |
+
3FAFFD100840043FFE200360061002F003FFFE7FFBF00210000FFF60085FFC3
|
| 242 |
+
3A1FF9D0043FFBA0022FFEFFF51003BFF42FFDEFFD4FFBBFFC0001DFF2FFFC1
|
| 243 |
+
039002BFFF8FFD10042FF7FFFD9FFF7FFF700090043006D006D0034FF24FF94
|
| 244 |
+
3EFFF640010FFB1FFBEFFB7FF31FF99FFCEFF75FF47003FFFBBFFD9FF840094
|
| 245 |
+
3E800660092FFE2000100120031FFB9FF9DFFFC008BFFAB0009FF7A0085FFE7
|
| 246 |
+
2F3001BFFE0002BFFA10013FF08004100290004FED40000FFF5FFD8FF3AFFDF
|
| 247 |
+
024FF9B0031008B003C004D009AFFF6FFDD009CFF51FFAF0008FFA400D7FFEB
|
| 248 |
+
028FFED0036FFF0FFB500B9FF96FF6AFFC6FFF9FFA30017FFC7001700AEFFEB
|
| 249 |
+
3D1FF3E0024FF9CFF6F0024FFA20039000E0033FF03001EFFED000AFF7E003A
|
| 250 |
+
0010068FFD000420022FFDC00DFFFA4FFDAFFCD00BDFFD90025001D00200003
|
| 251 |
+
00D005EFFE30006FFF8000E005F0006002FFF920012FFAFFFDDFFD9004EFFF1
|
| 252 |
+
3950010FFFF0016FFE3FF450048FFA5004FFF830032FFFAFFE9FFAD00C90007
|
| 253 |
+
0A40047FF96FFD60013FF6CFFED00AAFF72FFF8005DFFE0FFFCFFD80066003A
|
| 254 |
+
3F9FF2CFF53FFBE0025FF9EFFA1FFB6004B0003FFDAFFE7FFEC001EFFCB0089
|
| 255 |
+
3FBFF68FF84FFF60009FFE8FFD70024FFE40022FFC50007000500170056FF66
|
| 256 |
+
375FF57FF70008E0002FF41FF3BFF6CFF4E003EFFC9001AFFCD0054FFDC0044
|
| 257 |
+
08C0059FED6FFF9FFF3FF37FF560079FFA5FFDC001C0060FFD50004FFE9003B
|
| 258 |
+
3E1FF220058014E000E0080002F0019000A0071009A000BFFEFFFE6FF68001C
|
| 259 |
+
3C0FFDE002FFF4A000FFED60081FF47FF7DFFF00018FFF0FFB1FFF900D30055
|
| 260 |
+
39BFFF200B4008DFFCBFFF4FE4DFFFC00210025FFD100670031005D0062FFB8
|
| 261 |
+
3FE007D00A2005B00320099017B0034FFE4FFF300680093FFF0FFDDFF00001D
|
| 262 |
+
00FFF5C00B0FFA0FFEEFFE6FD9800050040FFE40019005A001E002CFF370036
|
| 263 |
+
002FF43009CFF80FFEAFFCEFEE0FFE6FFADFFBCFF90000CFFAA002D005E0066
|
| 264 |
+
0370052002AFF22001600BD00B3FFE6FF21FFEF0072FFB8002FFF8E0075FFF2
|
| 265 |
+
3790028FFCD00C9FF3AFFE1FEC2005EFFC70044FFA7FFCF0031000BFF9EFFBF
|
| 266 |
+
3E0FFFFFFF8FFF9FF24FFC5FFE00030008BFFF800640038FFD60042FF88FFE5
|
| 267 |
+
39800320107007FFFD0FF12FDC8FF68001A0047FF990047FFEAFFCC0026FFBB
|
| 268 |
+
2D4FFB3003E004FFFC4FF25FFACFFE8002E000DFFC400090012FFFAFF7FFFD1
|
| 269 |
+
399FFFFFF50FFB0FFF30060FFB7FF91FFF9FFFAFF9EFFB7001CFFEF00650032
|
| 270 |
+
3F1FF89FF5E00800063FFD30075FFCB001D0048000C002C001E005CFF6E0020
|
| 271 |
+
0170070FFC5FE900078FFDBFFE7008AFEF6FFAB004DFFFA0016FF77011F000C
|
| 272 |
+
04F006AFFD7FFCA000BFF5B00CBFF57FFB0FFD50004FFDBFFE2001300960020
|
| 273 |
+
3C8FFCD0084FFAC0000005900AFFFBF00620019FF97000EFFC8FFFA003C00A3
|
| 274 |
+
329000BFFFB005CFFA6FED8FF55FFF1001C00540038FFDCFFCF001EFFD6FFDE
|
| 275 |
+
3E0002AFF8D0024FFF1FFE6FDF7FF160063FFC1FFDF00510017005A005CFF9E
|
| 276 |
+
3D7FFA00029FFC8FFAF00A10048FFFF0064FF930010002DFFE90024FED3002E
|
| 277 |
+
0300014FFBCFDE4FFCE005A0041FFD6FFC3FFCA005DFFB3001BFFBFFF6E0003
|
| 278 |
+
30AFFCFFF8DFF9DFFC3001D0025003FFFFD0011FF78004BFFFE0018FEA6FFF6
|
| 279 |
+
0780039FF89FFD4000400A700C7FFB50044FFE4FFFC00630056FFE5006D0011
|
| 280 |
+
3FCFF070053FFFEFF68FF42FF1BFFCD0095002D0010FFFD0015004700830055
|
| 281 |
+
01BFEC3FFC6FF7F0024FFD9FEED0043FF5CFFDFFFD90022FFCD0033FF350066
|
| 282 |
+
049FFD6FF1600890017FFCC000CFF3EFFCDFFB5FFE900050013002600B0FFAB
|
| 283 |
+
008FFA1001A0028FFF9FF97004EFFAC0024FFFFFFAFFFC1FFF4FFD8FFE9FFE1
|
| 284 |
+
3E1FFCE009EFFFFFF90FF7E0032FF7CFFC00021FFF60099002AFFFDFF310006
|
| 285 |
+
0850050FF13FF4F00370030FFF60091002FFFE1001EFFFA002FFF5EFFC2FFC2
|
| 286 |
+
3C9FF4AFEE0003DFFFA0011FFE3FFB800380093FF5600160048003CFF77FFC1
|
| 287 |
+
3D4FFFB000900120028FF70FF3DFFCA00190000FFF70042000FFFCFFFCF0007
|
| 288 |
+
36C0005FFBA0064FFBCFEBEFFCDFF8FFF6AFFEAFF520018FFE8006DFF390055
|
| 289 |
+
39BFFB6004AFFDAFFF2007100ABFF7A00040036FFEEFFC70068FF84FFD1000D
|
| 290 |
+
02DFFDB00BB007C001201000123009EFF2A0079FFE800A1FFDA0001001E0004
|
| 291 |
+
07FFFAA0015FFA4FFE70067FFE600BAFF57FFA7FFEFFF8F0004FFEDFFEAFFD3
|
| 292 |
+
01A0024FEAE0015FFF6FEB7FF8EFFAE0024FFE600080024FF85FEFCFF3DFFEF
|
| 293 |
+
32A000DFEBCFFC4FFF8FE77FFEB0057003F001A000200B3FF10FF3DFFB30027
|
| 294 |
+
30F00400028FFC40009FF76FF88FF74FE7FFFE8FFF5FFCE005C0064FFC8FF94
|
| 295 |
+
346009CFE790063001200CD00180067002800330013006FFFF7FE91001A0082
|
| 296 |
+
01BFFCC01340031FFCC01A000F9004D0040FFFE000D0051FFF3FFDA0053001C
|
| 297 |
+
0550015000DFFA6FFE4FF92FFC2FFC4FFDF00360003FFBAFE6CFF650030FFE9
|
| 298 |
+
3A0FFD100230006000EFF33FF66FF76FFF70003FFE9002FFED800590054003A
|
| 299 |
+
06DFFFE0061FF8A0014FFF3FFB1FFC8FF5C003900530016001A0043FF9D001A
|
| 300 |
+
37BFFA1FFB5FFBF001B000F0013FFF0FFCAFFD8FFFFFFF6FFCC00500041FFB5
|
| 301 |
+
033FF65FF5FFF5FFFE0FF67FFA50017FFBE00520039FFB0FFD8FFDAFFF3FFFB
|
| 302 |
+
00B000800610069001E0180011A0090FF120048000B000E0125000E0028FFD9
|
| 303 |
+
3A100100050FFE6FFE0FFDDFFCAFF980025FFBCFFEEFFC8FFBF0036FFB6FFCC
|
| 304 |
+
3C3FFE00112FF93001AFF63FED6FFA3FF5AFFF2FFF90046FF00FF8D0002FFA5
|
| 305 |
+
065000E0026FF720001FEB9FF2EFFB8006EFFCF0022FF79FEBA000100500004
|
| 306 |
+
3B5002BFF0F0064FFDBFF68FFAFFF410034FFC6FFD500350031008100770069
|
| 307 |
+
0B20044FEC6001AFFE2FE2EFED100510007FFC000430028FE90FF66FFA40030
|
| 308 |
+
3B1006000310046FFED0007FFFAFF4CFF310069000A002D00120071005EFFDF
|
| 309 |
+
3D5005500CD0050FFDD0074FFEE001CFFB8FF9A0011FF91001E00A60033000A
|
| 310 |
+
3D8FFC500B90004000C0012FF9AFFAD0080FFFE0001FFD4FFB400410069FFD7
|
| 311 |
+
04CFFEAFF5EFFECFFFD00BB001BFFD7FF43001700540035009BFFE600250055
|
| 312 |
+
363FF5EFF98004FFFE2FFBAFF35FF7DFFD5FFB8FFEE003BFEB9FF7F003C002E
|
| 313 |
+
3E5FFD8FFDBFF9FFFFFFDC5FEEF00AF003D0025FFF70008FFBB002200190014
|
| 314 |
+
048001B007B0004000400B2004E00420047FFD40001FFF0005B007500210005
|
| 315 |
+
05F0046FFF9FFEE0027001C0028FF140073FFE8000AFFA7FFF900350020FFC1
|
| 316 |
+
01800320042002B002300230021FF9F00C8FFD1FFC90005001200740043FFD8
|
| 317 |
+
3EFFFDF0012005CFFEC00C700E1000CFFFFFFEAFFE6000100E300290005005A
|
| 318 |
+
03EFFCD0034FFAB003200560057FF3D00290045FF590074FF3DFFB4FFF10041
|
| 319 |
+
3E7FF93FF50FFEE0011FF07FFD70084FFFEFFEC0001002FFEB900770025FFCB
|
| 320 |
+
34BFFB0000D005E001E007E005700880027FFC9FF9B0020FFFC000CFFC70048
|
| 321 |
+
3A3FFF9FFF8FFA300480058002D0005005000510002FF61FFE5FFDFFF8CFFF0
|
| 322 |
+
05BFFD60052FFD5FFD300060029003CFF3D000DFFB3005B00CA00C0FFCBFFD0
|
| 323 |
+
06AFFFC0064FFB0001B003FFFC70024FFBDFFE0FFF3FF6FFFB90014FF85FFD5
|
| 324 |
+
3DB0002FE9FFFFFFFAEFFFA001000ACFF3FFF480040FFF0FF2EFEAB002B0029
|
| 325 |
+
356FFC1FFB30076FFB4003900010044FF7E0051FFC80024FFA9FF80FF3D0033
|
| 326 |
+
3520008FF75FF5C00320059FF3EFFCCFF89002E0023FF81FF61FF7AFFD6FF9E
|
| 327 |
+
330008BFF8DFF98001800A20023003A0021FFE70063FFE0FF8DFF11004A001C
|
| 328 |
+
0C000000051004FFFDEFFD0FFCA00070032FF64FFFBFFB20078FFCBFFE5FFD3
|
| 329 |
+
037FFFEFF7BFFE400040053FF3DFFE40023006C0005FFBDFEE2FFB10040FFBD
|
| 330 |
+
37DFF26FFE6FF8EFFC9FF770022FF5700040042FFB1002CFFE0007AFFC80002
|
| 331 |
+
385FFE00063FF79001F001A0036FEF4FFED0024FFE3FFED007BFF38FFCFFFE0
|
| 332 |
+
3F70001FFFCFFE10041FF3CFF980003FFC50038FFF5FF73FFC300330005FFA4
|
| 333 |
+
33CFFA2FE77FFE1FFC8FFADFF71FFEF0009FFB8FFEBFFAFFF9DFFDE00C4FFF7
|
| 334 |
+
392FFC2FFC80032000DFEFAFF9E0032000A000EFFFD006B005FFFFC0030FFDE
|
| 335 |
+
06800300078FFEEFFFA0033FF0600340015FFF1FFE6FF9C0039002BFF71FFD6
|
| 336 |
+
01B002400DFFFD60041FF60FF0EFF5A002A0006002E002DFE69FF03008CFFEA
|
| 337 |
+
066FFE7FFC4FFC2004A003800C600080033FFFF001AFFC40047FFD7FFDCFFAC
|
| 338 |
+
331001100360028FFD3003FFFCFFF32FFE4FF780013000B00470082001A004C
|
| 339 |
+
03B0016FF4FFFAFFFDC0032FF80FFFDFFF3FF830053005AFF85FF9E004CFFFB
|
| 340 |
+
3ADFFD30046FFA8FFB9FF5AFFAA0019FF90FFC6FFE3004AFFED00AFFFA5000A
|
| 341 |
+
0370047009B004F002BFFEAFF48FFDF0024FFE6FFFBFFBE0018003BFFFEFFE3
|
| 342 |
+
3DFFFABFFD300190009FFFFFFF7002300350021FFD4FF8DFFD9FFDE0036000E
|
| 343 |
+
3CAFFC3FF3C0006FFD90015FFE20033FF65006400170071FFF2FFAFFFF80029
|
| 344 |
+
305000AFFE00026FFCF005F0055FFEDFFC4FF9A0008002700090016001C002C
|
| 345 |
+
3DAFFDBFF9CFFEE0018FF3FFF46FFF10008005A0018FFDDFF31FFBA001E0044
|
| 346 |
+
0CE00030031000F0011FFBCFF6C0059001B0029FFFBFF7600230045006FFFFC
|
| 347 |
+
09E0038FFB4FFA6FFE40000000B0031004BFFF0001F001700C4FFE70062FFB1
|
| 348 |
+
09EFFE3FFBE004BFFCFFFD8FFF20028005BFFE4FFF1001EFFBA0032FFE90014
|
| 349 |
+
05BFFE1006200080015000D00320011FFF90014FFF8FFEA00B300180018FFF7
|
| 350 |
+
3F4FFCF003000060005FFF0FFB3003BFFDB008DFF200009FFEEFFFAFFC0FFCB
|
| 351 |
+
3CFFFA6FF0C0048FFECFFC2FF16FF59FFE2FFB3FFCCFFF1FF4E0039003C0026
|
| 352 |
+
332001CFF3AFF97FFF400B300450063FF5FFEE3FFBA0018FFF90024FFCC008C
|
| 353 |
+
039FFF000110098002AFFBEFF5BFFEF0114FFDBFFF4FF57FF92FFFBFE5A0021
|
| 354 |
+
068FFE00073FF970003FFE0006800B8FE98008AFFF10011001300370007FFE4
|
| 355 |
+
09000480074FFBF0064FFC60069FF880055FFCFFFFCFF9800310018FE2AFFAC
|
| 356 |
+
33DFFE7007CFEFFFFC1FFF5FFD1003FFE9EFFA60012FFF9006AFFFA0069FFFB
|
| 357 |
+
314001D00B20015FFA9001C0069FFE1FEAB0007FFC1001900520016FF060001
|
| 358 |
+
36F0022FEFF001F0022006CFF4B0081007AFFEDFFDCFF94FFD0000AFF580036
|
| 359 |
+
38E0045FFA9FF5C001C001C0004FFEE0050001E00260023FF4AFFB90050FFD2
|
| 360 |
+
0F50005005D0060FFC0FFA9FF27FF6B0017FF88001FFFB7FF8FFF97FFBC0008
|
| 361 |
+
38F0003FF9200CA0004FF6FFFC8004E0075007DFFCBFFB2FF02FFDE0038FFB0
|
| 362 |
+
38AFF23FFAAFF4CFFE800B0006D0038FF8D0085FFD30001FFE2FFCE000AFFF9
|
| 363 |
+
3C0FFB100AAFFB40025000800F700C90066003DFFAD000B0127FFEC005BFFF6
|
| 364 |
+
00C000D001900AA0050FFB9FF9AFFD9006A0079FFD3FF3FFFE3FFFEFFDEFFD1
|
| 365 |
+
28CFFC8FF07FFFAFF87FFE8FFB40022FFA3FFAB0005FFE2FF34FFC8018D0051
|
| 366 |
+
02EFFE7FF1500190051FF7FFFAA0030003E00190048000FFFD5FFF8FFEAFFD5
|
| 367 |
+
061002F007D003A00320000FF2A0077006AFF95FFEBFFCD0010FFFEFE52FF9C
|
| 368 |
+
365001CFFA0FFD6001BFFB5FF26FF8400C10025000C0004FF2BFFE20071FFF9
|
| 369 |
+
0E60006FFF40063003600A8FFE9002E00810070000EFFB900C6FFD6FD98FF7D
|
| 370 |
+
350000E00470023000DFFD50043FFECFFEC0032003CFFEC000EFF9200C9FFF0
|
| 371 |
+
2E8FFF50074FF8F00080041005FFF6F0012FFC5FFFFFFEA0093000100B10011
|
| 372 |
+
35EFFE8FFCFFE850012FFD200230082FFCB000DFFCD000BFF8CFFE4FFFBFFED
|
| 373 |
+
0870037FF76002DFFEE0037FF04FFFB006FFFFDFFE1FFA0002EFFB5FE8B0021
|
| 374 |
+
024FFCEFE71000200250001FFC8FF2F0087FFBBFFEDFFA0FF8DFF9300090011
|
| 375 |
+
36E0018FD1F008CFFD1FE1DFF88FF91006AFFEBFFD20005FFF1FF6D00BA002D
|
| 376 |
+
3B1FFE000E3003B0016000700C8002EFFC9000F002E0088FFE0002700A1FFCE
|
| 377 |
+
01B003CFE5CFFDA001300D8FF0BFFD20073FFEA000AFFA3FFAC0016FEC4001A
|
| 378 |
+
0BF0026FEB0003B0015FFC9FF66002F006E0022FFE3FF87FFF4FFBC00AC001B
|
| 379 |
+
001000DFF24002FFFCDFFBF002F005E005FFF8B0020003D0025FF8D005FFFA0
|
| 380 |
+
3A7FFA3FF8E0061FFDC00110024FF9AFFCEFF66000A000700BA0034FF84FFF7
|
| 381 |
+
090FFD9FF33FFEFFFDE0076FEAAFFEC00980000FF86FFAEFFECFF9BFE9A002F
|
| 382 |
+
38DFFCBFFA100830017FF5BFFC9FF73FFF80046FFA70032FF8CFFC10030FFC4
|
| 383 |
+
31C0006FFDB0082FFA000C100710015FFE6FFCB0022000B0047001B01480065
|
| 384 |
+
329FFE0FFC3FFE2FFD8FFE6FFCCFFBBFF37FF81FFEB0019FF940055FF9F0049
|
| 385 |
+
377002BFF13FFC2FFDA00010063FEE8FFEEFFF0FFEB00210059FF9C00090014
|
| 386 |
+
01EFFD7FFFC0032FFE4003D0031FFF3FF940057001B00BDFFFB008500310030
|
| 387 |
+
021FFBDFFD2FFD4FFD300A3FFD0FFAEFF87FFA5000B008B004EFFAF0002FFD9
|
| 388 |
+
3EBFFF5004EFFAF000AFF880078FEF90067002FFFECFFC000480012FF080011
|
| 389 |
+
054005400CAFFDF000F003200C60047007D007D0004004DFFE3FFB800300032
|
| 390 |
+
3CFFF97FF30FFD500110099FFDFFFB3FF30FFDC0013000FFF660031FFE4FFB4
|
| 391 |
+
3D20050FF32002F00230020003200000001FFEDFFE1002DFFBCFFE4FFD4FFEE
|
| 392 |
+
008007CFF10FFFFFFC20175FFDEFFAC002FFFFE0017002C0025007DFFB80039
|
| 393 |
+
398FFDDFFFBFF8FFFD8FEE8FF04FFA2FFD7FFE1FFEDFF850035FFD3FFF4003B
|
| 394 |
+
053FFCEFFAF00690034FF290020009000420021001BFFE7FFAB000CFFC2FFFE
|
| 395 |
+
3D30033FF55FFE60008FF93FF83007AFFE00049001C0064FFC3FFF2FFCF0005
|
| 396 |
+
3B0FFF60087FF95FFF30012FF52FFB0FFFCFFC8000A004400230034FFAA0018
|
| 397 |
+
0890004FF19FF4BFFCDFFC00009FFE6FF700016003B00230019FF850047FFB5
|
| 398 |
+
008FFE6004F0072FFDF003AFF8FFFCEFFCDFFDAFFE6FF9D007E005A0029FFE2
|
| 399 |
+
380FFE6FFB0FFA2FFE200640061FFE1001DFF8AFFF0FF970001FFD80060FFE5
|
| 400 |
+
02F000E00F0FF88FFF100A90028FFDDFFA4FFC00018FFC2FFCFFFD6FFEAFFDC
|
| 401 |
+
0170049FF98FFA20001FF9C0015FF320031FFA9FFEA0027FEDEFFBD0006FFCA
|
| 402 |
+
00D003F0061004E0032FFF2FF2100AEFFBFFFE1FFA4FF90FFE800170003FF65
|
| 403 |
+
359000BFFA5FFC6000CFED2FF7AFF26FFD60053001B0014FFDE0005FFA5FFEF
|
| 404 |
+
063FFDCFF9E0025000EFF1B00230046FFA3003EFFF30009FF8A004B0047FFEE
|
| 405 |
+
3B8FFE3001FFFF3FFD400AAFFFEFFFFFFC5FF9F0000FFABFF620041FFAF000F
|
| 406 |
+
0080009011C005C00150022FFD5FF9B003AFFA9FFFB0021FFB400180033FF63
|
| 407 |
+
3E50050FF91FFE1FFFEFFE6FF91FF8BFF89FFBBFFE9008C0079006E0026FFAB
|
| 408 |
+
04BFFC9FFA8007BFFD700C4FF14FF8BFFDCFF4FFFC500A3FF52003E0008FF4F
|
| 409 |
+
000FF1EFFD6FFC60018FF53001800040039FFE40011FFDFFED5FFBF0041FF86
|
| 410 |
+
3FBFFE5004F0044000B0046FF7DFFC70005FFF1FFF9000CFFFE009CFFE5001D
|
| 411 |
+
05D002200180017000D001100A4FEB80030FFB5FFECFF5200200003FF880012
|
| 412 |
+
0620077FF9D0058001AFFE9006CFFB600720026000EFF61FFE3FFDDFF2F0046
|
| 413 |
+
3A2FFF9FFD10083FFF1FFC0FFE5FFDB0059FFC8000DFFEA00930005001F005E
|
| 414 |
+
3BA000E000EFFE40015FFF3FFDCFF01FFD5FFC5FFCE0072FFC0000AFF35004E
|
| 415 |
+
037FFE00067FF9A0005FFCBFFE000FDFFA2FFFEFFEB004DFF17FFFBFFB3FF8B
|
| 416 |
+
08C0005FE99FF8C000DFFDFFF9CFFDDFFE8001BFFADFF9E009B000DFFD3FFF3
|
| 417 |
+
318004FFF4CFFB4000F0069001C004BFFD6FFCA0013FFDBFFEBFFC1FFFE0005
|
| 418 |
+
090FFD10066FFC6FFC0FFA0FFA7FFE3FFF40008FFE6004BFFE90039FFC1004E
|
| 419 |
+
3E90031003FFFF1FFE6FFE1FFC7FFF6FFB1000CFFFD001B0000FFE6001B0008
|
| 420 |
+
3FDFFF5002EFFB0FFFC0090FFBC0042FFA9FFE7FFE7001CFFB7FFE1FFF2FFEF
|
| 421 |
+
0A700050081007DFFE400300002001E0019009FFFF0006E003A002CFFF8001D
|
| 422 |
+
00DFFA9FFD7FFD700310039FFD9FFAAFF88FFEB0034FFDFFFB8FFCAFFE2FFB5
|
| 423 |
+
3E2FFEAFF61FFFF002F0021004DFF95FFD9FF7D0054FFDAFF6800020040FFE8
|
| 424 |
+
3BE003800500055FFE70066FFE4FF0DFFD00010FFF20042FFE2FFF100490033
|
| 425 |
+
3F9003DFFCBFFD40001006600130005FFB9FFF3FFF00030002DFFB6FFF70029
|
| 426 |
+
040FFE6FF60FF8FFFEEFF8000740033FFB10051FFE5FFE6FF95FFD6FF75FFC1
|
| 427 |
+
3E2FFB2004CFFFA000F0062FF8BFF7BFFB70001FFD5000C003CFF8BFFED0014
|
| 428 |
+
3B2002FFFE6FFDA0006FF90FFBA0004FFD500080005FFB9FFCDFFE4FFBA000F
|
| 429 |
+
3EC0023FEAAFFD5FFD5FFDFFFC7FFF6FFDFFFBBFFF1FFC1FFBDFFBF00010014
|
| 430 |
+
009FFD6FF8EFFE90001FF61FF7CFFE4003AFFF9FFFDFFBA0018001A000FFFD7
|
| 431 |
+
3DF000D0026000EFFE4008BFFF5001FFFD1FFA7FFFBFFD70054FF9D001CFFD7
|
| 432 |
+
04F002300C9FF8F001C00100032FFB30013FFD0002CFF71FFEDFFBE0042FFD4
|
| 433 |
+
036FFDA0040FFE30021000EFFD4FFBFFFE9FFA9FFF4000DFFC400570017FFF4
|
| 434 |
+
3BBFFE5008CFF7FFFF8FFAAFF80FF90FF48FFBBFFEAFFD9FF9AFFC8FFDEFFC5
|
| 435 |
+
003FFCCFF83FF5BFFFC0091FFF40000FFFAFF88FFF1FFEFFFDCFF9B0014FF92
|
| 436 |
+
01E00070001FF93FFFEFFCE006100CEFFFEFFD2001B00180032FFFBFFD7FFF2
|
| 437 |
+
3D7FFDF009900050003FFAFFFCDFF8C0005FFFF0007FFF9FFDE000500010007
|
| 438 |
+
003FF9CFFCD0047000BFFBEFFB0FF9AFFC8FF7DFFEEFF91FFE6FFEFFFD1FFDF
|
| 439 |
+
00C0004001C004EFFF40027FFE2FECEFFCBFFD700370016005A00230064FFFA
|
| 440 |
+
3A20032FFE7FFC1FFD00047FFEDFFC5FFE4FFB3FFE30010002A000AFFC00001
|
| 441 |
+
3A5FF39005F005F0036FF9CFFC6FF77FFECFF8A001F0008FFCE002F002FFFAA
|
| 442 |
+
03E0000FFF50063001FFF8BFF3BFFAEFFE900660019FFB9FF850012002AFFF6
|
| 443 |
+
045000FFFDCFFE8FFD1FFC10057FFD7FFDE000A001B0029002CFFDD002EFFE9
|
| 444 |
+
3D900540000006BFFCFFFFDFFB1FF2AFF86004F00100018FEE1FFDAFFCF0079
|
| 445 |
+
315003D00740014002F0001FFE50015FFDBFFEA002C002B0084FFFC004F0014
|
| 446 |
+
34A0038FFC7FFC5FFF2FFE0FF450047FF86FFF9FFB2001BFFB4FFF8FF8BFFC9
|
| 447 |
+
04D0004FFAC0042FFE7FFC0FEE9FFA0FFA2FFB9FFBEFFA6FF91FFF7FF6C0013
|
| 448 |
+
01C0041FFBCFF5EFFC9003FFF820018FF99FF340003FFD0FFC1FFAEFFC00047
|
| 449 |
+
0400010FFE4FFC7FFCD002B004800560001FFE000020014FFB5FFC6FFD8FFE8
|
| 450 |
+
03BFFE9FFE6FFAE000DFFD500360058000EFFD0004E00100031000DFFBCFFAF
|
| 451 |
+
0A900450069FFBC002FFFF7005C000000130092001EFFD8FF97FFE7FF71FFF5
|
| 452 |
+
3AFFFD3005AFF9B0015FFC0FE6EFFEAFF44FFF6FF9E0039000E004EFFD00044
|
| 453 |
+
043FFF700C4FFE9FFF80037008E005EFFB6FFEDFFFB003A009B004CFFBE0032
|
| 454 |
+
392FFDDFF75002F000FFFB1FFBA007C0060FFCB00040022001BFFF300280014
|
| 455 |
+
3B5FFADFFF0002E000BFF9700AC003B0062FFA8003100410012FFFE0017004C
|
| 456 |
+
0010018003B0011FFF8FF3F0067FFC1001A00200049FFF4FFADFF99008E003F
|
| 457 |
+
330FFC3FF98006CFFDCFF460000FFF900190031FFC20003FFECFFE4FFED005E
|
| 458 |
+
032FFD1FF38FE9A00100057005CFFD4FF7F000EFFEF000500E5FF8BFFA6FF80
|
| 459 |
+
28EFFDE00120094002400030065005CFFF4FFA2FF99FFFD0071FFF000110014
|
| 460 |
+
02DFFBFFF910086FFF7FF40FFCE002E00280054FFDBFFD7FF6DFFE7000DFFC7
|
| 461 |
+
3A90022FE31FFE2FFCCFF26FFB30000FFC8FFBBFFE5FFE9FF87FFF3FFED004B
|
| 462 |
+
3C7FFECFE5A00B60012FF01001600150020FFF50003FFC5FF310004000DFFF1
|
| 463 |
+
04CFFDB00920005000EFFD500190048FFDA0019FFF7000F0040FFCFFFC3FF7D
|
| 464 |
+
0A7FFE8005BFFFB0011FF5B001C003000A5FFEC002DFFADFFFBFFD5005EFFDA
|
| 465 |
+
0BAFFBC00A0FFC50042001D004BFF47003500740035FFFF00580022002DFF52
|
| 466 |
+
3F6FF8400F8FF59FFF5FF730080FFFEFF98FFE60017000AFFE8FF5B000D0042
|
| 467 |
+
36AFFE4000BFFF1FFF6004C005900CFFFFAFFBAFF9DFFA9FFF60006003AFFFC
|
| 468 |
+
37DFFFE0021FEC4002DFFD500370027FFF6FF3AFFFFFFCC0088FF8C001BFF81
|
| 469 |
+
022FF9E00BEFFC3FFFBFFDE0090FFF6006000960030FFFB004CFFDC00200029
|
| 470 |
+
007FFADFE4B003F003CFFEDFF39FF7AFFF6FE95FFCFFFE70009FFE6FFD4FFFB
|
| 471 |
+
379FFB900030032FFBFFF1000660035FFE4FFBA004BFFE6FFF6FFF80012002A
|
| 472 |
+
3C600070035FF510000003C006EFFC0FF87006C000AFFC7FFC2FFE0FFB7001B
|
| 473 |
+
3910037FF7A00CC0000008DFFBEFF150036FF95000D000400670036FFEAFFFC
|
| 474 |
+
03FFFF3FFC10086003AFF20FF89FFE4006700C4FFFEFFEF0014FFE7009C000F
|
| 475 |
+
3C70009FF8A0035FFCEFF870076003BFFE80011001FFFE9FFEFFFCB003CFFD2
|
| 476 |
+
34D0027FFC60007FFE8FF440050FFCBFFB9FFF300080027FFBDFFE200880049
|
| 477 |
+
3ED00120054002F0012000EFF99001C00400049003700310078FFB3007C0020
|
| 478 |
+
325002AFF7600310025FFADFFADFF600001001A001D002AFFFBFFBFFFF1FFB0
|
| 479 |
+
3B7001AFFD9005DFFD1FFC2FFF2FF64FFC20013FFD300070055FFF8006C0034
|
| 480 |
+
3520068FFEEFFE0FFC5FFDBFF960002FF91FF0600120039FFB5FFEFFFD5001E
|
| 481 |
+
3C4FFC1FFD5FF9EFFE0FF0C004BFE82FFB5FF4F0011FFDC0095FFE300100002
|
| 482 |
+
038FFBBFFEF00480021006C001F0042FFDB0015FFC7FFB500190025008E006C
|
| 483 |
+
012FF7EFF13FFC5FFE70094FFE4FF87FF8BFFBA001100F80005FF71FFFC0014
|
| 484 |
+
01AFFB2007BFFFCFFF8FF70000DFFF4FFEB00010001FEADFFAA003EFF320012
|
| 485 |
+
0DD000F010D00640008005F00B4FF5E006CFF91FFF4FF36FF7E007100AEFFF3
|
| 486 |
+
01BFFD4FF2F00790016FFCE00010085FFA2001AFFDB0018FFD800780028FFC6
|
| 487 |
+
020FF15012EFFCE0020FFD0FFFB00810047006E000200410076FFF50017FF18
|
| 488 |
+
0B70063FFCC0012001E00A1FFC9FF82FF85FFDFFFF3FF36FFEAFFC7FFE20050
|
| 489 |
+
005007EFF90FFA0FFF9FF23FF7DFF6EFFD7FFEC0001FF580058000E000EFFF2
|
| 490 |
+
3A4FFFDFFC300D2000FFFD00087FFDC00230062000AFFE700A2FFADFFE3FFDC
|
| 491 |
+
3B70079FF49FFDD000EFF0FFFD800DD003B003FFFE3003AFF8E003EFFE2FFAB
|
| 492 |
+
3E1010AFFF9FF65FFCA007B000BFF5FFFFF00080021007CFFBC002AFFD20036
|
| 493 |
+
0400017FF65FF73FFEB006B0073FFA0FF98FFEE001D0093FF590022FFBFFFC0
|
| 494 |
+
3B900AD00550071FFD900380029FFE0001E00C5000EFFCDFF0BFFF70023FFF5
|
| 495 |
+
3EBFEEDFF54001BFFDE00000056FFD7FFA4FFABFFEFFF86FFF2FF88FFD0004D
|
| 496 |
+
00D005A0028FFEBFFE00076FFD0FEF4FFB3FFA3FFF40043FF7EFFBAFFA70027
|
| 497 |
+
01E00070081FF9EFFD5FFC60060FFDC0032FFC4FFE80072FF80FFFD0014FF98
|
| 498 |
+
0280007007D0001000E0072FFB3007C0003FFE4FFD3FF61000DFF5D0007FECE
|
| 499 |
+
2D6FFF2FF9FFFC0FFE7FF3FFF9EFFB4FF2A0035FFD5FFF1FF660000FFB7FFE8
|
| 500 |
+
376FEC4FFA0002C0015FF9D0079FFAD00590011FFB1FFE900480017008D000F
|
| 501 |
+
3C3FF14004300240029003BFFA0FFA6FFCFFF660013FFC0FFE8FF5DFFF0000A
|
| 502 |
+
0110033004C003EFFF3003C004500840010FFD0FFDE0024FFC7FFEA003DFF00
|
| 503 |
+
066006A0092FF9A0004FFD3FF11FEBEFFAAFFEC000300560083000BFFE2FF6F
|
| 504 |
+
051FF5701140006FFEA0095FF9B007D0008FF9AFFDC0018001C0025002DFFA8
|
| 505 |
+
04E0032000FFFF2FFFC003D00AE0115FFAB0076FFECFFE0009F0058006BFFB2
|
| 506 |
+
369004100720032000FFFDEFFB50006FFD4FFE7FFF60016FFA4001BFFAE00C8
|
| 507 |
+
005FEFFFFC900800004000AFFD0FF370006FFDEFFF4FE91FFD0002DFF580124
|
| 508 |
+
08BFF07FF500068001FFFC9FF800045009AFFB6FFEEFEE500050008FEDF0054
|
| 509 |
+
06C0037004D001DFFE7FF6100A0FF43FFDFFF5E0011FF4CFFAEFFD9FFF4003B
|
| 510 |
+
04FFFB4FFC9FFB7FFBE0013FFC8FFA50012FFEB0012FFE2FF51FFE6FFA900BD
|
| 511 |
+
06700560048FEE80000001C004900920009004BFFF900D10014FFEA0015FF31
|
| 512 |
+
36900D7FF84FF43000AFFE8FFE7FF2200100095002AFFAB006B004DFF7CFFC0
|
| 513 |
+
3B0FFADFF83FF74FFFE001F000700B6FFB9FF840023000B0033FFD5001AFFFD
|
| 514 |
+
05F000FFFE5FFD7FFDBFFB7001A007F001AFFEBFFC2FFCF0050007C00030045
|
| 515 |
+
38FFFF3001BFFCDFFFAFFC0FF8CFFDEFFA0FFD600210049FFE0FFAA000B0019
|
| 516 |
+
31BFF9A003BFFA2FFBD007A004A002FFFDEFF9EFFD7FFE4FFD4000AFFC50003
|
| 517 |
+
0CD003200450074FFDD00A80040002E007DFFBE0011002100D5004D0044001C
|
| 518 |
+
06F001A0034FFE6000CFF4D004DFF6BFFE3FFEEFFE4FFF1FFE4004700060010
|
| 519 |
+
076FF4B008AFF8E00120030FFEE006BFFD4FFE5002C0029FFB3FFD8008CFF0C
|
| 520 |
+
3EE0044FFF7003B002400EE005CFF73FF70FFF1002E00370070FFEBFFF2002A
|
| 521 |
+
3F6006CFFF4FF98000A009DFFFDFFA6FFF5FF80FFFDFFFF007DFFEBFFEE002F
|
| 522 |
+
3BB0066FFB00019FFCAFF5D0060003500010063FFFDFF6E0033FFB7FF0A002F
|
| 523 |
+
3AF001100590038000B001EFFC5FFDE001BFFABFFCBFFF300050043FFC40024
|
| 524 |
+
36B0134FFB3FFB2FFF8FF6FFFEFFF1C000FFFF4002FFFD2FFFA00080043005B
|
| 525 |
+
3E5FFD4FFD80017000E005D000AFFD00021FFF10002002DFF1C001BFF740026
|
| 526 |
+
32100850007FFFBFFDBFF5DFFC70003FF900006FFF7001EFFE60002001E0009
|
| 527 |
+
3E0FF41FFAFFFEFFFCD0129FFD50007FF9EFFDF001F002DFFAEFF49FFF10045
|
| 528 |
+
3E100120058FFC2FFE400A00042FF5EFFEBFFC3000CFFFB00030012FF760004
|
| 529 |
+
382002EFFA2FFCAFFE7000E0022001FFFA40038FFFCFFE4FF7F0037FFFDFFEF
|
| 530 |
+
3E60026FFDDFF44FFC9FFEAFFA9FF940000FFFAFFECFFD40030FF400018FF28
|
| 531 |
+
3C7FFC2001DFFE6FFCD00CDFFD2005BFF5BFF91FFDA0054FFF2FFFBFFB8FFE8
|
| 532 |
+
39CFFEA0018FFBCFFF8FFDD00310065FFEEFFADFFAFFFEC002EFFEDFFE3001B
|
| 533 |
+
39CFF0DFF550008000F002F0034FFB7FFDB004E002C00210003FF8BFFE5003A
|
| 534 |
+
033003BFFB30004FFF0FF9DFFF00020FFC2FF64FFBBFFAFFFA80011FFF4FFA6
|
| 535 |
+
351FFBE0014000EFFE0FFEE0052004BFFACFFEB0044FFC5FFFC003CFF640022
|
| 536 |
+
0410032FFF4002C0007FFB3FFBEFF9C00230047FFBDFFD300C7FFD8FFE9FF6D
|
| 537 |
+
059002F00300001FFE9FF4B006BFF5AFF96FFC1FFE5FFEA0022006E0006FFAF
|
| 538 |
+
37A0049FFCFFFE7000700210004FF7BFF8500610021FFC8FF38FF87FFAB0034
|
| 539 |
+
3FBFF99FF9F0008FFD90053000E0013FFA400760011003AFF4BFFF3FFC200B1
|
| 540 |
+
050FF230011FFE1FFD400BCFFCFFF2BFFDE003F001F002AFEC0FFB3FFA60035
|
| 541 |
+
3B00061FFA7FF27FFFDFFEB00D1FFFAFF9CFFB90024002FFF5DFFF4FFB3FFF6
|
| 542 |
+
0180016000FFFEAFF95FF9B00210089FF6F0001FFF40008FF34FFE10025FFFE
|
| 543 |
+
058FFFF0009007CFFDE0051FFAAFF41001C0066000AFFB8FFF50004FF9A000E
|
| 544 |
+
01900CE00A4FF54FFFDFF84FFBA00270024FFFA0027FF9AFFF10046FFF3FFB5
|
| 545 |
+
065FF66002FFF38FFC1003600000131FFC7FFC7000700620008FFBA008AFFFC
|
| 546 |
+
079000A0035FFBC001F00BF0078FFF8005FFFD2FFEEFFF20087002FFFE80002
|
| 547 |
+
02EFFC8FFC8FFAF0022FF82FF7B0006FFED00B100150012FFD9FF960062FFDD
|
| 548 |
+
323FFECFF8D0046FFFBFF45FE5CFF8D000EFFC2FFAC004EFFFB003DFFE3FFED
|
| 549 |
+
034005800D4002FFFF8006B0027FFDF005EFF10000C001D00DD0044FFB8FFF3
|
| 550 |
+
3BC00600018FFFFFFFFFF6D003EFE6BFFF3FFEDFFC5001B0016004DFFE3FFF8
|
| 551 |
+
018FFFBFFC9FFAC00040056006A0048004A0067FFEC0054FFC4FFD3001C0006
|
| 552 |
+
3BF004D0062FFEE0042FF2C003F00F1FF9300320022004A006B00000005FFA7
|
| 553 |
+
36DFFE80056000AFFBEFED7FF67FDE2FFDE003DFFED0011007900280045002A
|
| 554 |
+
0080070FF0FFF13FFE000930018FFD5004BFF5C000FFFD90049FFD7FFBB0002
|
| 555 |
+
3170005006000B00012FFA700AFFF88FF59FFECFFA20002002C006DFFD3FFF4
|
| 556 |
+
3980079FF83FFEFFFF2FEFFFE5DFEA5FFDD002EFFDAFFBA00580006007C007F
|
| 557 |
+
3A5FF55FF5800290021FF13FFDDFFE5004000470007003AFEFD001EFFB2003E
|
| 558 |
+
3F000A5FF6A0069FFECFF95FEE5FFADFFD7FF5CFFDCFFD3FF66FFA00034007B
|
| 559 |
+
056FF06FFD8FFE3FFD7001B0024FFDFFF6E0076FFF90028FFAAFF81FFCEFFE1
|
| 560 |
+
016FFFC007700030004FF1900720085FFCB001EFFDF002DFFC90035FFDFFFF3
|
| 561 |
+
025000600CEFFC00001FFD6002100DFFFD900B10011FFD7FF7AFFDA003DFFD7
|
| 562 |
+
034FFFDFF40FF07FFBDFFFCFFD9FFA5FFB6004FFFF6003D004DFF66003F0034
|
| 563 |
+
3C1FF75FFBD004CFFD8FFB8FF9E0014FFDBFFDEFFB8FFDA00110036FFD8FFE2
|
| 564 |
+
08A006E002DFFA6000B0086FF840099FFE3FE6BFFCBFFE800150012FFBDFFEE
|
| 565 |
+
037FF6A004EFF64FFF2FF1700A000A6006800D8FFD000450034FF750048FFD7
|
| 566 |
+
07A0072FF5C0037000FFFEAFF58FFDDFFACFE0FFFA0FFEEFFF200100006FFDC
|
| 567 |
+
37FFF650159FF6CFFD6007500A80206FFFEFFC9FFFBFFDBFFE90046001DFFF8
|
| 568 |
+
02A004AFFC7FF940013FF6EFF22FEFA003D00A4FFD7FFB300D7FFC5005EFFEB
|
| 569 |
+
01A006DFF4E003FFFF900E1005DFE64FF6AFFCCFFEF0040002A0016FFC90010
|
| 570 |
+
3F5FFF6FF5B0009FFF9FF41007CFF8DFFE400BDFFFD001B005FFFA1FFDDFFF5
|
| 571 |
+
034FF9FFFE00006FFD8FFC6003F0080FF7800A90016004AFF910003FFE6002D
|
| 572 |
+
022FF800105FFCCFFFCFF700004FFBBFF42FF9F000A0034FF85FFA60007FFDF
|
| 573 |
+
3C6FFCF00CCFF22FFC600290042011CFFC20015FFE50043FF37FFCFFFD9FFEC
|
| 574 |
+
3ABFFD60031007BFFC0FFEA0003FFB8FFC7FF3A0001006A000EFFE800130011
|
| 575 |
+
3FAFFFEFFD80051000AFFD00060FFD3FFE50063000D000A0046FFF1FF9E0000
|
| 576 |
+
034004DFFF2FFC80016FFC0002D001C0093FF8DFFF1FFC800A100080019FFB4
|
myproject_prj/solution1/syn/verilog/myproject_dense_resource_rf_gt_nin_rem0_ap_fixed_ap_fixed_config14_mult_s_w14_ROM_NP_BRdlF.v
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// ==============================================================
|
| 2 |
+
// Generated by Vitis HLS v2024.1
|
| 3 |
+
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
| 4 |
+
// Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.
|
| 5 |
+
// ==============================================================
|
| 6 |
+
`timescale 1 ns / 1 ps
|
| 7 |
+
module myproject_dense_resource_rf_gt_nin_rem0_ap_fixed_ap_fixed_config14_mult_s_w14_ROM_NP_BRdlF (
|
| 8 |
+
address0, ce0, q0,
|
| 9 |
+
reset, clk);
|
| 10 |
+
|
| 11 |
+
parameter DataWidth = 250;
|
| 12 |
+
parameter AddressWidth = 10;
|
| 13 |
+
parameter AddressRange = 576;
|
| 14 |
+
|
| 15 |
+
input[AddressWidth-1:0] address0;
|
| 16 |
+
input ce0;
|
| 17 |
+
output reg[DataWidth-1:0] q0;
|
| 18 |
+
|
| 19 |
+
input reset;
|
| 20 |
+
input clk;
|
| 21 |
+
|
| 22 |
+
|
| 23 |
+
(* rom_style = "block" *)reg [DataWidth-1:0] rom0[0:AddressRange-1];
|
| 24 |
+
|
| 25 |
+
|
| 26 |
+
initial begin
|
| 27 |
+
|
| 28 |
+
$readmemh("./myproject_dense_resource_rf_gt_nin_rem0_ap_fixed_ap_fixed_config14_mult_s_w14_ROM_NP_BRdlF.dat", rom0);
|
| 29 |
+
end
|
| 30 |
+
|
| 31 |
+
|
| 32 |
+
always @(posedge clk)
|
| 33 |
+
begin
|
| 34 |
+
if (ce0)
|
| 35 |
+
begin
|
| 36 |
+
q0 <= rom0[address0];
|
| 37 |
+
end
|
| 38 |
+
end
|
| 39 |
+
|
| 40 |
+
|
| 41 |
+
endmodule
|
| 42 |
+
|
myproject_prj/solution1/syn/verilog/myproject_dense_resource_rf_gt_nin_rem0_ap_fixed_ap_fixed_config19_mult_s_outidx_7_ROM_g0b.v
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// ==============================================================
|
| 2 |
+
// Generated by Vitis HLS v2024.1
|
| 3 |
+
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
| 4 |
+
// Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.
|
| 5 |
+
// ==============================================================
|
| 6 |
+
`timescale 1 ns / 1 ps
|
| 7 |
+
module myproject_dense_resource_rf_gt_nin_rem0_ap_fixed_ap_fixed_config19_mult_s_outidx_7_ROM_g0b (
|
| 8 |
+
address0, ce0, q0,
|
| 9 |
+
reset, clk);
|
| 10 |
+
|
| 11 |
+
parameter DataWidth = 1;
|
| 12 |
+
parameter AddressWidth = 11;
|
| 13 |
+
parameter AddressRange = 1152;
|
| 14 |
+
|
| 15 |
+
input[AddressWidth-1:0] address0;
|
| 16 |
+
input ce0;
|
| 17 |
+
output reg[DataWidth-1:0] q0;
|
| 18 |
+
|
| 19 |
+
input reset;
|
| 20 |
+
input clk;
|
| 21 |
+
|
| 22 |
+
|
| 23 |
+
reg [DataWidth-1:0] rom0[0:AddressRange-1];
|
| 24 |
+
|
| 25 |
+
|
| 26 |
+
initial begin
|
| 27 |
+
|
| 28 |
+
$readmemh("./myproject_dense_resource_rf_gt_nin_rem0_ap_fixed_ap_fixed_config19_mult_s_outidx_7_ROM_g0b.dat", rom0);
|
| 29 |
+
end
|
| 30 |
+
|
| 31 |
+
|
| 32 |
+
always @(posedge clk)
|
| 33 |
+
begin
|
| 34 |
+
if (ce0)
|
| 35 |
+
begin
|
| 36 |
+
q0 <= rom0[address0];
|
| 37 |
+
end
|
| 38 |
+
end
|
| 39 |
+
|
| 40 |
+
|
| 41 |
+
endmodule
|
| 42 |
+
|
myproject_prj/solution1/syn/verilog/myproject_dense_resource_rf_gt_nin_rem0_ap_fixed_ap_fixed_config31_mult_s.v
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
myproject_prj/solution1/syn/verilog/myproject_dense_resource_rf_gt_nin_rem0_ap_fixed_ap_fixed_config37_mult_s_w37_ROM_NP_BRoic.dat
ADDED
|
@@ -0,0 +1,144 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
69B0076FF17FFC9
|
| 2 |
+
6B101EAFFF7011C
|
| 3 |
+
04C01C500D001F1
|
| 4 |
+
70800130026FFCC
|
| 5 |
+
02B008E0006FFAF
|
| 6 |
+
625FF7AFF36FF62
|
| 7 |
+
059FFE6006D001E
|
| 8 |
+
01B002CFFD40227
|
| 9 |
+
03EFF90FFDD00B5
|
| 10 |
+
0F20172007CFF90
|
| 11 |
+
7E1012F0118015F
|
| 12 |
+
095FF9B00D200EB
|
| 13 |
+
7B6FFEBFFBAFEAF
|
| 14 |
+
61AFF02FFC0FEFF
|
| 15 |
+
7A7FF9100390091
|
| 16 |
+
773FF42FFA2005C
|
| 17 |
+
77E0059FF4AFEE1
|
| 18 |
+
06301FAFFF9FDAC
|
| 19 |
+
734FFBF018D021E
|
| 20 |
+
7BAFF560053FEFD
|
| 21 |
+
7E900ABFF6AFF3C
|
| 22 |
+
7EA0017FF99FD57
|
| 23 |
+
020FFE1007B0017
|
| 24 |
+
7DDFF53FF6A0253
|
| 25 |
+
71D01350037008C
|
| 26 |
+
61F00F90064012D
|
| 27 |
+
0E000C9009CFFA1
|
| 28 |
+
7EC0162010B0047
|
| 29 |
+
7F8FEB7FFCFFF4A
|
| 30 |
+
562FED9FFE6FFDE
|
| 31 |
+
06800700023FFFB
|
| 32 |
+
06B00E5FF380023
|
| 33 |
+
071006B00C300C0
|
| 34 |
+
090000F010CFFAA
|
| 35 |
+
087FF53010CFF0F
|
| 36 |
+
223007B0191016C
|
| 37 |
+
75AFF180023FF05
|
| 38 |
+
5A3FDC6008CFFAA
|
| 39 |
+
017005FFF9300BB
|
| 40 |
+
016FFCAFF12FEC4
|
| 41 |
+
7BC00D20022FF04
|
| 42 |
+
00F01020043FD67
|
| 43 |
+
7BFFE5A012F0013
|
| 44 |
+
09101280122FF29
|
| 45 |
+
7DFFF15FFBFFF91
|
| 46 |
+
6F3FEE20013FE44
|
| 47 |
+
7E7001AFFD30099
|
| 48 |
+
0910049FF4700E7
|
| 49 |
+
6E3FF5AFF37FFE0
|
| 50 |
+
6E5FE19007F0186
|
| 51 |
+
151027F0154005E
|
| 52 |
+
73BFF440024000D
|
| 53 |
+
7F8FFA5FFEC0064
|
| 54 |
+
671FCAFFEE90049
|
| 55 |
+
06B0091006EFF62
|
| 56 |
+
13E0247FEC9FFBB
|
| 57 |
+
052FE63FFEA0085
|
| 58 |
+
112FD61010E0027
|
| 59 |
+
0F300DB016C0031
|
| 60 |
+
0CBFDCC005200E9
|
| 61 |
+
02E00A7FF6DFFA3
|
| 62 |
+
603FD13FF60FFAF
|
| 63 |
+
79400FD00150040
|
| 64 |
+
0BB0188FEA7FED3
|
| 65 |
+
794FF71FF5AFF7F
|
| 66 |
+
0A1FE780059FEF4
|
| 67 |
+
005FFE801A300F1
|
| 68 |
+
778FE920001FF74
|
| 69 |
+
7A9FFAEFFD0005C
|
| 70 |
+
78BFD7CFEDEFF4A
|
| 71 |
+
07000890033003B
|
| 72 |
+
13F01F7FF630098
|
| 73 |
+
060FFE50061FF41
|
| 74 |
+
7EB007BFFD60014
|
| 75 |
+
02500C600ACFF92
|
| 76 |
+
07EFFC7FFA3FFBA
|
| 77 |
+
7C1017EFF7A0006
|
| 78 |
+
7F2FE94FFB70015
|
| 79 |
+
7B0FF76FFAD0052
|
| 80 |
+
7B9FFAE01020006
|
| 81 |
+
092FFE0003FFFBE
|
| 82 |
+
01500B6FFF40055
|
| 83 |
+
7DF00A0007CFFBA
|
| 84 |
+
08EFFC4FF980021
|
| 85 |
+
7A801CEFF170044
|
| 86 |
+
005FF39FFF6FFD0
|
| 87 |
+
7EEFFEFFFF900AB
|
| 88 |
+
790002F0047003C
|
| 89 |
+
06FFFBA0069FF68
|
| 90 |
+
7FF0040006E001F
|
| 91 |
+
0050061FFA8FFBB
|
| 92 |
+
077FF55FFF5FFC6
|
| 93 |
+
7590259FE8D004A
|
| 94 |
+
01EFEDB0037FFD3
|
| 95 |
+
7A6FFA800070072
|
| 96 |
+
7DDFFAB0020FFD2
|
| 97 |
+
0B2FF71FFE4FFB3
|
| 98 |
+
03A00BCFF6B008C
|
| 99 |
+
03300AB00E6FFC8
|
| 100 |
+
0CBFFABFFD6FFFA
|
| 101 |
+
025006BFFE00026
|
| 102 |
+
7E40019FF9A001F
|
| 103 |
+
7B70062001100A5
|
| 104 |
+
781001E01880050
|
| 105 |
+
0B2FFC3FFFDFFD8
|
| 106 |
+
03D012CFF6700B5
|
| 107 |
+
7DE00D60099FFDB
|
| 108 |
+
0C3FFA2FFAC0092
|
| 109 |
+
7FD00A4FF74004C
|
| 110 |
+
0470088FF9AFFF6
|
| 111 |
+
7D200C5004E00EF
|
| 112 |
+
77900CA005A0077
|
| 113 |
+
0ADFF670010FFA0
|
| 114 |
+
02600A3FFF8007E
|
| 115 |
+
02D0044FFAFFFBF
|
| 116 |
+
0C8FF9BFFFFFFF3
|
| 117 |
+
7DC00C6FF420059
|
| 118 |
+
019FFF6FFDEFFE6
|
| 119 |
+
7A90043007900AB
|
| 120 |
+
7BFFFE200990025
|
| 121 |
+
076FFBB001CFF3C
|
| 122 |
+
022000AFFBD0002
|
| 123 |
+
05B008D019EFF8A
|
| 124 |
+
09F0028FFDCFFB4
|
| 125 |
+
03C00B2007CFFCA
|
| 126 |
+
7A0FF49FF3F0069
|
| 127 |
+
7890033003E0067
|
| 128 |
+
771FF9D019D0012
|
| 129 |
+
0B4FFE40023FFA5
|
| 130 |
+
042008CFFC90047
|
| 131 |
+
02F00D40146FF7C
|
| 132 |
+
0C4FFF0FFF60042
|
| 133 |
+
7FA00A6000D0020
|
| 134 |
+
7D8FFACFF59003E
|
| 135 |
+
7D400B5006A00B7
|
| 136 |
+
79E003100C60054
|
| 137 |
+
097FFB80049FF48
|
| 138 |
+
01B00350025000D
|
| 139 |
+
05F00190090FF8F
|
| 140 |
+
08E0037002AFFCB
|
| 141 |
+
7EB008CFFB80024
|
| 142 |
+
7DCFECBFF9A0023
|
| 143 |
+
7980059007E006F
|
| 144 |
+
7B6FF6E00F4FFEB
|
myproject_prj/solution1/syn/verilog/myproject_dense_resource_rf_leq_nin_ap_fixed_ap_fixed_36_16_5_3_0_config58_mult_s.v
ADDED
|
@@ -0,0 +1,663 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// ==============================================================
|
| 2 |
+
// Generated by Vitis HLS v2024.1
|
| 3 |
+
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
| 4 |
+
// Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.
|
| 5 |
+
// ==============================================================
|
| 6 |
+
|
| 7 |
+
`timescale 1 ns / 1 ps
|
| 8 |
+
|
| 9 |
+
module myproject_dense_resource_rf_leq_nin_ap_fixed_ap_fixed_36_16_5_3_0_config58_mult_s (
|
| 10 |
+
ap_clk,
|
| 11 |
+
ap_rst,
|
| 12 |
+
ap_start,
|
| 13 |
+
ap_done,
|
| 14 |
+
ap_idle,
|
| 15 |
+
ap_ready,
|
| 16 |
+
data_0_val,
|
| 17 |
+
data_1_val,
|
| 18 |
+
data_2_val,
|
| 19 |
+
data_3_val,
|
| 20 |
+
data_4_val,
|
| 21 |
+
data_5_val,
|
| 22 |
+
data_6_val,
|
| 23 |
+
data_7_val,
|
| 24 |
+
ap_return
|
| 25 |
+
);
|
| 26 |
+
|
| 27 |
+
parameter ap_ST_fsm_pp0_stage0 = 1'd1;
|
| 28 |
+
|
| 29 |
+
input ap_clk;
|
| 30 |
+
input ap_rst;
|
| 31 |
+
input ap_start;
|
| 32 |
+
output ap_done;
|
| 33 |
+
output ap_idle;
|
| 34 |
+
output ap_ready;
|
| 35 |
+
input [15:0] data_0_val;
|
| 36 |
+
input [15:0] data_1_val;
|
| 37 |
+
input [15:0] data_2_val;
|
| 38 |
+
input [15:0] data_3_val;
|
| 39 |
+
input [15:0] data_4_val;
|
| 40 |
+
input [15:0] data_5_val;
|
| 41 |
+
input [15:0] data_6_val;
|
| 42 |
+
input [15:0] data_7_val;
|
| 43 |
+
output [29:0] ap_return;
|
| 44 |
+
|
| 45 |
+
reg ap_idle;
|
| 46 |
+
reg[29:0] ap_return;
|
| 47 |
+
|
| 48 |
+
(* fsm_encoding = "none" *) reg [0:0] ap_CS_fsm;
|
| 49 |
+
wire ap_CS_fsm_pp0_stage0;
|
| 50 |
+
wire ap_enable_reg_pp0_iter0;
|
| 51 |
+
reg ap_enable_reg_pp0_iter1;
|
| 52 |
+
reg ap_idle_pp0;
|
| 53 |
+
wire ap_block_pp0_stage0_subdone;
|
| 54 |
+
wire [0:0] icmp_ln46_fu_464_p2;
|
| 55 |
+
reg ap_condition_exit_pp0_iter0_stage0;
|
| 56 |
+
wire ap_loop_exit_ready;
|
| 57 |
+
reg ap_ready_int;
|
| 58 |
+
reg [0:0] do_init_reg_128;
|
| 59 |
+
reg [2:0] phi_ln46_reg_247;
|
| 60 |
+
reg [15:0] data_0_val4_phi_reg_260;
|
| 61 |
+
reg [15:0] data_1_val5_phi_reg_273;
|
| 62 |
+
reg [15:0] data_2_val6_phi_reg_286;
|
| 63 |
+
reg [15:0] data_3_val7_phi_reg_299;
|
| 64 |
+
reg [15:0] data_4_val8_phi_reg_312;
|
| 65 |
+
reg [15:0] data_5_val9_phi_reg_325;
|
| 66 |
+
reg [15:0] data_6_val10_phi_reg_338;
|
| 67 |
+
reg [15:0] data_7_val11_phi_reg_351;
|
| 68 |
+
reg [29:0] res_02_reg_364;
|
| 69 |
+
wire [15:0] a_fu_378_p19;
|
| 70 |
+
reg signed [15:0] a_reg_488;
|
| 71 |
+
wire ap_block_pp0_stage0_11001;
|
| 72 |
+
wire [11:0] w_fu_418_p19;
|
| 73 |
+
reg signed [11:0] w_reg_493;
|
| 74 |
+
wire [2:0] w_index_fu_458_p2;
|
| 75 |
+
reg [2:0] w_index_reg_498;
|
| 76 |
+
reg [0:0] icmp_ln46_reg_503;
|
| 77 |
+
wire signed [29:0] grp_fu_479_p3;
|
| 78 |
+
reg [0:0] ap_phi_mux_do_init_phi_fu_131_p6;
|
| 79 |
+
wire ap_loop_init;
|
| 80 |
+
wire ap_block_pp0_stage0;
|
| 81 |
+
reg [2:0] ap_phi_mux_phi_ln46_phi_fu_250_p6;
|
| 82 |
+
reg [15:0] ap_phi_mux_data_0_val4_phi_phi_fu_264_p4;
|
| 83 |
+
wire [15:0] ap_phi_reg_pp0_iter0_data_0_val4_phi_reg_260;
|
| 84 |
+
reg [15:0] ap_phi_mux_data_1_val5_phi_phi_fu_277_p4;
|
| 85 |
+
wire [15:0] ap_phi_reg_pp0_iter0_data_1_val5_phi_reg_273;
|
| 86 |
+
reg [15:0] ap_phi_mux_data_2_val6_phi_phi_fu_290_p4;
|
| 87 |
+
wire [15:0] ap_phi_reg_pp0_iter0_data_2_val6_phi_reg_286;
|
| 88 |
+
reg [15:0] ap_phi_mux_data_3_val7_phi_phi_fu_303_p4;
|
| 89 |
+
wire [15:0] ap_phi_reg_pp0_iter0_data_3_val7_phi_reg_299;
|
| 90 |
+
reg [15:0] ap_phi_mux_data_4_val8_phi_phi_fu_316_p4;
|
| 91 |
+
wire [15:0] ap_phi_reg_pp0_iter0_data_4_val8_phi_reg_312;
|
| 92 |
+
reg [15:0] ap_phi_mux_data_5_val9_phi_phi_fu_329_p4;
|
| 93 |
+
wire [15:0] ap_phi_reg_pp0_iter0_data_5_val9_phi_reg_325;
|
| 94 |
+
reg [15:0] ap_phi_mux_data_6_val10_phi_phi_fu_342_p4;
|
| 95 |
+
wire [15:0] ap_phi_reg_pp0_iter0_data_6_val10_phi_reg_338;
|
| 96 |
+
reg [15:0] ap_phi_mux_data_7_val11_phi_phi_fu_355_p4;
|
| 97 |
+
wire [15:0] ap_phi_reg_pp0_iter0_data_7_val11_phi_reg_351;
|
| 98 |
+
reg signed [29:0] ap_phi_mux_res_02_phi_fu_368_p6;
|
| 99 |
+
reg ap_loop_init_pp0_iter1_reg;
|
| 100 |
+
wire [15:0] a_fu_378_p17;
|
| 101 |
+
wire [11:0] w_fu_418_p17;
|
| 102 |
+
reg [29:0] ap_return_preg;
|
| 103 |
+
reg ap_done_reg;
|
| 104 |
+
wire ap_continue_int;
|
| 105 |
+
reg ap_done_int;
|
| 106 |
+
reg ap_loop_exit_ready_pp0_iter1_reg;
|
| 107 |
+
reg [0:0] ap_NS_fsm;
|
| 108 |
+
reg ap_idle_pp0_0to0;
|
| 109 |
+
reg ap_reset_idle_pp0;
|
| 110 |
+
wire ap_enable_pp0;
|
| 111 |
+
wire ap_start_int;
|
| 112 |
+
wire ap_ready_sig;
|
| 113 |
+
wire ap_done_sig;
|
| 114 |
+
reg ap_condition_101;
|
| 115 |
+
reg ap_condition_107;
|
| 116 |
+
wire [2:0] a_fu_378_p1;
|
| 117 |
+
wire [2:0] a_fu_378_p3;
|
| 118 |
+
wire [2:0] a_fu_378_p5;
|
| 119 |
+
wire [2:0] a_fu_378_p7;
|
| 120 |
+
wire signed [2:0] a_fu_378_p9;
|
| 121 |
+
wire signed [2:0] a_fu_378_p11;
|
| 122 |
+
wire signed [2:0] a_fu_378_p13;
|
| 123 |
+
wire signed [2:0] a_fu_378_p15;
|
| 124 |
+
wire [2:0] w_fu_418_p1;
|
| 125 |
+
wire [2:0] w_fu_418_p3;
|
| 126 |
+
wire [2:0] w_fu_418_p5;
|
| 127 |
+
wire [2:0] w_fu_418_p7;
|
| 128 |
+
wire signed [2:0] w_fu_418_p9;
|
| 129 |
+
wire signed [2:0] w_fu_418_p11;
|
| 130 |
+
wire signed [2:0] w_fu_418_p13;
|
| 131 |
+
wire signed [2:0] w_fu_418_p15;
|
| 132 |
+
wire ap_ce_reg;
|
| 133 |
+
|
| 134 |
+
// power-on initialization
|
| 135 |
+
initial begin
|
| 136 |
+
#0 ap_CS_fsm = 1'd1;
|
| 137 |
+
#0 ap_enable_reg_pp0_iter1 = 1'b0;
|
| 138 |
+
#0 ap_return_preg = 30'd0;
|
| 139 |
+
#0 ap_done_reg = 1'b0;
|
| 140 |
+
end
|
| 141 |
+
|
| 142 |
+
(* dissolve_hierarchy = "yes" *) myproject_sparsemux_17_3_16_1_1 #(
|
| 143 |
+
.ID( 1 ),
|
| 144 |
+
.NUM_STAGE( 1 ),
|
| 145 |
+
.CASE0( 3'h0 ),
|
| 146 |
+
.din0_WIDTH( 16 ),
|
| 147 |
+
.CASE1( 3'h1 ),
|
| 148 |
+
.din1_WIDTH( 16 ),
|
| 149 |
+
.CASE2( 3'h2 ),
|
| 150 |
+
.din2_WIDTH( 16 ),
|
| 151 |
+
.CASE3( 3'h3 ),
|
| 152 |
+
.din3_WIDTH( 16 ),
|
| 153 |
+
.CASE4( 3'h4 ),
|
| 154 |
+
.din4_WIDTH( 16 ),
|
| 155 |
+
.CASE5( 3'h5 ),
|
| 156 |
+
.din5_WIDTH( 16 ),
|
| 157 |
+
.CASE6( 3'h6 ),
|
| 158 |
+
.din6_WIDTH( 16 ),
|
| 159 |
+
.CASE7( 3'h7 ),
|
| 160 |
+
.din7_WIDTH( 16 ),
|
| 161 |
+
.def_WIDTH( 16 ),
|
| 162 |
+
.sel_WIDTH( 3 ),
|
| 163 |
+
.dout_WIDTH( 16 ))
|
| 164 |
+
sparsemux_17_3_16_1_1_U8778(
|
| 165 |
+
.din0(ap_phi_mux_data_0_val4_phi_phi_fu_264_p4),
|
| 166 |
+
.din1(ap_phi_mux_data_1_val5_phi_phi_fu_277_p4),
|
| 167 |
+
.din2(ap_phi_mux_data_2_val6_phi_phi_fu_290_p4),
|
| 168 |
+
.din3(ap_phi_mux_data_3_val7_phi_phi_fu_303_p4),
|
| 169 |
+
.din4(ap_phi_mux_data_4_val8_phi_phi_fu_316_p4),
|
| 170 |
+
.din5(ap_phi_mux_data_5_val9_phi_phi_fu_329_p4),
|
| 171 |
+
.din6(ap_phi_mux_data_6_val10_phi_phi_fu_342_p4),
|
| 172 |
+
.din7(ap_phi_mux_data_7_val11_phi_phi_fu_355_p4),
|
| 173 |
+
.def(a_fu_378_p17),
|
| 174 |
+
.sel(ap_phi_mux_phi_ln46_phi_fu_250_p6),
|
| 175 |
+
.dout(a_fu_378_p19)
|
| 176 |
+
);
|
| 177 |
+
|
| 178 |
+
(* dissolve_hierarchy = "yes" *) myproject_sparsemux_17_3_12_1_1 #(
|
| 179 |
+
.ID( 1 ),
|
| 180 |
+
.NUM_STAGE( 1 ),
|
| 181 |
+
.CASE0( 3'h0 ),
|
| 182 |
+
.din0_WIDTH( 12 ),
|
| 183 |
+
.CASE1( 3'h1 ),
|
| 184 |
+
.din1_WIDTH( 12 ),
|
| 185 |
+
.CASE2( 3'h2 ),
|
| 186 |
+
.din2_WIDTH( 12 ),
|
| 187 |
+
.CASE3( 3'h3 ),
|
| 188 |
+
.din3_WIDTH( 12 ),
|
| 189 |
+
.CASE4( 3'h4 ),
|
| 190 |
+
.din4_WIDTH( 12 ),
|
| 191 |
+
.CASE5( 3'h5 ),
|
| 192 |
+
.din5_WIDTH( 12 ),
|
| 193 |
+
.CASE6( 3'h6 ),
|
| 194 |
+
.din6_WIDTH( 12 ),
|
| 195 |
+
.CASE7( 3'h7 ),
|
| 196 |
+
.din7_WIDTH( 12 ),
|
| 197 |
+
.def_WIDTH( 12 ),
|
| 198 |
+
.sel_WIDTH( 3 ),
|
| 199 |
+
.dout_WIDTH( 12 ))
|
| 200 |
+
sparsemux_17_3_12_1_1_U8779(
|
| 201 |
+
.din0(12'd3452),
|
| 202 |
+
.din1(12'd978),
|
| 203 |
+
.din2(12'd3298),
|
| 204 |
+
.din3(12'd3581),
|
| 205 |
+
.din4(12'd3649),
|
| 206 |
+
.din5(12'd624),
|
| 207 |
+
.din6(12'd3542),
|
| 208 |
+
.din7(12'd2852),
|
| 209 |
+
.def(w_fu_418_p17),
|
| 210 |
+
.sel(ap_phi_mux_phi_ln46_phi_fu_250_p6),
|
| 211 |
+
.dout(w_fu_418_p19)
|
| 212 |
+
);
|
| 213 |
+
|
| 214 |
+
myproject_mac_muladd_16s_12s_30s_30_1_1 #(
|
| 215 |
+
.ID( 1 ),
|
| 216 |
+
.NUM_STAGE( 1 ),
|
| 217 |
+
.din0_WIDTH( 16 ),
|
| 218 |
+
.din1_WIDTH( 12 ),
|
| 219 |
+
.din2_WIDTH( 30 ),
|
| 220 |
+
.dout_WIDTH( 30 ))
|
| 221 |
+
mac_muladd_16s_12s_30s_30_1_1_U8780(
|
| 222 |
+
.din0(a_reg_488),
|
| 223 |
+
.din1(w_reg_493),
|
| 224 |
+
.din2(ap_phi_mux_res_02_phi_fu_368_p6),
|
| 225 |
+
.dout(grp_fu_479_p3)
|
| 226 |
+
);
|
| 227 |
+
|
| 228 |
+
myproject_flow_control_loop_pipe_no_ap_cont flow_control_loop_pipe_no_ap_cont_U(
|
| 229 |
+
.ap_clk(ap_clk),
|
| 230 |
+
.ap_rst(ap_rst),
|
| 231 |
+
.ap_start(ap_start),
|
| 232 |
+
.ap_ready(ap_ready_sig),
|
| 233 |
+
.ap_done(ap_done_sig),
|
| 234 |
+
.ap_start_int(ap_start_int),
|
| 235 |
+
.ap_loop_init(ap_loop_init),
|
| 236 |
+
.ap_ready_int(ap_ready_int),
|
| 237 |
+
.ap_loop_exit_ready(ap_condition_exit_pp0_iter0_stage0),
|
| 238 |
+
.ap_loop_exit_done(ap_done_int),
|
| 239 |
+
.ap_continue_int(ap_continue_int),
|
| 240 |
+
.ap_done_int(ap_done_int)
|
| 241 |
+
);
|
| 242 |
+
|
| 243 |
+
always @ (posedge ap_clk) begin
|
| 244 |
+
if (ap_rst == 1'b1) begin
|
| 245 |
+
ap_CS_fsm <= ap_ST_fsm_pp0_stage0;
|
| 246 |
+
end else begin
|
| 247 |
+
ap_CS_fsm <= ap_NS_fsm;
|
| 248 |
+
end
|
| 249 |
+
end
|
| 250 |
+
|
| 251 |
+
always @ (posedge ap_clk) begin
|
| 252 |
+
if (ap_rst == 1'b1) begin
|
| 253 |
+
ap_done_reg <= 1'b0;
|
| 254 |
+
end else begin
|
| 255 |
+
if ((ap_continue_int == 1'b1)) begin
|
| 256 |
+
ap_done_reg <= 1'b0;
|
| 257 |
+
end else if (((1'b0 == ap_block_pp0_stage0_subdone) & (ap_loop_exit_ready_pp0_iter1_reg == 1'b1) & (1'b1 == ap_CS_fsm_pp0_stage0))) begin
|
| 258 |
+
ap_done_reg <= 1'b1;
|
| 259 |
+
end
|
| 260 |
+
end
|
| 261 |
+
end
|
| 262 |
+
|
| 263 |
+
always @ (posedge ap_clk) begin
|
| 264 |
+
if (ap_rst == 1'b1) begin
|
| 265 |
+
ap_enable_reg_pp0_iter1 <= 1'b0;
|
| 266 |
+
end else begin
|
| 267 |
+
if (((1'b0 == ap_block_pp0_stage0_subdone) & (1'b1 == ap_CS_fsm_pp0_stage0))) begin
|
| 268 |
+
ap_enable_reg_pp0_iter1 <= ap_start_int;
|
| 269 |
+
end
|
| 270 |
+
end
|
| 271 |
+
end
|
| 272 |
+
|
| 273 |
+
always @ (posedge ap_clk) begin
|
| 274 |
+
if (ap_rst == 1'b1) begin
|
| 275 |
+
ap_return_preg <= 30'd0;
|
| 276 |
+
end else begin
|
| 277 |
+
if (((1'b0 == ap_block_pp0_stage0_11001) & (1'b1 == ap_CS_fsm_pp0_stage0) & (icmp_ln46_reg_503 == 1'd1))) begin
|
| 278 |
+
ap_return_preg <= grp_fu_479_p3;
|
| 279 |
+
end
|
| 280 |
+
end
|
| 281 |
+
end
|
| 282 |
+
|
| 283 |
+
always @ (posedge ap_clk) begin
|
| 284 |
+
if ((1'b1 == ap_CS_fsm_pp0_stage0)) begin
|
| 285 |
+
if (((ap_loop_exit_ready == 1'b0) & (1'b0 == ap_block_pp0_stage0_subdone))) begin
|
| 286 |
+
ap_loop_exit_ready_pp0_iter1_reg <= 1'b0;
|
| 287 |
+
end else if ((1'b0 == ap_block_pp0_stage0_11001)) begin
|
| 288 |
+
ap_loop_exit_ready_pp0_iter1_reg <= ap_loop_exit_ready;
|
| 289 |
+
end
|
| 290 |
+
end
|
| 291 |
+
end
|
| 292 |
+
|
| 293 |
+
always @ (posedge ap_clk) begin
|
| 294 |
+
if ((1'b1 == ap_condition_101)) begin
|
| 295 |
+
if ((ap_phi_mux_do_init_phi_fu_131_p6 == 1'd0)) begin
|
| 296 |
+
data_0_val4_phi_reg_260 <= data_0_val4_phi_reg_260;
|
| 297 |
+
end else if ((ap_phi_mux_do_init_phi_fu_131_p6 == 1'd1)) begin
|
| 298 |
+
data_0_val4_phi_reg_260 <= data_0_val;
|
| 299 |
+
end else if (~(icmp_ln46_fu_464_p2 == 1'd1)) begin
|
| 300 |
+
data_0_val4_phi_reg_260 <= ap_phi_reg_pp0_iter0_data_0_val4_phi_reg_260;
|
| 301 |
+
end
|
| 302 |
+
end
|
| 303 |
+
end
|
| 304 |
+
|
| 305 |
+
always @ (posedge ap_clk) begin
|
| 306 |
+
if ((1'b1 == ap_condition_101)) begin
|
| 307 |
+
if ((ap_phi_mux_do_init_phi_fu_131_p6 == 1'd0)) begin
|
| 308 |
+
data_1_val5_phi_reg_273 <= data_1_val5_phi_reg_273;
|
| 309 |
+
end else if ((ap_phi_mux_do_init_phi_fu_131_p6 == 1'd1)) begin
|
| 310 |
+
data_1_val5_phi_reg_273 <= data_1_val;
|
| 311 |
+
end else if (~(icmp_ln46_fu_464_p2 == 1'd1)) begin
|
| 312 |
+
data_1_val5_phi_reg_273 <= ap_phi_reg_pp0_iter0_data_1_val5_phi_reg_273;
|
| 313 |
+
end
|
| 314 |
+
end
|
| 315 |
+
end
|
| 316 |
+
|
| 317 |
+
always @ (posedge ap_clk) begin
|
| 318 |
+
if ((1'b1 == ap_condition_101)) begin
|
| 319 |
+
if ((ap_phi_mux_do_init_phi_fu_131_p6 == 1'd0)) begin
|
| 320 |
+
data_2_val6_phi_reg_286 <= data_2_val6_phi_reg_286;
|
| 321 |
+
end else if ((ap_phi_mux_do_init_phi_fu_131_p6 == 1'd1)) begin
|
| 322 |
+
data_2_val6_phi_reg_286 <= data_2_val;
|
| 323 |
+
end else if (~(icmp_ln46_fu_464_p2 == 1'd1)) begin
|
| 324 |
+
data_2_val6_phi_reg_286 <= ap_phi_reg_pp0_iter0_data_2_val6_phi_reg_286;
|
| 325 |
+
end
|
| 326 |
+
end
|
| 327 |
+
end
|
| 328 |
+
|
| 329 |
+
always @ (posedge ap_clk) begin
|
| 330 |
+
if ((1'b1 == ap_condition_101)) begin
|
| 331 |
+
if ((ap_phi_mux_do_init_phi_fu_131_p6 == 1'd0)) begin
|
| 332 |
+
data_3_val7_phi_reg_299 <= data_3_val7_phi_reg_299;
|
| 333 |
+
end else if ((ap_phi_mux_do_init_phi_fu_131_p6 == 1'd1)) begin
|
| 334 |
+
data_3_val7_phi_reg_299 <= data_3_val;
|
| 335 |
+
end else if (~(icmp_ln46_fu_464_p2 == 1'd1)) begin
|
| 336 |
+
data_3_val7_phi_reg_299 <= ap_phi_reg_pp0_iter0_data_3_val7_phi_reg_299;
|
| 337 |
+
end
|
| 338 |
+
end
|
| 339 |
+
end
|
| 340 |
+
|
| 341 |
+
always @ (posedge ap_clk) begin
|
| 342 |
+
if ((1'b1 == ap_condition_101)) begin
|
| 343 |
+
if ((ap_phi_mux_do_init_phi_fu_131_p6 == 1'd0)) begin
|
| 344 |
+
data_4_val8_phi_reg_312 <= data_4_val8_phi_reg_312;
|
| 345 |
+
end else if ((ap_phi_mux_do_init_phi_fu_131_p6 == 1'd1)) begin
|
| 346 |
+
data_4_val8_phi_reg_312 <= data_4_val;
|
| 347 |
+
end else if (~(icmp_ln46_fu_464_p2 == 1'd1)) begin
|
| 348 |
+
data_4_val8_phi_reg_312 <= ap_phi_reg_pp0_iter0_data_4_val8_phi_reg_312;
|
| 349 |
+
end
|
| 350 |
+
end
|
| 351 |
+
end
|
| 352 |
+
|
| 353 |
+
always @ (posedge ap_clk) begin
|
| 354 |
+
if ((1'b1 == ap_condition_101)) begin
|
| 355 |
+
if ((ap_phi_mux_do_init_phi_fu_131_p6 == 1'd0)) begin
|
| 356 |
+
data_5_val9_phi_reg_325 <= data_5_val9_phi_reg_325;
|
| 357 |
+
end else if ((ap_phi_mux_do_init_phi_fu_131_p6 == 1'd1)) begin
|
| 358 |
+
data_5_val9_phi_reg_325 <= data_5_val;
|
| 359 |
+
end else if (~(icmp_ln46_fu_464_p2 == 1'd1)) begin
|
| 360 |
+
data_5_val9_phi_reg_325 <= ap_phi_reg_pp0_iter0_data_5_val9_phi_reg_325;
|
| 361 |
+
end
|
| 362 |
+
end
|
| 363 |
+
end
|
| 364 |
+
|
| 365 |
+
always @ (posedge ap_clk) begin
|
| 366 |
+
if ((1'b1 == ap_condition_101)) begin
|
| 367 |
+
if ((ap_phi_mux_do_init_phi_fu_131_p6 == 1'd0)) begin
|
| 368 |
+
data_6_val10_phi_reg_338 <= data_6_val10_phi_reg_338;
|
| 369 |
+
end else if ((ap_phi_mux_do_init_phi_fu_131_p6 == 1'd1)) begin
|
| 370 |
+
data_6_val10_phi_reg_338 <= data_6_val;
|
| 371 |
+
end else if (~(icmp_ln46_fu_464_p2 == 1'd1)) begin
|
| 372 |
+
data_6_val10_phi_reg_338 <= ap_phi_reg_pp0_iter0_data_6_val10_phi_reg_338;
|
| 373 |
+
end
|
| 374 |
+
end
|
| 375 |
+
end
|
| 376 |
+
|
| 377 |
+
always @ (posedge ap_clk) begin
|
| 378 |
+
if ((1'b1 == ap_condition_101)) begin
|
| 379 |
+
if ((ap_phi_mux_do_init_phi_fu_131_p6 == 1'd0)) begin
|
| 380 |
+
data_7_val11_phi_reg_351 <= data_7_val11_phi_reg_351;
|
| 381 |
+
end else if ((ap_phi_mux_do_init_phi_fu_131_p6 == 1'd1)) begin
|
| 382 |
+
data_7_val11_phi_reg_351 <= data_7_val;
|
| 383 |
+
end else if (~(icmp_ln46_fu_464_p2 == 1'd1)) begin
|
| 384 |
+
data_7_val11_phi_reg_351 <= ap_phi_reg_pp0_iter0_data_7_val11_phi_reg_351;
|
| 385 |
+
end
|
| 386 |
+
end
|
| 387 |
+
end
|
| 388 |
+
|
| 389 |
+
always @ (posedge ap_clk) begin
|
| 390 |
+
if (((1'b0 == ap_block_pp0_stage0_11001) & (ap_enable_reg_pp0_iter1 == 1'b1) & (1'b1 == ap_CS_fsm_pp0_stage0) & (icmp_ln46_reg_503 == 1'd0))) begin
|
| 391 |
+
do_init_reg_128 <= 1'd0;
|
| 392 |
+
end else if ((((1'b0 == ap_block_pp0_stage0_11001) & (ap_enable_reg_pp0_iter1 == 1'b1) & (1'b1 == ap_CS_fsm_pp0_stage0) & (icmp_ln46_reg_503 == 1'd1)) | ((1'b0 == ap_block_pp0_stage0_subdone) & (1'b1 == ap_CS_fsm_pp0_stage0) & (ap_loop_init == 1'b1)))) begin
|
| 393 |
+
do_init_reg_128 <= 1'd1;
|
| 394 |
+
end
|
| 395 |
+
end
|
| 396 |
+
|
| 397 |
+
always @ (posedge ap_clk) begin
|
| 398 |
+
if (((1'b0 == ap_block_pp0_stage0_11001) & (ap_enable_reg_pp0_iter1 == 1'b1) & (1'b1 == ap_CS_fsm_pp0_stage0) & (icmp_ln46_reg_503 == 1'd0))) begin
|
| 399 |
+
phi_ln46_reg_247 <= w_index_reg_498;
|
| 400 |
+
end else if ((((1'b0 == ap_block_pp0_stage0_11001) & (ap_enable_reg_pp0_iter1 == 1'b1) & (1'b1 == ap_CS_fsm_pp0_stage0) & (icmp_ln46_reg_503 == 1'd1)) | ((1'b0 == ap_block_pp0_stage0_subdone) & (1'b1 == ap_CS_fsm_pp0_stage0) & (ap_loop_init == 1'b1)))) begin
|
| 401 |
+
phi_ln46_reg_247 <= 3'd0;
|
| 402 |
+
end
|
| 403 |
+
end
|
| 404 |
+
|
| 405 |
+
always @ (posedge ap_clk) begin
|
| 406 |
+
if ((1'b1 == ap_condition_107)) begin
|
| 407 |
+
if ((icmp_ln46_reg_503 == 1'd1)) begin
|
| 408 |
+
res_02_reg_364 <= 30'd1073627136;
|
| 409 |
+
end else if ((icmp_ln46_reg_503 == 1'd0)) begin
|
| 410 |
+
res_02_reg_364 <= grp_fu_479_p3;
|
| 411 |
+
end
|
| 412 |
+
end
|
| 413 |
+
end
|
| 414 |
+
|
| 415 |
+
always @ (posedge ap_clk) begin
|
| 416 |
+
if (((1'b0 == ap_block_pp0_stage0_11001) & (1'b1 == ap_CS_fsm_pp0_stage0))) begin
|
| 417 |
+
a_reg_488 <= a_fu_378_p19;
|
| 418 |
+
ap_loop_init_pp0_iter1_reg <= ap_loop_init;
|
| 419 |
+
icmp_ln46_reg_503 <= icmp_ln46_fu_464_p2;
|
| 420 |
+
w_reg_493 <= w_fu_418_p19;
|
| 421 |
+
end
|
| 422 |
+
end
|
| 423 |
+
|
| 424 |
+
always @ (posedge ap_clk) begin
|
| 425 |
+
if (((1'b0 == ap_block_pp0_stage0_11001) & (ap_enable_reg_pp0_iter0 == 1'b1) & (1'b1 == ap_CS_fsm_pp0_stage0))) begin
|
| 426 |
+
w_index_reg_498 <= w_index_fu_458_p2;
|
| 427 |
+
end
|
| 428 |
+
end
|
| 429 |
+
|
| 430 |
+
always @ (*) begin
|
| 431 |
+
if (((icmp_ln46_fu_464_p2 == 1'd1) & (1'b0 == ap_block_pp0_stage0_subdone) & (ap_enable_reg_pp0_iter0 == 1'b1) & (1'b1 == ap_CS_fsm_pp0_stage0))) begin
|
| 432 |
+
ap_condition_exit_pp0_iter0_stage0 = 1'b1;
|
| 433 |
+
end else begin
|
| 434 |
+
ap_condition_exit_pp0_iter0_stage0 = 1'b0;
|
| 435 |
+
end
|
| 436 |
+
end
|
| 437 |
+
|
| 438 |
+
always @ (*) begin
|
| 439 |
+
if (((1'b0 == ap_block_pp0_stage0_subdone) & (ap_loop_exit_ready_pp0_iter1_reg == 1'b1) & (1'b1 == ap_CS_fsm_pp0_stage0))) begin
|
| 440 |
+
ap_done_int = 1'b1;
|
| 441 |
+
end else begin
|
| 442 |
+
ap_done_int = ap_done_reg;
|
| 443 |
+
end
|
| 444 |
+
end
|
| 445 |
+
|
| 446 |
+
always @ (*) begin
|
| 447 |
+
if (((ap_start_int == 1'b0) & (ap_idle_pp0 == 1'b1) & (1'b1 == ap_CS_fsm_pp0_stage0))) begin
|
| 448 |
+
ap_idle = 1'b1;
|
| 449 |
+
end else begin
|
| 450 |
+
ap_idle = 1'b0;
|
| 451 |
+
end
|
| 452 |
+
end
|
| 453 |
+
|
| 454 |
+
always @ (*) begin
|
| 455 |
+
if (((ap_enable_reg_pp0_iter1 == 1'b0) & (ap_enable_reg_pp0_iter0 == 1'b0))) begin
|
| 456 |
+
ap_idle_pp0 = 1'b1;
|
| 457 |
+
end else begin
|
| 458 |
+
ap_idle_pp0 = 1'b0;
|
| 459 |
+
end
|
| 460 |
+
end
|
| 461 |
+
|
| 462 |
+
always @ (*) begin
|
| 463 |
+
if ((ap_enable_reg_pp0_iter0 == 1'b0)) begin
|
| 464 |
+
ap_idle_pp0_0to0 = 1'b1;
|
| 465 |
+
end else begin
|
| 466 |
+
ap_idle_pp0_0to0 = 1'b0;
|
| 467 |
+
end
|
| 468 |
+
end
|
| 469 |
+
|
| 470 |
+
always @ (*) begin
|
| 471 |
+
if ((ap_phi_mux_do_init_phi_fu_131_p6 == 1'd0)) begin
|
| 472 |
+
ap_phi_mux_data_0_val4_phi_phi_fu_264_p4 = data_0_val4_phi_reg_260;
|
| 473 |
+
end else if ((ap_phi_mux_do_init_phi_fu_131_p6 == 1'd1)) begin
|
| 474 |
+
ap_phi_mux_data_0_val4_phi_phi_fu_264_p4 = data_0_val;
|
| 475 |
+
end else begin
|
| 476 |
+
ap_phi_mux_data_0_val4_phi_phi_fu_264_p4 = ap_phi_reg_pp0_iter0_data_0_val4_phi_reg_260;
|
| 477 |
+
end
|
| 478 |
+
end
|
| 479 |
+
|
| 480 |
+
always @ (*) begin
|
| 481 |
+
if ((ap_phi_mux_do_init_phi_fu_131_p6 == 1'd0)) begin
|
| 482 |
+
ap_phi_mux_data_1_val5_phi_phi_fu_277_p4 = data_1_val5_phi_reg_273;
|
| 483 |
+
end else if ((ap_phi_mux_do_init_phi_fu_131_p6 == 1'd1)) begin
|
| 484 |
+
ap_phi_mux_data_1_val5_phi_phi_fu_277_p4 = data_1_val;
|
| 485 |
+
end else begin
|
| 486 |
+
ap_phi_mux_data_1_val5_phi_phi_fu_277_p4 = ap_phi_reg_pp0_iter0_data_1_val5_phi_reg_273;
|
| 487 |
+
end
|
| 488 |
+
end
|
| 489 |
+
|
| 490 |
+
always @ (*) begin
|
| 491 |
+
if ((ap_phi_mux_do_init_phi_fu_131_p6 == 1'd0)) begin
|
| 492 |
+
ap_phi_mux_data_2_val6_phi_phi_fu_290_p4 = data_2_val6_phi_reg_286;
|
| 493 |
+
end else if ((ap_phi_mux_do_init_phi_fu_131_p6 == 1'd1)) begin
|
| 494 |
+
ap_phi_mux_data_2_val6_phi_phi_fu_290_p4 = data_2_val;
|
| 495 |
+
end else begin
|
| 496 |
+
ap_phi_mux_data_2_val6_phi_phi_fu_290_p4 = ap_phi_reg_pp0_iter0_data_2_val6_phi_reg_286;
|
| 497 |
+
end
|
| 498 |
+
end
|
| 499 |
+
|
| 500 |
+
always @ (*) begin
|
| 501 |
+
if ((ap_phi_mux_do_init_phi_fu_131_p6 == 1'd0)) begin
|
| 502 |
+
ap_phi_mux_data_3_val7_phi_phi_fu_303_p4 = data_3_val7_phi_reg_299;
|
| 503 |
+
end else if ((ap_phi_mux_do_init_phi_fu_131_p6 == 1'd1)) begin
|
| 504 |
+
ap_phi_mux_data_3_val7_phi_phi_fu_303_p4 = data_3_val;
|
| 505 |
+
end else begin
|
| 506 |
+
ap_phi_mux_data_3_val7_phi_phi_fu_303_p4 = ap_phi_reg_pp0_iter0_data_3_val7_phi_reg_299;
|
| 507 |
+
end
|
| 508 |
+
end
|
| 509 |
+
|
| 510 |
+
always @ (*) begin
|
| 511 |
+
if ((ap_phi_mux_do_init_phi_fu_131_p6 == 1'd0)) begin
|
| 512 |
+
ap_phi_mux_data_4_val8_phi_phi_fu_316_p4 = data_4_val8_phi_reg_312;
|
| 513 |
+
end else if ((ap_phi_mux_do_init_phi_fu_131_p6 == 1'd1)) begin
|
| 514 |
+
ap_phi_mux_data_4_val8_phi_phi_fu_316_p4 = data_4_val;
|
| 515 |
+
end else begin
|
| 516 |
+
ap_phi_mux_data_4_val8_phi_phi_fu_316_p4 = ap_phi_reg_pp0_iter0_data_4_val8_phi_reg_312;
|
| 517 |
+
end
|
| 518 |
+
end
|
| 519 |
+
|
| 520 |
+
always @ (*) begin
|
| 521 |
+
if ((ap_phi_mux_do_init_phi_fu_131_p6 == 1'd0)) begin
|
| 522 |
+
ap_phi_mux_data_5_val9_phi_phi_fu_329_p4 = data_5_val9_phi_reg_325;
|
| 523 |
+
end else if ((ap_phi_mux_do_init_phi_fu_131_p6 == 1'd1)) begin
|
| 524 |
+
ap_phi_mux_data_5_val9_phi_phi_fu_329_p4 = data_5_val;
|
| 525 |
+
end else begin
|
| 526 |
+
ap_phi_mux_data_5_val9_phi_phi_fu_329_p4 = ap_phi_reg_pp0_iter0_data_5_val9_phi_reg_325;
|
| 527 |
+
end
|
| 528 |
+
end
|
| 529 |
+
|
| 530 |
+
always @ (*) begin
|
| 531 |
+
if ((ap_phi_mux_do_init_phi_fu_131_p6 == 1'd0)) begin
|
| 532 |
+
ap_phi_mux_data_6_val10_phi_phi_fu_342_p4 = data_6_val10_phi_reg_338;
|
| 533 |
+
end else if ((ap_phi_mux_do_init_phi_fu_131_p6 == 1'd1)) begin
|
| 534 |
+
ap_phi_mux_data_6_val10_phi_phi_fu_342_p4 = data_6_val;
|
| 535 |
+
end else begin
|
| 536 |
+
ap_phi_mux_data_6_val10_phi_phi_fu_342_p4 = ap_phi_reg_pp0_iter0_data_6_val10_phi_reg_338;
|
| 537 |
+
end
|
| 538 |
+
end
|
| 539 |
+
|
| 540 |
+
always @ (*) begin
|
| 541 |
+
if ((ap_phi_mux_do_init_phi_fu_131_p6 == 1'd0)) begin
|
| 542 |
+
ap_phi_mux_data_7_val11_phi_phi_fu_355_p4 = data_7_val11_phi_reg_351;
|
| 543 |
+
end else if ((ap_phi_mux_do_init_phi_fu_131_p6 == 1'd1)) begin
|
| 544 |
+
ap_phi_mux_data_7_val11_phi_phi_fu_355_p4 = data_7_val;
|
| 545 |
+
end else begin
|
| 546 |
+
ap_phi_mux_data_7_val11_phi_phi_fu_355_p4 = ap_phi_reg_pp0_iter0_data_7_val11_phi_reg_351;
|
| 547 |
+
end
|
| 548 |
+
end
|
| 549 |
+
|
| 550 |
+
always @ (*) begin
|
| 551 |
+
if (((1'b0 == ap_block_pp0_stage0) & (ap_enable_reg_pp0_iter1 == 1'b1) & (1'b1 == ap_CS_fsm_pp0_stage0) & (icmp_ln46_reg_503 == 1'd0))) begin
|
| 552 |
+
ap_phi_mux_do_init_phi_fu_131_p6 = 1'd0;
|
| 553 |
+
end else if ((((1'b1 == ap_CS_fsm_pp0_stage0) & (ap_loop_init == 1'b1)) | ((1'b0 == ap_block_pp0_stage0) & (ap_enable_reg_pp0_iter1 == 1'b1) & (1'b1 == ap_CS_fsm_pp0_stage0) & (icmp_ln46_reg_503 == 1'd1)))) begin
|
| 554 |
+
ap_phi_mux_do_init_phi_fu_131_p6 = 1'd1;
|
| 555 |
+
end else begin
|
| 556 |
+
ap_phi_mux_do_init_phi_fu_131_p6 = do_init_reg_128;
|
| 557 |
+
end
|
| 558 |
+
end
|
| 559 |
+
|
| 560 |
+
always @ (*) begin
|
| 561 |
+
if (((1'b0 == ap_block_pp0_stage0) & (ap_enable_reg_pp0_iter1 == 1'b1) & (1'b1 == ap_CS_fsm_pp0_stage0) & (icmp_ln46_reg_503 == 1'd0))) begin
|
| 562 |
+
ap_phi_mux_phi_ln46_phi_fu_250_p6 = w_index_reg_498;
|
| 563 |
+
end else if ((((1'b1 == ap_CS_fsm_pp0_stage0) & (ap_loop_init == 1'b1)) | ((1'b0 == ap_block_pp0_stage0) & (ap_enable_reg_pp0_iter1 == 1'b1) & (1'b1 == ap_CS_fsm_pp0_stage0) & (icmp_ln46_reg_503 == 1'd1)))) begin
|
| 564 |
+
ap_phi_mux_phi_ln46_phi_fu_250_p6 = 3'd0;
|
| 565 |
+
end else begin
|
| 566 |
+
ap_phi_mux_phi_ln46_phi_fu_250_p6 = phi_ln46_reg_247;
|
| 567 |
+
end
|
| 568 |
+
end
|
| 569 |
+
|
| 570 |
+
always @ (*) begin
|
| 571 |
+
if (((1'b1 == ap_CS_fsm_pp0_stage0) & (ap_loop_init_pp0_iter1_reg == 1'b1))) begin
|
| 572 |
+
ap_phi_mux_res_02_phi_fu_368_p6 = 30'd1073627136;
|
| 573 |
+
end else begin
|
| 574 |
+
ap_phi_mux_res_02_phi_fu_368_p6 = res_02_reg_364;
|
| 575 |
+
end
|
| 576 |
+
end
|
| 577 |
+
|
| 578 |
+
always @ (*) begin
|
| 579 |
+
if (((1'b0 == ap_block_pp0_stage0_subdone) & (ap_enable_reg_pp0_iter0 == 1'b1) & (1'b1 == ap_CS_fsm_pp0_stage0))) begin
|
| 580 |
+
ap_ready_int = 1'b1;
|
| 581 |
+
end else begin
|
| 582 |
+
ap_ready_int = 1'b0;
|
| 583 |
+
end
|
| 584 |
+
end
|
| 585 |
+
|
| 586 |
+
always @ (*) begin
|
| 587 |
+
if (((ap_start_int == 1'b0) & (ap_idle_pp0_0to0 == 1'b1))) begin
|
| 588 |
+
ap_reset_idle_pp0 = 1'b1;
|
| 589 |
+
end else begin
|
| 590 |
+
ap_reset_idle_pp0 = 1'b0;
|
| 591 |
+
end
|
| 592 |
+
end
|
| 593 |
+
|
| 594 |
+
always @ (*) begin
|
| 595 |
+
if (((1'b0 == ap_block_pp0_stage0_11001) & (1'b1 == ap_CS_fsm_pp0_stage0) & (icmp_ln46_reg_503 == 1'd1))) begin
|
| 596 |
+
ap_return = grp_fu_479_p3;
|
| 597 |
+
end else begin
|
| 598 |
+
ap_return = ap_return_preg;
|
| 599 |
+
end
|
| 600 |
+
end
|
| 601 |
+
|
| 602 |
+
always @ (*) begin
|
| 603 |
+
case (ap_CS_fsm)
|
| 604 |
+
ap_ST_fsm_pp0_stage0 : begin
|
| 605 |
+
ap_NS_fsm = ap_ST_fsm_pp0_stage0;
|
| 606 |
+
end
|
| 607 |
+
default : begin
|
| 608 |
+
ap_NS_fsm = 'bx;
|
| 609 |
+
end
|
| 610 |
+
endcase
|
| 611 |
+
end
|
| 612 |
+
|
| 613 |
+
assign a_fu_378_p17 = 'bx;
|
| 614 |
+
|
| 615 |
+
assign ap_CS_fsm_pp0_stage0 = ap_CS_fsm[32'd0];
|
| 616 |
+
|
| 617 |
+
assign ap_block_pp0_stage0 = ~(1'b1 == 1'b1);
|
| 618 |
+
|
| 619 |
+
assign ap_block_pp0_stage0_11001 = ~(1'b1 == 1'b1);
|
| 620 |
+
|
| 621 |
+
assign ap_block_pp0_stage0_subdone = ~(1'b1 == 1'b1);
|
| 622 |
+
|
| 623 |
+
always @ (*) begin
|
| 624 |
+
ap_condition_101 = ((1'b0 == ap_block_pp0_stage0_11001) & (ap_enable_reg_pp0_iter0 == 1'b1) & (1'b1 == ap_CS_fsm_pp0_stage0));
|
| 625 |
+
end
|
| 626 |
+
|
| 627 |
+
always @ (*) begin
|
| 628 |
+
ap_condition_107 = ((1'b0 == ap_block_pp0_stage0_11001) & (ap_enable_reg_pp0_iter1 == 1'b1) & (1'b1 == ap_CS_fsm_pp0_stage0));
|
| 629 |
+
end
|
| 630 |
+
|
| 631 |
+
assign ap_done = ap_done_sig;
|
| 632 |
+
|
| 633 |
+
assign ap_enable_pp0 = (ap_idle_pp0 ^ 1'b1);
|
| 634 |
+
|
| 635 |
+
assign ap_enable_reg_pp0_iter0 = ap_start_int;
|
| 636 |
+
|
| 637 |
+
assign ap_loop_exit_ready = ap_condition_exit_pp0_iter0_stage0;
|
| 638 |
+
|
| 639 |
+
assign ap_phi_reg_pp0_iter0_data_0_val4_phi_reg_260 = 'bx;
|
| 640 |
+
|
| 641 |
+
assign ap_phi_reg_pp0_iter0_data_1_val5_phi_reg_273 = 'bx;
|
| 642 |
+
|
| 643 |
+
assign ap_phi_reg_pp0_iter0_data_2_val6_phi_reg_286 = 'bx;
|
| 644 |
+
|
| 645 |
+
assign ap_phi_reg_pp0_iter0_data_3_val7_phi_reg_299 = 'bx;
|
| 646 |
+
|
| 647 |
+
assign ap_phi_reg_pp0_iter0_data_4_val8_phi_reg_312 = 'bx;
|
| 648 |
+
|
| 649 |
+
assign ap_phi_reg_pp0_iter0_data_5_val9_phi_reg_325 = 'bx;
|
| 650 |
+
|
| 651 |
+
assign ap_phi_reg_pp0_iter0_data_6_val10_phi_reg_338 = 'bx;
|
| 652 |
+
|
| 653 |
+
assign ap_phi_reg_pp0_iter0_data_7_val11_phi_reg_351 = 'bx;
|
| 654 |
+
|
| 655 |
+
assign ap_ready = ap_ready_sig;
|
| 656 |
+
|
| 657 |
+
assign icmp_ln46_fu_464_p2 = ((ap_phi_mux_phi_ln46_phi_fu_250_p6 == 3'd7) ? 1'b1 : 1'b0);
|
| 658 |
+
|
| 659 |
+
assign w_fu_418_p17 = 'bx;
|
| 660 |
+
|
| 661 |
+
assign w_index_fu_458_p2 = (ap_phi_mux_phi_ln46_phi_fu_250_p6 + 3'd1);
|
| 662 |
+
|
| 663 |
+
endmodule //myproject_dense_resource_rf_leq_nin_ap_fixed_ap_fixed_36_16_5_3_0_config58_mult_s
|
myproject_prj/solution1/syn/verilog/myproject_dense_resource_rf_leq_nin_ap_fixed_ap_fixed_40_20_5_3_0_config7_mult_s_w7_ROMUhA.v
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// ==============================================================
|
| 2 |
+
// Generated by Vitis HLS v2024.1
|
| 3 |
+
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
| 4 |
+
// Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.
|
| 5 |
+
// ==============================================================
|
| 6 |
+
`timescale 1 ns / 1 ps
|
| 7 |
+
module myproject_dense_resource_rf_leq_nin_ap_fixed_ap_fixed_40_20_5_3_0_config7_mult_s_w7_ROMUhA (
|
| 8 |
+
address0, ce0, q0,
|
| 9 |
+
reset, clk);
|
| 10 |
+
|
| 11 |
+
parameter DataWidth = 250;
|
| 12 |
+
parameter AddressWidth = 7;
|
| 13 |
+
parameter AddressRange = 72;
|
| 14 |
+
|
| 15 |
+
input[AddressWidth-1:0] address0;
|
| 16 |
+
input ce0;
|
| 17 |
+
output reg[DataWidth-1:0] q0;
|
| 18 |
+
|
| 19 |
+
input reset;
|
| 20 |
+
input clk;
|
| 21 |
+
|
| 22 |
+
|
| 23 |
+
(* rom_style = "block" *)reg [DataWidth-1:0] rom0[0:AddressRange-1];
|
| 24 |
+
|
| 25 |
+
|
| 26 |
+
initial begin
|
| 27 |
+
|
| 28 |
+
$readmemh("./myproject_dense_resource_rf_leq_nin_ap_fixed_ap_fixed_40_20_5_3_0_config7_mult_s_w7_ROMUhA.dat", rom0);
|
| 29 |
+
end
|
| 30 |
+
|
| 31 |
+
|
| 32 |
+
always @(posedge clk)
|
| 33 |
+
begin
|
| 34 |
+
if (ce0)
|
| 35 |
+
begin
|
| 36 |
+
q0 <= rom0[address0];
|
| 37 |
+
end
|
| 38 |
+
end
|
| 39 |
+
|
| 40 |
+
|
| 41 |
+
endmodule
|
| 42 |
+
|
myproject_prj/solution1/syn/verilog/myproject_dense_resource_rf_leq_nin_ap_fixed_ap_fixed_41_21_5_3_0_config12_mult_s_w12_Rceu.v
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// ==============================================================
|
| 2 |
+
// Generated by Vitis HLS v2024.1
|
| 3 |
+
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
| 4 |
+
// Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.
|
| 5 |
+
// ==============================================================
|
| 6 |
+
`timescale 1 ns / 1 ps
|
| 7 |
+
module myproject_dense_resource_rf_leq_nin_ap_fixed_ap_fixed_41_21_5_3_0_config12_mult_s_w12_Rceu (
|
| 8 |
+
address0, ce0, q0,
|
| 9 |
+
reset, clk);
|
| 10 |
+
|
| 11 |
+
parameter DataWidth = 1018;
|
| 12 |
+
parameter AddressWidth = 7;
|
| 13 |
+
parameter AddressRange = 72;
|
| 14 |
+
|
| 15 |
+
input[AddressWidth-1:0] address0;
|
| 16 |
+
input ce0;
|
| 17 |
+
output reg[DataWidth-1:0] q0;
|
| 18 |
+
|
| 19 |
+
input reset;
|
| 20 |
+
input clk;
|
| 21 |
+
|
| 22 |
+
|
| 23 |
+
(* rom_style = "block" *)reg [DataWidth-1:0] rom0[0:AddressRange-1];
|
| 24 |
+
|
| 25 |
+
|
| 26 |
+
initial begin
|
| 27 |
+
|
| 28 |
+
$readmemh("./myproject_dense_resource_rf_leq_nin_ap_fixed_ap_fixed_41_21_5_3_0_config12_mult_s_w12_Rceu.dat", rom0);
|
| 29 |
+
end
|
| 30 |
+
|
| 31 |
+
|
| 32 |
+
always @(posedge clk)
|
| 33 |
+
begin
|
| 34 |
+
if (ce0)
|
| 35 |
+
begin
|
| 36 |
+
q0 <= rom0[address0];
|
| 37 |
+
end
|
| 38 |
+
end
|
| 39 |
+
|
| 40 |
+
|
| 41 |
+
endmodule
|
| 42 |
+
|
myproject_prj/solution1/syn/verilog/myproject_dense_resource_rf_leq_nin_ap_fixed_ap_fixed_41_21_5_3_0_config12_mult_s_w12_Rcgu.v
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// ==============================================================
|
| 2 |
+
// Generated by Vitis HLS v2024.1
|
| 3 |
+
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
| 4 |
+
// Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.
|
| 5 |
+
// ==============================================================
|
| 6 |
+
`timescale 1 ns / 1 ps
|
| 7 |
+
module myproject_dense_resource_rf_leq_nin_ap_fixed_ap_fixed_41_21_5_3_0_config12_mult_s_w12_Rcgu (
|
| 8 |
+
address0, ce0, q0,
|
| 9 |
+
reset, clk);
|
| 10 |
+
|
| 11 |
+
parameter DataWidth = 506;
|
| 12 |
+
parameter AddressWidth = 8;
|
| 13 |
+
parameter AddressRange = 144;
|
| 14 |
+
|
| 15 |
+
input[AddressWidth-1:0] address0;
|
| 16 |
+
input ce0;
|
| 17 |
+
output reg[DataWidth-1:0] q0;
|
| 18 |
+
|
| 19 |
+
input reset;
|
| 20 |
+
input clk;
|
| 21 |
+
|
| 22 |
+
|
| 23 |
+
(* rom_style = "block" *)reg [DataWidth-1:0] rom0[0:AddressRange-1];
|
| 24 |
+
|
| 25 |
+
|
| 26 |
+
initial begin
|
| 27 |
+
|
| 28 |
+
$readmemh("./myproject_dense_resource_rf_leq_nin_ap_fixed_ap_fixed_41_21_5_3_0_config12_mult_s_w12_Rcgu.dat", rom0);
|
| 29 |
+
end
|
| 30 |
+
|
| 31 |
+
|
| 32 |
+
always @(posedge clk)
|
| 33 |
+
begin
|
| 34 |
+
if (ce0)
|
| 35 |
+
begin
|
| 36 |
+
q0 <= rom0[address0];
|
| 37 |
+
end
|
| 38 |
+
end
|
| 39 |
+
|
| 40 |
+
|
| 41 |
+
endmodule
|
| 42 |
+
|
myproject_prj/solution1/syn/verilog/myproject_dense_resource_rf_leq_nin_ap_fixed_ap_fixed_41_21_5_3_0_config31_mult_s_w31_Rnbc.v
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// ==============================================================
|
| 2 |
+
// Generated by Vitis HLS v2024.1
|
| 3 |
+
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
| 4 |
+
// Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.
|
| 5 |
+
// ==============================================================
|
| 6 |
+
`timescale 1 ns / 1 ps
|
| 7 |
+
module myproject_dense_resource_rf_leq_nin_ap_fixed_ap_fixed_41_21_5_3_0_config31_mult_s_w31_Rnbc (
|
| 8 |
+
address0, ce0, q0,
|
| 9 |
+
reset, clk);
|
| 10 |
+
|
| 11 |
+
parameter DataWidth = 505;
|
| 12 |
+
parameter AddressWidth = 7;
|
| 13 |
+
parameter AddressRange = 72;
|
| 14 |
+
|
| 15 |
+
input[AddressWidth-1:0] address0;
|
| 16 |
+
input ce0;
|
| 17 |
+
output reg[DataWidth-1:0] q0;
|
| 18 |
+
|
| 19 |
+
input reset;
|
| 20 |
+
input clk;
|
| 21 |
+
|
| 22 |
+
|
| 23 |
+
(* rom_style = "block" *)reg [DataWidth-1:0] rom0[0:AddressRange-1];
|
| 24 |
+
|
| 25 |
+
|
| 26 |
+
initial begin
|
| 27 |
+
|
| 28 |
+
$readmemh("./myproject_dense_resource_rf_leq_nin_ap_fixed_ap_fixed_41_21_5_3_0_config31_mult_s_w31_Rnbc.dat", rom0);
|
| 29 |
+
end
|
| 30 |
+
|
| 31 |
+
|
| 32 |
+
always @(posedge clk)
|
| 33 |
+
begin
|
| 34 |
+
if (ce0)
|
| 35 |
+
begin
|
| 36 |
+
q0 <= rom0[address0];
|
| 37 |
+
end
|
| 38 |
+
end
|
| 39 |
+
|
| 40 |
+
|
| 41 |
+
endmodule
|
| 42 |
+
|
myproject_prj/solution1/syn/verilog/myproject_dense_resource_rf_leq_nin_ap_fixed_ap_fixed_41_21_5_3_0_config31_mult_s_w31_Rndc.dat
ADDED
|
@@ -0,0 +1,144 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
043FFE3FFC2005000C1FFE800D5FF5FFDE800420058004AFFA7FFF1000F0018
|
| 2 |
+
01C003D000EFF95FFC6FFFBFFC9FF23000E0005FFAA0009FFD2FFED0014FF6C
|
| 3 |
+
1C8FFECFFDF0059FFD70016FFBAFEF5007DFFCDFFD6FFF0FFC8FFC2FFB60086
|
| 4 |
+
0DBFFC1FFE2FFC5005CFFF300B0FFF3FF4300B4006AFFCEFFFDFFFA000BFFAE
|
| 5 |
+
063000EFFFCFFE9FFA4FFC2FFBCFF49FFDD00790009FFF3FFEFFFD8FFE50068
|
| 6 |
+
01000030020000CFFD5FFFEFFE0FF9FFF2A0003FFDC0046FFB6FF85FFB400A8
|
| 7 |
+
1FFFFEA0027FFFF0008FF920050FF83FFC9FFBFFFFFFFE7FFCF0052003F0054
|
| 8 |
+
1D500130004FFC7FF69FFE60018006F00190040FF96FFE500350017000900BD
|
| 9 |
+
1EA004800240014FFB70003FF5DFFD5FFB3FFE00006003E001AFFFF0047007D
|
| 10 |
+
1FE00090025FF51FFDCFFF7FED601040048FFDDFECBFF9F00A7004AFFCDFFA5
|
| 11 |
+
1AAFFED0049FFC4FF8CFFF6FFAB017201E0FFEFFFD6FFCC0006001FFFFEFFBD
|
| 12 |
+
0EDFFC5FFC7FFDFFFA1FFEBFF98FF9D0039003400410010FFC2FFE1FFD10004
|
| 13 |
+
0BBFFFAFFD8FFED002AFFBE0037FF9CFF4F008B006C002FFFDAFFEA000DFF25
|
| 14 |
+
00200030039FFA5FFB40001FFA4FFC70047002A0038FF9100180030FFCBFF57
|
| 15 |
+
1C300080014FFC6FFBEFFF2FF3900FE0168FFEFFFC6FFE10041000A0005000F
|
| 16 |
+
1DCFF7BFFC20014000E00230061FF7BFFAC002A0035FFE2FFBBFFDEFFF40098
|
| 17 |
+
03FFFEC0012FFC5006A0019007BFFFFFFD8005B007A0009001B00320046FF35
|
| 18 |
+
0140041FFFEFFA5FFA20011FFDBFEE9FFA2FFF7FFC00005FFD7FFEC0000FF6A
|
| 19 |
+
1EB00000006001CFF8A000D0038FFF4008FFFEA0028001300140011FFCD0048
|
| 20 |
+
0DFFFA0FFDEFFA000ACFFE5013C0011004D00940037FFDA001AFFF80008FFD5
|
| 21 |
+
06DFFFF0017FFACFFB5FFF6FFCDFFBE006300760006FFEBFFE9FFDC0004009A
|
| 22 |
+
008FFFD0002002DFFF1FFD20017FF9AFFD3002EFFE10081FFCAFFAAFF87001D
|
| 23 |
+
03EFFE70026FFEFFFE9FFC4001DFFD80015FF9C0024FFEEFFFE005A0013FFE6
|
| 24 |
+
1EDFFF5FFDCFFC2FF3FFFE9FFF600AEFFE50034FFB3FFA8009E0034FFF7005A
|
| 25 |
+
1F0006A002C0041FFAFFF91FF67FF8A007FFFE4FFF4003F002300070029FF4D
|
| 26 |
+
1FF0022FFDAFF60FF88002FFFA200B6FF60FFE1FF88FFD7008C0020FFAC002F
|
| 27 |
+
00EFFAE0031FF98FFDFFFD200530091FFC800260008FFD900130049FFF80023
|
| 28 |
+
0B5FFBCFFC2FFA3FF7DFFF7FF86FFEB0063004C002B000FFFBEFFE5FFD2FFBF
|
| 29 |
+
0A1FFFCFFDBFFEBFFEFFFDA0044FFBCFF7600A900800021FFF1FFF00009FF8B
|
| 30 |
+
1E4FFEF0034FF8AFFE6000B0013FF8D000000320025FF8E0023004AFFB6FFBB
|
| 31 |
+
0070024000E0038FFDA0008FF7F0055FF7D0011FFFDFFE10009FFDAFFA4FFBB
|
| 32 |
+
1E6FF7AFFF7FFF80047FFFD006AFF95008F002DFFD8FFFBFFD4FFF00017FFE3
|
| 33 |
+
188FFC6FFD60001FFD10054FFB700950058FFDEFFD9001B0004FFEEFF8900BD
|
| 34 |
+
00300290015FF6FFF94FFFDFFDFFF0C004CFFF7FF95FFD3FFDFFFF0000AFF89
|
| 35 |
+
1DCFFFDFFF1002AFFEBFFFD000D00B30022FFAFFFFEFFDC0044001CFFFC0043
|
| 36 |
+
0D5FFC40001FFA7012FFFE70170001BFFA500D50046FFE7000400130031FF66
|
| 37 |
+
1E8001B0016FFCCFF74FFE3FFA2FF4CFFAA008AFFD8FFD1FF9BFFDD001D0032
|
| 38 |
+
01A00130027FFFAFFF000000000FF74FF36FFEAFFE40078FF9EFF85FF79FFCD
|
| 39 |
+
1D7FFEF00010006FF7BFFC1FFDDFFBA006DFFC6FFA2FFEAFFD500260039FF85
|
| 40 |
+
16CFFDCFFA3FFE4FECF0041FFA3014100A9005EFF4BFF9300AB004FFFDF0146
|
| 41 |
+
1EF003F002EFFE8FF860013FF6FFFA0FFB1FFD2FFDC00290000FFF7002CFFC6
|
| 42 |
+
1F10014FFF2FF55FEF3006FFEAE00AC00B1FFDDFF56FFC800920014FFB500F9
|
| 43 |
+
03EFFF4FFD0002E0007FFC600C7FF55FFB6FFED008A002FFF60FFD7007EFFA5
|
| 44 |
+
07AFFDAFFEEFFA7FFA0FFF5FFAEFFCA005700610051FFFCFF94FFE0000BFFCB
|
| 45 |
+
0A0FFF8FFEBFFF30068FFB5008DFFC6FEFD00BE006CFFEDFFDE00090027FF02
|
| 46 |
+
00F0018004AFF98FFD4FFEAFFCFFFB8FFDB0028000DFF80001A0032FF9FFF35
|
| 47 |
+
1F00014FFECFFE6FF78003BFF2C009800910015FF910003000DFFC0FFB90053
|
| 48 |
+
1C2FFC7FFFFFFF1003000000049FFA2FFDE0032FFD0000CFFC1FFD7000E0020
|
| 49 |
+
040FFE7FFE50005FFB60052003CFFACFEAD0045FFF9000AFFD9FFF9FFEA0031
|
| 50 |
+
00D002B0024FF700030FFECFFEBFFA8FFD8FFF5FF9F0017FFF400000009FF94
|
| 51 |
+
002FFE1000D000DFFCE0021FFAAFF67FFC7FFDDFF7CFFF2FFE4FFBFFFB0002C
|
| 52 |
+
0D3FFDDFFBBFFDD002AFFEA004000060004004C0097FFE8FFE5FFE0FFEA004D
|
| 53 |
+
0720019FFF1FFD0FFE9FF8FFFB6001EFFD900770019FFF5FFF0FFCFFFD8FFA2
|
| 54 |
+
1FC0006FFEE003CFFC80021FFF5FF9500490018FFEA0085FFB8FF99FFD20076
|
| 55 |
+
01EFFD20032FFD4003DFFF60030005BFFCCFF98FFEFFFC7003D00A50047FFD4
|
| 56 |
+
018000B002BFFBF0011FF8D001DFFCCFFA40025000000190044001D00270017
|
| 57 |
+
1CE0064FFC00032FFB5FFE8FF6E00100069FFE7FFF80057001FFFFD0006FFD2
|
| 58 |
+
1F9FFE10071FFAAFFD0FFD1FF7D002300120008FF69FFE700520032FFF1FFE2
|
| 59 |
+
00BFFF8003FFFCD0011FFA8FFBF00D50118FFB80084FFAC000A00260045FFF7
|
| 60 |
+
0BDFFFBFFD4FFB0FFF6FF9BFFA000130004001C00B50001FFBAFFD1FFDCFF3A
|
| 61 |
+
045FFD2000BFFBC003BFFE5FFFA0003002F0048004CFFE7FFF40014FFF8FFC2
|
| 62 |
+
1E0FFFF003AFFB9FF41FFF8FFE4003FFFE0004B0027FFD000330044FFA4FFF4
|
| 63 |
+
1EBFFEB004BFF9FFFDCFFEB001DFFC0006C001D0021001B004500460068FFEC
|
| 64 |
+
01BFF8BFFDCFFF5000D003E0030FF9BFFF50091FFD0FFD8003D0016FFE800FC
|
| 65 |
+
04EFFDE003CFF93FFF9007000510053FFC600520062FFC8003E00540045FFFD
|
| 66 |
+
1F10034FFE4FF87FFDA00010012FF6DFF890003FFDE0024FFEE0004FFEA0007
|
| 67 |
+
03CFFD90040FFCA001DFFF50060FFECFFCB0012FFE40009004E0034FFD2005F
|
| 68 |
+
0C7FFB7FFC2FFAC0042FFEE009E001900B300560053FFE9000DFFE7FFC7000B
|
| 69 |
+
061FFF8FFEAFFA4FFE8FFEBFFD9008C002B0079003CFFD90010FFD8FFDB000D
|
| 70 |
+
008FFFFFFDB00500006FFE7FFFDFF8700DB003CFFF7008BFFC9FFD9FFA0FFD9
|
| 71 |
+
04BFFD30043FFCB0087FFF900390060FF51FFA2001DFFC4008700B9001A0023
|
| 72 |
+
035000A001BFFB5004FFF5CFFFEFFCCFF4B00250013FFE6008F001C002AFFDF
|
| 73 |
+
1D70086FFDD003DFFA5FFBCFF6F000C00E70009FFF40058003D0015FFF5FF80
|
| 74 |
+
1F00005003CFF74FFD7FFF5001AFFB6FF3CFFF9001F0024001B0006FFDE0021
|
| 75 |
+
033FFC70044FF97003CFF790059FFF5FFFD00240067FFAB002100360009FFF1
|
| 76 |
+
080FFD0FFC1FF93FFD6FFB8FFAA00540079003000BD001CFFAEFFD6FFCEFF3F
|
| 77 |
+
03FFFC70004FFC7FFDB000F00070020FFA700530047FFE100000025FFC30028
|
| 78 |
+
1BFFFDA0028FFB6FF800006003FFFC7FFA80070002FFFE500320056FF8A0030
|
| 79 |
+
03300220021FFFCFFB2FFFA002AFEF6FDEB00670017001A00350015FFE7FFEE
|
| 80 |
+
036FF71FFEEFFFD004C001B0062FFC800D100A8FF94FFDC00500010FFF5FFD8
|
| 81 |
+
1A7FFFE0035FFC8FF89001DFF8600320075FFB9FFCDFFD00009001EFFCF0133
|
| 82 |
+
0050025001CFF5DFFB8FFFB0026FFAD0003000AFFA0FFD900040009000F0046
|
| 83 |
+
02FFFC50034FFCF0008FFF0001200470007FFD7FFADFFAB005C0069FFF100EC
|
| 84 |
+
0BFFFE6FFE0FFCC009AFFDB0062001C002200AA0053FFF0FFFEFFF00011FF9F
|
| 85 |
+
1E30008FFF2FFBAFFBCFFECFF88FFEAFFD40079FFF4FFC1FFC0FFCFFFEAFFA1
|
| 86 |
+
019001AFFF4002100030007FFEFFF7EFFF70011000000A7FFA2FF81FFA0FF89
|
| 87 |
+
1FBFFCF0027000D00350025FFF200600007FF9DFF97FFDF0040006F0026FFC9
|
| 88 |
+
1C1FFD9FFDBFFD3FFDFFFB5FFCF00A9000C003AFF86FFB500AC003A00280088
|
| 89 |
+
1DB006FFFF00008FF6FFFDFFF63FFC50036FFEAFFF1004700130013FFF0FF79
|
| 90 |
+
1E4FFEB0029FF9DFFD3000CFFC8FFE1FFDEFFF8FFF4000600400000FFE3000B
|
| 91 |
+
054FFF9FFE1001B003DFFE3004DFFA8004C002C007BFFEFFFC2FFDD0052FF7E
|
| 92 |
+
042FFECFFD6FF99FFCBFFC9FF89003E0030004400ABFFFBFFA1FFE00007FF68
|
| 93 |
+
047FFD70009FFA6FFE5FFE800100017FFB6008B0071FFD9FFC80008FFF6FF86
|
| 94 |
+
1F6FFF7003AFFB5FF8900120006FFF4FFE000510010FFB7001B003EFF71FFCE
|
| 95 |
+
018000A0008FFD3FF45FFFFFFE9FF88FFD10040FFBD0030001CFFF2FFFB0063
|
| 96 |
+
02DFFA1FFE7000B004500150037FFBFFFA1008FFF99FFDD0039FFFB0002FFA7
|
| 97 |
+
1F2FFD9FFE20045FFE700270005FFEBFF57000900460019FFAFFFD8FFCB0017
|
| 98 |
+
02A00030095FF5F0069FFCBFFA3FFD1FFF6FFFAFF3FFFB6004000350021FFD1
|
| 99 |
+
1E30003FFB1003FFF4CFFE0FF76FF58FFD1FF6DFF9DFFF8FFB4FFB3FF9FFFEB
|
| 100 |
+
0AEFFEEFFCC00170018FFEF006C005BFF54007E00680008FFE0FFEEFFE80056
|
| 101 |
+
0660033FFF0FFD7FF88FF33FFDB0002FF5C00C7FFE40014FFB9FFE1FFD3FFF5
|
| 102 |
+
1FA0035FFED00220021003AFFF1FF7EFF94FFD4FFDB0043FF9CFF83FFCF005F
|
| 103 |
+
1A4FFDE0046FFD3FFECFFA7000F0044000FFF68FFDFFF97FFCF005F0063FF71
|
| 104 |
+
1E90006000DFFADFFF3FF9D0006FFBDFFB5001CFFCA002BFFDCFFF5002FFFCF
|
| 105 |
+
1DB0067FFE7000FFF960018FF82FFE8FFAEFFB80006001A001300410011FFE9
|
| 106 |
+
1F4FFF500050037FFEE0014001CFFDEFFF0FFFCFF8A000BFFF4FFE7FFE50015
|
| 107 |
+
023002AFFCFFFFEFFF9FFFF002E000A000EFFBE008E0027FF8EFFCD00220056
|
| 108 |
+
0A10024FFF3FFF0FFDBFFAFFFFCFFD7FEB200630078000BFFBAFFE1FFFA0063
|
| 109 |
+
1FC00110020FFE20110FFB2FFF0002F02340029FFDBFFD60002FFF9004AFFB7
|
| 110 |
+
1DC00260026FFA3FED4FFDEFFF3004A006300310024FFC0002A001DFF56FFF7
|
| 111 |
+
181FF9F006DFFEC014EFF87FF9000100296FFA1FFF5FFB50043003F00C9FFCF
|
| 112 |
+
02CFFF1FFB5FFD8FFED006C007DFFB0FE63007BFFE50017FFCDFFDEFF7B00DD
|
| 113 |
+
1DBFFCD0043FFBA0084004AFFE4006100BF000E0086FFE4000200360037003D
|
| 114 |
+
00800000082FF6E0035FFDDFFBBFFD7FFD80009FF7CFFE90032003F002F004B
|
| 115 |
+
00EFFE90026FFC1FFBCFFA30008FFB70088FF85FFDF0003002B0047FFEF00C7
|
| 116 |
+
0A2FFC3FFB8FFFEFFC40007008D0067FFE100940021000EFFECFFDFFFBF0002
|
| 117 |
+
052000FFFE7FFC1FF7DFF89FFCC004D000200B4FFF4000AFFD8FFE2FFCE006A
|
| 118 |
+
1FA0033FFE2002900400034FFFEFF5E00410009FFDC0059FFC3FF9EFF95FFD5
|
| 119 |
+
1E2FFDD003CFFE3000AFFBFFFB7005FFFC1FF7BFFF3FFCB0006008A004DFFFD
|
| 120 |
+
00DFFFA0028FFB70037FF60FFC60009FFF30036FFD10018002B00120039FFFA
|
| 121 |
+
1E30078FFD10040FF9E0001FF86FFEE007CFFEDFFD90045003800330023FFE1
|
| 122 |
+
1E900120009FFE9FFC5001B0030FFC6FF07000FFFF0001CFFF1FFDFFFC3FFE1
|
| 123 |
+
035FFE20006FFA10005FFC10046FFD6FF76004D0012FFEFFFD60007FFF90032
|
| 124 |
+
07AFFFBFFCCFFDCFFBCFFCF00200026FF94009C004B001BFFBBFFDEFFE10023
|
| 125 |
+
1FAFFDDFFFEFFFC0075FFF8FFE30051007F0053FFF0FFE2FFEEFFFEFFDEFFFF
|
| 126 |
+
1D20000001FFF8FFF06FFEC0039FFFF0019005A001BFFC10027003AFF360055
|
| 127 |
+
1E6FFC80029001F00ACFFDFFF9AFFDBFFCC00130008FFDA0031001B00180056
|
| 128 |
+
037FFC6FFB70009000900430086FFDAFF940084FFAD000EFFF0FFE2FF80FFE5
|
| 129 |
+
13A0022004EFFD60053FFCFFF66FFE901C7FF8DFFEBFFD1FFBEFFDB000101EB
|
| 130 |
+
00100070088FF47FFF9FFCF0013FFDD00B40000FF77FFB4004E003A003200D7
|
| 131 |
+
1DFFFCF007CFF66FFFCFF85FFD3FFD50062FF5DFF64FF91004A0087001B01AD
|
| 132 |
+
077FFF6FFBF0004003DFFFD0069001BFF3C00E3FFFD0003FFE3FFE3FFF6FFE4
|
| 133 |
+
000000DFFECFFCBFF69FF96FFA8FFEFFF6D00C5FFAAFFFCFFA3FFDEFFD90040
|
| 134 |
+
011003E0000FFFB003E003EFFEEFF55FF33FFF6FFE7005AFF8CFF61FF89FFA6
|
| 135 |
+
1B1FFE5002DFFEEFFF00001FFC1005CFFDAFF77FF8BFFDBFFE500460056FFDC
|
| 136 |
+
1C3FFDCFFFBFFC9FFF9FF7AFFCC007F004A0025FF7DFFD10043001B00450050
|
| 137 |
+
1FC0042FFF5FFF5FF9B0011FF85FFEBFFBAFFE4FFD5001A0012004500210038
|
| 138 |
+
1E4FFFFFFE70009FFD800240044FFF7FFCCFFFEFFF90018FFE8FFC1FFD4FF38
|
| 139 |
+
01CFFF6FFD40016FFFD00320050FFDBFF8D004500540003FF94FFE20029FFB1
|
| 140 |
+
05CFFFDFFDDFFE3FFDDFFDFFFEFFFE7FF5600C50023FFFEFFADFFF3000D0032
|
| 141 |
+
1FDFFD5FFD10000FFD8FFFDFFCDFFFC00400096001AFFC9FFB2FFD8FFEFFF64
|
| 142 |
+
1F70019002EFFA1FF150001FFF8FFDC001D00250000FF9F00230030FF26FFAA
|
| 143 |
+
1DEFFC30004FFFEFFFAFFBAFF8300170132001BFFC6FFD60031FFF700060108
|
| 144 |
+
01F0013FFBE0017003800250080FF8EFE650066FFC50019FFB0FFD5FFA6FF75
|
myproject_prj/solution1/syn/verilog/myproject_dense_resource_rf_leq_nin_ap_fixed_ap_fixed_41_21_5_3_0_config9_mult_s_w9_ROMbrm.v
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// ==============================================================
|
| 2 |
+
// Generated by Vitis HLS v2024.1
|
| 3 |
+
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
| 4 |
+
// Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.
|
| 5 |
+
// ==============================================================
|
| 6 |
+
`timescale 1 ns / 1 ps
|
| 7 |
+
module myproject_dense_resource_rf_leq_nin_ap_fixed_ap_fixed_41_21_5_3_0_config9_mult_s_w9_ROMbrm (
|
| 8 |
+
address0, ce0, q0,
|
| 9 |
+
reset, clk);
|
| 10 |
+
|
| 11 |
+
parameter DataWidth = 506;
|
| 12 |
+
parameter AddressWidth = 7;
|
| 13 |
+
parameter AddressRange = 72;
|
| 14 |
+
|
| 15 |
+
input[AddressWidth-1:0] address0;
|
| 16 |
+
input ce0;
|
| 17 |
+
output reg[DataWidth-1:0] q0;
|
| 18 |
+
|
| 19 |
+
input reset;
|
| 20 |
+
input clk;
|
| 21 |
+
|
| 22 |
+
|
| 23 |
+
(* rom_style = "block" *)reg [DataWidth-1:0] rom0[0:AddressRange-1];
|
| 24 |
+
|
| 25 |
+
|
| 26 |
+
initial begin
|
| 27 |
+
|
| 28 |
+
$readmemh("./myproject_dense_resource_rf_leq_nin_ap_fixed_ap_fixed_41_21_5_3_0_config9_mult_s_w9_ROMbrm.dat", rom0);
|
| 29 |
+
end
|
| 30 |
+
|
| 31 |
+
|
| 32 |
+
always @(posedge clk)
|
| 33 |
+
begin
|
| 34 |
+
if (ce0)
|
| 35 |
+
begin
|
| 36 |
+
q0 <= rom0[address0];
|
| 37 |
+
end
|
| 38 |
+
end
|
| 39 |
+
|
| 40 |
+
|
| 41 |
+
endmodule
|
| 42 |
+
|
myproject_prj/solution1/syn/verilog/myproject_dense_resource_rf_leq_nin_ap_fixed_ap_fixed_41_21_5_3_0_config9_mult_s_w9_ROMbtn.dat
ADDED
|
@@ -0,0 +1,144 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
10AFF960047FFC4FFE2FFBF001FFFA700AD00CD001AFF790002FF56003AFF96
|
| 2 |
+
7F1FFCDFFB0FFF2FFE7FF8B00380050FFF20021FFD3FFDB0004FFC0FFFC0057
|
| 3 |
+
7ABFF5B001700240048001E001F00AE009700A2FFC3FFF10067FF9AFFE2FFBA
|
| 4 |
+
6CDFF8E001BFFC6FFC200020015FFA7FFEDFF7EFFA20074FFFEFFEBFFFC0008
|
| 5 |
+
552FF980072FFDE00290003FFE3FFBCFFF80012000BFFD900C7002B0009001B
|
| 6 |
+
01000450001001A005EFFF5004C002BFFB6FEF0FFC1008900160064FFD2FFC7
|
| 7 |
+
7C7FFD8FF85FFDCFF6200480032FFFC00AC0077FFEEFF7CFF47FFA2FFD3FFBB
|
| 8 |
+
00F007BFFB2002C007FFF6FFFEC0039009F0029FFFCFFCEFF92FFCA0005FFEA
|
| 9 |
+
7F20020FFE1FFF0FFF2FF2DFFDE000400B80046FFC80017FFE3FF73FFF0007C
|
| 10 |
+
0BDFF50004DFFC3FFB8FF97002B001200FF00AD000BFFF8004AFF57001D0003
|
| 11 |
+
764FF8C004B0011000C000D0036FFB1FFBDFEC0FFCD0073000F003CFFD10033
|
| 12 |
+
7E4FFD1005600050007FFB4FF6D00080020FFE40002FF7BFFEF0000FFF60008
|
| 13 |
+
7BEFF6F0028FFD1001EFFF000750010FFAFFF4AFFB30098002AFFB0FFDFFFCD
|
| 14 |
+
7C3005EFFC1FFBA0089FFBFFFF0FF9400DF007CFFCDFFB7FF96FF7BFFDE002D
|
| 15 |
+
1CEFF92FFDDFFF3FFCAFFBE0011002BFFAE0059FFF60048FFC7FFD3FFF9FFCB
|
| 16 |
+
61EFFF4FFE8000E0024FF9F0029FFF0FFDFFFCB000DFF58FFCDFF55FFEF0063
|
| 17 |
+
0A2FFEA005DFFF5FFD0000F0029FF90FFDD004B004AFFCFFFCEFF630032FFDE
|
| 18 |
+
009001BFFE9FFE80050FFE7FFF1FFB7002B0058FFBCFFE0FFF5FF9AFFF40000
|
| 19 |
+
6D2FFAE001B004DFFF2FFF20048FFEBFFC5000BFFECFFB5FFF3FFE1FFD6001E
|
| 20 |
+
021000FFFC40041FFABFFF30055006A002100020023FFBFFFD8FFEEFFF4FFD9
|
| 21 |
+
77AFFF90059003B00240015FF95FFA2FFB800B10002001AFFF0FFF400120015
|
| 22 |
+
070002DFFF5FFEE0012001500650096FF79FFB20002FF9B0017FFFEFFC4000B
|
| 23 |
+
046FFF9FFFB0020FFD3005FFFE1FF750094003B000E0012FFF1FF8FFFD7FFE3
|
| 24 |
+
7D8002DFFF4006DFFFAFFAF001B004FFFEDFFDC001F0027FFF2FFCDFFFC0023
|
| 25 |
+
09700200044FFFF0082FF5CFFE8FFDE000100A1FFD3FFA8FF9EFF85FFDF004F
|
| 26 |
+
07A003000830016FFADFFB80015FFA6FFA70000001BFF4A0022FF88FFFDFFC6
|
| 27 |
+
735FF97FFF7FF55FF9A0064001DFF97FF57FF3FFF5FFFDD0006007EFFEA0000
|
| 28 |
+
77600860000002CFFACFFEBFF72FFF2FFE30002004EFFC7FFC90010FFF5FFD1
|
| 29 |
+
73DFFB6FFC0FF63FFD1FFC50057FFEF0048FF5AFFF10078006EFFD6FFE7FFEC
|
| 30 |
+
0160011000500B8FFE1FFD4FF95FF40007500170024FF69FF8EFFA4FFDC001F
|
| 31 |
+
7DE004B000EFFE3FFD2FFF4FFE2FFC80058FFE30015FFA50009FFBFFFF30019
|
| 32 |
+
7B7FFFA002F0041004FFF63FFCCFFD9005400910053FF78FFBBFF7800040068
|
| 33 |
+
7DF005A0023FFE8FFD70047002AFF91FFFDFFF6002DFF58FFFCFFFA00040009
|
| 34 |
+
7F40068FF7BFFF60064000E000BFFE700440004FFC70026002FFF5AFFDE002A
|
| 35 |
+
01800B90020FFCAFFC5FFE7006CFFF90017FF9100110015FFA4FF84FFDD0020
|
| 36 |
+
0F90053FF50001DFFFB000800390096FFC0000800680020003CFFECFFFF0003
|
| 37 |
+
0B2FFBC008BFFCFFF90FFE6FFEDFFEAFF6E0084FFDCFFEFFFAD0002000C0064
|
| 38 |
+
744FF57FFCCFFCD0043FFEA0081005F0045FFFF001DFFFB002B001B0004FFD5
|
| 39 |
+
030004BFFF40073002E0015FFF8FFE9000CFFA90045FFE5008BFF58FFE9FFFB
|
| 40 |
+
768FF4AFF7F0086FFA0FFB3FFE100CFFF83FFBC0007006D0027FFEA0007FFE1
|
| 41 |
+
7F1007BFFD500410078FF70FFEEFFF5FFB2FFF20025003D000EFF7BFFF20020
|
| 42 |
+
73E0065005DFFB2FF5FFFB6FFBDFFCEFFDBFF8E0003FF9EFF90004DFFEAFFF4
|
| 43 |
+
017FFDEFF79003EFF950069FFBAFFD700A0FFCFFF6CFFD3000D002400000022
|
| 44 |
+
006FFFD008DFFCBFF6DFFBEFF9B0088FFBFFFEC002AFFFAFF78008B0004FFA3
|
| 45 |
+
7C3FFE5FF04FFC00016FFF1007FFFEB00C9FF980053000A00AEFF15FFDA0026
|
| 46 |
+
0D8FFCDFFB50086FF80FFC2FF25FF8FFFAFFFD80041FFA9FF8AFFDAFFE9FFE9
|
| 47 |
+
719004BFFFA00570019005DFFDDFFC90028FFCB0069FF2D0000000DFFEA0014
|
| 48 |
+
09800B5FFB400BB000FFF63FFD90017000A005C0070FF5AFFBFFF83FFF9005E
|
| 49 |
+
7FBFF720004FFE9006AFFD30022004C009100380002FFB2FFB6FF870006FFD3
|
| 50 |
+
02C001FFFACFFFFFEE4FFC5006F0077FF590050FFDBFF8A0035002B00440019
|
| 51 |
+
038001C00200012FFCA004C00240081FFEF006BFFCBFF5D0033FFC70037FF7D
|
| 52 |
+
02EFFACFFBAFFA0002FFFEFFFC4FF3B00D40010000C0013FFAC0041FFF8FF57
|
| 53 |
+
022FF830005003200080071FFC4FF83005A00120050FFB1005F002BFFD3FFAA
|
| 54 |
+
793000C00A6000B00DFFFEB0007FF520058FF1AFFE40020FF1B0060FFEE0019
|
| 55 |
+
7D30090FFCC0043FF77FFEDFFBA0086FF7C006DFFBCFFA4FFBAFF34001E0008
|
| 56 |
+
7E60011FFC2FFDF00E5FFA4FFDF0003FFF6FFF0FFCAFFD6FFC100770008FFC1
|
| 57 |
+
7FB005AFFBDFFF6FF05FFC90029003400110019FFC8002C001C003E000C0067
|
| 58 |
+
7C5FFDAFFEAFFD8FFCCFFB40052009E000600530019FF9A0000FFDEFFFFFFEC
|
| 59 |
+
7770025FFB7FFE5FFD3FFF1007D0025FF700018FFD8000EFFEDFF79FFF9000F
|
| 60 |
+
7D8FFFEFFE9FFF0005CFF62FFF1002400270019FFED0018FFE6FFCDFFE4FFE3
|
| 61 |
+
7CDFFFA002A00250040FFFC00CAFFFEFFF2FFFDFFDEFFE0003D00A00017FF8E
|
| 62 |
+
7930058FF9AFFFD0048FFFBFFED0069FF91005DFFBEFFAAFF97FF3900080055
|
| 63 |
+
040007EFFD30026FFE5001D000A002F0013FFE7000AFFF1FFD8FFDEFFF1FFC3
|
| 64 |
+
7940018FFB2FFEA001EFF86005FFF7000490014FFD6FFCDFFB4FF70FFFF0041
|
| 65 |
+
015FFC0FFFF00010017FF7200160063001C000C00470008FFC0FFBAFFF6FFF0
|
| 66 |
+
0660005FFC9FFDBFFEFFF9900030006FF780055FFB0FFF7002000040042FFD9
|
| 67 |
+
7BF00A80034FFE3FFFBFFF3000EFF7BFFD60040FF91FF820052FFC70016FFE6
|
| 68 |
+
7CD003C00670034FFC3FFE10005FF4F0024FF790021FFE2FF800024FFAEFF6E
|
| 69 |
+
004FF8300190004FFF000C4FFF0FF7000760058FFD5FFD30003FFD8FFD7FF9D
|
| 70 |
+
795002D001F0023FF95FFA80015FFD4FFFAFF7E0011001FFF5FFFFFFF96FFC9
|
| 71 |
+
75CFFB50000FFB8001DFF70FFDC0093FF3F0019FF83FFC1FFE3FFDC0027002A
|
| 72 |
+
7ACFFD8FFC00041006EFFC20028FFABFF38FFA1FFEC0034003900670010FFFD
|
| 73 |
+
018FFD2FFF1000FFFE5FFAA0031004BFF99000BFFBAFFECFFE60004FFFF0039
|
| 74 |
+
011FFB60035001AFF9EFFA1FFEA0029FF74003E0006FF8EFFC3FFBDFFEDFFE6
|
| 75 |
+
7FC004EFFA4FF87FFD700080032FFF1FFDD000DFF95FF7DFFE3FF2A0012FFA1
|
| 76 |
+
6E2000DFFDB00390004FFA1FFC8FFC7FFB9000E005DFFDB000C0004FFDEFFED
|
| 77 |
+
0260003FFCDFF980009FFAE006FFFE8FFEE000FFFD8FFF800780051001BFFAA
|
| 78 |
+
751FFEFFFA5FFF0FFEFFFE5FFE9003E000EFFD6FFC5FFBF002FFF58FFE2006A
|
| 79 |
+
7BB0081FFC80009003BFFACFFCC001AFF8BFFF60043FFCFFFD4FFC3000EFFF9
|
| 80 |
+
7B1FFEFFFD0000D0052FF50FFE3FFC800940048000DFFF5FF9FFF7AFFFB004C
|
| 81 |
+
7A40074FFDEFFF2FF9100050028004E0019000A0020FFF1FFDAFFFCFFDB0045
|
| 82 |
+
01A0026FFECFFE90029FFB3FFF4001BFFEC0002FFA9004B005500050016FFF5
|
| 83 |
+
7CC006E0056FF95001E003EFFD2FF8EFFEAFFAFFFDFFFE3FFB40008FFEBFFF7
|
| 84 |
+
7D30017FFF00035004D001E0058FF73FF81FFF10060003EFFF2FFF8FFDFFFD2
|
| 85 |
+
089FF3C00340026FF70FFFCFFA3FF6F006A002BFFF6FFDCFFFF004CFFE4FFE0
|
| 86 |
+
77AFFC7002F001AFFC600340039FF770015FFF7000500D2FFEE00360004FFBF
|
| 87 |
+
737FF85FFE5FFE90007FFB3FFA300E9FF26FFEEFFDFFFD2002FFFDC00110030
|
| 88 |
+
7BDFF35FFAD00A1001EFFCF000BFFFFFF33FFA7000E00570051000C0009FFD4
|
| 89 |
+
7D5FFEBFFCC0031006CFF73002B0066FF9DFFA6FFE6006D0078000CFFF50006
|
| 90 |
+
7EF01160037FFF2FF28FFF9FF8DFFBEFFFCFFF8FFDAFFFEFFBC0027FFF70027
|
| 91 |
+
073FFF7FF95FF3AFFDD000FFFE1FFBAFFF6001CFFA7FF99FFACFF45FFF3FFC7
|
| 92 |
+
6EDFF91006B003F0028FF99FFD30048FFA9FFE2008F0018FFF0005FFFFC0007
|
| 93 |
+
7D1FFF4FF81FF64002E0007008E000000190001000BFFD30022FF91FFF2FFD1
|
| 94 |
+
75FFF35FFE9005BFFFEFFBFFF900100FF70FF9300430060000F0031FFF4FFE4
|
| 95 |
+
7B900070015FFC0FFC0FFE4FFBA000EFFD1000E00150008004E001B0000002B
|
| 96 |
+
7F90031FFB300BCFFCBFF1FFFFAFFF3FFF9FFFF0029FFFCFFE6FFB1FFE30043
|
| 97 |
+
7B100520005FFEB0118FF69002EFF54FFF8FFA9FFD8FFB0FFDBFFEB0033FF4A
|
| 98 |
+
003FFBBFFC8002EFDEFFFFD00440011FF78FFE70015FF52FFD1009D006B0065
|
| 99 |
+
7F0006F00360056FF2C003DFFE7002BFFBFFFF10006FF95FFC900D50020FFFA
|
| 100 |
+
01CFFA90081FFEC016A0026FFC7FF7300FBFFFFFFEB00EF000AFFFAFFC3FFA8
|
| 101 |
+
7B7000DFFE1FFE1FFC200380034FFB60073FF4B001700030046FF27FFC3FFBA
|
| 102 |
+
0410008007F000E0123FFEB0011FF720000001CFFE7FFDDFFAFFFFEFFC9FFDF
|
| 103 |
+
79CFFEFFFE2FFC9FFA2001C002C0035FFE5FFC9FF9C00AAFFED0069FFE0FFD5
|
| 104 |
+
7EAFFD9FFCFFFE80061FFEF0009FFE4FFA1FF990000002FFFE00085004A0007
|
| 105 |
+
7F2FFDFFFC7FFC8FE4500570054FFF0FF61FF95FFEFFFFB0009007500380033
|
| 106 |
+
7EF00C8FFDAFFBC000F000900AAFFD2FF8EFF63000F0010FFDB004DFFF3FFF4
|
| 107 |
+
7D7006700020028FFAA001D00950065FFE900AA002A0068FFEDFF1F0006000D
|
| 108 |
+
027FFB8FFD4FFEE007FFFCF005FFFCFFFA6003CFFEF006AFFE50005FFFF001A
|
| 109 |
+
7A20020FFDE00490057001D00BFFF7EFFCD00480037FFA7FFE000800017FFEE
|
| 110 |
+
7F2FFE8FFAFFFC5FFC600460027FFF8FFB3FFE6FF940025FFA400C6000D0032
|
| 111 |
+
722FFFBFFC3FFF7FFFD00780029FF7DFF84FF94FFDFFF9BFFBB0037FFE4FF9E
|
| 112 |
+
0110062FF7BFFDFFFD6FFDD0026FF5300540025FFE1FFE00040FF830028FFE5
|
| 113 |
+
7BF0050FFE9FFE800FEFFAE0003FF68FFFF002F001F0002FFF30016001FFF88
|
| 114 |
+
7FDFFA0FFFB0004FF50FFDB0005FFCFFF83001BFFEE000C0002008B00830014
|
| 115 |
+
020005CFFFAFFEEFF940020FFD2FFB3FFDDFFF1FFAAFFE40070005EFFF80025
|
| 116 |
+
05C00250041FFF8002B0054FFEEFF5E009DFF9200040023FFA4FF84FF92FFAD
|
| 117 |
+
7E9FF8FFFC5FFC6FFB60050000CFFD90046FFE6FFDCFFA00010FEFFFFB4FF8A
|
| 118 |
+
7F10013FFCFFFF7005CFFB1FFBAFF92FFA2002D000100B20005003CFFDB0057
|
| 119 |
+
031FF96FF82FFEA002CFFDE007DFFF1FED3FFD9FF9D0051005200B6FFEEFFEF
|
| 120 |
+
7C5FF65FFDE00330062FF820048FFB0FEF9FF4E000800610031006F00350038
|
| 121 |
+
7E6FF9FFFF6FFDDFFB6003A00400024FF5BFF9FFFD5FFE400460054002E0018
|
| 122 |
+
7D200F2FFFEFFEB0000FFCD003EFFC0FFD0FFC0FFD6FFE4FFEE0039FFEAFFD8
|
| 123 |
+
7A700B60002001E005A002D003DFFDC000800420025FFE1FFCAFF47FFFFFF97
|
| 124 |
+
767FF5EFFCAFFF40065FF88FFBFFFAEFF4800460057005A004BFFB2FFDF0027
|
| 125 |
+
7A600040012000A0018FFC50039FF92FFB80045000FFFD9000B00600023FFF2
|
| 126 |
+
7D0FFC7FFB5FFD40035001DFFEAFF6EFF99FFF4FF9E009B00BF0027FFFE0007
|
| 127 |
+
78AFF84FF7EFFDDFFA3002C0022FFCBFF8B00300007007FFF9500450001FFE1
|
| 128 |
+
7B10030FFA6FFE4007CFF8CFFECFF810038002AFFF90041FFD7FFDB0030FFDB
|
| 129 |
+
7BB0073FF97FFEB00400002FFF2FF11FFDF0035FFF100030029FFFFFFFFFFB2
|
| 130 |
+
7A4FFDC0038FFEA0014FF79FFB9FFB8FFC30001FFC900C6007B0066005E0036
|
| 131 |
+
04AFFEBFFECFF6FFFEEFF93FF53FF290023FF66FFDC0008FFE2006FFFE30021
|
| 132 |
+
758000EFFACFFF1000400200081FF73FFCCFFB50016FF79FFA7FFA5FFB10018
|
| 133 |
+
084FFE8FFFFFFDAFF65FFD2FFB9FFB3003DFFDA0010FF66FFE40000FFC0FFBA
|
| 134 |
+
7C1FFF20019000A0050FFE5FFEAFF30FFE30014FFFC00C3002CFFE2004EFFF0
|
| 135 |
+
026FF41004800500064FFA60003FF8AFF7FFFAB000A000500AAFFC0FFEB000B
|
| 136 |
+
77EFF01FFC4004B0047FF8DFFEF003CFF19FFBC0019FFF2FFEA002000150014
|
| 137 |
+
788FFBAFFE0FFF0005AFFF0FFF8001AFF4AFF6AFFF0007000B2002A0008FFFE
|
| 138 |
+
7E300BF00030000FF91FFA6FFF7FF610001FF68FFE60077FFF0FFD20000FFE8
|
| 139 |
+
05A00B5FFC1FFCE002EFFF4FFD9FFCDFFC3FFF3FFE20014FF58FF26FFFDFFDB
|
| 140 |
+
685FF42002E001600A1FFD2000D0037FF73FFDB0087002A004C001A00040024
|
| 141 |
+
78F0037FFC0FFA20037FFA40006FF8DFFE6004200070024FFDBFFDC00000001
|
| 142 |
+
7F2FF500001000F0090FFC8FFB5FF16FF75FFB0FFE900690037FFEBFFEAFFDC
|
| 143 |
+
78FFFD6001CFFC5FF85003B0004FF5EFFD4005EFFBB01490002FFBC0030FFFD
|
| 144 |
+
7DE004AFF98FFECFFE9007B0017FF7DFFEEFFD0FFF500780061FFEC0014FFE9
|
myproject_prj/solution1/syn/verilog/myproject_dense_resource_rf_leq_nin_ap_fixed_ap_fixed_41_21_5_3_0_config9_mult_s_w9_ROMbtn.v
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// ==============================================================
|
| 2 |
+
// Generated by Vitis HLS v2024.1
|
| 3 |
+
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
| 4 |
+
// Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.
|
| 5 |
+
// ==============================================================
|
| 6 |
+
`timescale 1 ns / 1 ps
|
| 7 |
+
module myproject_dense_resource_rf_leq_nin_ap_fixed_ap_fixed_41_21_5_3_0_config9_mult_s_w9_ROMbtn (
|
| 8 |
+
address0, ce0, q0,
|
| 9 |
+
reset, clk);
|
| 10 |
+
|
| 11 |
+
parameter DataWidth = 251;
|
| 12 |
+
parameter AddressWidth = 8;
|
| 13 |
+
parameter AddressRange = 144;
|
| 14 |
+
|
| 15 |
+
input[AddressWidth-1:0] address0;
|
| 16 |
+
input ce0;
|
| 17 |
+
output reg[DataWidth-1:0] q0;
|
| 18 |
+
|
| 19 |
+
input reset;
|
| 20 |
+
input clk;
|
| 21 |
+
|
| 22 |
+
|
| 23 |
+
(* rom_style = "block" *)reg [DataWidth-1:0] rom0[0:AddressRange-1];
|
| 24 |
+
|
| 25 |
+
|
| 26 |
+
initial begin
|
| 27 |
+
|
| 28 |
+
$readmemh("./myproject_dense_resource_rf_leq_nin_ap_fixed_ap_fixed_41_21_5_3_0_config9_mult_s_w9_ROMbtn.dat", rom0);
|
| 29 |
+
end
|
| 30 |
+
|
| 31 |
+
|
| 32 |
+
always @(posedge clk)
|
| 33 |
+
begin
|
| 34 |
+
if (ce0)
|
| 35 |
+
begin
|
| 36 |
+
q0 <= rom0[address0];
|
| 37 |
+
end
|
| 38 |
+
end
|
| 39 |
+
|
| 40 |
+
|
| 41 |
+
endmodule
|
| 42 |
+
|
myproject_prj/solution1/syn/verilog/myproject_dense_resource_rf_leq_nin_ap_fixed_ap_fixed_42_22_5_3_0_config14_mult_s_w14_RdjF.v
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// ==============================================================
|
| 2 |
+
// Generated by Vitis HLS v2024.1
|
| 3 |
+
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
| 4 |
+
// Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.
|
| 5 |
+
// ==============================================================
|
| 6 |
+
`timescale 1 ns / 1 ps
|
| 7 |
+
module myproject_dense_resource_rf_leq_nin_ap_fixed_ap_fixed_42_22_5_3_0_config14_mult_s_w14_RdjF (
|
| 8 |
+
address0, ce0, q0,
|
| 9 |
+
reset, clk);
|
| 10 |
+
|
| 11 |
+
parameter DataWidth = 1018;
|
| 12 |
+
parameter AddressWidth = 8;
|
| 13 |
+
parameter AddressRange = 144;
|
| 14 |
+
|
| 15 |
+
input[AddressWidth-1:0] address0;
|
| 16 |
+
input ce0;
|
| 17 |
+
output reg[DataWidth-1:0] q0;
|
| 18 |
+
|
| 19 |
+
input reset;
|
| 20 |
+
input clk;
|
| 21 |
+
|
| 22 |
+
|
| 23 |
+
(* rom_style = "block" *)reg [DataWidth-1:0] rom0[0:AddressRange-1];
|
| 24 |
+
|
| 25 |
+
|
| 26 |
+
initial begin
|
| 27 |
+
|
| 28 |
+
$readmemh("./myproject_dense_resource_rf_leq_nin_ap_fixed_ap_fixed_42_22_5_3_0_config14_mult_s_w14_RdjF.dat", rom0);
|
| 29 |
+
end
|
| 30 |
+
|
| 31 |
+
|
| 32 |
+
always @(posedge clk)
|
| 33 |
+
begin
|
| 34 |
+
if (ce0)
|
| 35 |
+
begin
|
| 36 |
+
q0 <= rom0[address0];
|
| 37 |
+
end
|
| 38 |
+
end
|
| 39 |
+
|
| 40 |
+
|
| 41 |
+
endmodule
|
| 42 |
+
|
myproject_prj/solution1/syn/verilog/myproject_dense_resource_rf_leq_nin_ap_fixed_ap_fixed_42_22_5_3_0_config17_mult_s_w17_ReSV.dat
ADDED
|
@@ -0,0 +1,144 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
390000B005D0000FFA700270068FFE0002DFFB20010FFD2FFEFFF940006FFD5FFCFFFC80037FFD0003DFFCC003AFFF5002BFFEC00B20013001D002E001400050023001300830002005EFF8DFFD7FFEDFFDD00070009FFD2FFF9FEC0FFF80035006FFF9A004B00640004FFEFFFD10017FFF50066FFB4002F0049FF5CFFA50093FFC6FF6BFF95000F000FFFEC001FFFE000520041FFE30020FFD7FFA7002700570029FF9BFFFF0021FF9EFFE70035FF7E0046FFF60026FFFAFFECFFE70049FFB2000800170088FF870058FFB300280087FFAE00560003FFB4FFE2FFF20061FFB3FFDDFFAD003100250076FFC4FF57FFCD002FFFB5002EFF950011FF330006FFBF
|
| 2 |
+
3F80004FFDD004AFFB1002D0028FFFFFFEFFFF1FFFDFF85FFC300060006FFA3FFF0FFD4FFF6FF84003FFF7EFFEC001B0013FFE6FF7700240017FFEA00080037FFCB0000000CFFFAFF7E0001005BFFC500180042FFDFFF9CFFD20011FFD200020032FFA3FFD2FFF40025FFDE0048FFF1FFF5FFF90031FFFAFFE1FF8DFFB1004A002FFFAB000700050011000A0027FFB9001D0014000BFFCB000D00210000001BFFEFFF42FFAD0003000F0007FFF00051FFDB0052FFF2FF93FFDC0020000BFFEB0011FFE1FFC0FFE3FFA800170023003EFFD900530021FFDEFFFFFFAAFFECFF89003CFFC8001D002D000EFF74FFE9FFFDFFFB0026FFD3002700360003FFC5003F
|
| 3 |
+
3ECFFD3FFB7FFCCFF82FF6EFFEAFF81FFFB0000FFF5006E004DFFCE005500400014FFDBFF67FFCFFFBFFFE3FF9FFFEEFFE00015FFF3FFBF0014003AFFD4FFD6001F005DFFC6FF9F0031FF4DFFBD00420035FFB2FFA6000E0062FFF1FF95FFC0FFDFFFF7FFDD007600060040FFDC005BFFD5002C003D001CFFFA004F000DFFC70008FFC1FFC7006CFFB2FFF3001CFFF50067004FFFBFFFE50064FFF20014FFCD0025FFE10022FF87FF9DFF97001EFFC6FFBFFFD4003CFFEEFF46FFB60054FFF2FF66FFB900210031FFDDFF74FFA9FFDB0033003D0044FFA2FFCD0059FFFAFFD900360096000FFFDFFFFC0009FFC00031FFE4FF9AFFE800450032FF99FFB4FF66
|
| 4 |
+
00EFFF6FFFAFF9DFFFB005D001B0018FFE4FF7C00160019FFF70035001F003CFFE30077FFB6FF63007FFFE40016FFFC0017FFDAFF99003FFF36FF8CFFDE00380014FFC4001E0024FF9AFFB200330057FFD2FFCEFFD60071007DFF430035007B0000FF2100250002001DFFFAFFE3FFBC000F006DFFE1FFF1FF7CFFD7FF7CFFCA0033FF560003004DFFE7FFE3000C0027002700990021FFAFFFF000BC0012FF76FFC10037FFDB006D0029FFBA003F00500039FFEBFFF7FFCBFFCB004100320055FF6A00620083FFCDFFDBFF62FFE3FF9E0020FFBFFFCF0019FFF5000BFFF2FFC40019FF93FFE9FFF100050018FFDAFF99FFDAFFF90066FFD1FFE5007AFFECFFF0
|
| 5 |
+
3C8FFC800300041FF5E001AFFF3FFBBFFE3FFE4FFB60041006BFF4B003A0020FFEE0019002AFF6AFFCE00110008FFFCFFD7005B002D001B004B0023001B0032003EFF67008FFFE5FFBD00040059006BFFB4002CFFC70078FFED0007FFCBFF7BFFBB0016FFCC0082FFBAFFE2FFD8002CFFEE001FFFE0FF78FFD600090078004EFFF4FF680001000F001A0017FFE30025FFA800480023FFBFFFD70051FFA60032FFCEFFE2FFEAFFFB0075FF2A00230078FFA6FF07FFF3FFA2FFECFFDAFFCA001C000B004000830045FFFFFF29FFF7003AFFE8FFADFFEEFFD00037FFFB001D0026006DFFB3001500230003FFC50019FF74FFE1FFD80020FF5AFF8AFF2F0037FF71
|
| 6 |
+
3DC0088FFCEFFB50007FF9B00080055FFFE000A000DFE8DFFB700120018FF470007FF1CFFC8FFD5FFF7FFE3FFD9002AFFF4FFA2FFD40028000E0027FFE8FFD9FFFAFF6D00420012FF8D0075002DFF6800210018FFF7007300250041FF9A0082000CFF29FFC7FEB30001FED700050037FFD9FF9E006600D90014FFC0FFBF0038FFB9FED0000EFEF9005FFFEF0031FF9A002EFEE0FFC9FEEDFFD40096FFB4FF660011002BFFFF005FFFF30088000FFFF9FFFA0043FFFC00590047008FFFD70010002DFFB4FFECFF9E0001FFEBFFF0FFA7FFDE0009FFBBFFF2FFCDFFE50021FFB8001FFF890016004DFFDBFEF8FFC8003DFF670011003C0007002F006E0024FFCB
|
| 7 |
+
004008E001600230003FFC1FFD6005A002BFFE2000FFE740024005D003AFFB10055FF9FFFDA000B0002FF8C004CFFFDFFC6FFC6FFAC003A0017FFEF000A005A0059002F000F0022FFCA00A0FFD6005AFFFE006C000E0007FFA1002EFFEA00240015FF8BFF72FF48FFDAFF6DFFF9FF85FFF0FFA200050007FFCFFFD4FFA2FFC80046FF8DFFDDFFEA001C0067FFDFFF7FFFC6FEEFFFFFFF90002A001A002CFFB9FFB5004EFFBDFF77003E0094FFE1FF9900140003004A00470021FFE20041FF83001EFF7F00000023FFE70069002E001900000000000E001DFFD2001DFFF9000DFFC30003000C0049FFB9FF0700080034FFB9003BFFB40075FFF3002CFFB50057
|
| 8 |
+
018007AFFBF0015FFF4FFA6002200D2FFBC00760053FF2FFFC20069FFEDFFDAFFFAFF94000A00410001FF98FFE9001EFFE60025FFF9FF88FFE5FF94FFEB0026FFBFFFCAFFC00018FFAD0112FFCEFFC30030002BFF8CFFA1FFD300AB00000034FFB9FFE3FFA0FF400023000FFFA5006CFFBFFFF1002B0016000D002B0015FFE8FFEDFFDD000CFF8DFFE700490018FF9F00130028FFED003C000000210010000C000D003DFFC2003CFFC2004DFFAC0042FF600046002800ACFFFB001BFFEBFFF9001B004C002B002BFFADFFEE0005FFB10021005AFFB70055FFD10032FFDD0020FFEE0035FFF000800033FF8A0031FFE0FFD5004DFFD90067FFF10005FFEC0025
|
| 9 |
+
3F5008300240059FFF5FFAB0005005700230032FFDEFE0CFFB900760009FF7DFFF7FF5D00070028000AFFCAFFDCFFE9FFFEFECAFEFEFFEF00170015FFD7000F000BFFD7003E0025FF6A00D70002FF90FFE00064FFF30033001800C8000A0057FFE7FE7F0035FFF4FFF8FEFAFF70FFF6FF87FFDF004C006AFFC8FF8B0001FFF5FFF9FEF2FFE5FF7AFFE10041000AFFF5FFE6FFACFFF7FEB50015006A0024FFDB0048FFFBFFAFFEF9002D005D006F0069000EFFFDFFE60099FFE200620017FFE9006A00080049FF72003B001CFFDF0032FFF9001C00020014003000390001FEB0FFD9FFFF0029004BFFDEFE80FFF1003300170012FFCE007400AA003DFFE60005
|
| 10 |
+
3FFFF810027FFDEFF93005CFFC6FF0CFFB7FFA80021006F0025FF9400350017FFE3001FFFF8001AFFD1005BFFB3FFE4FFD4FFFC0016FFCB0024001EFFF3FFF4FFF7000FFFF00002001AFF89FF3F0003000AFFD100030018FF9EFF73FFC900A4FFFA002AFFC5FFA4000C000CFF9AFFE4FFDE00940033000F0049FF83FFA6FFAFFFD7FFF5FFE80050FFE9007100360012FFE40063FFF7FFDEFFB90053FFEDFF7FFFFC00200002FFD8FFCDFF92FF5D002DFF89FEE5001BFFC9FF8C00270033004F002000B1FF78FFE2FFCCFF790018FFDC0002FF9DFFD40022FFCF0049FFCAFF3BFFF9FFBCFFF4000FFFF8006BFFD7000FFFB6FF550037FF72003D0065FFB7FF99
|
| 11 |
+
037000DFFC2004E00280079FFF5FFDA001400940005FFD90006FFEAFFE3FFD400350006FFF00047FFF9FFE60002004200000007FFD4002FFFF20067FFD3FFDD00220025FFB8FFF8001D004D000FFFEFFFE7FFE30034FFB5FFBDFFAA00040018FFCC000CFFE400A400440014FFD7FFE10005006FFF3EFFD20018FF72FFC9FFB1FF95FF8C000E0011FFD4000FFF80001F00300014001FFFFEFFAAFFEC00330045FFC30012FFAE006100170048FF98002A005FFFDEFFD8FFD40040FFE9FFA500220011FF99007B0065FFD7005AFFD30008FF8FFF83000F000A0017FFBDFFEC001F0069FF38001F003BFFD9000600310006FFE8002CFFE4FFBCFFB3FF8B0017FFAE
|
| 12 |
+
3E0FF83FFFB00200035005EFFD3FF6BFF94FFD0FF9B00200032FF51FFC7FFF30049000CFFFFFFF1FFE7FFFCFFE600020006002CFFFC0036FFAB000DFFCA004A0007FFB60011FF9CFFC7004EFFE80014007000130076FFC6000BFFFBFF95FF7CFFF5FFE6FFC20028FFD20018FFE0FFB9FFA300360004FFBCFFCBFFE80017001E005C0019FFB30030000BFFFAFFFD0032FFC500B10018FFF8FF9C006A000C003D0016001A0007002CFFA2FEEBFFB3008E0001FFC9FFF6FF4BFFE0FFB7FFE4FFDAFF1D0041FFF7FF98FFC4FEDEFFE20024FFDDFFDBFFE4FFEE0005FFC40034FFB2FFCDFFF1FFF70014FFFE0021FFF3FF4FFF97FFE10030FFA7003D0019FFD5FF85
|
| 13 |
+
3EAFF53FFD7FFD8FFE700A0FFE3FF80FFD7003A000E00430009FEADFFEB003100030000FFA4002500210097FFF3FFC20018FFE4FFF8000E00100033FFC6003AFFB9FFDE003D000D003800030008000AFFA1FEE5FFA80064FFF9003AFFEC0029FFDB0051001EFF4E002400080018FF85FFDB0090FFE2FFADFFF5FF92FFD2FFA1001D004C00130045FFD60038FFBF0069002F003DFFD3FFBD002B006B002BFF30FF8F00250016FFB9FFD90005000FFFD9FFB5FEEB0034FFEA001CFFF00004002CFFED005E0055FF85002DFFA80012001CFFB4FFE5000F00190024000FFFAA0002FFEBFFFF0007FFD3002600B9FFED0045FFD0FF7C0053FF26FFF70043FF92FF22
|
| 14 |
+
3F900430003FFF40040FFD50003006AFFF9FFBBFFF90025FFDAFF97004EFFE80007000BFFF2006400030013FFE0FFF0FFE9FFD5FF65001E0046001DFFFAFFBCFFC8002A00130075FFC8FFCEFF9EFFE8FFD3001AFFC5000700490032FFEBFFCB001A0039FFA900210000000EFFCBFFE1FFE5FF6F0021FFE9FFF70018003CFFF6FFD6000BFFC6000EFFF80003FFD2000FFFE8FFA1FFB400060001FF9D0020FFF50003002E001D00320007001600490003FFE40051FFC00005FFEB002DFFDAFFEDFFD5FFE9FFE9FFF8FFE7FFCA00090029000AFFEF001FFFF9FFFB002400240002002100120039000F005B0025FFF8000FFFE00051002D005B0036FFF700090008
|
| 15 |
+
3DF000BFFE3FFF50050005DFFA6FFE4FF9DFFC7003AFFEEFFFE004BFFE00009FFF90002FFF1FF8F0052FFDFFFBE00100012002DFFFB0025FFC2FFFEFFF3FFF60056FFAB000CFFCA0004FFFB0056FFFB001A0008FF80FFB4FFFAFFEB002E00350013FFE5FFA2FFC20014FFE6006BFFB6003A0062FFA9FFC0FFF70036FF3F0026FFA5FFFF002DFFCAFFEBFFD2FFFEFF9100050023000A0015FFF00054FFD3FFCEFF90FFE3FFB5FFF10012FFEBFF8A000A000E0081FFECFFE6FFFE000E001C0024FFD6FFC8001FFFD4FFEEFF9C00270038000EFF7B002CFFE1001E001F00130056FFE4FFCDFFEE000DFF790056FFFCFFF7FFF1000EFFB3FFF2006BFF21000FFFF5
|
| 16 |
+
029FFE8FF7CFFD5FFE60011FFE4FF5C0014FEFF001C0039FFCAFF75FFAFFFC20030003BFFF2004EFFCAFFF9FFC6FFCBFFCBFF94FFCD007000390000FF9A005EFF74FFD40009FFF1FFBAFF61000AFFB0FFD4001AFF350000FFDBFF0FFFA70016001BFFDAFFA8FF5D0050FFCC00180000FFA701100002FFD8FFF6FF83FFFD000700000033FFC70013001BFFCEFFE000A4FFE30048FF9C00130004002DFFE70059001B0017FFE1FFF2FFEFFF9DFF7BFFAFFFB4FF3EFFAE0017FFE1005EFFC600400007FFEAFFF7FFBBFFE4002400030006FFAFFFD7FFF8FF59FFE60000FFB4000DFF77FFFCFFBFFF4F005CFFC4001E0013FF9EFF6E000800A5FFD300590020FFEE
|
| 17 |
+
3F6FFF80042FFBD001CFF9FFFE9FF43FFAFFFEDFFB60045FFC2000E00180064FFAC004000300094FFD2FF60FFCFFFF7000F001C0050FE820075FF9CFFA90031001A00550027FF90FF9EFFF40023002EFFE0FFBAFFF5FFAAFFDCFFE8FEDB0013000100380025FFD10001000FFFE500850005FF78FFA5FFB7FF75FFF80025004600280022FFE2FF83FFEFFFBC0019FFDFFFF4007300010037FFEB0006005000580017FFFAFFA4000FFFD0FEFCFFCBFFFD003800A60077FFC3004A0033FFD7FFC80030FFBDFF8BFFE0FFCAFFEE0026FFCDFF81FFCAFFD0003F001B0048FFDEFFC7FFBD004F000FFFC7FFCDFFD4001CFF470031FFB1003DFFED002A003AFFFBFFDE
|
| 18 |
+
3E60005FFEEFFB9007D001CFFEAFFDBFFC7002B0015FFC5FFA10035FFE9FFD9001C001DFFF900120002000EFFDA00300008FFDF0091FFABFFEEFF88FFB8FFE6FFED002EFFE40012FFE6FFC0FFEEFFB4FFD4FFCFFFB6FFD1FFF3FFF8FFC1002BFFC8FF9F00250020FFF4FFA2005EFF2EFFED003D001000110052FFD6FFD3FF47FFC70000FFFEFFF40006FFD8FFB1FFF6FFD4FF89FFCDFFEBFFA1004F004EFF6BFFCB001FFFB0FFC10052002FFFFCFFE3FFEB0033003C0025FFB6FFC700200038FF3FFFD0003FFF52001E005BFF2FFFFEFF7EFFE5FFF300410032000F004BFF96FFFD0009002A0047FF70000200220040FFF900010015FF92FF67006900C3FF8C
|
| 19 |
+
01E0013FFAE0043FF46002900270071FFD0FF08FFC900BBFFCDFFD6FFB7003E00200068FFC1FFC6FFC5005A0028001B001700390026FFFAFFA3FF7BFFEAFFBE00550037003E001BFFDD001CFF7D0028FFCEFFFCFFE70004FFAFFFBF002A001E003900150037FFC2FFC0001F0024FFB8001C000FFFDFFF9BFFF7FFE4FF8D00250028FFEC00880008FFF3001E0025FFDEFFAD000B001CFFDB001A004FFFD4FFF9007C0096FF81002D0010FFAAFFDC001A001600280046FFB4000EFFBAFFDC0064FFBB0036FFA500D30036FF67FF5800110069FF920015FFD3FFDCFFB8FFF0FF76004A002EFFECFF9100BC009F005DFFCC004E0071FFD9004F001F0091FFBF00EE
|
| 20 |
+
0210000FFCDFFBBFF900023FFCB005DFFE50012000EFF7EFFD8003E001800200018FFA1FFD1FFCE000DFFF9FFFB000A00330021FF70FF4CFFCFFFCD0020002C0008FFF8FFCB005E001700F1FF8D0009FFE4FFD000530049FF8000CC003E0024FF46FF95FFCBFFAF0013FFC80047002CFF6BFF50FFFC0046FFE5001D005D005E005AFFD2FFA000090021000EFFB5FFB5FF4D005F00230002004AFFEA0010001BFF9C00150047FF340011007E0016000EFFF5001D0027002DFFAFFFF9FFEB00220010001A0018007EFF96FFE70014FF4E001DFFD2FFCF0011FFF5FFCBFF7FFFCCFFFD0012FFB700680076FFE2FFA4FF6D001E005A0031FFD2FF9D0003FFF50011
|
| 21 |
+
023FFE1FFC8FFF4FFAFFFBCFFFDFFF0FFE9FFEA001BFFA500160001FFC9002F00710029FF94FFD7002CFFCE0011FFB3FFE80025FFD60065FF8AFFD00001FF8B00990061FF7F0066FFDFFF80003D0029FF97FFA3000F001F004AFFADFF9FFFC9FFD8FFEAFFED009EFF9A0040007B0000FFF7FEC500670053002AFFC60016FFC3FF6FFFE40016003B002FFFA6FF8BFF7AFFFDFFCBFF8EFFE00067FFE30048FFA70028FFDCFFCEFF90FFE80055003E006A007DFF93007BFF93002EFFAAFFAEFFD7FFD1FFA6FF8D00C1FFDAFFBFFF98FFEC008AFFCBFFB50041FFAD00080052FFA9007EFFFFFFB30042FF5EFFA90012FFED00120013004AFF51FF4E0034FF5E0000
|
| 22 |
+
00C0005FFFA004FFFE000E80048006C002C00E4FFF7FFE6FFB4003E002AFFCB001DFFF1FFC9FFD3FFFA0050002BFFBEFFF8FFCEFFF9FF84FFEC0092FF670025FFE30021FFB00014007401D40016FF5BFFBCFFB9006800420020007800010049FFB9003C0046FF86000AFFA1FFD900720037FF64FFE80027FFE20012000500B40025FF48FFF2FFAFFFE200780007FFC20010FF0FFFD900200050FFA8FFACFF93000800310076FEB9FFD200AF003D001CFFD2002BFFE1007AFFF00054FFBE0036000A00360006FFFCFFD8FFA0FFB1FF08FFB20097FFE2004AFFAAFFFEFFA7005AFFD1FFD2FFD10074FFDB00D7FFFDFFF00038008E00350013FFF800040035007A
|
| 23 |
+
0150023FF3FFFEC002FFFFCFFE2005CFF91001A0069FFF7003D00030019FFC10017FFD400660000FFD90010FFFD0043FFEFFFCF002EFFB1FFA6001E0027FFB5FFF8FFF5FFA1FFF3004000790027000EFFDAFFD9002A000BFFC80001FFCB0011FFC8FFF5FF4FFFE0FFCE000CFFFBFF8BFF7EFF90FFB70013FFDD0028FFA60001003DFFD9002AFFE8FFB7000DFFEDFFFDFF4CFF87FFCBFFED0042FFDC0037FFD2FFE7FFF5FFD7FFEE00200055FFA100610067FFEB00250055000EFFC7002CFFF7FFFE0052FF67FFDBFFC2FFEDFFC900550026004BFFEE002E002D00290025006D0041FFB6FF8AFF8DFF9FFFD5000C005F00050034FFBAFFD20040000600360059
|
| 24 |
+
037001F0007FF4AFFFB007C001DFFEBFFF200110075002AFFB5000E003DFF8200340016003200280002FFFEFFEB00170007FFE1FF8FFFEB0032FFB90024FF4BFFF4FF5CFFF8FFD3FFF9FF84FFE7FFA500060045FF85FF880019FFEB00610041FF57005D004EFF8A000AFFA00015FFB2FFBE0075FFFB0022FF69FF91FF93003E0010FFF5FFDAFFA8FFEBFFE00016FFFAFFCE0036FFDAFFA30057FFF7FFCCFFA7FFE1002AFFBD003E0023FF8EFFFD00850011FF8B0030FFE400320008005F000FFFFBFFC9FFE9FEF3FFDD0013FFC80011FFF3FFF6001C00020027FFC3FF5BFFD200390015FFB0FFEEFFE6004DFF85001CFF9C0048FFECFFBF004D0021FFA1FFAD
|
| 25 |
+
3FFFF5CFFDEFFFCFFC700220023FFBE0004003700040007FFE6FF7C0005004300290029FFF8FFCFFFD3000D00010008FFE70033FFF5FFEAFFFAFFE9FFB80045FFC00035FFD5FFD200190033FFFD002EFFC3FFCB003BFF1C0012FFEF0082FF75FFCC009A001C0028002B0037FFC0FFFFFFFF0038FFD6003EFFA0002C0009FF74003A004FFFED000EFFEAFFFFFFF60027FFFDFFFFFFB1002A000D0022FFDEFFF50013FF79002E0071FF7CFFD2FFAAFFF3FF910030FFF3FFED003EFF92FFDB0054001BFFBCFFC5FF8BFFF0FF91001600010013FFD30058FFF6FFFDFFFA000BFFD3FFB0FF92003A001DFFF8FFBBFFAD0029FF9FFFBDFFC7FFA0FFF2003400320073
|
| 26 |
+
00C0047FFC60035FFDE000C00090017002CFFAC0017FFCDFFBBFFEC00430028000C0029004800520051FF8A000B000D0009FFE2004F0052FFFAFFF20002FFF6FFD900320014002A004C006EFF96FFAD0035FFFF0010FFB2001F0027FFE700460013FFD9FFF2FFDBFFF3002A002AFFD60042FFF4002800790035FFD7002B0061FFD3FFFFFFF2FFF1FFF4FFAA0020001EFFFBFFBAFFEEFFF6FFDD002DFFE7FFD900420014003CFFE60016FFE0FEFE0080FFD20028FFD0FFD0001D003EFFF000150007FFB6FF75FFE3FFE7FFCB0035FFD6002EFFCA0035FFAF0006FFDB0001FFFAFFBAFFE9FFEAFF5B0004FFF8FF8500250053FFE200AB008600710062001A001E
|
| 27 |
+
3E50012FFEA00880010003BFFF0FFE2FFAFFF680003FF8FFFC5FFDCFFED0040FFCCFF35FF8F0054000FFF7DFFE0FFEC0021FFD5FFE4004900300041FFBEFF79FFF4FF2AFFF70035FF92FFCAFFFB0035FFAF0019008DFFB0FF66FFA2FFCEFFFB0018FFE8FFF3FFB70001FFE50021FF21FF9C00110025009CFFA6FFE60001002A0011FF8AFFEE000800300015003DFF80FFB6FFD2001AFFB9002200190019FF9C0028FFC8FFCDFFCAFFDFFFF5FFD3FF65FFEDFF95FFF8001C001D00310020FFB6FFA70039000FFF81FFEAFFF0FFD50021FF3FFFEDFFABFF9F0000FFB700190018001DFFD60021FFDEFFB0FF650019001F001F0026FF86FFCFFFACFF40FFC3FFF7
|
| 28 |
+
3F0FFBA0014002DFFCB006FFF7E001AFFCB003D000900900057FFA10014FF82FFF7FF4FFFF8FFBD0027000A001AFFC6001B0017FF47000A003100AD0024004F001BFFAE0023FFBFFF6900C70067FF31FFF9FFCA000FFFCFFF87FF97FFC50031FFE700A2FFE9FFAF0000FFE30043FFEDFFA4FF73FFA60018FFBDFF9700030089FFBEFF88FFEEFFD5FFC6000CFFFDFFAAFFE3FF520063FFED0003FFDDFFFAFF93FFF0FFC8FFE4FF7F001F0004FFE7FFE8FF82FFE50023001D00440021FFFF001FFFE3FFB90009FF6BFFD8FFB40061FFFAFFD20052FFF20001FFC8FFCF001C0068FFE4FF0EFFA40056FF8E005B002B00050030004F006AFFFE002AFFAEFF8E00D0
|
| 29 |
+
3F30005FFAEFFF6FF540042002BFFFE00020002FFFA0021FFC9FFCD00130003FFF1FF870029FFCF001FFF8CFFF5FFBEFFFFFFE30062FFFAFFF40017FFDB0072FFDF0027FFE0FFD20003004EFFDB0017001B0074FFDCFF80FFC40025FFF1001A0022FFFBFFF4FF86FFDA0008001D0019FFE3FF85FFF1FFCF007FFF96FFC800AAFFAC004F003CFFC90003FFF2000AFFD1FF8100AEFFE2002AFFFEFFE7002AFFE5003CFFCA0027FF8DFFEDFFF3FFCF000FFFBA003E0043003A000600490013FFB3FFC8003DFFB000570013FFA3002C000C0056007AFFA2FFC4FFEDFFB50005FFDB000D0064FFD8002F0061FFA3FF92FFD9001A002F0013007B003D0032001200B2
|
| 30 |
+
38EFFE7000A0001003CFFD4FFCBFFECFFB40015FFB9000B003200270036FFEEFFC9FFF0FFF50008FF49002DFFED0027003E0009FFA3FFF9FFCCFFF5FFE1FFEFFFBBFFFB0029FF7FFFC6FFE5FFDCFFC0FFF20010FFDC0011FF8FFFFD004EFFDA0090001DFFB00030FFD5FFDF004AFFD8FF31FFD6FFC6FF4D001EFF7EFFF20005FF480025003DFFFFFF9A0003004E000400660043FFF3FFBD002F0017FFBC0049002D003800260033003CFFC5FFA0FFC9FFACFFA500400039FFF7FFDF001B0042FF7FFFC80019FF7D0037FFEFFFF9FFFFFFC90026FFE0FFD000510011001CFFF90007003CFFD5002CFFAD0036001F00360045FF80FFDDFF7F0036001800570001
|
| 31 |
+
05B0045FFC9FFF3FFBEFED0FFDF0098004C0020003FFFB7FFD10027FF3FFFB100AEFFD3FF29FFF9001D004800060027FFCBFFEF003CFFEAFF10FFA6000C0037002CFFDEFFC30064FFE1005B004B0069FF7E0024FFA0FFDFFF7700B7FFD8FF9A00150024FFBCFF51FFBFFFF90060FFEFFFE4FE91001A001F003E0014006BFF9BFFFDFF98FFCBFFED00060002FFB60028FFCDFFE1FFAE00290063FFD30059002CFF7000220018FF3FFFF100410014004FFFCF001B00380008FFB9FFFFFF9AFFA8FFD9FFF600650031FFA40060FED30043000BFFBCFF2CFFD6FFC3FFF300200023000000ACFFF40053001DFF8F005CFFF0FF9E0049FFE300C2FFE0FFF00017007A
|
| 32 |
+
3E0FFF3FF2D0030FFFB00280034FFD1FF80FFD1FF28007A0024FFC1004CFFD7FFCCFF890047FFD3FFB4FFE4FFCFFFD3FFDA0031FFBBFFF4FFC6FFF500420042FF7EFFA4000E002B00190083FFA7FFB90012001C0012002A0078FFA7FFCA002F0033FF8E002EFF81FFE8FFCB004C000FFF2200320017FFAA0018FF8B0091002EFFCCFFC5001CFFED00330048FFFA002900970050000CFFB2FFD40009FFF90062005FFFA7FFC8FF8B0047FFBCFFB0FF38FFC9FFC1001F0061001100220056001100350018001DFF13FED30001004D002E0046FFFEFFCEFFA40013FF820032FFDAFFF0FFE5FFB9FFABFFC5FF9B003B00230015000F00970011004A006FFF9600B8
|
| 33 |
+
37D000A001DFFCAFF6CFFDB002CFFEE002FFFCDFFF7FFEDFFDEFFFEFFCDFFDDFFD40049FFACFFDAFFA9FFCD0055FFD9FFF40017FFECFF9900B8FFD0FFFD0038FFDCFFE8001EFFA000360046003F0026000A0035FFB8FFC7FFADFF690043003E002DFFE20036002A000EFFFC001EFFBAFF81FFB8FFB4FF71FFB9FFCCFFBCFFD5FFCB002EFFCFFFD50016FFF2FFA8FFE2FFD9FFB1FFC20014FFA9FF91FF950014FF93FFAC0031FFDEFF78FFEA0006FFD6FFBFFFAAFF9EFFC8FFE2000FFF98FFDAFFC5FFD20041FF8A0006FFD400640041FF4A000B0021FFF7FFEBFFC0FF43FF39FF90FFF2000CFFEF004CFFF4FF440015000AFF8CFFB1FFCAFFE8FFC5003AFFDD
|
| 34 |
+
014003AFFFBFFF1FFF6FFC2FFD80003FFEE000A002BFFDAFFC8000EFFD70019001BFFE2000AFFA9002BFFC6000EFFFDFF7FFFF1FFDEFFE1003A0057003B001FFFFE0033FFF7FFEE004CFFF9FFA20043002C0034FF5EFF3A004DFFDC002A0026FFCAFF83FFAAFFFD0010FFF9000D0001FFD1001C0087FFD80026002FFF7DFFA8FFEAFF9CFFF60029001E00350003FF7D0017FFB6004CFFD1FFE1FFF1FFFE00050034FF94000A003CFF1AFFCE0008FFEC003EFFC6000FFF8400360015FFF5FFE1FFCA0007FFC70032FF700025FFF10028FFD4FF71FFAB0001FFD2000DFFD8FFBB004CFFC200240009FFDAFFE4FFD4FFEC00210047FFCC003EFFEEFFC0FFD5FFCD
|
| 35 |
+
3D5004800700063009CFFBBFF9AFF96FFC9FFD8001C001A0005FFAB0079002BFFEEFFE10074FF05FF8CFFDAFFB10068FFAEFFF9FFB7FF7EFFFBFFD9FFF1FFCEFF9F001EFFF2003EFF9AFFA3FFCEFFDC0069FFC20038003A0000FFE7FFB4FF6EFFCCFF7AFFFC001DFFE100190000002AFFB5FFF5FFFD000FFFA20049FF98FFF3FFB6FFD90033FF9DFF61FFB7FFF4FFA6FFAC000B008EFFD10009FFCCFFC50038FFD1FF7B005E0010000FFFC400570030FFC4FFE10040FFF500540002FFF5FFF7FF4B002CFF9E0003FF3BFF78003B002FFF6AFFAF0038FF63005300030011FFA80069000AFF5F000EFF6EFFE9FFE6FFA20051FF8D006B00460028FFB6FF630046
|
| 36 |
+
004FFF3006C0010FF92FFA2FFF70023FFFF00260066FFB2002A000D004F0083000300360020FFBA0045FFBDFFF700440003FFEDFFE0FFFB0047FFAF00200010FFE000550042FFBDFFE9FFD10047FFDE00950004004900470026FF65FF550094FFFEFF6BFFC5FFAD0014000E005CFFB2005A007BFFBAFFC4FF7FFF72004E0002FFADFFDE001C00400005001700100056005E007C0010FFEF001C0041FFD5FFD90030FFD7000300210029FFC40037FFB8FFBEFFD70065FF92004A0041FFE7001CFF650016FF66FFEAFED80000003CFF84FFAA0005004CFFECFFC70011FF66FF73FFFF0030FF5EFFB0FF80FFE40077FF7C000C003000DB000F002E001AFF6F003A
|
| 37 |
+
3D3FFEB000E001DFEDD002DFFD900100003FFDEFFE600010066FFCB0027003CFFD4FFE9FF70FF9C00270001FF9D0010FFFD0011FFB1002B0079000B003FFFFC001600450045FFF0FFFEFF7000270073FFC30000001600640002005BFFE50043FFCB003CFFA4FFC2FFBBFFF5FFB3FF5600360056FF900009FFC80011004BFFE5FFBBFFA3FF8F000E0012000CFFEAFFD7FF80006C00450025FFD2006C0010FFD6FF83FF80008DFFE0004BFFFA0033000DFFC7FFE00072FFB70041006B005C00010032FFCEFEAB00030049FF7CFFCBFFE2FFD8FFC7FF76001AFFE9002EFFD1FFF3FFF5FFC5FFE8003C00D0FFEF001AFFB1008DFFF90049FFE1FFA2FF42003A0006
|
| 38 |
+
03B0032FFD3002AFFEF000EFFDF005DFFCF003AFFA3FFC4001AFFE9FFAFFF2A002FFFC4FFA9005AFFF8FFD200080030001AFFAFFFF5006C0000FF75FFFA00040057FF2C00160051FFFDFF54FFF6FF9300180043FFD80012FFE4FFFE000E0023FFE2FFB40025FF9E0020FF9D003E004F0027003BFFE4FFFBFFC6FFE4FFA0FFBA0011FFEE0002FF74007D000800080066FFD6006AFFD9FF960006FFFAFFEC0061FFC700460000FFF6002B0016FFE9FFCAFFC8FFD6FFBE002FFFF90013FFE4002E00070036FFA8FFB3007CFF3CFFE4FFCE000D004AFFF5FFC9FFB3FEF1FFF6007FFFAAFFFF005F0024000FFFD3FFD40029FF7E004F0027FFF6FFCC000E005DFFC1
|
| 39 |
+
013FFDFFF93FF9CFFF90049FFE0003EFFC80035FF7BFFB20096FFEA0013FFB0FFBAFFC0003A0030FF5AFFE90002004BFFC9FFD2FFB600210080FFE10056FFA1FFF50025005A005A000400250027005EFFDB0069FFEDFF36FFB20031FFD2FFDE000C0003FFECFF57FFFFFFB9FFA0FFF70009001EFFBDFFB6FF9FFFF1006B004C0042FFD40036FFD7FFD1FFF20057FFBBFFC6FF280043FFC7FFD700280031FFAF0012FFFAFFD1FF9EFFE30021FFBE0001001D00140010FFE50031FFFC004000030019FFC5FF8F0078002E001C0011FFE1FFEC0021FFF0002EFFFA0017FFF1004B0057FFF3000E000E0062FFD500490058FFF500900050FF7BFFFD0025FFC70033
|
| 40 |
+
021000FFF2EFFD1FFB2002A000FFFD9FFFE00A0FF8C0016005D004CFFEEFFF3FFD2000A0014002FFFA1FFD6FFE5001FFFE2FF9AFFE20000FFDFFFC50006FFEA000600140006FFC70043FF170038FFA6FFB40015FFDDFF22FFBAFFF2FFFAFF9D006A00620089FFAC00310058FFD9005DFFCCFFE7002F0040006E0010FFE4FFCDFFFA0005003E001A002F000900340022FF0B0007005B002BFFB6001A002CFF860059FFF9FFE8001E00310030FFF300570009FFA000200011FFF9FFB8002E002D003700310034001D00160043004BFFDF00070062FFF3002EFFEEFFE800120030000A002C001A004DFFFC0026000E0023FFDF0017005000420031001FFFD20055
|
| 41 |
+
04A002B00340044FFB400150053001EFFD80016FFEBFF94FFD5FFF3FFDDFFB70076FFB9FFFA00700008FFD90008FFFFFFFDFFD5FFB80032FFBAFF88FFE0FFE50007FF9FFF8900440054FF93FF66FFD5FFE0006BFFD6001C00160015FFDA001DFFB1FF6B0033FFA9FF8DFFED0012007EFF97FFFE008BFFEAFFE1FF70FF9300290016FFCFFFB0FFC9FF8DFFD6000D00280008FFEAFFBBFF5E003FFFF30054002EFFC1002EFFB5FFC6FFA7FFE500AAFFDB0038FF8B001F0025FFB9002BFFA60058FFEB0035FFA2008FFFED000EFFF1001BFF90FFFD0053001AFFF3FFE80010FFD7003EFFF7004E0017001AFFC0FF9700030007004E0022FFB5002C000AFFDDFFF5
|
| 42 |
+
3F20010FF9A00000024FFE9FFF5FFC2FF99002800230027FFDD0005003AFFECFFF3000E0039FFBFFFBCFFED00470053FFD60020005BFFFBFF4D000D000CFFD3FF4B0006FF83FF7400BDFF9CFF82FFE80073FF9B00A3005000A10032FFD70009003900340088FFFDFFDE00000015001DFF94FFD4FFED0009001A0005000DFF74FFAAFFD1004E002A005BFFFF0044002D002EFFB4000D001CFFE60004FFEFFFFD0048FFE7003DFFF7004EFFC5000F002CFFE5FF7A0031FF9A00470022003C000F00590011FF70FFC70008000F0036FFCE0092FFC4FF8CFFB2002E00090019FFE8FFCD000D0010003BFFE70034001DFF840037FF86006C00390046FFE7FF3DFFDA
|
| 43 |
+
3F900050027FFEE00240015FF9C0006FFD50019FFBAFFBFFFE7000AFFE7FFD6FFAFFFACFFCB00B2FFB2FFEBFFC30001FFE000180057004CFFE5FFE1FFA6FFCD004BFFD7FFB60011001E0013FFF9FFEAFFBBFFEA0055FFBAFFBB002DFF78FFD8002BFFFDFFF7002200220036FFD1FFFD00240025FFCD0061FFF8FFFFFFDCFFEEFF9AFFE4FFF4FFCBFF90FFCE000FFFFBFF830020FF73FFF6FFE9FF99003AFFE9FF19FF9B0010FFF2FF99FFE1FFCE0017FFB1FFD8FFF10014FFF4FFD7000D0002FFC3FF9AFF94FF99FFE0FFAE0009FFCA0024FFD20003FFC6FFE6FFFBFFEA00600066FF93FFE5FFDC002A000AFFC80055FFEF004DFFF3002F00670048FFEBFFC7
|
| 44 |
+
3EFFFF4FFF1FFBAFFF2000BFF93FF580010FFBF0008000BFFFCFFCB00570031FFF20054FFC4FFEF0067FFC5FFEF002BFFD30003FFED0007002F0013FFFEFFF80017004E005B0021FFF300360072FFF80011FFDBFFE8007D0017FF71FF89005D0042FFD30051FFDE001CFFF50048FFBCFFF500FAFFF20033FFB00029FFD8000FFF6E0015FFE3000B00040039FFFA0041001A009F0013000F0029003F0082FF9A00390004FF8E0026FFE6FF5B007500140010FFD10036FFB7FFEF005CFFD30008FF45FFFEFF5EFFA3FF90FFBD002BFFEDFF9BFFA80020FFFC0023FFED0049FFB800200011FF69FFDB005300650023FF4FFF8BFF770022002CFFCD0035FFC4FF8B
|
| 45 |
+
3FCFFD2001DFFA40070FFF5000AFF9AFFD100430046FFC8FFC800050006FFFCFFBB0015FFA10019FF980027FFE9001FFFE4FFECFFF2FFED006A000B0014001FFFCEFFF9000AFF9BFFE5FF5FFFE8FFE90031FF83FFB70080003200BA002D00000038004CFFF4FFC40026FFE90066FFC8000AFFDCFF1FFFF0FFF7FFF40001FFCA0037FFE6001000200015FFD4FFBB0043FFCD00500036FFECFFBF001CFFD9FF89FFCE000FFFD300140011FFD3FFC1FFEAFF9CFF860032FFF4FFFF003EFFFE0004FFD50015FFFB000A00340035001CFFC5FF56FFCE0052FFB5004CFFC5FF75FFF4FFD8FFDEFFE2FF78007C0058FFFE0003FFF9FF990010FFCAFF62001E0024FFBB
|
| 46 |
+
003FFD4001CFFE60067FF960004005BFF6B003DFFF0FFA6FFA20014FFEEFFF7FFF4FFFEFFF200F0FFC4FFB4FF9BFFEB001BFFD7FFD0004F001AFFE9FFA9FFF40004FFD8FFF0008000110079FF93FFD7FFD8FFF9FFC0005B000BFFD9FFE2FFE40018FFC0002AFFF8FFAFFFEDFFDA001D001DFF4E00020023000FFFF9FFD10022FF80002EFFDBFF840000FFECFFF50010FFEDFFA40013FFFBFFEBFFD10021001DFFED0034FFF5000FFF78FFE8000A0020001E000E003FFFD3FFFA001EFFA30042FF8B003DFFB2001D0000FFE6002E001F00320009000DFFBB003FFF94FFE30046001BFFD7FFBCFF860004FFF20002FFE6FFBDFFD10039FFF8009FFFF0FFC40077
|
| 47 |
+
3A4FFFAFFB0FFA3FFD4FFD90003FFF3FF910055FFA8001DFFFCFFF30008002DFFC3FFD3000CFFCEFFE1001CFFC90032FFD6FFCFFFF2FFF000840001006500000000FFE2002BFFEEFFB4FFD5001600530006001AFF6FFF96FF960037FFB4007AFFC00001FF87FFE4001300080015FF9E00260016FFF7FFC3FFB9FFEC0073FFB0FF9FFFCF00410011FFE200010045FFA4005A004FFFED0020FFA6001FFFD2001CFFB9FFA200450029FFC80004FFEFFFF5FFB30053FFCBFFF10015FFD3001DFFE0FFD8FFAFFFDAFFB6FF4D00900074FFC9FFB9FF8A0011FFFC002500100008003DFFF50020FFAAFFEBFF7EFFC50026FFB500120046000600470032FF6800010039
|
| 48 |
+
3F50029FFA1002D001EFF79001D002BFFE8FFA3FFBF0019FFA9000F0022FFEEFFF20005001AFFE8FFE3FFC10023FFF90002FF6BFFEC004500280005FFD2FFF4FFAD0043000C00330046FF610039001A0025FFC3FFA5FFBB010CFEE8000200710074006D0008FFC7FFF2FFEB0016FFC6FFFDFFCBFF9EFFB100270005001CFFF7005C000E00000035FFB2FFDB0023FFFDFFB60035FFFE001AFFBEFF5DFFF50051006E003CFFFCFF7BFFF1001BFF75FF6EFF90FFB0000100230004FFEE003900400020FFD8FFDF0026001FFFDAFFEBFFCFFFCD001E0068003E004DFFD0FFE0FFF8001BFFB30011FFB50004001B00090002FFCBFFA4FF93FF14FF67FFFD006F0000
|
| 49 |
+
3F30015FF4A00ECFE3C0092FFD4FFA10028001C004D004E000CFFE2FFF0002E0035005CFF3300680010FFDA0086FFCEFFB3001CFFDEFF55002E003C0002002CFF3F0069FFF00000FFCDFFE0FF13FF85FEE7FFBA004A001BFF8E004CFFF0FFCF00530001FFD5003500190076FFD4FFF8FFD3004EFFD90056FE83000A0060FFB7FFBCFFF50018FF93FED5FF930043FFEC0040000400150001FF5AFFD0FFCDFFDBFEB0000BFFCAFF9EFFC4FF33002E00EA00370075FFF70006FF2E00400058005FFEBB000000060030FFA100220001FFE8FFD9FFD00020FFC3FFFDFFFA00170040FFD8002CFF8DFFF0FFF2000F004BFF59002D000FFF020003FF95006EFF6AFFF3
|
| 50 |
+
3E7002BFF0E0003FF9FFFFDFFF1FFE80078FFD4004C000D0035000AFF8A0042006C0036FF50FF7C0035001B00AE0012005B003AFFE9FFFD000FFFADFFA3004AFF08FFFB00190023FFCB00240008FF5DFF96000A00340020FFDEFFF7005D005B0045FFFF0053FFFEFFEBFFD7FFC7006FFFF1FFF90021FFE9FF800007FFCC009700090012003A0020FF0DFFCE0058000EFFD7FFF1003C001AFF5400290033FFFCFECFFFFDFFC0003500340041006A003C004800380015004FFFECFF9800320037FEB1FFE3FFA2FEE1005200480006FFF3000BFF64001DFFFF0030FFE8FFC9FFF2FF870036FF68001CFFC000320053FFF0002A000DFF63FF54FEDAFFB4FF490050
|
| 51 |
+
3CFFFDF0046FFD60106FF81FFE10064FFDE005FFFCFFFD7FFE4FFFFFFF0001800390061FFFE0070FFC50014FFCBFFB5FFED0030FFDDFFEDFFE7FF8D0009FFD1003F0017003DFFE70001006D0001003AFFE1FFD6002DFFF20081FFADFF3C0096FF9EFFF5FFCA0044FFDAFFD3FF9BFFFEFFDF001AFFF400030019FFE40019006DFFB4003BFFFDFFC40047001CFFA40046FFD5FFDC0008FFC9FF8E0016FFE50046FFF9FFF300200069FFFFFFEBFF6A0052FFBC003AFF9D0002FFF4FFE5FFF3004D003FFFA5001EFFF3004A00560058FFFA00350065FF69003D000500060046FFE5FFD0FFD50035FFF7FFCE0092FFC90008FF99FFDAFFDF00240056FFE9FFF60086
|
| 52 |
+
012FFF7FFFFFFE200060007FFED001BFFAB0086FFD4FFE1FFE8FF5CFFFB0015FFF1007C0007FF83003B0035FFF0FFF6FF90004BFFFEFF58FFEFFF5F00000001FFFA008CFFD10009FFA9FFE00026FF960030FFCDFFA3005D0023007BFFA5009A00150047FFD200000028FFEE0027FFB00002FFFA00100003FFFE007B0026FFBCFFF30037FFC0FFF300540005002DFFE2000B0018FFF8003CFFE00062000E0017FFFFFFE1FFE5FFD4FFBE00A3FF83005D001EFFEC0002FFD0FF74FFBF0004FFD20016FF81FFAF000DFFFD004BFFDBFFBFFFD8FFB9FFDBFFF70008FFF8FFEFFF7AFFC6FFA0003E006AFFFAFFDE0000FFCEFFCC0048001E004DFFE5000FFF93FFB0
|
| 53 |
+
03FFFC7002CFFC70009FFB0004E008A000F000AFFAEFFB1FFC20031FFFE00290043FF6FFF5300220017FFDC0035FFB8FFE5FFD7001300F7FFA8FFE90078FFD8003CFFF3002D009F001EFFAC0056005F001BFFE3000A0065FFDCFFE5FFD4FF980049FFD4FFAAFFE3FFE6FFD6FF25FFEC001DFFB1FFAD009B00260034007B0029FFF6FFB8000B00050075001A0021FFAE002AFF0B002CFFD3FFF9FF77000CFFD2FF3DFFD7000CFF9B00380065FFAD00830097FF31001E000FFFF300050038FFE30056FFCC002E0083FFD8FF63FF39FF82FF1400290004FFF4001FFFB7FF890039FFBDFFEBFF4BFFD0009700360010002000100011FFC90005FF5B00A1003BFFB6
|
| 54 |
+
02F0019FFE1FF6DFFB50003004B002C002E0075007D002500010052FFC100000001000B00650057FFF60019FFB80018FFF4FF89001E0008FFFA0003FF7DFFC40054FF9DFFF9003DFFB20008FFBC0014000C00060003FFFAFFF6005DFF66FF14FF9C0050004DFFDFFFBA0011FFCE0004003AFFA9FF7A0048FF56007800110052FFCC0024FFE10025000FFFE6FFD2002800070047FF97FFD0000DFFE3FFDBFFE0FFF0FFE4FFB2FF8E00190032FF9A0039FF7DFFC00013FFBAFFB8FFCF000F0016007E00330022FFFCFFA0FFDB0019FF290058007DFFFE004D0053FFFEFF2A0041FFE200330066005DFFA5FFEF00150013FF4C0026008B006AFFF10028FF9AFFE0
|
| 55 |
+
039FFCCFFDDFF990010006E0011FFE9006E002DFFFFFFF50024FFEEFF7CFFCC0019FFD9FFA50059FFA20002003600280066FF610003FFAC004FFFE90048002EFFBB001BFFF8000DFF79005D0035001300040007FFCCFF96FFA8FFE9FFEFFEA6FFF8FFE6006AFFC2FFE2FFBAFFED0004FFF8006D00110036FFE90009FF4DFFF2003A0074FFFBFFECFFC6FFCBFFD400090056FFFFFFA2000CFF95FFD7001F0002FFF70004001BFFB7003B00330041FFC4FFDDFFEF001CFFCC0075FFF3FFC5FFFE001A005FFF8AFFA40016FF8800030034FF95002F0028002C0008FFEEFFCF002FFFB300530060FFB0FFA9002600100032FFD3FFD2FFC6FF27FFC1000D00190064
|
| 56 |
+
3B6003D0080FF7E00640031FFF3FFEBFF47FF9F006C005DFF05FFC3FF8BFF92FFC90013FFC700480017001EFFD5FFF7FFA7FF7CFF2B0064FFBFFFAA0042FFBA002EFF92FFF5FFF7FFF0FF530006FFAEFF740043FF3FFF900096FF370066FFA7FFB6FFEAFFFDFFBB002A0002001DFFA2001000530007004AFF84FF69FF8A001D003B0072001BFFE9001FFFCCFFEE00570021005F0057FFCA0030FF75FFF10037FFCA005E0078FFDEFF75FFDCFFC4FFD1003EFF44002DFFEEFF18FFDC008B000400C0FFD100FE0003FFB9FFC60016FFEAFFCC003D0001FFC90028FF910010000000A700020018FFAF00180000FFAC0034003BFFCEFFDCFF870091001C001CFFDA
|
| 57 |
+
006000A0088FFDAFFEE000FFFFAFFA3FFFA003B0032005BFFE3FFECFF91005D0015FFC2FFE8FF8AFFD0FFF2FF91FFE10017001CFFF1FF7D003C0019FFFDFFF90081007C0027FFB4FFDC001F0024002F0033FFCEFFB6FF3C000FFF83FF7D0004FF8800080056000100230010FF2AFFE7005CFFB5FEC80048FF830025000AFF9F0048FFDF000CFFFBFFE4FFF20032001A0009001CFFDF0017FFF00031002C0005005A00550031FFBCFFFE003CFFB400450044FFA9FFE5000FFFD3FFB10008003C003AFFDC005CFFF8FFD9FFF2FFD3005FFFBBFF82FFFF00240017002BFF73FFFFFF21FFFA006AFFD1FFBDFFD8FFE2FF97FF79FFCFFFD8FFEB000BFFDC002EFFB3
|
| 58 |
+
3DEFFF30070001B0035FFD60005FFDEFF6DFFC4FEB5FF94FF230005002D001F0091FF4F0013001BFEFEFFB1FF5A0014007BFF5A000BFFFF00650021FFFB0001FFF0FFEFFFF1001CFFF1001FFF4D0062001CFFDDFF32FF93FF7B0016FDFDFFB3FFF4000EFE520016FFD500210019FFB100540014FF5E001EFFC4004C001C0024FFED0060FFC3FFD5FFFB0014FFE5FFF0FFCDFFF9FFDB000D0009FFAE002200130050003BFFA3FFDE00030045FF10FF66020D0040FFB70032FFA1000500200008FFD8FFE4FFCA001D005EFFC4FFF4FF96001F002C004900700023FF7D002D000AFF74001DFF9E006EFF5F00280023FFFDFF5AFF94FF73FFA0FFE4FFD000480035
|
| 59 |
+
03A0009FF3EFFF700170001006E000F009CFF430054FFEB005A0006001B00490041FFFAFF5900C1FFFE000E0049001CFFFA0026002A00080076FF7DFFF6FFA3FF64FFA30018FFFD002C0020FFB30058FEA400310009FFD1FEA9FF8D003000120028FFC300130082FFB10021FF95FFCCFFED003DFF41FFD9FEA2FF79FF60FFF5FF4D004F0048FFF0FF83FFB5005FFF05FF6EFF93FF57FFDEFEEDFFEDFF99FFB1FE98001DFF990003003C004F0069FFD8004B000B0024FFE3FF59002E002F000AFF92FFEBFFA0FF70FFC200210049FFD300BB0044FFF8002A0013FFFDFFE20011FE4D001DFEF1FF90FFF4FFF000520061FFD7FFEA0007FFC7FEF10002FEFAFFEE
|
| 60 |
+
00C0028FF99FF910025003F003B0038FFD0004A00070029002D0069FFEDFF720005005EFFCC00630042FF970026FFD6FFE3FF7AFFD300B2001CFFB00014FFC1002DFFCDFFDE0065FFDC0081FFD2000F003B002FFFF7FFD4FFC0006A001D00120005001EFFB5FFED0000FFE1FFE1FFA4FFFC0028FFE4003B00500002FFEF0026001500350041FFAC0008002E002D005F0015009F0035FFCFFFC60004002C001AFF8600170027000CFFCCFFEB0013FFE7FFC0000FFFEBFFFAFFBBFFBBFFF30007003FFFF9FFC8FFD8003AFF51FFF9FFF1FF750041FFF4FFC6000DFFCFFFF9004AFF9CFFA0FF78FFF3FFE0001500270028001F0083FFD300A0FF450087FFE5003E
|
| 61 |
+
3E1003101050004002CFFDCFFE7FFA4001AFFE0FFC70029FF430037FFF100070075007B0023FFE5FFC2FFF1FF43000DFFF6000EFFFFFF8200260023FFAF0003001200A9FF8AFFC0FF8F0022FF2C0031001D0012FFBF002B0040FF31FF960079FFE7FFCFFF250016FFE50035FFAA0006FFB0002DFFFAFF64FFBA003CFFD8FFA9FFF90014FFDF003B0071FFEDFFD5FFDAFFD2FFEE002BFFDF00130032FF55FFF50057FFF1FFFE000AFFFFFF67FF26FFE90038FFE5FFC3FFA5FF88001E002EFFE6FFC7004EFFF200B60031FFE0FFAEFFEE0020FF76FFD9FFD0FFFF002D001CFF0DFEEAFFD4FFCBFFD7FF46FFA5002EFFBAFFE3001D002100B2FF65008800730023
|
| 62 |
+
3CA000AFFEFFFC7004BFFB5FF8B0002FFFEFFF4003BFFE50032FFE9FFCFFFC2005FFFF9FFC30002FFC600060003FFEC002AFFF8FFF70000FFA50019FFE80006FFEAFFDEFFF0FFE60013FFC4FF88002D004C0005003CFFFDFFD00064FFE7FFED0007000C0017FFB100200002FFF0FFA0FFC8FFD9001CFF950040FFFD00360028FFF0FFF3001400180046FFEBFFF2FFFEFFB2005B0002FFB4FFE800140068FFDA00120017FFB0FFB10020FFBCFFE9FF84FFDBFFDFFFEF001C00580003003DFFF3FF5B0003000D0024008DFFF3000DFFFAFFE90007FFEDFF99FFF8FFE90026FFEEFFC9FFE90015002FFF3F00310035003CFFB7000AFF36FFEA0017FFE6FF0C001C
|
| 63 |
+
3D1FFE50003FFE9FFFA000BFFFF003AFF9B0046FFAA004EFFDBFFED0027FFD6003C0017FFF00069002C0002FFBDFFE9FFFC0014001C0015FFCDFFBC0059001F0071FFFB00230054FFC70015FFFF005D005400160020FF9D001B008AFF39001200080035FFC1FFC0FFBB002CFEFC003CFFB1FFD1FFE40039003D0063003FFFD40057FFDCFFB4FFD60002FFD100350012FFADFF5900080026FFAC001C002BFFCD0026FFB20084FF9AFFE8003BFF68001700AA0025FFB0FFAEFF6DFFDFFFE0002AFFB1000D00470057000E0017FFA9FFA0FEE2FFBFFFD7003F00250016FFF4006BFF810039001900620023FFD8FFDC0012FFE0000FFFEFFFE20040FFFEFFF90011
|
| 64 |
+
022FFE1FFDF001DFFBFFFCF0007FFEFFF69FF6D00240043FFF4FFFB0007FFB6FFE30028FFF3002CFF8EFFA3FFC60003FFF0FFC80048004100190009FFAFFFC5FFE20008FFDF004DFFE0001EFF9CFFB8005BFFCB0044004D0030FF210027FFFFFFB8FFAC0022FFEC002BFFCA003F0064FFDAFFFEFFD6FFB2FFF90014FFEF0020FFFBFFE1FF970019FFB9FFB2FFEC00230006009F0034FFB70002FFCC0032007C001900090067FF8AFFF2FFA2FF97FF5BFFEBFF8C00170038007C001900110047000A0035012B011100510019FFEF00280010001DFF97FFFFFFE60000001BFF52FFE9FF7AFFB3FF690026003EFFE5FFDA000DFFF7FF2DFF17FFC60004004AFF9C
|
| 65 |
+
009FFE0FF7FFFF80015FF87FFD3004E001A001C0007FF72002100340013FFFEFFD9FFAA005B001BFFA3FF97FFDAFFCE00400023FF92FFD9FFEA0049FFB1FFECFF9CFFF9FFD9FF9F0021FFFDFFFF00080001001B0009000BFFECFFDC008F0025FFFA0058FFF5002D000B0042004EFFE40001FFBA006EFF0FFFEEFFAA0054FF9DFFE60009FF86FFCBFF8BFF81FF8CFFF0FFD5FFD3000A0046FFFDFFBCFFF200130003FFE6000BFFACFE93FF580020FFBEFFBBFF48FFBEFFF5001FFFE3FF7FFF91007BFFD8FFF70020FFBAFFA10002FFFB000E0003002B0001FFF2FFC90059FFC6000DFF2AFFDD003D0011FFE5FFBAFFECFFFA0014006D000A00D9FFF2001FFFF5
|
| 66 |
+
3A3FFF80067FFC10050FF9DFFCB0024FFAF0037FFD40035FEFAFFA0FFA1FFA7FFEBFFDA000000490036FFC9FF2B003BFFED000EFF8EFFF8FFFB000F0028FFFB0015FFF60007FFE40020FFECFF2CFFC7007AFFF6005BFFBC0052FFEBFFDAFFFCFF7F004BFF01FFC2FFC30001FE5D0037FFE4FFB7FF9FFFFD00F90053FFC1FFD50009FFB90041001900DAFFFB0033FF72007DFFD8009FFF9BFFEAFFE5FFEFFFF200AFFF690063000BFFFAFFF7FF96FFBB0022FFF4FF9DFFEAFFA6FFDCFFF9FFC00003FF86FEEFFFB9FF06002FFFEEFFB8FEE0FEFEFFC5FFCFFF8700190049001000BEFFDCFFB40016003B002EFF5FFFFDFF930002000E001A0037FFE90021FFE4
|
| 67 |
+
072FFD6FFCA00650070FF84005CFFA0FFF700110016FF96FFC8FFDBFF6E004F00520025FFF2FF500034FFD10032FFE70067005800100016003FFF42FFDB0037FFEB001C002D001AFFC3FF84FFC5FFB9FFF80058001200290051FF37FFFF0046FF90FF730025FFFA000C000AFFFA001AFF2EFFD3004CFFAB0095FFE70018FFF700B7FFAF0066FF7F002800320001FFD2FFC1FF9D0014FFEC0003006B002700290058FF18FFF00041004A001F006200BE0035FF830003002200FAFFD6FF97FFE50043FF8EFF0DFF75FFFCFFE4002CFF8BFF9DFFA6FFE8FF810039FFAF000AFFB20061004C00050025FFAFFFD1002FFF67FFEF002BFF940036FFEAFFC6FF33FF50
|
| 68 |
+
3FC0029FFF4FF90FFE4FFDEFFD80019FFBD005DFFF9001DFFBE0027FFB1002800000003FFF9FF53004FFFBA0038FFDCFFC4001AFF52FFC4FF67FFECFFE0FFF9FFFC0028000FFF19FF59FFB3FFC4FF95FFD3FFFDFFB4007D0006FF8EFFEF005CFFD8FEB20017002500120014006BFFB7FFEE0071FFA5FF85FFDEFF740095FF72000B005DFF8C000CFFD1007CFFD80004003EFE9900050042FFD2FFF1000D0047FFF4FD57002F0065FF8DFF8D003FFFAF008D0090FFCAFF41FF78FF57001C002DFFFD0011FF63001CFF31FFE80002007A0016018DFFC9FFEBFFF7FFE8FFCEFFF3FFAE01C0FFFFFF1C006DFFAAFF81FF9800590021FF7CFFC3004DFDB1FFFEFFD6
|
| 69 |
+
3A20034FF960000FFBCFF7EFFCCFFFA00180001FFE60023FFEEFFD700510005FFE90023001CFFBEFFEE004BFEE8002CFFE20028FFF9000C0014FF8DFFCBFFF4FFFF00ACFFDEFFE70052FFB2006F00B30004FFE2006C00630001FF5D00A00070FFBAFFD60048FFCBFFC0FFE0FFB40039FFC9FFCA0024FF50FFE90005FF8BFFCC0052FF43000D0037001D001AFFD4FF77FFDCFFFCFFA2FFFC003500BA0056FFF700730009FFC1FFCC0040005300340064FF97FFD5FFBA0006FFCF0037FFD60011001DFF47FFD800A4FF6A0022002DFF5F00240018001700010012FFC1FFA7FFAF00200061FFFC00130024FF73FFAEFFD70013FFC500960021FFE9FFB20033FFF1
|
| 70 |
+
05DFFCE001E005A0049FFF4FFE70048FF91003CFF9F0056FFCAFFE1000EFF67FFC7004C004AFFEA006EFFD60026FFF0FFFBFFD1008400050021FF5D0031FF410076FFE30034FFF4FF0FFF83FFAE001BFFFE00380016FF29FFFC0035FFC3006400630000FFE4FFBE0000FF60FFFAFFFC0078006DFFCEFF5CFFC3FF90FFE8FFD60044FFE30018FF600009001700210026FF4D0095001EFFB0FFBAFFDCFFDC003E0046000000750068FFD6FFA0FFF4000C0035004F002CFFC0FEF5FFB8FFB2000700650001FF75FFEB0027FFF0FFE5000EFF370014FFA1FFAF0025FF46FFECFFDA0047FFEF0073FF58FFEF004200580015FFC4005C001AFFE50080FFFDFF78FFFB
|
| 71 |
+
010FFEBFFE2FF9C00140073FFA20013FF91FF9BFF81006DFF8E002BFFE7FFAFFFB7FFC10007004D000B0003FFF100490003FFD00002000C000EFFA40021FFDAFFFC001DFFA2001AFFA80057FFCA0015004F00280025FF68FF3B0061FF63FFE60016006CFF95FF300024FFD60042FFB5000F0000FF8600610068FFEEFFA5001D003F00470008FFFD0024FFF700110010000AFFBA000FFFF8FFA4FFF90039FF95FFABFFF000000027FF99004FFF0F003B007B004CFFC20007FFE10029FFF90029FFC70002FEF8FFC500140094003BFFEFFFD0001C00040046FFC6004200000035FFB500040020FF52FFB2FFE7FFB50053FF64FFE8FFE9FF73FFCCFFDDFFB60043
|
| 72 |
+
3CDFFDE00350019FFE90012FFBAFFC5002DFFD20045FFDDFFEF0000000AFFFF0009001100630066000FFFE2FF4C0004FF93FFDBFF69004CFFDC0033FFDE0020FFBC0023FF81FFB9FFB8FF11FFFE00200002000DFFDCFF63001AFFEDFFB50030FFECFF9DFF46FFE3FFEC004100460013FF27FFBAFFBE002B001DFFFD002D002A000D002FFFF2FFE0002EFFD2FFF3007B002A0087FFE0FFF2FFE60048FFE4FFF700380042FFEBFFCF0001FF83FF6A0040FF66FF34FFC0000D0014FFD2FFBC006FFFAB0045FFE30056FF510003002D0040FF910041FFE5FFA8FFCFFFF1FFF2FFD7FF860019FFBEFFDBFFF300A7FFD00008FF7BFFFFFF7C0076000C0025005BFF9E
|
| 73 |
+
02AFFB3FFE20087008E0030FFA9FFFB003DFFF6FFD2FFF700070023FEF8FFA70031FFFFFFB20004FFD6FFF8FFB4FFF60035FFB1FFCC001EFFC9FFCCFFB3FF83FF8A0009FF890043FFF6FED3FFBA0019FFB800010035FF9F00AB003BFFAC005B0021FFE60048FF5CFFC9003BFF970062FFA30010FFF10012FFB7FF48FFDE003E0034FFEBFFC8FFDC006600140023003CFF780027FFF3FFB1FFF4FF95000F003EFFD90015001B00180011FFF3FF75FF600002FFA80001001AFFD3002EFFFF004E006D002500940092FFC20005FFAA0041FED60013FFF20009000D0023004DFFEC00ACFFB4FFBBFFED0096FFFA004AFFEDFF9E000EFFC5FFABFF57FFD40045FFE5
|
| 74 |
+
085FFD0FF58FFFAFF9DFF920040FFF8FFD30071001FFFD4000A0042001DFFFB00320014001EFFD4006000030018000E005C0009000B00130020FFC0FFD1FFE9FFE1FFF5003AFFB3FFB10015002D000AFFDEFFE9005C0019FF6CFFFC0007000FFFEEFFC400B1FFE70024FFEB003EFFE500120023FFDDFFB4FFA9FFEA004B001EFFC6FFBA00020008FFC80004FFC80010FFF0FF47FFF8000DFFD7000C004B001BFFE9FF7FFF8C005000A5FF710076003CFFC7FFEB0034FF8D0058FFB4FFEA001DFFF1FFDE0035FFBD007FFFEFFFDA003FFFB4005BFFDEFFED0029FFD1FFF10000FFF8007A006C0007FFE2FFE9008FFEDEFFA0002BFFF500470029FFA5FF5FFFE4
|
| 75 |
+
3B0FFD8FF860024FF78002AFFD80029FFF2FFE8002CFFF500010027FF56FFFD0031FFDCFF7F0023FF3D00130072FFD0FFE3FFED00230003006B0031002DFFAA000B000AFFF2FFEA001FFF9AFF7A000300610056FFF7003500270007FF8EFF7800110028FFBEFFB0FF890032002D004400370014FFF2FFE0FFA2FFF1FFD4FF8C001CFFEBFFFFFFD7FFA4000B0041001CFF84FFAEFFC6FFEC0010FF9AFFB8FFF6FFE8008D001DFFCFFF89FFE2FFF2000300EE00130056FF7B0005FFD6FFA6002BFFFCFF4FFF48FFAB0004FF8C0000FFAFFFAA0030FFE4FFA40046FFED00600064FF96FFFA00340027FFFFFFE7FFD60001FFE50028FF360027FFEE0013FF9F0020
|
| 76 |
+
3BA0018FFAAFF83FFF2FF170043FFA20043FFE2FFF3FF9DFF830037001B000FFF8300010016FF9BFFF0FFECFFEE0046FFCE00280012FFD6FFFD0051001B0040FFF0002E0019FFE1FFDA007A000A0084008AFFBDFFEC00820019FEBD000200900005FFBA002F00290034FFE20013003500730083001200170038FFDE000EFFF9FF4BFFC3003D0036000D0008002100140027FFDB000E0036FF970034FF8A00080052FFC60018FFD0FFC800090016FFE6FF400006FF7DFFC0FFE8FFF4FFA5002DFFED0049FF9E0020FF7C00250049001AFF75FFFF00110014FFE8FFA1001B0001FF4E0075004A0006FF5A0035FF980013FFBBFFCFFFE6FFCD0062FFD10004000F
|
| 77 |
+
3B70001FF940010FF89FEE9FF96001C0018FFC60014FFF7000C0004FFA6001A004700200001FFA50031FFCB010AFFFDFFFC001CFFB5FFE5FF830014FFD5001EFF0DFFFC0040FFE3FFCAFF4EFFC2FFA8FF8E0012FFFF006F0054FF8C002F0049FFF5000F00930073FFBE0019008DFFF0005AFF5600A90011FF45001B0059001CFFDD000D002A0014FF9800470070FFFA0013FF40FFCBFFAAFF83003BFFF0FFE1FFA1FFAA006C004EFFC4FFB20113004C000FFFFB0024002000920000FFE70040FFB70021FFBEFF7B002600590027FFB3000EFFE8FFF6FF8FFFDCFFC0007D0012FFCA002FFFA7FF98FFC4FFA90037FF860063005FFFB5FFC2FFC7FFD7FFA9FF8D
|
| 78 |
+
3FBFFA700D4FF7EFEE9004AFFF4FFA4FFFAFF8D00A0FFFD0064FFF5FFE900450081FFA20008006BFFB0FEC2FF850031FFFF0039FF2A0049FF9BFFE500490010FFEEFF330080FFF0009B0000FFBD0032000C0037FFABFFF800370099FF0CFFC1FFB2FFD8FF9EFFEB0054001EFF73005AFFF7FEF500440046FF99FFAA00C000730022FF92FFD700020021FFCAFFECFFD400E50086FFC9FFED00050039003A0007001F0062004A005A00520038FF10FFC7012700A300400031FF4EFFF8FF93000A000100750046FFF8FE9AFF7BFFA50020FEC0FFA4004AFFDD0012FFE8FFE5005CFF53FFD7FF9C001CFFFA0010FFDF004CFF4B0016FFECFFD3FFD4002E00120030
|
| 79 |
+
3FC0023FFCEFFD7FF9B0049FFAC001D0053003E001400790002FFE3FFC5FFD5001B00960093FF59FFFE0015013EFFF4FFFE000FFFEDFFDAFFF3FF60FFD5FFEEFF7B00120034FF6D0007FFFD0033006DFFBC0048004DFFDDFFF6FF9D00A40036FF76FF8E00B50063000AFFD70023005E003D0067002DFF3C0067006EFF95FFC30042008B003FFFF1FFFE00100021FF86002200310020FF8EFFE8003D0025FFD10006FE46FFC70051001100210084FFDD0017FF970016FFE10034FF5BFFFAFF7DFF9BFFE7FF96FFEE0090FFD3004AFF6100AA00C2FFE0FFCFFFF40043FFDB000E00B800F4FFECFFF7FFCE0034FF9DFFF6001BFFE2FFE1FFACFF8CFEE6FF9F0023
|
| 80 |
+
3DEFFF30013FF79FFF2FFF90078004EFF3AFECBFFFEFF40FFB1FFF2FFBEFF9200510050FFF80020FFC2FF21000E00430005FEC9002D004DFFFFFF030011001D001CFFAB001C0047FF47FFC3FFA000850027FEDFFFBC0074002DFF950026FED9FFFC004AFFBF0032FFF9FF34001400180027FEF800240022FF69FF80FF260047FFBA00A000000096001500490021FFF3FFC200230039FFF1FFA2FEEA0043000E008400CE0037FE99FFF80019FFD1FEE9003A00A300030030FFEBFFDD00250033002A003FFFAB000D008DFE700000FFEDFFDEFF9D002300240001FF65001C0038FF71FF96FFD6FF90FFFEFF6A00220027004AFF5EFFDBFF31FFC500450025FE73
|
| 81 |
+
05C0023001A0042FF9C0082FFD4FFAA003A00370014FFB60030FFFDFFBF0008003A0006FFF2FF60FFDEFF8F001AFFDC000EFFECFFEBFF1B002D00D2FFD6FFE9FF38FF9F000F00480028005AFFECFFE9000FFF730001FFF30081FFF0004FFFFC002AFFCA001C0051004BFFE9FFA6FFB9FFCD006FFFF30051FEECFFAC000F0000FFDFFFB2FFFFFFE3FFF20057FFF0FF98002D000DFFF9FF69000FFF920012FFD00068FF300019FFFF003CFF6EFFC6008CFFB4001FFFF10017FFC50022FFD2FFF4FFDB00380047FFC7001000090020001E0024FFDB0043FFE9FFF6004F0003FF37006D0018FF88FFF700470015FFE7FF58001DFFDDFFA00045003EFFEC00330016
|
| 82 |
+
018FFE2FFFDFFDB0057000900050003FFF4FFF00019FFC60049FFD8FFE9FFFA00520016FFD80036FFEA00290012001A0044FFF9004F00140030001EFFC0FFCAFFDDFFC90006FF9FFFA3003F006FFF6FFFB40023001BFFD4FF46FFC20075FFE5003700070042FFF0000EFFC6002A0014FFF90012FFF20027FECAFFF0FFAAFFE3FFEAFFA10009FFFCFF60000BFFD8FFE1FFFF00290017FFD2FFA8FFE3FFF70011FF54FFAE000A001A0035FF8E0062FF890011FFB9003A00370015FFA9000DFFE7FF92FFD90020FF47FFF100720010FFF4FFD8FFFC001FFFDAFFFCFF95005CFFADFFC4FFE1FF22FFA8FFECFFDD005BFF7C000D0079000BFFDBFF98FFBCFFC90034
|
| 83 |
+
338FFE40010FFADFFC80068FFE2FFAC0040FFBB001400950021FFE60000FF810048FF6AFF2F009CFFF5FFDF0059005E0003001800AAFFF9FFBE0055002DFFDF006FFFD2FFAAFF57FFECFFAAFFD5FFDF001EFFBF004B0063004FFF61FFEA007EFFC6FFADFFFB0083007CFFF7FFB8FF6EFFD3FFC3FFFF0007005AFF940012FF74FFDFFF8AFFFD0000001BFF82FF36008700540024FFFC003500050022FFDC00ACFFE5FFFDFFA1FFF8FFF1FFCB006C0034FFC600A10019FFFCFFC2FFD20044FFF5000700210020FF09002CFFFC007D0061005C0072FFE60037FF9AFFF9005000BF006F00FA0024FF9EFF54FFD600540046FFADFFC7FF4C0034FF7D0077FFB10057
|
| 84 |
+
000FFFE00000032FFBCFFBB001E007BFFC300260008FFBDFF93FFD5000FFFD9FFFA00370029FF9DFFD6003C0016FF97FFD40071FFFFFFC000080077FFBCFFE3000B0039FFEAFFEDFF5D0022FFB6FFECFFE4FFCEFFA3007800360025000B008F0005FFEF0035003F0028FFD80004FFC7FFB7004D003FFF6D004CFFA9001CFFB6FFC0FFFFFFF9FFC70021FFEB0031FFF6FFE5000CFFF4002E0027FFE0000B000D002C003FFFCBFFB1FFA2FFE9FFB0FFEEFFA6FFB30004FFB6FFAAFF230014FFC6001BFFC1FFC5005FFFC4FF82001C004BFFCF007FFFE10053FFDDFFB40017FF27FFE4000B0022FFEEFFF70022FF77FF8A002E00220000FF650003FFCEFFDBFF4E
|
| 85 |
+
040FFE20008FFFE000300040046FFB0FFD6FF61FFC3FFEBFF7CFFE0001DFFBEFFFBFF78FFE0FF40001FFFFA0018FFDBFFFAFFDC001C0045FFCCFF23FFE1FFD6001D001EFFD4FF910019FFB2FFEF0032004C00140067FF78002BFF92FF50FFC4FFEEFFB600350004FFE9FFD1FFB2FF7DFFC50044001AFFC00033FFFC004800070051FFF5FFF1FFA4001DFFFF0023FFDD0052FFE30009FFDA001D000100460031FFD8FF86FF81FFA5FFCAFFB1FF77006B0010FFF4FFE2FF95FF750016FF6AFF0FFFFCFF66FF8FFFC3FFF1FFF2FF83003C0013FFDBFFFCFFAC000FFF9B0039FFD3FFF8FF5BFFDCFFAB0004FFE3FFD3003D0030FFE0FFE4003AFFD70052FF83FF8D
|
| 86 |
+
02CFFD3005B00140046FFDA00240025005D001EFFE8FFA7FFB9FFFCFFF1FF730010000E001C00280015FFE5000DFFE50001FF6FFFF30021FFCC0008FF86FFCE0024006EFF800066FFFF0060FFBAFFFEFFB400290011001D000F0061FFA6FF84FFFFFFC9FFEFFFCA00090019FFC80068FFDEFFE1FFF1FFF6FFC7FF7F002E000B0014FFE700280007FFB7FFB3FFE1001B001C0029FFDDFFDD0001FFCEFFA6000E0047FFF00025FFB7FFBD0022FFE6002D001A000FFFD3FF69006C0019FFAD00070084FFAA00310038FF8B00170006FFAF0028FFFEFFA400310005FFFEFFE600440014FFC300070044001F00000014FF96FF8C0005002CFFFE0027001900400043
|
| 87 |
+
044FFB4FFE0FF4900510030FFFF00040053FFD40007FF12FFCE003DFFC2FFCF002AFF41000200490010FF360029003C0022FF7C001DFFC7002500110017001F0002FFDFFFF1FFF1FFD1007D00040054FF97FFF5003BFED7FFF50051002FFE5E003D0009001CFFDD0015FFB50055001FFFEDFFB50007001EFFB9FFCAFFB10097002E0061FFDD0040FFDCFF82FFDE00B10018000AFFCA002AFFD4FF70FFF8004AFFF10060FFE3FFCC0011FFDFFFEDFFD7FFDD008800160011002B00510018FFF7FFEF007A0076FFE0FFF40053000F0038FFEDFFD5FFD00021FFFAFFACFFF8004CFF75FEC60010FF92FFE1003A0023003DFFFEFF72FFD6FF61FFE80068FFCE0029
|
| 88 |
+
3C50049FFEEFEBAFFAF000EFFDF0039FFFCFF630026FFCFFF8EFFF10028FFFBFF96FF76FF58FFE40040FFDAFFEB0032FFDDFF6FFF640038FFEDFF80FFE90030FFC8FF86FFDF00360012FFF5FFF10096FF7DFFCFFF80FFBB0146FFAB000EFE98FFDD0080FFFF002CFFE70018000CFF75FFCFFFC4FFEF0053FF89FFBDFF8B0050003000C4FFDC00790069002B000D001CFFD4FFB3FFDA0049005EFEA6FFE1000CFFF30104000DFF3C00170048FF8EFF590011009800450027FFDEFFD6FFFF0035004B000B002F000C004CFF69FFE9FFB6006D0018FFF3002B002BFFBB0000003200ACFFF1FFD0FFAE0041FFC2FF8A00430026FF800053FED1001F004E001BFFCB
|
| 89 |
+
00600370020FFF7FFB8FFE500020011FFFA000C0021FFC7FFFAFFCE0034FFBD001D0008001C0046002DFFCAFFF8FFF4FFE10026FFBFFF420000000FFFDEFFAA004A003FFFC3FF5E00B900110016FF7B0023FFBEFFF5FFA80045FFC3FF87004DFFEFFFF6005500220000FF94FFF900500002FFA00015001EFFAD000F0050FFD8FFFC004CFFFAFFB70023FFF2FFCA00ADFFBA0049FFCDFFFE003DFFD7FFF70030001D001500570011FF9AFF94FFF4008DFF81FF86FFAFFFB20072FFC70002FFD60027FF6D0096FFEAFFB90072FFE7001BFFF6FF93FFEDFFBF0043004FFFDD0009004E0070FFA4004C00570029FFEEFF3F0005000A0011FFDDFFD1FFCF0060FF9E
|
| 90 |
+
3FE00310048FEFAFFF1003B004D0039FFDEFFB6FFEBFFCA000300160000FFB30033FF7A0021FF90FFD9FF89FFC30011FFE7FF7C005E003C0006FEE5003CFFCAFFE8FFB3FFF5004B0001FFDB00290010FFDBFF33FF9C0013FFA7003AFF95FE5D001D000B00280019001EFFC4FFD2FF94FFD7FFA6003300560029FF7D0027FFEDFFDD006CFFFB002FFFFD0022FFEDFFE8FFA3FFA700170012FFE4FFD0FFDEFFFA00000081FF7FFFED0008004CFFA2FECEFFA10065FFC00047FFDD004C0034004BFF8B005F002FFFF5006AFFD00015FF8DFFD2FFEBFFCE0016FFF9FF98FFCA0010FFF9FF730048FF97FF9E000EFFFE0024FFD2FF2AFF63FFDB003BFFEEFFCEFF9E
|
| 91 |
+
01DFFC40048FFB9FFF30064FFF3FFD6005BFFDF001D0029005A0072005CFFE80069000EFF180062001DFFF90068FFF50025000400B80016FF55FFC60089FFD6FFDF0014FFD0FFFA0028008A00110032FFA20009FFF50016FEB70006FFF70000003B002FFFF20054002A005BFFD8003AFFC90075FF55004BFFE2FFFFFF63001AFF7EFFDD0045FF880016003EFFFDFFEF0014FFE1FFB4FFDBFF4AFFF00000FF95FF5B000CFF800028000E00140013FFB8FFF0FFC70039FFDAFFF5FF9B005DFFB1FF89FFD2003DFF770034003C0047008C009D00C7FFE5004BFFFFFFFAFFFD0014FEDBFFAFFF8BFFD9FFBB0005003F005000160018FFA5FF81FF1C0047FFD80098
|
| 92 |
+
3BB000800320099FFBA0074FFB60049FFC8FFE8000F0005FFD7FFFEFFFBFFE6FFB2FFD8FFC80016000C00790020FFF30009FF1DFFBA0091FFB50068FFF1FFC0FFF1FF2700050034FF980072FFC5002A0017002EFFF4FFD2FFFF00880018FE66003E0071FFDA0047FFF5FFD30005FFDAFF5F00A3FFC300240011FFBF0037FF99FFD3FFB1FFBA0026FFDDFF7B001A003CFFDE0086FFF5002B0036001CFFF9005F000800C7FFDAFF7DFFEAFFD1FFA5007DFFDC00290016FFF1FFC5FF5B000EFF9A0011FF65FFFEFFD70028001F0004004FFFEE005DFFDB0091FFE7001400120050FFF9FFF5FFC60013FFD7008B0010005F001D0015FFC20010FF8A0056FF8D0044
|
| 93 |
+
3E80023001E000FFFC40046FFD00024FFFE003A0012001AFFD3FF7C0013FFB70003FFD1005FFFF6FFF1FFDFFFA80049FFF700300044FFC4001B00C0FFF30004FFD0FFAEFFB9FFF3FFABFFDEFFE4FFCB001EFFA4FF990096001DFFAFFFED00A1FFF9FFD80043005B0008FFE7FF560024FF50007A0040FF32FFFC0035004DFFD7FF88FFB6FFDEFFFA0067FFE8001C000C007EFFAEFFF9FF7A0010000CFFD9FFEA00070008FF80FFDE001E0002FF1EFFA1FFC7FFFF0047FFEE002A00160016FF9CFF620064000A0041000FFFA1FFAF0031FF44FFECFFE6004EFFFF006D001BFF2DFFC9FFDF0044FF7DFFE500720014FFAB00140033FF7800360004FFFBFF6FFFE2
|
| 94 |
+
38A002E0031FFE30020FFBAFFBD0034FFF7FFB80043002600440007FFC6000700320022FFE50005FF5D0027001AFFF3001100200057003D000A002DFFFDFFEF003C0015001AFFD8000C00070015FFB7002CFFE7FFF50036FFD5FFF60008003C002D00060003001A006E001EFFC7FFA7FF64FFE9FFB90010004C003EFFA1FFA9FF86FFF100060019FF1900170027FFF90022FF85FFF5FFB1FFFCFFF0FFD9FFC5003FFFF8FFD5FFA30015FFDD006BFFE1FFCE006200550030FFACFFB1006CFFF5FF8DFFF6005E0024003F0025003DFFF9FFFA001400180011FFC60028001A001AFFE70003FFD50018FF5400230030000300040002002DFFFEFFC2FFF4FFCBFFC0
|
| 95 |
+
3E5FF81FFE2FF82002D0092002B0039FFBDFFD9FFB7FFB4FFD6FF91FFEDFF9AFFF2000700570080FFFC000B000B0049FFEAFFCF00230040FFBA0019FF8D0028FFF4FFC1FFD4FFF3FFBB003BFFAC00170048FFD40003FFC0FFFF0054FFE1FFDC002FFFDF0025FFE0FFD1FFBDFFED000B00090037000400A40036FFFFFF8900960016FFEDFFEBFFEAFFC70001002B00760000007CFFB0FF9BFFD5FFE0002AFFEAFFC2000C0015FFF80006FFCBFFE60007FFD60041FFB3FFCE0026FFF9FFB80021FFFE008DFFA4FFF5FFBBFFEBFFCE00150055FFE0001C001B0013000100100048FFAEFFDD00150065FFDE0005FF6D000CFFDCFFF20021001100A20007FFFAFFC6
|
| 96 |
+
017FFAAFFB70047FFA9FFE7000EFFE3FFE3FED6FFD9FF4CFFF9FF57FFE9FFECFFFCFFDCFFC90065FF78FECFFF8C0007000BFFC20025003CFFC3000BFF930060FFB0001500240062FFED0001FFC90003003DFF95FFED0017FFDCFFB9FFB7FFDCFFEB0033FFDF0028FFFDFF8BFFFC008CFFADFF7D00240089FFF2000D0007001CFFB6001BFFD600BD0025FFACFFDA0056FFC50000FFDCFFDBFFE40001FFED006AFFAE008FFFE7FFB7FFFF0014FF5AFF700018009C0001FFFC000E0018FFE4009900590068FFC80008000C001C0016FFF00015FFB2FFDE0045FFF50050FFFFFFA60020FF53FFC40000FFC60054FFF80013001CFF01FFE3FF2E002300650075FEA4
|
| 97 |
+
3E6FFE9FF91002B006BFF350008005E00590025004EFF88FFE4FFF6001BFFB3FFE1FFE20067FFAB0003FF5BFF87009D002AFF7C005C00170042003B000F0022FFDA002500810069FFD4FF980019FFC5FF8EFFF90012FFCCFFF1FFD6FFFEFFD2FFFEFFC0001A0013FFD6FFDFFFFF002DFFE2FFF9FFF7FFCE0002FF4D00500083001E0034FFD20001FF6D00120039002D0020FFE9FFC10026FF98FF68FFF100170061FF930012007FFF3400610007FFDDFFC4001BFFAF00820058FFC80006FFEC006AFFF2000DFEEBFFD70013FFED0085FFFC008E000CFFF7FFFAFFE9FFC0FFF0001EFFC1000C000D0046FF8F00080017FFE1003700F000A90085FF480068FFFA
|
| 98 |
+
011FFCD001E002B002FFFB60000001C00540047FFC9FFCE0033FFE2FFA0FF8CFFF0000F003FFFA20028FF79005B005EFFC3FFEBFF6FFFF60002FFEE0045FFF10075FFF800190028002CFFB3FFD60057FFE8FFDD0042FFA2000FFFD2FFE6002E0026FFF2003500230028000BFF4D0048003EFFD80062001D003EFF9FFFFF0053FFE6005E0024001E00B2FFBFFFB00054FFF600240045FFD3003EFF93FFA3FFE5003CFF42FF760002007B00400085001EFFFA0033FF800023FFF4000DFFEAFFA4003DFF5200A1FFE6FF470060FFC9004DFF730028004800330005FFD8000EFF95003AFF1FFFD2FF90000EFFCE0013FFD2005C003AFFE400210027FF6700320005
|
| 99 |
+
035FFA30021FFE5004F00450023FF860016003EFFEF001FFFE80037FFE10007FFAEFFC5FFD2FFC6FF96FFEFFFE6FFD3FFF30018FFC80007FFCB0043000AFFAD0052003500870009FF56FFF300100064FFFEFFBCFFF8000D0044FFDBFFFDFFA0002C001B004BFFF5005BFFD60000FFB8FFDAFFF8FFC0001CFFE4FFC5FFCB00510022FFD00029FFEAFF8100130015FFC8FFFCFFA0FF720018FFB7FFC1FFE6FFD4003000080035FFB9FF81FFBB002CFFA8FFEDFFE0FFF7FFF6FFFC004A002BFFF2002400570086FFD6FF45FFB5FFC5FFECFFD4FFBF0041FFCAFFECFFF20006FFE1FFF2002BFFC80039FFEB0051FFB00038FFD6FFC4FFD40012FFC6FFFCFF87FFDC
|
| 100 |
+
0090023FFF7FFC90053FFE50024FFE700220004FFC2FFD3FFDB001B00390015FFD2000B004EFFED00840036FFFE0000FFF5001EFF640012FFB1000FFFD7001BFFCF0007002CFFDBFFDF004AFFF50001FFC6FFF1FFBFFFF9FFDF0007FFD8FFFDFFFBFFC2FFF8FFD6FFBB002B000C0008FFDF003EFF990005FFCF003DFF07FF90FFEAFFCEFFB8FFEBFFDC0015FFCEFFEFFFFC0016FFB0FFD8000A001200040004008DFFFCFFB900270005FFAAFFD80032001BFFB0FFAB0027FF7BFFA30000FFFB0037FFD4FFE0FF66FF93FFE0000F000D0065FF9A00310015FFD7FFD3FFA9FF9FFFBC0056FFBCFFEF0031000CFF52000B0051FFCDFF98FFF40081FFEDFFECFFCB
|
| 101 |
+
3BBFFF1FFC40025FFAE007DFFF30018FF9D001AFFE1FFC9002CFFD300130020FFD7001EFF80FFACFFFBFFE4FFBA002DFFDA00270010004B005C0038000B004F0077FFE50035FFF0005CFFFE0023004EFFE2001E000BFFE90040003AFF81FF7D0016FFE5FFB7004E0007FFF2003AFFE5FFFA00550000FF94004AFFE3005E005F002DFFB500690004FFE700290031001D003BFFF3FFC3FFA7FFA40016003D0034FFFFFFF7FFB600590034FFFB006A002EFFAAFF77000CFFE5FFC0FFE7FFA3003A0010FFE00019FFB3FFE7FFCBFFEF0028FFB8FF11FFF9FFF40050FFE9FFF2FFCBFFF2FFB6FFDFFFF500640057FFF1FFF5FFEEFFE300220045FFBCFFA90018002F
|
| 102 |
+
3A70050FFCFFFF4007AFFA3FFEF0019FFE7FFF50018FF990089003C0026FF93FFAAFFA4FFD3003E004AFFDA0028002BFFEC00200055FFE6FFE3FFB20050FFDA006FFFD10039FFE20000FF56FFF6000E006AFFDEFF6FFFCDFFFCFF8C0010000C009C0004FF760068001200090068000100630020FF90003B002FFF75FFC000380030FFD9003EFFD5FFF1FFC000020002FFD8FF88FFA0FFF1FF89000FFFE9FFB1FFC3004E0033FF740019002C0052FFD60048FF96000A0031001100280061FFF100010014003DFFD2FF8C0004FFCD0030003AFFE4FFE7005200180064004CFFD9FF42FFC100000058FFE6FFC50050003DFF77FFFAFFBF001BFF7D00770011FFC8
|
| 103 |
+
01C002300120026001B0014FFFE00260005002DFFB4FF52FFF900270028FFA3FFECFFCBFFF4FFBD0012FF9E0021FFF5FFDCFFFDFFBFFFF50019004C001B00480011FFF80009FFF8FFD8FF35FF82001B003100690049003A000CFFC60002FFED0001FF5E0023FF6F007DFFF3002FFFF7FFAF001AFFDDFFD800280037FFE0FF5A000EFF70FFD8001300170037FFC5FFE0FFFEFFED002BFFA2FFEBFFD50021FFEE00720036FFF8FF7F003C0062FF68FFB5FFBDFF7AFFD80005FFA40015004AFF97FFB20070FFA20064004A006B0037004700240038FFF9002CFFB7000D002EFFFAFFD3FFECFFE4006BFFA2FFA5FF65FFDBFFF6FFFAFFE9008DFFFEFFB4FF8F0067
|
| 104 |
+
3F3FFB90021FFC8FFB30078FFE2006A0037FFA10021FFBFFFD2FF9900500043FFEEFFF800140014FFFA0000FFC6FFFEFFF0FFF7FFA5FF59001E0003FFFD000EFFC6001FFFBEFFFAFF690016FF3E001BFFFCFF73FFC6FF280039FF2CFFE3FFDDFFA0FFE4FF670014FFCF0024FFF00052FF9600310014FFD30018FFAFFFDFFFD6FFACFFB0FFACFF9FFFF8FFBDFFDA0004000B0069FFB40041FFFA0014FFFA0053001FFF97002EFF8FFFFEFFD7FF88FFB7FF7500310007FFB3FFF00044FFF40004FFD80055FFB5FFB5FFE0FFD4000200360077FFADFFB4001AFFB8001B00430014FFF70029FFFA0029001700C6FFE9FF57FFD60048FFD7007D002C0098006EFFF6
|
| 105 |
+
02A00330031007000A1FF740065003000270008FFF6FFBDFFAF0022FF46FF970010FFDF0027FFE5FFA5FFF0FFFEFFD40036FFDAFFABFFA2FFF50008FFFFFFE4FF3CFFE4FF9F001AFFF4FFC7001D002EFFC30050001BFFED007FFF7AFFEEFFDCFFDDFF7CFFFB007F000F0031FF81FFC4FFAF0007FFC6FFCBFFBB005BFFFFFFDC006FFF6CFFCC0026FFF80004FFDCFFE800390035FFD5FFC2FFFD000A00270014FFFE0023FFA7FF6B00260044000F006D001DFFF1FFC6FFE8FFC90022FF79FFC10083003AFFD00044FF8B0035FFEE0065FEAB007FFFBB0014FFBC002F004FFFEA000CFFE100380075005BFFAA000B000BFFC5FFE40045009E00770037001DFFE1
|
| 106 |
+
3DEFFB200670077002D0048FFDEFFD4FFD0000AFFF400180006FFCEFFF4FFF50027004DFFC60030005D004A0059FFB3007100060015FFD1FFD00058FF76FF710010000B0057FFCB0021FFC7FFDEFFBDFFF1FFF80070FFE6FF05000B000A0036001D0013FFCBFF670012FFDDFFCEFFC2FFB90001002BFFE4FFD5FFDAFFFE0009FFDE0049001E0013001C0016FFD200230033FFBD001F0015FFCCFFE8FFEBFFCBFFDF0045FFF4FF05FFCAFF7C005DFFE000590006001BFF9EFFEBFFC6000D001EFFB4001DFFC4FFC4FFE3FFA0002DFFCDFFB6FF50004E000A0058FFD40033FFBE0012004FFFE7000A000CFFD000090081000CFF87002CFF44003DFF9300330073
|
| 107 |
+
05100240033005700310006FF94007E0025000DFFF8002200520002FFC100420045000FFFCAFFE30003FFDB0028001AFF8CFFEEFFA00012002D0032003A002FFFBB003900080013001AFF91003FFFD3FFDCFFC30069FFB6000D0085000B0067008100280054FFE30084002E0009FFC5FFB2006E0020FFEAFF3A00290060FFACFF82005FFFDA0051002AFFF7FF910060FFDA0021FF990046FF83FFD4001CFFDE006CFFA0FFF80050005C00160012002B0072FFB9FFBA00170026FF40FFC40044FFD6FFBD007900730017007A0021FFF6FF890000000A0032FFE30027FFBA0055FF6CFF4A004C0004002F0003FFF1FFF8FFF00015FF7AFFF7FFEAFF8300840033
|
| 108 |
+
00BFFA200670002FFB5005EFFB0FFA40074003F001A0018FFD4FF6CFFB0FFF1FFA4FFE6FFA90010002FFFF6003A0015FFF30020002A0035FFC5007E001D000CFFECFFDF0009FFB7007400210040FFA400360016004CFF850056000BFFD6FF9DFFC3002E002800520041000B004500010066008BFFBF00100018001F0027FFE7FFDC00160031002CFFD3FF8900080012FFEF0004003EFFD6FFF3FFE4FFC900270053FFCA000200B5FFBBFFC0001900590011FFD9FFC6FFB9003CFFD2000EFFF100120033FF89FF04FF83FFED0022FFEDFFFCFF8D003FFFB9001CFFBDFFCDFFD9FF36FFF5FFF4FF8900500023FFC2FFC0003DFFD5002DFF7AFF48FFBE0005FF6F
|
| 109 |
+
3C9FF9A002B00A7FFA6011EFFF6FF73FFE30020003E000D002DFFB20072FFF4FFCE0056FFFD0039FFFB00A5002AFFB100010001005F0003FFB100660050FFED001DFFE2004CFFF8FFB7FFD50021FFB8FF95FF2AFFCBFFF8FF960050003CFF90FFEB00260020FF58FFC5FFD90018FFEFFFC2002800000000FF76FF79FF99FFC6FFAE005C0035002EFFB30046FFC9FFBBFFAFFFFCFFA6000FFFCE004EFFC1FF8BFFDFFFFB00650005002200280044FF5A0051FFAF0053FFD200DDFF7A004900050035FFF0FFBAFF910022FFF3003F000A008FFF83FFED0025FFE40022005CFFA4FFEBFF87FFB30018FF750047002E00A5FFF9FFC30086FF6F003BFF790099001E
|
| 110 |
+
016FFD4FFF8FFEDFF5A0049FFE9FFCA005900120080001F00390000FFBA0018004900130015FFB5FF8BFFFCFFC500140054000CFF520040FFC30030FFE8FFA1FF7A0010FFD8FFED00AA0030FFFCFF80002EFFDAFFA9FF7F0090FF8D006AFFA7FFC0FFE4009EFFF00067000DFF5C001FFFC5FF9C00ABFFD5FF5E003800230029FF71FFCFFFD8FFE800D4FFF7FFE3FFDB0095FF9F00020031FFDCFFE6000D000CFFE20003FFEFFFCEFFF8FFD8FFF0FFACFF47000F005EFFD2FF71FFE7FF4FFFFC000FFFF20077FF99FF64FFB10016FFA0FF1BFFE00052001800130003006200100063FFDF00130001001C000DFF6EFFB6FFC80032FFF9FFDC0018FFF60018000C
|
| 111 |
+
01DFFF6FFBD0000005FFFF6FFC5FFFB000F003AFF86FFBFFFC10028000D0020FFE7001D0048002A0055000EFFFE002EFFF3FFDC0003003CFFEA00180031FFCA0021FFF5FFEB003EFF66FF95000C002AFF800005FFF9002BFF3FFFD80052FF7DFFA30013000DFFD60014FFF2001EFFCB005F0000FF95FFE4004AFFBCFF6F0068000BFFF2FFF50024FFE7FFD6FF93002D0028FFF7FFBDFFF9FFFBFFD6FFE2001FFFDE00070010000C008FFFA3FFB4FFF30083FFB2FFF9FFEF0018FF9900060011FFF7FFEE0075FFD1FFB40027001F0077005F0001001FFFC7FFDEFFEEFFF500180046FF5E0013002AFFFEFFE6FFC5FFF4001E001DFF79FFF5FFFA0004FFCBFFC6
|
| 112 |
+
3FD00220005FFC000B2FFB10007FFEEFFAF00020018000BFFC6FFCEFFB2000EFFC90008FFADFFF6FF6CFFD6FF93FFA60026FFD4FFF6FFFD000B0023FFD1FFE70000001C003A0011FF49FFB8004FFFAAFFF9FFEDFF9900310010005E0018FFC10012FFE8FFD7FF78FFF000370022000AFFD1FFDE0052001BFF9C001EFFE4FFC1FFA6002100550005000EFFB70014000EFFEAFFD4FFFEFFFB0040FFFEFFD6FFCF006800370006FFC3000AFFB5FFCFFF86FF730020FFFC00690030003E0051FFFDFFF2001DFF92FFF9002D0000FFAAFFBA00260047FFAEFFC9000BFFCD00380009FFE6001A0036FFA7002BFFE50028FFDFFFA4FFFCFFED009EFF66FFE400110034
|
| 113 |
+
3EFFFF70030FF8AFFBBFF6F0024FFBF001AFFE2FFF7FFD5FFFF00040040005D0011FFB4009BFFE8FFF1FF5E00340022003000100048FF68FFF9FFADFFC6002DFF98FFE9002200440076009A00190008005CFFD4FFA6001F00550001001D000EFFF70042004E00010011FF99FFBF00760044FFCF006C0030FFE9FFDF003C0007FFFAFF97FFF0FFB300120028FFB6FFC7FFED0016FFEE0010FFE60019002300A2FFC7FFB500050015FFFAFF6B002BFFCF00700073004C0013FFE6FFF7002F002BFF74003AFFBCFFE5001CFFE00042FFCE005DFFFE003E000900380032FFDD0015FFF4FFADFFA0FFE500210004FFF0FF3B0050001100430066005E0035FFE80042
|
| 114 |
+
3B7FFD2002CFFF0FF8BFFDCFFE90052FFDFFFE90023FFC40011FFDB00400038FFC80000001E00220025002A000BFF87FFF10014003BFF57FFF40020FFFCFF9BFFFAFFA50002003BFF9AFFB90033FFC0FFDC009BFFE9FFDFFF2400020077002B0048FFBBFFF6FF90FFD2FFC60086FF66FFCDFFE800080036FFB6FFAEFF83FEEAFFB4FFA70027FFDDFF8900AAFFE7FFC7FFAF003B0034FF71FF43FFDC0000FFCAFF90FFF6FFADFFC700280085007EFFBE0022FFCB0081000EFFA5FE7B00170042FFDA00150059FFCB0011003A001BFFE1FFD9008E003D002E00310038FFF20019FF8AFFED00220030FF86FFEA00580010001C002500AA0092FF530041FFE7FFA8
|
| 115 |
+
2DEFFCBFFD5FFCEFFC90047FFB4FFDC0049FFBF0055FFE0000BFFC70006FFCBFE9CFFF4002EFF76FFC7005C0075FF9E001E0007FFD20006FEF80069002AFFCAFFC500030012FFD9FFDBFFAA0083FF510067FFC5FFDAFFEC00B10000FFFDFFE5FFF7FFF1FFD5FF9B0009000EFFB60041FF6CFF91FFFA00020037004CFFCE0017FF62004FFFB6FFF7FFE6FFC2FF1800220019FFC90046FFC7000B0036002E001000290032FF61FF9A00A7FFD00065FFD200AAFFB4FFD1FFB5FF87FFC20068FFBCFEB2FFDB009DFFFFFF89FFB9FFA0FFED0092FFF40056FFAE005AFFB1FF8EFFA1FFD30021FF920005FFB8002D0034FF9A003DFF8FFF420020FFC20024FEC8FFDE
|
| 116 |
+
009000CFFFC000C000BFFF50032004600170000FFE9FFF9FFBCFFE8000BFFF4002BFFA2FFD1FFC8FFD40002000DFFEA000E001D0051FFB8FFE2FF77FFD7FF55FFF1FFF000070018FFB4FF77FFD70048001D0001FF96FFD3000AFF4A0039FFE90021FFE0FFDC0001FFF3FFDB00100061FF99FFB5004D001800360057FFFE0024FFBEFFE2FFF5FFF8000DFFD5FFE1000CFF9FFFE6FFCD0015007B0008FFDEFFE50025FF9E001EFF710003FF660041007C0003FFB10044FFD1FFE1002B0010001DFFAC0027FFE100F6FFDCFF97FFB700140002FFEAFFF4FF9BFFB7001B001FFFB0FFC2007BFFCBFFFCFFE2003DFFDAFFA4FFF80006FFD7003A0035FFAC001CFFFD
|
| 117 |
+
3F5FFC90005FFF00023FFD40059FF30FFB9001CFF82FFFCFF9EFFDCFF6A006EFFE40017FFFBFFCB0045FFAF00190001FF8EFFF8FFD80003FFC1001DFFDBFFEFFFFF0062FF4D0002FF840009FFBD005CFFD5FFBDFFCFFFD8002B0057FF67003CFF47FFA400300050FFAC00460015FFEBFEE8FFA5003A001E0052FFDF002CFFB60031FF9CFFE600070039FFFB000DFFF00050FF44FFCDFFAB00680017002AFFFB0038FFD5FFEBFFABFFEA005A0015002B008DFFD60005FF8CFF2D002CFF4AFFCE0040FFECFFB6005BFF95FFFDFF5D000600340022FFF70039FF77002B006BFFFF006AFF98FFDFFFDBFFB3FFA2FF9AFFDE0021FFCDFFF200230094FFA6FF250066
|
| 118 |
+
037FFD4FFE100360022000B001C004CFFF90024FFB1FFB8FFB6FF94FF8B004DFFFC00030005FFF9FFFDFFF50004FFB8FFBF0004FFD40070FFBF0058FF53000400310014FF58001CFFFEFF83FFF9FFE7FFA5FFA40039FF96FFE3FF9400000002FF73FFC90016001EFFD0FFF7FFFF000CFFD8FFE60000FF80FFC1FFCAFFCB0059FFDEFF670020001EFFDFFF9A001EFFF6FFEEFF8BFFEEFFE3FFE60019FFE4FF85FFE9FFBCFFEBFFCBFF230022FFEE0031FFBCFFE6FFD6FFC30041FFEAFF6D00820031003600180099FFD3FF1E000C0062FF80FFECFF7FFF93FFBE001E00050079FFDBFFB90011003600040004001FFFBFFFC90019002F00280048001E005AFF61
|
| 119 |
+
014003CFF8EFF9F0014FFFA000AFFD1FFACFFC600330014FFADFFFE000600240026000D003AFFE80032FFC5FFFF000CFFD1FF85FFFD001F0039FFEBFFF10002FFFD0031FFE1FFC4FFDAFF4FFFCAFFE7FFCAFFF2003C003AFF91FF99FFBF00410030FFE9FF82FF2EFFE0FFD900750017FF5F000EFFFC001800790009FF8EFFB3002D00300000FFE5FFD3FFD9FFA40027FF8FFFB6FF71FFFE002E0010001BFFE30010FF83FFFAFFDA0007FFD2FF7DFFA7009D0001FFDB006200120037FFD7FFD9FFF8003DFFD7000E000CFFEF00170024002D002CFFA5FFEA000000390012000FFFE2FF43FFE3000BFFB7FF56FFE50008001BFFBEFFFEFFA4FFF5FFC4FF9BFFDC
|
| 120 |
+
001FFE1FFCDFFDDFFA70060006E0003FFEBFFD7007A0041FFE1FFF5006A002E0072FFEEFFDB00100010002D0021FFA30018FFA5FF68FFC2000900290029FF88FF59FF9CFFD0FFB6004AFF7D0007FFEE00690011FF6400080076005CFFD2FF8CFF9B003E0038FFC5FFDAFFF5FFDCFFE4000F0046008B001CFFACFFDAFFBD00000008FFDF0012001000540009001E000BFF92006DFFF8FFFD005EFFDEFFC1FFDAFFA9002D0022FFDA0060FFF6FF82FFFDFFEEFF820012FFF90027001BFFD5000100190043FFDAFFBD002EFF74FF980047FFA700270022FFBC000600080005FFD30056FFE9FFE7FFFB00570096FFB3000CFFF900080037FFC30017001F0107FFA8
|
| 121 |
+
01FFFD10046001DFF85003D0039FFD50006001BFFDC000DFFC1FFB1001BFFD9FFF4FFF30061FFE5FFCE000EFFF4FFE6FF8AFFD7FFDAFF66006FFFAEFF84FFEEFFCBFFE7FFF7FFE9FFEEFF3EFFA20020FFF8FFCC0048FFC4FFFEFFC8FFBF001BFF9600390033FFCE0018FFFFFFB0FFE100330029002DFFE4FFDB0031FFD6001C00010005FFC40009FFFB0010FFD200390030000E0008FF8BFFF60029FFFDFFE0FFE7FF5B0014FFEBFF97FFEF00240036FFDFFF8AFFE5FFBB000BFF36FFD200280008FF5CFFF9007C0072001EFFE7FF0DFFF0FF7300070064FFDE001C0028FFE1FFC30008FFC5001000250067FFC3000E002F0012FFEEFFF80029002C002D0075
|
| 122 |
+
3D90070FFE6FFBCFFF3FF0500390077FFFFFFB4001BFF9BFFE4FFA9FFE300450020FFD7FFE70029FFBBFF69000EFFDEFFF3FFD6FFFEFFCB000800670021FFEEFFB2FFEBFFD0FFFC0039FF93FFB9FFF70030FFD50023FFF30030FFB0002AFFB70019FFB6FFB5FFF900210034FFEDFFB1FFD400090050002600340054001400280008FFC400020013001CFF82FFE60008FFE7FFC9FFE9FFCC0007FFF6001FFFCF001EFFDBFFA6FFA50005FFE9FFB5FF4FFFDAFF45FF80000B004000740031FFC4FF840054FFB5003E003DFFD6001AFFBFFFF6FFCF0030FF82FFD8FFFAFFDBFFC600000013FFC9FFFDFFBEFFE9FFD4FFD4FFAE002FFF4D000DFFEAFFE0FFFE0022
|
| 123 |
+
3AEFFF50024FFCD0036FF25FFE800700004008700200031002EFFF9001A0028FFFBFFB1FFA1FF6A0006FFB1001B00080007FF9F0056FFBDFFF7009A004E000300450047FFA2001DFFE0FFE3000BFF9F0019FFFBFFFD0007FF57FFFA00040039FFD1FFA2004FFFB90027FFF3FF9EFFC70007FFF6FFA2FFE900550090FFA6005EFFB7FF86FFE40017FFF1FFD400050035FF71FFE1FFDDFFDFFFE8FFF0003BFFDA0014FFCDFF99FFAEFFF1001F0078FFA4FFDEFFEA001200B3FFE3FFA30044FF62FF4EFFC6FF300012005100450086004C008B000CFFBFFF96FFE30009FFD900C5FF920026004A0020FFCFFFA20020FFAFFFEB002500570018FFA2FF5DFF0EFFCC
|
| 124 |
+
3AAFFC5001D0004FF5FFFE2FFD0FFB5FFC0FF7F003EFFFE005FFFEB00480002FFA1FFEE00100008FFD8FFE00002FFDA002F0049FF560041FFCC00450034004A00020024001FFFACFF33FFBBFFF3FFB900230015FFADFFE5FFC200130012FF6F0041004CFFE7FF5C001CFFCDFFF8001AFEF7FFEDFF3FFFDE0007FFC300150040FFDC0005FFF6001AFF88FFB7000FFFBAFF55FFA3003C0005002FFF68FFD1FF72FFFB00040002001F006C001B0027FFC6FFACFFC8FFBB00670062FFD30045001BFFB6FF9500A0FFCAFFF6FF9BFF63FFCB002E004DFFEDFFFD0024FFFEFF86008D0016FF37FFD10035FFAB0013003EFF86004EFF990010FF2A0046FFA8FFF60009
|
| 125 |
+
3F4FFAEFFD20035FFD2FFD0FFEEFFFEFFE2002D0052FFEDFFDAFFBEFFA3FF960011FFD2FFFFFFAA0010FF5FFFCF00680035FFE200190018FFDC00340002FFE1000BFF8CFFCB001CFFF000000007FFCEFFEE0003FFC9FF52FFE00036FFDE00220003FFE9FFEA007AFFCA0011FFE70055FF9AFFB700390024000DFF3DFFDD00B9FF710001FFF8FFF40078FFAC0007FFF4FFFC003200230023004FFF97000000420061FF7EFFC800500055FFEFFF6B003900AC0034003A0067FFD800010007FFE2FF2000060049FFB100450018001A004BFFED004E0023FFD0FFC6FFB30020FFEA0054FFEFFFCDFFA60019FFBF0003FFF6FFFF0051FF97FFD40011FFF5FFB70009
|
| 126 |
+
2FEFFDEFFF10031FEF5FFD1FF7AFFF50026FFEC006A00120037FFF70021003DFF19001000270010FEE10012002E00330063FFB1FF53FF6BFF54FFFBFFEAFFF7FFC9FFCD0005FFE60025FFDF0072FF88008EFFF0FEAF000E00E7004FFFAAFFAD0091FFEBFE89FFB6FFDDFFCA00530035FE96FFEBFEFEFFED0004FFA000490013FEA200300005002CFEFD003800100008FFD9FFCBFFCCFFAC00150010FF76001C00370047FFDF0030000A0032FFB5005EFFE9FF38FFD70001FFB8FFEB00560016FF65FFC7FF7BFF3CFFABFFCFFF2A0012FFDFFFF8001500220082FFE3FF58FFF1FFC6FFEDFF77FFF6FEE200280037FF990017FF900050005AFFAEFFD5FF11FFF7
|
| 127 |
+
02CFFD20070002AFFEAFF6C0009FFF6FFB1FFB1003CFFF1FFCA000DFEF0FFE6004EFF9BFF6BFFD3FFFCFF9A002A000CFF71FFFE0038FFF5FF8FFFA1FFFAFFF900860024FF8F002D006A0018006D0048FFD4FFC6FF47FFEF0022FFD6FFE6003E0006FFB1FFE9FFE5FF55003C00890049FFC6FEE700AE005A0010000EFF5EFF76FF27FFEEFFB8003A0002FFCAFFA2FFFDFF53000700290024007EFFED0019002FFF75FFE4FFE8FF47FFD600520031FF9C0010005D00400014FFEA003EFF27FFEBFFBDFFBC00D00065FF63004EFF5A0052FFD100700013FFFCFFB1005E0056FF72FF56002EFF71FFEF0049FF1D0031FFD2FFA9FFD10000007800390018FFD200A6
|
| 128 |
+
3D50002FFE6FFE1FFE7FFD8FFB7FFFAFFDC0084FF7FFFF4FF93FF93FFF8FFAE0023FFE0FFE3FFF1FF52000FFFAE00410016FFEA0041FFFEFFB2005BFFE6FFBBFFE5FF80FFD0FFFA0048FF6DFFD2FF550060FFAFFF80FFE1002EFF43FFA2FF490000FFD3004DFFE5001700330077FFC3FEEFFFF70046FFF30059FF590066FF82FF74FFE40008FFD1003B0031FFDDFFB700B5FFA3FFAEFFE4000DFF9AFFD8000FFFCBFFF8FFE700830003FFDEFF0EFFEAFFB8FFB90006002C0027FFB5FFAB00060019001F0025FF4CFF7C0070001CFFF90000001CFFD0FFE90015FFEE000A00190003FF8EFFB5FFC4FFB0FFDE0041002B0002005F003C006B0051FFDCFF98FFE1
|
| 129 |
+
3F10007FF65002D00D8FFA30014FFF900580015FFF8FFBDFFA0FFF4FFF1FFE0004E0006FFAEFFC6FF9AFFA8FFB80019FFE8FFF3FFD3FFE8FFD0FFDFFFFEFFECFFEFFFDB001E00000074FFC80072FFF9FF8BFFED002F0023FFEC001C00120003FFCDFFFDFFFA0023FFF6FFFC0022FFD5FFA6FFB2000CFFDFFF76FFDD0043002E0004000EFFCEFFF1FFC00054FFCAFFB4FFD8FFD0FFA3000EFFC5FFE1FFBD0027FFDE0000000D0023FEE70052FFACFFF5FFCDFFE7FF9A00360010003C0011FFEA0042FFF2FF9E0013FFF30023FFF3003AFFCE000FFFE6FFFD002EFFB3FF49FFBC0038FFB8FFE2FFCCFFEFFFE0FF9F0037FF9EFFE300660060001DFFA2005C0055
|
| 130 |
+
0100016FFE80017FF7B007CFFD60017FFF6000BFFF1FFD40082FFB1001CFFF6FFEE001E0047FF9A000CFFF6001BFFC5FF81000BFFD7001E000600340061FFD1FF89FFF400610024FF980001FF8D00200031FFD2FF53FF99FFF7FFCA0064FFFCFF88FF8F0014004CFFFA0022FEB200420083003C001200520010FFE7003EFFEAFFF4FF8EFF2CFFF50043002BFFC1FFD1008500370073FFE40075002E0014FFF1000500020006FFE5005C002B00AAFFF10049FFC1001AFFDE004A00190069FFFCFF3AFFE2018A0052FEF50015FFB9FFAF008CFFBB0050000E008B000000490022003DFF9A003BFF6EFFAE0004FFECFFE6FFF20029FF79FFFE0042FF78FFF20055
|
| 131 |
+
3E00019003C0003FF2FFFA60030000B0015FFC00036FFEF0066007E00B5FFDEFF730026FFECFFD9FEE30057FFF70044FFFB000EFF3FFFEEFFA2FFC20038008000B2FFF1002F0014FF8FFFCE0000002A0034FFB0000E0014FFFAFFA3000DFFE70071FFB7FFBAFFF9000A00010056FFF40083FFF6001C0034FFEEFFC0FFD10033FFE30022002DFFC0FF2FFFC1FF61FFD1FEF5FFD20059FFF6001BFFD8FF95000FFFC9FFA6009DFFB70025FFDB00A8FFA3001A00320018002F006C000200280037FFD7006B00C30012FF15FFBBFF7EFFD6FFC5001FFFE7FFFF0052FFD600460034FFE8FFE40001003BFFA4005AFFAD002F00500013FFF4FFBAFF7DFFF900DB000E
|
| 132 |
+
3D700050004FFB7FFA5FFB6003BFFD20022FFAB0016FFD8000CFFE2004200420000FFED000C00050044004B0047FFFFFFD10016FFB1FFEDFF8F000F00390031FFF40030001FFFE1FFD4005AFFD6FF980003FFDCFF2E0008FFF100360005005B002BFF95FF950007FFDA000CFFA4002A006EFFE4003300160047001EFF88FFF4FF60FFDD000F000FFFEAFFF4FF87FFFA003300130055FFF8002E0004FF470020FFDCFFD8FFC1FFE4001DFFFA0076FF94000DFFFAFFF0001AFFF0FFD0005D0027FF4AFFFD00AEFFBCFF850010FF3500140056FFEDFFDFFFFC000FFFD8FF70FF78FFC50016FF88FFA5FF63003DFF98FFBF0053000DFFD60005FFDFFF99000A000B
|
| 133 |
+
3FC0005FF900017FF3F00460023002F000AFFDF0024FFD1FFD0002CFFC30068FFF7001CFF930010FFD2000C002CFFFCFFDCFFF2FF8200360004FFF80029FFF3FFD500080011FF920079003F0041FFDAFFF10041FFF1003000290069FF62FFC500230009FFDB00130020001BFFEBFF730036004F00300055FF9A002CFF7CFFD2FFD2FFB3FF9EFFED004EFFF9001EFFB6FFB000190005001AFF81FFD2002A0039FFB1FFDA0032FFD2FFA9FFF5002A00020015FFB7FFE6FFDAFFBD0024FFBC0027FF93FFF9001BFF6500D0FF8AFFB9FFE6FF3B0082FFDBFFEEFFD8003D00260027FF7CFFEAFF94FFEB00A2FFE3FF13FFE90087001D0010FFE3FFF6FF5AFFB00024
|
| 134 |
+
031FFF500200020001EFFF6001A000C001EFFEAFFF700000031002BFFC9FFB5FF99FFF00036000D000F000CFFC1FFFEFFFA001E00300016FFE6FFD80058000A0027FFB9FFF5FFF10035FFE4FFFB00140013FFF3FFCFFFFA0020001FFFF9FF8B0003001DFFD40034003F003E0039FFD30062FFE0FFA5FF60FFDB000BFFE1FFF800210058002A000100350003FFD3002B0037FFF4000EFFDE003EFFF1FFF8FFA900010044FFEF00AD0010FFDB0014002EFF460044FFC60001FFF8FFE60018FFEDFFB8000CFF01FFD1FEDBFFAAFF77FFE6FFF6001BFFF6FFDFFFB9FFE5003FFFC0FF5E008F008600070080FFFD002B002700160024FFEFFFF3FF7B002A0008FFEC
|
| 135 |
+
019000EFFC4FF89FFD4002E001DFFF2FF9BFFC7003FFFFC0088FFC30077FFDFFFE3FFF10047FFF7FF74FFDBFFFAFFE8001E0011FFA3001D00470025009DFFF5FF7D00350009FFB8FFD6FFB1FFC6002C006A0011FFB7FFF60000002A0072FFEEFFAFFFB4007FFF900079FFD6FFB5000E00100044FFBDFF780045FFE0008EFFCD003BFFCDFFF60024FFD9FFD8FFFAFFE8FF91FFAB0064FF9E0041FFDC0038FFD60061FFEEFFD1FF7100550028FFCAFF99003AFFCCFF7A0004FFE6FFCA002A000BFF790038003300B3003FFF81000C0004FFEC0047FFEF000F005A001BFFE6000600B0FFC3000FFFEBFFAD000FFFE20023000C0039FFE8FFADFFF1FFC1FF750081
|
| 136 |
+
3FAFFD3FF36003DFFEF0064FFD90035002AFFE5FFBBFFF5003AFF82FFF8FFC0FFCD0008FFFAFFADFF74000DFFBE00180017FFE50021FF37FFF7001CFFED0021FFDA001AFFBFFFCA003EFFFE0007003CFFD7FFCCFFBDFF85FF61000AFFD50011002DFFF5007A0005FFC50045000D005CFFC1FFA90021FF7F0052FF58FFC5FF81FF8C0013FFF2FFDC000DFFF60021000AFF640045FFFBFFF4FFE3002D0025FFDAFFFCFFD3FFF3FFF1FFE20000FF76FFF40019FFF600030001FFAB0041FFD60018FFEDFFBCFFE00001FFC90045001FFFAD00470032FFE30039FFF700060010000900570020FFE800050005003C000AFFA90004FFBE007E006E008F0089FFF20045
|
| 137 |
+
3AA000100460000004EFFD100480034FFD1FFF600680023FF83FFDBFF74002AFFEF001D004DFFF7000400040008001AFF9C0021FFB3FFCDFFD1FFDC00540004002FFFA5FF75FFF2004E00170008003DFFB1005A0057FFD2006D002E0063FFBCFF7DFFDC0012000BFF790035FFF2005DFFCDFFE10053FF2F0061FFE4FF93FFF60045001700070002FFD9FFFE0009FFE0FFECFFCA0099FFDCFFD0FFDDFFDEFFDBFFF7002DFF77000D0004FFDE00910008008FFFD7FFDCFFB60009FFECFFC600120051FFF9019DFFE4FE9BFFD50038001AFF0E0005000F0038FFA8002E0023FFD300500044002B0005FFA30066FFA80018005300010020003B002D0033009A0022
|
| 138 |
+
3E7FFED004D00350067FFD200070001FF920045FFECFFF5FF960015FFE1FFFAFF68FFF6FFD90027FFC10051FFF2FFEEFF74FFF000020047FFE4FFE3FFD4FFF6FFD6FFEFFF88FFC9005F0003FF7D0040001AFFCBFFC0003EFEEEFFBAFF76FFFB00100014FFDE004FFF910012FFFAFFD3FEE5001B0026003A00A3FFADFFB1FFD6FFB9FFD100230003FFD7FFD2FFD5002000BAFFD80063003EFFB4FFE00004FFEC003E000DFFA400020017000B005AFFEC0022FFF00038FFB60045FFFDFF56FFFE000000070099006FFF5BFFDF006FFFE4FF86FF94FFE2FFC3001C0029FF9EFFBDFFF6001D0019006700AA0012000F0023008600260048FFF000060005FF7CFFEF
|
| 139 |
+
050FFCF00A8FFF10031000BFFE8FFE1FF8CFFCCFFF3000EFFE8FFAC000AFFFB000CFFC5FFF800060094FFD1FFF200220015001E002000210039FFB0FFBCFF9AFFFFFFC3FFEAFFEDFFFFFFCA004A001BFFC30001FFD3001B008B0056008B0017FFBC00000005FFFA005AFFE8FFC2001A0017FFB7006A0008FFC40033FFEF0077FF630024FFF8002500090017FFA9FFF4FF820038000C0019000C002FFFFFFFE7FF09FF77FFDE0009FEFEFFD1FFF8FFC4FFDE0022FFD300360023FFFE00450013FF90FF86FF57FFC7FFF9002EFF97FF8EFFB6FF47FFB5FFF5FFBB00290068004CFF8BFFADFFE00029008AFFEEFF6C000E001A0040FFF2FFFFFFD50024FFE60003
|
| 140 |
+
03DFFC4007D0027FFDBFFF2FFD4FFC5FFCFFFEE0024FFE7002EFFE90044001EFFAD001DFF6A002C002A0017FFFF0015FFA3001BFFBDFFDD0003FFE1FFDB00010062000FFFFF0013001500140032FF9EFFC6FFFFFF98FFD7004CFFE7002400470001001B0033FFE3004600200001FFF400340053FFE100450015FFE4FFE3FFEDFF560002FFEAFFC3FF9F000AFFD9FFFCFFD3FFE000C90007006E0024FFEFFFE8FFA4001A0036FFEA001BFFC10131FFF2FFF8FFBCFFF900580016FFE300470007FFBAFF98002AFF6AFF410004FFAE00020073FFFEFFD5FFDB0049FFBDFFA500540016FFF4FFD4FFF4004BFFE9FFAAFFC10017FF8F0019FFEBFFA00045FF51FFF4
|
| 141 |
+
3E8FFFB0013FFDBFFCB0010FFD8FFCEFFA2001200560013003CFFE9006E0025FFBF0011FFA20032FFF90026FFDA0012FFE2FFDEFFF60052FFD3001F0011FFFD009CFFEF0049FFAE0046FFB6004A001CFFD0FFC4FFB4FFE5FFE200160020FFF0003C0008FFAEFFBEFFE50007FFFDFFBCFFEEFFD4FFD0002A004FFFC7FFDF000EFFF200050014000E001DFFE50005FFF5FFAC001E00520024FFE30017FF94002100610017002EFFDDFFEA0045FFACFF78FF940045007D00490051003600AC0000003DFFC8FFBA0034005EFFDF001FFFD20068FFDDFFC1FFCCFFDC0020FFCB001D0034FFC70011003AFF900073002EFFF7FFEFFFE7FFFBFFD6FF9AFFEE005DFFD3
|
| 142 |
+
3D7FFBCFFF0FFABFF780044FFCF00010020FFEC0033FFE0FE710004FF28000AFFDE00220075FFC9FFE2FF7FFF98FFF4006C000F0008FFF1FFEEFFEDFF61FFF5FF480005FFDA0016004A0011005AFFB9FFB1FFF50076000EFFDEFF3E0033FFCBFFB8000700E7FFD4FFCA0008FF7AFFDAFF66FF22FFFBFFF4FF8B0018FFB1FFF8FFAC000AFFBEFFD90078FFF2FFF9FFF80018FFF20065FFD900250015FFC6FFF9FFDE0005FFBDFFC4FFFFFFD2FFDFFFCD0072FF8C00B8FFDFFFD9FFB1FF210034FFD4FFB000A7FFBAFFB5001E0073FFFCFEEF0021005F00050004FFAE005100440088FFEC0003FFE5FFA1FFB3FF78FFC200780023FF7DFFDC0048003DFF70002B
|
| 143 |
+
3C30008FF8400010043FFEF0069FFFDFFE6000EFF65FFC4FFE5FFB4007DFFE5000500320023001FFFDC0011FFF10036FFDFFFB000050045FFF2FF9600A4FF96000A002E00070003FEDCFFAD0010FFE9000A0029FF2A003BFF52FFE2FFDAFFE4FFD0001DFFA5FFF600570008FFC2FFD70065FFFDFF5D004B006AFFE700A3FFEBFFE3FFCCFFFB001CFFD10013FFE70023008E0016FFDFFFFC0041FFE9FFB10018FFF6FFF400150006002DFFD8FFE90009FF91002EFF710023FFFE004F001CFFE2FFCCFFCE0096005EFF6B0035002DFFE800320056FFD9FFC00038FFCCFFD5FFFDFFF0FFF6FFB3FFD8FFA9FFCEFFF1FF72FFFA0042FFC100480014FFB9FFD8FFE8
|
| 144 |
+
00E00140021FFE4FFE0FF8D0004FFE4FFB2002F0018FFDE000F002B0078FFDEFFB4FFE7FFCDFFE8FF7AFFD8FF73FFE90036FFF2FFD0FFC70031000A0036FFBF001D003700290018FFFBFF81006CFFEA000DFFF7FFE4FFF6007DFF7A005B0008001E0025FFF9FFA200000012FFFBFFBF005DFF80FF51FFECFFFC001E0011FFEE001F0016002FFFCAFFCBFFECFFF5FFFDFF92FFD40049FFFCFF67FFA4FFB300100032FFFC0009FFE7FFBF000CFF65FFE2FEFAFF79FFFB00120056FFD10035FFFA006C0001FFC0FFBF00140009FFBC0038FFE3FFF8FFC4FFFB001AFFCCFFBAFFCB0071FFB5002DFFDCFFEEFFAE0030FFF2FFBBFFCF00240071FF9F00100044FFE3
|
myproject_prj/solution1/syn/verilog/myproject_fifo_w1024_d64_A.v
ADDED
|
@@ -0,0 +1,237 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// ==============================================================
|
| 2 |
+
// Generated by Vitis HLS v2024.1
|
| 3 |
+
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
| 4 |
+
// Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.
|
| 5 |
+
// ==============================================================
|
| 6 |
+
// 67d7842dbbe25473c3c32b93c0da8047785f30d78e8a024de1b57352245f9689
|
| 7 |
+
|
| 8 |
+
`timescale 1ns/1ps
|
| 9 |
+
//RAW latency 2
|
| 10 |
+
|
| 11 |
+
module myproject_fifo_w1024_d64_A
|
| 12 |
+
#(parameter
|
| 13 |
+
MEM_STYLE = "auto",
|
| 14 |
+
DATA_WIDTH = 1024,
|
| 15 |
+
ADDR_WIDTH = 6,
|
| 16 |
+
DEPTH = 64)
|
| 17 |
+
(
|
| 18 |
+
// system signal
|
| 19 |
+
input wire clk,
|
| 20 |
+
input wire reset,
|
| 21 |
+
|
| 22 |
+
// write
|
| 23 |
+
output wire if_full_n,
|
| 24 |
+
input wire if_write_ce,
|
| 25 |
+
input wire if_write,
|
| 26 |
+
input wire [DATA_WIDTH-1:0] if_din,
|
| 27 |
+
|
| 28 |
+
// read
|
| 29 |
+
output wire [ADDR_WIDTH:0] if_num_data_valid, // for FRP
|
| 30 |
+
output wire [ADDR_WIDTH:0] if_fifo_cap, // for FRP
|
| 31 |
+
|
| 32 |
+
output wire if_empty_n,
|
| 33 |
+
input wire if_read_ce,
|
| 34 |
+
input wire if_read,
|
| 35 |
+
output wire [DATA_WIDTH-1:0] if_dout
|
| 36 |
+
);
|
| 37 |
+
//------------------------Parameter----------------------
|
| 38 |
+
localparam
|
| 39 |
+
MEM_DEPTH = DEPTH - 1,
|
| 40 |
+
MEM_AWIDTH = clog2(MEM_DEPTH);
|
| 41 |
+
//------------------------Local signal-------------------
|
| 42 |
+
reg [MEM_AWIDTH-1:0] waddr;
|
| 43 |
+
reg [MEM_AWIDTH-1:0] raddr;
|
| 44 |
+
wire [MEM_AWIDTH-1:0] wnext;
|
| 45 |
+
wire [MEM_AWIDTH-1:0] rnext;
|
| 46 |
+
wire push;
|
| 47 |
+
wire pop;
|
| 48 |
+
reg [MEM_AWIDTH:0] mOutPtr;
|
| 49 |
+
reg empty_n = 1'b0;
|
| 50 |
+
reg full_n = 1'b1;
|
| 51 |
+
// has num_data_valid?
|
| 52 |
+
wire num_extra_words;//yes
|
| 53 |
+
reg [ADDR_WIDTH:0] num_data_valid; //yes
|
| 54 |
+
|
| 55 |
+
wire pop_dout;
|
| 56 |
+
reg [ADDR_WIDTH:0] num_data_cnt;
|
| 57 |
+
reg dout_vld = 1'b0;
|
| 58 |
+
|
| 59 |
+
//------------------------Instantiation------------------
|
| 60 |
+
myproject_fifo_w1024_d64_A_ram
|
| 61 |
+
#( .MEM_STYLE (MEM_STYLE),
|
| 62 |
+
.DATA_WIDTH (DATA_WIDTH),
|
| 63 |
+
.ADDR_WIDTH (MEM_AWIDTH),
|
| 64 |
+
.DEPTH (MEM_DEPTH)
|
| 65 |
+
) U_myproject_fifo_w1024_d64_A_ram (
|
| 66 |
+
.clk (clk),
|
| 67 |
+
.reset (reset),
|
| 68 |
+
.we (push),
|
| 69 |
+
.waddr (waddr),
|
| 70 |
+
.din (if_din),
|
| 71 |
+
.raddr (raddr),
|
| 72 |
+
.rden (pop),
|
| 73 |
+
.dout (if_dout)
|
| 74 |
+
);
|
| 75 |
+
|
| 76 |
+
//------------------------Task and function--------------
|
| 77 |
+
function integer clog2;
|
| 78 |
+
input integer x;
|
| 79 |
+
integer n, m;
|
| 80 |
+
begin
|
| 81 |
+
n = 1;
|
| 82 |
+
m = 2;
|
| 83 |
+
while (m < x) begin
|
| 84 |
+
n = n + 1;
|
| 85 |
+
m = m * 2;
|
| 86 |
+
end
|
| 87 |
+
clog2 = n;
|
| 88 |
+
end
|
| 89 |
+
endfunction
|
| 90 |
+
//------------------------Body---------------------------
|
| 91 |
+
// num_data_valid
|
| 92 |
+
assign if_num_data_valid = num_data_valid;
|
| 93 |
+
assign if_fifo_cap = DEPTH;
|
| 94 |
+
|
| 95 |
+
// almost full/empty
|
| 96 |
+
|
| 97 |
+
// program full/empty
|
| 98 |
+
|
| 99 |
+
assign if_full_n = full_n;
|
| 100 |
+
assign if_empty_n = dout_vld;
|
| 101 |
+
|
| 102 |
+
assign push = full_n & if_write_ce & if_write;
|
| 103 |
+
assign pop = empty_n & (pop_dout | ~dout_vld);
|
| 104 |
+
assign pop_dout = dout_vld & if_read_ce & if_read;
|
| 105 |
+
|
| 106 |
+
assign wnext = !push ? waddr :
|
| 107 |
+
(waddr == MEM_DEPTH - 1) ? 1'b0 :
|
| 108 |
+
waddr + 1'b1;
|
| 109 |
+
assign rnext = !pop ? raddr :
|
| 110 |
+
(raddr == MEM_DEPTH - 1) ? 1'b0 :
|
| 111 |
+
raddr + 1'b1;
|
| 112 |
+
|
| 113 |
+
// waddr
|
| 114 |
+
always @(posedge clk) begin
|
| 115 |
+
if (reset)
|
| 116 |
+
waddr <= {MEM_AWIDTH{1'b0}};
|
| 117 |
+
else
|
| 118 |
+
waddr <= wnext;
|
| 119 |
+
end
|
| 120 |
+
|
| 121 |
+
// raddr
|
| 122 |
+
always @(posedge clk) begin
|
| 123 |
+
if (reset)
|
| 124 |
+
raddr <= {MEM_AWIDTH{1'b0}};
|
| 125 |
+
else
|
| 126 |
+
raddr <= rnext;
|
| 127 |
+
end
|
| 128 |
+
|
| 129 |
+
// mOutPtr
|
| 130 |
+
always @(posedge clk) begin
|
| 131 |
+
if (reset)
|
| 132 |
+
mOutPtr <= {MEM_AWIDTH+1{1'b0}};
|
| 133 |
+
else if (push & ~pop)
|
| 134 |
+
mOutPtr <= mOutPtr + 1'b1;
|
| 135 |
+
else if (~push & pop)
|
| 136 |
+
mOutPtr <= mOutPtr - 1'b1;
|
| 137 |
+
end
|
| 138 |
+
|
| 139 |
+
// full_n
|
| 140 |
+
always @(posedge clk) begin
|
| 141 |
+
if (reset)
|
| 142 |
+
full_n <= 1'b1;
|
| 143 |
+
else if ((push & ~pop_dout) && (num_data_cnt == DEPTH - 1))
|
| 144 |
+
full_n <= 1'b0;
|
| 145 |
+
else if (~push & pop_dout)
|
| 146 |
+
full_n <= 1'b1;
|
| 147 |
+
end
|
| 148 |
+
|
| 149 |
+
// empty_n
|
| 150 |
+
always @(posedge clk) begin
|
| 151 |
+
if (reset)
|
| 152 |
+
empty_n <= 1'b0;
|
| 153 |
+
else if (push & ~pop)
|
| 154 |
+
empty_n <= 1'b1;
|
| 155 |
+
else if ((~push & pop) && (mOutPtr == 1))
|
| 156 |
+
empty_n <= 1'b0;
|
| 157 |
+
end
|
| 158 |
+
|
| 159 |
+
// almost_full_n
|
| 160 |
+
|
| 161 |
+
// almost_empty_n
|
| 162 |
+
|
| 163 |
+
// prog_full_n
|
| 164 |
+
|
| 165 |
+
// prog_empty_n
|
| 166 |
+
|
| 167 |
+
// num_data_cnt
|
| 168 |
+
always @(posedge clk) begin
|
| 169 |
+
if (reset)
|
| 170 |
+
num_data_cnt <= {ADDR_WIDTH+1{1'b0}};
|
| 171 |
+
else if ( push & ~pop_dout)
|
| 172 |
+
num_data_cnt <= num_data_cnt + 1'b1;
|
| 173 |
+
else if (~push & pop_dout)
|
| 174 |
+
num_data_cnt <= num_data_cnt - 1'b1;
|
| 175 |
+
end
|
| 176 |
+
|
| 177 |
+
// num_data_valid
|
| 178 |
+
assign num_extra_words = (dout_vld & ~pop_dout) ? 1 : 0;
|
| 179 |
+
|
| 180 |
+
always @(posedge clk) begin
|
| 181 |
+
if (reset)
|
| 182 |
+
num_data_valid <= {ADDR_WIDTH+1{1'b0}};
|
| 183 |
+
else if (empty_n | (dout_vld & ~pop_dout))
|
| 184 |
+
num_data_valid <= push + mOutPtr + num_extra_words;
|
| 185 |
+
else
|
| 186 |
+
num_data_valid <= num_extra_words;
|
| 187 |
+
end //
|
| 188 |
+
|
| 189 |
+
// dout_vld
|
| 190 |
+
always @(posedge clk) begin
|
| 191 |
+
if (reset)
|
| 192 |
+
dout_vld <= 1'b0;
|
| 193 |
+
else if (pop)
|
| 194 |
+
dout_vld <= 1'b1;
|
| 195 |
+
else if (pop_dout)
|
| 196 |
+
dout_vld <= 1'b0;
|
| 197 |
+
end
|
| 198 |
+
|
| 199 |
+
endmodule
|
| 200 |
+
|
| 201 |
+
|
| 202 |
+
module myproject_fifo_w1024_d64_A_ram
|
| 203 |
+
#(parameter
|
| 204 |
+
MEM_STYLE = "auto",
|
| 205 |
+
DATA_WIDTH = 1024,
|
| 206 |
+
ADDR_WIDTH = 6,
|
| 207 |
+
DEPTH = 64)
|
| 208 |
+
(
|
| 209 |
+
input wire clk,
|
| 210 |
+
input wire reset,
|
| 211 |
+
input wire we,
|
| 212 |
+
input wire [ADDR_WIDTH-1:0] waddr,
|
| 213 |
+
input wire [DATA_WIDTH-1:0] din,
|
| 214 |
+
input wire [ADDR_WIDTH-1:0] raddr,
|
| 215 |
+
input wire rden,
|
| 216 |
+
output wire [DATA_WIDTH-1:0] dout
|
| 217 |
+
);
|
| 218 |
+
|
| 219 |
+
(* ram_style = MEM_STYLE *)
|
| 220 |
+
reg [DATA_WIDTH-1:0] mem[0:DEPTH-1];
|
| 221 |
+
reg [DATA_WIDTH-1:0] mem_reg;
|
| 222 |
+
|
| 223 |
+
always @(posedge clk) begin
|
| 224 |
+
if (we)
|
| 225 |
+
mem[waddr] <= din;
|
| 226 |
+
end
|
| 227 |
+
|
| 228 |
+
always @(posedge clk) begin
|
| 229 |
+
if (reset)
|
| 230 |
+
mem_reg <= 0;
|
| 231 |
+
else if (rden)
|
| 232 |
+
mem_reg <= mem[raddr];
|
| 233 |
+
end
|
| 234 |
+
|
| 235 |
+
assign dout = mem_reg;
|
| 236 |
+
|
| 237 |
+
endmodule
|
myproject_prj/solution1/syn/verilog/myproject_fifo_w1312_d256_A.v
ADDED
|
@@ -0,0 +1,237 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// ==============================================================
|
| 2 |
+
// Generated by Vitis HLS v2024.1
|
| 3 |
+
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
| 4 |
+
// Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.
|
| 5 |
+
// ==============================================================
|
| 6 |
+
// 67d7842dbbe25473c3c32b93c0da8047785f30d78e8a024de1b57352245f9689
|
| 7 |
+
|
| 8 |
+
`timescale 1ns/1ps
|
| 9 |
+
//RAW latency 2
|
| 10 |
+
|
| 11 |
+
module myproject_fifo_w1312_d256_A
|
| 12 |
+
#(parameter
|
| 13 |
+
MEM_STYLE = "auto",
|
| 14 |
+
DATA_WIDTH = 1312,
|
| 15 |
+
ADDR_WIDTH = 8,
|
| 16 |
+
DEPTH = 256)
|
| 17 |
+
(
|
| 18 |
+
// system signal
|
| 19 |
+
input wire clk,
|
| 20 |
+
input wire reset,
|
| 21 |
+
|
| 22 |
+
// write
|
| 23 |
+
output wire if_full_n,
|
| 24 |
+
input wire if_write_ce,
|
| 25 |
+
input wire if_write,
|
| 26 |
+
input wire [DATA_WIDTH-1:0] if_din,
|
| 27 |
+
|
| 28 |
+
// read
|
| 29 |
+
output wire [ADDR_WIDTH:0] if_num_data_valid, // for FRP
|
| 30 |
+
output wire [ADDR_WIDTH:0] if_fifo_cap, // for FRP
|
| 31 |
+
|
| 32 |
+
output wire if_empty_n,
|
| 33 |
+
input wire if_read_ce,
|
| 34 |
+
input wire if_read,
|
| 35 |
+
output wire [DATA_WIDTH-1:0] if_dout
|
| 36 |
+
);
|
| 37 |
+
//------------------------Parameter----------------------
|
| 38 |
+
localparam
|
| 39 |
+
MEM_DEPTH = DEPTH - 1,
|
| 40 |
+
MEM_AWIDTH = clog2(MEM_DEPTH);
|
| 41 |
+
//------------------------Local signal-------------------
|
| 42 |
+
reg [MEM_AWIDTH-1:0] waddr;
|
| 43 |
+
reg [MEM_AWIDTH-1:0] raddr;
|
| 44 |
+
wire [MEM_AWIDTH-1:0] wnext;
|
| 45 |
+
wire [MEM_AWIDTH-1:0] rnext;
|
| 46 |
+
wire push;
|
| 47 |
+
wire pop;
|
| 48 |
+
reg [MEM_AWIDTH:0] mOutPtr;
|
| 49 |
+
reg empty_n = 1'b0;
|
| 50 |
+
reg full_n = 1'b1;
|
| 51 |
+
// has num_data_valid?
|
| 52 |
+
wire num_extra_words;//yes
|
| 53 |
+
reg [ADDR_WIDTH:0] num_data_valid; //yes
|
| 54 |
+
|
| 55 |
+
wire pop_dout;
|
| 56 |
+
reg [ADDR_WIDTH:0] num_data_cnt;
|
| 57 |
+
reg dout_vld = 1'b0;
|
| 58 |
+
|
| 59 |
+
//------------------------Instantiation------------------
|
| 60 |
+
myproject_fifo_w1312_d256_A_ram
|
| 61 |
+
#( .MEM_STYLE (MEM_STYLE),
|
| 62 |
+
.DATA_WIDTH (DATA_WIDTH),
|
| 63 |
+
.ADDR_WIDTH (MEM_AWIDTH),
|
| 64 |
+
.DEPTH (MEM_DEPTH)
|
| 65 |
+
) U_myproject_fifo_w1312_d256_A_ram (
|
| 66 |
+
.clk (clk),
|
| 67 |
+
.reset (reset),
|
| 68 |
+
.we (push),
|
| 69 |
+
.waddr (waddr),
|
| 70 |
+
.din (if_din),
|
| 71 |
+
.raddr (raddr),
|
| 72 |
+
.rden (pop),
|
| 73 |
+
.dout (if_dout)
|
| 74 |
+
);
|
| 75 |
+
|
| 76 |
+
//------------------------Task and function--------------
|
| 77 |
+
function integer clog2;
|
| 78 |
+
input integer x;
|
| 79 |
+
integer n, m;
|
| 80 |
+
begin
|
| 81 |
+
n = 1;
|
| 82 |
+
m = 2;
|
| 83 |
+
while (m < x) begin
|
| 84 |
+
n = n + 1;
|
| 85 |
+
m = m * 2;
|
| 86 |
+
end
|
| 87 |
+
clog2 = n;
|
| 88 |
+
end
|
| 89 |
+
endfunction
|
| 90 |
+
//------------------------Body---------------------------
|
| 91 |
+
// num_data_valid
|
| 92 |
+
assign if_num_data_valid = num_data_valid;
|
| 93 |
+
assign if_fifo_cap = DEPTH;
|
| 94 |
+
|
| 95 |
+
// almost full/empty
|
| 96 |
+
|
| 97 |
+
// program full/empty
|
| 98 |
+
|
| 99 |
+
assign if_full_n = full_n;
|
| 100 |
+
assign if_empty_n = dout_vld;
|
| 101 |
+
|
| 102 |
+
assign push = full_n & if_write_ce & if_write;
|
| 103 |
+
assign pop = empty_n & (pop_dout | ~dout_vld);
|
| 104 |
+
assign pop_dout = dout_vld & if_read_ce & if_read;
|
| 105 |
+
|
| 106 |
+
assign wnext = !push ? waddr :
|
| 107 |
+
(waddr == MEM_DEPTH - 1) ? 1'b0 :
|
| 108 |
+
waddr + 1'b1;
|
| 109 |
+
assign rnext = !pop ? raddr :
|
| 110 |
+
(raddr == MEM_DEPTH - 1) ? 1'b0 :
|
| 111 |
+
raddr + 1'b1;
|
| 112 |
+
|
| 113 |
+
// waddr
|
| 114 |
+
always @(posedge clk) begin
|
| 115 |
+
if (reset)
|
| 116 |
+
waddr <= {MEM_AWIDTH{1'b0}};
|
| 117 |
+
else
|
| 118 |
+
waddr <= wnext;
|
| 119 |
+
end
|
| 120 |
+
|
| 121 |
+
// raddr
|
| 122 |
+
always @(posedge clk) begin
|
| 123 |
+
if (reset)
|
| 124 |
+
raddr <= {MEM_AWIDTH{1'b0}};
|
| 125 |
+
else
|
| 126 |
+
raddr <= rnext;
|
| 127 |
+
end
|
| 128 |
+
|
| 129 |
+
// mOutPtr
|
| 130 |
+
always @(posedge clk) begin
|
| 131 |
+
if (reset)
|
| 132 |
+
mOutPtr <= {MEM_AWIDTH+1{1'b0}};
|
| 133 |
+
else if (push & ~pop)
|
| 134 |
+
mOutPtr <= mOutPtr + 1'b1;
|
| 135 |
+
else if (~push & pop)
|
| 136 |
+
mOutPtr <= mOutPtr - 1'b1;
|
| 137 |
+
end
|
| 138 |
+
|
| 139 |
+
// full_n
|
| 140 |
+
always @(posedge clk) begin
|
| 141 |
+
if (reset)
|
| 142 |
+
full_n <= 1'b1;
|
| 143 |
+
else if ((push & ~pop_dout) && (num_data_cnt == DEPTH - 1))
|
| 144 |
+
full_n <= 1'b0;
|
| 145 |
+
else if (~push & pop_dout)
|
| 146 |
+
full_n <= 1'b1;
|
| 147 |
+
end
|
| 148 |
+
|
| 149 |
+
// empty_n
|
| 150 |
+
always @(posedge clk) begin
|
| 151 |
+
if (reset)
|
| 152 |
+
empty_n <= 1'b0;
|
| 153 |
+
else if (push & ~pop)
|
| 154 |
+
empty_n <= 1'b1;
|
| 155 |
+
else if ((~push & pop) && (mOutPtr == 1))
|
| 156 |
+
empty_n <= 1'b0;
|
| 157 |
+
end
|
| 158 |
+
|
| 159 |
+
// almost_full_n
|
| 160 |
+
|
| 161 |
+
// almost_empty_n
|
| 162 |
+
|
| 163 |
+
// prog_full_n
|
| 164 |
+
|
| 165 |
+
// prog_empty_n
|
| 166 |
+
|
| 167 |
+
// num_data_cnt
|
| 168 |
+
always @(posedge clk) begin
|
| 169 |
+
if (reset)
|
| 170 |
+
num_data_cnt <= {ADDR_WIDTH+1{1'b0}};
|
| 171 |
+
else if ( push & ~pop_dout)
|
| 172 |
+
num_data_cnt <= num_data_cnt + 1'b1;
|
| 173 |
+
else if (~push & pop_dout)
|
| 174 |
+
num_data_cnt <= num_data_cnt - 1'b1;
|
| 175 |
+
end
|
| 176 |
+
|
| 177 |
+
// num_data_valid
|
| 178 |
+
assign num_extra_words = (dout_vld & ~pop_dout) ? 1 : 0;
|
| 179 |
+
|
| 180 |
+
always @(posedge clk) begin
|
| 181 |
+
if (reset)
|
| 182 |
+
num_data_valid <= {ADDR_WIDTH+1{1'b0}};
|
| 183 |
+
else if (empty_n | (dout_vld & ~pop_dout))
|
| 184 |
+
num_data_valid <= push + mOutPtr + num_extra_words;
|
| 185 |
+
else
|
| 186 |
+
num_data_valid <= num_extra_words;
|
| 187 |
+
end //
|
| 188 |
+
|
| 189 |
+
// dout_vld
|
| 190 |
+
always @(posedge clk) begin
|
| 191 |
+
if (reset)
|
| 192 |
+
dout_vld <= 1'b0;
|
| 193 |
+
else if (pop)
|
| 194 |
+
dout_vld <= 1'b1;
|
| 195 |
+
else if (pop_dout)
|
| 196 |
+
dout_vld <= 1'b0;
|
| 197 |
+
end
|
| 198 |
+
|
| 199 |
+
endmodule
|
| 200 |
+
|
| 201 |
+
|
| 202 |
+
module myproject_fifo_w1312_d256_A_ram
|
| 203 |
+
#(parameter
|
| 204 |
+
MEM_STYLE = "auto",
|
| 205 |
+
DATA_WIDTH = 1312,
|
| 206 |
+
ADDR_WIDTH = 8,
|
| 207 |
+
DEPTH = 256)
|
| 208 |
+
(
|
| 209 |
+
input wire clk,
|
| 210 |
+
input wire reset,
|
| 211 |
+
input wire we,
|
| 212 |
+
input wire [ADDR_WIDTH-1:0] waddr,
|
| 213 |
+
input wire [DATA_WIDTH-1:0] din,
|
| 214 |
+
input wire [ADDR_WIDTH-1:0] raddr,
|
| 215 |
+
input wire rden,
|
| 216 |
+
output wire [DATA_WIDTH-1:0] dout
|
| 217 |
+
);
|
| 218 |
+
|
| 219 |
+
(* ram_style = MEM_STYLE *)
|
| 220 |
+
reg [DATA_WIDTH-1:0] mem[0:DEPTH-1];
|
| 221 |
+
reg [DATA_WIDTH-1:0] mem_reg;
|
| 222 |
+
|
| 223 |
+
always @(posedge clk) begin
|
| 224 |
+
if (we)
|
| 225 |
+
mem[waddr] <= din;
|
| 226 |
+
end
|
| 227 |
+
|
| 228 |
+
always @(posedge clk) begin
|
| 229 |
+
if (reset)
|
| 230 |
+
mem_reg <= 0;
|
| 231 |
+
else if (rden)
|
| 232 |
+
mem_reg <= mem[raddr];
|
| 233 |
+
end
|
| 234 |
+
|
| 235 |
+
assign dout = mem_reg;
|
| 236 |
+
|
| 237 |
+
endmodule
|
myproject_prj/solution1/syn/verilog/myproject_fifo_w1376_d256_A.v
ADDED
|
@@ -0,0 +1,237 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// ==============================================================
|
| 2 |
+
// Generated by Vitis HLS v2024.1
|
| 3 |
+
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
| 4 |
+
// Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.
|
| 5 |
+
// ==============================================================
|
| 6 |
+
// 67d7842dbbe25473c3c32b93c0da8047785f30d78e8a024de1b57352245f9689
|
| 7 |
+
|
| 8 |
+
`timescale 1ns/1ps
|
| 9 |
+
//RAW latency 2
|
| 10 |
+
|
| 11 |
+
module myproject_fifo_w1376_d256_A
|
| 12 |
+
#(parameter
|
| 13 |
+
MEM_STYLE = "auto",
|
| 14 |
+
DATA_WIDTH = 1376,
|
| 15 |
+
ADDR_WIDTH = 8,
|
| 16 |
+
DEPTH = 256)
|
| 17 |
+
(
|
| 18 |
+
// system signal
|
| 19 |
+
input wire clk,
|
| 20 |
+
input wire reset,
|
| 21 |
+
|
| 22 |
+
// write
|
| 23 |
+
output wire if_full_n,
|
| 24 |
+
input wire if_write_ce,
|
| 25 |
+
input wire if_write,
|
| 26 |
+
input wire [DATA_WIDTH-1:0] if_din,
|
| 27 |
+
|
| 28 |
+
// read
|
| 29 |
+
output wire [ADDR_WIDTH:0] if_num_data_valid, // for FRP
|
| 30 |
+
output wire [ADDR_WIDTH:0] if_fifo_cap, // for FRP
|
| 31 |
+
|
| 32 |
+
output wire if_empty_n,
|
| 33 |
+
input wire if_read_ce,
|
| 34 |
+
input wire if_read,
|
| 35 |
+
output wire [DATA_WIDTH-1:0] if_dout
|
| 36 |
+
);
|
| 37 |
+
//------------------------Parameter----------------------
|
| 38 |
+
localparam
|
| 39 |
+
MEM_DEPTH = DEPTH - 1,
|
| 40 |
+
MEM_AWIDTH = clog2(MEM_DEPTH);
|
| 41 |
+
//------------------------Local signal-------------------
|
| 42 |
+
reg [MEM_AWIDTH-1:0] waddr;
|
| 43 |
+
reg [MEM_AWIDTH-1:0] raddr;
|
| 44 |
+
wire [MEM_AWIDTH-1:0] wnext;
|
| 45 |
+
wire [MEM_AWIDTH-1:0] rnext;
|
| 46 |
+
wire push;
|
| 47 |
+
wire pop;
|
| 48 |
+
reg [MEM_AWIDTH:0] mOutPtr;
|
| 49 |
+
reg empty_n = 1'b0;
|
| 50 |
+
reg full_n = 1'b1;
|
| 51 |
+
// has num_data_valid?
|
| 52 |
+
wire num_extra_words;//yes
|
| 53 |
+
reg [ADDR_WIDTH:0] num_data_valid; //yes
|
| 54 |
+
|
| 55 |
+
wire pop_dout;
|
| 56 |
+
reg [ADDR_WIDTH:0] num_data_cnt;
|
| 57 |
+
reg dout_vld = 1'b0;
|
| 58 |
+
|
| 59 |
+
//------------------------Instantiation------------------
|
| 60 |
+
myproject_fifo_w1376_d256_A_ram
|
| 61 |
+
#( .MEM_STYLE (MEM_STYLE),
|
| 62 |
+
.DATA_WIDTH (DATA_WIDTH),
|
| 63 |
+
.ADDR_WIDTH (MEM_AWIDTH),
|
| 64 |
+
.DEPTH (MEM_DEPTH)
|
| 65 |
+
) U_myproject_fifo_w1376_d256_A_ram (
|
| 66 |
+
.clk (clk),
|
| 67 |
+
.reset (reset),
|
| 68 |
+
.we (push),
|
| 69 |
+
.waddr (waddr),
|
| 70 |
+
.din (if_din),
|
| 71 |
+
.raddr (raddr),
|
| 72 |
+
.rden (pop),
|
| 73 |
+
.dout (if_dout)
|
| 74 |
+
);
|
| 75 |
+
|
| 76 |
+
//------------------------Task and function--------------
|
| 77 |
+
function integer clog2;
|
| 78 |
+
input integer x;
|
| 79 |
+
integer n, m;
|
| 80 |
+
begin
|
| 81 |
+
n = 1;
|
| 82 |
+
m = 2;
|
| 83 |
+
while (m < x) begin
|
| 84 |
+
n = n + 1;
|
| 85 |
+
m = m * 2;
|
| 86 |
+
end
|
| 87 |
+
clog2 = n;
|
| 88 |
+
end
|
| 89 |
+
endfunction
|
| 90 |
+
//------------------------Body---------------------------
|
| 91 |
+
// num_data_valid
|
| 92 |
+
assign if_num_data_valid = num_data_valid;
|
| 93 |
+
assign if_fifo_cap = DEPTH;
|
| 94 |
+
|
| 95 |
+
// almost full/empty
|
| 96 |
+
|
| 97 |
+
// program full/empty
|
| 98 |
+
|
| 99 |
+
assign if_full_n = full_n;
|
| 100 |
+
assign if_empty_n = dout_vld;
|
| 101 |
+
|
| 102 |
+
assign push = full_n & if_write_ce & if_write;
|
| 103 |
+
assign pop = empty_n & (pop_dout | ~dout_vld);
|
| 104 |
+
assign pop_dout = dout_vld & if_read_ce & if_read;
|
| 105 |
+
|
| 106 |
+
assign wnext = !push ? waddr :
|
| 107 |
+
(waddr == MEM_DEPTH - 1) ? 1'b0 :
|
| 108 |
+
waddr + 1'b1;
|
| 109 |
+
assign rnext = !pop ? raddr :
|
| 110 |
+
(raddr == MEM_DEPTH - 1) ? 1'b0 :
|
| 111 |
+
raddr + 1'b1;
|
| 112 |
+
|
| 113 |
+
// waddr
|
| 114 |
+
always @(posedge clk) begin
|
| 115 |
+
if (reset)
|
| 116 |
+
waddr <= {MEM_AWIDTH{1'b0}};
|
| 117 |
+
else
|
| 118 |
+
waddr <= wnext;
|
| 119 |
+
end
|
| 120 |
+
|
| 121 |
+
// raddr
|
| 122 |
+
always @(posedge clk) begin
|
| 123 |
+
if (reset)
|
| 124 |
+
raddr <= {MEM_AWIDTH{1'b0}};
|
| 125 |
+
else
|
| 126 |
+
raddr <= rnext;
|
| 127 |
+
end
|
| 128 |
+
|
| 129 |
+
// mOutPtr
|
| 130 |
+
always @(posedge clk) begin
|
| 131 |
+
if (reset)
|
| 132 |
+
mOutPtr <= {MEM_AWIDTH+1{1'b0}};
|
| 133 |
+
else if (push & ~pop)
|
| 134 |
+
mOutPtr <= mOutPtr + 1'b1;
|
| 135 |
+
else if (~push & pop)
|
| 136 |
+
mOutPtr <= mOutPtr - 1'b1;
|
| 137 |
+
end
|
| 138 |
+
|
| 139 |
+
// full_n
|
| 140 |
+
always @(posedge clk) begin
|
| 141 |
+
if (reset)
|
| 142 |
+
full_n <= 1'b1;
|
| 143 |
+
else if ((push & ~pop_dout) && (num_data_cnt == DEPTH - 1))
|
| 144 |
+
full_n <= 1'b0;
|
| 145 |
+
else if (~push & pop_dout)
|
| 146 |
+
full_n <= 1'b1;
|
| 147 |
+
end
|
| 148 |
+
|
| 149 |
+
// empty_n
|
| 150 |
+
always @(posedge clk) begin
|
| 151 |
+
if (reset)
|
| 152 |
+
empty_n <= 1'b0;
|
| 153 |
+
else if (push & ~pop)
|
| 154 |
+
empty_n <= 1'b1;
|
| 155 |
+
else if ((~push & pop) && (mOutPtr == 1))
|
| 156 |
+
empty_n <= 1'b0;
|
| 157 |
+
end
|
| 158 |
+
|
| 159 |
+
// almost_full_n
|
| 160 |
+
|
| 161 |
+
// almost_empty_n
|
| 162 |
+
|
| 163 |
+
// prog_full_n
|
| 164 |
+
|
| 165 |
+
// prog_empty_n
|
| 166 |
+
|
| 167 |
+
// num_data_cnt
|
| 168 |
+
always @(posedge clk) begin
|
| 169 |
+
if (reset)
|
| 170 |
+
num_data_cnt <= {ADDR_WIDTH+1{1'b0}};
|
| 171 |
+
else if ( push & ~pop_dout)
|
| 172 |
+
num_data_cnt <= num_data_cnt + 1'b1;
|
| 173 |
+
else if (~push & pop_dout)
|
| 174 |
+
num_data_cnt <= num_data_cnt - 1'b1;
|
| 175 |
+
end
|
| 176 |
+
|
| 177 |
+
// num_data_valid
|
| 178 |
+
assign num_extra_words = (dout_vld & ~pop_dout) ? 1 : 0;
|
| 179 |
+
|
| 180 |
+
always @(posedge clk) begin
|
| 181 |
+
if (reset)
|
| 182 |
+
num_data_valid <= {ADDR_WIDTH+1{1'b0}};
|
| 183 |
+
else if (empty_n | (dout_vld & ~pop_dout))
|
| 184 |
+
num_data_valid <= push + mOutPtr + num_extra_words;
|
| 185 |
+
else
|
| 186 |
+
num_data_valid <= num_extra_words;
|
| 187 |
+
end //
|
| 188 |
+
|
| 189 |
+
// dout_vld
|
| 190 |
+
always @(posedge clk) begin
|
| 191 |
+
if (reset)
|
| 192 |
+
dout_vld <= 1'b0;
|
| 193 |
+
else if (pop)
|
| 194 |
+
dout_vld <= 1'b1;
|
| 195 |
+
else if (pop_dout)
|
| 196 |
+
dout_vld <= 1'b0;
|
| 197 |
+
end
|
| 198 |
+
|
| 199 |
+
endmodule
|
| 200 |
+
|
| 201 |
+
|
| 202 |
+
module myproject_fifo_w1376_d256_A_ram
|
| 203 |
+
#(parameter
|
| 204 |
+
MEM_STYLE = "auto",
|
| 205 |
+
DATA_WIDTH = 1376,
|
| 206 |
+
ADDR_WIDTH = 8,
|
| 207 |
+
DEPTH = 256)
|
| 208 |
+
(
|
| 209 |
+
input wire clk,
|
| 210 |
+
input wire reset,
|
| 211 |
+
input wire we,
|
| 212 |
+
input wire [ADDR_WIDTH-1:0] waddr,
|
| 213 |
+
input wire [DATA_WIDTH-1:0] din,
|
| 214 |
+
input wire [ADDR_WIDTH-1:0] raddr,
|
| 215 |
+
input wire rden,
|
| 216 |
+
output wire [DATA_WIDTH-1:0] dout
|
| 217 |
+
);
|
| 218 |
+
|
| 219 |
+
(* ram_style = MEM_STYLE *)
|
| 220 |
+
reg [DATA_WIDTH-1:0] mem[0:DEPTH-1];
|
| 221 |
+
reg [DATA_WIDTH-1:0] mem_reg;
|
| 222 |
+
|
| 223 |
+
always @(posedge clk) begin
|
| 224 |
+
if (we)
|
| 225 |
+
mem[waddr] <= din;
|
| 226 |
+
end
|
| 227 |
+
|
| 228 |
+
always @(posedge clk) begin
|
| 229 |
+
if (reset)
|
| 230 |
+
mem_reg <= 0;
|
| 231 |
+
else if (rden)
|
| 232 |
+
mem_reg <= mem[raddr];
|
| 233 |
+
end
|
| 234 |
+
|
| 235 |
+
assign dout = mem_reg;
|
| 236 |
+
|
| 237 |
+
endmodule
|
myproject_prj/solution1/syn/verilog/myproject_fifo_w1536_d256_A.v
ADDED
|
@@ -0,0 +1,237 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// ==============================================================
|
| 2 |
+
// Generated by Vitis HLS v2024.1
|
| 3 |
+
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
| 4 |
+
// Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.
|
| 5 |
+
// ==============================================================
|
| 6 |
+
// 67d7842dbbe25473c3c32b93c0da8047785f30d78e8a024de1b57352245f9689
|
| 7 |
+
|
| 8 |
+
`timescale 1ns/1ps
|
| 9 |
+
//RAW latency 2
|
| 10 |
+
|
| 11 |
+
module myproject_fifo_w1536_d256_A
|
| 12 |
+
#(parameter
|
| 13 |
+
MEM_STYLE = "auto",
|
| 14 |
+
DATA_WIDTH = 1536,
|
| 15 |
+
ADDR_WIDTH = 8,
|
| 16 |
+
DEPTH = 256)
|
| 17 |
+
(
|
| 18 |
+
// system signal
|
| 19 |
+
input wire clk,
|
| 20 |
+
input wire reset,
|
| 21 |
+
|
| 22 |
+
// write
|
| 23 |
+
output wire if_full_n,
|
| 24 |
+
input wire if_write_ce,
|
| 25 |
+
input wire if_write,
|
| 26 |
+
input wire [DATA_WIDTH-1:0] if_din,
|
| 27 |
+
|
| 28 |
+
// read
|
| 29 |
+
output wire [ADDR_WIDTH:0] if_num_data_valid, // for FRP
|
| 30 |
+
output wire [ADDR_WIDTH:0] if_fifo_cap, // for FRP
|
| 31 |
+
|
| 32 |
+
output wire if_empty_n,
|
| 33 |
+
input wire if_read_ce,
|
| 34 |
+
input wire if_read,
|
| 35 |
+
output wire [DATA_WIDTH-1:0] if_dout
|
| 36 |
+
);
|
| 37 |
+
//------------------------Parameter----------------------
|
| 38 |
+
localparam
|
| 39 |
+
MEM_DEPTH = DEPTH - 1,
|
| 40 |
+
MEM_AWIDTH = clog2(MEM_DEPTH);
|
| 41 |
+
//------------------------Local signal-------------------
|
| 42 |
+
reg [MEM_AWIDTH-1:0] waddr;
|
| 43 |
+
reg [MEM_AWIDTH-1:0] raddr;
|
| 44 |
+
wire [MEM_AWIDTH-1:0] wnext;
|
| 45 |
+
wire [MEM_AWIDTH-1:0] rnext;
|
| 46 |
+
wire push;
|
| 47 |
+
wire pop;
|
| 48 |
+
reg [MEM_AWIDTH:0] mOutPtr;
|
| 49 |
+
reg empty_n = 1'b0;
|
| 50 |
+
reg full_n = 1'b1;
|
| 51 |
+
// has num_data_valid?
|
| 52 |
+
wire num_extra_words;//yes
|
| 53 |
+
reg [ADDR_WIDTH:0] num_data_valid; //yes
|
| 54 |
+
|
| 55 |
+
wire pop_dout;
|
| 56 |
+
reg [ADDR_WIDTH:0] num_data_cnt;
|
| 57 |
+
reg dout_vld = 1'b0;
|
| 58 |
+
|
| 59 |
+
//------------------------Instantiation------------------
|
| 60 |
+
myproject_fifo_w1536_d256_A_ram
|
| 61 |
+
#( .MEM_STYLE (MEM_STYLE),
|
| 62 |
+
.DATA_WIDTH (DATA_WIDTH),
|
| 63 |
+
.ADDR_WIDTH (MEM_AWIDTH),
|
| 64 |
+
.DEPTH (MEM_DEPTH)
|
| 65 |
+
) U_myproject_fifo_w1536_d256_A_ram (
|
| 66 |
+
.clk (clk),
|
| 67 |
+
.reset (reset),
|
| 68 |
+
.we (push),
|
| 69 |
+
.waddr (waddr),
|
| 70 |
+
.din (if_din),
|
| 71 |
+
.raddr (raddr),
|
| 72 |
+
.rden (pop),
|
| 73 |
+
.dout (if_dout)
|
| 74 |
+
);
|
| 75 |
+
|
| 76 |
+
//------------------------Task and function--------------
|
| 77 |
+
function integer clog2;
|
| 78 |
+
input integer x;
|
| 79 |
+
integer n, m;
|
| 80 |
+
begin
|
| 81 |
+
n = 1;
|
| 82 |
+
m = 2;
|
| 83 |
+
while (m < x) begin
|
| 84 |
+
n = n + 1;
|
| 85 |
+
m = m * 2;
|
| 86 |
+
end
|
| 87 |
+
clog2 = n;
|
| 88 |
+
end
|
| 89 |
+
endfunction
|
| 90 |
+
//------------------------Body---------------------------
|
| 91 |
+
// num_data_valid
|
| 92 |
+
assign if_num_data_valid = num_data_valid;
|
| 93 |
+
assign if_fifo_cap = DEPTH;
|
| 94 |
+
|
| 95 |
+
// almost full/empty
|
| 96 |
+
|
| 97 |
+
// program full/empty
|
| 98 |
+
|
| 99 |
+
assign if_full_n = full_n;
|
| 100 |
+
assign if_empty_n = dout_vld;
|
| 101 |
+
|
| 102 |
+
assign push = full_n & if_write_ce & if_write;
|
| 103 |
+
assign pop = empty_n & (pop_dout | ~dout_vld);
|
| 104 |
+
assign pop_dout = dout_vld & if_read_ce & if_read;
|
| 105 |
+
|
| 106 |
+
assign wnext = !push ? waddr :
|
| 107 |
+
(waddr == MEM_DEPTH - 1) ? 1'b0 :
|
| 108 |
+
waddr + 1'b1;
|
| 109 |
+
assign rnext = !pop ? raddr :
|
| 110 |
+
(raddr == MEM_DEPTH - 1) ? 1'b0 :
|
| 111 |
+
raddr + 1'b1;
|
| 112 |
+
|
| 113 |
+
// waddr
|
| 114 |
+
always @(posedge clk) begin
|
| 115 |
+
if (reset)
|
| 116 |
+
waddr <= {MEM_AWIDTH{1'b0}};
|
| 117 |
+
else
|
| 118 |
+
waddr <= wnext;
|
| 119 |
+
end
|
| 120 |
+
|
| 121 |
+
// raddr
|
| 122 |
+
always @(posedge clk) begin
|
| 123 |
+
if (reset)
|
| 124 |
+
raddr <= {MEM_AWIDTH{1'b0}};
|
| 125 |
+
else
|
| 126 |
+
raddr <= rnext;
|
| 127 |
+
end
|
| 128 |
+
|
| 129 |
+
// mOutPtr
|
| 130 |
+
always @(posedge clk) begin
|
| 131 |
+
if (reset)
|
| 132 |
+
mOutPtr <= {MEM_AWIDTH+1{1'b0}};
|
| 133 |
+
else if (push & ~pop)
|
| 134 |
+
mOutPtr <= mOutPtr + 1'b1;
|
| 135 |
+
else if (~push & pop)
|
| 136 |
+
mOutPtr <= mOutPtr - 1'b1;
|
| 137 |
+
end
|
| 138 |
+
|
| 139 |
+
// full_n
|
| 140 |
+
always @(posedge clk) begin
|
| 141 |
+
if (reset)
|
| 142 |
+
full_n <= 1'b1;
|
| 143 |
+
else if ((push & ~pop_dout) && (num_data_cnt == DEPTH - 1))
|
| 144 |
+
full_n <= 1'b0;
|
| 145 |
+
else if (~push & pop_dout)
|
| 146 |
+
full_n <= 1'b1;
|
| 147 |
+
end
|
| 148 |
+
|
| 149 |
+
// empty_n
|
| 150 |
+
always @(posedge clk) begin
|
| 151 |
+
if (reset)
|
| 152 |
+
empty_n <= 1'b0;
|
| 153 |
+
else if (push & ~pop)
|
| 154 |
+
empty_n <= 1'b1;
|
| 155 |
+
else if ((~push & pop) && (mOutPtr == 1))
|
| 156 |
+
empty_n <= 1'b0;
|
| 157 |
+
end
|
| 158 |
+
|
| 159 |
+
// almost_full_n
|
| 160 |
+
|
| 161 |
+
// almost_empty_n
|
| 162 |
+
|
| 163 |
+
// prog_full_n
|
| 164 |
+
|
| 165 |
+
// prog_empty_n
|
| 166 |
+
|
| 167 |
+
// num_data_cnt
|
| 168 |
+
always @(posedge clk) begin
|
| 169 |
+
if (reset)
|
| 170 |
+
num_data_cnt <= {ADDR_WIDTH+1{1'b0}};
|
| 171 |
+
else if ( push & ~pop_dout)
|
| 172 |
+
num_data_cnt <= num_data_cnt + 1'b1;
|
| 173 |
+
else if (~push & pop_dout)
|
| 174 |
+
num_data_cnt <= num_data_cnt - 1'b1;
|
| 175 |
+
end
|
| 176 |
+
|
| 177 |
+
// num_data_valid
|
| 178 |
+
assign num_extra_words = (dout_vld & ~pop_dout) ? 1 : 0;
|
| 179 |
+
|
| 180 |
+
always @(posedge clk) begin
|
| 181 |
+
if (reset)
|
| 182 |
+
num_data_valid <= {ADDR_WIDTH+1{1'b0}};
|
| 183 |
+
else if (empty_n | (dout_vld & ~pop_dout))
|
| 184 |
+
num_data_valid <= push + mOutPtr + num_extra_words;
|
| 185 |
+
else
|
| 186 |
+
num_data_valid <= num_extra_words;
|
| 187 |
+
end //
|
| 188 |
+
|
| 189 |
+
// dout_vld
|
| 190 |
+
always @(posedge clk) begin
|
| 191 |
+
if (reset)
|
| 192 |
+
dout_vld <= 1'b0;
|
| 193 |
+
else if (pop)
|
| 194 |
+
dout_vld <= 1'b1;
|
| 195 |
+
else if (pop_dout)
|
| 196 |
+
dout_vld <= 1'b0;
|
| 197 |
+
end
|
| 198 |
+
|
| 199 |
+
endmodule
|
| 200 |
+
|
| 201 |
+
|
| 202 |
+
module myproject_fifo_w1536_d256_A_ram
|
| 203 |
+
#(parameter
|
| 204 |
+
MEM_STYLE = "auto",
|
| 205 |
+
DATA_WIDTH = 1536,
|
| 206 |
+
ADDR_WIDTH = 8,
|
| 207 |
+
DEPTH = 256)
|
| 208 |
+
(
|
| 209 |
+
input wire clk,
|
| 210 |
+
input wire reset,
|
| 211 |
+
input wire we,
|
| 212 |
+
input wire [ADDR_WIDTH-1:0] waddr,
|
| 213 |
+
input wire [DATA_WIDTH-1:0] din,
|
| 214 |
+
input wire [ADDR_WIDTH-1:0] raddr,
|
| 215 |
+
input wire rden,
|
| 216 |
+
output wire [DATA_WIDTH-1:0] dout
|
| 217 |
+
);
|
| 218 |
+
|
| 219 |
+
(* ram_style = MEM_STYLE *)
|
| 220 |
+
reg [DATA_WIDTH-1:0] mem[0:DEPTH-1];
|
| 221 |
+
reg [DATA_WIDTH-1:0] mem_reg;
|
| 222 |
+
|
| 223 |
+
always @(posedge clk) begin
|
| 224 |
+
if (we)
|
| 225 |
+
mem[waddr] <= din;
|
| 226 |
+
end
|
| 227 |
+
|
| 228 |
+
always @(posedge clk) begin
|
| 229 |
+
if (reset)
|
| 230 |
+
mem_reg <= 0;
|
| 231 |
+
else if (rden)
|
| 232 |
+
mem_reg <= mem[raddr];
|
| 233 |
+
end
|
| 234 |
+
|
| 235 |
+
assign dout = mem_reg;
|
| 236 |
+
|
| 237 |
+
endmodule
|
myproject_prj/solution1/syn/verilog/myproject_fifo_w16_d4096_A.v
ADDED
|
@@ -0,0 +1,237 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// ==============================================================
|
| 2 |
+
// Generated by Vitis HLS v2024.1
|
| 3 |
+
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
| 4 |
+
// Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.
|
| 5 |
+
// ==============================================================
|
| 6 |
+
// 67d7842dbbe25473c3c32b93c0da8047785f30d78e8a024de1b57352245f9689
|
| 7 |
+
|
| 8 |
+
`timescale 1ns/1ps
|
| 9 |
+
//RAW latency 2
|
| 10 |
+
|
| 11 |
+
module myproject_fifo_w16_d4096_A
|
| 12 |
+
#(parameter
|
| 13 |
+
MEM_STYLE = "auto",
|
| 14 |
+
DATA_WIDTH = 16,
|
| 15 |
+
ADDR_WIDTH = 12,
|
| 16 |
+
DEPTH = 4096)
|
| 17 |
+
(
|
| 18 |
+
// system signal
|
| 19 |
+
input wire clk,
|
| 20 |
+
input wire reset,
|
| 21 |
+
|
| 22 |
+
// write
|
| 23 |
+
output wire if_full_n,
|
| 24 |
+
input wire if_write_ce,
|
| 25 |
+
input wire if_write,
|
| 26 |
+
input wire [DATA_WIDTH-1:0] if_din,
|
| 27 |
+
|
| 28 |
+
// read
|
| 29 |
+
output wire [ADDR_WIDTH:0] if_num_data_valid, // for FRP
|
| 30 |
+
output wire [ADDR_WIDTH:0] if_fifo_cap, // for FRP
|
| 31 |
+
|
| 32 |
+
output wire if_empty_n,
|
| 33 |
+
input wire if_read_ce,
|
| 34 |
+
input wire if_read,
|
| 35 |
+
output wire [DATA_WIDTH-1:0] if_dout
|
| 36 |
+
);
|
| 37 |
+
//------------------------Parameter----------------------
|
| 38 |
+
localparam
|
| 39 |
+
MEM_DEPTH = DEPTH - 1,
|
| 40 |
+
MEM_AWIDTH = clog2(MEM_DEPTH);
|
| 41 |
+
//------------------------Local signal-------------------
|
| 42 |
+
reg [MEM_AWIDTH-1:0] waddr;
|
| 43 |
+
reg [MEM_AWIDTH-1:0] raddr;
|
| 44 |
+
wire [MEM_AWIDTH-1:0] wnext;
|
| 45 |
+
wire [MEM_AWIDTH-1:0] rnext;
|
| 46 |
+
wire push;
|
| 47 |
+
wire pop;
|
| 48 |
+
reg [MEM_AWIDTH:0] mOutPtr;
|
| 49 |
+
reg empty_n = 1'b0;
|
| 50 |
+
reg full_n = 1'b1;
|
| 51 |
+
// has num_data_valid?
|
| 52 |
+
wire num_extra_words;//yes
|
| 53 |
+
reg [ADDR_WIDTH:0] num_data_valid; //yes
|
| 54 |
+
|
| 55 |
+
wire pop_dout;
|
| 56 |
+
reg [ADDR_WIDTH:0] num_data_cnt;
|
| 57 |
+
reg dout_vld = 1'b0;
|
| 58 |
+
|
| 59 |
+
//------------------------Instantiation------------------
|
| 60 |
+
myproject_fifo_w16_d4096_A_ram
|
| 61 |
+
#( .MEM_STYLE (MEM_STYLE),
|
| 62 |
+
.DATA_WIDTH (DATA_WIDTH),
|
| 63 |
+
.ADDR_WIDTH (MEM_AWIDTH),
|
| 64 |
+
.DEPTH (MEM_DEPTH)
|
| 65 |
+
) U_myproject_fifo_w16_d4096_A_ram (
|
| 66 |
+
.clk (clk),
|
| 67 |
+
.reset (reset),
|
| 68 |
+
.we (push),
|
| 69 |
+
.waddr (waddr),
|
| 70 |
+
.din (if_din),
|
| 71 |
+
.raddr (raddr),
|
| 72 |
+
.rden (pop),
|
| 73 |
+
.dout (if_dout)
|
| 74 |
+
);
|
| 75 |
+
|
| 76 |
+
//------------------------Task and function--------------
|
| 77 |
+
function integer clog2;
|
| 78 |
+
input integer x;
|
| 79 |
+
integer n, m;
|
| 80 |
+
begin
|
| 81 |
+
n = 1;
|
| 82 |
+
m = 2;
|
| 83 |
+
while (m < x) begin
|
| 84 |
+
n = n + 1;
|
| 85 |
+
m = m * 2;
|
| 86 |
+
end
|
| 87 |
+
clog2 = n;
|
| 88 |
+
end
|
| 89 |
+
endfunction
|
| 90 |
+
//------------------------Body---------------------------
|
| 91 |
+
// num_data_valid
|
| 92 |
+
assign if_num_data_valid = num_data_valid;
|
| 93 |
+
assign if_fifo_cap = DEPTH;
|
| 94 |
+
|
| 95 |
+
// almost full/empty
|
| 96 |
+
|
| 97 |
+
// program full/empty
|
| 98 |
+
|
| 99 |
+
assign if_full_n = full_n;
|
| 100 |
+
assign if_empty_n = dout_vld;
|
| 101 |
+
|
| 102 |
+
assign push = full_n & if_write_ce & if_write;
|
| 103 |
+
assign pop = empty_n & (pop_dout | ~dout_vld);
|
| 104 |
+
assign pop_dout = dout_vld & if_read_ce & if_read;
|
| 105 |
+
|
| 106 |
+
assign wnext = !push ? waddr :
|
| 107 |
+
(waddr == MEM_DEPTH - 1) ? 1'b0 :
|
| 108 |
+
waddr + 1'b1;
|
| 109 |
+
assign rnext = !pop ? raddr :
|
| 110 |
+
(raddr == MEM_DEPTH - 1) ? 1'b0 :
|
| 111 |
+
raddr + 1'b1;
|
| 112 |
+
|
| 113 |
+
// waddr
|
| 114 |
+
always @(posedge clk) begin
|
| 115 |
+
if (reset)
|
| 116 |
+
waddr <= {MEM_AWIDTH{1'b0}};
|
| 117 |
+
else
|
| 118 |
+
waddr <= wnext;
|
| 119 |
+
end
|
| 120 |
+
|
| 121 |
+
// raddr
|
| 122 |
+
always @(posedge clk) begin
|
| 123 |
+
if (reset)
|
| 124 |
+
raddr <= {MEM_AWIDTH{1'b0}};
|
| 125 |
+
else
|
| 126 |
+
raddr <= rnext;
|
| 127 |
+
end
|
| 128 |
+
|
| 129 |
+
// mOutPtr
|
| 130 |
+
always @(posedge clk) begin
|
| 131 |
+
if (reset)
|
| 132 |
+
mOutPtr <= {MEM_AWIDTH+1{1'b0}};
|
| 133 |
+
else if (push & ~pop)
|
| 134 |
+
mOutPtr <= mOutPtr + 1'b1;
|
| 135 |
+
else if (~push & pop)
|
| 136 |
+
mOutPtr <= mOutPtr - 1'b1;
|
| 137 |
+
end
|
| 138 |
+
|
| 139 |
+
// full_n
|
| 140 |
+
always @(posedge clk) begin
|
| 141 |
+
if (reset)
|
| 142 |
+
full_n <= 1'b1;
|
| 143 |
+
else if ((push & ~pop_dout) && (num_data_cnt == DEPTH - 1))
|
| 144 |
+
full_n <= 1'b0;
|
| 145 |
+
else if (~push & pop_dout)
|
| 146 |
+
full_n <= 1'b1;
|
| 147 |
+
end
|
| 148 |
+
|
| 149 |
+
// empty_n
|
| 150 |
+
always @(posedge clk) begin
|
| 151 |
+
if (reset)
|
| 152 |
+
empty_n <= 1'b0;
|
| 153 |
+
else if (push & ~pop)
|
| 154 |
+
empty_n <= 1'b1;
|
| 155 |
+
else if ((~push & pop) && (mOutPtr == 1))
|
| 156 |
+
empty_n <= 1'b0;
|
| 157 |
+
end
|
| 158 |
+
|
| 159 |
+
// almost_full_n
|
| 160 |
+
|
| 161 |
+
// almost_empty_n
|
| 162 |
+
|
| 163 |
+
// prog_full_n
|
| 164 |
+
|
| 165 |
+
// prog_empty_n
|
| 166 |
+
|
| 167 |
+
// num_data_cnt
|
| 168 |
+
always @(posedge clk) begin
|
| 169 |
+
if (reset)
|
| 170 |
+
num_data_cnt <= {ADDR_WIDTH+1{1'b0}};
|
| 171 |
+
else if ( push & ~pop_dout)
|
| 172 |
+
num_data_cnt <= num_data_cnt + 1'b1;
|
| 173 |
+
else if (~push & pop_dout)
|
| 174 |
+
num_data_cnt <= num_data_cnt - 1'b1;
|
| 175 |
+
end
|
| 176 |
+
|
| 177 |
+
// num_data_valid
|
| 178 |
+
assign num_extra_words = (dout_vld & ~pop_dout) ? 1 : 0;
|
| 179 |
+
|
| 180 |
+
always @(posedge clk) begin
|
| 181 |
+
if (reset)
|
| 182 |
+
num_data_valid <= {ADDR_WIDTH+1{1'b0}};
|
| 183 |
+
else if (empty_n | (dout_vld & ~pop_dout))
|
| 184 |
+
num_data_valid <= push + mOutPtr + num_extra_words;
|
| 185 |
+
else
|
| 186 |
+
num_data_valid <= num_extra_words;
|
| 187 |
+
end //
|
| 188 |
+
|
| 189 |
+
// dout_vld
|
| 190 |
+
always @(posedge clk) begin
|
| 191 |
+
if (reset)
|
| 192 |
+
dout_vld <= 1'b0;
|
| 193 |
+
else if (pop)
|
| 194 |
+
dout_vld <= 1'b1;
|
| 195 |
+
else if (pop_dout)
|
| 196 |
+
dout_vld <= 1'b0;
|
| 197 |
+
end
|
| 198 |
+
|
| 199 |
+
endmodule
|
| 200 |
+
|
| 201 |
+
|
| 202 |
+
module myproject_fifo_w16_d4096_A_ram
|
| 203 |
+
#(parameter
|
| 204 |
+
MEM_STYLE = "auto",
|
| 205 |
+
DATA_WIDTH = 16,
|
| 206 |
+
ADDR_WIDTH = 12,
|
| 207 |
+
DEPTH = 4096)
|
| 208 |
+
(
|
| 209 |
+
input wire clk,
|
| 210 |
+
input wire reset,
|
| 211 |
+
input wire we,
|
| 212 |
+
input wire [ADDR_WIDTH-1:0] waddr,
|
| 213 |
+
input wire [DATA_WIDTH-1:0] din,
|
| 214 |
+
input wire [ADDR_WIDTH-1:0] raddr,
|
| 215 |
+
input wire rden,
|
| 216 |
+
output wire [DATA_WIDTH-1:0] dout
|
| 217 |
+
);
|
| 218 |
+
|
| 219 |
+
(* ram_style = MEM_STYLE *)
|
| 220 |
+
reg [DATA_WIDTH-1:0] mem[0:DEPTH-1];
|
| 221 |
+
reg [DATA_WIDTH-1:0] mem_reg;
|
| 222 |
+
|
| 223 |
+
always @(posedge clk) begin
|
| 224 |
+
if (we)
|
| 225 |
+
mem[waddr] <= din;
|
| 226 |
+
end
|
| 227 |
+
|
| 228 |
+
always @(posedge clk) begin
|
| 229 |
+
if (reset)
|
| 230 |
+
mem_reg <= 0;
|
| 231 |
+
else if (rden)
|
| 232 |
+
mem_reg <= mem[raddr];
|
| 233 |
+
end
|
| 234 |
+
|
| 235 |
+
assign dout = mem_reg;
|
| 236 |
+
|
| 237 |
+
endmodule
|
myproject_prj/solution1/syn/verilog/myproject_fifo_w16_d64_S.v
ADDED
|
@@ -0,0 +1,155 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// ==============================================================
|
| 2 |
+
// Generated by Vitis HLS v2024.1
|
| 3 |
+
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
| 4 |
+
// Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.
|
| 5 |
+
// ==============================================================
|
| 6 |
+
// 67d7842dbbe25473c3c32b93c0da8047785f30d78e8a024de1b57352245f9689
|
| 7 |
+
|
| 8 |
+
`timescale 1ns/1ps
|
| 9 |
+
//RAW latency 1
|
| 10 |
+
|
| 11 |
+
module myproject_fifo_w16_d64_S
|
| 12 |
+
#(parameter
|
| 13 |
+
MEM_STYLE = "shiftReg",
|
| 14 |
+
DATA_WIDTH = 16,
|
| 15 |
+
ADDR_WIDTH = 6,
|
| 16 |
+
DEPTH = 64)
|
| 17 |
+
(
|
| 18 |
+
// system signal
|
| 19 |
+
input wire clk,
|
| 20 |
+
input wire reset,
|
| 21 |
+
|
| 22 |
+
// write
|
| 23 |
+
output wire if_full_n,
|
| 24 |
+
input wire if_write_ce,
|
| 25 |
+
input wire if_write,
|
| 26 |
+
input wire [DATA_WIDTH-1:0] if_din,
|
| 27 |
+
|
| 28 |
+
// read
|
| 29 |
+
output wire [ADDR_WIDTH:0] if_num_data_valid, // for FRP
|
| 30 |
+
output wire [ADDR_WIDTH:0] if_fifo_cap, // for FRP
|
| 31 |
+
|
| 32 |
+
output wire if_empty_n,
|
| 33 |
+
input wire if_read_ce,
|
| 34 |
+
input wire if_read,
|
| 35 |
+
output wire [DATA_WIDTH-1:0] if_dout
|
| 36 |
+
);
|
| 37 |
+
//------------------------Parameter----------------------
|
| 38 |
+
localparam
|
| 39 |
+
SRL_DEPTH = DEPTH,
|
| 40 |
+
SRL_AWIDTH = ADDR_WIDTH;
|
| 41 |
+
//------------------------Local signal-------------------
|
| 42 |
+
reg [SRL_AWIDTH-1:0] addr;
|
| 43 |
+
wire push;
|
| 44 |
+
wire pop;
|
| 45 |
+
reg [SRL_AWIDTH:0] mOutPtr;
|
| 46 |
+
reg empty_n = 1'b0;
|
| 47 |
+
reg full_n = 1'b1;
|
| 48 |
+
|
| 49 |
+
//------------------------Instantiation------------------
|
| 50 |
+
myproject_fifo_w16_d64_S_ShiftReg
|
| 51 |
+
#( .DATA_WIDTH (DATA_WIDTH),
|
| 52 |
+
.ADDR_WIDTH (SRL_AWIDTH),
|
| 53 |
+
.DEPTH (SRL_DEPTH))
|
| 54 |
+
U_myproject_fifo_w16_d64_S_ShiftReg (
|
| 55 |
+
.clk (clk),
|
| 56 |
+
.we (push),
|
| 57 |
+
.addr (addr),
|
| 58 |
+
.din (if_din),
|
| 59 |
+
.dout (if_dout)
|
| 60 |
+
);
|
| 61 |
+
//------------------------Task and function--------------
|
| 62 |
+
|
| 63 |
+
//------------------------Body---------------------------
|
| 64 |
+
// num_data_valid
|
| 65 |
+
assign if_num_data_valid = mOutPtr;
|
| 66 |
+
assign if_fifo_cap = DEPTH;
|
| 67 |
+
|
| 68 |
+
// almost full/empty
|
| 69 |
+
|
| 70 |
+
// program full/empty
|
| 71 |
+
|
| 72 |
+
assign if_full_n = full_n;
|
| 73 |
+
assign if_empty_n = empty_n;
|
| 74 |
+
|
| 75 |
+
assign push = full_n & if_write_ce & if_write;
|
| 76 |
+
assign pop = empty_n & if_read_ce & if_read;
|
| 77 |
+
|
| 78 |
+
// addr
|
| 79 |
+
always @(posedge clk) begin
|
| 80 |
+
if (reset)
|
| 81 |
+
addr <= {SRL_AWIDTH{1'b0}};
|
| 82 |
+
else if (push & ~pop && empty_n)
|
| 83 |
+
addr <= addr + 1'b1;
|
| 84 |
+
else if (~push & pop && (mOutPtr != 1))
|
| 85 |
+
addr <= addr - 1'b1;
|
| 86 |
+
end
|
| 87 |
+
|
| 88 |
+
// mOutPtr
|
| 89 |
+
always @(posedge clk) begin
|
| 90 |
+
if (reset)
|
| 91 |
+
mOutPtr <= {SRL_AWIDTH+1{1'b0}};
|
| 92 |
+
else if (push & ~pop)
|
| 93 |
+
mOutPtr <= mOutPtr + 1'b1;
|
| 94 |
+
else if (~push & pop)
|
| 95 |
+
mOutPtr <= mOutPtr - 1'b1;
|
| 96 |
+
end
|
| 97 |
+
|
| 98 |
+
// full_n
|
| 99 |
+
always @(posedge clk) begin
|
| 100 |
+
if (reset)
|
| 101 |
+
full_n <= 1'b1;
|
| 102 |
+
else if ((push & ~pop) && (mOutPtr == DEPTH - 1))
|
| 103 |
+
full_n <= 1'b0;
|
| 104 |
+
else if (~push & pop)
|
| 105 |
+
full_n <= 1'b1;
|
| 106 |
+
end
|
| 107 |
+
|
| 108 |
+
// empty_n
|
| 109 |
+
always @(posedge clk) begin
|
| 110 |
+
if (reset)
|
| 111 |
+
empty_n <= 1'b0;
|
| 112 |
+
else if (push & ~pop)
|
| 113 |
+
empty_n <= 1'b1;
|
| 114 |
+
else if ((~push & pop) && (mOutPtr == 1))
|
| 115 |
+
empty_n <= 1'b0;
|
| 116 |
+
end
|
| 117 |
+
|
| 118 |
+
// almost_full_n
|
| 119 |
+
|
| 120 |
+
// almost_empty_n
|
| 121 |
+
|
| 122 |
+
// prog_full_n
|
| 123 |
+
|
| 124 |
+
// prog_empty_n
|
| 125 |
+
|
| 126 |
+
endmodule
|
| 127 |
+
|
| 128 |
+
|
| 129 |
+
module myproject_fifo_w16_d64_S_ShiftReg
|
| 130 |
+
#(parameter
|
| 131 |
+
DATA_WIDTH = 16,
|
| 132 |
+
ADDR_WIDTH = 6,
|
| 133 |
+
DEPTH = 64)
|
| 134 |
+
(
|
| 135 |
+
input wire clk,
|
| 136 |
+
input wire we,
|
| 137 |
+
input wire [ADDR_WIDTH-1:0] addr,
|
| 138 |
+
input wire [DATA_WIDTH-1:0] din,
|
| 139 |
+
output wire [DATA_WIDTH-1:0] dout
|
| 140 |
+
);
|
| 141 |
+
|
| 142 |
+
reg [DATA_WIDTH-1:0] SRL_SIG [0:DEPTH-1];
|
| 143 |
+
integer i;
|
| 144 |
+
|
| 145 |
+
always @(posedge clk) begin
|
| 146 |
+
if (we) begin
|
| 147 |
+
for (i=0; i<DEPTH-1; i=i+1)
|
| 148 |
+
SRL_SIG[i+1] <= SRL_SIG[i];
|
| 149 |
+
SRL_SIG[0] <= din;
|
| 150 |
+
end
|
| 151 |
+
end
|
| 152 |
+
|
| 153 |
+
assign dout = SRL_SIG[addr];
|
| 154 |
+
|
| 155 |
+
endmodule
|
myproject_prj/solution1/syn/verilog/myproject_fifo_w256_d1156_A.v
ADDED
|
@@ -0,0 +1,237 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// ==============================================================
|
| 2 |
+
// Generated by Vitis HLS v2024.1
|
| 3 |
+
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
| 4 |
+
// Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.
|
| 5 |
+
// ==============================================================
|
| 6 |
+
// 67d7842dbbe25473c3c32b93c0da8047785f30d78e8a024de1b57352245f9689
|
| 7 |
+
|
| 8 |
+
`timescale 1ns/1ps
|
| 9 |
+
//RAW latency 2
|
| 10 |
+
|
| 11 |
+
module myproject_fifo_w256_d1156_A
|
| 12 |
+
#(parameter
|
| 13 |
+
MEM_STYLE = "auto",
|
| 14 |
+
DATA_WIDTH = 256,
|
| 15 |
+
ADDR_WIDTH = 11,
|
| 16 |
+
DEPTH = 1156)
|
| 17 |
+
(
|
| 18 |
+
// system signal
|
| 19 |
+
input wire clk,
|
| 20 |
+
input wire reset,
|
| 21 |
+
|
| 22 |
+
// write
|
| 23 |
+
output wire if_full_n,
|
| 24 |
+
input wire if_write_ce,
|
| 25 |
+
input wire if_write,
|
| 26 |
+
input wire [DATA_WIDTH-1:0] if_din,
|
| 27 |
+
|
| 28 |
+
// read
|
| 29 |
+
output wire [ADDR_WIDTH:0] if_num_data_valid, // for FRP
|
| 30 |
+
output wire [ADDR_WIDTH:0] if_fifo_cap, // for FRP
|
| 31 |
+
|
| 32 |
+
output wire if_empty_n,
|
| 33 |
+
input wire if_read_ce,
|
| 34 |
+
input wire if_read,
|
| 35 |
+
output wire [DATA_WIDTH-1:0] if_dout
|
| 36 |
+
);
|
| 37 |
+
//------------------------Parameter----------------------
|
| 38 |
+
localparam
|
| 39 |
+
MEM_DEPTH = DEPTH - 1,
|
| 40 |
+
MEM_AWIDTH = clog2(MEM_DEPTH);
|
| 41 |
+
//------------------------Local signal-------------------
|
| 42 |
+
reg [MEM_AWIDTH-1:0] waddr;
|
| 43 |
+
reg [MEM_AWIDTH-1:0] raddr;
|
| 44 |
+
wire [MEM_AWIDTH-1:0] wnext;
|
| 45 |
+
wire [MEM_AWIDTH-1:0] rnext;
|
| 46 |
+
wire push;
|
| 47 |
+
wire pop;
|
| 48 |
+
reg [MEM_AWIDTH:0] mOutPtr;
|
| 49 |
+
reg empty_n = 1'b0;
|
| 50 |
+
reg full_n = 1'b1;
|
| 51 |
+
// has num_data_valid?
|
| 52 |
+
wire num_extra_words;//yes
|
| 53 |
+
reg [ADDR_WIDTH:0] num_data_valid; //yes
|
| 54 |
+
|
| 55 |
+
wire pop_dout;
|
| 56 |
+
reg [ADDR_WIDTH:0] num_data_cnt;
|
| 57 |
+
reg dout_vld = 1'b0;
|
| 58 |
+
|
| 59 |
+
//------------------------Instantiation------------------
|
| 60 |
+
myproject_fifo_w256_d1156_A_ram
|
| 61 |
+
#( .MEM_STYLE (MEM_STYLE),
|
| 62 |
+
.DATA_WIDTH (DATA_WIDTH),
|
| 63 |
+
.ADDR_WIDTH (MEM_AWIDTH),
|
| 64 |
+
.DEPTH (MEM_DEPTH)
|
| 65 |
+
) U_myproject_fifo_w256_d1156_A_ram (
|
| 66 |
+
.clk (clk),
|
| 67 |
+
.reset (reset),
|
| 68 |
+
.we (push),
|
| 69 |
+
.waddr (waddr),
|
| 70 |
+
.din (if_din),
|
| 71 |
+
.raddr (raddr),
|
| 72 |
+
.rden (pop),
|
| 73 |
+
.dout (if_dout)
|
| 74 |
+
);
|
| 75 |
+
|
| 76 |
+
//------------------------Task and function--------------
|
| 77 |
+
function integer clog2;
|
| 78 |
+
input integer x;
|
| 79 |
+
integer n, m;
|
| 80 |
+
begin
|
| 81 |
+
n = 1;
|
| 82 |
+
m = 2;
|
| 83 |
+
while (m < x) begin
|
| 84 |
+
n = n + 1;
|
| 85 |
+
m = m * 2;
|
| 86 |
+
end
|
| 87 |
+
clog2 = n;
|
| 88 |
+
end
|
| 89 |
+
endfunction
|
| 90 |
+
//------------------------Body---------------------------
|
| 91 |
+
// num_data_valid
|
| 92 |
+
assign if_num_data_valid = num_data_valid;
|
| 93 |
+
assign if_fifo_cap = DEPTH;
|
| 94 |
+
|
| 95 |
+
// almost full/empty
|
| 96 |
+
|
| 97 |
+
// program full/empty
|
| 98 |
+
|
| 99 |
+
assign if_full_n = full_n;
|
| 100 |
+
assign if_empty_n = dout_vld;
|
| 101 |
+
|
| 102 |
+
assign push = full_n & if_write_ce & if_write;
|
| 103 |
+
assign pop = empty_n & (pop_dout | ~dout_vld);
|
| 104 |
+
assign pop_dout = dout_vld & if_read_ce & if_read;
|
| 105 |
+
|
| 106 |
+
assign wnext = !push ? waddr :
|
| 107 |
+
(waddr == MEM_DEPTH - 1) ? 1'b0 :
|
| 108 |
+
waddr + 1'b1;
|
| 109 |
+
assign rnext = !pop ? raddr :
|
| 110 |
+
(raddr == MEM_DEPTH - 1) ? 1'b0 :
|
| 111 |
+
raddr + 1'b1;
|
| 112 |
+
|
| 113 |
+
// waddr
|
| 114 |
+
always @(posedge clk) begin
|
| 115 |
+
if (reset)
|
| 116 |
+
waddr <= {MEM_AWIDTH{1'b0}};
|
| 117 |
+
else
|
| 118 |
+
waddr <= wnext;
|
| 119 |
+
end
|
| 120 |
+
|
| 121 |
+
// raddr
|
| 122 |
+
always @(posedge clk) begin
|
| 123 |
+
if (reset)
|
| 124 |
+
raddr <= {MEM_AWIDTH{1'b0}};
|
| 125 |
+
else
|
| 126 |
+
raddr <= rnext;
|
| 127 |
+
end
|
| 128 |
+
|
| 129 |
+
// mOutPtr
|
| 130 |
+
always @(posedge clk) begin
|
| 131 |
+
if (reset)
|
| 132 |
+
mOutPtr <= {MEM_AWIDTH+1{1'b0}};
|
| 133 |
+
else if (push & ~pop)
|
| 134 |
+
mOutPtr <= mOutPtr + 1'b1;
|
| 135 |
+
else if (~push & pop)
|
| 136 |
+
mOutPtr <= mOutPtr - 1'b1;
|
| 137 |
+
end
|
| 138 |
+
|
| 139 |
+
// full_n
|
| 140 |
+
always @(posedge clk) begin
|
| 141 |
+
if (reset)
|
| 142 |
+
full_n <= 1'b1;
|
| 143 |
+
else if ((push & ~pop_dout) && (num_data_cnt == DEPTH - 1))
|
| 144 |
+
full_n <= 1'b0;
|
| 145 |
+
else if (~push & pop_dout)
|
| 146 |
+
full_n <= 1'b1;
|
| 147 |
+
end
|
| 148 |
+
|
| 149 |
+
// empty_n
|
| 150 |
+
always @(posedge clk) begin
|
| 151 |
+
if (reset)
|
| 152 |
+
empty_n <= 1'b0;
|
| 153 |
+
else if (push & ~pop)
|
| 154 |
+
empty_n <= 1'b1;
|
| 155 |
+
else if ((~push & pop) && (mOutPtr == 1))
|
| 156 |
+
empty_n <= 1'b0;
|
| 157 |
+
end
|
| 158 |
+
|
| 159 |
+
// almost_full_n
|
| 160 |
+
|
| 161 |
+
// almost_empty_n
|
| 162 |
+
|
| 163 |
+
// prog_full_n
|
| 164 |
+
|
| 165 |
+
// prog_empty_n
|
| 166 |
+
|
| 167 |
+
// num_data_cnt
|
| 168 |
+
always @(posedge clk) begin
|
| 169 |
+
if (reset)
|
| 170 |
+
num_data_cnt <= {ADDR_WIDTH+1{1'b0}};
|
| 171 |
+
else if ( push & ~pop_dout)
|
| 172 |
+
num_data_cnt <= num_data_cnt + 1'b1;
|
| 173 |
+
else if (~push & pop_dout)
|
| 174 |
+
num_data_cnt <= num_data_cnt - 1'b1;
|
| 175 |
+
end
|
| 176 |
+
|
| 177 |
+
// num_data_valid
|
| 178 |
+
assign num_extra_words = (dout_vld & ~pop_dout) ? 1 : 0;
|
| 179 |
+
|
| 180 |
+
always @(posedge clk) begin
|
| 181 |
+
if (reset)
|
| 182 |
+
num_data_valid <= {ADDR_WIDTH+1{1'b0}};
|
| 183 |
+
else if (empty_n | (dout_vld & ~pop_dout))
|
| 184 |
+
num_data_valid <= push + mOutPtr + num_extra_words;
|
| 185 |
+
else
|
| 186 |
+
num_data_valid <= num_extra_words;
|
| 187 |
+
end //
|
| 188 |
+
|
| 189 |
+
// dout_vld
|
| 190 |
+
always @(posedge clk) begin
|
| 191 |
+
if (reset)
|
| 192 |
+
dout_vld <= 1'b0;
|
| 193 |
+
else if (pop)
|
| 194 |
+
dout_vld <= 1'b1;
|
| 195 |
+
else if (pop_dout)
|
| 196 |
+
dout_vld <= 1'b0;
|
| 197 |
+
end
|
| 198 |
+
|
| 199 |
+
endmodule
|
| 200 |
+
|
| 201 |
+
|
| 202 |
+
module myproject_fifo_w256_d1156_A_ram
|
| 203 |
+
#(parameter
|
| 204 |
+
MEM_STYLE = "auto",
|
| 205 |
+
DATA_WIDTH = 256,
|
| 206 |
+
ADDR_WIDTH = 11,
|
| 207 |
+
DEPTH = 1156)
|
| 208 |
+
(
|
| 209 |
+
input wire clk,
|
| 210 |
+
input wire reset,
|
| 211 |
+
input wire we,
|
| 212 |
+
input wire [ADDR_WIDTH-1:0] waddr,
|
| 213 |
+
input wire [DATA_WIDTH-1:0] din,
|
| 214 |
+
input wire [ADDR_WIDTH-1:0] raddr,
|
| 215 |
+
input wire rden,
|
| 216 |
+
output wire [DATA_WIDTH-1:0] dout
|
| 217 |
+
);
|
| 218 |
+
|
| 219 |
+
(* ram_style = MEM_STYLE *)
|
| 220 |
+
reg [DATA_WIDTH-1:0] mem[0:DEPTH-1];
|
| 221 |
+
reg [DATA_WIDTH-1:0] mem_reg;
|
| 222 |
+
|
| 223 |
+
always @(posedge clk) begin
|
| 224 |
+
if (we)
|
| 225 |
+
mem[waddr] <= din;
|
| 226 |
+
end
|
| 227 |
+
|
| 228 |
+
always @(posedge clk) begin
|
| 229 |
+
if (reset)
|
| 230 |
+
mem_reg <= 0;
|
| 231 |
+
else if (rden)
|
| 232 |
+
mem_reg <= mem[raddr];
|
| 233 |
+
end
|
| 234 |
+
|
| 235 |
+
assign dout = mem_reg;
|
| 236 |
+
|
| 237 |
+
endmodule
|
myproject_prj/solution1/syn/verilog/myproject_fifo_w320_d4096_A.v
ADDED
|
@@ -0,0 +1,237 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// ==============================================================
|
| 2 |
+
// Generated by Vitis HLS v2024.1
|
| 3 |
+
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
| 4 |
+
// Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.
|
| 5 |
+
// ==============================================================
|
| 6 |
+
// 67d7842dbbe25473c3c32b93c0da8047785f30d78e8a024de1b57352245f9689
|
| 7 |
+
|
| 8 |
+
`timescale 1ns/1ps
|
| 9 |
+
//RAW latency 2
|
| 10 |
+
|
| 11 |
+
module myproject_fifo_w320_d4096_A
|
| 12 |
+
#(parameter
|
| 13 |
+
MEM_STYLE = "auto",
|
| 14 |
+
DATA_WIDTH = 320,
|
| 15 |
+
ADDR_WIDTH = 12,
|
| 16 |
+
DEPTH = 4096)
|
| 17 |
+
(
|
| 18 |
+
// system signal
|
| 19 |
+
input wire clk,
|
| 20 |
+
input wire reset,
|
| 21 |
+
|
| 22 |
+
// write
|
| 23 |
+
output wire if_full_n,
|
| 24 |
+
input wire if_write_ce,
|
| 25 |
+
input wire if_write,
|
| 26 |
+
input wire [DATA_WIDTH-1:0] if_din,
|
| 27 |
+
|
| 28 |
+
// read
|
| 29 |
+
output wire [ADDR_WIDTH:0] if_num_data_valid, // for FRP
|
| 30 |
+
output wire [ADDR_WIDTH:0] if_fifo_cap, // for FRP
|
| 31 |
+
|
| 32 |
+
output wire if_empty_n,
|
| 33 |
+
input wire if_read_ce,
|
| 34 |
+
input wire if_read,
|
| 35 |
+
output wire [DATA_WIDTH-1:0] if_dout
|
| 36 |
+
);
|
| 37 |
+
//------------------------Parameter----------------------
|
| 38 |
+
localparam
|
| 39 |
+
MEM_DEPTH = DEPTH - 1,
|
| 40 |
+
MEM_AWIDTH = clog2(MEM_DEPTH);
|
| 41 |
+
//------------------------Local signal-------------------
|
| 42 |
+
reg [MEM_AWIDTH-1:0] waddr;
|
| 43 |
+
reg [MEM_AWIDTH-1:0] raddr;
|
| 44 |
+
wire [MEM_AWIDTH-1:0] wnext;
|
| 45 |
+
wire [MEM_AWIDTH-1:0] rnext;
|
| 46 |
+
wire push;
|
| 47 |
+
wire pop;
|
| 48 |
+
reg [MEM_AWIDTH:0] mOutPtr;
|
| 49 |
+
reg empty_n = 1'b0;
|
| 50 |
+
reg full_n = 1'b1;
|
| 51 |
+
// has num_data_valid?
|
| 52 |
+
wire num_extra_words;//yes
|
| 53 |
+
reg [ADDR_WIDTH:0] num_data_valid; //yes
|
| 54 |
+
|
| 55 |
+
wire pop_dout;
|
| 56 |
+
reg [ADDR_WIDTH:0] num_data_cnt;
|
| 57 |
+
reg dout_vld = 1'b0;
|
| 58 |
+
|
| 59 |
+
//------------------------Instantiation------------------
|
| 60 |
+
myproject_fifo_w320_d4096_A_ram
|
| 61 |
+
#( .MEM_STYLE (MEM_STYLE),
|
| 62 |
+
.DATA_WIDTH (DATA_WIDTH),
|
| 63 |
+
.ADDR_WIDTH (MEM_AWIDTH),
|
| 64 |
+
.DEPTH (MEM_DEPTH)
|
| 65 |
+
) U_myproject_fifo_w320_d4096_A_ram (
|
| 66 |
+
.clk (clk),
|
| 67 |
+
.reset (reset),
|
| 68 |
+
.we (push),
|
| 69 |
+
.waddr (waddr),
|
| 70 |
+
.din (if_din),
|
| 71 |
+
.raddr (raddr),
|
| 72 |
+
.rden (pop),
|
| 73 |
+
.dout (if_dout)
|
| 74 |
+
);
|
| 75 |
+
|
| 76 |
+
//------------------------Task and function--------------
|
| 77 |
+
function integer clog2;
|
| 78 |
+
input integer x;
|
| 79 |
+
integer n, m;
|
| 80 |
+
begin
|
| 81 |
+
n = 1;
|
| 82 |
+
m = 2;
|
| 83 |
+
while (m < x) begin
|
| 84 |
+
n = n + 1;
|
| 85 |
+
m = m * 2;
|
| 86 |
+
end
|
| 87 |
+
clog2 = n;
|
| 88 |
+
end
|
| 89 |
+
endfunction
|
| 90 |
+
//------------------------Body---------------------------
|
| 91 |
+
// num_data_valid
|
| 92 |
+
assign if_num_data_valid = num_data_valid;
|
| 93 |
+
assign if_fifo_cap = DEPTH;
|
| 94 |
+
|
| 95 |
+
// almost full/empty
|
| 96 |
+
|
| 97 |
+
// program full/empty
|
| 98 |
+
|
| 99 |
+
assign if_full_n = full_n;
|
| 100 |
+
assign if_empty_n = dout_vld;
|
| 101 |
+
|
| 102 |
+
assign push = full_n & if_write_ce & if_write;
|
| 103 |
+
assign pop = empty_n & (pop_dout | ~dout_vld);
|
| 104 |
+
assign pop_dout = dout_vld & if_read_ce & if_read;
|
| 105 |
+
|
| 106 |
+
assign wnext = !push ? waddr :
|
| 107 |
+
(waddr == MEM_DEPTH - 1) ? 1'b0 :
|
| 108 |
+
waddr + 1'b1;
|
| 109 |
+
assign rnext = !pop ? raddr :
|
| 110 |
+
(raddr == MEM_DEPTH - 1) ? 1'b0 :
|
| 111 |
+
raddr + 1'b1;
|
| 112 |
+
|
| 113 |
+
// waddr
|
| 114 |
+
always @(posedge clk) begin
|
| 115 |
+
if (reset)
|
| 116 |
+
waddr <= {MEM_AWIDTH{1'b0}};
|
| 117 |
+
else
|
| 118 |
+
waddr <= wnext;
|
| 119 |
+
end
|
| 120 |
+
|
| 121 |
+
// raddr
|
| 122 |
+
always @(posedge clk) begin
|
| 123 |
+
if (reset)
|
| 124 |
+
raddr <= {MEM_AWIDTH{1'b0}};
|
| 125 |
+
else
|
| 126 |
+
raddr <= rnext;
|
| 127 |
+
end
|
| 128 |
+
|
| 129 |
+
// mOutPtr
|
| 130 |
+
always @(posedge clk) begin
|
| 131 |
+
if (reset)
|
| 132 |
+
mOutPtr <= {MEM_AWIDTH+1{1'b0}};
|
| 133 |
+
else if (push & ~pop)
|
| 134 |
+
mOutPtr <= mOutPtr + 1'b1;
|
| 135 |
+
else if (~push & pop)
|
| 136 |
+
mOutPtr <= mOutPtr - 1'b1;
|
| 137 |
+
end
|
| 138 |
+
|
| 139 |
+
// full_n
|
| 140 |
+
always @(posedge clk) begin
|
| 141 |
+
if (reset)
|
| 142 |
+
full_n <= 1'b1;
|
| 143 |
+
else if ((push & ~pop_dout) && (num_data_cnt == DEPTH - 1))
|
| 144 |
+
full_n <= 1'b0;
|
| 145 |
+
else if (~push & pop_dout)
|
| 146 |
+
full_n <= 1'b1;
|
| 147 |
+
end
|
| 148 |
+
|
| 149 |
+
// empty_n
|
| 150 |
+
always @(posedge clk) begin
|
| 151 |
+
if (reset)
|
| 152 |
+
empty_n <= 1'b0;
|
| 153 |
+
else if (push & ~pop)
|
| 154 |
+
empty_n <= 1'b1;
|
| 155 |
+
else if ((~push & pop) && (mOutPtr == 1))
|
| 156 |
+
empty_n <= 1'b0;
|
| 157 |
+
end
|
| 158 |
+
|
| 159 |
+
// almost_full_n
|
| 160 |
+
|
| 161 |
+
// almost_empty_n
|
| 162 |
+
|
| 163 |
+
// prog_full_n
|
| 164 |
+
|
| 165 |
+
// prog_empty_n
|
| 166 |
+
|
| 167 |
+
// num_data_cnt
|
| 168 |
+
always @(posedge clk) begin
|
| 169 |
+
if (reset)
|
| 170 |
+
num_data_cnt <= {ADDR_WIDTH+1{1'b0}};
|
| 171 |
+
else if ( push & ~pop_dout)
|
| 172 |
+
num_data_cnt <= num_data_cnt + 1'b1;
|
| 173 |
+
else if (~push & pop_dout)
|
| 174 |
+
num_data_cnt <= num_data_cnt - 1'b1;
|
| 175 |
+
end
|
| 176 |
+
|
| 177 |
+
// num_data_valid
|
| 178 |
+
assign num_extra_words = (dout_vld & ~pop_dout) ? 1 : 0;
|
| 179 |
+
|
| 180 |
+
always @(posedge clk) begin
|
| 181 |
+
if (reset)
|
| 182 |
+
num_data_valid <= {ADDR_WIDTH+1{1'b0}};
|
| 183 |
+
else if (empty_n | (dout_vld & ~pop_dout))
|
| 184 |
+
num_data_valid <= push + mOutPtr + num_extra_words;
|
| 185 |
+
else
|
| 186 |
+
num_data_valid <= num_extra_words;
|
| 187 |
+
end //
|
| 188 |
+
|
| 189 |
+
// dout_vld
|
| 190 |
+
always @(posedge clk) begin
|
| 191 |
+
if (reset)
|
| 192 |
+
dout_vld <= 1'b0;
|
| 193 |
+
else if (pop)
|
| 194 |
+
dout_vld <= 1'b1;
|
| 195 |
+
else if (pop_dout)
|
| 196 |
+
dout_vld <= 1'b0;
|
| 197 |
+
end
|
| 198 |
+
|
| 199 |
+
endmodule
|
| 200 |
+
|
| 201 |
+
|
| 202 |
+
module myproject_fifo_w320_d4096_A_ram
|
| 203 |
+
#(parameter
|
| 204 |
+
MEM_STYLE = "auto",
|
| 205 |
+
DATA_WIDTH = 320,
|
| 206 |
+
ADDR_WIDTH = 12,
|
| 207 |
+
DEPTH = 4096)
|
| 208 |
+
(
|
| 209 |
+
input wire clk,
|
| 210 |
+
input wire reset,
|
| 211 |
+
input wire we,
|
| 212 |
+
input wire [ADDR_WIDTH-1:0] waddr,
|
| 213 |
+
input wire [DATA_WIDTH-1:0] din,
|
| 214 |
+
input wire [ADDR_WIDTH-1:0] raddr,
|
| 215 |
+
input wire rden,
|
| 216 |
+
output wire [DATA_WIDTH-1:0] dout
|
| 217 |
+
);
|
| 218 |
+
|
| 219 |
+
(* ram_style = MEM_STYLE *)
|
| 220 |
+
reg [DATA_WIDTH-1:0] mem[0:DEPTH-1];
|
| 221 |
+
reg [DATA_WIDTH-1:0] mem_reg;
|
| 222 |
+
|
| 223 |
+
always @(posedge clk) begin
|
| 224 |
+
if (we)
|
| 225 |
+
mem[waddr] <= din;
|
| 226 |
+
end
|
| 227 |
+
|
| 228 |
+
always @(posedge clk) begin
|
| 229 |
+
if (reset)
|
| 230 |
+
mem_reg <= 0;
|
| 231 |
+
else if (rden)
|
| 232 |
+
mem_reg <= mem[raddr];
|
| 233 |
+
end
|
| 234 |
+
|
| 235 |
+
assign dout = mem_reg;
|
| 236 |
+
|
| 237 |
+
endmodule
|
myproject_prj/solution1/syn/verilog/myproject_fifo_w328_d4096_A.v
ADDED
|
@@ -0,0 +1,237 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// ==============================================================
|
| 2 |
+
// Generated by Vitis HLS v2024.1
|
| 3 |
+
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
| 4 |
+
// Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.
|
| 5 |
+
// ==============================================================
|
| 6 |
+
// 67d7842dbbe25473c3c32b93c0da8047785f30d78e8a024de1b57352245f9689
|
| 7 |
+
|
| 8 |
+
`timescale 1ns/1ps
|
| 9 |
+
//RAW latency 2
|
| 10 |
+
|
| 11 |
+
module myproject_fifo_w328_d4096_A
|
| 12 |
+
#(parameter
|
| 13 |
+
MEM_STYLE = "auto",
|
| 14 |
+
DATA_WIDTH = 328,
|
| 15 |
+
ADDR_WIDTH = 12,
|
| 16 |
+
DEPTH = 4096)
|
| 17 |
+
(
|
| 18 |
+
// system signal
|
| 19 |
+
input wire clk,
|
| 20 |
+
input wire reset,
|
| 21 |
+
|
| 22 |
+
// write
|
| 23 |
+
output wire if_full_n,
|
| 24 |
+
input wire if_write_ce,
|
| 25 |
+
input wire if_write,
|
| 26 |
+
input wire [DATA_WIDTH-1:0] if_din,
|
| 27 |
+
|
| 28 |
+
// read
|
| 29 |
+
output wire [ADDR_WIDTH:0] if_num_data_valid, // for FRP
|
| 30 |
+
output wire [ADDR_WIDTH:0] if_fifo_cap, // for FRP
|
| 31 |
+
|
| 32 |
+
output wire if_empty_n,
|
| 33 |
+
input wire if_read_ce,
|
| 34 |
+
input wire if_read,
|
| 35 |
+
output wire [DATA_WIDTH-1:0] if_dout
|
| 36 |
+
);
|
| 37 |
+
//------------------------Parameter----------------------
|
| 38 |
+
localparam
|
| 39 |
+
MEM_DEPTH = DEPTH - 1,
|
| 40 |
+
MEM_AWIDTH = clog2(MEM_DEPTH);
|
| 41 |
+
//------------------------Local signal-------------------
|
| 42 |
+
reg [MEM_AWIDTH-1:0] waddr;
|
| 43 |
+
reg [MEM_AWIDTH-1:0] raddr;
|
| 44 |
+
wire [MEM_AWIDTH-1:0] wnext;
|
| 45 |
+
wire [MEM_AWIDTH-1:0] rnext;
|
| 46 |
+
wire push;
|
| 47 |
+
wire pop;
|
| 48 |
+
reg [MEM_AWIDTH:0] mOutPtr;
|
| 49 |
+
reg empty_n = 1'b0;
|
| 50 |
+
reg full_n = 1'b1;
|
| 51 |
+
// has num_data_valid?
|
| 52 |
+
wire num_extra_words;//yes
|
| 53 |
+
reg [ADDR_WIDTH:0] num_data_valid; //yes
|
| 54 |
+
|
| 55 |
+
wire pop_dout;
|
| 56 |
+
reg [ADDR_WIDTH:0] num_data_cnt;
|
| 57 |
+
reg dout_vld = 1'b0;
|
| 58 |
+
|
| 59 |
+
//------------------------Instantiation------------------
|
| 60 |
+
myproject_fifo_w328_d4096_A_ram
|
| 61 |
+
#( .MEM_STYLE (MEM_STYLE),
|
| 62 |
+
.DATA_WIDTH (DATA_WIDTH),
|
| 63 |
+
.ADDR_WIDTH (MEM_AWIDTH),
|
| 64 |
+
.DEPTH (MEM_DEPTH)
|
| 65 |
+
) U_myproject_fifo_w328_d4096_A_ram (
|
| 66 |
+
.clk (clk),
|
| 67 |
+
.reset (reset),
|
| 68 |
+
.we (push),
|
| 69 |
+
.waddr (waddr),
|
| 70 |
+
.din (if_din),
|
| 71 |
+
.raddr (raddr),
|
| 72 |
+
.rden (pop),
|
| 73 |
+
.dout (if_dout)
|
| 74 |
+
);
|
| 75 |
+
|
| 76 |
+
//------------------------Task and function--------------
|
| 77 |
+
function integer clog2;
|
| 78 |
+
input integer x;
|
| 79 |
+
integer n, m;
|
| 80 |
+
begin
|
| 81 |
+
n = 1;
|
| 82 |
+
m = 2;
|
| 83 |
+
while (m < x) begin
|
| 84 |
+
n = n + 1;
|
| 85 |
+
m = m * 2;
|
| 86 |
+
end
|
| 87 |
+
clog2 = n;
|
| 88 |
+
end
|
| 89 |
+
endfunction
|
| 90 |
+
//------------------------Body---------------------------
|
| 91 |
+
// num_data_valid
|
| 92 |
+
assign if_num_data_valid = num_data_valid;
|
| 93 |
+
assign if_fifo_cap = DEPTH;
|
| 94 |
+
|
| 95 |
+
// almost full/empty
|
| 96 |
+
|
| 97 |
+
// program full/empty
|
| 98 |
+
|
| 99 |
+
assign if_full_n = full_n;
|
| 100 |
+
assign if_empty_n = dout_vld;
|
| 101 |
+
|
| 102 |
+
assign push = full_n & if_write_ce & if_write;
|
| 103 |
+
assign pop = empty_n & (pop_dout | ~dout_vld);
|
| 104 |
+
assign pop_dout = dout_vld & if_read_ce & if_read;
|
| 105 |
+
|
| 106 |
+
assign wnext = !push ? waddr :
|
| 107 |
+
(waddr == MEM_DEPTH - 1) ? 1'b0 :
|
| 108 |
+
waddr + 1'b1;
|
| 109 |
+
assign rnext = !pop ? raddr :
|
| 110 |
+
(raddr == MEM_DEPTH - 1) ? 1'b0 :
|
| 111 |
+
raddr + 1'b1;
|
| 112 |
+
|
| 113 |
+
// waddr
|
| 114 |
+
always @(posedge clk) begin
|
| 115 |
+
if (reset)
|
| 116 |
+
waddr <= {MEM_AWIDTH{1'b0}};
|
| 117 |
+
else
|
| 118 |
+
waddr <= wnext;
|
| 119 |
+
end
|
| 120 |
+
|
| 121 |
+
// raddr
|
| 122 |
+
always @(posedge clk) begin
|
| 123 |
+
if (reset)
|
| 124 |
+
raddr <= {MEM_AWIDTH{1'b0}};
|
| 125 |
+
else
|
| 126 |
+
raddr <= rnext;
|
| 127 |
+
end
|
| 128 |
+
|
| 129 |
+
// mOutPtr
|
| 130 |
+
always @(posedge clk) begin
|
| 131 |
+
if (reset)
|
| 132 |
+
mOutPtr <= {MEM_AWIDTH+1{1'b0}};
|
| 133 |
+
else if (push & ~pop)
|
| 134 |
+
mOutPtr <= mOutPtr + 1'b1;
|
| 135 |
+
else if (~push & pop)
|
| 136 |
+
mOutPtr <= mOutPtr - 1'b1;
|
| 137 |
+
end
|
| 138 |
+
|
| 139 |
+
// full_n
|
| 140 |
+
always @(posedge clk) begin
|
| 141 |
+
if (reset)
|
| 142 |
+
full_n <= 1'b1;
|
| 143 |
+
else if ((push & ~pop_dout) && (num_data_cnt == DEPTH - 1))
|
| 144 |
+
full_n <= 1'b0;
|
| 145 |
+
else if (~push & pop_dout)
|
| 146 |
+
full_n <= 1'b1;
|
| 147 |
+
end
|
| 148 |
+
|
| 149 |
+
// empty_n
|
| 150 |
+
always @(posedge clk) begin
|
| 151 |
+
if (reset)
|
| 152 |
+
empty_n <= 1'b0;
|
| 153 |
+
else if (push & ~pop)
|
| 154 |
+
empty_n <= 1'b1;
|
| 155 |
+
else if ((~push & pop) && (mOutPtr == 1))
|
| 156 |
+
empty_n <= 1'b0;
|
| 157 |
+
end
|
| 158 |
+
|
| 159 |
+
// almost_full_n
|
| 160 |
+
|
| 161 |
+
// almost_empty_n
|
| 162 |
+
|
| 163 |
+
// prog_full_n
|
| 164 |
+
|
| 165 |
+
// prog_empty_n
|
| 166 |
+
|
| 167 |
+
// num_data_cnt
|
| 168 |
+
always @(posedge clk) begin
|
| 169 |
+
if (reset)
|
| 170 |
+
num_data_cnt <= {ADDR_WIDTH+1{1'b0}};
|
| 171 |
+
else if ( push & ~pop_dout)
|
| 172 |
+
num_data_cnt <= num_data_cnt + 1'b1;
|
| 173 |
+
else if (~push & pop_dout)
|
| 174 |
+
num_data_cnt <= num_data_cnt - 1'b1;
|
| 175 |
+
end
|
| 176 |
+
|
| 177 |
+
// num_data_valid
|
| 178 |
+
assign num_extra_words = (dout_vld & ~pop_dout) ? 1 : 0;
|
| 179 |
+
|
| 180 |
+
always @(posedge clk) begin
|
| 181 |
+
if (reset)
|
| 182 |
+
num_data_valid <= {ADDR_WIDTH+1{1'b0}};
|
| 183 |
+
else if (empty_n | (dout_vld & ~pop_dout))
|
| 184 |
+
num_data_valid <= push + mOutPtr + num_extra_words;
|
| 185 |
+
else
|
| 186 |
+
num_data_valid <= num_extra_words;
|
| 187 |
+
end //
|
| 188 |
+
|
| 189 |
+
// dout_vld
|
| 190 |
+
always @(posedge clk) begin
|
| 191 |
+
if (reset)
|
| 192 |
+
dout_vld <= 1'b0;
|
| 193 |
+
else if (pop)
|
| 194 |
+
dout_vld <= 1'b1;
|
| 195 |
+
else if (pop_dout)
|
| 196 |
+
dout_vld <= 1'b0;
|
| 197 |
+
end
|
| 198 |
+
|
| 199 |
+
endmodule
|
| 200 |
+
|
| 201 |
+
|
| 202 |
+
module myproject_fifo_w328_d4096_A_ram
|
| 203 |
+
#(parameter
|
| 204 |
+
MEM_STYLE = "auto",
|
| 205 |
+
DATA_WIDTH = 328,
|
| 206 |
+
ADDR_WIDTH = 12,
|
| 207 |
+
DEPTH = 4096)
|
| 208 |
+
(
|
| 209 |
+
input wire clk,
|
| 210 |
+
input wire reset,
|
| 211 |
+
input wire we,
|
| 212 |
+
input wire [ADDR_WIDTH-1:0] waddr,
|
| 213 |
+
input wire [DATA_WIDTH-1:0] din,
|
| 214 |
+
input wire [ADDR_WIDTH-1:0] raddr,
|
| 215 |
+
input wire rden,
|
| 216 |
+
output wire [DATA_WIDTH-1:0] dout
|
| 217 |
+
);
|
| 218 |
+
|
| 219 |
+
(* ram_style = MEM_STYLE *)
|
| 220 |
+
reg [DATA_WIDTH-1:0] mem[0:DEPTH-1];
|
| 221 |
+
reg [DATA_WIDTH-1:0] mem_reg;
|
| 222 |
+
|
| 223 |
+
always @(posedge clk) begin
|
| 224 |
+
if (we)
|
| 225 |
+
mem[waddr] <= din;
|
| 226 |
+
end
|
| 227 |
+
|
| 228 |
+
always @(posedge clk) begin
|
| 229 |
+
if (reset)
|
| 230 |
+
mem_reg <= 0;
|
| 231 |
+
else if (rden)
|
| 232 |
+
mem_reg <= mem[raddr];
|
| 233 |
+
end
|
| 234 |
+
|
| 235 |
+
assign dout = mem_reg;
|
| 236 |
+
|
| 237 |
+
endmodule
|
myproject_prj/solution1/syn/verilog/myproject_fifo_w36_d4096_A.v
ADDED
|
@@ -0,0 +1,237 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// ==============================================================
|
| 2 |
+
// Generated by Vitis HLS v2024.1
|
| 3 |
+
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
| 4 |
+
// Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.
|
| 5 |
+
// ==============================================================
|
| 6 |
+
// 67d7842dbbe25473c3c32b93c0da8047785f30d78e8a024de1b57352245f9689
|
| 7 |
+
|
| 8 |
+
`timescale 1ns/1ps
|
| 9 |
+
//RAW latency 2
|
| 10 |
+
|
| 11 |
+
module myproject_fifo_w36_d4096_A
|
| 12 |
+
#(parameter
|
| 13 |
+
MEM_STYLE = "auto",
|
| 14 |
+
DATA_WIDTH = 36,
|
| 15 |
+
ADDR_WIDTH = 12,
|
| 16 |
+
DEPTH = 4096)
|
| 17 |
+
(
|
| 18 |
+
// system signal
|
| 19 |
+
input wire clk,
|
| 20 |
+
input wire reset,
|
| 21 |
+
|
| 22 |
+
// write
|
| 23 |
+
output wire if_full_n,
|
| 24 |
+
input wire if_write_ce,
|
| 25 |
+
input wire if_write,
|
| 26 |
+
input wire [DATA_WIDTH-1:0] if_din,
|
| 27 |
+
|
| 28 |
+
// read
|
| 29 |
+
output wire [ADDR_WIDTH:0] if_num_data_valid, // for FRP
|
| 30 |
+
output wire [ADDR_WIDTH:0] if_fifo_cap, // for FRP
|
| 31 |
+
|
| 32 |
+
output wire if_empty_n,
|
| 33 |
+
input wire if_read_ce,
|
| 34 |
+
input wire if_read,
|
| 35 |
+
output wire [DATA_WIDTH-1:0] if_dout
|
| 36 |
+
);
|
| 37 |
+
//------------------------Parameter----------------------
|
| 38 |
+
localparam
|
| 39 |
+
MEM_DEPTH = DEPTH - 1,
|
| 40 |
+
MEM_AWIDTH = clog2(MEM_DEPTH);
|
| 41 |
+
//------------------------Local signal-------------------
|
| 42 |
+
reg [MEM_AWIDTH-1:0] waddr;
|
| 43 |
+
reg [MEM_AWIDTH-1:0] raddr;
|
| 44 |
+
wire [MEM_AWIDTH-1:0] wnext;
|
| 45 |
+
wire [MEM_AWIDTH-1:0] rnext;
|
| 46 |
+
wire push;
|
| 47 |
+
wire pop;
|
| 48 |
+
reg [MEM_AWIDTH:0] mOutPtr;
|
| 49 |
+
reg empty_n = 1'b0;
|
| 50 |
+
reg full_n = 1'b1;
|
| 51 |
+
// has num_data_valid?
|
| 52 |
+
wire num_extra_words;//yes
|
| 53 |
+
reg [ADDR_WIDTH:0] num_data_valid; //yes
|
| 54 |
+
|
| 55 |
+
wire pop_dout;
|
| 56 |
+
reg [ADDR_WIDTH:0] num_data_cnt;
|
| 57 |
+
reg dout_vld = 1'b0;
|
| 58 |
+
|
| 59 |
+
//------------------------Instantiation------------------
|
| 60 |
+
myproject_fifo_w36_d4096_A_ram
|
| 61 |
+
#( .MEM_STYLE (MEM_STYLE),
|
| 62 |
+
.DATA_WIDTH (DATA_WIDTH),
|
| 63 |
+
.ADDR_WIDTH (MEM_AWIDTH),
|
| 64 |
+
.DEPTH (MEM_DEPTH)
|
| 65 |
+
) U_myproject_fifo_w36_d4096_A_ram (
|
| 66 |
+
.clk (clk),
|
| 67 |
+
.reset (reset),
|
| 68 |
+
.we (push),
|
| 69 |
+
.waddr (waddr),
|
| 70 |
+
.din (if_din),
|
| 71 |
+
.raddr (raddr),
|
| 72 |
+
.rden (pop),
|
| 73 |
+
.dout (if_dout)
|
| 74 |
+
);
|
| 75 |
+
|
| 76 |
+
//------------------------Task and function--------------
|
| 77 |
+
function integer clog2;
|
| 78 |
+
input integer x;
|
| 79 |
+
integer n, m;
|
| 80 |
+
begin
|
| 81 |
+
n = 1;
|
| 82 |
+
m = 2;
|
| 83 |
+
while (m < x) begin
|
| 84 |
+
n = n + 1;
|
| 85 |
+
m = m * 2;
|
| 86 |
+
end
|
| 87 |
+
clog2 = n;
|
| 88 |
+
end
|
| 89 |
+
endfunction
|
| 90 |
+
//------------------------Body---------------------------
|
| 91 |
+
// num_data_valid
|
| 92 |
+
assign if_num_data_valid = num_data_valid;
|
| 93 |
+
assign if_fifo_cap = DEPTH;
|
| 94 |
+
|
| 95 |
+
// almost full/empty
|
| 96 |
+
|
| 97 |
+
// program full/empty
|
| 98 |
+
|
| 99 |
+
assign if_full_n = full_n;
|
| 100 |
+
assign if_empty_n = dout_vld;
|
| 101 |
+
|
| 102 |
+
assign push = full_n & if_write_ce & if_write;
|
| 103 |
+
assign pop = empty_n & (pop_dout | ~dout_vld);
|
| 104 |
+
assign pop_dout = dout_vld & if_read_ce & if_read;
|
| 105 |
+
|
| 106 |
+
assign wnext = !push ? waddr :
|
| 107 |
+
(waddr == MEM_DEPTH - 1) ? 1'b0 :
|
| 108 |
+
waddr + 1'b1;
|
| 109 |
+
assign rnext = !pop ? raddr :
|
| 110 |
+
(raddr == MEM_DEPTH - 1) ? 1'b0 :
|
| 111 |
+
raddr + 1'b1;
|
| 112 |
+
|
| 113 |
+
// waddr
|
| 114 |
+
always @(posedge clk) begin
|
| 115 |
+
if (reset)
|
| 116 |
+
waddr <= {MEM_AWIDTH{1'b0}};
|
| 117 |
+
else
|
| 118 |
+
waddr <= wnext;
|
| 119 |
+
end
|
| 120 |
+
|
| 121 |
+
// raddr
|
| 122 |
+
always @(posedge clk) begin
|
| 123 |
+
if (reset)
|
| 124 |
+
raddr <= {MEM_AWIDTH{1'b0}};
|
| 125 |
+
else
|
| 126 |
+
raddr <= rnext;
|
| 127 |
+
end
|
| 128 |
+
|
| 129 |
+
// mOutPtr
|
| 130 |
+
always @(posedge clk) begin
|
| 131 |
+
if (reset)
|
| 132 |
+
mOutPtr <= {MEM_AWIDTH+1{1'b0}};
|
| 133 |
+
else if (push & ~pop)
|
| 134 |
+
mOutPtr <= mOutPtr + 1'b1;
|
| 135 |
+
else if (~push & pop)
|
| 136 |
+
mOutPtr <= mOutPtr - 1'b1;
|
| 137 |
+
end
|
| 138 |
+
|
| 139 |
+
// full_n
|
| 140 |
+
always @(posedge clk) begin
|
| 141 |
+
if (reset)
|
| 142 |
+
full_n <= 1'b1;
|
| 143 |
+
else if ((push & ~pop_dout) && (num_data_cnt == DEPTH - 1))
|
| 144 |
+
full_n <= 1'b0;
|
| 145 |
+
else if (~push & pop_dout)
|
| 146 |
+
full_n <= 1'b1;
|
| 147 |
+
end
|
| 148 |
+
|
| 149 |
+
// empty_n
|
| 150 |
+
always @(posedge clk) begin
|
| 151 |
+
if (reset)
|
| 152 |
+
empty_n <= 1'b0;
|
| 153 |
+
else if (push & ~pop)
|
| 154 |
+
empty_n <= 1'b1;
|
| 155 |
+
else if ((~push & pop) && (mOutPtr == 1))
|
| 156 |
+
empty_n <= 1'b0;
|
| 157 |
+
end
|
| 158 |
+
|
| 159 |
+
// almost_full_n
|
| 160 |
+
|
| 161 |
+
// almost_empty_n
|
| 162 |
+
|
| 163 |
+
// prog_full_n
|
| 164 |
+
|
| 165 |
+
// prog_empty_n
|
| 166 |
+
|
| 167 |
+
// num_data_cnt
|
| 168 |
+
always @(posedge clk) begin
|
| 169 |
+
if (reset)
|
| 170 |
+
num_data_cnt <= {ADDR_WIDTH+1{1'b0}};
|
| 171 |
+
else if ( push & ~pop_dout)
|
| 172 |
+
num_data_cnt <= num_data_cnt + 1'b1;
|
| 173 |
+
else if (~push & pop_dout)
|
| 174 |
+
num_data_cnt <= num_data_cnt - 1'b1;
|
| 175 |
+
end
|
| 176 |
+
|
| 177 |
+
// num_data_valid
|
| 178 |
+
assign num_extra_words = (dout_vld & ~pop_dout) ? 1 : 0;
|
| 179 |
+
|
| 180 |
+
always @(posedge clk) begin
|
| 181 |
+
if (reset)
|
| 182 |
+
num_data_valid <= {ADDR_WIDTH+1{1'b0}};
|
| 183 |
+
else if (empty_n | (dout_vld & ~pop_dout))
|
| 184 |
+
num_data_valid <= push + mOutPtr + num_extra_words;
|
| 185 |
+
else
|
| 186 |
+
num_data_valid <= num_extra_words;
|
| 187 |
+
end //
|
| 188 |
+
|
| 189 |
+
// dout_vld
|
| 190 |
+
always @(posedge clk) begin
|
| 191 |
+
if (reset)
|
| 192 |
+
dout_vld <= 1'b0;
|
| 193 |
+
else if (pop)
|
| 194 |
+
dout_vld <= 1'b1;
|
| 195 |
+
else if (pop_dout)
|
| 196 |
+
dout_vld <= 1'b0;
|
| 197 |
+
end
|
| 198 |
+
|
| 199 |
+
endmodule
|
| 200 |
+
|
| 201 |
+
|
| 202 |
+
module myproject_fifo_w36_d4096_A_ram
|
| 203 |
+
#(parameter
|
| 204 |
+
MEM_STYLE = "auto",
|
| 205 |
+
DATA_WIDTH = 36,
|
| 206 |
+
ADDR_WIDTH = 12,
|
| 207 |
+
DEPTH = 4096)
|
| 208 |
+
(
|
| 209 |
+
input wire clk,
|
| 210 |
+
input wire reset,
|
| 211 |
+
input wire we,
|
| 212 |
+
input wire [ADDR_WIDTH-1:0] waddr,
|
| 213 |
+
input wire [DATA_WIDTH-1:0] din,
|
| 214 |
+
input wire [ADDR_WIDTH-1:0] raddr,
|
| 215 |
+
input wire rden,
|
| 216 |
+
output wire [DATA_WIDTH-1:0] dout
|
| 217 |
+
);
|
| 218 |
+
|
| 219 |
+
(* ram_style = MEM_STYLE *)
|
| 220 |
+
reg [DATA_WIDTH-1:0] mem[0:DEPTH-1];
|
| 221 |
+
reg [DATA_WIDTH-1:0] mem_reg;
|
| 222 |
+
|
| 223 |
+
always @(posedge clk) begin
|
| 224 |
+
if (we)
|
| 225 |
+
mem[waddr] <= din;
|
| 226 |
+
end
|
| 227 |
+
|
| 228 |
+
always @(posedge clk) begin
|
| 229 |
+
if (reset)
|
| 230 |
+
mem_reg <= 0;
|
| 231 |
+
else if (rden)
|
| 232 |
+
mem_reg <= mem[raddr];
|
| 233 |
+
end
|
| 234 |
+
|
| 235 |
+
assign dout = mem_reg;
|
| 236 |
+
|
| 237 |
+
endmodule
|
myproject_prj/solution1/syn/verilog/myproject_fifo_w384_d4096_A.v
ADDED
|
@@ -0,0 +1,237 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// ==============================================================
|
| 2 |
+
// Generated by Vitis HLS v2024.1
|
| 3 |
+
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
| 4 |
+
// Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.
|
| 5 |
+
// ==============================================================
|
| 6 |
+
// 67d7842dbbe25473c3c32b93c0da8047785f30d78e8a024de1b57352245f9689
|
| 7 |
+
|
| 8 |
+
`timescale 1ns/1ps
|
| 9 |
+
//RAW latency 2
|
| 10 |
+
|
| 11 |
+
module myproject_fifo_w384_d4096_A
|
| 12 |
+
#(parameter
|
| 13 |
+
MEM_STYLE = "auto",
|
| 14 |
+
DATA_WIDTH = 384,
|
| 15 |
+
ADDR_WIDTH = 12,
|
| 16 |
+
DEPTH = 4096)
|
| 17 |
+
(
|
| 18 |
+
// system signal
|
| 19 |
+
input wire clk,
|
| 20 |
+
input wire reset,
|
| 21 |
+
|
| 22 |
+
// write
|
| 23 |
+
output wire if_full_n,
|
| 24 |
+
input wire if_write_ce,
|
| 25 |
+
input wire if_write,
|
| 26 |
+
input wire [DATA_WIDTH-1:0] if_din,
|
| 27 |
+
|
| 28 |
+
// read
|
| 29 |
+
output wire [ADDR_WIDTH:0] if_num_data_valid, // for FRP
|
| 30 |
+
output wire [ADDR_WIDTH:0] if_fifo_cap, // for FRP
|
| 31 |
+
|
| 32 |
+
output wire if_empty_n,
|
| 33 |
+
input wire if_read_ce,
|
| 34 |
+
input wire if_read,
|
| 35 |
+
output wire [DATA_WIDTH-1:0] if_dout
|
| 36 |
+
);
|
| 37 |
+
//------------------------Parameter----------------------
|
| 38 |
+
localparam
|
| 39 |
+
MEM_DEPTH = DEPTH - 1,
|
| 40 |
+
MEM_AWIDTH = clog2(MEM_DEPTH);
|
| 41 |
+
//------------------------Local signal-------------------
|
| 42 |
+
reg [MEM_AWIDTH-1:0] waddr;
|
| 43 |
+
reg [MEM_AWIDTH-1:0] raddr;
|
| 44 |
+
wire [MEM_AWIDTH-1:0] wnext;
|
| 45 |
+
wire [MEM_AWIDTH-1:0] rnext;
|
| 46 |
+
wire push;
|
| 47 |
+
wire pop;
|
| 48 |
+
reg [MEM_AWIDTH:0] mOutPtr;
|
| 49 |
+
reg empty_n = 1'b0;
|
| 50 |
+
reg full_n = 1'b1;
|
| 51 |
+
// has num_data_valid?
|
| 52 |
+
wire num_extra_words;//yes
|
| 53 |
+
reg [ADDR_WIDTH:0] num_data_valid; //yes
|
| 54 |
+
|
| 55 |
+
wire pop_dout;
|
| 56 |
+
reg [ADDR_WIDTH:0] num_data_cnt;
|
| 57 |
+
reg dout_vld = 1'b0;
|
| 58 |
+
|
| 59 |
+
//------------------------Instantiation------------------
|
| 60 |
+
myproject_fifo_w384_d4096_A_ram
|
| 61 |
+
#( .MEM_STYLE (MEM_STYLE),
|
| 62 |
+
.DATA_WIDTH (DATA_WIDTH),
|
| 63 |
+
.ADDR_WIDTH (MEM_AWIDTH),
|
| 64 |
+
.DEPTH (MEM_DEPTH)
|
| 65 |
+
) U_myproject_fifo_w384_d4096_A_ram (
|
| 66 |
+
.clk (clk),
|
| 67 |
+
.reset (reset),
|
| 68 |
+
.we (push),
|
| 69 |
+
.waddr (waddr),
|
| 70 |
+
.din (if_din),
|
| 71 |
+
.raddr (raddr),
|
| 72 |
+
.rden (pop),
|
| 73 |
+
.dout (if_dout)
|
| 74 |
+
);
|
| 75 |
+
|
| 76 |
+
//------------------------Task and function--------------
|
| 77 |
+
function integer clog2;
|
| 78 |
+
input integer x;
|
| 79 |
+
integer n, m;
|
| 80 |
+
begin
|
| 81 |
+
n = 1;
|
| 82 |
+
m = 2;
|
| 83 |
+
while (m < x) begin
|
| 84 |
+
n = n + 1;
|
| 85 |
+
m = m * 2;
|
| 86 |
+
end
|
| 87 |
+
clog2 = n;
|
| 88 |
+
end
|
| 89 |
+
endfunction
|
| 90 |
+
//------------------------Body---------------------------
|
| 91 |
+
// num_data_valid
|
| 92 |
+
assign if_num_data_valid = num_data_valid;
|
| 93 |
+
assign if_fifo_cap = DEPTH;
|
| 94 |
+
|
| 95 |
+
// almost full/empty
|
| 96 |
+
|
| 97 |
+
// program full/empty
|
| 98 |
+
|
| 99 |
+
assign if_full_n = full_n;
|
| 100 |
+
assign if_empty_n = dout_vld;
|
| 101 |
+
|
| 102 |
+
assign push = full_n & if_write_ce & if_write;
|
| 103 |
+
assign pop = empty_n & (pop_dout | ~dout_vld);
|
| 104 |
+
assign pop_dout = dout_vld & if_read_ce & if_read;
|
| 105 |
+
|
| 106 |
+
assign wnext = !push ? waddr :
|
| 107 |
+
(waddr == MEM_DEPTH - 1) ? 1'b0 :
|
| 108 |
+
waddr + 1'b1;
|
| 109 |
+
assign rnext = !pop ? raddr :
|
| 110 |
+
(raddr == MEM_DEPTH - 1) ? 1'b0 :
|
| 111 |
+
raddr + 1'b1;
|
| 112 |
+
|
| 113 |
+
// waddr
|
| 114 |
+
always @(posedge clk) begin
|
| 115 |
+
if (reset)
|
| 116 |
+
waddr <= {MEM_AWIDTH{1'b0}};
|
| 117 |
+
else
|
| 118 |
+
waddr <= wnext;
|
| 119 |
+
end
|
| 120 |
+
|
| 121 |
+
// raddr
|
| 122 |
+
always @(posedge clk) begin
|
| 123 |
+
if (reset)
|
| 124 |
+
raddr <= {MEM_AWIDTH{1'b0}};
|
| 125 |
+
else
|
| 126 |
+
raddr <= rnext;
|
| 127 |
+
end
|
| 128 |
+
|
| 129 |
+
// mOutPtr
|
| 130 |
+
always @(posedge clk) begin
|
| 131 |
+
if (reset)
|
| 132 |
+
mOutPtr <= {MEM_AWIDTH+1{1'b0}};
|
| 133 |
+
else if (push & ~pop)
|
| 134 |
+
mOutPtr <= mOutPtr + 1'b1;
|
| 135 |
+
else if (~push & pop)
|
| 136 |
+
mOutPtr <= mOutPtr - 1'b1;
|
| 137 |
+
end
|
| 138 |
+
|
| 139 |
+
// full_n
|
| 140 |
+
always @(posedge clk) begin
|
| 141 |
+
if (reset)
|
| 142 |
+
full_n <= 1'b1;
|
| 143 |
+
else if ((push & ~pop_dout) && (num_data_cnt == DEPTH - 1))
|
| 144 |
+
full_n <= 1'b0;
|
| 145 |
+
else if (~push & pop_dout)
|
| 146 |
+
full_n <= 1'b1;
|
| 147 |
+
end
|
| 148 |
+
|
| 149 |
+
// empty_n
|
| 150 |
+
always @(posedge clk) begin
|
| 151 |
+
if (reset)
|
| 152 |
+
empty_n <= 1'b0;
|
| 153 |
+
else if (push & ~pop)
|
| 154 |
+
empty_n <= 1'b1;
|
| 155 |
+
else if ((~push & pop) && (mOutPtr == 1))
|
| 156 |
+
empty_n <= 1'b0;
|
| 157 |
+
end
|
| 158 |
+
|
| 159 |
+
// almost_full_n
|
| 160 |
+
|
| 161 |
+
// almost_empty_n
|
| 162 |
+
|
| 163 |
+
// prog_full_n
|
| 164 |
+
|
| 165 |
+
// prog_empty_n
|
| 166 |
+
|
| 167 |
+
// num_data_cnt
|
| 168 |
+
always @(posedge clk) begin
|
| 169 |
+
if (reset)
|
| 170 |
+
num_data_cnt <= {ADDR_WIDTH+1{1'b0}};
|
| 171 |
+
else if ( push & ~pop_dout)
|
| 172 |
+
num_data_cnt <= num_data_cnt + 1'b1;
|
| 173 |
+
else if (~push & pop_dout)
|
| 174 |
+
num_data_cnt <= num_data_cnt - 1'b1;
|
| 175 |
+
end
|
| 176 |
+
|
| 177 |
+
// num_data_valid
|
| 178 |
+
assign num_extra_words = (dout_vld & ~pop_dout) ? 1 : 0;
|
| 179 |
+
|
| 180 |
+
always @(posedge clk) begin
|
| 181 |
+
if (reset)
|
| 182 |
+
num_data_valid <= {ADDR_WIDTH+1{1'b0}};
|
| 183 |
+
else if (empty_n | (dout_vld & ~pop_dout))
|
| 184 |
+
num_data_valid <= push + mOutPtr + num_extra_words;
|
| 185 |
+
else
|
| 186 |
+
num_data_valid <= num_extra_words;
|
| 187 |
+
end //
|
| 188 |
+
|
| 189 |
+
// dout_vld
|
| 190 |
+
always @(posedge clk) begin
|
| 191 |
+
if (reset)
|
| 192 |
+
dout_vld <= 1'b0;
|
| 193 |
+
else if (pop)
|
| 194 |
+
dout_vld <= 1'b1;
|
| 195 |
+
else if (pop_dout)
|
| 196 |
+
dout_vld <= 1'b0;
|
| 197 |
+
end
|
| 198 |
+
|
| 199 |
+
endmodule
|
| 200 |
+
|
| 201 |
+
|
| 202 |
+
module myproject_fifo_w384_d4096_A_ram
|
| 203 |
+
#(parameter
|
| 204 |
+
MEM_STYLE = "auto",
|
| 205 |
+
DATA_WIDTH = 384,
|
| 206 |
+
ADDR_WIDTH = 12,
|
| 207 |
+
DEPTH = 4096)
|
| 208 |
+
(
|
| 209 |
+
input wire clk,
|
| 210 |
+
input wire reset,
|
| 211 |
+
input wire we,
|
| 212 |
+
input wire [ADDR_WIDTH-1:0] waddr,
|
| 213 |
+
input wire [DATA_WIDTH-1:0] din,
|
| 214 |
+
input wire [ADDR_WIDTH-1:0] raddr,
|
| 215 |
+
input wire rden,
|
| 216 |
+
output wire [DATA_WIDTH-1:0] dout
|
| 217 |
+
);
|
| 218 |
+
|
| 219 |
+
(* ram_style = MEM_STYLE *)
|
| 220 |
+
reg [DATA_WIDTH-1:0] mem[0:DEPTH-1];
|
| 221 |
+
reg [DATA_WIDTH-1:0] mem_reg;
|
| 222 |
+
|
| 223 |
+
always @(posedge clk) begin
|
| 224 |
+
if (we)
|
| 225 |
+
mem[waddr] <= din;
|
| 226 |
+
end
|
| 227 |
+
|
| 228 |
+
always @(posedge clk) begin
|
| 229 |
+
if (reset)
|
| 230 |
+
mem_reg <= 0;
|
| 231 |
+
else if (rden)
|
| 232 |
+
mem_reg <= mem[raddr];
|
| 233 |
+
end
|
| 234 |
+
|
| 235 |
+
assign dout = mem_reg;
|
| 236 |
+
|
| 237 |
+
endmodule
|
myproject_prj/solution1/syn/verilog/myproject_fifo_w512_d256_A.v
ADDED
|
@@ -0,0 +1,237 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// ==============================================================
|
| 2 |
+
// Generated by Vitis HLS v2024.1
|
| 3 |
+
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
| 4 |
+
// Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.
|
| 5 |
+
// ==============================================================
|
| 6 |
+
// 67d7842dbbe25473c3c32b93c0da8047785f30d78e8a024de1b57352245f9689
|
| 7 |
+
|
| 8 |
+
`timescale 1ns/1ps
|
| 9 |
+
//RAW latency 2
|
| 10 |
+
|
| 11 |
+
module myproject_fifo_w512_d256_A
|
| 12 |
+
#(parameter
|
| 13 |
+
MEM_STYLE = "auto",
|
| 14 |
+
DATA_WIDTH = 512,
|
| 15 |
+
ADDR_WIDTH = 8,
|
| 16 |
+
DEPTH = 256)
|
| 17 |
+
(
|
| 18 |
+
// system signal
|
| 19 |
+
input wire clk,
|
| 20 |
+
input wire reset,
|
| 21 |
+
|
| 22 |
+
// write
|
| 23 |
+
output wire if_full_n,
|
| 24 |
+
input wire if_write_ce,
|
| 25 |
+
input wire if_write,
|
| 26 |
+
input wire [DATA_WIDTH-1:0] if_din,
|
| 27 |
+
|
| 28 |
+
// read
|
| 29 |
+
output wire [ADDR_WIDTH:0] if_num_data_valid, // for FRP
|
| 30 |
+
output wire [ADDR_WIDTH:0] if_fifo_cap, // for FRP
|
| 31 |
+
|
| 32 |
+
output wire if_empty_n,
|
| 33 |
+
input wire if_read_ce,
|
| 34 |
+
input wire if_read,
|
| 35 |
+
output wire [DATA_WIDTH-1:0] if_dout
|
| 36 |
+
);
|
| 37 |
+
//------------------------Parameter----------------------
|
| 38 |
+
localparam
|
| 39 |
+
MEM_DEPTH = DEPTH - 1,
|
| 40 |
+
MEM_AWIDTH = clog2(MEM_DEPTH);
|
| 41 |
+
//------------------------Local signal-------------------
|
| 42 |
+
reg [MEM_AWIDTH-1:0] waddr;
|
| 43 |
+
reg [MEM_AWIDTH-1:0] raddr;
|
| 44 |
+
wire [MEM_AWIDTH-1:0] wnext;
|
| 45 |
+
wire [MEM_AWIDTH-1:0] rnext;
|
| 46 |
+
wire push;
|
| 47 |
+
wire pop;
|
| 48 |
+
reg [MEM_AWIDTH:0] mOutPtr;
|
| 49 |
+
reg empty_n = 1'b0;
|
| 50 |
+
reg full_n = 1'b1;
|
| 51 |
+
// has num_data_valid?
|
| 52 |
+
wire num_extra_words;//yes
|
| 53 |
+
reg [ADDR_WIDTH:0] num_data_valid; //yes
|
| 54 |
+
|
| 55 |
+
wire pop_dout;
|
| 56 |
+
reg [ADDR_WIDTH:0] num_data_cnt;
|
| 57 |
+
reg dout_vld = 1'b0;
|
| 58 |
+
|
| 59 |
+
//------------------------Instantiation------------------
|
| 60 |
+
myproject_fifo_w512_d256_A_ram
|
| 61 |
+
#( .MEM_STYLE (MEM_STYLE),
|
| 62 |
+
.DATA_WIDTH (DATA_WIDTH),
|
| 63 |
+
.ADDR_WIDTH (MEM_AWIDTH),
|
| 64 |
+
.DEPTH (MEM_DEPTH)
|
| 65 |
+
) U_myproject_fifo_w512_d256_A_ram (
|
| 66 |
+
.clk (clk),
|
| 67 |
+
.reset (reset),
|
| 68 |
+
.we (push),
|
| 69 |
+
.waddr (waddr),
|
| 70 |
+
.din (if_din),
|
| 71 |
+
.raddr (raddr),
|
| 72 |
+
.rden (pop),
|
| 73 |
+
.dout (if_dout)
|
| 74 |
+
);
|
| 75 |
+
|
| 76 |
+
//------------------------Task and function--------------
|
| 77 |
+
function integer clog2;
|
| 78 |
+
input integer x;
|
| 79 |
+
integer n, m;
|
| 80 |
+
begin
|
| 81 |
+
n = 1;
|
| 82 |
+
m = 2;
|
| 83 |
+
while (m < x) begin
|
| 84 |
+
n = n + 1;
|
| 85 |
+
m = m * 2;
|
| 86 |
+
end
|
| 87 |
+
clog2 = n;
|
| 88 |
+
end
|
| 89 |
+
endfunction
|
| 90 |
+
//------------------------Body---------------------------
|
| 91 |
+
// num_data_valid
|
| 92 |
+
assign if_num_data_valid = num_data_valid;
|
| 93 |
+
assign if_fifo_cap = DEPTH;
|
| 94 |
+
|
| 95 |
+
// almost full/empty
|
| 96 |
+
|
| 97 |
+
// program full/empty
|
| 98 |
+
|
| 99 |
+
assign if_full_n = full_n;
|
| 100 |
+
assign if_empty_n = dout_vld;
|
| 101 |
+
|
| 102 |
+
assign push = full_n & if_write_ce & if_write;
|
| 103 |
+
assign pop = empty_n & (pop_dout | ~dout_vld);
|
| 104 |
+
assign pop_dout = dout_vld & if_read_ce & if_read;
|
| 105 |
+
|
| 106 |
+
assign wnext = !push ? waddr :
|
| 107 |
+
(waddr == MEM_DEPTH - 1) ? 1'b0 :
|
| 108 |
+
waddr + 1'b1;
|
| 109 |
+
assign rnext = !pop ? raddr :
|
| 110 |
+
(raddr == MEM_DEPTH - 1) ? 1'b0 :
|
| 111 |
+
raddr + 1'b1;
|
| 112 |
+
|
| 113 |
+
// waddr
|
| 114 |
+
always @(posedge clk) begin
|
| 115 |
+
if (reset)
|
| 116 |
+
waddr <= {MEM_AWIDTH{1'b0}};
|
| 117 |
+
else
|
| 118 |
+
waddr <= wnext;
|
| 119 |
+
end
|
| 120 |
+
|
| 121 |
+
// raddr
|
| 122 |
+
always @(posedge clk) begin
|
| 123 |
+
if (reset)
|
| 124 |
+
raddr <= {MEM_AWIDTH{1'b0}};
|
| 125 |
+
else
|
| 126 |
+
raddr <= rnext;
|
| 127 |
+
end
|
| 128 |
+
|
| 129 |
+
// mOutPtr
|
| 130 |
+
always @(posedge clk) begin
|
| 131 |
+
if (reset)
|
| 132 |
+
mOutPtr <= {MEM_AWIDTH+1{1'b0}};
|
| 133 |
+
else if (push & ~pop)
|
| 134 |
+
mOutPtr <= mOutPtr + 1'b1;
|
| 135 |
+
else if (~push & pop)
|
| 136 |
+
mOutPtr <= mOutPtr - 1'b1;
|
| 137 |
+
end
|
| 138 |
+
|
| 139 |
+
// full_n
|
| 140 |
+
always @(posedge clk) begin
|
| 141 |
+
if (reset)
|
| 142 |
+
full_n <= 1'b1;
|
| 143 |
+
else if ((push & ~pop_dout) && (num_data_cnt == DEPTH - 1))
|
| 144 |
+
full_n <= 1'b0;
|
| 145 |
+
else if (~push & pop_dout)
|
| 146 |
+
full_n <= 1'b1;
|
| 147 |
+
end
|
| 148 |
+
|
| 149 |
+
// empty_n
|
| 150 |
+
always @(posedge clk) begin
|
| 151 |
+
if (reset)
|
| 152 |
+
empty_n <= 1'b0;
|
| 153 |
+
else if (push & ~pop)
|
| 154 |
+
empty_n <= 1'b1;
|
| 155 |
+
else if ((~push & pop) && (mOutPtr == 1))
|
| 156 |
+
empty_n <= 1'b0;
|
| 157 |
+
end
|
| 158 |
+
|
| 159 |
+
// almost_full_n
|
| 160 |
+
|
| 161 |
+
// almost_empty_n
|
| 162 |
+
|
| 163 |
+
// prog_full_n
|
| 164 |
+
|
| 165 |
+
// prog_empty_n
|
| 166 |
+
|
| 167 |
+
// num_data_cnt
|
| 168 |
+
always @(posedge clk) begin
|
| 169 |
+
if (reset)
|
| 170 |
+
num_data_cnt <= {ADDR_WIDTH+1{1'b0}};
|
| 171 |
+
else if ( push & ~pop_dout)
|
| 172 |
+
num_data_cnt <= num_data_cnt + 1'b1;
|
| 173 |
+
else if (~push & pop_dout)
|
| 174 |
+
num_data_cnt <= num_data_cnt - 1'b1;
|
| 175 |
+
end
|
| 176 |
+
|
| 177 |
+
// num_data_valid
|
| 178 |
+
assign num_extra_words = (dout_vld & ~pop_dout) ? 1 : 0;
|
| 179 |
+
|
| 180 |
+
always @(posedge clk) begin
|
| 181 |
+
if (reset)
|
| 182 |
+
num_data_valid <= {ADDR_WIDTH+1{1'b0}};
|
| 183 |
+
else if (empty_n | (dout_vld & ~pop_dout))
|
| 184 |
+
num_data_valid <= push + mOutPtr + num_extra_words;
|
| 185 |
+
else
|
| 186 |
+
num_data_valid <= num_extra_words;
|
| 187 |
+
end //
|
| 188 |
+
|
| 189 |
+
// dout_vld
|
| 190 |
+
always @(posedge clk) begin
|
| 191 |
+
if (reset)
|
| 192 |
+
dout_vld <= 1'b0;
|
| 193 |
+
else if (pop)
|
| 194 |
+
dout_vld <= 1'b1;
|
| 195 |
+
else if (pop_dout)
|
| 196 |
+
dout_vld <= 1'b0;
|
| 197 |
+
end
|
| 198 |
+
|
| 199 |
+
endmodule
|
| 200 |
+
|
| 201 |
+
|
| 202 |
+
module myproject_fifo_w512_d256_A_ram
|
| 203 |
+
#(parameter
|
| 204 |
+
MEM_STYLE = "auto",
|
| 205 |
+
DATA_WIDTH = 512,
|
| 206 |
+
ADDR_WIDTH = 8,
|
| 207 |
+
DEPTH = 256)
|
| 208 |
+
(
|
| 209 |
+
input wire clk,
|
| 210 |
+
input wire reset,
|
| 211 |
+
input wire we,
|
| 212 |
+
input wire [ADDR_WIDTH-1:0] waddr,
|
| 213 |
+
input wire [DATA_WIDTH-1:0] din,
|
| 214 |
+
input wire [ADDR_WIDTH-1:0] raddr,
|
| 215 |
+
input wire rden,
|
| 216 |
+
output wire [DATA_WIDTH-1:0] dout
|
| 217 |
+
);
|
| 218 |
+
|
| 219 |
+
(* ram_style = MEM_STYLE *)
|
| 220 |
+
reg [DATA_WIDTH-1:0] mem[0:DEPTH-1];
|
| 221 |
+
reg [DATA_WIDTH-1:0] mem_reg;
|
| 222 |
+
|
| 223 |
+
always @(posedge clk) begin
|
| 224 |
+
if (we)
|
| 225 |
+
mem[waddr] <= din;
|
| 226 |
+
end
|
| 227 |
+
|
| 228 |
+
always @(posedge clk) begin
|
| 229 |
+
if (reset)
|
| 230 |
+
mem_reg <= 0;
|
| 231 |
+
else if (rden)
|
| 232 |
+
mem_reg <= mem[raddr];
|
| 233 |
+
end
|
| 234 |
+
|
| 235 |
+
assign dout = mem_reg;
|
| 236 |
+
|
| 237 |
+
endmodule
|
myproject_prj/solution1/syn/verilog/myproject_fifo_w768_d1024_A.v
ADDED
|
@@ -0,0 +1,237 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// ==============================================================
|
| 2 |
+
// Generated by Vitis HLS v2024.1
|
| 3 |
+
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
| 4 |
+
// Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.
|
| 5 |
+
// ==============================================================
|
| 6 |
+
// 67d7842dbbe25473c3c32b93c0da8047785f30d78e8a024de1b57352245f9689
|
| 7 |
+
|
| 8 |
+
`timescale 1ns/1ps
|
| 9 |
+
//RAW latency 2
|
| 10 |
+
|
| 11 |
+
module myproject_fifo_w768_d1024_A
|
| 12 |
+
#(parameter
|
| 13 |
+
MEM_STYLE = "auto",
|
| 14 |
+
DATA_WIDTH = 768,
|
| 15 |
+
ADDR_WIDTH = 10,
|
| 16 |
+
DEPTH = 1024)
|
| 17 |
+
(
|
| 18 |
+
// system signal
|
| 19 |
+
input wire clk,
|
| 20 |
+
input wire reset,
|
| 21 |
+
|
| 22 |
+
// write
|
| 23 |
+
output wire if_full_n,
|
| 24 |
+
input wire if_write_ce,
|
| 25 |
+
input wire if_write,
|
| 26 |
+
input wire [DATA_WIDTH-1:0] if_din,
|
| 27 |
+
|
| 28 |
+
// read
|
| 29 |
+
output wire [ADDR_WIDTH:0] if_num_data_valid, // for FRP
|
| 30 |
+
output wire [ADDR_WIDTH:0] if_fifo_cap, // for FRP
|
| 31 |
+
|
| 32 |
+
output wire if_empty_n,
|
| 33 |
+
input wire if_read_ce,
|
| 34 |
+
input wire if_read,
|
| 35 |
+
output wire [DATA_WIDTH-1:0] if_dout
|
| 36 |
+
);
|
| 37 |
+
//------------------------Parameter----------------------
|
| 38 |
+
localparam
|
| 39 |
+
MEM_DEPTH = DEPTH - 1,
|
| 40 |
+
MEM_AWIDTH = clog2(MEM_DEPTH);
|
| 41 |
+
//------------------------Local signal-------------------
|
| 42 |
+
reg [MEM_AWIDTH-1:0] waddr;
|
| 43 |
+
reg [MEM_AWIDTH-1:0] raddr;
|
| 44 |
+
wire [MEM_AWIDTH-1:0] wnext;
|
| 45 |
+
wire [MEM_AWIDTH-1:0] rnext;
|
| 46 |
+
wire push;
|
| 47 |
+
wire pop;
|
| 48 |
+
reg [MEM_AWIDTH:0] mOutPtr;
|
| 49 |
+
reg empty_n = 1'b0;
|
| 50 |
+
reg full_n = 1'b1;
|
| 51 |
+
// has num_data_valid?
|
| 52 |
+
wire num_extra_words;//yes
|
| 53 |
+
reg [ADDR_WIDTH:0] num_data_valid; //yes
|
| 54 |
+
|
| 55 |
+
wire pop_dout;
|
| 56 |
+
reg [ADDR_WIDTH:0] num_data_cnt;
|
| 57 |
+
reg dout_vld = 1'b0;
|
| 58 |
+
|
| 59 |
+
//------------------------Instantiation------------------
|
| 60 |
+
myproject_fifo_w768_d1024_A_ram
|
| 61 |
+
#( .MEM_STYLE (MEM_STYLE),
|
| 62 |
+
.DATA_WIDTH (DATA_WIDTH),
|
| 63 |
+
.ADDR_WIDTH (MEM_AWIDTH),
|
| 64 |
+
.DEPTH (MEM_DEPTH)
|
| 65 |
+
) U_myproject_fifo_w768_d1024_A_ram (
|
| 66 |
+
.clk (clk),
|
| 67 |
+
.reset (reset),
|
| 68 |
+
.we (push),
|
| 69 |
+
.waddr (waddr),
|
| 70 |
+
.din (if_din),
|
| 71 |
+
.raddr (raddr),
|
| 72 |
+
.rden (pop),
|
| 73 |
+
.dout (if_dout)
|
| 74 |
+
);
|
| 75 |
+
|
| 76 |
+
//------------------------Task and function--------------
|
| 77 |
+
function integer clog2;
|
| 78 |
+
input integer x;
|
| 79 |
+
integer n, m;
|
| 80 |
+
begin
|
| 81 |
+
n = 1;
|
| 82 |
+
m = 2;
|
| 83 |
+
while (m < x) begin
|
| 84 |
+
n = n + 1;
|
| 85 |
+
m = m * 2;
|
| 86 |
+
end
|
| 87 |
+
clog2 = n;
|
| 88 |
+
end
|
| 89 |
+
endfunction
|
| 90 |
+
//------------------------Body---------------------------
|
| 91 |
+
// num_data_valid
|
| 92 |
+
assign if_num_data_valid = num_data_valid;
|
| 93 |
+
assign if_fifo_cap = DEPTH;
|
| 94 |
+
|
| 95 |
+
// almost full/empty
|
| 96 |
+
|
| 97 |
+
// program full/empty
|
| 98 |
+
|
| 99 |
+
assign if_full_n = full_n;
|
| 100 |
+
assign if_empty_n = dout_vld;
|
| 101 |
+
|
| 102 |
+
assign push = full_n & if_write_ce & if_write;
|
| 103 |
+
assign pop = empty_n & (pop_dout | ~dout_vld);
|
| 104 |
+
assign pop_dout = dout_vld & if_read_ce & if_read;
|
| 105 |
+
|
| 106 |
+
assign wnext = !push ? waddr :
|
| 107 |
+
(waddr == MEM_DEPTH - 1) ? 1'b0 :
|
| 108 |
+
waddr + 1'b1;
|
| 109 |
+
assign rnext = !pop ? raddr :
|
| 110 |
+
(raddr == MEM_DEPTH - 1) ? 1'b0 :
|
| 111 |
+
raddr + 1'b1;
|
| 112 |
+
|
| 113 |
+
// waddr
|
| 114 |
+
always @(posedge clk) begin
|
| 115 |
+
if (reset)
|
| 116 |
+
waddr <= {MEM_AWIDTH{1'b0}};
|
| 117 |
+
else
|
| 118 |
+
waddr <= wnext;
|
| 119 |
+
end
|
| 120 |
+
|
| 121 |
+
// raddr
|
| 122 |
+
always @(posedge clk) begin
|
| 123 |
+
if (reset)
|
| 124 |
+
raddr <= {MEM_AWIDTH{1'b0}};
|
| 125 |
+
else
|
| 126 |
+
raddr <= rnext;
|
| 127 |
+
end
|
| 128 |
+
|
| 129 |
+
// mOutPtr
|
| 130 |
+
always @(posedge clk) begin
|
| 131 |
+
if (reset)
|
| 132 |
+
mOutPtr <= {MEM_AWIDTH+1{1'b0}};
|
| 133 |
+
else if (push & ~pop)
|
| 134 |
+
mOutPtr <= mOutPtr + 1'b1;
|
| 135 |
+
else if (~push & pop)
|
| 136 |
+
mOutPtr <= mOutPtr - 1'b1;
|
| 137 |
+
end
|
| 138 |
+
|
| 139 |
+
// full_n
|
| 140 |
+
always @(posedge clk) begin
|
| 141 |
+
if (reset)
|
| 142 |
+
full_n <= 1'b1;
|
| 143 |
+
else if ((push & ~pop_dout) && (num_data_cnt == DEPTH - 1))
|
| 144 |
+
full_n <= 1'b0;
|
| 145 |
+
else if (~push & pop_dout)
|
| 146 |
+
full_n <= 1'b1;
|
| 147 |
+
end
|
| 148 |
+
|
| 149 |
+
// empty_n
|
| 150 |
+
always @(posedge clk) begin
|
| 151 |
+
if (reset)
|
| 152 |
+
empty_n <= 1'b0;
|
| 153 |
+
else if (push & ~pop)
|
| 154 |
+
empty_n <= 1'b1;
|
| 155 |
+
else if ((~push & pop) && (mOutPtr == 1))
|
| 156 |
+
empty_n <= 1'b0;
|
| 157 |
+
end
|
| 158 |
+
|
| 159 |
+
// almost_full_n
|
| 160 |
+
|
| 161 |
+
// almost_empty_n
|
| 162 |
+
|
| 163 |
+
// prog_full_n
|
| 164 |
+
|
| 165 |
+
// prog_empty_n
|
| 166 |
+
|
| 167 |
+
// num_data_cnt
|
| 168 |
+
always @(posedge clk) begin
|
| 169 |
+
if (reset)
|
| 170 |
+
num_data_cnt <= {ADDR_WIDTH+1{1'b0}};
|
| 171 |
+
else if ( push & ~pop_dout)
|
| 172 |
+
num_data_cnt <= num_data_cnt + 1'b1;
|
| 173 |
+
else if (~push & pop_dout)
|
| 174 |
+
num_data_cnt <= num_data_cnt - 1'b1;
|
| 175 |
+
end
|
| 176 |
+
|
| 177 |
+
// num_data_valid
|
| 178 |
+
assign num_extra_words = (dout_vld & ~pop_dout) ? 1 : 0;
|
| 179 |
+
|
| 180 |
+
always @(posedge clk) begin
|
| 181 |
+
if (reset)
|
| 182 |
+
num_data_valid <= {ADDR_WIDTH+1{1'b0}};
|
| 183 |
+
else if (empty_n | (dout_vld & ~pop_dout))
|
| 184 |
+
num_data_valid <= push + mOutPtr + num_extra_words;
|
| 185 |
+
else
|
| 186 |
+
num_data_valid <= num_extra_words;
|
| 187 |
+
end //
|
| 188 |
+
|
| 189 |
+
// dout_vld
|
| 190 |
+
always @(posedge clk) begin
|
| 191 |
+
if (reset)
|
| 192 |
+
dout_vld <= 1'b0;
|
| 193 |
+
else if (pop)
|
| 194 |
+
dout_vld <= 1'b1;
|
| 195 |
+
else if (pop_dout)
|
| 196 |
+
dout_vld <= 1'b0;
|
| 197 |
+
end
|
| 198 |
+
|
| 199 |
+
endmodule
|
| 200 |
+
|
| 201 |
+
|
| 202 |
+
module myproject_fifo_w768_d1024_A_ram
|
| 203 |
+
#(parameter
|
| 204 |
+
MEM_STYLE = "auto",
|
| 205 |
+
DATA_WIDTH = 768,
|
| 206 |
+
ADDR_WIDTH = 10,
|
| 207 |
+
DEPTH = 1024)
|
| 208 |
+
(
|
| 209 |
+
input wire clk,
|
| 210 |
+
input wire reset,
|
| 211 |
+
input wire we,
|
| 212 |
+
input wire [ADDR_WIDTH-1:0] waddr,
|
| 213 |
+
input wire [DATA_WIDTH-1:0] din,
|
| 214 |
+
input wire [ADDR_WIDTH-1:0] raddr,
|
| 215 |
+
input wire rden,
|
| 216 |
+
output wire [DATA_WIDTH-1:0] dout
|
| 217 |
+
);
|
| 218 |
+
|
| 219 |
+
(* ram_style = MEM_STYLE *)
|
| 220 |
+
reg [DATA_WIDTH-1:0] mem[0:DEPTH-1];
|
| 221 |
+
reg [DATA_WIDTH-1:0] mem_reg;
|
| 222 |
+
|
| 223 |
+
always @(posedge clk) begin
|
| 224 |
+
if (we)
|
| 225 |
+
mem[waddr] <= din;
|
| 226 |
+
end
|
| 227 |
+
|
| 228 |
+
always @(posedge clk) begin
|
| 229 |
+
if (reset)
|
| 230 |
+
mem_reg <= 0;
|
| 231 |
+
else if (rden)
|
| 232 |
+
mem_reg <= mem[raddr];
|
| 233 |
+
end
|
| 234 |
+
|
| 235 |
+
assign dout = mem_reg;
|
| 236 |
+
|
| 237 |
+
endmodule
|
myproject_prj/solution1/syn/verilog/myproject_flow_control_loop_pipe_no_ap_cont.v
ADDED
|
@@ -0,0 +1,104 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// ==============================================================
|
| 2 |
+
// Vitis HLS - High-Level Synthesis from C, C++ and OpenCL v2024.1 (64-bit)
|
| 3 |
+
// Tool Version Limit: 2024.05
|
| 4 |
+
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
| 5 |
+
// Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.
|
| 6 |
+
//
|
| 7 |
+
// ==============================================================
|
| 8 |
+
|
| 9 |
+
`timescale 1 ns / 1 ps
|
| 10 |
+
|
| 11 |
+
module myproject_flow_control_loop_pipe_no_ap_cont(
|
| 12 |
+
ap_clk,
|
| 13 |
+
ap_rst,
|
| 14 |
+
ap_start,
|
| 15 |
+
ap_ready,
|
| 16 |
+
ap_done,
|
| 17 |
+
ap_start_int,
|
| 18 |
+
ap_ready_int,
|
| 19 |
+
ap_done_int,
|
| 20 |
+
ap_continue_int,
|
| 21 |
+
ap_loop_init,
|
| 22 |
+
ap_loop_exit_ready,
|
| 23 |
+
ap_loop_exit_done
|
| 24 |
+
);
|
| 25 |
+
|
| 26 |
+
input ap_clk;
|
| 27 |
+
input ap_rst;
|
| 28 |
+
|
| 29 |
+
//Block level handshake with outside loop
|
| 30 |
+
input ap_start;
|
| 31 |
+
output ap_ready;
|
| 32 |
+
output ap_done;
|
| 33 |
+
|
| 34 |
+
//Block level handshake with loop body
|
| 35 |
+
output ap_start_int;
|
| 36 |
+
input ap_ready_int;
|
| 37 |
+
input ap_done_int;
|
| 38 |
+
output ap_continue_int;
|
| 39 |
+
|
| 40 |
+
//Init live in variables
|
| 41 |
+
output ap_loop_init;
|
| 42 |
+
reg ap_loop_init;
|
| 43 |
+
reg ap_done;
|
| 44 |
+
reg ap_done_cache;
|
| 45 |
+
|
| 46 |
+
//Exit signal from loop body
|
| 47 |
+
input ap_loop_exit_ready;
|
| 48 |
+
input ap_loop_exit_done;
|
| 49 |
+
|
| 50 |
+
// power-on initialization
|
| 51 |
+
initial begin
|
| 52 |
+
#0 ap_loop_init = 1'b1;
|
| 53 |
+
#0 ap_done_cache = 1'b0;
|
| 54 |
+
end
|
| 55 |
+
|
| 56 |
+
assign ap_start_int = ap_start;
|
| 57 |
+
|
| 58 |
+
assign ap_continue_int = 1'b1;
|
| 59 |
+
|
| 60 |
+
assign ap_ready = ap_loop_exit_ready;
|
| 61 |
+
|
| 62 |
+
//ap_loop_init is valid for the first II
|
| 63 |
+
//of the first loop run so as to enable
|
| 64 |
+
//the init block ops which are pushed into
|
| 65 |
+
//the first state of the pipeline region
|
| 66 |
+
always @ (posedge ap_clk)
|
| 67 |
+
begin
|
| 68 |
+
if (ap_rst == 1'b1) begin
|
| 69 |
+
ap_loop_init <= 1'b1;
|
| 70 |
+
end else if(ap_loop_exit_ready == 1'b1) begin
|
| 71 |
+
ap_loop_init <= 1'b1;
|
| 72 |
+
end else if(ap_ready_int == 1'b1) begin
|
| 73 |
+
ap_loop_init <= 1'b0;
|
| 74 |
+
end
|
| 75 |
+
end
|
| 76 |
+
|
| 77 |
+
// if no ap_continue port and current module is not top module,
|
| 78 |
+
// ap_done handshakes with ap_start. Internally, flow control sends out
|
| 79 |
+
// ap_conintue_int = 1'b1 so the ap_done_int is asserted high for 1 clock cycle.
|
| 80 |
+
// ap_done_cache is used to record ap_done_int, and de-assert if ap_start_int
|
| 81 |
+
// is asserted, so DUT can start the next run
|
| 82 |
+
always @(posedge ap_clk)
|
| 83 |
+
begin
|
| 84 |
+
if (ap_rst == 1'b1) begin
|
| 85 |
+
ap_done_cache <= 1'b0;
|
| 86 |
+
end else if (ap_done_int == 1'b1) begin
|
| 87 |
+
ap_done_cache <= 1'b1;
|
| 88 |
+
end else if (ap_start_int == 1'b1) begin
|
| 89 |
+
ap_done_cache <= 1'b0;
|
| 90 |
+
end
|
| 91 |
+
end
|
| 92 |
+
|
| 93 |
+
// if no ap_continue port and current module is not top module, ap_done handshakes with ap_start
|
| 94 |
+
always @(*)
|
| 95 |
+
begin
|
| 96 |
+
if ((ap_done_int == 1'b1) || ((ap_done_cache == 1'b1) && (ap_start_int == 1'b0))) begin
|
| 97 |
+
ap_done = 1'b1;
|
| 98 |
+
end else begin
|
| 99 |
+
ap_done = 1'b0;
|
| 100 |
+
end
|
| 101 |
+
end
|
| 102 |
+
|
| 103 |
+
endmodule
|
| 104 |
+
|
myproject_prj/solution1/syn/verilog/myproject_flow_control_loop_pipe_sequential_init.v
ADDED
|
@@ -0,0 +1,107 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// ==============================================================
|
| 2 |
+
// Vitis HLS - High-Level Synthesis from C, C++ and OpenCL v2024.1 (64-bit)
|
| 3 |
+
// Tool Version Limit: 2024.05
|
| 4 |
+
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
| 5 |
+
// Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.
|
| 6 |
+
//
|
| 7 |
+
// ==============================================================
|
| 8 |
+
|
| 9 |
+
`timescale 1 ns / 1 ps
|
| 10 |
+
|
| 11 |
+
module myproject_flow_control_loop_pipe_sequential_init(
|
| 12 |
+
ap_clk,
|
| 13 |
+
ap_rst,
|
| 14 |
+
ap_start,
|
| 15 |
+
ap_ready,
|
| 16 |
+
ap_done,
|
| 17 |
+
ap_start_int,
|
| 18 |
+
ap_ready_int,
|
| 19 |
+
ap_done_int,
|
| 20 |
+
ap_continue_int,
|
| 21 |
+
ap_loop_init,
|
| 22 |
+
ap_loop_exit_ready,
|
| 23 |
+
ap_loop_exit_done
|
| 24 |
+
);
|
| 25 |
+
|
| 26 |
+
input ap_clk;
|
| 27 |
+
input ap_rst;
|
| 28 |
+
|
| 29 |
+
//Block level handshake with outside loop
|
| 30 |
+
input ap_start;
|
| 31 |
+
output ap_ready;
|
| 32 |
+
output ap_done;
|
| 33 |
+
|
| 34 |
+
//Block level handshake with loop body
|
| 35 |
+
output ap_start_int;
|
| 36 |
+
input ap_ready_int;
|
| 37 |
+
input ap_done_int;
|
| 38 |
+
output ap_continue_int;
|
| 39 |
+
|
| 40 |
+
//Init live in variables
|
| 41 |
+
output ap_loop_init;
|
| 42 |
+
wire ap_loop_init;
|
| 43 |
+
reg ap_loop_init_int;
|
| 44 |
+
reg ap_done;
|
| 45 |
+
reg ap_done_cache;
|
| 46 |
+
|
| 47 |
+
//Exit signal from loop body
|
| 48 |
+
input ap_loop_exit_ready;
|
| 49 |
+
input ap_loop_exit_done;
|
| 50 |
+
|
| 51 |
+
// power-on initialization
|
| 52 |
+
initial begin
|
| 53 |
+
#0 ap_loop_init_int = 1'b1;
|
| 54 |
+
#0 ap_done_cache = 1'b0;
|
| 55 |
+
end
|
| 56 |
+
|
| 57 |
+
assign ap_start_int = ap_start;
|
| 58 |
+
|
| 59 |
+
assign ap_continue_int = 1'b1;
|
| 60 |
+
|
| 61 |
+
assign ap_ready = ap_loop_exit_ready;
|
| 62 |
+
|
| 63 |
+
//ap_loop_init is valid for the first II
|
| 64 |
+
//of the first loop run so as to enable
|
| 65 |
+
//the init block ops which are pushed into
|
| 66 |
+
//the first state of the pipeline region
|
| 67 |
+
always @ (posedge ap_clk)
|
| 68 |
+
begin
|
| 69 |
+
if (ap_rst == 1'b1) begin
|
| 70 |
+
ap_loop_init_int <= 1'b1;
|
| 71 |
+
end else if(ap_loop_exit_done == 1'b1) begin
|
| 72 |
+
ap_loop_init_int <= 1'b1;
|
| 73 |
+
end else if(ap_ready_int == 1'b1) begin
|
| 74 |
+
ap_loop_init_int <= 1'b0;
|
| 75 |
+
end
|
| 76 |
+
end
|
| 77 |
+
|
| 78 |
+
assign ap_loop_init = ap_loop_init_int & ap_start;
|
| 79 |
+
|
| 80 |
+
// if no ap_continue port and current module is not top module,
|
| 81 |
+
// ap_done handshakes with ap_start. Internally, flow control sends out
|
| 82 |
+
// ap_conintue_int = 1'b1 so the ap_done_int is asserted high for 1 clock cycle.
|
| 83 |
+
// ap_done_cache is used to record ap_done_int, and de-assert if ap_start_int
|
| 84 |
+
// is asserted, so DUT can start the next run
|
| 85 |
+
always @(posedge ap_clk)
|
| 86 |
+
begin
|
| 87 |
+
if (ap_rst == 1'b1) begin
|
| 88 |
+
ap_done_cache <= 1'b0;
|
| 89 |
+
end else if (ap_done_int == 1'b1) begin
|
| 90 |
+
ap_done_cache <= 1'b1;
|
| 91 |
+
end else if (ap_start_int == 1'b1) begin
|
| 92 |
+
ap_done_cache <= 1'b0;
|
| 93 |
+
end
|
| 94 |
+
end
|
| 95 |
+
|
| 96 |
+
// if no ap_continue port and current module is not top module, ap_done handshakes with ap_start
|
| 97 |
+
always @(*)
|
| 98 |
+
begin
|
| 99 |
+
if ((ap_done_int == 1'b1) || ((ap_done_cache == 1'b1) && (ap_start_int == 1'b0))) begin
|
| 100 |
+
ap_done = 1'b1;
|
| 101 |
+
end else begin
|
| 102 |
+
ap_done = 1'b0;
|
| 103 |
+
end
|
| 104 |
+
end
|
| 105 |
+
|
| 106 |
+
endmodule
|
| 107 |
+
|
myproject_prj/solution1/syn/verilog/myproject_mac_muladd_16s_10s_33s_33_1_1.v
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// ==============================================================
|
| 2 |
+
// Generated by Vitis HLS v2024.1
|
| 3 |
+
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
| 4 |
+
// Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.
|
| 5 |
+
// ==============================================================
|
| 6 |
+
// 67d7842dbbe25473c3c32b93c0da8047785f30d78e8a024de1b57352245f9689
|
| 7 |
+
//
|
| 8 |
+
//
|
| 9 |
+
//
|
| 10 |
+
`timescale 1 ns / 1 ps
|
| 11 |
+
//
|
| 12 |
+
module myproject_mac_muladd_16s_10s_33s_33_1_1_DSP48_0(
|
| 13 |
+
input [16 - 1:0] in0,
|
| 14 |
+
input [10 - 1:0] in1,
|
| 15 |
+
input [33 - 1:0] in2,
|
| 16 |
+
output [33 - 1:0] dout);
|
| 17 |
+
|
| 18 |
+
wire signed [27 - 1:0] a;
|
| 19 |
+
wire signed [18 - 1:0] b;
|
| 20 |
+
wire signed [48 - 1:0] c;
|
| 21 |
+
wire signed [45 - 1:0] m;
|
| 22 |
+
wire signed [48 - 1:0] p;
|
| 23 |
+
|
| 24 |
+
assign a = $signed(in0);
|
| 25 |
+
assign b = $signed(in1);
|
| 26 |
+
assign c = $signed(in2);
|
| 27 |
+
|
| 28 |
+
assign m = a * b;
|
| 29 |
+
//
|
| 30 |
+
assign p = m + c;
|
| 31 |
+
//
|
| 32 |
+
assign dout = p;
|
| 33 |
+
|
| 34 |
+
endmodule
|
| 35 |
+
//
|
| 36 |
+
|
| 37 |
+
module myproject_mac_muladd_16s_10s_33s_33_1_1(
|
| 38 |
+
//
|
| 39 |
+
din0,
|
| 40 |
+
din1,
|
| 41 |
+
din2,
|
| 42 |
+
dout);
|
| 43 |
+
|
| 44 |
+
parameter ID = 32'd1;
|
| 45 |
+
parameter NUM_STAGE = 32'd1;
|
| 46 |
+
parameter din0_WIDTH = 32'd1;
|
| 47 |
+
parameter din1_WIDTH = 32'd1;
|
| 48 |
+
parameter din2_WIDTH = 32'd1;
|
| 49 |
+
parameter dout_WIDTH = 32'd1;
|
| 50 |
+
//
|
| 51 |
+
input[din0_WIDTH - 1:0] din0;
|
| 52 |
+
input[din1_WIDTH - 1:0] din1;
|
| 53 |
+
input[din2_WIDTH - 1:0] din2;
|
| 54 |
+
output[dout_WIDTH - 1:0] dout;
|
| 55 |
+
|
| 56 |
+
|
| 57 |
+
myproject_mac_muladd_16s_10s_33s_33_1_1_DSP48_0 myproject_mac_muladd_16s_10s_33s_33_1_1_DSP48_0_U(
|
| 58 |
+
//
|
| 59 |
+
.in0( din0 ),
|
| 60 |
+
.in1( din1 ),
|
| 61 |
+
.in2( din2 ),
|
| 62 |
+
.dout( dout ));
|
| 63 |
+
|
| 64 |
+
endmodule
|
| 65 |
+
|
| 66 |
+
|
myproject_prj/solution1/syn/verilog/myproject_mac_muladd_16s_16s_33s_33_1_1.v
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// ==============================================================
|
| 2 |
+
// Generated by Vitis HLS v2024.1
|
| 3 |
+
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
| 4 |
+
// Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.
|
| 5 |
+
// ==============================================================
|
| 6 |
+
// 67d7842dbbe25473c3c32b93c0da8047785f30d78e8a024de1b57352245f9689
|
| 7 |
+
//
|
| 8 |
+
//
|
| 9 |
+
//
|
| 10 |
+
`timescale 1 ns / 1 ps
|
| 11 |
+
//
|
| 12 |
+
module myproject_mac_muladd_16s_16s_33s_33_1_1_DSP48_0(
|
| 13 |
+
input [16 - 1:0] in0,
|
| 14 |
+
input [16 - 1:0] in1,
|
| 15 |
+
input [33 - 1:0] in2,
|
| 16 |
+
output [33 - 1:0] dout);
|
| 17 |
+
|
| 18 |
+
wire signed [27 - 1:0] a;
|
| 19 |
+
wire signed [18 - 1:0] b;
|
| 20 |
+
wire signed [48 - 1:0] c;
|
| 21 |
+
wire signed [45 - 1:0] m;
|
| 22 |
+
wire signed [48 - 1:0] p;
|
| 23 |
+
|
| 24 |
+
assign a = $signed(in0);
|
| 25 |
+
assign b = $signed(in1);
|
| 26 |
+
assign c = $signed(in2);
|
| 27 |
+
|
| 28 |
+
assign m = a * b;
|
| 29 |
+
//
|
| 30 |
+
assign p = m + c;
|
| 31 |
+
//
|
| 32 |
+
assign dout = p;
|
| 33 |
+
|
| 34 |
+
endmodule
|
| 35 |
+
//
|
| 36 |
+
|
| 37 |
+
module myproject_mac_muladd_16s_16s_33s_33_1_1(
|
| 38 |
+
//
|
| 39 |
+
din0,
|
| 40 |
+
din1,
|
| 41 |
+
din2,
|
| 42 |
+
dout);
|
| 43 |
+
|
| 44 |
+
parameter ID = 32'd1;
|
| 45 |
+
parameter NUM_STAGE = 32'd1;
|
| 46 |
+
parameter din0_WIDTH = 32'd1;
|
| 47 |
+
parameter din1_WIDTH = 32'd1;
|
| 48 |
+
parameter din2_WIDTH = 32'd1;
|
| 49 |
+
parameter dout_WIDTH = 32'd1;
|
| 50 |
+
//
|
| 51 |
+
input[din0_WIDTH - 1:0] din0;
|
| 52 |
+
input[din1_WIDTH - 1:0] din1;
|
| 53 |
+
input[din2_WIDTH - 1:0] din2;
|
| 54 |
+
output[dout_WIDTH - 1:0] dout;
|
| 55 |
+
|
| 56 |
+
|
| 57 |
+
myproject_mac_muladd_16s_16s_33s_33_1_1_DSP48_0 myproject_mac_muladd_16s_16s_33s_33_1_1_DSP48_0_U(
|
| 58 |
+
//
|
| 59 |
+
.in0( din0 ),
|
| 60 |
+
.in1( din1 ),
|
| 61 |
+
.in2( din2 ),
|
| 62 |
+
.dout( dout ));
|
| 63 |
+
|
| 64 |
+
endmodule
|
| 65 |
+
|
| 66 |
+
|
myproject_prj/solution1/syn/verilog/myproject_mac_muladd_16s_16s_40s_41_1_1.v
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// ==============================================================
|
| 2 |
+
// Generated by Vitis HLS v2024.1
|
| 3 |
+
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
| 4 |
+
// Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.
|
| 5 |
+
// ==============================================================
|
| 6 |
+
// 67d7842dbbe25473c3c32b93c0da8047785f30d78e8a024de1b57352245f9689
|
| 7 |
+
//
|
| 8 |
+
//
|
| 9 |
+
//
|
| 10 |
+
`timescale 1 ns / 1 ps
|
| 11 |
+
//
|
| 12 |
+
module myproject_mac_muladd_16s_16s_40s_41_1_1_DSP48_0(
|
| 13 |
+
input [16 - 1:0] in0,
|
| 14 |
+
input [16 - 1:0] in1,
|
| 15 |
+
input [40 - 1:0] in2,
|
| 16 |
+
output [41 - 1:0] dout);
|
| 17 |
+
|
| 18 |
+
wire signed [27 - 1:0] a;
|
| 19 |
+
wire signed [18 - 1:0] b;
|
| 20 |
+
wire signed [48 - 1:0] c;
|
| 21 |
+
wire signed [45 - 1:0] m;
|
| 22 |
+
wire signed [48 - 1:0] p;
|
| 23 |
+
|
| 24 |
+
assign a = $signed(in0);
|
| 25 |
+
assign b = $signed(in1);
|
| 26 |
+
assign c = $signed(in2);
|
| 27 |
+
|
| 28 |
+
assign m = a * b;
|
| 29 |
+
//
|
| 30 |
+
assign p = m + c;
|
| 31 |
+
//
|
| 32 |
+
assign dout = p;
|
| 33 |
+
|
| 34 |
+
endmodule
|
| 35 |
+
//
|
| 36 |
+
|
| 37 |
+
module myproject_mac_muladd_16s_16s_40s_41_1_1(
|
| 38 |
+
//
|
| 39 |
+
din0,
|
| 40 |
+
din1,
|
| 41 |
+
din2,
|
| 42 |
+
dout);
|
| 43 |
+
|
| 44 |
+
parameter ID = 32'd1;
|
| 45 |
+
parameter NUM_STAGE = 32'd1;
|
| 46 |
+
parameter din0_WIDTH = 32'd1;
|
| 47 |
+
parameter din1_WIDTH = 32'd1;
|
| 48 |
+
parameter din2_WIDTH = 32'd1;
|
| 49 |
+
parameter dout_WIDTH = 32'd1;
|
| 50 |
+
//
|
| 51 |
+
input[din0_WIDTH - 1:0] din0;
|
| 52 |
+
input[din1_WIDTH - 1:0] din1;
|
| 53 |
+
input[din2_WIDTH - 1:0] din2;
|
| 54 |
+
output[dout_WIDTH - 1:0] dout;
|
| 55 |
+
|
| 56 |
+
|
| 57 |
+
myproject_mac_muladd_16s_16s_40s_41_1_1_DSP48_0 myproject_mac_muladd_16s_16s_40s_41_1_1_DSP48_0_U(
|
| 58 |
+
//
|
| 59 |
+
.in0( din0 ),
|
| 60 |
+
.in1( din1 ),
|
| 61 |
+
.in2( din2 ),
|
| 62 |
+
.dout( dout ));
|
| 63 |
+
|
| 64 |
+
endmodule
|
| 65 |
+
|
| 66 |
+
|
myproject_prj/solution1/syn/verilog/myproject_mac_muladd_16s_16s_41s_42_1_1.v
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// ==============================================================
|
| 2 |
+
// Generated by Vitis HLS v2024.1
|
| 3 |
+
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
| 4 |
+
// Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.
|
| 5 |
+
// ==============================================================
|
| 6 |
+
// 67d7842dbbe25473c3c32b93c0da8047785f30d78e8a024de1b57352245f9689
|
| 7 |
+
//
|
| 8 |
+
//
|
| 9 |
+
//
|
| 10 |
+
`timescale 1 ns / 1 ps
|
| 11 |
+
//
|
| 12 |
+
module myproject_mac_muladd_16s_16s_41s_42_1_1_DSP48_0(
|
| 13 |
+
input [16 - 1:0] in0,
|
| 14 |
+
input [16 - 1:0] in1,
|
| 15 |
+
input [41 - 1:0] in2,
|
| 16 |
+
output [42 - 1:0] dout);
|
| 17 |
+
|
| 18 |
+
wire signed [27 - 1:0] a;
|
| 19 |
+
wire signed [18 - 1:0] b;
|
| 20 |
+
wire signed [48 - 1:0] c;
|
| 21 |
+
wire signed [45 - 1:0] m;
|
| 22 |
+
wire signed [48 - 1:0] p;
|
| 23 |
+
|
| 24 |
+
assign a = $signed(in0);
|
| 25 |
+
assign b = $signed(in1);
|
| 26 |
+
assign c = $signed(in2);
|
| 27 |
+
|
| 28 |
+
assign m = a * b;
|
| 29 |
+
//
|
| 30 |
+
assign p = m + c;
|
| 31 |
+
//
|
| 32 |
+
assign dout = p;
|
| 33 |
+
|
| 34 |
+
endmodule
|
| 35 |
+
//
|
| 36 |
+
|
| 37 |
+
module myproject_mac_muladd_16s_16s_41s_42_1_1(
|
| 38 |
+
//
|
| 39 |
+
din0,
|
| 40 |
+
din1,
|
| 41 |
+
din2,
|
| 42 |
+
dout);
|
| 43 |
+
|
| 44 |
+
parameter ID = 32'd1;
|
| 45 |
+
parameter NUM_STAGE = 32'd1;
|
| 46 |
+
parameter din0_WIDTH = 32'd1;
|
| 47 |
+
parameter din1_WIDTH = 32'd1;
|
| 48 |
+
parameter din2_WIDTH = 32'd1;
|
| 49 |
+
parameter dout_WIDTH = 32'd1;
|
| 50 |
+
//
|
| 51 |
+
input[din0_WIDTH - 1:0] din0;
|
| 52 |
+
input[din1_WIDTH - 1:0] din1;
|
| 53 |
+
input[din2_WIDTH - 1:0] din2;
|
| 54 |
+
output[dout_WIDTH - 1:0] dout;
|
| 55 |
+
|
| 56 |
+
|
| 57 |
+
myproject_mac_muladd_16s_16s_41s_42_1_1_DSP48_0 myproject_mac_muladd_16s_16s_41s_42_1_1_DSP48_0_U(
|
| 58 |
+
//
|
| 59 |
+
.in0( din0 ),
|
| 60 |
+
.in1( din1 ),
|
| 61 |
+
.in2( din2 ),
|
| 62 |
+
.dout( dout ));
|
| 63 |
+
|
| 64 |
+
endmodule
|
| 65 |
+
|
| 66 |
+
|
myproject_prj/solution1/syn/verilog/myproject_mac_muladd_16s_9s_31s_31_1_1.v
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// ==============================================================
|
| 2 |
+
// Generated by Vitis HLS v2024.1
|
| 3 |
+
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
| 4 |
+
// Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.
|
| 5 |
+
// ==============================================================
|
| 6 |
+
// 67d7842dbbe25473c3c32b93c0da8047785f30d78e8a024de1b57352245f9689
|
| 7 |
+
//
|
| 8 |
+
//
|
| 9 |
+
//
|
| 10 |
+
`timescale 1 ns / 1 ps
|
| 11 |
+
//
|
| 12 |
+
module myproject_mac_muladd_16s_9s_31s_31_1_1_DSP48_0(
|
| 13 |
+
input [16 - 1:0] in0,
|
| 14 |
+
input [9 - 1:0] in1,
|
| 15 |
+
input [31 - 1:0] in2,
|
| 16 |
+
output [31 - 1:0] dout);
|
| 17 |
+
|
| 18 |
+
wire signed [27 - 1:0] a;
|
| 19 |
+
wire signed [18 - 1:0] b;
|
| 20 |
+
wire signed [48 - 1:0] c;
|
| 21 |
+
wire signed [45 - 1:0] m;
|
| 22 |
+
wire signed [48 - 1:0] p;
|
| 23 |
+
|
| 24 |
+
assign a = $signed(in0);
|
| 25 |
+
assign b = $signed(in1);
|
| 26 |
+
assign c = $signed(in2);
|
| 27 |
+
|
| 28 |
+
assign m = a * b;
|
| 29 |
+
//
|
| 30 |
+
assign p = m + c;
|
| 31 |
+
//
|
| 32 |
+
assign dout = p;
|
| 33 |
+
|
| 34 |
+
endmodule
|
| 35 |
+
//
|
| 36 |
+
|
| 37 |
+
module myproject_mac_muladd_16s_9s_31s_31_1_1(
|
| 38 |
+
//
|
| 39 |
+
din0,
|
| 40 |
+
din1,
|
| 41 |
+
din2,
|
| 42 |
+
dout);
|
| 43 |
+
|
| 44 |
+
parameter ID = 32'd1;
|
| 45 |
+
parameter NUM_STAGE = 32'd1;
|
| 46 |
+
parameter din0_WIDTH = 32'd1;
|
| 47 |
+
parameter din1_WIDTH = 32'd1;
|
| 48 |
+
parameter din2_WIDTH = 32'd1;
|
| 49 |
+
parameter dout_WIDTH = 32'd1;
|
| 50 |
+
//
|
| 51 |
+
input[din0_WIDTH - 1:0] din0;
|
| 52 |
+
input[din1_WIDTH - 1:0] din1;
|
| 53 |
+
input[din2_WIDTH - 1:0] din2;
|
| 54 |
+
output[dout_WIDTH - 1:0] dout;
|
| 55 |
+
|
| 56 |
+
|
| 57 |
+
myproject_mac_muladd_16s_9s_31s_31_1_1_DSP48_0 myproject_mac_muladd_16s_9s_31s_31_1_1_DSP48_0_U(
|
| 58 |
+
//
|
| 59 |
+
.in0( din0 ),
|
| 60 |
+
.in1( din1 ),
|
| 61 |
+
.in2( din2 ),
|
| 62 |
+
.dout( dout ));
|
| 63 |
+
|
| 64 |
+
endmodule
|
| 65 |
+
|
| 66 |
+
|
myproject_prj/solution1/syn/verilog/myproject_mac_muladd_16s_9s_34s_34_1_1.v
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// ==============================================================
|
| 2 |
+
// Generated by Vitis HLS v2024.1
|
| 3 |
+
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
| 4 |
+
// Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.
|
| 5 |
+
// ==============================================================
|
| 6 |
+
// 67d7842dbbe25473c3c32b93c0da8047785f30d78e8a024de1b57352245f9689
|
| 7 |
+
//
|
| 8 |
+
//
|
| 9 |
+
//
|
| 10 |
+
`timescale 1 ns / 1 ps
|
| 11 |
+
//
|
| 12 |
+
module myproject_mac_muladd_16s_9s_34s_34_1_1_DSP48_0(
|
| 13 |
+
input [16 - 1:0] in0,
|
| 14 |
+
input [9 - 1:0] in1,
|
| 15 |
+
input [34 - 1:0] in2,
|
| 16 |
+
output [34 - 1:0] dout);
|
| 17 |
+
|
| 18 |
+
wire signed [27 - 1:0] a;
|
| 19 |
+
wire signed [18 - 1:0] b;
|
| 20 |
+
wire signed [48 - 1:0] c;
|
| 21 |
+
wire signed [45 - 1:0] m;
|
| 22 |
+
wire signed [48 - 1:0] p;
|
| 23 |
+
|
| 24 |
+
assign a = $signed(in0);
|
| 25 |
+
assign b = $signed(in1);
|
| 26 |
+
assign c = $signed(in2);
|
| 27 |
+
|
| 28 |
+
assign m = a * b;
|
| 29 |
+
//
|
| 30 |
+
assign p = m + c;
|
| 31 |
+
//
|
| 32 |
+
assign dout = p;
|
| 33 |
+
|
| 34 |
+
endmodule
|
| 35 |
+
//
|
| 36 |
+
|
| 37 |
+
module myproject_mac_muladd_16s_9s_34s_34_1_1(
|
| 38 |
+
//
|
| 39 |
+
din0,
|
| 40 |
+
din1,
|
| 41 |
+
din2,
|
| 42 |
+
dout);
|
| 43 |
+
|
| 44 |
+
parameter ID = 32'd1;
|
| 45 |
+
parameter NUM_STAGE = 32'd1;
|
| 46 |
+
parameter din0_WIDTH = 32'd1;
|
| 47 |
+
parameter din1_WIDTH = 32'd1;
|
| 48 |
+
parameter din2_WIDTH = 32'd1;
|
| 49 |
+
parameter dout_WIDTH = 32'd1;
|
| 50 |
+
//
|
| 51 |
+
input[din0_WIDTH - 1:0] din0;
|
| 52 |
+
input[din1_WIDTH - 1:0] din1;
|
| 53 |
+
input[din2_WIDTH - 1:0] din2;
|
| 54 |
+
output[dout_WIDTH - 1:0] dout;
|
| 55 |
+
|
| 56 |
+
|
| 57 |
+
myproject_mac_muladd_16s_9s_34s_34_1_1_DSP48_0 myproject_mac_muladd_16s_9s_34s_34_1_1_DSP48_0_U(
|
| 58 |
+
//
|
| 59 |
+
.in0( din0 ),
|
| 60 |
+
.in1( din1 ),
|
| 61 |
+
.in2( din2 ),
|
| 62 |
+
.dout( dout ));
|
| 63 |
+
|
| 64 |
+
endmodule
|
| 65 |
+
|
| 66 |
+
|
myproject_prj/solution1/syn/verilog/myproject_mac_muladd_16s_9s_41s_42_1_1.v
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// ==============================================================
|
| 2 |
+
// Generated by Vitis HLS v2024.1
|
| 3 |
+
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
| 4 |
+
// Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.
|
| 5 |
+
// ==============================================================
|
| 6 |
+
// 67d7842dbbe25473c3c32b93c0da8047785f30d78e8a024de1b57352245f9689
|
| 7 |
+
//
|
| 8 |
+
//
|
| 9 |
+
//
|
| 10 |
+
`timescale 1 ns / 1 ps
|
| 11 |
+
//
|
| 12 |
+
module myproject_mac_muladd_16s_9s_41s_42_1_1_DSP48_0(
|
| 13 |
+
input [16 - 1:0] in0,
|
| 14 |
+
input [9 - 1:0] in1,
|
| 15 |
+
input [41 - 1:0] in2,
|
| 16 |
+
output [42 - 1:0] dout);
|
| 17 |
+
|
| 18 |
+
wire signed [27 - 1:0] a;
|
| 19 |
+
wire signed [18 - 1:0] b;
|
| 20 |
+
wire signed [48 - 1:0] c;
|
| 21 |
+
wire signed [45 - 1:0] m;
|
| 22 |
+
wire signed [48 - 1:0] p;
|
| 23 |
+
|
| 24 |
+
assign a = $signed(in0);
|
| 25 |
+
assign b = $signed(in1);
|
| 26 |
+
assign c = $signed(in2);
|
| 27 |
+
|
| 28 |
+
assign m = a * b;
|
| 29 |
+
//
|
| 30 |
+
assign p = m + c;
|
| 31 |
+
//
|
| 32 |
+
assign dout = p;
|
| 33 |
+
|
| 34 |
+
endmodule
|
| 35 |
+
//
|
| 36 |
+
|
| 37 |
+
module myproject_mac_muladd_16s_9s_41s_42_1_1(
|
| 38 |
+
//
|
| 39 |
+
din0,
|
| 40 |
+
din1,
|
| 41 |
+
din2,
|
| 42 |
+
dout);
|
| 43 |
+
|
| 44 |
+
parameter ID = 32'd1;
|
| 45 |
+
parameter NUM_STAGE = 32'd1;
|
| 46 |
+
parameter din0_WIDTH = 32'd1;
|
| 47 |
+
parameter din1_WIDTH = 32'd1;
|
| 48 |
+
parameter din2_WIDTH = 32'd1;
|
| 49 |
+
parameter dout_WIDTH = 32'd1;
|
| 50 |
+
//
|
| 51 |
+
input[din0_WIDTH - 1:0] din0;
|
| 52 |
+
input[din1_WIDTH - 1:0] din1;
|
| 53 |
+
input[din2_WIDTH - 1:0] din2;
|
| 54 |
+
output[dout_WIDTH - 1:0] dout;
|
| 55 |
+
|
| 56 |
+
|
| 57 |
+
myproject_mac_muladd_16s_9s_41s_42_1_1_DSP48_0 myproject_mac_muladd_16s_9s_41s_42_1_1_DSP48_0_U(
|
| 58 |
+
//
|
| 59 |
+
.in0( din0 ),
|
| 60 |
+
.in1( din1 ),
|
| 61 |
+
.in2( din2 ),
|
| 62 |
+
.dout( dout ));
|
| 63 |
+
|
| 64 |
+
endmodule
|
| 65 |
+
|
| 66 |
+
|
myproject_prj/solution1/syn/verilog/myproject_mac_muladd_16s_9s_43s_44_1_1.v
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// ==============================================================
|
| 2 |
+
// Generated by Vitis HLS v2024.1
|
| 3 |
+
// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
|
| 4 |
+
// Copyright 2022-2024 Advanced Micro Devices, Inc. All Rights Reserved.
|
| 5 |
+
// ==============================================================
|
| 6 |
+
// 67d7842dbbe25473c3c32b93c0da8047785f30d78e8a024de1b57352245f9689
|
| 7 |
+
//
|
| 8 |
+
//
|
| 9 |
+
//
|
| 10 |
+
`timescale 1 ns / 1 ps
|
| 11 |
+
//
|
| 12 |
+
module myproject_mac_muladd_16s_9s_43s_44_1_1_DSP48_0(
|
| 13 |
+
input [16 - 1:0] in0,
|
| 14 |
+
input [9 - 1:0] in1,
|
| 15 |
+
input [43 - 1:0] in2,
|
| 16 |
+
output [44 - 1:0] dout);
|
| 17 |
+
|
| 18 |
+
wire signed [27 - 1:0] a;
|
| 19 |
+
wire signed [18 - 1:0] b;
|
| 20 |
+
wire signed [48 - 1:0] c;
|
| 21 |
+
wire signed [45 - 1:0] m;
|
| 22 |
+
wire signed [48 - 1:0] p;
|
| 23 |
+
|
| 24 |
+
assign a = $signed(in0);
|
| 25 |
+
assign b = $signed(in1);
|
| 26 |
+
assign c = $signed(in2);
|
| 27 |
+
|
| 28 |
+
assign m = a * b;
|
| 29 |
+
//
|
| 30 |
+
assign p = m + c;
|
| 31 |
+
//
|
| 32 |
+
assign dout = p;
|
| 33 |
+
|
| 34 |
+
endmodule
|
| 35 |
+
//
|
| 36 |
+
|
| 37 |
+
module myproject_mac_muladd_16s_9s_43s_44_1_1(
|
| 38 |
+
//
|
| 39 |
+
din0,
|
| 40 |
+
din1,
|
| 41 |
+
din2,
|
| 42 |
+
dout);
|
| 43 |
+
|
| 44 |
+
parameter ID = 32'd1;
|
| 45 |
+
parameter NUM_STAGE = 32'd1;
|
| 46 |
+
parameter din0_WIDTH = 32'd1;
|
| 47 |
+
parameter din1_WIDTH = 32'd1;
|
| 48 |
+
parameter din2_WIDTH = 32'd1;
|
| 49 |
+
parameter dout_WIDTH = 32'd1;
|
| 50 |
+
//
|
| 51 |
+
input[din0_WIDTH - 1:0] din0;
|
| 52 |
+
input[din1_WIDTH - 1:0] din1;
|
| 53 |
+
input[din2_WIDTH - 1:0] din2;
|
| 54 |
+
output[dout_WIDTH - 1:0] dout;
|
| 55 |
+
|
| 56 |
+
|
| 57 |
+
myproject_mac_muladd_16s_9s_43s_44_1_1_DSP48_0 myproject_mac_muladd_16s_9s_43s_44_1_1_DSP48_0_U(
|
| 58 |
+
//
|
| 59 |
+
.in0( din0 ),
|
| 60 |
+
.in1( din1 ),
|
| 61 |
+
.in2( din2 ),
|
| 62 |
+
.dout( dout ));
|
| 63 |
+
|
| 64 |
+
endmodule
|
| 65 |
+
|
| 66 |
+
|
myproject_prj/solution1/syn/verilog/myproject_mul_16s_16s_32_1_1.v
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// 67d7842dbbe25473c3c32b93c0da8047785f30d78e8a024de1b57352245f9689
|
| 2 |
+
|
| 3 |
+
`timescale 1 ns / 1 ps
|
| 4 |
+
|
| 5 |
+
module myproject_mul_16s_16s_32_1_1(din0, din1, dout);
|
| 6 |
+
parameter ID = 1;
|
| 7 |
+
parameter NUM_STAGE = 0;
|
| 8 |
+
parameter din0_WIDTH = 14;
|
| 9 |
+
parameter din1_WIDTH = 12;
|
| 10 |
+
parameter dout_WIDTH = 26;
|
| 11 |
+
|
| 12 |
+
input [din0_WIDTH - 1 : 0] din0;
|
| 13 |
+
input [din1_WIDTH - 1 : 0] din1;
|
| 14 |
+
output [dout_WIDTH - 1 : 0] dout;
|
| 15 |
+
|
| 16 |
+
wire signed [dout_WIDTH - 1 : 0] tmp_product;
|
| 17 |
+
|
| 18 |
+
|
| 19 |
+
|
| 20 |
+
|
| 21 |
+
|
| 22 |
+
|
| 23 |
+
|
| 24 |
+
|
| 25 |
+
|
| 26 |
+
|
| 27 |
+
|
| 28 |
+
|
| 29 |
+
|
| 30 |
+
|
| 31 |
+
|
| 32 |
+
|
| 33 |
+
|
| 34 |
+
|
| 35 |
+
|
| 36 |
+
|
| 37 |
+
|
| 38 |
+
|
| 39 |
+
|
| 40 |
+
|
| 41 |
+
|
| 42 |
+
|
| 43 |
+
|
| 44 |
+
assign tmp_product = $signed(din0) * $signed(din1);
|
| 45 |
+
|
| 46 |
+
|
| 47 |
+
|
| 48 |
+
|
| 49 |
+
|
| 50 |
+
|
| 51 |
+
|
| 52 |
+
|
| 53 |
+
assign dout = tmp_product;
|
| 54 |
+
|
| 55 |
+
|
| 56 |
+
|
| 57 |
+
|
| 58 |
+
|
| 59 |
+
|
| 60 |
+
|
| 61 |
+
|
| 62 |
+
|
| 63 |
+
|
| 64 |
+
|
| 65 |
+
|
| 66 |
+
|
| 67 |
+
|
| 68 |
+
|
| 69 |
+
|
| 70 |
+
|
| 71 |
+
|
| 72 |
+
|
| 73 |
+
|
| 74 |
+
|
| 75 |
+
endmodule
|