2015-08-14

Hello,

since I'm working on a larger design project.

Since I prefer clear and clean interfaces, I tried to design a resusable Matrix class.

From an interface point of view, it should also be in some sense compatible to the Eigen library,

which is used in other libraries that I am using (of course, Eigen itself cannot be used for synthesis).

I do not want to pollute all my ode with two dimensional arrays etc,

so I decided to develop a template based matrix class, which carries all informations

in its template parameters.

One problem (see below) occurs, when I use a "Transposed" form.

The class looks like this (matrix.h):

My toplevel function looks like this:

The C-based simulation works fine.

However, when I try to synthesize it, I get the following error:

Curiously,

I don't have any global variable

When I use

everything works fine.

This is also the case, when I use

My first guess that I made a mistake with the templated matrix sizes somewhere, however, since the C-simulation works, and with the data_type as specified in (2), I came to the conlusion that the problem must

What is wrong here? What are possible solution approaches?

I spent quite a lot of time in traing to find the problem, but I'm stuck.

It is quite annoying, that the error message does not provide further information...

PS: I use Vivado 2014.2

Show more