Hello
I have created an IP that uses more BRAM resources than available on the board by almost 400%. What should I do? Please refer to the synthesis report that I got.
please have a look into this code snippet:
void dual_gap_hw(double *A_in, double *AT_in, double *x, double *y, double lmbda, double pobj, double dobj, double gap)
{
#pragma HLS INTERFACE m_axi depth=100 port=A_in offset=slave bundle=A_port
#pragma HLS INTERFACE m_axi depth=100 port=AT_in offset=slave bundle=AT_port
#pragma HLS INTERFACE m_axi depth=100 port=x offset=slave bundle=x_port
#pragma HLS INTERFACE m_axi depth=100 port=y offset=slave bundle=y_port
#pragma HLS INTERFACE s_axilite port=lambda bundle=lambda_port
#pragma HLS INTERFACE s_axilite port=pobj bundle=pobj_port
#pragma HLS INTERFACE s_axilite port=dobj bundle=dobj_port
#pragma HLS INTERFACE s_axilite port=gap bundle=gap_port
#pragma HLS INTERFACE s_axilite port=return bundle=CONTROL_BUS
double A_buff[M][N];
double AT_buff[N][M];
double x_buff[N];
double y_buff[M];
memcpy(A_buff, (const double*) A_in, M * N * sizeof(double));
memcpy(AT_buff, (const double*) AT_in, M * N * sizeof(double));
memcpy(x_buff, (const double*) x, N * sizeof(double));
memcpy(y_buff, (const double*) y, M * sizeof(double));
duality_gap(A_buff, AT_buff, x_buff, y_buff, lmbda, &pobj, &dobj, &gap);
memcpy(y, (const double*) y_buff, M * sizeof(double));
}
Is this going to be critical later? Should I ignore it for the moment?
Thank you