Sign In

Don't have a Xilinx account yet?

  • Choose to receive important news and product information
  • Gain access to special content
  • Personalize your web experience on Xilinx.com

Create Account

Username

Password

Forgot your password?
XClose Panel
Xilinx Home
Reply
Visitor
sergey_checkrygin
Posts: 11
Registered: ‎11-24-2008
0

AXI_PCIE v1.02.a write DMA transaction (AXI->PCIE initiated by AXI_CDMA) problem

[ Edited ]

Hello,

 

I have EDK13.4 V6 project  with AXI_PCIE (1.02.a), AXI_CDMA (3.02.a), AXI_V6_DDR (with DDR3).

Read DMA transaction initiated by AXI_CDMA (@simple mode) from PCIe (SBC memory) to local DDR3 works quite well (but not very fast aprox. 170MB/s for PCIE 4X gen 1).

On reverse direction (move data from local DDR3 to PCIe)  CDMA stalls (doesn't finish operation), AXI_PCIE slave functionality for read access blocks (driver return 0xffffffff), but PCIe slave write access still works.

Could anybody tell about this issue?

Moreover what is maximum speed оf DMA transer for system based on AXI_PCIE bridge (PCIE 4X V6) and how to reach it?

 

Thanks,

Serge

Visitor
arun_ajs
Posts: 9
Registered: ‎03-09-2012
0

Re: AXI_PCIE v1.02.a write DMA transaction (AXI->PCIE initiated by AXI_CDMA) problem

Did you ensure that  your CDMA transfer doesn't exceed the max payload size?

 

I'm working on  a similar project. Do you mind telling me how you set up the host side device driver. How do you interrupt the host, when the DMA transfer is complete? Do we have to generate an MSI explicitly or will the bridge take care of it.?

Visitor
sergey_checkrygin
Posts: 11
Registered: ‎11-24-2008
0

Re: AXI_PCIE v1.02.a write DMA transaction (AXI->PCIE initiated by AXI_CDMA) problem

[ Edited ]

Hello,

 

Same problem presents with small transfer size (8 byte / 16 byte) too.

 

At the moment SBC driver polls CDMA status (after some delay), but I plan to use interrupt too.

About int generation, bridge has this functionality (MSI_REQ input), so I will use it.

 

Thanks,

Serge

Visitor
arun_ajs
Posts: 9
Registered: ‎03-09-2012
0

Re: AXI_PCIE v1.02.a write DMA transaction (AXI->PCIE initiated by AXI_CDMA) problem

Hi

Sorry I can't solve your problem.

But I was going through your mhs file, I was curious as to what your util_vector_logic module does? Is it generating processor reset, when all clocks are stable. What is the logic, is it simply a NAND gate?

 

 

Xilinx Employee
luisb
Posts: 615
Registered: ‎04-06-2010
0

Re: AXI_PCIE v1.02.a write DMA transaction (AXI->PCIE initiated by AXI_CDMA) problem

When all Fs are returned, this generally means this is a completion with a status of Unsupported Request. Is it possible that you have a BAR miss?
Visitor
sergey_checkrygin
Posts: 11
Registered: ‎11-24-2008
0

Re: AXI_PCIE v1.02.a write DMA transaction (AXI->PCIE initiated by AXI_CDMA) problem

[ Edited ]

 

 

I connect AXI monitors to CDMA_M and axi_PCIe_S and during 64K block operation found that CDMA works correctly (read data DDR3, then write it to axi_pcie)

 

Thanks,

Serge

 

P.S. We got speed  for DMA read operation near 500MB/s and question about speed expired.

Visitor
sergey_checkrygin
Posts: 11
Registered: ‎11-24-2008
0

Re: AXI_PCIE v1.02.a write DMA transaction (AXI->PCIE initiated by AXI_CDMA) problem

[ Edited ]

Hello luisb,

 

Unfortunately in provided early CDMA processing screenshot doesn't show several signal. When CDMA write to axi_pcie after burst BVALID signal has not a strobe,

no_bvalid1.gif

but it  has strobe when CDMA transfer data beetween two regions of ddr3.

 

As you can show at next picture axi_pcie doesn't assert bvalid when got written 256byte burst.

 

axi_pcie_bvalid_noassert.gif

 

Could you tell about reason of this functionality?

 

Thanks,

Serge

 

 

 

Visitor
sergey_checkrygin
Posts: 11
Registered: ‎11-24-2008
0

Re: AXI_PCIE v1.02.a write DMA transaction (AXI->PCIE initiated by AXI_CDMA) problem

[ Edited ]

Hello,

 

Please see axi_monitor shots with 48 byte cdma transfer size and bus checking signals:

dma_dmatransfer48bytes.GIF

 

pcie_dmatransfer48bytes.GIF

 

Thanks,

Serge