HotRIO Slave Sub-Block

The HotRIO Slave Sub-Block is a communication-interface sub-block that provides the microcontroller with access to status, diagnostic, and configuration information for a HotRIO Slave connection on the board.

As described in the corresponding section, the position of this sub-block depends on the ordering of preceding blocks and on the size of the Hardware Interfaces block. Consequently, the base address of this sub-block is parameter-dependent. In this document, all register addresses are specified relative to an offset.

Sub-Block header

The sub-block starts with a constant (CONST) header containing:

  • an 8-bit identifier for this sub-block type; and

  • an 8-bit field indicating optional features available in this sub-block.

For this sub-block, no optional features are defined; therefore, the feature field is reserved. The sub-block ID is 1.

[Offset + 0x0000] - Sub-block header (CONST)

15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0

Communications interface sub-block optional features

Communications interface sub-block type

Register Sub-block header with access policy (CONST)

Signals:

  • Communications interface sub-block type [0,7] ID of this communications interface sub-block. In this case it does correspond to the HotRIO Slave sub-block ID
    • Default value : 1

  • Communications interface sub-block optional features [8,15] Optional features field for this sub-block. In this case it is 0 as no optional features are avaialble
    • Default value : 0

Status register

The HotRIO Slave Sub-Block provides a status register from which diagnostic indicators describing the current state of the HotRIO Slave can be read.

Any change in slave status observed through this register shall be signaled by asserting the Communication-interface status flag in the Interrupt register.

[Offset + 0x0001] - HotRIO Slave status register (RO)

15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0

HotRIO Slave sync output

Register HotRIO Slave status register with access policy (RO)

Signals:

  • HotRIO Slave sync output [0,0] Flag asserted when the RX data stream is aligned with the ‘hotrio_slave_rx’ state machine

Diagnostics

The HotRIO Slave Sub-Block includes five diagnostic registers exposed by the HotRIO Slave module. These registers provide monitoring metrics for the microcontroller to supervise the HotRIO Slave communication interface.

[Offset + 0x0002] - Packets received (RO)

15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0

HotRIO Slave packets received

Register Packets received with access policy (RO)

Signals:

  • HotRIO Slave packets received [0,15] uint16_t counter of packets received by this HotRIO Slave interface since last reset (included those forwarded to other nodes)

[Offset + 0x0003] - kchar error counter (RO)

15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0

HotRIO Slave k-char error counter

Register kchar error counter with access policy (RO)

Signals:

  • HotRIO Slave k-char error counter [0,15] uint16_t counter of wrong and/or wrongly positioned special characters received since last reset

[Offset + 0x0004] - parity error counter (RO)

15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0

HotRIO Slave parity error counter

Register parity error counter with access policy (RO)

Signals:

  • HotRIO Slave parity error counter [0,15] uint16_t counter of parity errors detected since last reset

[Offset + 0x0005] - CTC error (RO)

15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0

HotRIO Slave CTC error counter

Register CTC error with access policy (RO)

Signals:

  • HotRIO Slave CTC error counter [0,15] uint16_t counter of CTC FIFO overrun and/or underrun errors since last reset

[Offset + 0x0006] - CTC events (RO)

15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0

HotRIO Slave CTC event counter

Register CTC events with access policy (RO)

Signals:

  • HotRIO Slave CTC event counter [0,15] uint16_t counter of CTC activations (insertion and/or drops) since last reset. These are NOT errors