synthesis 3D-array?

Discussion in 'VHDL' started by Pasacco, Nov 13, 2007.

  1. Pasacco

    Pasacco Guest

    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.
    Pasacco, Nov 13, 2007
    #1
    1. Advertising

  2. Pasacco

    Florian Guest

    On Nov 13, 1:35 am, Pasacco <> 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
    Florian, Nov 14, 2007
    #2
    1. Advertising

  3. Pasacco

    Pasacco Guest

    > 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


    Thank you for comment.
    In the XST document, XST does support 3D-array type signal synthesis.
    How did you resolve the problem then? Did you synthesize using 2D-
    type ?
    Pasacco, Nov 20, 2007
    #3
  4. Pasacco

    wallge Guest

    On Nov 12, 7:35 pm, Pasacco <> 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.


    what about a type definition such as:

    type matrix is array (natural range<>, natural range<>) of real;

    can we expand this to have a third index :

    type matrix3d is array (natural range<>, natural range<>, natural
    range<>) of real;
    wallge, Nov 20, 2007
    #4
  5. Pasacco

    Pasacco Guest

    Thank you for comments.

    I am simulating the VHDl. But it seems that XST well synthesizes 3D-
    type signal (at least following types).

    ---------------------------
    type OneD is array(0 to 4) of integer range 0 to 4;
    type TwoD is array(0 to 4) of OneD;
    type ThreeD is array(0 to 4) of TwoD;
    ---------------------------
    Pasacco, Nov 23, 2007
    #5
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. walala
    Replies:
    4
    Views:
    2,096
    Ralf Hildebrandt
    Sep 8, 2003
  2. walala
    Replies:
    4
    Views:
    1,197
    Technology Consultant
    Sep 9, 2003
  3. BlueDoze

    record and array synthesis

    BlueDoze, Jul 6, 2004, in forum: VHDL
    Replies:
    2
    Views:
    680
    Wallclimber
    Jul 7, 2004
  4. Pasacco
    Replies:
    0
    Views:
    612
    Pasacco
    Oct 29, 2006
  5. Pasacco
    Replies:
    1
    Views:
    2,231
    Mike Treseler
    Oct 29, 2006
Loading...

Share This Page