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
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?
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..