Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Byte OffsetNameDescriptionNote
0

Header[7:0]

  • Version number
  • Operation Type
  • Device Address


  • BIT[2:0] = 0x1
  • BIT[3]:
    • 0x1 = READ
    • 0x0 = WRITE
  • BIT[7:4] = Device index on daisy chain
1RegAddr[31:24]Register Address
  • In units of bytes
  • RegAddr[1:0] must be zero for 32-bit address alignment
2RegAddr[23:16]
3RegAddr[15:8]
4RegAddr[7:0]
5WriteData[31:24]Write Data
  • Only used for write operations
6WriteData[23:16]
7WriteData[15:8]
8WriteData[7:0]
9Footer[7:0]Responds  Value
  • footer bitwise OR'd for all daisy chain responds
10Checksum[7:0]ChecksumChecksum of
  • Calculated from all
bytes from header to footer(
  • data payload bytes
  • ByteOffset[9:0]
)
  • One's complement

ASIC Outbound (FPGA Inbound) Response Format

...

Byte OffsetNameDescriptionNote
0Header[7:0]
  • Version number
  • Operation Type
  • Device Address
  • Version number = Echoed back
  • Operation Type = Echoed back
  • Device Address:
    • if 0x0 = Echoed back
    • Else decremented by 1 from request's device address
1RegAddr[31:24]Register AddressEchoed back
2RegAddr[23:16]
3RegAddr[15:8]
4RegAddr[7:0]
5MemData[31:24]Memory Data
  • Returns the read data if read operation
  • Returns the write data if write operation


6MemData[23:16]
7MemData[15:8]
8MemData[7:0]
9Footer[7:0]Responds  Value

Only used for non-posted operations.  non-zero if error

  • BIT0 BIT[1:0] = Memory Transaction Responds
  • BIT1 BIT2 = Version Mismatch Error
  • BIT2 BIT3 = non 32-bit address alignment
  • BIT4 = checksum error
  • BIT[7:35] = 0x0


10Checksum[7:0]ChecksumChecksum of
  • Calculated from all
bytes from header to footer (
  • data payload bytes
  • ByteOffset[9:0]
  • One's complement


References