pcie mwr lost or mul_write

Comments and questions related to the "Down to the TLP" pages

pcie mwr lost or mul_write

Postby Guest » Sat Feb 20, 2016 4:01 am

cpu向fpga的bar空间进行存储器写操作,写的地址范围为0x00001400-0x00001800(这些地址会重复利用,即从0x00001400开始使用,到0x00001800结束,然后又从0x00001400开始使用,轮询下去),但只会以4字节对齐来使用,比如,1400 1404 1408 140c,即向地址1400、1408、1404分别写入三个数据,当在运行一段时间后,会出现缺帧或多帧现象,比如cpu发了如下3个帧:400000010000000F 3010140000000001,400000010000000F 3010140400000002,400000010000000F 3010140800000002,但fpga端只能接收到这三个帧中的一个,或两个,就是说会丢失一个或两个,有时又会收到两次重复的帧,但从cpu测的打印信息来看都是正常的存储器写操作,所以不知为何会这样,若您有思路请回复或邮箱联系我,在此先谢过,邮箱:1124429395@qq.com

Re: pcie mwr lost or mul_write

Postby Guest » Sun Feb 21, 2016 8:43 am

CPU MWR to the FPGA bar space, write the address range 0x00001400-0x00001800 (these addresses will be recycled, used from the 0x00001400, to the end of 0x00001800, and then used from the 0x00001400, polling), used only by 4 bytes to come, such as 1400 1404 1408 140c. for example, to add 1400, 1408, 1404 writes three data when running after a period of time, there was a shortage of frames or same frame, such as the following 3 frames the CPU: 400000010000000F 3010140000000001,400000010000000F 3010140400000002,400000010000000F 3010140800000002, FPGA end can only receive one of these three frames, Or two , that will lose one or two, sometimes it will receive two duplicate frames, but print information from the CPU test memory write operation is normal, so I do not know why this is so.

Return to General PCIe