Skip to content

owr_mib: Register Map

Generated by tools/regmap.py from hdl/owr_mib/regs/owr_regs.yml, do not edit. The same description generates the VHDL package owr_regs_pkg and the C header sw/owr_regs.h.

Byte addresses of 32-bit registers on the AXI4-Lite port (8-bit address); unused addresses and bits read as zero. The ID register reads 0x4F575201.

Access Meaning
RO Read only
RW Read and write
W1 Write one: command; reads as zero
W1C Sticky flag; write one to clear
WO Write only; reads as zero
RC Read only; any write to the register clears it

Registers

Address Register Description
0x00 ID Identification of the core and version of the register map
0x04 GENERICS Generics of the core
0x08 FIFO_DEPTHS Depths of the transmit and receive FIFOs in N-Chars
0x0C CLK_FREQ Frequency of LinkClk
0x10 PORT_CTRL Port control: Data Link layer (ECSS 5.5.3a), Physical layer (ECSS 5.3.8) and port loopback (ECSS 5.6.10f)
0x14 LINK_SPEED Data signalling rate of the transmitter (ECSS 5.4.11): bit period in LinkClk cycles
0x18 PORT_STATUS Port status (ECSS 5.5.3b)
0x1C CREDIT Credit counters (ECSS 5.5.3b.3)
0x20 FIFO_LEVELS Fill levels of the FIFOs seen from LinkClk
0x24 ERRORS Error flags (ECSS 5.5.3b.2)
0x28 ERROR_COUNTS Error counters (saturating)
0x2C LINK_COUNTS Link counters (saturating)
0x30 EVENTS Event flags
0x34 ERRORS_IRQ_EN Interrupt enable of the error flags
0x38 EVENTS_IRQ_EN Interrupt enable of the event flags
0x3C IRQ_STATUS Interrupt output
0x40 TIME_CODE Time-code register (ECSS 5.6.4.3)
0x44 TC_SEND TIME-CODE.request (ECSS 6.1.2.2)
0x48 TC_COUNTS Time-code counters (saturating)
0x50 INT_CTRL Distributed interrupt mode (ECSS 5.6.5.1d)
0x54 INT_TICK Tick of the interrupt timers
0x58 INT_HOLDOFF Minimum interval between two interrupt codes of one identifier (ECSS 5.6.5.4c, d)
0x5C INT_ACK_DELAY Minimum delay between a received interrupt code and its acknowledgement code (ECSS 5.6.5.6e)
0x60 INT_ACTIVE Interrupt register: interrupts received and not acknowledged
0x64 INT_SEND DISTRIBUTED_INTERRUPT.request (ECSS 6.1.3.2)
0x68 INT_ACK DISTRIBUTED_INTERRUPT_ACK.request (ECSS 6.1.3.4)
0x6C ACK_RECEIVED Interrupt acknowledgement codes received
0x80 ECC_STATUS EDAC status of the FIFOs
0x84 ECC_SELECT Channel shown in ECC_COUNT
0x88 ECC_COUNT SEC and DED counters of the selected channel
0x8C ECC_INJECT Error injection into the next word written to a FIFO (tests)

Fields

ID

Address 0x00: Identification of the core and version of the register map.

Bits Field Access Reset Description
31:0 ID RO 0x4F575201 0x4F5752 (OWR) and register map version 1

GENERICS

Address 0x04: Generics of the core.

Bits Field Access Reset Description
12:8 INT_TIMER_WIDTH RO IntTimerWidth_g Width of the interrupt timers in ticks
1 INTERRUPTS RO Interrupts_g Distributed interrupt service implemented
0 TIME_CODES RO TimeCodes_g Time-code service implemented

FIFO_DEPTHS

Address 0x08: Depths of the transmit and receive FIFOs in N-Chars.

Bits Field Access Reset Description
31:16 RX RO RxFifoDepth_g Receive FIFO depth
15:0 TX RO TxFifoDepth_g Transmit FIFO depth

CLK_FREQ

Address 0x0C: Frequency of LinkClk.

Bits Field Access Reset Description
31:0 KHZ RO LinkClkFreq_g Frequency of LinkClk in kHz

PORT_CTRL

