We are using the Xilinx SRIO Gen2 Core v4.1 to implement SerialRapidIO on a National Instruments PXIe-7902 High Speed Serial card (Virtex 7). We can successfully send and receive data using FTYPEs 2, 5, 6 (NREAD, NWRITE, SWRITE), however using FTYPE 9 (Data Streaming) does not show any data on the receive port, and no errors. I believe the header is being rejected by the core, but I can't find anything wrong with the header. With the NWRITE (no response) operation I can send a 20MB stream of data, with headers every 256 bytes (32 Dwords), and there are no issues. Using the Data Streaming headers, with the appropriate Start, End bits set in the headers, the same operation doesn't work. The MTU size is fixed at 256 bytes, so I can use the same routine to inject the headers into the data stream, as long as the start and end bits are set correctly. We typically use a PDU size of 1024 bytes, but I am now trying a PDU size of 256 bytes so that the Start and End bits are both set in every header.
Here is what my working (FTYPE 5) and non-working (FTYPE 9) headers look like. In this example, the FTYPE 9 header is for a PDU length of a single MTU (Single Segment - Start and End bits both set). In both cases the headers would always be followed by 32 DWords of payload (256 bytes).
Is there something I'm missing in formatting the FTYPE 9 header? Any help would be greatly appreciated.