cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
kvikramaxlnx
Contributor
Contributor
191 Views
Registered: ‎05-25-2018

IBUFGDS_DIFF_OUT termination value in 7 series

Hi,

   We are capturing a LVDS bus in 7 series Zynq (z7020). We want to additionally pass the clock to ISERDES so that we can calibrate automatically and achieve centring. 

Code used is,


IBUFGDS_DIFF_OUT #(
.DIFF_TERM("TRUE"),
.IBUF_LOW_PWR("FALSE"),
.IOSTANDARD("DEFAULT")
) IBUFGDS_DIFF_OUT_inst (
.O(rx_clk_in_p),
.OB(rx_clk_in_n),
.I(CLK_IN_p),
.IB(CLK_IN_n)
);

 

Observation :-

1. At lower freq (30MHz, 40Mhz, 60Mhz) we see capture is good.

    At 80 MHz and above capture has errors.

2. Board appears to be fine. We have purchased the board and it is supposed to work at much higher speeds.

 

Question :-

1. The attached picture is an implementation schematic.  The maco IBUFGDS_DIFF_OUT expands into two individual IBUFDS.

    Will there be double termination on the pin ? i.e instead of 100 ohm termination, will the termination be effective 50 ohm ?

7series_IO_IBUFGDS.png

2. Same code works on ultrascale+ boards well. In Ultrascale+ IO I see only one DIFF element.

USplus_IO_IBUFDS_DIFF_OUT.png

 3. For 7 series FPGA is there a recommendation on how to connect the IBUFGDS_DIFF_OUT ? 

      Should I try a different macro ?

We need to derive two signals internally from the clock differential PIN. One signal should go to MMCM (we are passing it through IDELAY) and other signal should go to ISERDES (again we are passing it through another IDELAY). Though this connection is recommended in xapp585, I am not sure if this is correct. Please suggest. 

 

 

In Service,
Kamalesh Vikramasimhan
www.yantravision.com
0 Kudos
1 Reply
sandrao
Community Manager
Community Manager
116 Views
Registered: ‎08-08-2007

Hi @kvikramaxlnx 

 

In the snippet of code .IOSTANDARD("DEFAULT") so I think this will be LVDS_25. The termination is .DIFF_TERM("TRUE"), so you will get the 100ohm between the P and N pair.

It maybe that the issue is the with the clock/data alignment. How are you controlling the alignment?

Thanks,

Sandy


------------------------------------------------------------------------------------------------

Don’t forget to reply, kudo, and accept as solution.

If starting with Versal take a look at our Versal Design Process Hub , Versal Blogs and the Versal Useful Resources .

------------------------------------------------------------------------------------------------
0 Kudos