Due to a bug in Quartus® II 10.1sp1 and previous versions, if you regenerate the PCI Express® core from x1 lane to multiple lanes such as x4 or x8, software may not update the <variant>_serdes.v(.vhd) file. As a result, some of the upper lanes are not connected to transceiver Physical Channels, and fitter will error out with messages similar to the following:
-
Error: Differential I/O output pin pcie_tx1_o_pin is assigned to a non differential location P2. However, it must be assigned to a differential input location File: <path/file_name>
-
Error: Differential I/O input pin pcie_rx1_i_pin is assigned to a non differential location T2. However, it must be assigned to a differential input location File: <path/file_name>
To workaround the issue, delete <variant>_serdes.v(.vhd) file from your working directory and regenerate the core.
This problem will be fixed in a future version of the Quartus II software.