The NoC supports AXI exclusive accesses. The packetized transactions sent into the NoC carry the original 16-bit AXI ID that was presented to the NMU in the packet header.
For exclusive accesses to DDR the NMU will preserve the original size attributes of the transaction if the transaction length is 1 and the size is 128 bits or less. The DDRMC can track up to eight exclusive accesses and the maximum AxSize of an exclusive transaction is 16 bytes. For all other transactions to DDR, the NMU will treat the transaction as modifiable, pack the data together, and modify the size to 128 bits.
The NSU contains a single AXI monitor. The monitor uses a 10-bit System Management ID (SMID) in the header as the ID for comparisons. An exclusive access is sent out as exclusive on the NSU AXI interface. An exclusive write access that fails the exclusive check in the monitor is suppressed by the NSU and will not be seen on the NSU AXI interface.
The end-to-end processing of an exclusive access proceeds as follows.
- The NMU receives the 16-bit AXI ID from the master.
- The NMU receives the 10-bit SMID on the A*USER[9:0] inputs from the master.
- For reads, the AXI ID is stored in the RROB indexed by the read tag.
- The SMID, AXI ID, and the tag value are transmitted in the NoC packet header.
- The MC uses the SMID to check the exclusive monitor. The SMID may also be used for security and access permission checks.
- For reads, the combination of read tag and NoC source ID will be unique at the MC for each packet. The MC will reorder based on this combination.
- For writes, the tag is ignored and only the NoC source ID is used for reordering.
- The NSU uses the SMID for exclusive monitor check.
- The NSU creates a master interface AXI ID by selecting two bits from the NoC source ID. This allows the NSU to reorder transactions from different masters, but does not reorder transactions from the same master.
- The NSU stores the NPP tag and returns it with the response.