Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
17 years ago

PCI Express:Max_payload_size and lane width

i have design a X4 pcie endpoint device based on Quartus pci express ip V7.2.

when i plug the device to the x16 pice slot of my dell optiplex 620 host, the device can only be recognized as an x1 pcie deivce.

additionally, the device can only transmit a memwr pkt of 128B to host even if i had set the max_payload_size to be 2KB at the megawizard.

why ?

is it any wrong?

9 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    The 128B is typical limited of the root complex chipset. Check the motherboard chipset datasheet to confirm.

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    The 128B is typical limited of the root complex chipset. Check the motherboard chipset datasheet to confirm.

    --- Quote End ---

    it is mean that if the root complex only support max_payload_size of 128B ,then at the configure cycle, it will change the EP device's control register to set it's max_payload_size to 128B,right?
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Yes. The Root Complex and EP must use a common setting, otherwise TLPs would get regected.

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Seaman, did you resolve the x1 vs x4 issue? I am facing the same proble with an x8 pcie core. When I plug it into x16 pcie slot of my dell optiplex 775 host, the device is recognized as an x1 pcie deivce.

    thanks
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    Seaman, did you resolve the x1 vs x4 issue? I am facing the same proble with an x8 pcie core. When I plug it into x16 pcie slot of my dell optiplex 775 host, the device is recognized as an x1 pcie deivce.

    thanks

    --- Quote End ---

    Look at the datasheet of your Intel Chip. You'll see that some chipsets support either x16 or x1 but not x4. Intel 965 Chipset Does support x4 in x16. Intel 945 doesn't.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Please respond to lane width issue if any solution exists. I also have same issue x8 card is detected as x1 in dell optoplex 360 PC.

    Thanks in advance.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    mbsharan, unfortunately there is no solution since its either a restriction imposed by processor chipset or by bios. I have contacted Dell technical support regaridng this matter, but have not received any encouraging response. Only positive news I can offer is that so far I have found it to work on Optiplex 760 (i.e. all 8 lanes working in x16 slot). I would also like to point out that the performance was sub-linear, but I suspect that is due to OS (I am using Windows XP) and system memory issues.

    Good luck!

    Piyush
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Piyush,

    Thanks for the information. It was Dell motherboard(360) chipset issue which supports x1 lane only on x16 connector. We also tested the same board on HP machine and all x8 lanes are detected. Throughput was around 8Gbps with payload size of 128Bytes. Not sure how to change payload size to 256Bytes.

    Thanks.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    You are welcome. I think most standard issue OS and chipset support only 128 bytes payload. So, there is no easy way to bypass that constraint. On other hand, you can try to increase max_outstanding_read_size and chained DMA operation (if not already) to improve your performance.