UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Visitor phherzog
Visitor
339 Views
Registered: ‎07-16-2012

Dependencies between GTP transcievers?

Jump to solution

Hi fellow FPGA designers,

I have an experimental setup for gigabit serial communication here with an xc7a200tfbg676. I have implemented two independent designs (let's call them Master and Slave) within this FPGA, both talking to a GTP. These two GTPs are within the same IP for simplicity since instantiating two GTP-IPs within the same quad both with "include common logic" enabled doesn't work.

Master always uses X0Y0

Slave always uses X0Y1


What works fine:

Connecting the Master to the Slave within the same FPGA (so the logic works)

Connecting two boards, Master on board 1 to Slave on board 2 and Master on board 2 to Slave on board 1 (so clock drift between the boards is not a problem)

 

What doesn't work:

Connecting two boards, Master on board 1 to Slave on board 2 leave the other connection open

What then again works:
Building two FPGA images, one with a Master, one with a Slave, each unsing an IP with only their respective GTP, and connecting two boards with these two images. 

 

This leaves me puzzeled. The instantiated but unconnected GTP on X0Y0 in the dual design affects the usability of the GTP on X0Y1.

Anybody got an explanation for this?

Thanks,

Philip

0 Kudos
1 Solution

Accepted Solutions
Xilinx Employee
Xilinx Employee
320 Views
Registered: ‎10-19-2011

Re: Dependencies between GTP transcievers?

Jump to solution

Hi @phherzog,

your problem lies in this comment: "These two GTPs are within the same IP for simplicity since instantiating two GTP-IPs within the same quad both with "include common logic" enabled doesn't work."

As you have both GTPs in the same transceiver core, they are seen as one entity with two lanes. And for it to come up fully both lanes have to be right. If you leave one unconnected the core will constantly loop through reset again and again. You could probably observe it when you monitor the reset or resetdone signals. The reset logic is valid for both GTPs together. There is no independance.

You want to have both GTPs independent. You will need to place the common block outside the GTP IPs and connect it manually to them.
You could either run both IPs from the same PLL and handle the PLL reset outside the IPs to get them independent, or use a separate PLL for both IPs. As you have separate IPs for each GTP you also have separate resets for them.

------------------------------------------------------------------------------
Don't forget to reply, give kudo and accept as solution
------------------------------------------------------------------------------
2 Replies
Xilinx Employee
Xilinx Employee
321 Views
Registered: ‎10-19-2011

Re: Dependencies between GTP transcievers?

Jump to solution

Hi @phherzog,

your problem lies in this comment: "These two GTPs are within the same IP for simplicity since instantiating two GTP-IPs within the same quad both with "include common logic" enabled doesn't work."

As you have both GTPs in the same transceiver core, they are seen as one entity with two lanes. And for it to come up fully both lanes have to be right. If you leave one unconnected the core will constantly loop through reset again and again. You could probably observe it when you monitor the reset or resetdone signals. The reset logic is valid for both GTPs together. There is no independance.

You want to have both GTPs independent. You will need to place the common block outside the GTP IPs and connect it manually to them.
You could either run both IPs from the same PLL and handle the PLL reset outside the IPs to get them independent, or use a separate PLL for both IPs. As you have separate IPs for each GTP you also have separate resets for them.

------------------------------------------------------------------------------
Don't forget to reply, give kudo and accept as solution
------------------------------------------------------------------------------
Visitor phherzog
Visitor
285 Views
Registered: ‎07-16-2012

Re: Dependencies between GTP transcievers?

Jump to solution

Actually, the picture looked different, reset was just fine, but the reciever "stumbled" (throw a bunch of disparity, notintable and notaligned errors) every once in a while.

But still, your solution worked - take the shared logic out of the transciever and implement two seperate transcievers, now it works fine if only one transciever is connected.

Thanks,

- Philip

0 Kudos