Skip to content
Snippets Groups Projects
Commit 4987479f authored by Reinier van der Walle's avatar Reinier van der Walle
Browse files

added nxt signal for cleaner code

parent 3e865edb
No related branches found
No related tags found
2 merge requests!10Update branch to latest revision,!9Resolve L2SDP-23
......@@ -79,22 +79,22 @@ ARCHITECTURE rtl of nw_arp_request IS
SIGNAL trigger : BOOLEAN := FALSE;
SIGNAL dp_field_blk_snk_in : t_dp_sosi := c_dp_sosi_rst;
SIGNAL nxt_dp_field_blk_snk_in : t_dp_sosi := c_dp_sosi_rst;
SIGNAL dp_field_blk_snk_out : t_dp_siso := c_dp_siso_rdy;
BEGIN
p_field_wires : PROCESS (arp_sha, arp_spa, arp_tpa)
BEGIN
-- Set defaults
loop_field_wires: FOR i IN c_hdr_field_arr'RANGE LOOP
dp_field_blk_snk_in.data(field_hi(c_hdr_field_arr, i) DOWNTO field_lo(c_hdr_field_arr, i)) <= c_hdr_field_arr(i).default(c_hdr_field_arr(i).size-1 DOWNTO 0);
nxt_dp_field_blk_snk_in.data(field_hi(c_hdr_field_arr, i) DOWNTO field_lo(c_hdr_field_arr, i)) <= c_hdr_field_arr(i).default(c_hdr_field_arr(i).size-1 DOWNTO 0);
END LOOP;
-- Overwrite fields comming from inputs
dp_field_blk_snk_in.data(field_hi(c_hdr_field_arr, "eth_src_mac") DOWNTO field_lo(c_hdr_field_arr, "eth_src_mac")) <= arp_sha;
dp_field_blk_snk_in.data(field_hi(c_hdr_field_arr, "arp_sha") DOWNTO field_lo(c_hdr_field_arr, "arp_sha")) <= arp_sha;
dp_field_blk_snk_in.data(field_hi(c_hdr_field_arr, "arp_spa") DOWNTO field_lo(c_hdr_field_arr, "arp_spa")) <= arp_spa;
dp_field_blk_snk_in.data(field_hi(c_hdr_field_arr, "arp_tpa") DOWNTO field_lo(c_hdr_field_arr, "arp_tpa")) <= arp_tpa;
nxt_dp_field_blk_snk_in.data(field_hi(c_hdr_field_arr, "eth_src_mac") DOWNTO field_lo(c_hdr_field_arr, "eth_src_mac")) <= arp_sha;
nxt_dp_field_blk_snk_in.data(field_hi(c_hdr_field_arr, "arp_sha") DOWNTO field_lo(c_hdr_field_arr, "arp_sha")) <= arp_sha;
nxt_dp_field_blk_snk_in.data(field_hi(c_hdr_field_arr, "arp_spa") DOWNTO field_lo(c_hdr_field_arr, "arp_spa")) <= arp_spa;
nxt_dp_field_blk_snk_in.data(field_hi(c_hdr_field_arr, "arp_tpa") DOWNTO field_lo(c_hdr_field_arr, "arp_tpa")) <= arp_tpa;
END PROCESS;
-- pps counter process setting sop, eop and valid
......@@ -104,17 +104,14 @@ BEGIN
trigger <= FALSE;
pps_cnt <= 0;
dp_field_blk_snk_in <= c_dp_sosi_rst;
ELSIF RISING_EDGE(dp_clk) 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
trigger <= FALSE;
dp_field_blk_snk_in.sop <= '1';
dp_field_blk_snk_in.eop <= '1';
dp_field_blk_snk_in.valid <= '1';
ELSE
dp_field_blk_snk_in.sop <= '0';
dp_field_blk_snk_in.eop <= '0';
dp_field_blk_snk_in.valid <= '0';
END IF;
IF dp_pps = '1' THEN
......@@ -125,6 +122,7 @@ BEGIN
trigger <= TRUE;
END IF;
END IF;
END IF;
END PROCESS;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment