We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 21707

LogiCORE PCI Express - Can wait states be inserted during the transfer of Transaction Layer Packets?


General Description: 

Can I insert wait states during the transmission of Transaction Layer Packets (TLPs)? For example, there is an input to the transaction interface called trn_tsrc_rdy_n. Can this signal be used to insert wait states during the transmission of TLPs?


You can pause the transfer of packets between the user application and the PCI Express Core by deasserting trn_tsrc_rdy_n. There is no limit to the number of cycles that trn_tsrc_rdy_n can be deasserted. The PCI Express Core holds the packet in its transmit buffer until you finish moving the packet into the core signified by the assertion of trn_teof_n. Once the complete packet is stored inside the core, it is transmitted on the PCI Express Link. You cannot directly affect the packet's transmission on the link through trn_tsrc_rdy_n. However, if you deassert trn_tsrc_rdy_n excessively it slows the overall bandwidth because the core does not have the packet to send until you assert trn_teof_n


NOTE: Currently, you must pause back-to-back TLPs by at least one cycle by deasserting trn_tsrc_rdy_n. Please see (Xilinx Answer 21708) for more information.

AR# 21707
Date 05/19/2014
Status Archive
Type General Article
Page Bookmarked