HDL Coder RAM mapping failed
1 view (last 30 days)
Show older comments
I am practicing HDL Coder and I have an error.
I originally wanted to ignore this problem, but I found that the FPGA implementation would fail.
Because too many LUTs are used. How can I modify my code?
_fixpt:26 Warning 'g' : RAM mapping failed for variable, 'g', because it has a non-scalar sub-matrix access.
_fixpt:0 Warning 'g2' : RAM mapping failed for variable, 'g2', because it has a non-scalar sub-matrix access.
function P= test(in,win)
persistent g
L=zeros(1,16);
persistent g2
E= zeros(1, 16);
if isempty(g)
g = zeros(1, 16);
g2 = zeros(1, 16);
end
if win<=16
E(:,win)=in;
g=E+g;
elseif win>16
L(:,win-16)=in;
end
if win==16
% Y=g3;
Y=g;
Y=reshape(Y,4,4);
W=eye(4,4);
A=W*Y;
A=reshape(A,1,16);
g2=A;
end
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
if win>16
% g2=A;
S=g2;
P=S(:,win-16);
% end
else
P=0;
end
0 Comments
Answers (1)
Kiran Kintali
on 23 Aug 2020
HDL Coder would need input types to infer the intermediate and output types.
Please specify
in = <sample value>; % define in
win = <sample value>; % define win
To repeat the issue using the following commands
c = coder.config('hdl');
codegen -args {in, win} -config c -report test
0 Comments
See Also
Categories
Find more on FPGA, ASIC, and SoC Development in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!