对不起,如果我说些傻话。请原谅我:我正在尝试使用 HDL 编码器将 Matlab 代码(如下所示)转换为 VHDL 代码。它包含一个名为 sum 的函数。但是当我尝试转换它给出的代码时我的错误:
当输入的大小在运行时可能发生变化时,代码生成仅支持 SumModes 'SpecifyPrecision' 和 'KeepLSB' for 'SUM'。
但问题是我以前从未使用过函数。任何人都可以帮我解决它。应该如何更改我的代码以将其转换为 VHDL。这真的很好!
function y = fcn(n,y1,y2)
n=10;
x1c=zeros(2*n-1,1);
for i=1:2*n-1
if(i>n)
j1=1;
k1=2*n-i;
j2=i-n+1;
k2=n;
else
j1=n-i+1;
k1=n;
j2=1;
k2=i;
end
x1c(i)=sum((y1(j1:k1)).*y2(j2:k2));
end
x1c=flipud(x1c).';
y=x1c;
这是 y1 和 y2 的互相关。y1 和 y2 是两个相同长度的向量,n 是 y1 的长度。我真的卡住了请帮忙!提前致谢!