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!
07-20-2017 07:14 PM
Hello.
I have an AXI Datamover mm2s stream output going from the Datamover through a AXIS Data FIFO to an AXI 10G Ethernet core transmit input. The Datamover spec shows the mm2s tvalid signal asserting on the clock before the first data is valid (figure 2-8). The 10G spec shows transmit tvalid asserting in the same clock period where the first data is valid (figure 3-9). When I run this on our board, the far end of the 10G transmit receives a packet with a clock's worth of junk data prepended to the packet, which trashes the packet. Looking at the mm2s/transmit channel with the ILA, this extra clock's worth of data is accepted by the 10G transmit because tvalid asserts one clock before the real data is valid, as the Datamover spec specifies. This is propagated through the AXIS Data FIFO.
What am I missing here? I don't understand how this can work as is.
Any help would be appreciated.
07-21-2017 06:55 PM
This seems to be pilot error, though the documentation is still misleading.
The dual port memories from which the Data Mover was reading had a primitive output register set. Things worked when this was unchecked. I also made sure there were no debug connections to the port.
07-21-2017 06:55 PM
This seems to be pilot error, though the documentation is still misleading.
The dual port memories from which the Data Mover was reading had a primitive output register set. Things worked when this was unchecked. I also made sure there were no debug connections to the port.