UPGRADE YOUR BROWSER

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?

Description

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?

Solution

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 Created 09/04/2007
Last Updated 05/19/2014
Status Archive
Type General Article