cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
simozz
Mentor
Mentor
422 Views
Registered: ‎05-14-2017

Dropping data from AXI4-Stream with AXI DMA endpoint

Hello,

I am transmitting data from PL to PS using an AXI DMA and I am in a situation where certain data must be dropped.

This means setting all TKEEP and TSTRB bits to 0, but AXI DMA doesn't support null bytes and this leads to transmission issues without reporting any error from the AXI DMA.

Just de-asserting only TVALID also leads to the same issues.

What is the best way to drop data with AXI DMA as endpoint ?

Thanks.

s.

5 Replies
GRC
Newbie
Newbie
398 Views
Registered: ‎04-14-2021

I struggled with the same issue for a while with no success. Any help would be appreciated.

0 Kudos
dpaul24
Scholar
Scholar
398 Views
Registered: ‎08-07-2014

@simozz ,

What is the best way to drop data with AXI DMA as endpoint ?

Why not modify the PL side logic such that only valid AXIS data is sent out?

------------FPGA enthusiast------------
Consider giving "Kudos" if you like my answer. Please mark my post "Accept as solution" if my answer has solved your problem

0 Kudos
simozz
Mentor
Mentor
377 Views
Registered: ‎05-14-2017

@dpaul24 

Why not modify the PL side logic such that only valid AXIS data is sent out?

This is what I am already doing. Otherwise, could you elaborate a bit more your reply ?

Thanks.

s.

0 Kudos
dpaul24
Scholar
Scholar
360 Views
Registered: ‎08-07-2014

@simozz ,

Well not much to say...

Since the TKEEP and TSTRB do not work and de-asserting TVALID also is also of no help, then as the source of data is from PL, it would make sense for the module to send only valid data. This can be done by having a glue logic before the PL AXIS interface such that it will cut-off the trailing 0s.

------------FPGA enthusiast------------
Consider giving "Kudos" if you like my answer. Please mark my post "Accept as solution" if my answer has solved your problem

0 Kudos
simozz
Mentor
Mentor
241 Views
Registered: ‎05-14-2017

Perhaps the solution to this kind of problem is to use the multichannel AXI MCDMA.

Valid data is sent to a default channel, while data to be dropped is sent to another non setup channel, just switching TDEST signal.

This way the AXI MCDMA, according to its DS, should automatically drop data.

s.

0 Kudos