cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
camelot
Visitor
Visitor
3,241 Views
Registered: ‎06-06-2011

Beginner's general question about PCIe

I'm software engineer and I have a task to write source code for providing communacation between PC and board ML507 through PCIExpress. I've no experience with hardware. This is a short description of the system:

 

PC

x86 Win. I've read some documents and noticed that there are existing drivers for PCIe even with DMA support.

 

PCIe

According to some docs I've read I can send only 1 DWORD of data in TL packet. So I'm going to use DMA to accelerate this transfer.

 

BOARD

ML507. I'm going to use Xilkernel on board. FPGA fabric implements some algorithms. Input and output data for these algorithms is stored in BRAMs linked to fabric. PowerPC executes main programm written in "C" and uses SODIMM DDR2.

 

So my questions are:

1. Is there any way to transfer data from PC directly to board SODIMM DDR2 using PCIe?

2. Is there any "C" API for block that implements this communication?

3. How can I handle PCIe interrupts?

 

I saw many docs but they contain Endpoint block Plus specifications with register descriptions, signal diagramms. I guess I need them but what about a higher level. Maybe some wrapper exists with "C" API? From where should I start?

0 Kudos
1 Reply
luisb
Xilinx Employee
Xilinx Employee
3,229 Views
Registered: ‎04-06-2010

I recommend looking at XAPP 859 and XAPP1052.  Both are here:

http://www.xilinx.com/support/documentation/anbusinterfaceio_pciexpress.htm

0 Kudos