Attention: For security reasons,please choose a user name *different* from your login name.
Also make sure to choose a secure password and change it regularly.

Main Menu

TEBF0808-firefly circuit clarification

Started by aye, October 22, 2021, 10:13:12 AM

Previous topic - Next topic



I am looking at the J6/J21 firefly circuit on TEBF0808 carrier board.
For J6, RX1P/N pin is connected to B128_RX3_P/N.  Why the pin is not connected to B128_RX0_P/N ?
I expect pin configuration to be RX1P/N => B128_RX0_P/N
                                              RX2P/N => B128_RX1_P/N
                                              RX3P/N => B128_RX2_P/N
                                              RX4P/N => B128_RX3_P/N

                                              TX1P/N => B128_TX0_P/N
                                              TX2P/N => B128_TX1_P/N
                                              TX3P/N => B128_TX2_P/N
                                              TX4P/N => B128_TX3_P/N

If using Samtec fiber cable to connect between two Micro firefly module, TX1P/N will connect to RX1P/N channels, TX2P/N will connect to RX2P/N channels, and so on.
If Xilinx Aurora 64/66b protocol 4 lane implementation is used on firefly interface, the 4 transceivers will be in order, from CH0 to CH3. So if the channels are NOT IN ORDER, the received data from Aurora may be wrong. Any reasons why the transceiver firefly pins are not connected in order? Thanks.



Vadim Y


We agree that the lanes connectivity is not obvoius and seems like it will be not possible to use J6 for Aurora Protocol.
Unfortunately layout of the carrier card can not be changed due to support and maintainance of another users.
We will add warning to the schematic about pin configuration.

Keep in mind, TX polarity is inverted:
B128_TX1_P -> TX1_N,
B128_TX1_N -> TX1_P,

B128_TX0_P -> TX2_N,
B128_TX0_N -> TX2_P

And so on.

Best Regards,


Antti Lukats

Aurora IP core supports polarity inversion, the lane reversal should be taken care by constraints. so it should be possible to use Aurora over firefly.


yes P/N Inversion can be fixed simple via Xilinx IP.
But I think you must connect opposite side on the same way like on tebf0808, to reassign the RX / TX lines to the correct transceivers of the opposite side.  TEBF0808 has following connection:
Firefly:TX1/RX1 <->ZynqMP:B128_TX1/B128_RX3
Firefly:TX2/RX2 <-> ZynqMP:B128_TX0/B128_RX1
Firefly:TX3/RX3 <-> ZynqMP:B128_TX2/B128_RX2 --> that's correct in my point of view:slightly_smiling_face:
Firefly:TX4/RX4 <-> ZynqMP:B128_TX3/B128_RX0

As far as I know, Firefly cable is also available in various combinations with the assignment(also RX/TX can be crossed or not), which does not make it any easier.


Hi all,

I have connect another custom zynq ultrascale+ evaluation kit with firefly module with tebf0808 firefly module (4 x Tx/Rx transceivers).
I have implemented aurora 4 lane Tx/Rx on the firefly modules. I just need to swap the Rx data on the FPGA logic side. It is working correctly on 4x lane implementation.
Thanks all for your help and advice.



yes this is also possible in case you use all 4 mgts and you has an FPGA on the opposite side. You get only problems when you use for example only one MGT or in case the opposite side can't swap data internally.