100G Interlaken Intel® FPGA IP User Guide

ID 683338
Date 10/31/2022
Public
Document Table of Contents

6. 100G Interlaken IP Core Register Map

The 100G Interlaken IP core control registers are 32 bits wide and are accessible to you using the management interface, an Avalon-MM interface which conforms to the Avalon Interface Specifications. This table lists the registers available in the IP core. All unlisted locations are reserved.

Table 24.   100G Interlaken IP Core Register Map

Offset

Name

R/W

Description

9'h0

PCS_BASE

RO

[31:8] – Constant “HSi” ASCII for Arria® V and Stratix® V variants.

[31:8] – Constant “HSj” ASCII for Intel® Arria® 10 variant.

[7:0] – version number

Despite its name, this register does not encode the hard PCS base address.

9'h1

LANE_COUNT

RO

Number of lanes

9'h2

TEMP_SENSE

RO

Device temperature according to the internal temperature sensing diode.

[7:0] – the temperature in degrees Fahrenheit

[15:8] – the temperature in degrees Celsius

For example, when the temperature is 54 degrees Celsius (130 degrees Fahrenheit), the value of the register is 0x3682. To interpret this register value, you read 0x36 (decimal 54) to be the temperature in degrees Celsius, and you read 0x82 (decimal 130) to be the temperature in degrees Fahrenheit.

This register is invalid in the following IP core variations:

  • Variations that target an Intel® Arria® 10 device
  • Variations in which you turn off the hidden parameter Include Temp Sense

9'h3

ELAPSED_SEC

RO

[23:0] - Elapsed seconds since power up. The IP core calculates this value from the management interface clock (mm_clk) for diagnostic purposes. During continuous operation, this value rolls over every 194 days.

9'h4

TX_EMPTY

RO

[NUM_LANES–1:0] – Transmit FIFO status (empty)

9'h5

TX_FULL

RO

[NUM_LANES–1:0] – Transmit FIFO status (full)

9'h6

TX_PEMPTY

RO

[NUM_LANES–1:0] – Transmit FIFO status (partially empty)

9'h7

TX_PFULL

RO

[NUM_LANES–1:0] – Transmit FIFO status (partially full)

9'h8

RX_EMPTY

RO

[NUM_LANES–1:0] – Receive FIFO status (empty)

9'h9

RX_FULL

RO

[NUM_LANES–1:0] – Receive FIFO status (full)

9'hA

RX_PEMPTY

RO

[NUM_LANES–1:0] – Receive FIFO status (partially empty)

9'hB

RX_PFULL

RO

[NUM_LANES–1:0] – Receive FIFO status (partially full)

9'hC

REF_KHZ 1

RO

PLL reference clock frequency (kHz)

If you turn off Include diagnostic features, this register is not available.

9'hD

RX_KHZ 1

RO

RX recovered clock frequency (kHz)

If you turn off Include diagnostic features, this register is not available.

9'hE

TX_KHZ 1

RO

TX serial clock frequency (kHz)

If you turn off Include diagnostic features, this register is not available.

9'hF

LANE_PROFILE

RO

[NUM_LANES–1:0] – Mask delineating the transceivers this IP core uses on the device. For example, if the FPGA has 24 lanes on one side of the device and the IP core uses the bottom twelve transceivers, the mask would be 24'b000000_000000_111111_111111..

This register is not available in IP core variations that target an Intel® Arria® 10 device.

9'h10

PLL_LOCKED

RO

In Intel® Arria® 10 devices: [0] – Transmit PLL lock indication.

In other device families: [Number of transceiver blocks–1:0] – Transceiver block transmit PLL n lock indication. One lock indicator per transceiver block. Bits that correspond to unused transceiver block PLLs are forced to 1.

9'h11

FREQ_LOCKED

RO

[NUM_LANES–1:0] – Clock data recovery is frequency locked on the inbound data stream

9'h12

LOOPBACK

RW

[NUM_LANES–1:0] – For each lane, write a 1 to activate internal TX to RX serial loopback mode, or write a 0 to disable the loopback for normal operation.

9'h13

RESET

RW

Bit 9 : 1 = Force lock to data mode

Bit 8 : 1 =Force lock to reference mode

Bit 7 : 1 = Synchronously clear the TX-side error counters and sticky flags

Bit 6 : 1 = Synchronously clear the RX-side error counters and sticky flags

Bit 5 : 1 =Program load mode: perform a sequence of DMA reads. Currently the IP core supports only the value of 1'b0, indicating a processor controls the read operations.

Bit 4 : 1 = Ignore the RX analog reset

Bit 3 : 1 = Reset the soft microcontroller

Bit 2 : 1 = Reset the transmitter and the receiver

Bit 1 : 1 = Reset the receiver

Bit 0 : 1 =Ignore RX digital resets

The normal operating state for this register is all zeroes, to allow automatic reset control. These bits are intended primarily for hardware debugging use. Bit 2 is a good general purpose soft reset. Bits 6 and 7 are convenient for monitoring long stretches of error-free operation.

9'h20

ALIGN

RO

Bit 12 : TX lanes are aligned

Bit 0 : RX lanes are aligned.

