From 8a1d728de06a3f0a7715f88b4c66978b501212aa Mon Sep 17 00:00:00 2001
From: Reinier van der Walle <walle@astron.nl>
Date: Tue, 15 Aug 2023 11:11:52 +0200
Subject: [PATCH] processed review comments

---
 .../rdma_demo/src/vhdl/rdma_demo_pkg.vhd      | 82 +++++++++----------
 .../vhdl/rdma_demo_roce_tester_wrapper.vhd    |  6 +-
 2 files changed, 45 insertions(+), 43 deletions(-)

diff --git a/applications/rdma_demo/src/vhdl/rdma_demo_pkg.vhd b/applications/rdma_demo/src/vhdl/rdma_demo_pkg.vhd
index a7a4ef3164..438bd8acd6 100644
--- a/applications/rdma_demo/src/vhdl/rdma_demo_pkg.vhd
+++ b/applications/rdma_demo/src/vhdl/rdma_demo_pkg.vhd
@@ -57,10 +57,10 @@ package rdma_demo_pkg is
   constant c_rdma_demo_dp_hdr_field_sel  : std_logic_vector(c_rdma_demo_dp_nof_hdr_fields - 1 downto 0) := "0100";
 
   constant c_rdma_demo_dp_hdr_field_arr : t_common_field_arr(c_rdma_demo_dp_nof_hdr_fields - 1 downto 0) := (
-      ( field_name_pad("dp_length"                               ), "RW", 16, field_default(0) ),
-      ( field_name_pad("dp_reserved"                             ), "RW", 15, field_default(0) ),
-      ( field_name_pad("dp_sync"                                 ), "RW",  1, field_default(0) ),
-      ( field_name_pad("dp_bsn"                                  ), "RW", 64, field_default(0) )
+      ( field_name_pad("dp_length"  ), "RW", 16, field_default(0) ),
+      ( field_name_pad("dp_reserved"), "RW", 15, field_default(0) ),
+      ( field_name_pad("dp_sync"    ), "RW",  1, field_default(0) ),
+      ( field_name_pad("dp_bsn"     ), "RW", 64, field_default(0) )
   );
   constant c_rdma_demo_dp_reg_hdr_dat_addr_w    : natural := ceil_log2(field_nof_words(c_rdma_demo_dp_hdr_field_arr, c_word_w));
   constant c_rdma_demo_dp_reg_hdr_dat_addr_span : natural := 2**c_rdma_demo_dp_reg_hdr_dat_addr_w;
