...
Word# | BITS | Name | Description | Note |
---|---|---|---|---|
0 | [7:0] | Version[7:0] | SRP Version number | |
0 | [9:8] | OpCode[1:0] | Operation Code |
|
0 | [23:10] | Reserved | Reserved | Ignored |
0 | [ | 14]LockRequest | Request a lock | |
0 | [15] | LockRelease | Release a lock | |
0 | [23:16] | LockCode | Exclusive access code | Set to 0 when requesting a lock Set to the returned lock code once a lock has been granted |
0 | [31:24] | TimeoutCnt[7:0] | Timeout Counter |
|
1 | [31:0] | TID[31:0] | Transaction ID | |
2 | [31:0] | Addr[31:0] | Register Address | In units of bytes |
3 | [31:0] | Addr[63:32] | Register Address | In units of bytes |
4 | [31:0] | ReqSize[31:0] | Request Size |
|
5 | [31:0] | WriteData[31:0] | Write Data | Only used for write operations |
... | ... | ... | ... | Only used for write operations |
4+CEIL((ReqSize+1)/4) | [31:0] | WriteData[31:0] | Write Data | Only used for write operations |
...
Word# | BITS | Name | Description | Note | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | [7:0] | Version[7:0] | Module's SRP Version number | Always respond with local value | ||||||||||
0 | [9:8] | OpCode[1:0] | Operation Code | Echoed back | ||||||||||
0 | [10] | UnalignedAccess | Module's support for non word-aligned addresses |
| ||||||||||
0 | [11] | MinAccessSize | Module's byte/word transaction support |
| ||||||||||
0 | [12] | WriteEn | Module Write op support |
| ||||||||||
0 | [13] | ReadEn | Module Read op support |
| 0 | [14] | LockGrant | Lock granted for exclusive access | ||||||
0 | [ | 15]LockRelease | Lock release granted | 0 | [23: | 16]LockCode | Exclusive access code | When an exclusive access lock has been granted, transactions must use this code | 0 | [23:14] | Reserved | Reserved | Responds back with 0x0 | |
0 | [31:24] | TimeoutCnt[7:0] | Timeout Counter | Echoed back | ||||||||||
1 | [31:0] | TID[31:0] | Transaction ID | Echoed back | ||||||||||
2 | [31:0] | Addr[31:0] | Register Address | Echoed back | ||||||||||
3 | [31:0] | Addr[63:32] | Register Address | Echoed back | ||||||||||
4 | [31:0] | ReqSize[31:0] | Request Size | Echoed back | ||||||||||
5 | [31:0] | MemData[31:0] | Memory Data | Only used for non-posted operations | ||||||||||
... | ... | ... | ... | Only used for non-posted operations | ||||||||||
4+CEIL((ReqSize+1)/4) | [31:0] | MemData[31:0] | Memory Data | Only used for non-posted operations | ||||||||||
5+CEIL((ReqSize+1)/4) | [7:0] | MemResp[7:0] | Memory Bus Response | Footer :
Each SRP bus bridge implementation will define it's own use for this field. | ||||||||||
5+CEIL((ReqSize+1)/4) | [8] | timeout | timeout error | Footer | ||||||||||
5+CEIL((ReqSize+1)/4) | [9] | eofe | End of Frame with Error | Footer | ||||||||||
5+CEIL((ReqSize+1)/4) | [10] | frameError | Framing error detected | Footer | ||||||||||
5+CEIL((ReqSize+1)/4) | [11] | verMismatch | Version Mismatch Error | Footer | ||||||||||
5+CEIL((ReqSize+1)/4) | [12] | reqSizeError | Request Size Error | Footer | 5+CEIL((ReqSize+1)/4) | [13] | LockError | Lock Error | Footer. Module has granted a lock and the incorrect lock code was sent in a txn.||||||
5+CEIL((ReqSize+1)/4) | [31:13] | Reserved | Always zeros | Footer |