From f98b5fe389f95f7b1781cafa8326d94c7bcce2ba Mon Sep 17 00:00:00 2001 From: Filip Leonarski Date: Mon, 11 Sep 2023 20:30:46 +0200 Subject: [PATCH] FPGA: use only two HBM channels to write calibration in JF conversion --- fpga/hls/jf_conversion.cpp | 84 +++++++++++++++++++------------------- 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/fpga/hls/jf_conversion.cpp b/fpga/hls/jf_conversion.cpp index 259acd2e..e25a1d28 100644 --- a/fpga/hls/jf_conversion.cpp +++ b/fpga/hls/jf_conversion.cpp @@ -118,27 +118,27 @@ void jf_conversion(STREAM_512 &data_in, STREAM_512 &data_out, #pragma HLS INTERFACE m_axi port=d_hbm_p0 bundle=d_hbm_p0 depth=512 offset=off \ max_read_burst_length=16 max_write_burst_length=16 latency=120 num_write_outstanding=8 num_read_outstanding=9 #pragma HLS INTERFACE m_axi port=d_hbm_p1 bundle=d_hbm_p1 depth=512 offset=off \ - max_read_burst_length=16 max_write_burst_length=16 latency=120 num_write_outstanding=8 num_read_outstanding=9 + max_read_burst_length=16 max_write_burst_length=2 latency=120 num_write_outstanding=2 num_read_outstanding=9 #pragma HLS INTERFACE m_axi port=d_hbm_p2 bundle=d_hbm_p2 depth=512 offset=off \ max_read_burst_length=16 max_write_burst_length=16 latency=120 num_write_outstanding=8 num_read_outstanding=9 #pragma HLS INTERFACE m_axi port=d_hbm_p3 bundle=d_hbm_p3 depth=512 offset=off \ - max_read_burst_length=16 max_write_burst_length=16 latency=120 num_write_outstanding=8 num_read_outstanding=9 + max_read_burst_length=16 max_write_burst_length=2 latency=120 num_write_outstanding=2 num_read_outstanding=9 #pragma HLS INTERFACE m_axi port=d_hbm_p4 bundle=d_hbm_p4 depth=512 offset=off \ - max_read_burst_length=16 max_write_burst_length=16 latency=120 num_write_outstanding=8 num_read_outstanding=9 + max_read_burst_length=16 max_write_burst_length=2 latency=120 num_write_outstanding=2 num_read_outstanding=9 #pragma HLS INTERFACE m_axi port=d_hbm_p5 bundle=d_hbm_p5 depth=512 offset=off \ - max_read_burst_length=16 max_write_burst_length=16 latency=120 num_write_outstanding=8 num_read_outstanding=9 + max_read_burst_length=16 max_write_burst_length=2 latency=120 num_write_outstanding=2 num_read_outstanding=9 #pragma HLS INTERFACE m_axi port=d_hbm_p6 bundle=d_hbm_p6 depth=512 offset=off \ - max_read_burst_length=16 max_write_burst_length=16 latency=120 num_write_outstanding=8 num_read_outstanding=9 + max_read_burst_length=16 max_write_burst_length=2 latency=120 num_write_outstanding=2 num_read_outstanding=9 #pragma HLS INTERFACE m_axi port=d_hbm_p7 bundle=d_hbm_p7 depth=512 offset=off \ - max_read_burst_length=16 max_write_burst_length=16 latency=120 num_write_outstanding=8 num_read_outstanding=9 + max_read_burst_length=16 max_write_burst_length=2 latency=120 num_write_outstanding=2 num_read_outstanding=9 #pragma HLS INTERFACE m_axi port=d_hbm_p8 bundle=d_hbm_p8 depth=512 offset=off \ - max_read_burst_length=16 max_write_burst_length=16 latency=120 num_write_outstanding=8 num_read_outstanding=9 + max_read_burst_length=16 max_write_burst_length=2 latency=120 num_write_outstanding=2 num_read_outstanding=9 #pragma HLS INTERFACE m_axi port=d_hbm_p9 bundle=d_hbm_p9 depth=512 offset=off \ - max_read_burst_length=16 max_write_burst_length=16 latency=120 num_write_outstanding=8 num_read_outstanding=9 + max_read_burst_length=16 max_write_burst_length=2 latency=120 num_write_outstanding=2 num_read_outstanding=9 #pragma HLS INTERFACE m_axi port=d_hbm_p10 bundle=d_hbm_p10 depth=512 offset=off \ - max_read_burst_length=16 max_write_burst_length=16 latency=120 num_write_outstanding=8 num_read_outstanding=9 + max_read_burst_length=16 max_write_burst_length=2 latency=120 num_write_outstanding=2 num_read_outstanding=9 #pragma HLS INTERFACE m_axi port=d_hbm_p11 bundle=d_hbm_p11 depth=512 offset=off \ - max_read_burst_length=16 max_write_burst_length=16 latency=120 num_write_outstanding=8 num_read_outstanding=9 + max_read_burst_length=16 max_write_burst_length=2 latency=120 num_write_outstanding=2 num_read_outstanding=9 packet_512_t packet_in; @@ -180,13 +180,13 @@ void jf_conversion(STREAM_512 &data_in, STREAM_512 &data_out, data_in >> packet_in; if (i % HBM_BURST == 0) { d_hbm_p0.write_request(offset_hbm_0 + i, HBM_BURST); - d_hbm_p1.write_request(offset_hbm_1 + i, HBM_BURST); + d_hbm_p2.write_request(offset_hbm_1 + i, HBM_BURST); } d_hbm_p0.write(packet_in.data(255, 0)); - d_hbm_p1.write(packet_in.data(511, 256)); + d_hbm_p2.write(packet_in.data(511, 256)); if (i % HBM_BURST == HBM_BURST - 1) { d_hbm_p0.write_response(); - d_hbm_p1.write_response(); + d_hbm_p2.write_response(); } } @@ -195,14 +195,14 @@ void jf_conversion(STREAM_512 &data_in, STREAM_512 &data_out, #pragma HLS PIPELINE II=1 data_in >> packet_in; if (i % HBM_BURST == 0) { - d_hbm_p2.write_request(offset_hbm_2 + i, HBM_BURST); - d_hbm_p3.write_request(offset_hbm_3 + i, HBM_BURST); + d_hbm_p0.write_request(offset_hbm_2 + i, HBM_BURST); + d_hbm_p2.write_request(offset_hbm_3 + i, HBM_BURST); } - d_hbm_p2.write(packet_in.data(255, 0)); - d_hbm_p3.write(packet_in.data(511, 256)); + d_hbm_p0.write(packet_in.data(255, 0)); + d_hbm_p2.write(packet_in.data(511, 256)); if (i % HBM_BURST == HBM_BURST - 1) { + d_hbm_p0.write_response(); d_hbm_p2.write_response(); - d_hbm_p3.write_response(); } } @@ -211,14 +211,14 @@ void jf_conversion(STREAM_512 &data_in, STREAM_512 &data_out, #pragma HLS PIPELINE II=1 data_in >> packet_in; if (i % HBM_BURST == 0) { - d_hbm_p4.write_request(offset_hbm_4 + i, HBM_BURST); - d_hbm_p5.write_request(offset_hbm_5 + i, HBM_BURST); + d_hbm_p0.write_request(offset_hbm_4 + i, HBM_BURST); + d_hbm_p2.write_request(offset_hbm_5 + i, HBM_BURST); } - d_hbm_p4.write(packet_in.data(255, 0)); - d_hbm_p5.write(packet_in.data(511, 256)); + d_hbm_p0.write(packet_in.data(255, 0)); + d_hbm_p2.write(packet_in.data(511, 256)); if (i % HBM_BURST == HBM_BURST - 1) { - d_hbm_p4.write_response(); - d_hbm_p5.write_response(); + d_hbm_p0.write_response(); + d_hbm_p2.write_response(); } } @@ -227,14 +227,14 @@ void jf_conversion(STREAM_512 &data_in, STREAM_512 &data_out, #pragma HLS PIPELINE II=1 data_in >> packet_in; if (i % HBM_BURST == 0) { - d_hbm_p6.write_request(offset_hbm_6 + i, HBM_BURST); - d_hbm_p7.write_request(offset_hbm_7 + i, HBM_BURST); + d_hbm_p0.write_request(offset_hbm_6 + i, HBM_BURST); + d_hbm_p2.write_request(offset_hbm_7 + i, HBM_BURST); } - d_hbm_p6.write(packet_in.data(255, 0)); - d_hbm_p7.write(packet_in.data(511, 256)); + d_hbm_p0.write(packet_in.data(255, 0)); + d_hbm_p2.write(packet_in.data(511, 256)); if (i % HBM_BURST == HBM_BURST - 1) { - d_hbm_p6.write_response(); - d_hbm_p7.write_response(); + d_hbm_p0.write_response(); + d_hbm_p2.write_response(); } } @@ -243,14 +243,14 @@ void jf_conversion(STREAM_512 &data_in, STREAM_512 &data_out, #pragma HLS PIPELINE II=1 data_in >> packet_in; if (i % HBM_BURST == 0) { - d_hbm_p8.write_request(offset_hbm_8 + i, HBM_BURST); - d_hbm_p9.write_request(offset_hbm_9 + i, HBM_BURST); + d_hbm_p0.write_request(offset_hbm_8 + i, HBM_BURST); + d_hbm_p2.write_request(offset_hbm_9 + i, HBM_BURST); } - d_hbm_p8.write(packet_in.data(255, 0)); - d_hbm_p9.write(packet_in.data(511, 256)); + d_hbm_p0.write(packet_in.data(255, 0)); + d_hbm_p2.write(packet_in.data(511, 256)); if (i % HBM_BURST == HBM_BURST - 1) { - d_hbm_p8.write_response(); - d_hbm_p9.write_response(); + d_hbm_p0.write_response(); + d_hbm_p2.write_response(); } } @@ -259,14 +259,14 @@ void jf_conversion(STREAM_512 &data_in, STREAM_512 &data_out, #pragma HLS PIPELINE II=1 data_in >> packet_in; if (i % HBM_BURST == 0) { - d_hbm_p10.write_request(offset_hbm_10 + i, HBM_BURST); - d_hbm_p11.write_request(offset_hbm_11 + i, HBM_BURST); + d_hbm_p0.write_request(offset_hbm_10 + i, HBM_BURST); + d_hbm_p2.write_request(offset_hbm_11 + i, HBM_BURST); } - d_hbm_p10.write(packet_in.data(255, 0)); - d_hbm_p11.write(packet_in.data(511, 256)); + d_hbm_p0.write(packet_in.data(255, 0)); + d_hbm_p2.write(packet_in.data(511, 256)); if (i % HBM_BURST == HBM_BURST - 1) { - d_hbm_p10.write_response(); - d_hbm_p11.write_response(); + d_hbm_p0.write_response(); + d_hbm_p2.write_response(); } }