05-24-2020 07:06 AM
Dear al
can some one please clarify this confusion
i am receiving stream of data on S2MM channel on stream side and want to store that data in DRAM.
S2MM channel has length register to be configured and its 32 bits but according to documentation minimum number of bits have to be 8 bits and maximum can be 26 bits. It also says the length is in bytes.
i am totally confused, can some one please clarify this confusion.
streaming data that s2mm channel recieves from AXI stream IP is 32 bits. So how should this register be configured. Please help.
05-24-2020 07:28 PM
Hi @MuzamilFarid ,
AXI DMA receives AXI-Stream data from upper IP with 32-bit data width. And S2MM_LENGTH register defines how many 32-bit data it will receive. If you want to transfer 10 32-bit data, then 10*4(40) should be written to S2MM_LENGTH.
As for length of S2MM_LENGTH, it defines the maximun value of S2MM_LENGTH. If you set the length to 8bit in vivado configuration GUI, then the S2MM_LENGTH has maximun value of 255. User can request at most 255 byte data to transfer.
05-24-2020 07:28 PM
Hi @MuzamilFarid ,
AXI DMA receives AXI-Stream data from upper IP with 32-bit data width. And S2MM_LENGTH register defines how many 32-bit data it will receive. If you want to transfer 10 32-bit data, then 10*4(40) should be written to S2MM_LENGTH.
As for length of S2MM_LENGTH, it defines the maximun value of S2MM_LENGTH. If you set the length to 8bit in vivado configuration GUI, then the S2MM_LENGTH has maximun value of 255. User can request at most 255 byte data to transfer.
05-25-2020 06:53 AM
@shengjie
got it.
thanks.