Address 0x10: Port control: Data Link layer (ECSS 5.5.3a), Physical layer (ECSS 5.3.8) and port loopback (ECSS 5.6.10f).

Bits Field Access Reset Description
6 LOOPBACK RW 0 Port loopback: the receiver receives the own transmitter
5 RECEIVER_EN RW 1 Enable line receiver
4 DRIVER_EN RW 1 Enable line driver
3 AUTO_START RW AutoStart_g AutoStart
2 LINK_START RW LinkStart_g LinkStart
1 LINK_DISABLED RW LinkDisabled_g LinkDisabled
0 PORT_RESET W1 0 PortReset: clears both FIFOs, moves the link state machine to ErrorReset, sets the time-code register to zero and clears the interrupt registers

Address 0x14: Data signalling rate of the transmitter (ECSS 5.4.11): bit period in LinkClk cycles.

Bits Field Access Reset Description
15:8 INIT_DIV RO InitDiv Bit period outside Run (10 Mb/s)
7:0 RUN_DIV RW RunDiv_g Bit period in the Run state (1 to 255, 0 is treated as 1)

PORT_STATUS

Address 0x18: Port status (ECSS 5.5.3b).

Bits Field Access Reset Description
10:8 LAST_CAUSE RO Cause of the last error recovery (ECSS 5.5.8.4a.5): 0 none, 1 LinkDisabled, 2 disconnect, 3 parity error, 4 ESC error, 5 credit error
5 SPILL RO Remainder of a packet being discarded from the transmit FIFO
4 GOT_NULL RO gotNull
3 RECOVERY RO Link error recovery state machine in Recovery
2:0 LINK_STATE RO Link state: 0 ErrorReset, 1 ErrorWait, 2 Ready, 3 Started, 4 Connecting, 5 Run

CREDIT

Address 0x1C: Credit counters (ECSS 5.5.3b.3).

Bits Field Access Reset Description
13:8 RX_CREDIT RO Receive credit count
5:0 TX_CREDIT RO Transmit credit count

FIFO_LEVELS

Address 0x20: Fill levels of the FIFOs seen from LinkClk.

Bits Field Access Reset Description
31:16 RX RO Receive FIFO level
15:0 TX RO Transmit FIFO level

ERRORS

Address 0x24: Error flags (ECSS 5.5.3b.2).

Bits Field Access Reset Description
3 CREDIT W1C 0 Credit error
2 ESC W1C 0 ESC error
1 PARITY W1C 0 Parity error
0 DISCONNECT W1C 0 Disconnect

ERROR_COUNTS

Address 0x28: Error counters (saturating).

Bits Field Access Reset Description
31:24 CREDIT RC 0 Credit errors
23:16 ESC RC 0 ESC errors
15:8 PARITY RC 0 Parity errors
7:0 DISCONNECT RC 0 Disconnects

Address 0x2C: Link counters (saturating).

Bits Field Access Reset Description
31:16 RECOVERY RC 0 Link error recoveries
15:0 RUN RC 0 Entries into the Run state

EVENTS

Address 0x30: Event flags.

Bits Field Access Reset Description
13 ECC_DED W1C 0 Double error detected in a FIFO
12 ECC_SEC W1C 0 Single error corrected in a FIFO
11 RX_OVERFLOW W1C 0 N-Char lost in the receive handler
10 IND_OVERFLOW W1C 0 Indication lost (indication FIFO full)
9 ACK_REQ_DISCARDED W1C 0 Acknowledgement request in interrupt mode (no code sent)
8 INT_REQ_DISCARDED W1C 0 Interrupt request within the minimum interval or while waiting
7 BC_IGNORED W1C 0 Received broadcast code ignored: type 0b01 or 0b11 (ECSS 5.6.3f), disabled service, or acknowledgement in interrupt mode
6 BC_DISCARDED W1C 0 Broadcast code discarded by the Data Link layer outside Run (ECSS 5.5.9)
5 ACK_RECEIVED W1C 0 Interrupt acknowledgement code received
4 INT_RECEIVED W1C 0 Interrupt code received
3 TC_INVALID W1C 0 Invalid time-code received
2 TC_VALID W1C 0 Valid time-code received
1 LINK_DOWN W1C 0 Run state left
0 LINK_UP W1C 0 Run state entered

