【发布时间】:2020-04-06 10:47:06
【问题描述】:
我在 Vivado HLS 中使用指令 set_directive_interface -mode axis -register -register_mode both "FIR" Result 具有以下功能:
void Func(int A[2], int B[2], int* Result)
{
int Temp = 0x00;
Loop: for(int i = 0x00; i < 0x02; i++)
{
Temp += A[i] * B[i];
}
*Result = Temp;
}
此函数将生成以下报告:
我有两个带有地址、CE 和一个数据输入的内存接口。一切如预期。
现在我使用以下函数:
void Func(int A[2], int B[2], int* Result)
{
int Temp = 0x00;
Temp = A[1] * B[1] + A[0] * B[0];
*Result = Temp;
}
这将产生以下输出:
那么为什么第二个函数会产生一个带有两个 RAM 端口的接口呢?
【问题讨论】:
标签: c++ c vivado-hls