Я получаю эту ошибку при попытке выполнить уравнение DCT для потока матрицы (A). Ошибка возникает в последней строке, я чувствую, что это может быть связано с типами данных, однако я не совсем уверен, и сообщение об ошибке, кажется, указывает на иное. Любая помощь приветствуется.
#include <ap_axi_sdata.h>
#define pi 3.142857
typedef ap_axis<32,1,1,1> stream_type;
#define BLOCKS 4
#define LENGTH 8
void multiplyArray2(stream_type A[4][8][8], stream_type B[4][8][8]){
#pragma HLS INTERFACE ap_ctrl_none PORT = return
#pragma HLS INTERFACE axis PORT = A
#pragma HLS INTERFACE axis PORT = B
float dct1;
int block, dctRow, dctColumn, row, column;
for(block = 0; block < 4; block++){
for(dctRow = 0; dctRow < 8; dctRow++){
for(dctColumn = 0; dctColumn < 8; dctColumn++){
for(row = 0; row < 8; row++){
for(column = 0; column < 8; column++){
dct1 = A[block][row][column].data * cos(((2*row+1)*dctRow*pi)/16.0);
Я включил код только там, где происходит ошибка.