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!

cancel
Showing results for 
Search instead for 
Did you mean: 
Visitor suisui0207
Visitor
163 Views
Registered: ‎01-09-2019

2000t axi memory mapped to pcie IP issue

I generated one axi memory mapped to pcie IP, and open example design,I found s_* ports are not used for this example,so I connect a AXI master model to s_* for Upstream requeset. When simulate one issue occur:Upstream read requeset get a S_AXI_RRESP=2'b10 status. From wave file I found “/board/XILINX_AXIPCIE_EP/axi_pcie_0_i/inst/comp_axi_enhanced_pcie/m_axis_rc_tdata[127:0]=128'b 7417d986 01a00000 00002004 0a000000" the completion is Unsupported Request (UR).Why have this issue? Please help me solve the issue. Thank you!
0 Kudos
3 Replies
Moderator
Moderator
82 Views
Registered: ‎07-26-2012

Re: 2000t axi memory mapped to pcie IP issue

What kind of request did you make? Can you let me know the content of the request and also IP version because I will try to reproduce it?

0 Kudos
Visitor suisui0207
Visitor
62 Views
Registered: ‎01-09-2019

Re: 2000t axi memory mapped to pcie IP issue

IP version="2.9",requeset is Memory read,all memory read is the same situation

0 Kudos
Moderator
Moderator
30 Views
Registered: ‎07-26-2012

Re: 2000t axi memory mapped to pcie IP issue

The root port model generated with this IP does not return a completion to a Memory Read request from EP. TSK_TX_CoMPLETION_DATA can be used when you modify the RP code in order to return a completion.

 

The following is just a simple example  :

<< pci_exp_usrapp_com.v >>

// Add the following in TSK_3DW

 reg [7:0]  B1;
 reg [15:0] B23;
 
 
 reg [2:0] tc_;
 reg [9:0] len_;
 reg [11:0] byte_count_;
 reg [6:0] lower_addr_;
 reg [2:0] comp_status_;
 reg ep_;

begin

// Omitted

    `PCI_EXP_MEM_READ32: begin
     if ( txrx == 0) begin  
          // For Completion
      B1  =  frame_store_rx[1];
      B23 = {frame_store_rx[2], frame_store_rx[3]};     
     
      tc_   = B1[6:4];
      len_ = B23[9:0];
     
      byte_count_  = (len_ * 4);
      lower_addr_  = 7'h00;
      comp_status_ = 3'b000;
      ep_           = 1'b0;
     
      requester_id =  {frame_store_rx[4], frame_store_rx[5]};
      tag =  frame_store_rx[6];

      
      board.RP.tx_usrapp.TSK_TX_COMPLETION_DATA(tag, tc_, len_, byte_count_, lower_addr_, comp_status_, ep_);
     
      end
    end

cmplD.png
0 Kudos