Down to the TLP: How PCI express devices talk (Part II)

Post a reply

Confirmation code
Enter the code exactly as it appears. All letters are case insensitive.
Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :arrow: :| :mrgreen: :geek: :ugeek:
BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON
Topic review
   

Expand view Topic review: Down to the TLP: How PCI express devices talk (Part II)

Re: Down to the TLP: How PCI express devices talk (Part II)

Post by support »

Well, the usual situation is that there is a PCIe module supplied by your FPGA vendor, which your application logic module interacts with. Among others, the PCIe module has a way of telling you what the max_payload_size is (some dedicated pins, or you need to scan the configuration space). Each PCIe module has its own method for that, so it's down to reading its user guide.

The max_payload_size is a figure which is negotiated between the host and PCIe endpoint, so even though it almost always ends up 128 bytes, there is no way to know it in advance.

It is then the application logic's responsibility to make sure that no data-carrying TLP has more than max_payload_size bytes of data in it. This holds for write data packets and completions of read requests alike.

Eli

Down to the TLP: How PCI express devices talk (Part II)

Post by Guest »

Hi,
As you said
Every TLP carrying data must limit the number of payload data DWs to Max_Payload_Size, which is a number allocated during configuration (typically 32, 64 or 128).

Can you plz elaboration more on this.

Top