HDL Code Generation 2D-matrices

I have a question to ask, my input is 4 images mixed 4x200000 matrix and a 4x4 matrix, to do matrix multiplication. It told me "HDL Code generation does not support 2D-matrices as function inputs." How can I change it?

Answers (1)

Tim McBrayer
Tim McBrayer on 30 Jan 2018
The only current way to do this is by implementing your own matrix multiplication. You will need 200000 * 4 * 4 = 3200000 multiplications to compute this matrix product, so I would not suggest a fully parallel approach. You could use the HDL multiply-accumulate block or the dot product block to compute each output value, and implement selection logic to feed the single-pixel compute core the correct set of vector inputs from your data source.

4 Comments

... however before that I think the user is going to have to serialize the inputs, because there is no way an FPGA is going to have that many input pins.
Sorry, I probably have this concept, but in this part should I change from code or do I have to call a converter out?
Is your code written in MATLAB, or are you using Simulink? If you are using Simulink then there are blocks you can call to serialize and deserialize; in particular there is the Vision HDL blocks .
Yu Chen
Yu Chen on 26 Feb 2018
Edited: Yu Chen on 26 Feb 2018
My code is written in Matlab,can I not use blocks? Because I do not quite understand that teaching website, its block image is very vague.Currently I am having problems in this section, "set target interface".

Sign in to comment.

Asked:

on 30 Jan 2018

Edited:

on 26 Feb 2018

Community Treasure Hunt

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

Start Hunting!