diff --git a/lib/emac/src/emac_top_jb.vhd b/lib/emac/src/emac_top_jb.vhd index 17b3bff..17d6537 100644 --- a/lib/emac/src/emac_top_jb.vhd +++ b/lib/emac/src/emac_top_jb.vhd @@ -123,9 +123,7 @@ registers_write: tx_ctrl_in.tx_size <= DAT_I(15 downto 0); -- 0x0010 - when "0100" => - tx_din_vld <= '1'; - tx_din <= DAT_I; + -- Gap -- 0x0014 -- Gap @@ -142,7 +140,13 @@ registers_write: rx_ctrl_in.mac_addr(4) <= DAT_I(31 downto 24); rx_ctrl_in.mac_addr(5) <= DAT_I(23 downto 16); - when others => null; + -- 0x0020 .. 0x003C + -- Window for TX-Data (8 words) + -- For cached burst access, this must be greater or equal to D-Cache line size + when others => + tx_din_vld <= '1'; + tx_din <= DAT_I; + end case; end if; end if; @@ -195,8 +199,7 @@ registers_read: DAT_O <= X"0000" & tx_ctrl_out.tx_size; -- 0x0010 - when "0100" => - rx_ctrl_in.pkt_read_en <= '1'; + -- Gap -- 0x0014 -- Gap @@ -211,7 +214,12 @@ registers_read: ACK_O <= '1'; DAT_O <= rx_ctrl_in.mac_addr(4) & rx_ctrl_in.mac_addr(5) & X"0000"; - when others => null; + -- 0x0020 .. 0x003C + -- Window for RX-Data (8 words) + -- For cached burst access, this must be greater or equal to D-Cache line size + when others => + rx_ctrl_in.pkt_read_en <= '1'; + end case; end if; end if;