9'h21

WORD_LOCK

RO

[NUM_LANES–1:0] – Word (block) boundaries have been identified in the RX stream.

9'h22

SYNC_LOCK

RO

[NUM_LANES–1:0] – Metaframe synchronization has been achieved.

9'h23

CRC0

RO

4 bit counters indicating CRC errors in lanes 7,6,5,4,3,2,1,0.

These saturate at F, and you clear them by setting bit 6 in the RESET register.

If you turn off Include diagnostic features, this register is not available.

9'h24

CRC1

RO

4 bit counters indicating CRC errors in lanes 15,14,13,12,11,10,9,8.

These will saturate at F, and you clear them by setting bit 6 in the RESET register.

If you turn off Include diagnostic features, this register is not available.

9'h25

CRC2

RO

4 bit counters indicating CRC errors in lanes 23,22,21,20,19,18,17,16.

These will saturate at F, and you clear them by setting bit 6 in the RESET register.

If you turn off Include diagnostic features, this register is not available.

9'h27

SH_ERR

RO

[NUM_LANES–1:0] – Sticky flag indicating a sync header (framing bit) error has occurred in the corresponding RX lane since this bit was last cleared through the RESET register.

9'h28

RX_LOA

RO

Bit [0] – Sticky flag indicating loss of RX side lane-to-lane alignment since this bit was last cleared through the RESET register. Typically, the IP core asserts this bit in case of a catastrophic problem such as one or more lanes going down.

9'h29

TX_LOA

RO

Bit [0] – Sticky flag indicating loss of TX side lane to lane alignment since this bit was last cleared through the RESET register. Typically, the IP core asserts this bit in case of a TX FIFO underflow / overflow caused by a significant deviation from the expected data flow rate through the TX PCS.

9'h30

PCS_6SEL

RO

Transceiver block selection for PCS test bus. (Factory use only).

If you turn off Include diagnostic features, this register is not available.

9'h31

PCS_LNSEL

RO

Lane selection within transceiver block for PCS test bus. (Factory use only).

If you turn off Include diagnostic features, this register is not available.

9'h32

PCS_TB

RO

PCS test bus. (Factory use only).

If you turn off Include diagnostic features, this register is not available.

9'h33

Reserved

9'h34

RX_PRBS_DONE

RO

[NUM_LANES–1:0] – Indicates whether enough bits have been received on the corresponding RX lane for one complete pass through the PRBS polynomial.

If you turn off Include diagnostic features, this register is not available.

9'h35

RX_PRBS_ERR

RO

[NUM_LANES–1:0] – Sticky flag that indicates whether a PRBS error has occurred on the corresponding RX lane after RX_PRBS_DONE has attained the value of 1.

If you turn off Include diagnostic features, this register is not available.

9'h36

RX_PRBS_COUNT

RO

[7:0] – This eight-bit counter holds the number of words that had PRBS errors across all lanes. Saturates at the value of 0xFF.

If you turn off Include diagnostic features, this register is not available.

9'h37

RX_PRBS_CTRL

RW

Bit [0] – If you set this bit to the value of 1, the IP core clears the RX_PRBS_DONE, RX_PRBS_ERR, and RX_PRBS_COUNT registers. Reset this bit to the value of 0 to capture new PRBS status.

If you turn off Include diagnostic features, this register is not available.

9'h38

CRC32_ERR_INJECT

RW

[NUM_LANES–1:0] - When a bit has the value of 1, the IP core injects CRC32 errors on the corresponding TX lane. When it has the value of 0, the IP core does not inject errors on the TX lane. You must maintain each bit at the value of 1 for the duration of a Meta Frame, at least, to ensure that the IP core transmits at least one CRC32 error.

If you turn off Include diagnostic features, this register is not available.

Offset

Name

R/W

Description

9'h102

ERR_INJECT

RW

Bit [0] - When you write the value of 1 to this register bit, the IP core TX MAC injects a single bit error in outgoing Interlaken communication. This bit error will cause one or possibly more CRC24 errors. Before you can inject a second error, you must write the value of 0 to this register bit. Intel® recommends that you write the value of 1 and then write the value of 0 to inject a single bit error.

If you turn off Include diagnostic features, this register is not available.

9'h122

CNT_ERR_TX

RO

Number of correctable errors in M20K memory in the TX MAC logic.

If you turn off Enable M20K ECC support, this register is not available.

9'h123

CNT_UNCOR_TX

RO

Number of uncorrectable errors in M20K memory in the TX MAC logic.

If you turn off Enable M20K ECC support, this register is not available.

9'h124

CNT_ERR_RX

RO

Number of correctable errors in M20K memory in the RX MAC logic.

If you turn off Enable M20K ECC support, this register is not available.

9'h125

CNT_UNCOR_RX

RO

Number of uncorrectable errors in M20K memory in the RX MAC logic.

If you turn off Enable M20K ECC support, this register is not available.

1 Intel® recommends that you use this register only during hardware operation. During simulation, you should not rely on the value in this register, because the amount of simulation time required for the IP core to provide consistent values in the REF_KHZ, RX_KHZ, and TX_KHZ registers is too long.