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 ...@@ -79,22 +79,22 @@ ARCHITECTURE rtl of nw_arp_request IS
SIGNAL trigger : BOOLEAN := FALSE; SIGNAL trigger : BOOLEAN := FALSE;
SIGNAL dp_field_blk_snk_in : t_dp_sosi := c_dp_sosi_rst; 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; SIGNAL dp_field_blk_snk_out : t_dp_siso := c_dp_siso_rdy;
BEGIN BEGIN
p_field_wires : PROCESS (arp_sha, arp_spa, arp_tpa) p_field_wires : PROCESS (arp_sha, arp_spa, arp_tpa)
BEGIN BEGIN
-- Set defaults -- Set defaults
loop_field_wires: FOR i IN c_hdr_field_arr'RANGE LOOP 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; END LOOP;
-- Overwrite fields comming from inputs -- 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; 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;
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_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; 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;
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, "arp_tpa") DOWNTO field_lo(c_hdr_field_arr, "arp_tpa")) <= arp_tpa;
END PROCESS; END PROCESS;
-- pps counter process setting sop, eop and valid -- pps counter process setting sop, eop and valid
...@@ -104,17 +104,14 @@ BEGIN ...@@ -104,17 +104,14 @@ BEGIN
trigger <= FALSE; trigger <= FALSE;
pps_cnt <= 0; pps_cnt <= 0;
dp_field_blk_snk_in <= c_dp_sosi_rst; dp_field_blk_snk_in <= c_dp_sosi_rst;
ELSIF RISING_EDGE(dp_clk) THEN 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 IF trigger AND dp_field_blk_snk_out.ready = '1' AND dp_field_blk_snk_out.xon = '1' THEN
trigger <= FALSE; trigger <= FALSE;
dp_field_blk_snk_in.sop <= '1'; dp_field_blk_snk_in.sop <= '1';
dp_field_blk_snk_in.eop <= '1'; dp_field_blk_snk_in.eop <= '1';
dp_field_blk_snk_in.valid <= '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; END IF;
IF dp_pps = '1' THEN IF dp_pps = '1' THEN
...@@ -125,6 +122,7 @@ BEGIN ...@@ -125,6 +122,7 @@ BEGIN
trigger <= TRUE; trigger <= TRUE;
END IF; END IF;
END IF; END IF;
END IF; END IF;
END PROCESS; END PROCESS;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment