HDL Coder Variable Size Matrix

조회 수: 6(최근 30일)
Caner KOREL
Caner KOREL 2022년 11월 17일
답변: Ryan Baird 2022년 11월 18일
Hello, I'm trying to do matrix multipication in fpga. For this, I would like to convert my .m function given below.
function y=sindy_product(x1,x2)%mxn . nxk
y=zeros(1,225);%mxk
iteration=1;
coder.varsize('A',[1 1000001]);
coder.varsize('B',[1 1000001]);
for i = 1:1000001:1000001*15%n,mxn
for j =1:15%k
A=x1(i:i+1000001-1);%n
B=x2(j:15:1000001*15);%k,nxk
C=0;
for k = 1:1000001
C=C+A(k)*B(k);
end
y(iteration)=C;
iteration=iteration+1;
end
end
end
Error I get:
sindy_product_fixpt:17Error'B' : Error: variable-size matrix type is not supported for HDL code generation.sindy_product_fixpt:20Error'A' : Error: variable-size matrix type is not supported for HDL code generation.sindy_product_fixpt:16Error'A' : Error: variable-size matrix type is not supported for HDL code generation.sindy_product_fixpt:20Error'B' : Error: variable-size matrix type is not supported for HDL code generation.sindy_product_fixpt:20Error'A' : Error: variable-size matrix type is not supported for HDL code generation.sindy_product_fixpt:17Error'B' : Error: variable-size matrix type is not supported for HDL code generation.sindy_product_fixpt:16Error'A' : Error: variable-size matrix type is not supported for HDL code generation.sindy_product_fixpt:16Error'varargin_1' : Error: variable-size matrix type is not supported for HDL code generation.sindy_product_fixpt:16Error'varargin_1' : Error: variable-size matrix type is not supported for HDL code generation.sindy_product_fixpt:17Error'varargin_1' : Error: variable-size matrix type is not supported for HDL code generation.sindy_product_fixpt:17Error'varargin_1' : Error: variable-size matrix type is not supported for HDL code generation.sindy_product_fixpt:16Error'varargin_1' : Error: variable-size matrix type is not supported for HDL code generation.sindy_product_fixpt:16Error'varargin_1' : Error: variable-size matrix type is not supported for HDL code generation.sindy_product_fixpt:17Error'varargin_1' : Error: variable-size matrix type is not supported for HDL code generation.sindy_product_fixpt:17Error'varargin_1' : Error: variable-size matrix type is not supported for HDL code generation.sindy_product_fixpt:16Error'var1' : Error: variable-size matrix type is not supported for HDL code generation.sindy_product_fixpt:16Error'A' : Error: variable-size matrix type is not supported for HDL code generation.sindy_product_fixpt:16Error'var1' : Error: variable-size matrix type is not supported for HDL code generation.sindy_product_fixpt:17Error'var1' : Error: variable-size matrix type is not supported for HDL code generation.sindy_product_fixpt:17Error'B' : Error: variable-size matrix type is not supported for HDL code generation.sindy_product_fixpt:17Error'var1' : Error: variable-size matrix type is not supported for HDL code generation.sindy_product_fixpt:0ErrorMATLAB HDL Coder failed in the code generation phase. See HDL Coder conformance report.
I use matricies' row vector form because hdl coder doesnt allow to use matrix form. I think my all the variables have constant size but i still get the variable-size matrix error.

채택된 답변

Ryan Baird
Ryan Baird 2022년 11월 18일
coder.varsize is declaring a variable size matrix:
Initializing the matrix with the zeros function may solve your issue.

추가 답변(1개)

Kiran Kintali
Kiran Kintali 2022년 11월 17일
Can you share your design and testbench and the project file used?
Thanks

제품


릴리스

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by