FPGA, SoC, And CPLD Boards And Kits
FPGA Evaluation and Development Kits
6467 Discussions

Need help with XAUI using the Stratix II GX PCIe board

Altera_Forum
Honored Contributor II
1,762 Views

I’ve been trying out XAUI on the Altera Stratix II GX PCIe board. I’m having some problems with it. Can someone help me out here? 

 

The first thing I try to do is to get the basic XGMII/XAUI interface to work in a back to back setup. I have 2 Altera Stratix II GX PCIe boards, each has an HSMC interface that is connected to a MoreThanIP HSMC-CX4 connector. Then I use a CX4 cable to connect the 2 boards together. In the FPGA I coded some simple logic to drive the Alt2GXB MegaCore with an XGMII interface. I keep sending the “idle” code (TXC=1 and TXD=”07”) on that interface until a pushbutton on the board is pressed, then it sends out a string of data bytes that are known and constant. Obviously, I expect the receiving board receive the same data bytes. However, it doesn’t always receive correctly. Some data bytes, e.g. hex “00” “01”, are correctly received. Some other bytes are received wrong, e.g. hex “05” became "1a", "06" became "19", etc. 

 

The same setup works fine when I enable the serial loopback of the alt2gxb core and the serialized data output is looped back into the serial data input directly without going out. 

 

Please note that there's a pattern when the received data were wrong. For example, "hex06" always became "hex19". When I simulate the serialized output, "hex06" is "1010001100,1101101100,repeat", "hex19" is "0010010011,0101110011,repeat". So serialized "hex19" is just serialized "hex06" with shifted phase and inverted polarity. All the bad cases I checked are like this. Strange. 

 

Anybody sees anything obviously wrong in my setup and basic logic? Thanks!
0 Kudos
1 Reply
Altera_Forum
Honored Contributor II
1,029 Views

The problem is solved. The MoreThanIP HSMC-CX4 connector needs inverted TX polarity. This is achieved by driving all "1" into tx_invpolarity port of the GXB core.

0 Kudos
Reply