The IDLE code is sent when no data frame and no trigger code is being sent. Trigger codes can be sent at any time, independent of the state of the data transport. There are 8 trigger codes that are mapped to a 8-bit trigger operation code bus. The GR is used to send a "global reset" to all the ASIC digital logic. The SOF code is used to indicate the start of a data payload transport. After the SOF either the data payload (or trigger code) is sent. After the last data payload byte, the EOF code is sent.
IDLE | K28.5 |
SOF (Start of Frame) | K28.0 |
EOF (End of Frame) | K28.1 |
Trigger Code[BIT=0] | K28.2 |
Trigger Code[BIT=1] | K28.3 |
Trigger Code[BIT=2] | K28.4 |
Trigger Code[BIT=3] | K28.6 |
Trigger Code[BIT=4] | K28.7 |
Trigger Code[BIT=5] | K23.7 |
Trigger Code[BIT=6] | K27.7 |
Trigger Code[BIT=7] | K29.7 |
GR (Global Reset) | K30.7 |
The FPGA sends request messages to the ASIC in the serial protocol data payload tranport (in-between SOF and EOF). The ASIC processes the message and responds back to the FPGA. Only 1 message is in flight at any time to remove the requirement of back pressuring the link. Both the request message and responds message are the same size (13 bytes).
Byte Offset | Name | Description | Note |
---|---|---|---|
0 | Version[7:0] | Version number | Must be 0x1 |
1 | OpCode[7:0] | Operation Code |
|
2 | TID[7:0] | Transaction ID | Used for debugging |
3 | DevAddr[7:0] | Device Address |
|
4 | RegAddr[31:24] | Register Address | In units of bytes |
5 | RegAddr[23:16] | ||
6 | RegAddr[15:8] | ||
7 | RegAddr[7:0] | ||
8 | WriteData[31:24] | Write Data | Only used for write operations |
9 | WriteData[23:16] | ||
10 | WriteData[15:8] | ||
11 | WriteData[7:0] | ||
12 | Respond[7:0] | Responds Value |
|
Byte Offset | Name | Description | Note |
---|---|---|---|
0 | Version[7:0] | Version number | Echoed back |
1 | OpCode[7:0] | Operation Code | Echoed back |
2 | TID[7:0] | Transaction ID | Echoed back |
3 | DevAddr[7:0] | Device Address | Echoed back |
4 | RegAddr[31:24] | Register Address | Echoed back |
5 | RegAddr[23:16] | ||
6 | RegAddr[15:8] | ||
7 | RegAddr[7:0] | ||
8 | MemData[31:24] | Memory Data |
|
9 | MemData[23:16] | ||
10 | MemData[15:8] | ||
11 | MemData[7:0] | ||
12 | Respond[7:0] | Responds Value | Only used for non-posted operations. non-zero if error
|