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 |