cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Observer
Observer
5,259 Views
Registered: ‎05-03-2015

How to control the ID range for AXI transaction issued by the PS

Hello, 

 

I've got a Zynq 7000 design, in which memory mapped AXI slaves are connected to the PS via GP0 and GP1. 

The PS initiates read and write transactions to write into and read from the slaves with the arbitrarily chosen IDs (please correct me if I'm wrong).

This cause the system to hang, because the AXI slaves can not deliver the responses to the PS. 

The problem is that the slaves connected to the PS have the limitted ID range (i.e., 6 bit from 0x00 to 0x1F) while the PS in case the static ID remapping is enabled, initiates transactions with IDs from 0x00 through 0xFF (as far as I could find out by iLA of Vivado).

 

My question is wether there is a possibility that I can limit the generated IDs by the PS (e.g., 0x00 to 0x1F)?

If not, is there any IP core within the Vivado by which I can decouple the transactions and bound the transaction IDs at the master side of that IP?

 

Regards, 

Hamid

0 Kudos
2 Replies
Highlighted
Teacher
Teacher
5,244 Views
Registered: ‎03-31-2012

Take a look at this document page 126 table 5-4 to see what IDs the slaves see from each master: http://www.xilinx.com/support/documentation/user_guides/ug585-Zynq-7000-TRM.pdf
- Please mark the Answer as "Accept as solution" if information provided is helpful.
Give Kudos to a post which you think is helpful and reply oriented.
0 Kudos
Highlighted
Observer
Observer
5,232 Views
Registered: ‎05-03-2015

I don't understand why the IDs seen by the slaves are 13 bits, while the generated IDs by GP0/1 are either 12 or 6 bits (in case of static ID remapping). 

For instance, how these IDs change when the static remapping is enabled? 

If so, why should we maintain the IDs generated by the CPU up to the slave within the PL?

 

 

 

0 Kudos