古川制御日記

佐賀県武雄市の組み込み開発屋ブログ

Avalon Packets to Transactions Converter Core

Transaction Packet Format

Byte Field Description
0 Transaction code Type of transaction. See Properties of Avalon-ST Interfaces table.
1 Reserved Reserved for future use.
[3:2] Size Transaction size in bytes. For write transactions the size indicates the size of the data field. For read transactions the size indicates the total number of bytes to read.
[7:4] Address 32-bit address for the transaction.
[n:8] Data Transaction data; data to be written for write transactions.

Response Packet Format

Byte Field Description
0 Transaction code The transaction code with the most significant bit inversed.
1 Reserved Reserved for future use.
[4:2] Size Total number of bytes read/written successfully.

Supported Transactions

Transaction Code Avalon-MM Transaction Description
0x00 Write non-incrementing address. Writes data to the given address until the total number of bytes written to the same word address equals to the value specified in the size field.
0x04 Write incrementing address. Writes transaction data starting at the given address.
0x10 Read non-incrementing address. Reads 32 bits of data from the given address until the total number of bytes read from the same address equals to the value specified in the size field.
0x14 Read incrementing address. Reads the number of bytes specified in the size field starting from the given address.
0x7f No transaction. No transaction is initiated. You can use this transaction type for testing purposes. Although no transaction is initiated on the Avalon-MM interface the core still returns a response packet for this transaction code.

f:id:fullphong:20171011230824p:plain