FPGA: load_calibration - First check if addresses are OK, then issue datamover read commands

This commit is contained in:
2023-11-20 15:11:51 +01:00
parent ba70aa1915
commit f4f35adb02
+9 -3
View File
@@ -59,9 +59,11 @@ int load_calibration(ap_uint<256> *d_hbm_p0,
for (int i = 0; i < 3 * (modules + storage_cells * modules); i++) {
if (in_mem_location[i] == 0)
return 2;
setup_datamover(datamover_in_cmd, in_mem_location[i], RAW_MODULE_SIZE * sizeof(int16_t));
}
for (int i = 0; i < 3 * (modules + storage_cells * modules); i++)
setup_datamover(datamover_in_cmd, in_mem_location[i], RAW_MODULE_SIZE * sizeof(int16_t));
for (int c = 0; c < 3; c++) {
for (int m = 0; m < modules; m++) {
#pragma HLS PIPELINE OFF
@@ -86,8 +88,10 @@ int load_calibration(ap_uint<256> *d_hbm_p0,
for (int i = 0; i < 2 * modules; i++) {
if (in_mem_location[i] == 0)
return 2;
setup_datamover(datamover_in_cmd, in_mem_location[i], RAW_MODULE_SIZE * sizeof(int16_t));
}
for (int i = 0; i < 2 * modules; i++)
setup_datamover(datamover_in_cmd, in_mem_location[i], RAW_MODULE_SIZE * sizeof(int16_t));
for (int m = 0; m < modules; m++) {
#pragma HLS PIPELINE OFF
@@ -106,9 +110,11 @@ int load_calibration(ap_uint<256> *d_hbm_p0,
for (int i = 0; i < modules; i++) {
if (in_mem_location[i] == 0)
return 2;
setup_datamover(datamover_in_cmd, in_mem_location[i], RAW_MODULE_SIZE * sizeof(int16_t));
}
for (int i = 0; i < modules; i++)
setup_datamover(datamover_in_cmd, in_mem_location[i], RAW_MODULE_SIZE * sizeof(int16_t));
for (int m = 0; m < modules; m++) {
#pragma HLS PIPELINE OFF
size_t offset_hbm_0 = 20 * hbm_size_bytes / 32 + m * RAW_MODULE_SIZE * sizeof(int16_t) / 64;