UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Explorer
Explorer
358 Views
Registered: ‎01-13-2018

tkeep signal in AXI DMA and tstrb [3:0] in Custom AXI Stream IP

Hi, 

I am packaging a custom AXI Stream IP which I need to connect to AXI DMA through AXI4-Stream Data FIFO. I notice that there is a tkeep [3:0] in S_AXIS_S2MM and M_AXIS_MM2S ports of AXI DMA. However in the custom AXI Stream IP there is tstrb [3:0] instead of tkeep [3:0]. I am wondering what is the difference between these two signals. Is that Ok to connect tstrb [3:0] to tkeep [3:0] ? The other signals (tdata, tready, tvalid, and tlast) are the same in AXI DMA and also in Custom AXI Stream IP. 

0 Kudos
4 Replies
Voyager
Voyager
320 Views
Registered: ‎02-01-2013

Re: tkeep signal in AXI DMA and tstrb [3:0] in Custom AXI Stream IP

TKEEP and TSTRB aren't the same signal. Their importance depends on the context of their use. If you're simply looking to move all the bytes between two IP modules, just connect the AXIS ports together. The tool should not connect the signals together, and will resolve the missing connections based on AXIS spec rules:

2018-12-19_12-53-44.jpg

-Joe G.

 

Explorer
Explorer
275 Views
Registered: ‎01-13-2018

Re: tkeep signal in AXI DMA and tstrb [3:0] in Custom AXI Stream IP

Yes, when I connect the AXI master port to AXI slave port, the tool does not connect tkeep signal and tstrb signals. Should I connect tkeep to 1 in AXI streaming ?  

0 Kudos
Voyager
Voyager
250 Views
Registered: ‎02-01-2013

Re: tkeep signal in AXI DMA and tstrb [3:0] in Custom AXI Stream IP

I assume you're asking if you should drive TKEEP to 1, inside your AXIS Master...?

You could do that--if your intent is to qualify every byte as relevant. Or you can simply ignore TKEEP, and let tool assume that TKEEP = 1 for all bytes. See the first Default Rule, above.

Once again, the distinction between TSTRB and TKEEP depends on your context. TKEEP is more controlling, as a (logical) byte valid. TSTRB is subordinate, as a (positional/timing) byte valid. It's possible that whoever originally crafted your IP may have misunderstood the proper use of these qualifiers--and TKEEP should have been used instead of TSTRB. Regardless, if you don't understand them, it's better to let the tool resolve them for you.

-Joe G.

 

Explorer
Explorer
232 Views
Registered: ‎01-13-2018

Re: tkeep signal in AXI DMA and tstrb [3:0] in Custom AXI Stream IP

Hi, I am having a custom AXI Stream whose M_AXIS is connected to S_AXIS S2MM of AXI DMA. The signals TSTRB M_AXIS and TKEEP in S_AXIS S2MM are not connected by the tool. 

In this application all the bytes from custom AXI Stream are valid and there is no need of data alignment/positioning. In this case should I safely ignore these both signals and leave them un-connected by assuming that the default value of S_AXIS S2MM_TKEEP is 1 ?  

0 Kudos