FPGA: use only two HBM channels to write calibration in JF conversion

This commit is contained in:
2023-09-11 20:30:46 +02:00
parent 05000bab1f
commit f98b5fe389
+42 -42
View File
@@ -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();
}
}