Author Topic: Te0701 Inverting Differential pairs on FMC  (Read 197 times)

tschesnok

  • Active Member
  • *
  • Posts: 17
Te0701 Inverting Differential pairs on FMC
« on: January 09, 2021, 12:28:47 AM »
Hi All,

My next headache is that the FMC port on the TE0701 is inverting differential pairs. (At least when using the TE0712). Past posts claim difficulty in PCB routing...  but for a reference design this sounds like really bad news. 
What if I need to pass a differential signal directly into a 3rd party IP which has no "inversion" provisions? No source code?

In my case:  Digilent-FMC-HDMI-Card  ->   TE0701   ->  TE0712  ->  Digilent-DVIToRGB_IP.   In this case all but the Data2 ports are inverted.

Is there a solution here at the constraint / block level or do I need to learn VHDL (I'm verilog) and modify a very complex 3rd party IP?

Many thanks for any help or suggestions.


tschesnok

  • Active Member
  • *
  • Posts: 17
Re: Te0701 Inverting Differential pairs on FMC
« Reply #1 on: January 11, 2021, 01:55:02 AM »
Turns out this is a serious issue that may not have a solution... 

It would have been great to see differential pair inversions mentioned in the TE0701 module compatibility guide - which I did read prior to purchase.  For the TE0712 it is all thumbs up for FMC compatibility on the 701.



tschesnok

  • Active Member
  • *
  • Posts: 17
Re: Te0701 Inverting Differential pairs on FMC
« Reply #2 on: January 11, 2021, 06:54:00 PM »
Just to close this out.. I believe I was able to resolve this, all be it with great difficulty changing a 3rd party IP.

JH

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1554
Re: Te0701 Inverting Differential pairs on FMC
« Reply #3 on: January 12, 2021, 08:01:24 AM »
Hi,
sorry for this problems. I know it's easier for usage in case everything has same polarity, but if we had to change the polarity of all modules, this would significantly worsen the routing and signal quality.
FPGA allows internally changing polarity on buffer or on the designs, and on FMC Standard it's allowed to to such things. Depending on 3th party IP design changing polarity is sometimes not so easy but possible (and Xilinx recommend normally to add IObuffer on the top entity and in case  buffer are not included into the IP, you can change polarity  on the buffer without effecting the IP. Changing on floorplanner after place and routing is also possible(but not so easy), in case IP includeds buffer)
PS:  You must always pay attention with FMC, it specify only position of the pins. Not if this pins are used and and also different  VADJ Voltage is not supported on all board.

We have some excel sheet and PDF which show Pin connectetion between different modules and carriers :
https://shop.trenz-electronic.de/en/Download/?path=Trenz_Electronic/Pinout

br
John

tschesnok

  • Active Member
  • *
  • Posts: 17
Re: Te0701 Inverting Differential pairs on FMC
« Reply #4 on: January 12, 2021, 03:21:31 PM »
I understand. You make great products. Sorry if I sounded frustrated.. I'm not an expert and the IBUF is in the IP... deep in the IP needing changes to multiple files. In the case of HDMI we have the added issue of very high speed timing (at least on Artix-7 level FPGAs).
In my case the 701 was a debugging/development strategy that I probably would have skipped and gone directly to a custom board using your 0712 module..

JH

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1554
Re: Te0701 Inverting Differential pairs on FMC
« Reply #5 on: January 13, 2021, 07:29:13 AM »
Hi,
some note, we offer the altium project of the TE0701 and other carrier on the download area of the carrier. Maybe it helps you to generate your own carrier.
You should also check this page: https://wiki.trenz-electronic.de/display/PD/4+x+5+SoM+Integration+Guide

br
John