- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I am porting an endpoint PCIe IP on my Stratix 10 MX development kit (1SM21BHU2F53E1VG) and I have some issues.
When using a test IP (xillybus) with ST-Avalon PCIE gen2 x8 and a correct pin assignement tooked from the exemple design provided wih the board I got this error messages in Fitter step:
Error(16400): Transceiver channel data signal < pcie_tx[0] > is assigned to pin < PIN_BH45 >, but the specified pin is not compatible with the data signal. Assign the specified data signal to pin < PIN_BL47 >.
Error(16400): Transceiver channel data signal < pcie_tx[1] > is assigned to pin < PIN_BJ47 >, but the specified pin is not compatible with the data signal. Assign the specified data signal to pin < PIN_BK49 >.
Error(16400): Transceiver channel data signal < pcie_tx[2] > is assigned to pin < PIN_BG47 >, but the specified pin is not compatible with the data signal. Assign the specified data signal to pin < PIN_BH49 >.
...
Error(16400): Transceiver channel data signal < pcie_tx[15] > is assigned to pin < PIN_AP45 >, but the specified pin is not compatible with the data signal. Assign the specified data signal to pin < PIN_AR51 >.
Error(15307): Cannot apply project assignments to the design due to illegal or conflicting assignments. Refer to the other messages for corrective action.
When I remove the PCIe TX assignement I get this error message:
Error(14566): The Fitter cannot place 1 periphery component(s) due to conflicts with existing constraints (1 pin(s)). Fix the errors described in the submessages, and then rerun the Fitter. The Intel FPGA Knowledge Database may also contain articles with information on how to resolve this periphery placement failure. Review the errors and then visit the Knowledge Database at https://www.altera.com/support/support-resources/knowledge-base/search.html and search for this specific error message number.
Error(175020): The Fitter cannot place logic pin in region (3, 30) to (3, 31), to which it is constrained, because there are no valid locations in the region for logic of this type.
Error(16234): No legal location could be found out of 2 considered location(s). Reasons why each location could not be used are summarized below:
Error(184016): There were not enough differential input pin locations available (2 locations affected)
I attached the project if some one want to try.
Thanks a lot for your help
Best regards
Amine
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello, can you just follow the error message instruction to assign the pin accordingly? eg. Assign the specified data signal < pcie_tx[0] > to pin < PIN_BL47 >.
You need to follow the error message instruction to assign all 16 pins accordingly.
Anyway, from the attached design, I found it already compiled successful. Is there some misunderstanding here? I guess the design is working previously. but after you changed something and you get the fitter error? if yes, please clarify what change that you did. 😃
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello, Thank you for your answer.
The problem is the PIN_BL47 is for RX PCIe signal, not the TX, and it is the same as defined in the assignment of the example design qts_pcie_ep of the board and in the user guide ...
https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/ug/ug-intel-s10-mx-devl-kit.pdf
It's maybe a constraint to add or something?
I recompiled the project that I attached to be sure, and it stops in the Fitter step. Maybe it's due to the Quartus version, I use the Quartus Prime Pro 19.4 which one do you use for your compilation?
I didn't make a lot of modifications, I just change the FPGA to the one I have, regenerate ST-Avalon and reset release IP and change the assignments to the correct one for my board.
Yes, the design was made for a different board (also a stratix 10). I can send you the original version of the project if it help?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Maybe you can open the IP GUI (platform manager), generate the example design (top right corner), compile the example design without any location assignment and see if the fitter is pass.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I generate the example design and it compiles well, then I added the pin locations and I got the same error message (16400) then I permute RX and TX pin location and the design compile well. Is it correct to permute the TX and RX location ? in the example design of the board and in the documentation they didn't permute ... how PCIe would work if the TX became an RX and the RX a TX?
I also tried to permute the TX and RX in my original design, now I have only the Error(14566) and after
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I don't think we can permute (I presume you mean swap) the TX and RX. Is there some misunderstanding? Can you list out you assign the Rx=? and Tx=? when there is fitter error?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This is the pin assignment that doesn't make errors (16400)
pcie_rx[0] PIN_BH45
pcie_rx[1] PIN_BJ47
pcie_rx[2] PIN_BG47
pcie_rx[3] PIN_BF45
pcie_rx[4] PIN_BE47
pcie_rx[5] PIN_BD45
pcie_rx[6] PIN_BB45
pcie_rx[7] PIN_BC47
pcie_rx[8] PIN_BA47
pcie_rx[9] PIN_AY45
pcie_rx[10] PIN_AW47
pcie_rx[11] PIN_AV45
pcie_rx[12] PIN_AU47
pcie_rx[13] PIN_AT45
pcie_rx[14] PIN_AR47
pcie_rx[15] PIN_AP45
pcie_tx[0] PIN_BL47
pcie_tx[1] PIN_BK49
pcie_tx[2] PIN_BH49
pcie_tx[3] PIN_BG51
pcie_tx[4] PIN_BF49
pcie_tx[5] PIN_BE51
pcie_tx[6] PIN_BD49
pcie_tx[7] PIN_BC51
pcie_tx[8] PIN_BB49
pcie_tx[9] PIN_BA51
pcie_tx[10] PIN_AY49
pcie_tx[11] PIN_AW51
pcie_tx[12] PIN_AV49
pcie_tx[13] PIN_AU51
pcie_tx[14] PIN_AT49
pcie_tx[15] PIN_AR51
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
According to pin-out file, these assignment is the correct one and no need to swap.
for example:
PIN_BH45 is the RX pin = GXBL1C_RX_CH0p,GXBL1C_REFCLK0p
PIN_BL47 is the TX pin = GXBL1C_TX_CH0p
If you swap, you are permute it. So the error is expected.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you :-)
This documentation need a correction then (page 31, 32 and 33): https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/ug/ug-intel-s10-mx-devl-kit.pdf
Can you tell me also please what reset do I need to use for PCIe EP because I have the same problem ...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Noted.
What problem with the reset? I will suggest just follow the Quartus auto fit. Eg, compile the example design without location assignment and see it assign the rest to which pin. If you need further help, I hope you can create a new thread for this. It can help every single issue is track under independent thread. Ease the other to search if they are facing same issue.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you very much, everything works now. I just restart Quartus and everything worked ! for reset you need to use PIN_AH39
Have a nice day :-)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Glad to know 😄
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page