PCI-E TS1s

I'm writing the initial state machine for a PCI-Express card and am stuck at the very first hurdle. I'm using a Philips PX1011 PHY and I'm able detect the receiver on the motherboard.

I then send it TS1s with pad characters in the Link and Lane numbers but the motherboard transmitter doesn't transmit TS2 but instead goes into idle state. I'm convinced that correct serial data is coming out of the PHY. There's no need for speed negotiation since both are advertising the slowest speed.

I would be grateful if anyone here could help.

Reply to
Fred
Loading thread data ...

If you designed/developed the board are you sure that you didn't simply swap Rx and Tx? You wouldn't be the first to do that!

How are you debugging this? Do you have equipment connected (oscilliscopes or logic analyzers) that let you directly observer the link (differential pairs) or are you inferring what is going on?

You didn't say if the motheboard transmitted TS1s, or not.

If the motherboard DID NOT transmit TS1's then the motheboard probably didn't succesfully "detect" your board (i.e. never exited the detect state and never entered the polling state).

If the motherboard did transmit TS1s and then eventually went back to electical-idle then it probably isn't receiving your TS1s correctly (and it is configured to NOT go into "compliance mode").

TC

Reply to
TC

The signal naming convention is perhaps ambiguous but the signals are definitely the correct way round.

Many thanks - this is presently this is my conclusion. Unfortunately, while PHYs have a loopback mode they don't have a simple means of connecting RX input to TX output to ensue that anything transmitted isn't garbage!

Many thanks again.

Reply to
Fred

Of course, the reason that the motherboard might not be receiving your TS1's correctly might be that they are not correctly transmitted. In other words, it might be receiving exactly what you transmitted but it determines that it isn't a TS1 (i.e. it is malformed).

Are you sure you have properly constructed the TS1? Are you sure that you are transmitting it in the correct byte order? Are you sure that you have the right bit-order between your PHY and FPGA?

TC

Reply to
TC

Hi,

Do check your reset sequence PHY requires... If motherboard is not receving TS1 that means transmitter isnt reset properly. Again how are u watching the traffic. Do let me know..i hav debugged our PCIe core with altera PHY on board too...so i can surely help u...

regards, Rohit

Reply to
tomrohit

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.