From 12e05f84c183943efa180f56ca2d69eec73da989 Mon Sep 17 00:00:00 2001
From: Reinier van der Walle <walle@astron.nl>
Date: Thu, 20 Oct 2022 16:40:39 +0200
Subject: [PATCH] processed review comments

---
 libraries/io/nw_10GbE/src/vhdl/nw_arp_request.vhd | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/libraries/io/nw_10GbE/src/vhdl/nw_arp_request.vhd b/libraries/io/nw_10GbE/src/vhdl/nw_arp_request.vhd
index 143c0251e9..1aeeb57d84 100644
--- a/libraries/io/nw_10GbE/src/vhdl/nw_arp_request.vhd
+++ b/libraries/io/nw_10GbE/src/vhdl/nw_arp_request.vhd
@@ -75,6 +75,9 @@ ARCHITECTURE rtl of nw_arp_request IS
   CONSTANT c_dp_field_blk_snk_data_w : NATURAL := field_slv_len(c_hdr_field_arr);
   CONSTANT c_dp_field_blk_src_data_w : NATURAL := c_data_w;
 
+  SIGNAL valid_sha : STD_LOGIC := '0';
+  SIGNAL valid_spa : STD_LOGIC := '0';
+  SIGNAL valid_tpa : STD_LOGIC := '0';
   SIGNAL valid_arp : STD_LOGIC := '0';
   SIGNAL pps_cnt   : NATURAL   := 0;
   SIGNAL trigger   : BOOLEAN   := FALSE;
@@ -102,13 +105,19 @@ BEGIN
   p_dp_pps : PROCESS (dp_clk, dp_rst)
   BEGIN
     IF dp_rst = '1' THEN
+      valid_sha <= '0';
+      valid_spa <= '0';
+      valid_tpa <= '0';
       valid_arp <= '0';
       trigger <= FALSE;
       pps_cnt <= 0;
       dp_field_blk_snk_in <= c_dp_sosi_rst;
     ELSIF RISING_EDGE(dp_clk) THEN
       -- Use signal to indicate if ARP can be enabled.
-      valid_arp <= vector_or(arp_sha) AND vector_or(arp_spa) AND vector_or(arp_tpa);
+      valid_sha <= vector_or(arp_sha);
+      valid_spa <= vector_or(arp_spa);
+      valid_tpa <= vector_or(arp_tpa);
+      valid_arp <= valid_sha AND valid_spa AND valid_tpa;
       IF valid_arp = '1' THEN
         dp_field_blk_snk_in <= nxt_dp_field_blk_snk_in;
         IF trigger AND dp_field_blk_snk_out.ready = '1' AND dp_field_blk_snk_out.xon = '1' THEN
-- 
GitLab