Commit f06edc43 authored by Adrian Byszuk's avatar Adrian Byszuk

Fix WB endpoint EOF handling

parent 01ec4c29
......@@ -782,7 +782,8 @@ begin
end if;
if FIFO_Space_Sel = '1' then
wb_FIFO_wsof_i <= '0';
wb_FIFO_weof_i <= m_axis_rx_tlast_r1;
wb_FIFO_weof_i <= (not(mwr_has_4dw_header) and (m_axis_rx_tlast_i or m_axis_rx_tlast_r1))
or (mwr_has_4dw_header and m_axis_rx_tlast_r1);
wb_FIFO_we_i <= not trn_rx_throttle_r;
wb_FIFO_din_i <= Endian_Invert_64(m_axis_rx_tdata_fixed);
else
......
......@@ -648,7 +648,7 @@ begin
BAR_value(C_ENCODE_BAR_NUMBER-2 downto 0)
= CONV_STD_LOGIC_VECTOR(CINT_FIFO_SPACE_BAR, C_ENCODE_BAR_NUMBER-1)
then
wb_FIFO_Rdreq_odd <= RdNumber(1);
wb_FIFO_Rdreq_odd <= RdNumber(0);
if RdNumber_eq_One = '1' then
wb_FIFO_Rd_Counter <= RdNumber + '1';
wb_FIFO_Rd_Cntr_eq_Two <= '1';
......@@ -784,7 +784,7 @@ begin
elsif wb_FIFO_Hit = '1' then
if Shift_1st_QWord_k = '1' and wb_fifo_rd_1dw = '0' then
mbuf_din_i(C_TXMEM_TLAST_BIT) <= not wb_FIFO_RdEn_Mask_rise_r1;
mbuf_din_i(C_TXMEM_KEEP_BIT) <= not wb_FIFO_Rdreq_odd;
mbuf_din_i(C_TXMEM_KEEP_BIT) <= wb_FIFO_Rdreq_odd;
else
mbuf_din_i(C_TXMEM_TLAST_BIT) <= not wb_FIFO_RdEn_Mask_rise;
mbuf_din_i(C_TXMEM_KEEP_BIT) <= wb_FIFO_RdEn_Mask_rise;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment