FPGA PCIe DMA写入不会更改CPU RAM

时间:2013-01-08 08:19:45

标签: fpga xilinx dma pci-e

我正致力于通过PCIe在Xilinx FPGA与PC之间建立DMA连接。但是,从FPGA到计算机的DMA传输不起作用。我通过ChipScope转发了FPGA发送的PCIe封装:

(标题)0x6000_0002,0x0600_01FF,(地址)0x0000_0000,0x3740_0000,(数据)0x0000_0001,0x0000_0002

应将0x1,0x2写入内存地址0x3740_0000,但写入没有发生。另一方面,来自同一地址的读取工作完美。我已经尝试了32位和64位地址,但没有一个能成功。我正在研究的计算机是AMD 64位机器。我错过了什么?

1 个答案:

答案 0 :(得分:1)

我看到你正在尝试用64位addr模式写入,长度为2.只是为了让事情变得更容易,尝试使用32位addr的1长度(不要忘记将字节使能更改为0x0F以进行1 DW写入tlp,检查trn_tdst_rdy_n是否变为在任何一点高。)你有没有用程序分配内存,你用了什么程序?我认为你的问题在于内存管理,因为成功的读操作意味着你对fpga方面是安全的。