@@ -74,43 +74,43 @@ package rdma_demo_pkg is
   constant c_rdma_demo_roce_hdr_field_sel  : std_logic_vector(c_rdma_demo_roce_nof_hdr_fields - 1 downto 0) :=  "111011111001" & "0100" & "1111111111111" & "111" & "1";
 
   constant c_rdma_demo_roce_hdr_field_arr : t_common_field_arr(c_rdma_demo_roce_nof_hdr_fields - 1 downto 0) := (
-      ( field_name_pad("ip_version"                              ), "RW",  4, field_default(4) ),
-      ( field_name_pad("ip_header_length"                        ), "RW",  4, field_default(5) ),
-      ( field_name_pad("ip_services"                             ), "RW",  8, field_default(0) ),
-      ( field_name_pad("ip_total_length"                         ), "RW", 16, field_default(0) ),  -- depends on BG block size, so set by data path
-      ( field_name_pad("ip_identification"                       ), "RW", 16, field_default(0) ),
-      ( field_name_pad("ip_flags"                                ), "RW",  3, field_default(2) ),
-      ( field_name_pad("ip_fragment_offset"                      ), "RW", 13, field_default(0) ),
-      ( field_name_pad("ip_time_to_live"                         ), "RW",  8, field_default(127) ),
-      ( field_name_pad("ip_protocol"                             ), "RW",  8, field_default(17) ),
-      ( field_name_pad("ip_header_checksum"                      ), "RW", 16, field_default(0) ),
-      ( field_name_pad("ip_src_addr"                             ), "RW", 32, field_default(0) ),
-      ( field_name_pad("ip_dst_addr"                             ), "RW", 32, field_default(0) ),  -- c_eth_tester_ip_dst_addr
-
-      ( field_name_pad("udp_src_port"                            ), "RW", 16, field_default(0) ),
-      ( field_name_pad("udp_dst_port"                            ), "RW", 16, field_default(0) ),  -- c_eth_tester_udp_dst_port
-      ( field_name_pad("udp_total_length"                        ), "RW", 16, field_default(0) ),  -- depends on BG block size, so set by data path
-      ( field_name_pad("udp_checksum"                            ), "RW", 16, field_default(0) ),
-
-      ( field_name_pad("bth_opcode"                              ), "RW",  8, field_default(0) ),
-      ( field_name_pad("bth_se"                                  ), "RW",  1, field_default(0) ),
-      ( field_name_pad("bth_m"                                   ), "RW",  1, field_default(0) ),
-      ( field_name_pad("bth_pad"                                 ), "RW",  2, field_default(0) ),
-      ( field_name_pad("bth_tver"                                ), "RW",  4, field_default(0) ),
-      ( field_name_pad("bth_partition_key"                       ), "RW", 16, field_default(0) ),
-      ( field_name_pad("bth_fres"                                ), "RW",  1, field_default(0) ),
-      ( field_name_pad("bth_bres"                                ), "RW",  1, field_default(0) ),
-      ( field_name_pad("bth_reserved_a"                          ), "RW",  6, field_default(0) ),
-      ( field_name_pad("bth_dest_qp"                             ), "RW", 16, field_default(0) ),
-      ( field_name_pad("bth_ack_req"                             ), "RW",  1, field_default(0) ),
-      ( field_name_pad("bth_reserved_b"                          ), "RW",  7, field_default(0) ),
-      ( field_name_pad("bth_psn"                                 ), "RW", 32, field_default(0) ),
-
-      ( field_name_pad("reth_virtual_address"                    ), "RW", 64, field_default(0) ),
-      ( field_name_pad("reth_r_key"                              ), "RW", 32, field_default(0) ),
-      ( field_name_pad("reth_dma_length"                         ), "RW", 32, field_default(0) ),
-
-      ( field_name_pad("immediate_data"                          ), "RW", 32, field_default(0) )
+      ( field_name_pad("ip_version"          ), "RW",  4, field_default(4) ),
+      ( field_name_pad("ip_header_length"    ), "RW",  4, field_default(5) ),
+      ( field_name_pad("ip_services"         ), "RW",  8, field_default(0) ),
+      ( field_name_pad("ip_total_length"     ), "RW", 16, field_default(0) ),  -- depends on BG block size, so set by data path
+      ( field_name_pad("ip_identification"   ), "RW", 16, field_default(0) ),
+      ( field_name_pad("ip_flags"            ), "RW",  3, field_default(2) ),
+      ( field_name_pad("ip_fragment_offset"  ), "RW", 13, field_default(0) ),
+      ( field_name_pad("ip_time_to_live"     ), "RW",  8, field_default(127) ),
+      ( field_name_pad("ip_protocol"         ), "RW",  8, field_default(17) ),
+      ( field_name_pad("ip_header_checksum"  ), "RW", 16, field_default(0) ),
+      ( field_name_pad("ip_src_addr"         ), "RW", 32, field_default(0) ),
+      ( field_name_pad("ip_dst_addr"         ), "RW", 32, field_default(0) ),  -- c_eth_tester_ip_dst_addr
+
+      ( field_name_pad("udp_src_port"        ), "RW", 16, field_default(0) ),
+      ( field_name_pad("udp_dst_port"        ), "RW", 16, field_default(0) ),  -- c_eth_tester_udp_dst_port
+      ( field_name_pad("udp_total_length"    ), "RW", 16, field_default(0) ),  -- depends on BG block size, so set by data path
+      ( field_name_pad("udp_checksum"        ), "RW", 16, field_default(0) ),
+
+      ( field_name_pad("bth_opcode"          ), "RW",  8, field_default(0) ),
+      ( field_name_pad("bth_se"              ), "RW",  1, field_default(0) ),
+      ( field_name_pad("bth_m"               ), "RW",  1, field_default(0) ),
+      ( field_name_pad("bth_pad"             ), "RW",  2, field_default(0) ),
+      ( field_name_pad("bth_tver"            ), "RW",  4, field_default(0) ),
+      ( field_name_pad("bth_partition_key"   ), "RW", 16, field_default(0) ),
+      ( field_name_pad("bth_fres"            ), "RW",  1, field_default(0) ),
+      ( field_name_pad("bth_bres"            ), "RW",  1, field_default(0) ),
+      ( field_name_pad("bth_reserved_a"      ), "RW",  6, field_default(0) ),
+      ( field_name_pad("bth_dest_qp"         ), "RW", 16, field_default(0) ),
+      ( field_name_pad("bth_ack_req"         ), "RW",  1, field_default(0) ),
+      ( field_name_pad("bth_reserved_b"      ), "RW",  7, field_default(0) ),
+      ( field_name_pad("bth_psn"             ), "RW", 32, field_default(0) ),
+
+      ( field_name_pad("reth_virtual_address"), "RW", 64, field_default(0) ),
+      ( field_name_pad("reth_r_key"          ), "RW", 32, field_default(0) ),
+      ( field_name_pad("reth_dma_length"     ), "RW", 32, field_default(0) ),
+
+      ( field_name_pad("immediate_data"      ), "RW", 32, field_default(0) )
   );
   constant c_rdma_demo_roce_reg_hdr_dat_addr_w    : natural := ceil_log2(field_nof_words(c_rdma_demo_roce_hdr_field_arr, c_word_w));
   constant c_rdma_demo_roce_reg_hdr_dat_addr_span : natural := 2**c_rdma_demo_roce_reg_hdr_dat_addr_w;
