Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
12 years ago

How do Matrix Transpose (corner turn) with SGDMA ?

Hi all,

I want use SGDMA to do matrix transpose. Matrix dimension is 512x16. It is possible? At first, by using Stream-to-Memory to store 16 stacked of data vertically from data stream (data length 512), then do Memory-to-Stream to stream out 512 data horizontally (data length 16).

Similar information regarding writes would be appreciated.

many thanks for help

doddy

3 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Is there anybody who can solve my problem? or is my problem easily solved?

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Your question lacks some vital information:

    I read that the incoming data are 512 V * 16 H.

    How many bits is each data-word?

    What is the incoming speed in MW/s?

    What is the required outgoing speed in MW/s

    What type of memory do you have?How many bits wide? How fast?

    What other components are accessing this memory? With what bandwidth requirements?
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Thanks Josyb for your response..

    I am sorry, I am confused about word and data that you mean.

    I try to describe with my way of thinking.

    I need 32 bits per data coming from 14 bit ADC.

    A stream contains 512 data.

    There are 16 stream sequentially and store to memory using SGDMA stream to memory.

    And resulting 512 stream out transposely (SGDMA memory to stream).

    A stream-out contains 16 data.

    And also resulting 32 bits per data.

    I use 2 different clock system, 2MHz for stream input (incoming speed), 150MHz inside QSys (outgoing speed) controlled by Nios

    I use Cyclone III EP3C120 board. At this moment there is no other component for accessing memory.

    What approach do you suggest to solve this issue?

    Thank you..