diff --git a/libraries/io/eth/src/vhdl/eth_buffer.vhd b/libraries/io/eth/src/vhdl/eth_buffer.vhd index d04b92c5dae8ed3df91a4cd1c8dbe700c3b8d15c..2a0772c45f118b7a1bdeee960314f0068fc52f68 100644 --- a/libraries/io/eth/src/vhdl/eth_buffer.vhd +++ b/libraries/io/eth/src/vhdl/eth_buffer.vhd @@ -58,9 +58,9 @@ END eth_buffer; ARCHITECTURE str OF eth_buffer IS - CONSTANT c_nof_frames : NATURAL := 2; -- support at least 2 max size frames in the FIFO + CONSTANT c_nof_frames : NATURAL := 4; -- support at least 2 max size frames in the FIFO CONSTANT c_fifo_nof_words : NATURAL := 2**(ceil_log2(c_nof_frames * c_eth_frame_nof_words)); -- = 1024 > 2*380 - CONSTANT c_fifo_almost_full : NATURAL := c_fifo_nof_words-64; -- use sufficient margin to account for latencies + CONSTANT c_fifo_almost_full : NATURAL := c_fifo_nof_words-380-20; -- use sufficient margin to account for 1 packet (1520 bytes) + 20 latency TYPE t_state_enum IS ( s_idle,