From: luudee on

Howdy All,

Has anybody got the "Receiver Detect" feature to work in
Virtex 5 VFX (with GTX transceivers) ?

I have read "RocketIO GTX Transceiver User Guide" (UG198)
from beginning to end, and am following the procedure
described exactly as stated.

I Am always getting "Receiver Not Present" status, even though
external equipment (Protocol Analyser and Protocol Generator)
properly report Receiver present or not present, depending on
the setup.

Any suggestion, and pointers appreciated.

Cheers,
rudi
From: austin on
Rudi,

Have you read

http://www.xilinx.com/support/documentation/user_guides/ug198.pdf

page 151, where they refer to the PIPE documents which details this
functionality?

On page 21 of the gen2 document from Intel, and the next pages.

http://download.intel.com/technology/pciexpress/devnet/docs/pipe2_00.pdf

The test equipment reporting a receiver present does a lot of work
(based on my reading of the Intel document), and there would be many
ways that in the FPGA you might not be performing the required
sequence per the standard.

Austin



From: luudee on
On Oct 27, 4:23 am, austin <aus...(a)xilinx.com> wrote:
> Rudi,
>
> Have you read
>
> http://www.xilinx.com/support/documentation/user_guides/ug198.pdf
>
> page 151, where they refer to the PIPE documents which details this
> functionality?
>
> On page 21 of the gen2 document from Intel, and the next pages.
>
> http://download.intel.com/technology/pciexpress/devnet/docs/pipe2_00.pdf
>
> The test equipment reporting a receiver present does a lot of work
> (based on my reading of the Intel document), and there would be many
> ways that in the FPGA you might not be performing the required
> sequence per the standard.
>
> Austin

Hi Austin,

thank you for you reply.

I did read ug198 and pipe 2.0 specs. That's what makes it
so frustrating ! I feel that I follow both specifications
to the letter, and it still does not work.

Could there be an undocumented step ? Some assumption that
is not obvious ?

Thank you !
rudi
From: austin on
Rudi,

I do not know. That is the purpose of documentation, to document.

One thought I had is that this works by measuring the difference
between an open line, and a terminated line, at the transmitter. Such
analog measurement techniques only work for an exact fixed length of
the PCIe bus connection. If you are using extension cables, or an
extension card, the length of the transmission lines may affect the
measurement.

Austin



From: luudee on
On Oct 27, 9:47 pm, austin <aus...(a)xilinx.com> wrote:
> Rudi,
>
> I do not know.  That is the purpose of documentation, to document.
>
> One thought I had is that this works by measuring the difference
> between an open line, and a terminated line, at the transmitter.  Such
> analog measurement techniques only work for an exact fixed length of
> the PCIe bus connection.  If you are using extension cables, or an
> extension card, the length of the transmission lines may affect the
> measurement.
>
> Austin


Hi Austin,

I feel that in this case the documentation fails to document.
The description for Receiver Detect is a) incomplete; and,
b) scattered throughout unrelated sections.

My understanding is that this logic works by measuring the
time it takes to charge the coupling capacitor. (It is present and
correct value on my board). Cable length should not matter.

Receiver Detection is described starting on page 151 in ug198.
It clearly shows a waveform diagram, where I enter powermode
2'b10, and the next cycle assert TXDETECTRX. And some time
later, I will get PHYSTATUS, that validates the value on RXSTATUS
lines.

But than, in table 5-14 (page 111) I find out that TXELECIDLE
also must be asserted to initiate Receiver Detection.

And again, in other parts of the document, I find that when
changing powermode, I need to wait for PHYSTATUS to indicate
that power mode has been changed (change completed).

I have tried the original description as on page 151, as well,
as adding the other bits I found out. And still, I consistently
get "No Receiver Detected".

The other side has no problem detecting my hardware.

Is there somebody who knows this stuff inside out and can
shed some light on how to make this work ?

Thanks,
rudi