BRGTC6 Config Interface

The BRGTC6 Chip can be configured through the configuration interface, which consists of an array of configuration registers.

Write-type registers can be set to configure the link. They must be set before enabling the link. Write type registers should not be modified after GO is set to 1.

Read type register can be polled to check for link operation status.

Configuration

Type

Address

Description

Value

Default Value

PAT_BYPASS

Write

0x1

Whether to bypass the pattern generator

0 for using the PatternGen/Chk modules, 1 for direct msgs through the link.

0

PATTERN_MODE

Write

0x2

Whether to use a fixed or random pattern

0 for using a random pattern, 1 for using the fixed pattern

0

PATTERN_1_UP

Write

0x3

The first fixed pattern to send in the upstream

8-bit value

0b10101010

PATTERN_2_UP

Write

0x4

The second fixed pattern to send in the upstream

8-bit value

0b01010101

PATTERN_1_DOWN

Read

0x5

The first pattern received in the downstream

8-bit value

/

PATTERN_2_DOWN

Read

0x6

The second pattern received in the downstream

8-bit value

/

PATTERN_STATE

Read


0x7

Indicates what state the pattern checker is in

0b00: Idle, the pattern checker has yet to receive a msg

0b01: Calibrating, the pattern checker has received some messages, but is still trying to match that to a pattern.

0b10: Locked, the pattern checker has identified a pattern and the link is steady.

0b11: Error, the pattern checker discovered an error after the link was steady

/

PAT_ERROR_COUNT

Read

0x8

Indicates the number of errors the pattern checker had

6-bit value: will overflow if there are more than this

/

GO

Write

0x9

Whether to enable the upstream and start sending msgs

0 for idle link, 1 for enabled link

0

CLK_DIV_FACTOR

Write

0xA

The factor to divide the core clk by in the clk divider

12-bit unsigned int (Must be either 1 or a value

1

CLK_SKEW_FACTOR

Write

0xB

The number of cycles to skew data and clk by. (Only works when div factor > 1)

12-bit unsigned int (Must be smaller than the value set for CLK_DIV_FACTOR)

0

CTC_ERROR_BIT

Read

0xC

The parity bit of the received messages

1-bit (Only reset on a full-chip reset or credit-interface reset)

/

UP_REPAIR_SEL

Write

0xD

Selects which bit of the credit interface should be driven onto the repair lane

8-bit value (0 = no repair, 1 = CRC, 2: credit, 3 = reset, 4 = clock, 5 = val, 6+ = message bits)

0

DOWN_REPAIR_SEL

Write

0xE

Selects which bit of the credit interface should use the value from the repair lane

8-bit value (0 = no repair, 1 = CRC, 2: credit, 3 = reset, 4 = clock, 5 = val, 6+ = message bits)

0

DBG_TICK_COUNT

Read

0xF

Value of the CredRecv tick count for debugging purposes

8-bit value

/

DBG_NEXT_CRED_CNT

Read

0x10

Value of the next credit count in CredSend for debugging purposes

8-bit value: note that this value will be one clock cycle behind the actual value

/

DBG_CRED_RST_DELAY

Read

0x11

Value of the reset delay counter for the reset signal generated by CredSend for debugging purposes

2-bit value

/