On Nov 13, 1:35 am, Pasacco <
[email protected]> wrote:
> Dear
>
> I would like to have some suggestion to implement 'regular 40
> instances'.
>
> I use following "2D array" signal :
>
> Array (0 to 4) of array (0 to 4) of integer (0 to 4)
>
> Now I have choices that:
>
> --------------------------------------------------------
> 1. Make different "2D array typed" signals.
> Manually modify each instance for different signals.
>
> 2. Make generic "3D array typed" signal :
>
> Array (0 to 39) of array (0 to 4) of array (0 to 4) of integer (0
> to 4)
>
> Then make all generic.
> --------------------------------------------------------
>
> "Choice 1" is too laborious and error-prone.
> I am not sure there is a good synthesizer tool for the "Choice 2"
>
> I am currently using Xilinx XST tool (version 8.2).
>
> If someone has experience of synthesizing 3D-array signal, please let
> us know.
Hallo
I can tell you about my multi dimensional array experience:
-- Definitions about Colors and RGB-Data
type COLORS_T is (RED, GREEN, BLUE);
type RGB_DATA_T is array (COLORS_T) of std_logic_vector(7 downto 0);
constant DelayInPixels : integer := 2;
type PixIn_Dly_T is array(DelayInPixels-1 downto 0) of RGB_DATA_T;
signal PixIn_Dly : PixIn_Dly_T;
PixIn_Dly <= PixIn_Dly(PixIn_Dly'left-1 downto PixIn_Dly'right) &
PixIn;
The delay line for PixIn_Dly wasn't synthesized correct.
I think the PinIn_Dly as an array() of [array(COLORS_T) of
std_logic_vector(7 downto 0)] was too much for XST. I used ISE 8.1.03
Have fun
Florian