cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Visitor
Visitor
12,299 Views
Registered: ‎03-13-2014

PCI Express lane polarity invertion

Jump to solution

Hello!

 

I have Virtex 6 based board with PCI Express interface. I'm using "Virtex-6 FPGA Integrated Block for PCI Express v2.5" . I have generated Verilog sources from core and added these sources to my project.

 

As noticed in core's user guide it supports polarity invertion on receiver side of the lane.

 

Question is: how can I change polarity? Wizard allows to enable only Lane Reversal.

0 Kudos
1 Solution

Accepted Solutions
Highlighted
Professor
Professor
19,940 Views
Registered: ‎08-14-2007

Re: PCI Express lane polarity invertion

Jump to solution

In case you didn't get enough information from AR #18529, the point is that receive lane polarity inversion is automatically detected during training, so you don't need to enable anything.  If you want to reverse the lane polarity to help routing, just swap the pins at the board level.  Don't change the pinout in the .ucf file, i.e. for the purpose of your design, the + and - side of the pair keep the name of the pin function even though they connect to the opposite polarity signal at the board level.  During training, the PCIe endpoint logic will detect the inverted polarity and automatically correct for it.

 

Likewise, because polarity inversion is automatically handled by a compliant receiver, the transmitter can be connected with reversed + and - wires if it helps board-level routing.  There is no need to invert the polarity of the transmitted signal to compensate for the swapped wiring.

-- Gabor

View solution in original post

0 Kudos
4 Replies
Highlighted
Visitor
Visitor
12,291 Views
Registered: ‎03-13-2014

Re: PCI Express lane polarity invertion

Jump to solution

Another question. Should I swap pair's LOCs in .ucf-file after inversion?

0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
12,287 Views
Registered: ‎08-01-2012

Re: PCI Express lane polarity invertion

Jump to solution

The below published answer record address your query

http://www.xilinx.com/support/answers/33699.htm

 

Also refer http://www.xilinx.com/support/answers/18529.htm

 

FYI:

Please check the following link for the check supported pinouts section.

 

http://www.xilinx.com/support/documentation/ip_documentation/pcie_7x/v3_0/pg054-7series-pcie.pdf

 

 

If you are connecting something different than these it is up to you to make sure the timing and functionality of the design.

 

 

________________________________________________

Please mark this post as an "Accept as solution" in case if it helped to resolve your query. So that it will help to other forum users to directly refer to the answer.

Give kudos to this post in case if you think the information is useful and reply oriented.

0 Kudos
Highlighted
Professor
Professor
19,941 Views
Registered: ‎08-14-2007

Re: PCI Express lane polarity invertion

Jump to solution

In case you didn't get enough information from AR #18529, the point is that receive lane polarity inversion is automatically detected during training, so you don't need to enable anything.  If you want to reverse the lane polarity to help routing, just swap the pins at the board level.  Don't change the pinout in the .ucf file, i.e. for the purpose of your design, the + and - side of the pair keep the name of the pin function even though they connect to the opposite polarity signal at the board level.  During training, the PCIe endpoint logic will detect the inverted polarity and automatically correct for it.

 

Likewise, because polarity inversion is automatically handled by a compliant receiver, the transmitter can be connected with reversed + and - wires if it helps board-level routing.  There is no need to invert the polarity of the transmitted signal to compensate for the swapped wiring.

-- Gabor

View solution in original post

0 Kudos
Highlighted
Visitor
Visitor
12,268 Views
Registered: ‎03-13-2014

Re: PCI Express lane polarity invertion

Jump to solution

umamahe, gszakacs, thank you very much! This is exactly what I need.

0 Kudos