Open fuzhouxiang opened 2 years ago
This can be solved by changing the order of type and subtype in generated library. The original generated package looks like this:
type fsvec_int32 is array (fsvec_index range <>) of int32;
type fsvec_fsvec_2_int32 is array (fsvec_index range <>) of fsvec_2_int32;
subtype fsvec_2_int32 is fsvec_int32 (0 to 1);
subtype fsvec_2_fsvec_2_int32 is fsvec_fsvec_2_int32 (0 to 1);
To make it able to compile, we should reorder it to:
type fsvec_int32 is array (fsvec_index range <>) of int32;
subtype fsvec_2_int32 is fsvec_int32 (0 to 1);
type fsvec_fsvec_2_int32 is array (fsvec_index range <>) of fsvec_2_int32;
subtype fsvec_2_fsvec_2_int32 is fsvec_fsvec_2_int32 (0 to 1);
Hi. I find there is also something wrong with multi-dimensional fixed size vector. The simulation in forsyde deep is fine, but the generated VHDL code cannot be simulated.
My code is:
The simulation result in forsyde deep is:
But error happens in modelsim simulation: