From 95d4844aa405b3ec01c16a7cbc35fa3072a5dd6a Mon Sep 17 00:00:00 2001 From: Filip Leonarski Date: Sun, 17 Sep 2023 14:27:24 +0200 Subject: [PATCH] FPGA: Use both HBM pseudo-channels --- fpga/hls/load_from_hbm.cpp | 5 +++-- fpga/hls/save_to_hbm.cpp | 4 +++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/fpga/hls/load_from_hbm.cpp b/fpga/hls/load_from_hbm.cpp index 7dba6e98..7582d37c 100644 --- a/fpga/hls/load_from_hbm.cpp +++ b/fpga/hls/load_from_hbm.cpp @@ -39,8 +39,9 @@ void load_from_hbm(STREAM_512 &data_in, while (!cmpl.last) { m_axis_completion << cmpl; - size_t offset = (cmpl.handle * RAW_MODULE_SIZE * sizeof(uint16_t)) / 64; - + size_t offset = ((cmpl.handle / 2) * RAW_MODULE_SIZE * sizeof(uint16_t)) / 64; + if (cmpl.handle % 2 == 1) + offset += hbm_size_bytes / 32; for (int i = 0; i < RAW_MODULE_SIZE * sizeof(uint16_t) / 64; i++) { #pragma HLS PIPELINE II=1 packet_512_t packet_out; diff --git a/fpga/hls/save_to_hbm.cpp b/fpga/hls/save_to_hbm.cpp index e5ee789d..194b57ca 100644 --- a/fpga/hls/save_to_hbm.cpp +++ b/fpga/hls/save_to_hbm.cpp @@ -76,7 +76,9 @@ void save_to_hbm(STREAM_512 &data_in, cmpl[id].packet_count++; } - size_t offset = (cmpl[id].handle * RAW_MODULE_SIZE * sizeof(uint16_t) + eth_packet * 8192) / 64; + size_t offset = ((cmpl[id].handle / 2) * RAW_MODULE_SIZE * sizeof(uint16_t) + eth_packet * 8192) / 64; + if (cmpl[id].handle % 2 == 1) + offset += hbm_size_bytes / 32; for (int i = 0; i < 128; i++) { data_in >> packet_in;