From 8fd627f5230c62403c5fc62d32ce4825fbad6afb Mon Sep 17 00:00:00 2001 From: Eric Kooistra <kooistra@astron.nl> Date: Tue, 26 Mar 2024 13:53:01 +0100 Subject: [PATCH] Correct nof_dat in RAM circular buffer size. --- libraries/base/dp/src/vhdl/dp_bsn_align_v2.vhd | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/libraries/base/dp/src/vhdl/dp_bsn_align_v2.vhd b/libraries/base/dp/src/vhdl/dp_bsn_align_v2.vhd index 1db302c2c2..e61f67f6d1 100644 --- a/libraries/base/dp/src/vhdl/dp_bsn_align_v2.vhd +++ b/libraries/base/dp/src/vhdl/dp_bsn_align_v2.vhd @@ -173,18 +173,20 @@ architecture rtl of dp_bsn_align_v2 is true_log_pow2(1 + g_bsn_latency_max), true_log_pow2(1 + g_bsn_latency_max * (g_nof_aligners_max - 1) + g_bsn_latency_first_node)); - constant c_ram_size : natural := c_buffer_nof_blocks * g_block_size; + constant c_ram_size_w : natural := ceil_log2(c_buffer_nof_blocks * g_block_size); + constant c_ram_size : natural := 2**c_ram_size_w; constant c_ram_buf : t_c_mem := (latency => 1, - adr_w => ceil_log2(c_ram_size), + adr_w => c_ram_size_w, dat_w => g_data_w, nof_dat => c_ram_size, init_sl => '0'); -- . reduced buffer size for remote input constant c_remote_buffer_nof_blocks : natural := true_log_pow2(1 + g_bsn_latency_max); - constant c_remote_ram_size : natural := c_remote_buffer_nof_blocks * g_block_size; + constant c_remote_ram_size_w : natural := ceil_log2(c_remote_buffer_nof_blocks * g_block_size); + constant c_remote_ram_size : natural := 2**c_remote_ram_size_w; constant c_remote_ram_buf : t_c_mem := (latency => 1, - adr_w => ceil_log2(c_remote_ram_size), + adr_w => c_remote_ram_size_w, dat_w => g_data_w, nof_dat => c_remote_ram_size, init_sl => '0'); -- GitLab