diff --git a/applications/rdma_demo/src/vhdl/rdma_demo_roce_tester_wrapper.vhd b/applications/rdma_demo/src/vhdl/rdma_demo_roce_tester_wrapper.vhd
index c5d6cd43b5..7eab44990b 100644
--- a/applications/rdma_demo/src/vhdl/rdma_demo_roce_tester_wrapper.vhd
+++ b/applications/rdma_demo/src/vhdl/rdma_demo_roce_tester_wrapper.vhd
@@ -21,11 +21,12 @@
 -- Purpose: Provide AXI-4-stream interfaces + standard avalon MM interfaces for
 --          eth_tester.vhd such that it can be used to create a Vivado IP block.
 -- Description:
--- . The rdma_demo_eth_tester_wrapper uses axi4_stream_dp_bridge to convert the dp
+-- . The rdma_demo_roce_tester_wrapper uses axi4_stream_dp_bridge to convert the dp
 --   sosi/siso interfaces of the eth_tester into AXI4-Stream interfaces.
 -- . In order for this component to be suitable as a Vivado IP, the ports are
 --   exclusively STD_LOGIC(_VECTOR) where the widths are hard-coded as demanded
 --   by the Vivado IP creator (only supports VHDL-93).
+-- . * roce = RDMA Over Converged Ethernet
 -- Remark
 -- . Avalon is used for all MM interfaces, which can be bridged to AXI4-Lite in
 --   vivado using the AXI AMM Bridge IP.
@@ -195,7 +196,8 @@ begin
     g_hdr_calc_ip_crc    => true,
     g_hdr_field_arr      => c_rdma_demo_roce_hdr_field_arr,
     g_hdr_field_sel      => c_rdma_demo_roce_hdr_field_sel,
-    g_hdr_app_len        => c_rdma_demo_roce_hdr_len + c_rdma_demo_roce_icrc_len, -- Add icrc length here as this generic is used to calculate the total packet length.
+    -- Add icrc length here as g_hdr_app_len is used to calculate the total packet length.
+    g_hdr_app_len        => c_rdma_demo_roce_hdr_len + c_rdma_demo_roce_icrc_len,
     g_remove_crc         => false
   )
   port map (
-- 
GitLab