How can I handle variable matrix size error in HDL code generation?
1 view (last 30 days)
Show older comments
I am working on a image processing algorithm. I want to convert that into Verilog HDL through MATLAB HDL coder. But the error I am facing while converting is Error '' : Error: variable-size matrix type is not supported for HDL code generation. I also tried to define the size of the variable beforehand using zeros(); but this is also not working. Please help me to get over this issue.
function img_or = Intra_Order(image_wide, image_high, org)
img_or = zeros(1,1966080);
img_or = uint8(img_or);
org = reshape(org,[1080,1920]);
img = reshape(org',[1,1920*1080]);
write_addr = 1;
%file_size = image_wide * image_high;
% Order input frame
for i=0:(image_high/64 - 1)
for j = 0:(image_wide/64 - 1)
for k = 0:63
read_addr = j*64 + i*image_wide*64 + image_wide*k + 1;
img_or(write_addr:write_addr+63) = img(read_addr:read_addr+63);
write_addr = write_addr + 64;
end
end
end
0 Comments
Answers (1)
Tim McBrayer
on 20 Jun 2016
You are using image_wide and image_high to determine your loop limits, which are input variables. You will at least have an issue with your loops being reported as unbounded. You are aiming for hardware; everything needs to have a size.
See Also
Categories
Find more on Image Processing Toolbox 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!