cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Observer
Observer
429 Views
Registered: ‎02-23-2017

attr[2]=1 in completion transaction would result in error

I instance an AXI-bridge for PCIe IP in Vivado 2018.1.  In the simulation, our design sends a memory read request to host through AXI slave port on the PCIe IP.  We observe a PCIE_MRD TLP transmitted with attr[2]=0 from card to the host, and the host sends back a completion TLP with attr[2]=1. Then, the PCIe IP hangs with cfg_local_error_out = 5'b10010 (Unexpected Completion Received).  From the PCIe spec. 4.0, it says the Function is permitted to set the ID-Based Ordering (IDO) bit (Attr[2]) of Completions it returns. The simulation goes well after we force the host always sets Attr[2]=0 for completion TLP. In Vivado 2017.3, this issue doesn't happen. Is that a bug in this version?

 

(The detail of register, IDO Completion Enable, is shown in the following)
"IDO Completion Enable – If this bit is Set, the Function is permitted to set the ID-Based Ordering (IDO) bit (Attr[2]) of Completions it returns (see Section 2.2.6.3 and Section 2.4). Endpoints, including RC Integrated Endpoints, and Root Ports are permitted to implement this capability. A Function is permitted to hardwire this bit to 0b if it never sets the IDO attribute in Completions. Default value of this bit is 0b."

0 Kudos
2 Replies
Highlighted
Moderator
Moderator
383 Views
Registered: ‎06-29-2011

Re: attr[2]=1 in completion transaction would result in error

Hi @cllin_nctu 

What device are you using and what IP? Is this 7 series with AXI PCIe Gen2 Bridge or US/US+ with XDMA in bridge mode or AXI PCIe Gen3 Bridge?
Also is this seen with the out of the box example design that is provided with the IP you are using?

Note that the 'cfg_local_error_out' signal is not reliable if the usr clk and the core clk are different. Is this the case in your design?
You can enable Advanced Error Reporting (AER) to decode the AER register to accurately detect errors in the PCIe block.

Can you check the Error Code Bits [12-15] of the Requester Completion? This will give us a better idea of what the error is.

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------

Kind regards,
Gareth
Highlighted
Observer
Observer
227 Views
Registered: ‎02-23-2017

Re: attr[2]=1 in completion transaction would result in error

Thanks for the reply. 

We are using US+ (VCU1525) and AXI bridge mode is used. 
The issue was happend in our enviroment instead of example disign. 

 

 

0 Kudos