ERRORS_IRQ_EN

Address 0x34: Interrupt enable of the error flags.

Bits Field Access Reset Description
3:0 ENABLE RW 0 Bit n enables ERRORS bit n

EVENTS_IRQ_EN

Address 0x38: Interrupt enable of the event flags.

Bits Field Access Reset Description
13:0 ENABLE RW 0 Bit n enables EVENTS bit n

IRQ_STATUS

Address 0x3C: Interrupt output.

Bits Field Access Reset Description
0 IRQ RO Irq: OR of the enabled error and event flags

TIME_CODE

Address 0x40: Time-code register (ECSS 5.6.4.3).

Bits Field Access Reset Description
5:0 VALUE RO Last time-code sent or received

TC_SEND

Address 0x44: TIME-CODE.request (ECSS 6.1.2.2).

Bits Field Access Reset Description
5:0 VALUE WO 0 A write sends a time-code with this value

TC_COUNTS

Address 0x48: Time-code counters (saturating).

Bits Field Access Reset Description
31:16 INVALID RC 0 Invalid time-codes received
15:0 VALID RC 0 Valid time-codes received

INT_CTRL

Address 0x50: Distributed interrupt mode (ECSS 5.6.5.1d).

Bits Field Access Reset Description
0 ACK_MODE RW 0 1: interrupt with acknowledgement mode, 0: interrupt mode

INT_TICK

Address 0x54: Tick of the interrupt timers.

Bits Field Access Reset Description
15:0 CYCLES RW IntTick Tick period in LinkClk cycles (reset: 1 us; 0 is treated as 1)

INT_HOLDOFF

Address 0x58: Minimum interval between two interrupt codes of one identifier (ECSS 5.6.5.4c, d).

Bits Field Access Reset Description
IntTimerWidth-1:0 TICKS RW 0 Interval in ticks; 0: none

INT_ACK_DELAY

Address 0x5C: Minimum delay between a received interrupt code and its acknowledgement code (ECSS 5.6.5.6e).

Bits Field Access Reset Description
IntTimerWidth-1:0 TICKS RW 0 Delay in ticks; 0: none

INT_ACTIVE

Address 0x60: Interrupt register: interrupts received and not acknowledged.

Bits Field Access Reset Description
31:0 IID RO Bit n is set by a received interrupt code n and cleared by an acknowledgement request n

INT_SEND

Address 0x64: DISTRIBUTED_INTERRUPT.request (ECSS 6.1.3.2).

Bits Field Access Reset Description
4:0 IID WO 0 A write sends an interrupt code with this identifier

INT_ACK

Address 0x68: DISTRIBUTED_INTERRUPT_ACK.request (ECSS 6.1.3.4).

Bits Field Access Reset Description
4:0 IID WO 0 A write acknowledges the interrupt with this identifier

ACK_RECEIVED

Address 0x6C: Interrupt acknowledgement codes received.

Bits Field Access Reset Description
31:0 IID W1C 0 Bit n is set by a received acknowledgement code n

ECC_STATUS

Address 0x80: EDAC status of the FIFOs.

Bits Field Access Reset Description
5:0 DED RC 0 Bit n: double error detected in channel n (0 transmit FIFO, 1 receive FIFO, 2 broadcast requests, 3 broadcast indications, 4 register requests, 5 register responses); any write clears all counters and flags

ECC_SELECT

Address 0x84: Channel shown in ECC_COUNT.

Bits Field Access Reset Description
2:0 CHANNEL RW 0 Channel 0 to 5

ECC_COUNT

Address 0x88: SEC and DED counters of the selected channel.

Bits Field Access Reset Description
31:16 DED RC 0 Double errors detected
15:0 SEC RC 0 Single errors corrected; any write clears the selected channel

ECC_INJECT

Address 0x8C: Error injection into the next word written to a FIFO (tests).

Bits Field Access Reset Description
9 DOUBLE W1 0 Inject a double error
8 SINGLE W1 0 Inject a single error
2:0 CHANNEL WO 0 Channel 0 to 5