XS2 Definitions#

Processor State Registers#

Processor State Registers (also called “processor status registers” or “processor configuration registers”) are registers that exist on a specific tile, and can be accessed with a single instruction (either getps or setps). From C, getps() and setps() can be used.

group xs2aPSRegisters

PS_DBG_SCRATCH

A set of registers used by the debug ROM to communicate with an external debugger, for example over JTAG.

This is the same set of registers as the Debug Scratch registers in the xCORE tile configuration.

Sub-Fields:

ALL_BITS Value.

XS1_NUM_PS_DBG_SCRATCH#
XS1_PS_DBG_SCRATCH_0#

PS_DBG_SCRATCH 0 processor state register ID.

Use getps() to access. Only accessible in debug mode.

XS1_PS_DBG_SCRATCH_1#

PS_DBG_SCRATCH 1 processor state register ID.

Use getps() to access. Only accessible in debug mode.

XS1_PS_DBG_SCRATCH_2#

PS_DBG_SCRATCH 2 processor state register ID.

Use getps() to access. Only accessible in debug mode.

XS1_PS_DBG_SCRATCH_3#

PS_DBG_SCRATCH 3 processor state register ID.

Use getps() to access. Only accessible in debug mode.

XS1_PS_DBG_SCRATCH_4#

PS_DBG_SCRATCH 4 processor state register ID.

Use getps() to access. Only accessible in debug mode.

XS1_PS_DBG_SCRATCH_5#

PS_DBG_SCRATCH 5 processor state register ID.

Use getps() to access. Only accessible in debug mode.

XS1_PS_DBG_SCRATCH_6#

PS_DBG_SCRATCH 6 processor state register ID.

Use getps() to access. Only accessible in debug mode.

XS1_PS_DBG_SCRATCH_7#

PS_DBG_SCRATCH 7 processor state register ID.

Use getps() to access. Only accessible in debug mode.

PS_DBG_IBREAK_ADDR

This register contains the address of the instruction breakpoint.

If the PC matches this address, then a debug interrupt will be taken. There are four instruction breakpoints that are controlled individually.

Sub-Fields:

ALL_BITS Value.

XS1_NUM_PS_DBG_IBREAK_ADDR#
XS1_PS_DBG_IBREAK_ADDR_0#

PS_DBG_IBREAK_ADDR 0 processor state register ID.

Use getps() to access. Only accessible in debug mode.

XS1_PS_DBG_IBREAK_ADDR_1#

PS_DBG_IBREAK_ADDR 1 processor state register ID.

Use getps() to access. Only accessible in debug mode.

XS1_PS_DBG_IBREAK_ADDR_2#

PS_DBG_IBREAK_ADDR 2 processor state register ID.

Use getps() to access. Only accessible in debug mode.

XS1_PS_DBG_IBREAK_ADDR_3#

PS_DBG_IBREAK_ADDR 3 processor state register ID.

Use getps() to access. Only accessible in debug mode.

PS_DBG_IBREAK_CTRL

This register controls which logical cores may take an instruction breakpoint, and under which condition.

Sub-Fields:

BRK_ENABLE When 1 the instruction breakpoint is enabled.

IBRK_CONDITION When 0 break when PC == IBREAK_ADDR. When 1 = break when PC != IBREAK_ADDR.

BRK_THREADS A bit for each thread in the machine allowing the breakpoint to be enabled individually for each thread.

XS1_NUM_PS_DBG_IBREAK_CTRL#
XS1_PS_DBG_IBREAK_CTRL_0#

PS_DBG_IBREAK_CTRL 0 processor state register ID.

Use getps() to access. Only accessible in debug mode.

XS1_PS_DBG_IBREAK_CTRL_1#

PS_DBG_IBREAK_CTRL 1 processor state register ID.

Use getps() to access. Only accessible in debug mode.

XS1_PS_DBG_IBREAK_CTRL_2#

PS_DBG_IBREAK_CTRL 2 processor state register ID.

Use getps() to access. Only accessible in debug mode.

XS1_PS_DBG_IBREAK_CTRL_3#

PS_DBG_IBREAK_CTRL 3 processor state register ID.

Use getps() to access. Only accessible in debug mode.

PS_DBG_DWATCH_ADDR1

This set of registers contains the first address for the four data watchpoints.

Sub-Fields:

ALL_BITS Value.

XS1_NUM_PS_DBG_DWATCH_ADDR1#
XS1_PS_DBG_DWATCH_ADDR1_0#

PS_DBG_DWATCH_ADDR1 0 processor state register ID.

Use getps() to access. Only accessible in debug mode.

XS1_PS_DBG_DWATCH_ADDR1_1#

PS_DBG_DWATCH_ADDR1 1 processor state register ID.

Use getps() to access. Only accessible in debug mode.

XS1_PS_DBG_DWATCH_ADDR1_2#

PS_DBG_DWATCH_ADDR1 2 processor state register ID.

Use getps() to access. Only accessible in debug mode.

XS1_PS_DBG_DWATCH_ADDR1_3#

PS_DBG_DWATCH_ADDR1 3 processor state register ID.

Use getps() to access. Only accessible in debug mode.

PS_DBG_DWATCH_ADDR2

This set of registers contains the second address for the four data watchpoints.

Sub-Fields:

ALL_BITS Value.

XS1_NUM_PS_DBG_DWATCH_ADDR2#
XS1_PS_DBG_DWATCH_ADDR2_0#

PS_DBG_DWATCH_ADDR2 0 processor state register ID.

Use getps() to access. Only accessible in debug mode.

XS1_PS_DBG_DWATCH_ADDR2_1#

PS_DBG_DWATCH_ADDR2 1 processor state register ID.

Use getps() to access. Only accessible in debug mode.

XS1_PS_DBG_DWATCH_ADDR2_2#

PS_DBG_DWATCH_ADDR2 2 processor state register ID.

Use getps() to access. Only accessible in debug mode.

XS1_PS_DBG_DWATCH_ADDR2_3#

PS_DBG_DWATCH_ADDR2 3 processor state register ID.

Use getps() to access. Only accessible in debug mode.

PS_DBG_DWATCH_CTRL

This set of registers controls each of the four data watchpoints.

Sub-Fields:

BRK_ENABLE When 1 the instruction breakpoint is enabled.

DBRK_CONDITION Determines the break condition: 0 = A AND B, 1 = A OR B.

BRK_LOAD When 1 the breakpoints will be be triggered on loads.

BRK_THREADS A bit for each thread in the machine allowing the breakpoint to be enabled individually for each thread.

XS1_NUM_PS_DBG_DWATCH_CTRL#
XS1_PS_DBG_DWATCH_CTRL_0#

PS_DBG_DWATCH_CTRL 0 processor state register ID.

Use getps() to access. Only accessible in debug mode.

XS1_PS_DBG_DWATCH_CTRL_1#

PS_DBG_DWATCH_CTRL 1 processor state register ID.

Use getps() to access. Only accessible in debug mode.

XS1_PS_DBG_DWATCH_CTRL_2#

PS_DBG_DWATCH_CTRL 2 processor state register ID.

Use getps() to access. Only accessible in debug mode.

XS1_PS_DBG_DWATCH_CTRL_3#

PS_DBG_DWATCH_CTRL 3 processor state register ID.

Use getps() to access. Only accessible in debug mode.

PS_DBG_RWATCH_ADDR1

This set of registers contains the mask for the four resource watchpoints.

Sub-Fields:

ALL_BITS Value.

XS1_NUM_PS_DBG_RWATCH_ADDR1#
XS1_PS_DBG_RWATCH_ADDR1_0#

PS_DBG_RWATCH_ADDR1 0 processor state register ID.

Use getps() to access. Only accessible in debug mode.

XS1_PS_DBG_RWATCH_ADDR1_1#

PS_DBG_RWATCH_ADDR1 1 processor state register ID.

Use getps() to access. Only accessible in debug mode.

XS1_PS_DBG_RWATCH_ADDR1_2#

PS_DBG_RWATCH_ADDR1 2 processor state register ID.

Use getps() to access. Only accessible in debug mode.

XS1_PS_DBG_RWATCH_ADDR1_3#

PS_DBG_RWATCH_ADDR1 3 processor state register ID.

Use getps() to access. Only accessible in debug mode.

PS_DBG_RWATCH_ADDR2

This set of registers contains the value for the four resource watchpoints.

Sub-Fields:

ALL_BITS Value.

XS1_NUM_PS_DBG_RWATCH_ADDR2#
XS1_PS_DBG_RWATCH_ADDR2_0#

PS_DBG_RWATCH_ADDR2 0 processor state register ID.

Use getps() to access. Only accessible in debug mode.

XS1_PS_DBG_RWATCH_ADDR2_1#

PS_DBG_RWATCH_ADDR2 1 processor state register ID.

Use getps() to access. Only accessible in debug mode.

XS1_PS_DBG_RWATCH_ADDR2_2#

PS_DBG_RWATCH_ADDR2 2 processor state register ID.

Use getps() to access. Only accessible in debug mode.

XS1_PS_DBG_RWATCH_ADDR2_3#

PS_DBG_RWATCH_ADDR2 3 processor state register ID.

Use getps() to access. Only accessible in debug mode.

PS_DBG_RWATCH_CTRL

This set of registers controls each of the four resource watchpoints.

Sub-Fields:

BRK_ENABLE When 1 the instruction breakpoint is enabled.

RBRK_CONDITION When 0 break when condition A is met. When 1 = break when condition B is met.

BRK_THREADS A bit for each thread in the machine allowing the breakpoint to be enabled individually for each thread.

XS1_NUM_PS_DBG_RWATCH_CTRL#
XS1_PS_DBG_RWATCH_CTRL_0#

PS_DBG_RWATCH_CTRL 0 processor state register ID.

Use getps() to access. Only accessible in debug mode.

XS1_PS_DBG_RWATCH_CTRL_1#

PS_DBG_RWATCH_CTRL 1 processor state register ID.

Use getps() to access. Only accessible in debug mode.

XS1_PS_DBG_RWATCH_CTRL_2#

PS_DBG_RWATCH_CTRL 2 processor state register ID.

Use getps() to access. Only accessible in debug mode.

XS1_PS_DBG_RWATCH_CTRL_3#

PS_DBG_RWATCH_CTRL 3 processor state register ID.

Use getps() to access. Only accessible in debug mode.

Defines

XS1_PS_RAM_BASE#

PS_RAM_BASE processor state register ID.

Use getps() and setps() to access.

This register contains the base address of the RAM. It is initialized to 0x00040000.

Sub-Fields:

WORD_ADDRESS_BITS Most significant 16 bits of all addresses.

XS1_PS_VECTOR_BASE#

PS_VECTOR_BASE processor state register ID.

Use getps() and setps() to access.

Base address of event vectors in each resource. On an interrupt or event, the 16 most significant bits of the destination address are provided by this register; the least significant 16 bits come from the event vector.

Sub-Fields:

VECTOR_BASE The event and interrupt vectors.

XS1_PS_XCORE_CTRL0#

PS_XCORE_CTRL0 processor state register ID.

Use getps() and setps() to access.

Register to control features in the xCORE tile

Sub-Fields:

XCORE_CTRL0_USB_ENABLE Enable the ULPI Hardware support module

XCORE_CTRL0_USB_MODE Select between UTMI (1) and ULPI (0) mode.

XCORE_CTRL0_CLK_DIVIDER_EN Enable the clock divider. This divides the output of the PLL to facilitate one of the low power modes.

XCORE_CTRL0_CLK_DIVIDER_DYN Select the dynamic mode (1) for the clock divider when the clock divider is enabled. In dynamic mode the clock divider is only activated when all active threads are paused. In static mode the clock divider is always enabled.

XCORE_CTRL0_RGMII_ENABLE Enable RGMII interface periph ports

XCORE_CTRL0_RGMII_DIVIDE RGMII TX clock divider value. TX clk rises when counter (clocked by PLL output) reaches this value and falls when counter reaches (value>>1). Value programmed into this field should be actual divide value required minus 1

XCORE_CTRL0_RGMII_DELAY RGMII TX data delay value (in PLL output cycle increments)

XS1_PS_BOOT_CONFIG#

PS_BOOT_CONFIG processor state register ID.

Use getps() to access.

This read-only register describes the boot status of the xCORE tile.

Sub-Fields:

BOOT_CONFIG_PLL_MODE_PINS The boot PLL mode pin value.

BOOT_CONFIG_BOOT_FROM_JTAG Boot ROM boots from JTAG

BOOT_CONFIG_BOOT_FROM_RAM Boot ROM boots from RAM

BOOT_CONFIG_DISABLE_OTP_POLL Cause the ROM to not poll the OTP for correct read levels

BOOT_CONFIG_CORE1_POWER_DOWN_N Indicates if core1 has been powered off

BOOT_CONFIG_SECURE_BOOT Overwrite BOOT_MODE.

BOOT_CONFIG_PROCESSOR Processor number.

XS1_PS_BOOT_STATUS#

PS_BOOT_STATUS processor state register ID.

Use getps() and setps() to access.

Sub-Fields:

BOOT_STATUS_LEDS Boot status LED value.

BOOT_STATUS_BITS Other boot status LED bits.

XS1_PS_SECURITY_CONFIG#

PS_SECURITY_CONFIG processor state register ID.

Use getps() and setps() to access.

Copy of the security register as read from OTP.

Sub-Fields:

SECUR_CFG_DISABLE_XCORE_JTAG Disable access to XCore’s JTAG debug TAP

SECUR_CFG_DISABLE_PLL_JTAG Disable JTAG access to the PLL/BOOT configuration registers

SECUR_CFG_SECURE_BOOT Override boot mode and read boot image from OTP

SECUR_CFG_OTP_REDUANACY_ENABLE Enable OTP reduanacy

SECUR_CFG_OTP_SECTOR_LOCK lock bit for each OTP sector

SECUR_CFG_OTP_MASTER_LOCK lock all OTP sectors

SECUR_CFG_DISABLE_GLOBAL_DEBUG Disable access to XCore’s global debug

SECUR_CFG_DISABLE_ACCESS Disables write permission on this register

XS1_PS_RING_OSC_CTRL#

PS_RING_OSC_CTRL processor state register ID.

Use getps() and setps() to access.

There are four free-running oscillators that clock four counters. The oscillators can be started and stopped using this register. The counters should only be read when the ring oscillator has been stopped for at least 10 core clock cycles (this can be achieved by inserting two nop instructions between the SETPS and GETPS). The counter values can be read using four subsequent registers. The ring oscillators are asynchronous to the xCORE tile clock and can be used as a source of random bits.

Sub-Fields:

RING_OSC_PERPH_ENABLE Peripheral ring oscillator enable.

RING_OSC_CORE_ENABLE Core ring oscillator enable.

XS1_PS_RING_OSC_DATA0#

PS_RING_OSC_DATA0 processor state register ID.

Use getps() to access.

This register contains the current count of the xCORE Tile Cell ring oscillator. This value is not reset on a system reset.

Sub-Fields:

RING_OSC_DATA Ring oscillator Counter data.

XS1_PS_RING_OSC_DATA1#

PS_RING_OSC_DATA1 processor state register ID.

Use getps() to access.

This register contains the current count of the xCORE Tile Wire ring oscillator. This value is not reset on a system reset.

Sub-Fields:

RING_OSC_DATA Ring oscillator Counter data.

XS1_PS_RING_OSC_DATA2#

PS_RING_OSC_DATA2 processor state register ID.

Use getps() to access.

This register contains the current count of the Peripheral Cell ring oscillator. This value is not reset on a system reset.

Sub-Fields:

RING_OSC_DATA Ring oscillator Counter data.

XS1_PS_RING_OSC_DATA3#

PS_RING_OSC_DATA3 processor state register ID.

Use getps() to access.

This register contains the current count of the Peripheral Wire ring oscillator. This value is not reset on a system reset.

Sub-Fields:

RING_OSC_DATA Ring oscillator Counter data.

XS1_PS_UNAVAILABLE_RESOURCE#

PS_UNAVAILABLE_RESOURCE processor state register ID.

Use getps() and setps() to access.

Sub-Fields:

RAM_MASK Blocks of 64k rams unavailable

THREAD_MASK Threads unavailable

RGMII_DISABLE RGMII accelerator disable

XS1_PS_RAM_SIZE#

PS_RAM_SIZE processor state register ID.

Use getps() to access.

The size of the RAM in bytes

Sub-Fields:

WORD_ADDRESS_BITS Most significant 16 bits of all addresses.

XS1_PS_RAM_RMA#

PS_RAM_RMA processor state register ID.

Use getps() and setps() to access.

Sub-Fields:

RMA0 Read margin adjust.

RMA1 Read margin adjust.

RMA2 Read margin adjust.

RMA3 Read margin adjust.

XS1_PS_ROM_RMA#

PS_ROM_RMA processor state register ID.

Use getps() and setps() to access.

Sub-Fields:

RMA0 Read margin adjust.

RMA1 Read margin adjust.

RMA2 Read margin adjust.

RMA3 Read margin adjust.

XS1_PS_DBG_SSR#

PS_DBG_SSR processor state register ID.

Use getps() to access. Only accessible in debug mode.

This register contains the value of the SSR register when the debugger was called.

Sub-Fields:

SR_EEBLE When 1 events are enabled for the thread.

SR_IEBLE When 1 interrupts are enabled for the thread.

SR_INENB 1 when in an event enabling sequence.

SR_ININT 1 when in an interrupt handler.

SR_INK 1 when in kernel mode.

SR_WAITING When 1 the thread is paused waiting for events, a lock or another resource.

SR_FAST When 1 the thread is in fast mode and will continually issue.

SR_DI Determines the issue mode (DI bit).

SR_KEDI Determines the issue mode (DI bit) upon Kernel Entry after Exception or Interrupt.

SR_QUEUE Address space indentifier

XS1_PS_DBG_SPC#

PS_DBG_SPC processor state register ID.

Use getps() to access. Only accessible in debug mode.

This register contains the value of the SPC register when the debugger was called.

Sub-Fields:

ALL_BITS Value.

XS1_PS_DBG_SSP#

PS_DBG_SSP processor state register ID.

Use getps() to access. Only accessible in debug mode.

This register contains the value of the SSP register when the debugger was called.

Sub-Fields:

ALL_BITS Value.

XS1_PS_DBG_T_NUM#

PS_DBG_T_NUM processor state register ID.

Use getps() to access. Only accessible in debug mode.

The resource ID of the logical core whose state is to be read.

Sub-Fields:

DBG_T_NUM_NUM Thread number to be read

XS1_PS_DBG_T_REG#

PS_DBG_T_REG processor state register ID.

Use getps() to access. Only accessible in debug mode.

Register number to be read by DGETREG

Sub-Fields:

DBG_T_REG_REG Register number to be read

XS1_PS_DBG_TYPE#

PS_DBG_TYPE processor state register ID.

Use getps() to access. Only accessible in debug mode.

Register that specifies what activated the debug interrupt.

Sub-Fields:

DBG_TYPE_CAUSE Indicates the cause of the debug interrupt

1: Host initiated a debug interrupt through JTAG

2: Program executed a DCALL instruction

3: Instruction breakpoint

4: Data watch point

5: Resource watch point

DBG_TYPE_T_NUM Number of thread which caused the debug interrupt (always 0 in the case of =HOST=).

DBG_TYPE_HW_NUM Number of the hardware breakpoint/watchpoint which caused the interrupt (always 0 for =HOST= and =DCALL=). If multiple breakpoints/watchpoints trigger at once, the lowest number is taken.

XS1_PS_DBG_DATA#

PS_DBG_DATA processor state register ID.

Use getps() to access. Only accessible in debug mode.

On a data watchpoint, this register contains the effective address of the memory operation that triggered the debugger. On a resource watchpoint, it countains the resource identifier.

Sub-Fields:

ALL_BITS Value.

XS1_PS_DBG_RUN_CTRL#

PS_DBG_RUN_CTRL processor state register ID.

Use getps() to access. Only accessible in debug mode.

This register enables the debugger to temporarily disable logical cores. When returning from the debug interrupts, the cores set in this register will not execute. This enables single stepping to be implemented.

Sub-Fields:

DBG_RUN_CTRL_STOP 1-hot vector defining which threads are stopped when not in debug mode. Every bit which is set prevents the respective thread from running.

Processor Switch Registers#

Processor Switch Registers (also called “PSWITCH registers” or “tile configuration registers”) are registers that exist on a specific tile, and can be accessed using channels. From C, read_pswitch_reg() and write_pswitch_reg() can be used.

group xs2aPSWITCHRegisters

PSWITCH_DBG_SCRATCH

A set of registers used by the debug ROM to communicate with an external debugger, for example over the switch.

This is the same set of registers as the Debug Scratch registers in the processor status.

Sub-Fields:

ALL_BITS Value.

XS1_NUM_PSWITCH_DBG_SCRATCH#
XS1_PSWITCH_DBG_SCRATCH_0_NUM#

PSWITCH_DBG_SCRATCH 0 processor switch register number.

Use read_pswitch_reg() and write_pswitch_reg() to access. Only accessible if PSWITCH_DBG_CTRL is zero.

XS1_PSWITCH_DBG_SCRATCH_1_NUM#

PSWITCH_DBG_SCRATCH 1 processor switch register number.

Use read_pswitch_reg() and write_pswitch_reg() to access. Only accessible if PSWITCH_DBG_CTRL is zero.

XS1_PSWITCH_DBG_SCRATCH_2_NUM#

PSWITCH_DBG_SCRATCH 2 processor switch register number.

Use read_pswitch_reg() and write_pswitch_reg() to access. Only accessible if PSWITCH_DBG_CTRL is zero.

XS1_PSWITCH_DBG_SCRATCH_3_NUM#

PSWITCH_DBG_SCRATCH 3 processor switch register number.

Use read_pswitch_reg() and write_pswitch_reg() to access. Only accessible if PSWITCH_DBG_CTRL is zero.

XS1_PSWITCH_DBG_SCRATCH_4_NUM#

PSWITCH_DBG_SCRATCH 4 processor switch register number.

Use read_pswitch_reg() and write_pswitch_reg() to access. Only accessible if PSWITCH_DBG_CTRL is zero.

XS1_PSWITCH_DBG_SCRATCH_5_NUM#

PSWITCH_DBG_SCRATCH 5 processor switch register number.

Use read_pswitch_reg() and write_pswitch_reg() to access. Only accessible if PSWITCH_DBG_CTRL is zero.

XS1_PSWITCH_DBG_SCRATCH_6_NUM#

PSWITCH_DBG_SCRATCH 6 processor switch register number.

Use read_pswitch_reg() and write_pswitch_reg() to access. Only accessible if PSWITCH_DBG_CTRL is zero.

XS1_PSWITCH_DBG_SCRATCH_7_NUM#

PSWITCH_DBG_SCRATCH 7 processor switch register number.

Use read_pswitch_reg() and write_pswitch_reg() to access. Only accessible if PSWITCH_DBG_CTRL is zero.

Defines

XS1_PSWITCH_DEVICE_ID0_NUM#

PSWITCH_DEVICE_ID0 processor switch register number.

Use read_pswitch_reg() to access. Only accessible if PSWITCH_DBG_CTRL is zero.

This register identifies the xCORE Tile

Sub-Fields:

DEVICE_ID0_VERSION XCore version.

DEVICE_ID0_REVISION XCore revision.

DEVICE_ID0_NODE Number of the node in which this XCore is located.

DEVICE_ID0_PID Processor ID of this XCore.

XS1_PSWITCH_DEVICE_ID1_NUM#

PSWITCH_DEVICE_ID1 processor switch register number.

Use read_pswitch_reg() to access. Only accessible if PSWITCH_DBG_CTRL is zero.

This register describes the number of logical cores, synchronisers, locks and channel ends available on this xCORE tile.

Sub-Fields:

DEVICE_ID1_NUM_THREADS Number of threads.

DEVICE_ID1_NUM_SYNCS Number of synchronisers.

DEVICE_ID1_NUM_LOCKS Number of the locks.

DEVICE_ID1_NUM_CHANENDS Number of channel ends.

XS1_PSWITCH_DEVICE_ID2_NUM#

PSWITCH_DEVICE_ID2 processor switch register number.

Use read_pswitch_reg() to access. Only accessible if PSWITCH_DBG_CTRL is zero.

This register describes the number of timers and clock blocks available on this xCORE tile.

Sub-Fields:

DEVICE_ID2_NUM_TIMERS Number of timers.

DEVICE_ID2_NUM_CLKBLKS Number of clock blocks.

XS1_PSWITCH_DEVICE_ID3_NUM#

PSWITCH_DEVICE_ID3 processor switch register number.

Use read_pswitch_reg() to access. Only accessible if PSWITCH_DBG_CTRL is zero.

XS1_PSWITCH_DBG_CTRL_NUM#

PSWITCH_DBG_CTRL processor switch register number.

Use read_pswitch_reg() and write_pswitch_reg() to access. Only accessible if PSWITCH_DBG_CTRL is zero.

This register can be used to control whether the debug registers (marked with permission CRW) are accessible through the tile configuration registers. When this bit is set, write -access to those registers is disabled, preventing debugging of the xCORE tile over the interconnect.

Sub-Fields:

DBG_CTRL_PSWITCH_RO_EXT When 1 the PSwitch is restricted to RO access to all CRW registers from SSwitch

DBG_CTRL_PSWITCH_RO When 1 the PSwitch is restricted to RO access to all CRW registers from SSwitch, XCore(PS_DBG_Scratch) and JTAG

XS1_PSWITCH_DBG_INT_NUM#

PSWITCH_DBG_INT processor switch register number.

Use read_pswitch_reg() and write_pswitch_reg() to access. Only accessible if PSWITCH_DBG_CTRL is zero.

This register can be used to raise a debug interrupt in this xCORE tile.

Sub-Fields:

DBG_INT_REQ_DBG Request a debug interrupt on the processor.

DBG_INT_IN_DBG 1 when the processor is in debug mode.

XS1_PSWITCH_PLL_CLK_DIVIDER_NUM#

PSWITCH_PLL_CLK_DIVIDER processor switch register number.

Use read_pswitch_reg() and write_pswitch_reg() to access. Only accessible if PSWITCH_DBG_CTRL is zero.

This register contains the value used to divide the PLL clock to create the xCORE tile clock. The divider is enabled under control of the tile control register

Sub-Fields:

PLL_CLK_DIVIDER Clock divider.

PLL_CLK_DISABLE Clock disable. Writing ‘1’ will remove the clock to the tile.

XS1_PSWITCH_SECU_CONFIG_NUM#

PSWITCH_SECU_CONFIG processor switch register number.

Use read_pswitch_reg() to access. Only accessible if PSWITCH_DBG_CTRL is zero.

Copy of the security register as read from OTP.

Sub-Fields:

SECUR_CFG_DISABLE_XCORE_JTAG Disable access to XCore’s JTAG debug TAP

SECUR_CFG_DISABLE_PLL_JTAG Disable JTAG access to the PLL/BOOT configuration registers

SECUR_CFG_SECURE_BOOT Override boot mode and read boot image from OTP

SECUR_CFG_OTP_REDUANACY_ENABLE Enable OTP reduanacy

SECUR_CFG_OTP_SECTOR_LOCK lock bit for each OTP sector

SECUR_CFG_OTP_MASTER_LOCK lock all OTP sectors

SECUR_CFG_DISABLE_GLOBAL_DEBUG Disable access to XCore’s global debug

SECUR_CFG_DISABLE_ACCESS Disables write permission on this register

XS1_PSWITCH_T0_PC_NUM#

PSWITCH_T0_PC processor switch register number.

Use read_pswitch_reg() to access. Only accessible if PSWITCH_DBG_CTRL is zero.

Value of the PC of logical core 0.

Sub-Fields:

ALL_BITS Value.

XS1_PSWITCH_T1_PC_NUM#

PSWITCH_T1_PC processor switch register number.

Use read_pswitch_reg() to access. Only accessible if PSWITCH_DBG_CTRL is zero.

Value of the PC of logical core 1.

Sub-Fields:

ALL_BITS Value.

XS1_PSWITCH_T2_PC_NUM#

PSWITCH_T2_PC processor switch register number.

Use read_pswitch_reg() to access. Only accessible if PSWITCH_DBG_CTRL is zero.

Value of the PC of logical core 2.

Sub-Fields:

ALL_BITS Value.

XS1_PSWITCH_T3_PC_NUM#

PSWITCH_T3_PC processor switch register number.

Use read_pswitch_reg() to access. Only accessible if PSWITCH_DBG_CTRL is zero.

Value of the PC of logical core 3.

Sub-Fields:

ALL_BITS Value.

XS1_PSWITCH_T4_PC_NUM#

PSWITCH_T4_PC processor switch register number.

Use read_pswitch_reg() to access. Only accessible if PSWITCH_DBG_CTRL is zero.

Value of the PC of logical core 4.

Sub-Fields:

ALL_BITS Value.

XS1_PSWITCH_T5_PC_NUM#

PSWITCH_T5_PC processor switch register number.

Use read_pswitch_reg() to access. Only accessible if PSWITCH_DBG_CTRL is zero.

Value of the PC of logical core 5.

Sub-Fields:

ALL_BITS Value.

XS1_PSWITCH_T6_PC_NUM#

PSWITCH_T6_PC processor switch register number.

Use read_pswitch_reg() to access. Only accessible if PSWITCH_DBG_CTRL is zero.

Value of the PC of logical core 6.

Sub-Fields:

ALL_BITS Value.

XS1_PSWITCH_T7_PC_NUM#

PSWITCH_T7_PC processor switch register number.

Use read_pswitch_reg() to access. Only accessible if PSWITCH_DBG_CTRL is zero.

Value of the PC of logical core 7.

Sub-Fields:

ALL_BITS Value.

XS1_PSWITCH_T0_SR_NUM#

PSWITCH_T0_SR processor switch register number.

Use read_pswitch_reg() to access. Only accessible if PSWITCH_DBG_CTRL is zero.

Value of the SR of logical core 0

Sub-Fields:

ALL_BITS Value.

XS1_PSWITCH_T1_SR_NUM#

PSWITCH_T1_SR processor switch register number.

Use read_pswitch_reg() to access. Only accessible if PSWITCH_DBG_CTRL is zero.

Value of the SR of logical core 1

Sub-Fields:

ALL_BITS Value.

XS1_PSWITCH_T2_SR_NUM#

PSWITCH_T2_SR processor switch register number.

Use read_pswitch_reg() to access. Only accessible if PSWITCH_DBG_CTRL is zero.

Value of the SR of logical core 2

Sub-Fields:

ALL_BITS Value.

XS1_PSWITCH_T3_SR_NUM#

PSWITCH_T3_SR processor switch register number.

Use read_pswitch_reg() to access. Only accessible if PSWITCH_DBG_CTRL is zero.

Value of the SR of logical core 3

Sub-Fields:

ALL_BITS Value.

XS1_PSWITCH_T4_SR_NUM#

PSWITCH_T4_SR processor switch register number.

Use read_pswitch_reg() to access. Only accessible if PSWITCH_DBG_CTRL is zero.

Value of the SR of logical core 4

Sub-Fields:

ALL_BITS Value.

XS1_PSWITCH_T5_SR_NUM#

PSWITCH_T5_SR processor switch register number.

Use read_pswitch_reg() to access. Only accessible if PSWITCH_DBG_CTRL is zero.

Value of the SR of logical core 5

Sub-Fields:

ALL_BITS Value.

XS1_PSWITCH_T6_SR_NUM#

PSWITCH_T6_SR processor switch register number.

Use read_pswitch_reg() to access. Only accessible if PSWITCH_DBG_CTRL is zero.

Value of the SR of logical core 6

Sub-Fields:

ALL_BITS Value.

XS1_PSWITCH_T7_SR_NUM#

PSWITCH_T7_SR processor switch register number.

Use read_pswitch_reg() to access. Only accessible if PSWITCH_DBG_CTRL is zero.

Value of the SR of logical core 7

Sub-Fields:

ALL_BITS Value.

System Switch Registers#

System Switch Registers (also called “SSWITCH registers” or “node configuration registers”) are registers that are shared between all tiles on a chip, and can be accessed through the interconnect using channels. From C, read_sswitch_reg() and write_sswitch_reg() can be used.

group xs2aSSWITCHRegisters

These registers contain status information for low level debugging (read-only), the network number that each link belongs to, and the direction that each link is part of.

The registers control links 0..7.

Sub-Fields:

LINK_SRC_INUSE 1 when the source side of the link is in use.

LINK_DST_INUSE 1 when the dest side of the link is in use.

LINK_JUNK 1 when the current packet is considered junk and will be thrown away.

LINK_NETWORK Determines the network to which this link belongs, reset as 0.

LINK_DIRECTION The direction that this link operates in.

SLINK_SRC_TARGET_ID When the link is in use, this is the destination link number to which all packets are sent.

SLINK_SRC_TARGET_TYPE Identify the SRC_TARGET type 0 - SLink, 1 - PLink, 2 - SSCTL, 3 - Undefine.

SSWITCH_SLINK 0 system switch register number.

Use read_sswitch_reg() and write_sswitch_reg() to access.

SSWITCH_SLINK 1 system switch register number.

Use read_sswitch_reg() and write_sswitch_reg() to access.

SSWITCH_SLINK 2 system switch register number.

Use read_sswitch_reg() and write_sswitch_reg() to access.

SSWITCH_SLINK 3 system switch register number.

Use read_sswitch_reg() and write_sswitch_reg() to access.

SSWITCH_SLINK 4 system switch register number.

Use read_sswitch_reg() and write_sswitch_reg() to access.

SSWITCH_SLINK 5 system switch register number.

Use read_sswitch_reg() and write_sswitch_reg() to access.

SSWITCH_SLINK 6 system switch register number.

Use read_sswitch_reg() and write_sswitch_reg() to access.

SSWITCH_SLINK 7 system switch register number.

Use read_sswitch_reg() and write_sswitch_reg() to access.

SSWITCH_SLINK 8 system switch register number.

Use read_sswitch_reg() and write_sswitch_reg() to access.

These registers contain status information and the network number that each processor-link belongs to.

Sub-Fields:

LINK_SRC_INUSE 1 when the source side of the link is in use.

LINK_DST_INUSE 1 when the dest side of the link is in use.

LINK_JUNK 1 when the current packet is considered junk and will be thrown away.

LINK_NETWORK Determines the network to which this link belongs, reset as 0.

PLINK_SRC_TARGET_ID When the link is in use, this is the destination link number to which all packets are sent.

PLINK_SRC_TARGET_TYPE Identify the SRC_TARGET type 0 - SLink, 1 - PLink, 2 - SSCTL, 3 - Undefine.

SSWITCH_PLINK 0 system switch register number.

Use read_sswitch_reg() to access.

SSWITCH_PLINK 1 system switch register number.

Use read_sswitch_reg() to access.

SSWITCH_PLINK 2 system switch register number.

Use read_sswitch_reg() to access.

SSWITCH_PLINK 3 system switch register number.

Use read_sswitch_reg() to access.

SSWITCH_PLINK 4 system switch register number.

Use read_sswitch_reg() to access.

SSWITCH_PLINK 5 system switch register number.

Use read_sswitch_reg() to access.

SSWITCH_PLINK 6 system switch register number.

Use read_sswitch_reg() to access.

SSWITCH_PLINK 7 system switch register number.

Use read_sswitch_reg() to access.

These registers contain configuration and debugging information specific to external links.

The link speed and width can be set, the link can be initialized, and the link status can be monitored. The registers control links 0..7.

Sub-Fields:

XLINK_INTER_TOKEN_DELAY Specify min. number of idle system clocks between two continuous transmit tokens -1.

XLINK_INTRA_TOKEN_DELAY Specify min. number of idle system clocks between two continuous symbols witin a transmit token -1.

XLINK_RX_RESET Reset the receiver. The next symbol that is detected will be the first symbol in a token.

XLINK_HELLO Clear this end of the xlink’s credit and issue a HELLO token.

TX_CREDIT This end of the xlink has credit to allow it to transmit.

RX_CREDIT This end of the xlink has issued credit to allow the remote end to transmit

XLINK_RX_ERROR Rx buffer overflow or illegal token encoding received.

XLINK_WIDE 0: operate in 2 wire mode; 1: operate in 5 wire mode

XLINK_ENABLE Write to this bit with ‘1’ will enable the XLink, writing ‘0’ will disable it. This bit controls the muxing of ports with overlapping xlinks.

SSWITCH_XLINK 0 system switch register number.

Use read_sswitch_reg() and write_sswitch_reg() to access.

SSWITCH_XLINK 1 system switch register number.

Use read_sswitch_reg() and write_sswitch_reg() to access.

SSWITCH_XLINK 2 system switch register number.

Use read_sswitch_reg() and write_sswitch_reg() to access.

SSWITCH_XLINK 3 system switch register number.

Use read_sswitch_reg() and write_sswitch_reg() to access.

SSWITCH_XLINK 4 system switch register number.

Use read_sswitch_reg() and write_sswitch_reg() to access.

SSWITCH_XLINK 5 system switch register number.

Use read_sswitch_reg() and write_sswitch_reg() to access.

SSWITCH_XLINK 6 system switch register number.

Use read_sswitch_reg() and write_sswitch_reg() to access.

SSWITCH_XLINK 7 system switch register number.

Use read_sswitch_reg() and write_sswitch_reg() to access.

SSWITCH_XLINK 8 system switch register number.

Use read_sswitch_reg() and write_sswitch_reg() to access.

SSWITCH_XSTATIC

These registers are used for static (ie, non-routed) links.

When a link is made static, all traffic is forwarded to the designated channel end and no routing is attempted. The registers control links C, D, A, B, G, H, E, and F in that order.

Sub-Fields:

XSTATIC_DEST_CHAN_END The destination channel end on this node that packets received in static mode are forwarded to.

XSTATIC_DEST_PROC The destination processor on this node that packets received in static mode are forwarded to.

XSTATIC_ENABLE Enable static forwarding.

XS1_NUM_SSWITCH_XSTATIC#
XS1_SSWITCH_XSTATIC_0_NUM#

SSWITCH_XSTATIC 0 system switch register number.

Use read_sswitch_reg() and write_sswitch_reg() to access.

XS1_SSWITCH_XSTATIC_1_NUM#

SSWITCH_XSTATIC 1 system switch register number.

Use read_sswitch_reg() and write_sswitch_reg() to access.

XS1_SSWITCH_XSTATIC_2_NUM#

SSWITCH_XSTATIC 2 system switch register number.

Use read_sswitch_reg() and write_sswitch_reg() to access.

XS1_SSWITCH_XSTATIC_3_NUM#

SSWITCH_XSTATIC 3 system switch register number.

Use read_sswitch_reg() and write_sswitch_reg() to access.

XS1_SSWITCH_XSTATIC_4_NUM#

SSWITCH_XSTATIC 4 system switch register number.

Use read_sswitch_reg() and write_sswitch_reg() to access.

XS1_SSWITCH_XSTATIC_5_NUM#

SSWITCH_XSTATIC 5 system switch register number.

Use read_sswitch_reg() and write_sswitch_reg() to access.

XS1_SSWITCH_XSTATIC_6_NUM#

SSWITCH_XSTATIC 6 system switch register number.

Use read_sswitch_reg() and write_sswitch_reg() to access.

XS1_SSWITCH_XSTATIC_7_NUM#

SSWITCH_XSTATIC 7 system switch register number.

Use read_sswitch_reg() and write_sswitch_reg() to access.

Defines

XS1_SSWITCH_DEVICE_ID0_NUM#

SSWITCH_DEVICE_ID0 system switch register number.

Use read_sswitch_reg() to access.

This register contains version and revision identifiers and the mode-pins as sampled at boot-time.

Sub-Fields:

SS_DEVICE_ID0_VERSION SSwitch version.

SS_DEVICE_ID0_REVISION SSwitch revision.

SS_DEVICE_ID0_BOOT_CTRL Sampled values of BootCtl pins on Power On Reset.

XS1_SSWITCH_DEVICE_ID1_NUM#

SSWITCH_DEVICE_ID1 system switch register number.

Use read_sswitch_reg() to access.

This register specifies the number of processors and links that are connected to this switch.

Sub-Fields:

SS_DEVICE_ID1_NUM_PLINKS_PER_PROC Number of processors on the device.

SS_DEVICE_ID1_NUM_PROCESSORS Number of processors on the SSwitch.

SS_DEVICE_ID1_NUM_SLINKS Number of SLinks on the SSwitch.

XS1_SSWITCH_DEVICE_ID2_NUM#

SSWITCH_DEVICE_ID2 system switch register number.

Use read_sswitch_reg() to access.

XS1_SSWITCH_DEVICE_ID3_NUM#

SSWITCH_DEVICE_ID3 system switch register number.

Use read_sswitch_reg() to access.

XS1_SSWITCH_NODE_CONFIG_NUM#

SSWITCH_NODE_CONFIG system switch register number.

Use read_sswitch_reg() and write_sswitch_reg() to access.

This register enables the setting of two security modes (that disable updates to the PLL or any other registers) and the header-mode.

Sub-Fields:

SS_NODE_CONFIG_HEADERS 0 = 2-byte headers, 1 = 1-byte headers (reset as 0).

SS_NODE_CONFIG_DISABLE_PLL_CTL_REG 0 = PLL_CTL_REG has write access. 1 = PLL_CTL_REG can not be written to.

SS_NODE_CONFIG_DISABLE_SSCTL_UPDATE 0 = SSCTL registers have write access. 1 = SSCTL registers can not be written to.

XS1_SSWITCH_NODE_ID_NUM#

SSWITCH_NODE_ID system switch register number.

Use read_sswitch_reg() and write_sswitch_reg() to access.

This register contains the node identifier.

Sub-Fields:

SS_NODE_ID_ID The unique ID of this node.

XS1_SSWITCH_PLL_CTL_NUM#

SSWITCH_PLL_CTL system switch register number.

Use read_sswitch_reg() and write_sswitch_reg() to access.

An on-chip PLL multiplies the input clock up to a higher frequency clock, used to clock the I/O, processor, and switch, see Oscillator. Note: a write to this register will cause the tile to be reset.

Sub-Fields:

SS_PLL_CTL_INPUT_DIVISOR Oscilator input divider value range from 0 (8’h0) to 63 (8’h3F). R value.

SS_PLL_CTL_FEEDBACK_MUL Feedback multiplication ratio, range from 0 (8’h0) to 4095 (8’h3FF). F value.

SS_PLL_CTL_POST_DIVISOR Output divider value range from 0 (8’h0) to 7 (8’h7). OD value.

SS_TEST_MODE_BOOT_RAM If set to 1, set the boot mode to jump to RAM

SS_TEST_MODE_BOOT_JTAG If set to 1, set the boot mode to boot from JTAG

SS_TEST_MODE_PLL_BYPASS If set to 1, set the PLL to be bypassed

SS_PLL_CTL_NLOCK If set to 1, the chip will not wait for the PLL to re-lock. Only use this if a gradual change is made to the PLL

SS_PLL_CTL_NRESET If set to 1, the chip will not be reset

XS1_SSWITCH_CLK_DIVIDER_NUM#

SSWITCH_CLK_DIVIDER system switch register number.

Use read_sswitch_reg() and write_sswitch_reg() to access.

Sets the ratio of the PLL clock and the switch clock.

Sub-Fields:

SS_CLK_DIVIDER_CLK_DIV SSwitch clock generation

XS1_SSWITCH_REF_CLK_DIVIDER_NUM#

SSWITCH_REF_CLK_DIVIDER system switch register number.

Use read_sswitch_reg() and write_sswitch_reg() to access.

Sets the ratio of the PLL clock and the reference clock used by the node.

Sub-Fields:

SS_SSWITCH_REF_CLK_DIV Software ref. clock divider

XS1_SSWITCH_JTAG_DEVICE_ID_NUM#

SSWITCH_JTAG_DEVICE_ID system switch register number.

Use read_sswitch_reg() to access.

Sub-Fields:

SS_JTAG_DEVICE_ID_CONST_VAL

SS_JTAG_DEVICE_ID_MANU_ID

SS_JTAG_DEVICE_ID_PART_NUM

SS_JTAG_DEVICE_ID_VERSION

XS1_SSWITCH_JTAG_USERCODE_NUM#

SSWITCH_JTAG_USERCODE system switch register number.

Use read_sswitch_reg() to access.

Sub-Fields:

SS_JTAG_USERCODE_MASKID metal fixable ID code

SS_JTAG_USERCODE_OTP JTAG USERCODE value programmed into OTP SR

XS1_SSWITCH_DIMENSION_DIRECTION0_NUM#

SSWITCH_DIMENSION_DIRECTION0 system switch register number.

Use read_sswitch_reg() and write_sswitch_reg() to access.

This register contains eight directions, for packets with a mismatch in bits 7..0 of the node-identifier. The direction in which a packet will be routed is goverened by the most significant mismatching bit.

Sub-Fields:

DIM0_DIR The direction for packets whose dimension is 0.

DIM1_DIR The direction for packets whose dimension is 1.

DIM2_DIR The direction for packets whose dimension is 2.

DIM3_DIR The direction for packets whose dimension is 3.

DIM4_DIR The direction for packets whose dimension is 4.

DIM5_DIR The direction for packets whose dimension is 5.

DIM6_DIR The direction for packets whose dimension is 6.

DIM7_DIR The direction for packets whose dimension is 7.

XS1_SSWITCH_DIMENSION_DIRECTION1_NUM#

SSWITCH_DIMENSION_DIRECTION1 system switch register number.

Use read_sswitch_reg() and write_sswitch_reg() to access.

This register contains eight directions, for packets with a mismatch in bits 15..8 of the node-identifier. The direction in which a packet will be routed is goverened by the most significant mismatching bit.

Sub-Fields:

DIM8_DIR The direction for packets whose dimension is 8.

DIM9_DIR The direction for packets whose dimension is 9.

DIMA_DIR The direction for packets whose dimension is A.

DIMB_DIR The direction for packets whose dimension is B.

DIMC_DIR The direction for packets whose dimension is C.

DIMD_DIR The direction for packets whose dimension is D.

DIME_DIR The direction for packets whose dimension is E.

DIMF_DIR The direction for packets whose dimension is F.

XS1_SSWITCH_XCORE0_GLOBAL_DEBUG_CONFIG_NUM#

SSWITCH_XCORE0_GLOBAL_DEBUG_CONFIG system switch register number.

Use read_sswitch_reg() and write_sswitch_reg() to access.

if DEBUGN Configures the behavior of the DEBUG_N pin.else Reserved.

Sub-Fields:

GLOBAL_DEBUG_ENABLE_INDEBUG if DEBUGN Set 1 to enable inDebug bit to drive GlobalDebug.else Reserved.

GLOBAL_DEBUG_ENABLE_GLOBAL_DEBUG_REQ if DEBUGN Set 1 to enable GlobalDebug to generate debug request to XCore.else Reserved.

XS1_SSWITCH_XCORE1_GLOBAL_DEBUG_CONFIG_NUM#

SSWITCH_XCORE1_GLOBAL_DEBUG_CONFIG system switch register number.

Use read_sswitch_reg() and write_sswitch_reg() to access.

if DEBUGN Configures the behavior of the DEBUG_N pin.else Reserved.

Sub-Fields:

GLOBAL_DEBUG_ENABLE_INDEBUG if DEBUGN Set 1 to enable inDebug bit to drive GlobalDebug.else Reserved.

GLOBAL_DEBUG_ENABLE_GLOBAL_DEBUG_REQ if DEBUGN Set 1 to enable GlobalDebug to generate debug request to XCore.else Reserved.

XS1_SSWITCH_GLOBAL_DEBUG_SOURCE_NUM#

SSWITCH_GLOBAL_DEBUG_SOURCE system switch register number.

Use read_sswitch_reg() to access.

Contains the source of the most recent debug event.

Sub-Fields:

GLOBAL_DEBUG_SOURCE_XCORE0_INDEBUG If set, XCore0 is the source of last GlobalDebug event.

GLOBAL_DEBUG_SOURCE_XCORE1_INDEBUG If set, XCore1 is the source of last GlobalDebug event.

GLOBAL_DEBUG_SOURCE_EXTERNAL_PAD_INDEBUG if DEBUGN If set, external pin, is the source of last GlobalDebug event.else Reserved.

Register Bitfields#

These definitions allow packing and unpacking subfields from the other registers.

group xs2aRegisterBitfields

SR_EEBLE

When 1 events are enabled for the thread.

XS1_SR_EEBLE_SHIFT#
XS1_SR_EEBLE_SIZE#
XS1_SR_EEBLE_MASK#
XS1_SR_EEBLE(x)#

Extract the SR_EEBLE bitfield from a packed word x and return it.

XS1_SR_EEBLE_SET(x, v)#

Pack the value (v) of the SR_EEBLE bitfield into a packed word x and return the packed field.

SR_IEBLE

When 1 interrupts are enabled for the thread.

XS1_SR_IEBLE_SHIFT#
XS1_SR_IEBLE_SIZE#
XS1_SR_IEBLE_MASK#
XS1_SR_IEBLE(x)#

Extract the SR_IEBLE bitfield from a packed word x and return it.

XS1_SR_IEBLE_SET(x, v)#

Pack the value (v) of the SR_IEBLE bitfield into a packed word x and return the packed field.

SR_INENB

1 when in an event enabling sequence.

XS1_SR_INENB_SHIFT#
XS1_SR_INENB_SIZE#
XS1_SR_INENB_MASK#
XS1_SR_INENB(x)#

Extract the SR_INENB bitfield from a packed word x and return it.

XS1_SR_INENB_SET(x, v)#

Pack the value (v) of the SR_INENB bitfield into a packed word x and return the packed field.

SR_ININT

1 when in an interrupt handler.

XS1_SR_ININT_SHIFT#
XS1_SR_ININT_SIZE#
XS1_SR_ININT_MASK#
XS1_SR_ININT(x)#

Extract the SR_ININT bitfield from a packed word x and return it.

XS1_SR_ININT_SET(x, v)#

Pack the value (v) of the SR_ININT bitfield into a packed word x and return the packed field.

SR_INK

1 when in kernel mode.

XS1_SR_INK_SHIFT#
XS1_SR_INK_SIZE#
XS1_SR_INK_MASK#
XS1_SR_INK(x)#

Extract the SR_INK bitfield from a packed word x and return it.

XS1_SR_INK_SET(x, v)#

Pack the value (v) of the SR_INK bitfield into a packed word x and return the packed field.

SR_SINK

Copy of the SSR INK bit.

XS1_SR_SINK_SHIFT#
XS1_SR_SINK_SIZE#
XS1_SR_SINK_MASK#
XS1_SR_SINK(x)#

Extract the SR_SINK bitfield from a packed word x and return it.

XS1_SR_SINK_SET(x, v)#

Pack the value (v) of the SR_SINK bitfield into a packed word x and return the packed field.

SR_WAITING

When 1 the thread is paused waiting for events, a lock or another resource.

XS1_SR_WAITING_SHIFT#
XS1_SR_WAITING_SIZE#
XS1_SR_WAITING_MASK#
XS1_SR_WAITING(x)#

Extract the SR_WAITING bitfield from a packed word x and return it.

XS1_SR_WAITING_SET(x, v)#

Pack the value (v) of the SR_WAITING bitfield into a packed word x and return the packed field.

SR_FAST

When 1 the thread is in fast mode and will continually issue.

XS1_SR_FAST_SHIFT#
XS1_SR_FAST_SIZE#
XS1_SR_FAST_MASK#
XS1_SR_FAST(x)#

Extract the SR_FAST bitfield from a packed word x and return it.

XS1_SR_FAST_SET(x, v)#

Pack the value (v) of the SR_FAST bitfield into a packed word x and return the packed field.

SR_DI

Determines the issue mode (DI bit).

XS1_SR_DI_SHIFT#
XS1_SR_DI_SIZE#
XS1_SR_DI_MASK#
XS1_SR_DI(x)#

Extract the SR_DI bitfield from a packed word x and return it.

XS1_SR_DI_SET(x, v)#

Pack the value (v) of the SR_DI bitfield into a packed word x and return the packed field.

SR_KEDI

Determines the issue mode (DI bit) upon Kernel Entry after Exception or Interrupt.

XS1_SR_KEDI_SHIFT#
XS1_SR_KEDI_SIZE#
XS1_SR_KEDI_MASK#
XS1_SR_KEDI(x)#

Extract the SR_KEDI bitfield from a packed word x and return it.

XS1_SR_KEDI_SET(x, v)#

Pack the value (v) of the SR_KEDI bitfield into a packed word x and return the packed field.

SR_QUEUE

Address space indentifier

XS1_SR_QUEUE_SHIFT#
XS1_SR_QUEUE_SIZE#
XS1_SR_QUEUE_MASK#
XS1_SR_QUEUE(x)#

Extract the SR_QUEUE bitfield from a packed word x and return it.

XS1_SR_QUEUE_SET(x, v)#

Pack the value (v) of the SR_QUEUE bitfield into a packed word x and return the packed field.

ID_ID

Number of the thread.

XS1_ID_ID_SHIFT#
XS1_ID_ID_SIZE#
XS1_ID_ID_MASK#
XS1_ID_ID(x)#

Extract the ID_ID bitfield from a packed word x and return it.

XS1_ID_ID_SET(x, v)#

Pack the value (v) of the ID_ID bitfield into a packed word x and return the packed field.

EXCEPTION_TYPE

The exception type.

XS1_EXCEPTION_TYPE_SHIFT#
XS1_EXCEPTION_TYPE_SIZE#
XS1_EXCEPTION_TYPE_MASK#
XS1_EXCEPTION_TYPE(x)#

Extract the EXCEPTION_TYPE bitfield from a packed word x and return it.

XS1_EXCEPTION_TYPE_SET(x, v)#

Pack the value (v) of the EXCEPTION_TYPE bitfield into a packed word x and return the packed field.

DBG_T_NUM_NUM

Thread number to be read

XS1_DBG_T_NUM_NUM_SHIFT#
XS1_DBG_T_NUM_NUM_SIZE#
XS1_DBG_T_NUM_NUM_MASK#
XS1_DBG_T_NUM_NUM(x)#

Extract the DBG_T_NUM_NUM bitfield from a packed word x and return it.

XS1_DBG_T_NUM_NUM_SET(x, v)#

Pack the value (v) of the DBG_T_NUM_NUM bitfield into a packed word x and return the packed field.

DBG_T_REG_REG

Register number to be read

XS1_DBG_T_REG_REG_SHIFT#
XS1_DBG_T_REG_REG_SIZE#
XS1_DBG_T_REG_REG_MASK#
XS1_DBG_T_REG_REG(x)#

Extract the DBG_T_REG_REG bitfield from a packed word x and return it.

XS1_DBG_T_REG_REG_SET(x, v)#

Pack the value (v) of the DBG_T_REG_REG bitfield into a packed word x and return the packed field.

BRK_ENABLE

When 1 the instruction breakpoint is enabled.

XS1_BRK_ENABLE_SHIFT#
XS1_BRK_ENABLE_SIZE#
XS1_BRK_ENABLE_MASK#
XS1_BRK_ENABLE(x)#

Extract the BRK_ENABLE bitfield from a packed word x and return it.

XS1_BRK_ENABLE_SET(x, v)#

Pack the value (v) of the BRK_ENABLE bitfield into a packed word x and return the packed field.

ALL_BITS

Value.

XS1_ALL_BITS_SHIFT#
XS1_ALL_BITS_SIZE#
XS1_ALL_BITS_MASK#
XS1_ALL_BITS(x)#

Extract the ALL_BITS bitfield from a packed word x and return it.

XS1_ALL_BITS_SET(x, v)#

Pack the value (v) of the ALL_BITS bitfield into a packed word x and return the packed field.

KEP_ADDRESS_BITS

KEP Address bits

XS1_KEP_ADDRESS_BITS_SHIFT#
XS1_KEP_ADDRESS_BITS_SIZE#
XS1_KEP_ADDRESS_BITS_MASK#
XS1_KEP_ADDRESS_BITS(x)#

Extract the KEP_ADDRESS_BITS bitfield from a packed word x and return it.

XS1_KEP_ADDRESS_BITS_SET(x, v)#

Pack the value (v) of the KEP_ADDRESS_BITS bitfield into a packed word x and return the packed field.

WORD_ADDRESS_BITS

Most significant 16 bits of all addresses.

XS1_WORD_ADDRESS_BITS_SHIFT#
XS1_WORD_ADDRESS_BITS_SIZE#
XS1_WORD_ADDRESS_BITS_MASK#
XS1_WORD_ADDRESS_BITS(x)#

Extract the WORD_ADDRESS_BITS bitfield from a packed word x and return it.

XS1_WORD_ADDRESS_BITS_SET(x, v)#

Pack the value (v) of the WORD_ADDRESS_BITS bitfield into a packed word x and return the packed field.

VECTOR_BASE

The event and interrupt vectors.

XS1_VECTOR_BASE_SHIFT#
XS1_VECTOR_BASE_SIZE#
XS1_VECTOR_BASE_MASK#
XS1_VECTOR_BASE(x)#

Extract the VECTOR_BASE bitfield from a packed word x and return it.

XS1_VECTOR_BASE_SET(x, v)#

Pack the value (v) of the VECTOR_BASE bitfield into a packed word x and return the packed field.

IBRK_CONDITION

When 0 break when PC == IBREAK_ADDR.

When 1 = break when PC != IBREAK_ADDR.

XS1_IBRK_CONDITION_SHIFT#
XS1_IBRK_CONDITION_SIZE#
XS1_IBRK_CONDITION_MASK#
XS1_IBRK_CONDITION(x)#

Extract the IBRK_CONDITION bitfield from a packed word x and return it.

XS1_IBRK_CONDITION_SET(x, v)#

Pack the value (v) of the IBRK_CONDITION bitfield into a packed word x and return the packed field.

DBRK_CONDITION

Determines the break condition: 0 = A AND B, 1 = A OR B.

XS1_DBRK_CONDITION_SHIFT#
XS1_DBRK_CONDITION_SIZE#
XS1_DBRK_CONDITION_MASK#
XS1_DBRK_CONDITION(x)#

Extract the DBRK_CONDITION bitfield from a packed word x and return it.

XS1_DBRK_CONDITION_SET(x, v)#

Pack the value (v) of the DBRK_CONDITION bitfield into a packed word x and return the packed field.

RBRK_CONDITION

When 0 break when condition A is met.

When 1 = break when condition B is met.

XS1_RBRK_CONDITION_SHIFT#
XS1_RBRK_CONDITION_SIZE#
XS1_RBRK_CONDITION_MASK#
XS1_RBRK_CONDITION(x)#

Extract the RBRK_CONDITION bitfield from a packed word x and return it.

XS1_RBRK_CONDITION_SET(x, v)#

Pack the value (v) of the RBRK_CONDITION bitfield into a packed word x and return the packed field.

BRK_LOAD

When 1 the breakpoints will be be triggered on loads.

XS1_BRK_LOAD_SHIFT#
XS1_BRK_LOAD_SIZE#
XS1_BRK_LOAD_MASK#
XS1_BRK_LOAD(x)#

Extract the BRK_LOAD bitfield from a packed word x and return it.

XS1_BRK_LOAD_SET(x, v)#

Pack the value (v) of the BRK_LOAD bitfield into a packed word x and return the packed field.

BRK_THREADS

A bit for each thread in the machine allowing the breakpoint to be enabled individually for each thread.

XS1_BRK_THREADS_SHIFT#
XS1_BRK_THREADS_SIZE#
XS1_BRK_THREADS_MASK#
XS1_BRK_THREADS(x)#

Extract the BRK_THREADS bitfield from a packed word x and return it.

XS1_BRK_THREADS_SET(x, v)#

Pack the value (v) of the BRK_THREADS bitfield into a packed word x and return the packed field.

DBG_TYPE_CAUSE

Indicates the cause of the debug interrupt

1: Host initiated a debug interrupt through JTAG

2: Program executed a DCALL instruction

3: Instruction breakpoint

4: Data watch point

5: Resource watch point

XS1_DBG_TYPE_CAUSE_SHIFT#
XS1_DBG_TYPE_CAUSE_SIZE#
XS1_DBG_TYPE_CAUSE_MASK#
XS1_DBG_TYPE_CAUSE(x)#

Extract the DBG_TYPE_CAUSE bitfield from a packed word x and return it.

XS1_DBG_TYPE_CAUSE_SET(x, v)#

Pack the value (v) of the DBG_TYPE_CAUSE bitfield into a packed word x and return the packed field.

DBG_TYPE_T_NUM

Number of thread which caused the debug interrupt (always 0 in the case of =HOST=).

XS1_DBG_TYPE_T_NUM_SHIFT#
XS1_DBG_TYPE_T_NUM_SIZE#
XS1_DBG_TYPE_T_NUM_MASK#
XS1_DBG_TYPE_T_NUM(x)#

Extract the DBG_TYPE_T_NUM bitfield from a packed word x and return it.

XS1_DBG_TYPE_T_NUM_SET(x, v)#

Pack the value (v) of the DBG_TYPE_T_NUM bitfield into a packed word x and return the packed field.

DBG_TYPE_HW_NUM

Number of the hardware breakpoint/watchpoint which caused the interrupt (always 0 for =HOST= and =DCALL=).

If multiple breakpoints/watchpoints trigger at once, the lowest number is taken.

XS1_DBG_TYPE_HW_NUM_SHIFT#
XS1_DBG_TYPE_HW_NUM_SIZE#
XS1_DBG_TYPE_HW_NUM_MASK#
XS1_DBG_TYPE_HW_NUM(x)#

Extract the DBG_TYPE_HW_NUM bitfield from a packed word x and return it.

XS1_DBG_TYPE_HW_NUM_SET(x, v)#

Pack the value (v) of the DBG_TYPE_HW_NUM bitfield into a packed word x and return the packed field.

DBG_RUN_CTRL_STOP

1-hot vector defining which threads are stopped when not in debug mode.

Every bit which is set prevents the respective thread from running.

XS1_DBG_RUN_CTRL_STOP_SHIFT#
XS1_DBG_RUN_CTRL_STOP_SIZE#
XS1_DBG_RUN_CTRL_STOP_MASK#
XS1_DBG_RUN_CTRL_STOP(x)#

Extract the DBG_RUN_CTRL_STOP bitfield from a packed word x and return it.

XS1_DBG_RUN_CTRL_STOP_SET(x, v)#

Pack the value (v) of the DBG_RUN_CTRL_STOP bitfield into a packed word x and return the packed field.

XCORE_CTRL0_USB_ENABLE

Enable the ULPI Hardware support module

XS1_XCORE_CTRL0_USB_ENABLE_SHIFT#
XS1_XCORE_CTRL0_USB_ENABLE_SIZE#
XS1_XCORE_CTRL0_USB_ENABLE_MASK#
XS1_XCORE_CTRL0_USB_ENABLE(x)#

Extract the XCORE_CTRL0_USB_ENABLE bitfield from a packed word x and return it.

XS1_XCORE_CTRL0_USB_ENABLE_SET(x, v)#

Pack the value (v) of the XCORE_CTRL0_USB_ENABLE bitfield into a packed word x and return the packed field.

XCORE_CTRL0_USB_MODE

Select between UTMI (1) and ULPI (0) mode.

XS1_XCORE_CTRL0_USB_MODE_SHIFT#
XS1_XCORE_CTRL0_USB_MODE_SIZE#
XS1_XCORE_CTRL0_USB_MODE_MASK#
XS1_XCORE_CTRL0_USB_MODE(x)#

Extract the XCORE_CTRL0_USB_MODE bitfield from a packed word x and return it.

XS1_XCORE_CTRL0_USB_MODE_SET(x, v)#

Pack the value (v) of the XCORE_CTRL0_USB_MODE bitfield into a packed word x and return the packed field.

XCORE_CTRL0_CLK_DIVIDER_EN

Enable the clock divider.

This divides the output of the PLL to facilitate one of the low power modes.

XS1_XCORE_CTRL0_CLK_DIVIDER_EN_SHIFT#
XS1_XCORE_CTRL0_CLK_DIVIDER_EN_SIZE#
XS1_XCORE_CTRL0_CLK_DIVIDER_EN_MASK#
XS1_XCORE_CTRL0_CLK_DIVIDER_EN(x)#

Extract the XCORE_CTRL0_CLK_DIVIDER_EN bitfield from a packed word x and return it.

XS1_XCORE_CTRL0_CLK_DIVIDER_EN_SET(x, v)#

Pack the value (v) of the XCORE_CTRL0_CLK_DIVIDER_EN bitfield into a packed word x and return the packed field.

XCORE_CTRL0_CLK_DIVIDER_DYN

Select the dynamic mode (1) for the clock divider when the clock divider is enabled.

In dynamic mode the clock divider is only activated when all active threads are paused. In static mode the clock divider is always enabled.

XS1_XCORE_CTRL0_CLK_DIVIDER_DYN_SHIFT#
XS1_XCORE_CTRL0_CLK_DIVIDER_DYN_SIZE#
XS1_XCORE_CTRL0_CLK_DIVIDER_DYN_MASK#
XS1_XCORE_CTRL0_CLK_DIVIDER_DYN(x)#

Extract the XCORE_CTRL0_CLK_DIVIDER_DYN bitfield from a packed word x and return it.

XS1_XCORE_CTRL0_CLK_DIVIDER_DYN_SET(x, v)#

Pack the value (v) of the XCORE_CTRL0_CLK_DIVIDER_DYN bitfield into a packed word x and return the packed field.

XCORE_CTRL0_RGMII_ENABLE

Enable RGMII interface periph ports

XS1_XCORE_CTRL0_RGMII_ENABLE_SHIFT#
XS1_XCORE_CTRL0_RGMII_ENABLE_SIZE#
XS1_XCORE_CTRL0_RGMII_ENABLE_MASK#
XS1_XCORE_CTRL0_RGMII_ENABLE(x)#

Extract the XCORE_CTRL0_RGMII_ENABLE bitfield from a packed word x and return it.

XS1_XCORE_CTRL0_RGMII_ENABLE_SET(x, v)#

Pack the value (v) of the XCORE_CTRL0_RGMII_ENABLE bitfield into a packed word x and return the packed field.

XCORE_CTRL0_RGMII_DIVIDE

RGMII TX clock divider value.

TX clk rises when counter (clocked by PLL output) reaches this value and falls when counter reaches (value>>1). Value programmed into this field should be actual divide value required minus 1

XS1_XCORE_CTRL0_RGMII_DIVIDE_SHIFT#
XS1_XCORE_CTRL0_RGMII_DIVIDE_SIZE#
XS1_XCORE_CTRL0_RGMII_DIVIDE_MASK#
XS1_XCORE_CTRL0_RGMII_DIVIDE(x)#

Extract the XCORE_CTRL0_RGMII_DIVIDE bitfield from a packed word x and return it.

XS1_XCORE_CTRL0_RGMII_DIVIDE_SET(x, v)#

Pack the value (v) of the XCORE_CTRL0_RGMII_DIVIDE bitfield into a packed word x and return the packed field.

XCORE_CTRL0_RGMII_DELAY

RGMII TX data delay value (in PLL output cycle increments)

XS1_XCORE_CTRL0_RGMII_DELAY_SHIFT#
XS1_XCORE_CTRL0_RGMII_DELAY_SIZE#
XS1_XCORE_CTRL0_RGMII_DELAY_MASK#
XS1_XCORE_CTRL0_RGMII_DELAY(x)#

Extract the XCORE_CTRL0_RGMII_DELAY bitfield from a packed word x and return it.

XS1_XCORE_CTRL0_RGMII_DELAY_SET(x, v)#

Pack the value (v) of the XCORE_CTRL0_RGMII_DELAY bitfield into a packed word x and return the packed field.

BOOT_CONFIG_PLL_MODE_PINS

The boot PLL mode pin value.

XS1_BOOT_CONFIG_PLL_MODE_PINS_SHIFT#
XS1_BOOT_CONFIG_PLL_MODE_PINS_SIZE#
XS1_BOOT_CONFIG_PLL_MODE_PINS_MASK#
XS1_BOOT_CONFIG_PLL_MODE_PINS(x)#

Extract the BOOT_CONFIG_PLL_MODE_PINS bitfield from a packed word x and return it.

XS1_BOOT_CONFIG_PLL_MODE_PINS_SET(x, v)#

Pack the value (v) of the BOOT_CONFIG_PLL_MODE_PINS bitfield into a packed word x and return the packed field.

BOOT_CONFIG_BOOT_FROM_JTAG

Boot ROM boots from JTAG

XS1_BOOT_CONFIG_BOOT_FROM_JTAG_SHIFT#
XS1_BOOT_CONFIG_BOOT_FROM_JTAG_SIZE#
XS1_BOOT_CONFIG_BOOT_FROM_JTAG_MASK#
XS1_BOOT_CONFIG_BOOT_FROM_JTAG(x)#

Extract the BOOT_CONFIG_BOOT_FROM_JTAG bitfield from a packed word x and return it.

XS1_BOOT_CONFIG_BOOT_FROM_JTAG_SET(x, v)#

Pack the value (v) of the BOOT_CONFIG_BOOT_FROM_JTAG bitfield into a packed word x and return the packed field.

BOOT_CONFIG_BOOT_FROM_RAM

Boot ROM boots from RAM

XS1_BOOT_CONFIG_BOOT_FROM_RAM_SHIFT#
XS1_BOOT_CONFIG_BOOT_FROM_RAM_SIZE#
XS1_BOOT_CONFIG_BOOT_FROM_RAM_MASK#
XS1_BOOT_CONFIG_BOOT_FROM_RAM(x)#

Extract the BOOT_CONFIG_BOOT_FROM_RAM bitfield from a packed word x and return it.

XS1_BOOT_CONFIG_BOOT_FROM_RAM_SET(x, v)#

Pack the value (v) of the BOOT_CONFIG_BOOT_FROM_RAM bitfield into a packed word x and return the packed field.

BOOT_CONFIG_DISABLE_OTP_POLL

Cause the ROM to not poll the OTP for correct read levels

XS1_BOOT_CONFIG_DISABLE_OTP_POLL_SHIFT#
XS1_BOOT_CONFIG_DISABLE_OTP_POLL_SIZE#
XS1_BOOT_CONFIG_DISABLE_OTP_POLL_MASK#
XS1_BOOT_CONFIG_DISABLE_OTP_POLL(x)#

Extract the BOOT_CONFIG_DISABLE_OTP_POLL bitfield from a packed word x and return it.

XS1_BOOT_CONFIG_DISABLE_OTP_POLL_SET(x, v)#

Pack the value (v) of the BOOT_CONFIG_DISABLE_OTP_POLL bitfield into a packed word x and return the packed field.

BOOT_CONFIG_CORE1_POWER_DOWN_N

Indicates if core1 has been powered off

XS1_BOOT_CONFIG_CORE1_POWER_DOWN_N_SHIFT#
XS1_BOOT_CONFIG_CORE1_POWER_DOWN_N_SIZE#
XS1_BOOT_CONFIG_CORE1_POWER_DOWN_N_MASK#
XS1_BOOT_CONFIG_CORE1_POWER_DOWN_N(x)#

Extract the BOOT_CONFIG_CORE1_POWER_DOWN_N bitfield from a packed word x and return it.

XS1_BOOT_CONFIG_CORE1_POWER_DOWN_N_SET(x, v)#

Pack the value (v) of the BOOT_CONFIG_CORE1_POWER_DOWN_N bitfield into a packed word x and return the packed field.

BOOT_CONFIG_SECURE_BOOT

Overwrite BOOT_MODE.

XS1_BOOT_CONFIG_SECURE_BOOT_SHIFT#
XS1_BOOT_CONFIG_SECURE_BOOT_SIZE#
XS1_BOOT_CONFIG_SECURE_BOOT_MASK#
XS1_BOOT_CONFIG_SECURE_BOOT(x)#

Extract the BOOT_CONFIG_SECURE_BOOT bitfield from a packed word x and return it.

XS1_BOOT_CONFIG_SECURE_BOOT_SET(x, v)#

Pack the value (v) of the BOOT_CONFIG_SECURE_BOOT bitfield into a packed word x and return the packed field.

BOOT_CONFIG_PROCESSOR

Processor number.

XS1_BOOT_CONFIG_PROCESSOR_SHIFT#
XS1_BOOT_CONFIG_PROCESSOR_SIZE#
XS1_BOOT_CONFIG_PROCESSOR_MASK#
XS1_BOOT_CONFIG_PROCESSOR(x)#

Extract the BOOT_CONFIG_PROCESSOR bitfield from a packed word x and return it.

XS1_BOOT_CONFIG_PROCESSOR_SET(x, v)#

Pack the value (v) of the BOOT_CONFIG_PROCESSOR bitfield into a packed word x and return the packed field.

SECUR_CFG_DISABLE_XCORE_JTAG

Disable access to XCore’s JTAG debug TAP

XS1_SECUR_CFG_DISABLE_XCORE_JTAG_SHIFT#
XS1_SECUR_CFG_DISABLE_XCORE_JTAG_SIZE#
XS1_SECUR_CFG_DISABLE_XCORE_JTAG_MASK#
XS1_SECUR_CFG_DISABLE_XCORE_JTAG(x)#

Extract the SECUR_CFG_DISABLE_XCORE_JTAG bitfield from a packed word x and return it.

XS1_SECUR_CFG_DISABLE_XCORE_JTAG_SET(x, v)#

Pack the value (v) of the SECUR_CFG_DISABLE_XCORE_JTAG bitfield into a packed word x and return the packed field.

Disable PLinks

Extract the SECUR_CFG_DISABLE_XCORE_PLINK bitfield from a packed word x and return it.

Pack the value (v) of the SECUR_CFG_DISABLE_XCORE_PLINK bitfield into a packed word x and return the packed field.

SECUR_CFG_DISABLE_PLL_JTAG

Disable JTAG access to the PLL/BOOT configuration registers

XS1_SECUR_CFG_DISABLE_PLL_JTAG_SHIFT#
XS1_SECUR_CFG_DISABLE_PLL_JTAG_SIZE#
XS1_SECUR_CFG_DISABLE_PLL_JTAG_MASK#
XS1_SECUR_CFG_DISABLE_PLL_JTAG(x)#

Extract the SECUR_CFG_DISABLE_PLL_JTAG bitfield from a packed word x and return it.

XS1_SECUR_CFG_DISABLE_PLL_JTAG_SET(x, v)#

Pack the value (v) of the SECUR_CFG_DISABLE_PLL_JTAG bitfield into a packed word x and return the packed field.

SECUR_CFG_SECURE_BOOT

Override boot mode and read boot image from OTP

XS1_SECUR_CFG_SECURE_BOOT_SHIFT#
XS1_SECUR_CFG_SECURE_BOOT_SIZE#
XS1_SECUR_CFG_SECURE_BOOT_MASK#
XS1_SECUR_CFG_SECURE_BOOT(x)#

Extract the SECUR_CFG_SECURE_BOOT bitfield from a packed word x and return it.

XS1_SECUR_CFG_SECURE_BOOT_SET(x, v)#

Pack the value (v) of the SECUR_CFG_SECURE_BOOT bitfield into a packed word x and return the packed field.

SECUR_CFG_OTP_REDUANACY_ENABLE

Enable OTP reduanacy

XS1_SECUR_CFG_OTP_REDUANACY_ENABLE_SHIFT#
XS1_SECUR_CFG_OTP_REDUANACY_ENABLE_SIZE#
XS1_SECUR_CFG_OTP_REDUANACY_ENABLE_MASK#
XS1_SECUR_CFG_OTP_REDUANACY_ENABLE(x)#

Extract the SECUR_CFG_OTP_REDUANACY_ENABLE bitfield from a packed word x and return it.

XS1_SECUR_CFG_OTP_REDUANACY_ENABLE_SET(x, v)#

Pack the value (v) of the SECUR_CFG_OTP_REDUANACY_ENABLE bitfield into a packed word x and return the packed field.

SECUR_CFG_OTP_SECTOR_LOCK

lock bit for each OTP sector

XS1_SECUR_CFG_OTP_SECTOR_LOCK_SHIFT#
XS1_SECUR_CFG_OTP_SECTOR_LOCK_SIZE#
XS1_SECUR_CFG_OTP_SECTOR_LOCK_MASK#
XS1_SECUR_CFG_OTP_SECTOR_LOCK(x)#

Extract the SECUR_CFG_OTP_SECTOR_LOCK bitfield from a packed word x and return it.

XS1_SECUR_CFG_OTP_SECTOR_LOCK_SET(x, v)#

Pack the value (v) of the SECUR_CFG_OTP_SECTOR_LOCK bitfield into a packed word x and return the packed field.

SECUR_CFG_OTP_MASTER_LOCK

lock all OTP sectors

XS1_SECUR_CFG_OTP_MASTER_LOCK_SHIFT#
XS1_SECUR_CFG_OTP_MASTER_LOCK_SIZE#
XS1_SECUR_CFG_OTP_MASTER_LOCK_MASK#
XS1_SECUR_CFG_OTP_MASTER_LOCK(x)#

Extract the SECUR_CFG_OTP_MASTER_LOCK bitfield from a packed word x and return it.

XS1_SECUR_CFG_OTP_MASTER_LOCK_SET(x, v)#

Pack the value (v) of the SECUR_CFG_OTP_MASTER_LOCK bitfield into a packed word x and return the packed field.

SECUR_CFG_DISABLE_GLOBAL_DEBUG

Disable access to XCore’s global debug

XS1_SECUR_CFG_DISABLE_GLOBAL_DEBUG_SHIFT#
XS1_SECUR_CFG_DISABLE_GLOBAL_DEBUG_SIZE#
XS1_SECUR_CFG_DISABLE_GLOBAL_DEBUG_MASK#
XS1_SECUR_CFG_DISABLE_GLOBAL_DEBUG(x)#

Extract the SECUR_CFG_DISABLE_GLOBAL_DEBUG bitfield from a packed word x and return it.

XS1_SECUR_CFG_DISABLE_GLOBAL_DEBUG_SET(x, v)#

Pack the value (v) of the SECUR_CFG_DISABLE_GLOBAL_DEBUG bitfield into a packed word x and return the packed field.

SECUR_CFG_DISABLE_ACCESS

Disables write permission on this register

XS1_SECUR_CFG_DISABLE_ACCESS_SHIFT#
XS1_SECUR_CFG_DISABLE_ACCESS_SIZE#
XS1_SECUR_CFG_DISABLE_ACCESS_MASK#
XS1_SECUR_CFG_DISABLE_ACCESS(x)#

Extract the SECUR_CFG_DISABLE_ACCESS bitfield from a packed word x and return it.

XS1_SECUR_CFG_DISABLE_ACCESS_SET(x, v)#

Pack the value (v) of the SECUR_CFG_DISABLE_ACCESS bitfield into a packed word x and return the packed field.

BOOT_STATUS_LEDS

Boot status LED value.

XS1_BOOT_STATUS_LEDS_SHIFT#
XS1_BOOT_STATUS_LEDS_SIZE#
XS1_BOOT_STATUS_LEDS_MASK#
XS1_BOOT_STATUS_LEDS(x)#

Extract the BOOT_STATUS_LEDS bitfield from a packed word x and return it.

XS1_BOOT_STATUS_LEDS_SET(x, v)#

Pack the value (v) of the BOOT_STATUS_LEDS bitfield into a packed word x and return the packed field.

BOOT_STATUS_BITS

Other boot status LED bits.

XS1_BOOT_STATUS_BITS_SHIFT#
XS1_BOOT_STATUS_BITS_SIZE#
XS1_BOOT_STATUS_BITS_MASK#
XS1_BOOT_STATUS_BITS(x)#

Extract the BOOT_STATUS_BITS bitfield from a packed word x and return it.

XS1_BOOT_STATUS_BITS_SET(x, v)#

Pack the value (v) of the BOOT_STATUS_BITS bitfield into a packed word x and return the packed field.

RING_OSC_PERPH_ENABLE

Peripheral ring oscillator enable.

XS1_RING_OSC_PERPH_ENABLE_SHIFT#
XS1_RING_OSC_PERPH_ENABLE_SIZE#
XS1_RING_OSC_PERPH_ENABLE_MASK#
XS1_RING_OSC_PERPH_ENABLE(x)#

Extract the RING_OSC_PERPH_ENABLE bitfield from a packed word x and return it.

XS1_RING_OSC_PERPH_ENABLE_SET(x, v)#

Pack the value (v) of the RING_OSC_PERPH_ENABLE bitfield into a packed word x and return the packed field.

RING_OSC_CORE_ENABLE

Core ring oscillator enable.

XS1_RING_OSC_CORE_ENABLE_SHIFT#
XS1_RING_OSC_CORE_ENABLE_SIZE#
XS1_RING_OSC_CORE_ENABLE_MASK#
XS1_RING_OSC_CORE_ENABLE(x)#

Extract the RING_OSC_CORE_ENABLE bitfield from a packed word x and return it.

XS1_RING_OSC_CORE_ENABLE_SET(x, v)#

Pack the value (v) of the RING_OSC_CORE_ENABLE bitfield into a packed word x and return the packed field.

RING_OSC_DATA

Ring oscillator Counter data.

XS1_RING_OSC_DATA_SHIFT#
XS1_RING_OSC_DATA_SIZE#
XS1_RING_OSC_DATA_MASK#
XS1_RING_OSC_DATA(x)#

Extract the RING_OSC_DATA bitfield from a packed word x and return it.

XS1_RING_OSC_DATA_SET(x, v)#

Pack the value (v) of the RING_OSC_DATA bitfield into a packed word x and return the packed field.

PLL_CLK_DIVIDER

Clock divider.

XS1_PLL_CLK_DIVIDER_SHIFT#
XS1_PLL_CLK_DIVIDER_SIZE#
XS1_PLL_CLK_DIVIDER_MASK#
XS1_PLL_CLK_DIVIDER(x)#

Extract the PLL_CLK_DIVIDER bitfield from a packed word x and return it.

XS1_PLL_CLK_DIVIDER_SET(x, v)#

Pack the value (v) of the PLL_CLK_DIVIDER bitfield into a packed word x and return the packed field.

PLL_CLK_DISABLE

Clock disable.

Writing ‘1’ will remove the clock to the tile.

XS1_PLL_CLK_DISABLE_SHIFT#
XS1_PLL_CLK_DISABLE_SIZE#
XS1_PLL_CLK_DISABLE_MASK#
XS1_PLL_CLK_DISABLE(x)#

Extract the PLL_CLK_DISABLE bitfield from a packed word x and return it.

XS1_PLL_CLK_DISABLE_SET(x, v)#

Pack the value (v) of the PLL_CLK_DISABLE bitfield into a packed word x and return the packed field.

RMA0

Read margin adjust.

XS1_RMA0_SHIFT#
XS1_RMA0_SIZE#
XS1_RMA0_MASK#
XS1_RMA0(x)#

Extract the RMA0 bitfield from a packed word x and return it.

XS1_RMA0_SET(x, v)#

Pack the value (v) of the RMA0 bitfield into a packed word x and return the packed field.

RMA1

Read margin adjust.

XS1_RMA1_SHIFT#
XS1_RMA1_SIZE#
XS1_RMA1_MASK#
XS1_RMA1(x)#

Extract the RMA1 bitfield from a packed word x and return it.

XS1_RMA1_SET(x, v)#

Pack the value (v) of the RMA1 bitfield into a packed word x and return the packed field.

RMA2

Read margin adjust.

XS1_RMA2_SHIFT#
XS1_RMA2_SIZE#
XS1_RMA2_MASK#
XS1_RMA2(x)#

Extract the RMA2 bitfield from a packed word x and return it.

XS1_RMA2_SET(x, v)#

Pack the value (v) of the RMA2 bitfield into a packed word x and return the packed field.

RMA3

Read margin adjust.

XS1_RMA3_SHIFT#
XS1_RMA3_SIZE#
XS1_RMA3_MASK#
XS1_RMA3(x)#

Extract the RMA3 bitfield from a packed word x and return it.

XS1_RMA3_SET(x, v)#

Pack the value (v) of the RMA3 bitfield into a packed word x and return the packed field.

RAM_MASK

Blocks of 64k rams unavailable

XS1_RAM_MASK_SHIFT#
XS1_RAM_MASK_SIZE#
XS1_RAM_MASK_MASK#
XS1_RAM_MASK(x)#

Extract the RAM_MASK bitfield from a packed word x and return it.

XS1_RAM_MASK_SET(x, v)#

Pack the value (v) of the RAM_MASK bitfield into a packed word x and return the packed field.

CORE_DISABLE

Core’s clock is gated off

XS1_CORE_DISABLE_SHIFT#
XS1_CORE_DISABLE_SIZE#
XS1_CORE_DISABLE_MASK#
XS1_CORE_DISABLE(x)#

Extract the CORE_DISABLE bitfield from a packed word x and return it.

XS1_CORE_DISABLE_SET(x, v)#

Pack the value (v) of the CORE_DISABLE bitfield into a packed word x and return the packed field.

THREAD_MASK

Threads unavailable

XS1_THREAD_MASK_SHIFT#
XS1_THREAD_MASK_SIZE#
XS1_THREAD_MASK_MASK#
XS1_THREAD_MASK(x)#

Extract the THREAD_MASK bitfield from a packed word x and return it.

XS1_THREAD_MASK_SET(x, v)#

Pack the value (v) of the THREAD_MASK bitfield into a packed word x and return the packed field.

RGMII_DISABLE

RGMII accelerator disable

XS1_RGMII_DISABLE_SHIFT#
XS1_RGMII_DISABLE_SIZE#
XS1_RGMII_DISABLE_MASK#
XS1_RGMII_DISABLE(x)#

Extract the RGMII_DISABLE bitfield from a packed word x and return it.

XS1_RGMII_DISABLE_SET(x, v)#

Pack the value (v) of the RGMII_DISABLE bitfield into a packed word x and return the packed field.

THREAD_CTRL0_INUSE

Returns 1 when the thread is in use, 0 otherwise.

XS1_THREAD_CTRL0_INUSE_SHIFT#
XS1_THREAD_CTRL0_INUSE_SIZE#
XS1_THREAD_CTRL0_INUSE_MASK#
XS1_THREAD_CTRL0_INUSE(x)#

Extract the THREAD_CTRL0_INUSE bitfield from a packed word x and return it.

XS1_THREAD_CTRL0_INUSE_SET(x, v)#

Pack the value (v) of the THREAD_CTRL0_INUSE bitfield into a packed word x and return the packed field.

THREAD_CTRL0_MSYNC

1 when the thread is msyncing, 0 otherwise.

XS1_THREAD_CTRL0_MSYNC_SHIFT#
XS1_THREAD_CTRL0_MSYNC_SIZE#
XS1_THREAD_CTRL0_MSYNC_MASK#
XS1_THREAD_CTRL0_MSYNC(x)#

Extract the THREAD_CTRL0_MSYNC bitfield from a packed word x and return it.

XS1_THREAD_CTRL0_MSYNC_SET(x, v)#

Pack the value (v) of the THREAD_CTRL0_MSYNC bitfield into a packed word x and return the packed field.

THREAD_CTRL0_SSYNC

1 when the thread is ssyncing, 0 otherwise.

XS1_THREAD_CTRL0_SSYNC_SHIFT#
XS1_THREAD_CTRL0_SSYNC_SIZE#
XS1_THREAD_CTRL0_SSYNC_MASK#
XS1_THREAD_CTRL0_SSYNC(x)#

Extract the THREAD_CTRL0_SSYNC bitfield from a packed word x and return it.

XS1_THREAD_CTRL0_SSYNC_SET(x, v)#

Pack the value (v) of the THREAD_CTRL0_SSYNC bitfield into a packed word x and return the packed field.

THREAD_CTRL0_MASTER

Returns the ID of this thread’s master.

XS1_THREAD_CTRL0_MASTER_SHIFT#
XS1_THREAD_CTRL0_MASTER_SIZE#
XS1_THREAD_CTRL0_MASTER_MASK#
XS1_THREAD_CTRL0_MASTER(x)#

Extract the THREAD_CTRL0_MASTER bitfield from a packed word x and return it.

XS1_THREAD_CTRL0_MASTER_SET(x, v)#

Pack the value (v) of the THREAD_CTRL0_MASTER bitfield into a packed word x and return the packed field.

PORT_CTRL0_INUSE

Returns 1 when the port is in use, 0 otherwise.

XS1_PORT_CTRL0_INUSE_SHIFT#
XS1_PORT_CTRL0_INUSE_SIZE#
XS1_PORT_CTRL0_INUSE_MASK#
XS1_PORT_CTRL0_INUSE(x)#

Extract the PORT_CTRL0_INUSE bitfield from a packed word x and return it.

XS1_PORT_CTRL0_INUSE_SET(x, v)#

Pack the value (v) of the PORT_CTRL0_INUSE bitfield into a packed word x and return the packed field.

PORT_CTRL0_IE_MODE

0 when this port will cause events, 1 when it will raise interrupts.

It is controlled using the SETC instruction.

XS1_PORT_CTRL0_IE_MODE_SHIFT#
XS1_PORT_CTRL0_IE_MODE_SIZE#
XS1_PORT_CTRL0_IE_MODE_MASK#
XS1_PORT_CTRL0_IE_MODE(x)#

Extract the PORT_CTRL0_IE_MODE bitfield from a packed word x and return it.

XS1_PORT_CTRL0_IE_MODE_SET(x, v)#

Pack the value (v) of the PORT_CTRL0_IE_MODE bitfield into a packed word x and return the packed field.

PORT_CTRL0_IE_ENABLED

1 when events or interrupts on this port are active.

It is set when an EEU is executed. It is cleared when a EDU or CLRE is executed. The EET and EEF will either set or clear the bit depending on the contents of the condition register.

XS1_PORT_CTRL0_IE_ENABLED_SHIFT#
XS1_PORT_CTRL0_IE_ENABLED_SIZE#
XS1_PORT_CTRL0_IE_ENABLED_MASK#
XS1_PORT_CTRL0_IE_ENABLED(x)#

Extract the PORT_CTRL0_IE_ENABLED bitfield from a packed word x and return it.

XS1_PORT_CTRL0_IE_ENABLED_SET(x, v)#

Pack the value (v) of the PORT_CTRL0_IE_ENABLED bitfield into a packed word x and return the packed field.

PORT_CTRL0_DIRECTION

0 when it is in input mode, 1 when this port is in output mode.

XS1_PORT_CTRL0_DIRECTION_SHIFT#
XS1_PORT_CTRL0_DIRECTION_SIZE#
XS1_PORT_CTRL0_DIRECTION_MASK#
XS1_PORT_CTRL0_DIRECTION(x)#

Extract the PORT_CTRL0_DIRECTION bitfield from a packed word x and return it.

XS1_PORT_CTRL0_DIRECTION_SET(x, v)#

Pack the value (v) of the PORT_CTRL0_DIRECTION bitfield into a packed word x and return the packed field.

PORT_CTRL0_COND

Shows the current condition of the port.

The condition is set using the SETC instruction.

XS1_PORT_CTRL0_COND_SHIFT#
XS1_PORT_CTRL0_COND_SIZE#
XS1_PORT_CTRL0_COND_MASK#
XS1_PORT_CTRL0_COND(x)#

Extract the PORT_CTRL0_COND bitfield from a packed word x and return it.

XS1_PORT_CTRL0_COND_SET(x, v)#

Pack the value (v) of the PORT_CTRL0_COND bitfield into a packed word x and return the packed field.

PORT_CTRL0_MASTER_SLAVE

0 when the port is a master, 1 when it is a slave.

XS1_PORT_CTRL0_MASTER_SLAVE_SHIFT#
XS1_PORT_CTRL0_MASTER_SLAVE_SIZE#
XS1_PORT_CTRL0_MASTER_SLAVE_MASK#
XS1_PORT_CTRL0_MASTER_SLAVE(x)#

Extract the PORT_CTRL0_MASTER_SLAVE bitfield from a packed word x and return it.

XS1_PORT_CTRL0_MASTER_SLAVE_SET(x, v)#

Pack the value (v) of the PORT_CTRL0_MASTER_SLAVE bitfield into a packed word x and return the packed field.

PORT_CTRL0_BUFFERS

When 0 there is no buffering between the port and pins.

When 1 there is buffering between the port and instructions.

XS1_PORT_CTRL0_BUFFERS_SHIFT#
XS1_PORT_CTRL0_BUFFERS_SIZE#
XS1_PORT_CTRL0_BUFFERS_MASK#
XS1_PORT_CTRL0_BUFFERS(x)#

Extract the PORT_CTRL0_BUFFERS bitfield from a packed word x and return it.

XS1_PORT_CTRL0_BUFFERS_SET(x, v)#

Pack the value (v) of the PORT_CTRL0_BUFFERS bitfield into a packed word x and return the packed field.

PORT_CTRL0_READY_MODE

0 - no ready signals used, 1 - strobed port, 2 - handshaken port

XS1_PORT_CTRL0_READY_MODE_SHIFT#
XS1_PORT_CTRL0_READY_MODE_SIZE#
XS1_PORT_CTRL0_READY_MODE_MASK#
XS1_PORT_CTRL0_READY_MODE(x)#

Extract the PORT_CTRL0_READY_MODE bitfield from a packed word x and return it.

XS1_PORT_CTRL0_READY_MODE_SET(x, v)#

Pack the value (v) of the PORT_CTRL0_READY_MODE bitfield into a packed word x and return the packed field.

PORT_CTRL0_PORT_TYPE

0 - data port, 1 - clock port (1-bit ports only), 2 - ready port (1-bit ports only)

XS1_PORT_CTRL0_PORT_TYPE_SHIFT#
XS1_PORT_CTRL0_PORT_TYPE_SIZE#
XS1_PORT_CTRL0_PORT_TYPE_MASK#
XS1_PORT_CTRL0_PORT_TYPE(x)#

Extract the PORT_CTRL0_PORT_TYPE bitfield from a packed word x and return it.

XS1_PORT_CTRL0_PORT_TYPE_SET(x, v)#

Pack the value (v) of the PORT_CTRL0_PORT_TYPE bitfield into a packed word x and return the packed field.

PORT_CTRL0_INVERT

When 1 the port is inverted, otherwise it is not inverted.

Only possible on 1-bit ports.

XS1_PORT_CTRL0_INVERT_SHIFT#
XS1_PORT_CTRL0_INVERT_SIZE#
XS1_PORT_CTRL0_INVERT_MASK#
XS1_PORT_CTRL0_INVERT(x)#

Extract the PORT_CTRL0_INVERT bitfield from a packed word x and return it.

XS1_PORT_CTRL0_INVERT_SET(x, v)#

Pack the value (v) of the PORT_CTRL0_INVERT bitfield into a packed word x and return the packed field.

PORT_CTRL0_SDELAY

0 when the input uses the rising edge, 1 when it uses the falling edge of the clock.

XS1_PORT_CTRL0_SDELAY_SHIFT#
XS1_PORT_CTRL0_SDELAY_SIZE#
XS1_PORT_CTRL0_SDELAY_MASK#
XS1_PORT_CTRL0_SDELAY(x)#

Extract the PORT_CTRL0_SDELAY bitfield from a packed word x and return it.

XS1_PORT_CTRL0_SDELAY_SET(x, v)#

Pack the value (v) of the PORT_CTRL0_SDELAY bitfield into a packed word x and return the packed field.

PORT_CTRL0_EV_VALID

1 when the Environment Vector is valid.

When invalid, the resourceId is used as the environment vector. The environment vector is set using the SETEV instruction.

XS1_PORT_CTRL0_EV_VALID_SHIFT#
XS1_PORT_CTRL0_EV_VALID_SIZE#
XS1_PORT_CTRL0_EV_VALID_MASK#
XS1_PORT_CTRL0_EV_VALID(x)#

Extract the PORT_CTRL0_EV_VALID bitfield from a packed word x and return it.

XS1_PORT_CTRL0_EV_VALID_SET(x, v)#

Pack the value (v) of the PORT_CTRL0_EV_VALID bitfield into a packed word x and return the packed field.

PORT_CTRL0_T_WAITING

1 when there is a thread waiting to be unblocked by this port.

XS1_PORT_CTRL0_T_WAITING_SHIFT#
XS1_PORT_CTRL0_T_WAITING_SIZE#
XS1_PORT_CTRL0_T_WAITING_MASK#
XS1_PORT_CTRL0_T_WAITING(x)#

Extract the PORT_CTRL0_T_WAITING bitfield from a packed word x and return it.

XS1_PORT_CTRL0_T_WAITING_SET(x, v)#

Pack the value (v) of the PORT_CTRL0_T_WAITING bitfield into a packed word x and return the packed field.

PORT_CTRL0_T_NUM

Number of the thread waiting for events or to be unblocked by this port.

XS1_PORT_CTRL0_T_NUM_SHIFT#
XS1_PORT_CTRL0_T_NUM_SIZE#
XS1_PORT_CTRL0_T_NUM_MASK#
XS1_PORT_CTRL0_T_NUM(x)#

Extract the PORT_CTRL0_T_NUM bitfield from a packed word x and return it.

XS1_PORT_CTRL0_T_NUM_SET(x, v)#

Pack the value (v) of the PORT_CTRL0_T_NUM bitfield into a packed word x and return the packed field.

PORT_CTRL1_DRIVE

Determines whether the output is driving, open drain or pull down.

XS1_PORT_CTRL1_DRIVE_SHIFT#
XS1_PORT_CTRL1_DRIVE_SIZE#
XS1_PORT_CTRL1_DRIVE_MASK#
XS1_PORT_CTRL1_DRIVE(x)#

Extract the PORT_CTRL1_DRIVE bitfield from a packed word x and return it.

XS1_PORT_CTRL1_DRIVE_SET(x, v)#

Pack the value (v) of the PORT_CTRL1_DRIVE bitfield into a packed word x and return the packed field.

PORT_CTRL1_TWIDTH

The transfer width of the port in bits

XS1_PORT_CTRL1_TWIDTH_SHIFT#
XS1_PORT_CTRL1_TWIDTH_SIZE#
XS1_PORT_CTRL1_TWIDTH_MASK#
XS1_PORT_CTRL1_TWIDTH(x)#

Extract the PORT_CTRL1_TWIDTH bitfield from a packed word x and return it.

XS1_PORT_CTRL1_TWIDTH_SET(x, v)#

Pack the value (v) of the PORT_CTRL1_TWIDTH bitfield into a packed word x and return the packed field.

PORT_CTRL1_SREG_COUNT

The shift register count in port widths.

XS1_PORT_CTRL1_SREG_COUNT_SHIFT#
XS1_PORT_CTRL1_SREG_COUNT_SIZE#
XS1_PORT_CTRL1_SREG_COUNT_MASK#
XS1_PORT_CTRL1_SREG_COUNT(x)#

Extract the PORT_CTRL1_SREG_COUNT bitfield from a packed word x and return it.

XS1_PORT_CTRL1_SREG_COUNT_SET(x, v)#

Pack the value (v) of the PORT_CTRL1_SREG_COUNT bitfield into a packed word x and return the packed field.

PORT_CTRL1_TREG_FULL

1 when the transfer register is full.

XS1_PORT_CTRL1_TREG_FULL_SHIFT#
XS1_PORT_CTRL1_TREG_FULL_SIZE#
XS1_PORT_CTRL1_TREG_FULL_MASK#
XS1_PORT_CTRL1_TREG_FULL(x)#

Extract the PORT_CTRL1_TREG_FULL bitfield from a packed word x and return it.

XS1_PORT_CTRL1_TREG_FULL_SET(x, v)#

Pack the value (v) of the PORT_CTRL1_TREG_FULL bitfield into a packed word x and return the packed field.

PORT_CTRL1_CHANGE_DIR

0 when the direction is fixed, 1 when it is going to change.

XS1_PORT_CTRL1_CHANGE_DIR_SHIFT#
XS1_PORT_CTRL1_CHANGE_DIR_SIZE#
XS1_PORT_CTRL1_CHANGE_DIR_MASK#
XS1_PORT_CTRL1_CHANGE_DIR(x)#

Extract the PORT_CTRL1_CHANGE_DIR bitfield from a packed word x and return it.

XS1_PORT_CTRL1_CHANGE_DIR_SET(x, v)#

Pack the value (v) of the PORT_CTRL1_CHANGE_DIR bitfield into a packed word x and return the packed field.

PORT_CTRL1_SYNCR

1 when a SYNCR instruction is pending completion.

XS1_PORT_CTRL1_SYNCR_SHIFT#
XS1_PORT_CTRL1_SYNCR_SIZE#
XS1_PORT_CTRL1_SYNCR_MASK#
XS1_PORT_CTRL1_SYNCR(x)#

Extract the PORT_CTRL1_SYNCR bitfield from a packed word x and return it.

XS1_PORT_CTRL1_SYNCR_SET(x, v)#

Pack the value (v) of the PORT_CTRL1_SYNCR bitfield into a packed word x and return the packed field.

PORT_CTRL1_INST_COMMITTED

1 when an instruction has committed to operating on the port.

XS1_PORT_CTRL1_INST_COMMITTED_SHIFT#
XS1_PORT_CTRL1_INST_COMMITTED_SIZE#
XS1_PORT_CTRL1_INST_COMMITTED_MASK#
XS1_PORT_CTRL1_INST_COMMITTED(x)#

Extract the PORT_CTRL1_INST_COMMITTED bitfield from a packed word x and return it.

XS1_PORT_CTRL1_INST_COMMITTED_SET(x, v)#

Pack the value (v) of the PORT_CTRL1_INST_COMMITTED bitfield into a packed word x and return the packed field.

PORT_CTRL1_HOLD_DATA

1 data has been captured for a condition and is being held.

XS1_PORT_CTRL1_HOLD_DATA_SHIFT#
XS1_PORT_CTRL1_HOLD_DATA_SIZE#
XS1_PORT_CTRL1_HOLD_DATA_MASK#
XS1_PORT_CTRL1_HOLD_DATA(x)#

Extract the PORT_CTRL1_HOLD_DATA bitfield from a packed word x and return it.

XS1_PORT_CTRL1_HOLD_DATA_SET(x, v)#

Pack the value (v) of the PORT_CTRL1_HOLD_DATA bitfield into a packed word x and return the packed field.

PORT_CTRL1_WAIT_FOR_TIME

1 when waiting for the port time to be met.

XS1_PORT_CTRL1_WAIT_FOR_TIME_SHIFT#
XS1_PORT_CTRL1_WAIT_FOR_TIME_SIZE#
XS1_PORT_CTRL1_WAIT_FOR_TIME_MASK#
XS1_PORT_CTRL1_WAIT_FOR_TIME(x)#

Extract the PORT_CTRL1_WAIT_FOR_TIME bitfield from a packed word x and return it.

XS1_PORT_CTRL1_WAIT_FOR_TIME_SET(x, v)#

Pack the value (v) of the PORT_CTRL1_WAIT_FOR_TIME bitfield into a packed word x and return the packed field.

PORT_CTRL1_TIMEMET

1 when a SETPT is used.

XS1_PORT_CTRL1_TIMEMET_SHIFT#
XS1_PORT_CTRL1_TIMEMET_SIZE#
XS1_PORT_CTRL1_TIMEMET_MASK#
XS1_PORT_CTRL1_TIMEMET(x)#

Extract the PORT_CTRL1_TIMEMET bitfield from a packed word x and return it.

XS1_PORT_CTRL1_TIMEMET_SET(x, v)#

Pack the value (v) of the PORT_CTRL1_TIMEMET bitfield into a packed word x and return the packed field.

PORT_CTRL1_ENDIN

1 when an ENDIN is used on a BUFFERS port and the tReg was full.

XS1_PORT_CTRL1_ENDIN_SHIFT#
XS1_PORT_CTRL1_ENDIN_SIZE#
XS1_PORT_CTRL1_ENDIN_MASK#
XS1_PORT_CTRL1_ENDIN(x)#

Extract the PORT_CTRL1_ENDIN bitfield from a packed word x and return it.

XS1_PORT_CTRL1_ENDIN_SET(x, v)#

Pack the value (v) of the PORT_CTRL1_ENDIN bitfield into a packed word x and return the packed field.

PORT_CTRL2_TIME

The port time value.

XS1_PORT_CTRL2_TIME_SHIFT#
XS1_PORT_CTRL2_TIME_SIZE#
XS1_PORT_CTRL2_TIME_MASK#
XS1_PORT_CTRL2_TIME(x)#

Extract the PORT_CTRL2_TIME bitfield from a packed word x and return it.

XS1_PORT_CTRL2_TIME_SET(x, v)#

Pack the value (v) of the PORT_CTRL2_TIME bitfield into a packed word x and return the packed field.

PORT_CTRL2_PIN_DELAY

The port pin delay.

XS1_PORT_CTRL2_PIN_DELAY_SHIFT#
XS1_PORT_CTRL2_PIN_DELAY_SIZE#
XS1_PORT_CTRL2_PIN_DELAY_MASK#
XS1_PORT_CTRL2_PIN_DELAY(x)#

Extract the PORT_CTRL2_PIN_DELAY bitfield from a packed word x and return it.

XS1_PORT_CTRL2_PIN_DELAY_SET(x, v)#

Pack the value (v) of the PORT_CTRL2_PIN_DELAY bitfield into a packed word x and return the packed field.

TIMER_CTRL0_INUSE

Returns 1 when it in use, 0 otherwise.

XS1_TIMER_CTRL0_INUSE_SHIFT#
XS1_TIMER_CTRL0_INUSE_SIZE#
XS1_TIMER_CTRL0_INUSE_MASK#
XS1_TIMER_CTRL0_INUSE(x)#

Extract the TIMER_CTRL0_INUSE bitfield from a packed word x and return it.

XS1_TIMER_CTRL0_INUSE_SET(x, v)#

Pack the value (v) of the TIMER_CTRL0_INUSE bitfield into a packed word x and return the packed field.

TIMER_CTRL0_IE_MODE

0 when this timer will cause events, 1 when it will raise interrupts.

It is controlled using the SETC instruction.

XS1_TIMER_CTRL0_IE_MODE_SHIFT#
XS1_TIMER_CTRL0_IE_MODE_SIZE#
XS1_TIMER_CTRL0_IE_MODE_MASK#
XS1_TIMER_CTRL0_IE_MODE(x)#

Extract the TIMER_CTRL0_IE_MODE bitfield from a packed word x and return it.

XS1_TIMER_CTRL0_IE_MODE_SET(x, v)#

Pack the value (v) of the TIMER_CTRL0_IE_MODE bitfield into a packed word x and return the packed field.

TIMER_CTRL0_IE_ENABLED

1 when events or interrupts on this timer are active.

It is set when an EEU is executed. It is cleared when a EDU or CLRE is executed. The EET and EEF will either set or clear the bit depending on the contents of the condition register.

XS1_TIMER_CTRL0_IE_ENABLED_SHIFT#
XS1_TIMER_CTRL0_IE_ENABLED_SIZE#
XS1_TIMER_CTRL0_IE_ENABLED_MASK#
XS1_TIMER_CTRL0_IE_ENABLED(x)#

Extract the TIMER_CTRL0_IE_ENABLED bitfield from a packed word x and return it.

XS1_TIMER_CTRL0_IE_ENABLED_SET(x, v)#

Pack the value (v) of the TIMER_CTRL0_IE_ENABLED bitfield into a packed word x and return the packed field.

TIMER_CTRL0_READY

1 when the condition has been met.

It is cleared when a SETC, SETD, SETV, SETC or IN instruction is executed on the timer. 0 when the timer is not in use.

XS1_TIMER_CTRL0_READY_SHIFT#
XS1_TIMER_CTRL0_READY_SIZE#
XS1_TIMER_CTRL0_READY_MASK#
XS1_TIMER_CTRL0_READY(x)#

Extract the TIMER_CTRL0_READY bitfield from a packed word x and return it.

XS1_TIMER_CTRL0_READY_SET(x, v)#

Pack the value (v) of the TIMER_CTRL0_READY bitfield into a packed word x and return the packed field.

TIMER_CTRL0_COND

Shows the current condition of the timer.

The condition is set using the SETC instruction.

XS1_TIMER_CTRL0_COND_SHIFT#
XS1_TIMER_CTRL0_COND_SIZE#
XS1_TIMER_CTRL0_COND_MASK#
XS1_TIMER_CTRL0_COND(x)#

Extract the TIMER_CTRL0_COND bitfield from a packed word x and return it.

XS1_TIMER_CTRL0_COND_SET(x, v)#

Pack the value (v) of the TIMER_CTRL0_COND bitfield into a packed word x and return the packed field.

TIMER_CTRL0_EV_VALID

1 when the Environment Vector is valid.

When invalid, the resourceId is used as the environment vector. The environment vector is set using the SETEV instruction.

XS1_TIMER_CTRL0_EV_VALID_SHIFT#
XS1_TIMER_CTRL0_EV_VALID_SIZE#
XS1_TIMER_CTRL0_EV_VALID_MASK#
XS1_TIMER_CTRL0_EV_VALID(x)#

Extract the TIMER_CTRL0_EV_VALID bitfield from a packed word x and return it.

XS1_TIMER_CTRL0_EV_VALID_SET(x, v)#

Pack the value (v) of the TIMER_CTRL0_EV_VALID bitfield into a packed word x and return the packed field.

TIMER_CTRL0_T_WAITING

1 when there is a thread waiting to be unblocked by this timer.

XS1_TIMER_CTRL0_T_WAITING_SHIFT#
XS1_TIMER_CTRL0_T_WAITING_SIZE#
XS1_TIMER_CTRL0_T_WAITING_MASK#
XS1_TIMER_CTRL0_T_WAITING(x)#

Extract the TIMER_CTRL0_T_WAITING bitfield from a packed word x and return it.

XS1_TIMER_CTRL0_T_WAITING_SET(x, v)#

Pack the value (v) of the TIMER_CTRL0_T_WAITING bitfield into a packed word x and return the packed field.

TIMER_CTRL0_T_NUM

Number of the thread waiting for events or to be unblocked by this timer.

XS1_TIMER_CTRL0_T_NUM_SHIFT#
XS1_TIMER_CTRL0_T_NUM_SIZE#
XS1_TIMER_CTRL0_T_NUM_MASK#
XS1_TIMER_CTRL0_T_NUM(x)#

Extract the TIMER_CTRL0_T_NUM bitfield from a packed word x and return it.

XS1_TIMER_CTRL0_T_NUM_SET(x, v)#

Pack the value (v) of the TIMER_CTRL0_T_NUM bitfield into a packed word x and return the packed field.

SYNC_CTRL0_INUSE

1 when the synchroniser is in use.

XS1_SYNC_CTRL0_INUSE_SHIFT#
XS1_SYNC_CTRL0_INUSE_SIZE#
XS1_SYNC_CTRL0_INUSE_MASK#
XS1_SYNC_CTRL0_INUSE(x)#

Extract the SYNC_CTRL0_INUSE bitfield from a packed word x and return it.

XS1_SYNC_CTRL0_INUSE_SET(x, v)#

Pack the value (v) of the SYNC_CTRL0_INUSE bitfield into a packed word x and return the packed field.

SYNC_CTRL0_MSYNCED

1 when the master of this synchroniser has msynced on it.

XS1_SYNC_CTRL0_MSYNCED_SHIFT#
XS1_SYNC_CTRL0_MSYNCED_SIZE#
XS1_SYNC_CTRL0_MSYNCED_MASK#
XS1_SYNC_CTRL0_MSYNCED(x)#

Extract the SYNC_CTRL0_MSYNCED bitfield from a packed word x and return it.

XS1_SYNC_CTRL0_MSYNCED_SET(x, v)#

Pack the value (v) of the SYNC_CTRL0_MSYNCED bitfield into a packed word x and return the packed field.

SYNC_CTRL0_JOIN

1 when the synchroniser will free the threads after synchronisation.

0 otherwise.

XS1_SYNC_CTRL0_JOIN_SHIFT#
XS1_SYNC_CTRL0_JOIN_SIZE#
XS1_SYNC_CTRL0_JOIN_MASK#
XS1_SYNC_CTRL0_JOIN(x)#

Extract the SYNC_CTRL0_JOIN bitfield from a packed word x and return it.

XS1_SYNC_CTRL0_JOIN_SET(x, v)#

Pack the value (v) of the SYNC_CTRL0_JOIN bitfield into a packed word x and return the packed field.

SYNC_CTRL0_MASTER

When synchroniser is in use it is the ID of the master thread.

0 when not in use.

XS1_SYNC_CTRL0_MASTER_SHIFT#
XS1_SYNC_CTRL0_MASTER_SIZE#
XS1_SYNC_CTRL0_MASTER_MASK#
XS1_SYNC_CTRL0_MASTER(x)#

Extract the SYNC_CTRL0_MASTER bitfield from a packed word x and return it.

XS1_SYNC_CTRL0_MASTER_SET(x, v)#

Pack the value (v) of the SYNC_CTRL0_MASTER bitfield into a packed word x and return the packed field.

SYNC_TBV0_SLAVES

1 bit for each of the threads.

When 1 indicates that the corresponding thread is attached to the synchroniser.

XS1_SYNC_TBV0_SLAVES_SHIFT#
XS1_SYNC_TBV0_SLAVES_SIZE#
XS1_SYNC_TBV0_SLAVES_MASK#
XS1_SYNC_TBV0_SLAVES(x)#

Extract the SYNC_TBV0_SLAVES bitfield from a packed word x and return it.

XS1_SYNC_TBV0_SLAVES_SET(x, v)#

Pack the value (v) of the SYNC_TBV0_SLAVES bitfield into a packed word x and return the packed field.

LOCK_CTRL0_INUSE

1 when the lock is in use.

XS1_LOCK_CTRL0_INUSE_SHIFT#
XS1_LOCK_CTRL0_INUSE_SIZE#
XS1_LOCK_CTRL0_INUSE_MASK#
XS1_LOCK_CTRL0_INUSE(x)#

Extract the LOCK_CTRL0_INUSE bitfield from a packed word x and return it.

XS1_LOCK_CTRL0_INUSE_SET(x, v)#

Pack the value (v) of the LOCK_CTRL0_INUSE bitfield into a packed word x and return the packed field.

LOCK_CTRL0_OWNT_V

Indicates that the lock’s owner is known.

XS1_LOCK_CTRL0_OWNT_V_SHIFT#
XS1_LOCK_CTRL0_OWNT_V_SIZE#
XS1_LOCK_CTRL0_OWNT_V_MASK#
XS1_LOCK_CTRL0_OWNT_V(x)#

Extract the LOCK_CTRL0_OWNT_V bitfield from a packed word x and return it.

XS1_LOCK_CTRL0_OWNT_V_SET(x, v)#

Pack the value (v) of the LOCK_CTRL0_OWNT_V bitfield into a packed word x and return the packed field.

LOCK_CTRL0_OWNT

When OWNT_V is true then this is the ID of the thread currently holding the lock.

XS1_LOCK_CTRL0_OWNT_SHIFT#
XS1_LOCK_CTRL0_OWNT_SIZE#
XS1_LOCK_CTRL0_OWNT_MASK#
XS1_LOCK_CTRL0_OWNT(x)#

Extract the LOCK_CTRL0_OWNT bitfield from a packed word x and return it.

XS1_LOCK_CTRL0_OWNT_SET(x, v)#

Pack the value (v) of the LOCK_CTRL0_OWNT bitfield into a packed word x and return the packed field.

LOCK_TBV0_WAITING

1 bit for each of the threads.

When 1 indicates that the corresponding thread is waiting for the lock.

XS1_LOCK_TBV0_WAITING_SHIFT#
XS1_LOCK_TBV0_WAITING_SIZE#
XS1_LOCK_TBV0_WAITING_MASK#
XS1_LOCK_TBV0_WAITING(x)#

Extract the LOCK_TBV0_WAITING bitfield from a packed word x and return it.

XS1_LOCK_TBV0_WAITING_SET(x, v)#

Pack the value (v) of the LOCK_TBV0_WAITING bitfield into a packed word x and return the packed field.

MMAP_CTRL0_INUSE

XS1_MMAP_CTRL0_INUSE_SHIFT#
XS1_MMAP_CTRL0_INUSE_SIZE#
XS1_MMAP_CTRL0_INUSE_MASK#
XS1_MMAP_CTRL0_INUSE(x)#

Extract the MMAP_CTRL0_INUSE bitfield from a packed word x and return it.

XS1_MMAP_CTRL0_INUSE_SET(x, v)#

Pack the value (v) of the MMAP_CTRL0_INUSE bitfield into a packed word x and return the packed field.

MMAP_CTRL0_RO

XS1_MMAP_CTRL0_RO_SHIFT#
XS1_MMAP_CTRL0_RO_SIZE#
XS1_MMAP_CTRL0_RO_MASK#
XS1_MMAP_CTRL0_RO(x)#

Extract the MMAP_CTRL0_RO bitfield from a packed word x and return it.

XS1_MMAP_CTRL0_RO_SET(x, v)#

Pack the value (v) of the MMAP_CTRL0_RO bitfield into a packed word x and return the packed field.

MMAP_CTRL0_LOCK

XS1_MMAP_CTRL0_LOCK_SHIFT#
XS1_MMAP_CTRL0_LOCK_SIZE#
XS1_MMAP_CTRL0_LOCK_MASK#
XS1_MMAP_CTRL0_LOCK(x)#

Extract the MMAP_CTRL0_LOCK bitfield from a packed word x and return it.

XS1_MMAP_CTRL0_LOCK_SET(x, v)#

Pack the value (v) of the MMAP_CTRL0_LOCK bitfield into a packed word x and return the packed field.

MMAP_CTRL0_GLOBAL

XS1_MMAP_CTRL0_GLOBAL_SHIFT#
XS1_MMAP_CTRL0_GLOBAL_SIZE#
XS1_MMAP_CTRL0_GLOBAL_MASK#
XS1_MMAP_CTRL0_GLOBAL(x)#

Extract the MMAP_CTRL0_GLOBAL bitfield from a packed word x and return it.

XS1_MMAP_CTRL0_GLOBAL_SET(x, v)#

Pack the value (v) of the MMAP_CTRL0_GLOBAL bitfield into a packed word x and return the packed field.

MMAP_CTRL0_ASID

XS1_MMAP_CTRL0_ASID_SHIFT#
XS1_MMAP_CTRL0_ASID_SIZE#
XS1_MMAP_CTRL0_ASID_MASK#
XS1_MMAP_CTRL0_ASID(x)#

Extract the MMAP_CTRL0_ASID bitfield from a packed word x and return it.

XS1_MMAP_CTRL0_ASID_SET(x, v)#

Pack the value (v) of the MMAP_CTRL0_ASID bitfield into a packed word x and return the packed field.

MMAP_CTRL0_LENGTH

XS1_MMAP_CTRL0_LENGTH_SHIFT#
XS1_MMAP_CTRL0_LENGTH_SIZE#
XS1_MMAP_CTRL0_LENGTH_MASK#
XS1_MMAP_CTRL0_LENGTH(x)#

Extract the MMAP_CTRL0_LENGTH bitfield from a packed word x and return it.

XS1_MMAP_CTRL0_LENGTH_SET(x, v)#

Pack the value (v) of the MMAP_CTRL0_LENGTH bitfield into a packed word x and return the packed field.

MMAP_CTRL0_PHY_ADDR

XS1_MMAP_CTRL0_PHY_ADDR_SHIFT#
XS1_MMAP_CTRL0_PHY_ADDR_SIZE#
XS1_MMAP_CTRL0_PHY_ADDR_MASK#
XS1_MMAP_CTRL0_PHY_ADDR(x)#

Extract the MMAP_CTRL0_PHY_ADDR bitfield from a packed word x and return it.

XS1_MMAP_CTRL0_PHY_ADDR_SET(x, v)#

Pack the value (v) of the MMAP_CTRL0_PHY_ADDR bitfield into a packed word x and return the packed field.

MMAP_CTRL1_THREADS_EN

XS1_MMAP_CTRL1_THREADS_EN_SHIFT#
XS1_MMAP_CTRL1_THREADS_EN_SIZE#
XS1_MMAP_CTRL1_THREADS_EN_MASK#
XS1_MMAP_CTRL1_THREADS_EN(x)#

Extract the MMAP_CTRL1_THREADS_EN bitfield from a packed word x and return it.

XS1_MMAP_CTRL1_THREADS_EN_SET(x, v)#

Pack the value (v) of the MMAP_CTRL1_THREADS_EN bitfield into a packed word x and return the packed field.

MMAP_CTRL1_VIRT_ADDR

XS1_MMAP_CTRL1_VIRT_ADDR_SHIFT#
XS1_MMAP_CTRL1_VIRT_ADDR_SIZE#
XS1_MMAP_CTRL1_VIRT_ADDR_MASK#
XS1_MMAP_CTRL1_VIRT_ADDR(x)#

Extract the MMAP_CTRL1_VIRT_ADDR bitfield from a packed word x and return it.

XS1_MMAP_CTRL1_VIRT_ADDR_SET(x, v)#

Pack the value (v) of the MMAP_CTRL1_VIRT_ADDR bitfield into a packed word x and return the packed field.

MMAP_CTRL2_AGE

XS1_MMAP_CTRL2_AGE_SHIFT#
XS1_MMAP_CTRL2_AGE_SIZE#
XS1_MMAP_CTRL2_AGE_MASK#
XS1_MMAP_CTRL2_AGE(x)#

Extract the MMAP_CTRL2_AGE bitfield from a packed word x and return it.

XS1_MMAP_CTRL2_AGE_SET(x, v)#

Pack the value (v) of the MMAP_CTRL2_AGE bitfield into a packed word x and return the packed field.

MMAP_CTRL2_OWNER

XS1_MMAP_CTRL2_OWNER_SHIFT#
XS1_MMAP_CTRL2_OWNER_SIZE#
XS1_MMAP_CTRL2_OWNER_MASK#
XS1_MMAP_CTRL2_OWNER(x)#

Extract the MMAP_CTRL2_OWNER bitfield from a packed word x and return it.

XS1_MMAP_CTRL2_OWNER_SET(x, v)#

Pack the value (v) of the MMAP_CTRL2_OWNER bitfield into a packed word x and return the packed field.

CHANEND_CTRL0_INUSE

1 when the channel end is in use.

XS1_CHANEND_CTRL0_INUSE_SHIFT#
XS1_CHANEND_CTRL0_INUSE_SIZE#
XS1_CHANEND_CTRL0_INUSE_MASK#
XS1_CHANEND_CTRL0_INUSE(x)#

Extract the CHANEND_CTRL0_INUSE bitfield from a packed word x and return it.

XS1_CHANEND_CTRL0_INUSE_SET(x, v)#

Pack the value (v) of the CHANEND_CTRL0_INUSE bitfield into a packed word x and return the packed field.

CHANEND_CTRL0_IE_MODE

0 when the channel end will cause events, 1 when in use and it will raise interrupts.

XS1_CHANEND_CTRL0_IE_MODE_SHIFT#
XS1_CHANEND_CTRL0_IE_MODE_SIZE#
XS1_CHANEND_CTRL0_IE_MODE_MASK#
XS1_CHANEND_CTRL0_IE_MODE(x)#

Extract the CHANEND_CTRL0_IE_MODE bitfield from a packed word x and return it.

XS1_CHANEND_CTRL0_IE_MODE_SET(x, v)#

Pack the value (v) of the CHANEND_CTRL0_IE_MODE bitfield into a packed word x and return the packed field.

CHANEND_CTRL0_IE_ENABLED

1 when events or interrupts are enabled on the channel end.

XS1_CHANEND_CTRL0_IE_ENABLED_SHIFT#
XS1_CHANEND_CTRL0_IE_ENABLED_SIZE#
XS1_CHANEND_CTRL0_IE_ENABLED_MASK#
XS1_CHANEND_CTRL0_IE_ENABLED(x)#

Extract the CHANEND_CTRL0_IE_ENABLED bitfield from a packed word x and return it.

XS1_CHANEND_CTRL0_IE_ENABLED_SET(x, v)#

Pack the value (v) of the CHANEND_CTRL0_IE_ENABLED bitfield into a packed word x and return the packed field.

CHANEND_CTRL0_IN_READY

1 when in use and there is sufficient data in the channel end for a token to be input by a thread.

XS1_CHANEND_CTRL0_IN_READY_SHIFT#
XS1_CHANEND_CTRL0_IN_READY_SIZE#
XS1_CHANEND_CTRL0_IN_READY_MASK#
XS1_CHANEND_CTRL0_IN_READY(x)#

Extract the CHANEND_CTRL0_IN_READY bitfield from a packed word x and return it.

XS1_CHANEND_CTRL0_IN_READY_SET(x, v)#

Pack the value (v) of the CHANEND_CTRL0_IN_READY bitfield into a packed word x and return the packed field.

CHANEND_CTRL0_IN_WAITING

1 when the input thread is waiting either for data or for an event.

XS1_CHANEND_CTRL0_IN_WAITING_SHIFT#
XS1_CHANEND_CTRL0_IN_WAITING_SIZE#
XS1_CHANEND_CTRL0_IN_WAITING_MASK#
XS1_CHANEND_CTRL0_IN_WAITING(x)#

Extract the CHANEND_CTRL0_IN_WAITING bitfield from a packed word x and return it.

XS1_CHANEND_CTRL0_IN_WAITING_SET(x, v)#

Pack the value (v) of the CHANEND_CTRL0_IN_WAITING bitfield into a packed word x and return the packed field.

CHANEND_CTRL0_OUT_READY

1 when in use and either not connected or there is sufficient room in the target channel end for a token to be ouptut by a thread.

Will be 0 when requesting a link but not yet connected.

XS1_CHANEND_CTRL0_OUT_READY_SHIFT#
XS1_CHANEND_CTRL0_OUT_READY_SIZE#
XS1_CHANEND_CTRL0_OUT_READY_MASK#
XS1_CHANEND_CTRL0_OUT_READY(x)#

Extract the CHANEND_CTRL0_OUT_READY bitfield from a packed word x and return it.

XS1_CHANEND_CTRL0_OUT_READY_SET(x, v)#

Pack the value (v) of the CHANEND_CTRL0_OUT_READY bitfield into a packed word x and return the packed field.

CHANEND_CTRL0_OUT_WAITING

1 when there is a thread waiting to write data to the channel end.

XS1_CHANEND_CTRL0_OUT_WAITING_SHIFT#
XS1_CHANEND_CTRL0_OUT_WAITING_SIZE#
XS1_CHANEND_CTRL0_OUT_WAITING_MASK#
XS1_CHANEND_CTRL0_OUT_WAITING(x)#

Extract the CHANEND_CTRL0_OUT_WAITING bitfield from a packed word x and return it.

XS1_CHANEND_CTRL0_OUT_WAITING_SET(x, v)#

Pack the value (v) of the CHANEND_CTRL0_OUT_WAITING bitfield into a packed word x and return the packed field.

CHANEND_CTRL0_EV_VALID

1 when the Environment Vector is valid.

When invalid, the resourceId is used as the environment vector. The environment vector is set using the SETEV instruction.

XS1_CHANEND_CTRL0_EV_VALID_SHIFT#
XS1_CHANEND_CTRL0_EV_VALID_SIZE#
XS1_CHANEND_CTRL0_EV_VALID_MASK#
XS1_CHANEND_CTRL0_EV_VALID(x)#

Extract the CHANEND_CTRL0_EV_VALID bitfield from a packed word x and return it.

XS1_CHANEND_CTRL0_EV_VALID_SET(x, v)#

Pack the value (v) of the CHANEND_CTRL0_EV_VALID bitfield into a packed word x and return the packed field.

CHANEND_CTRL0_IN_T_NUM

Number of the input thread waiting for data or an event on this channel end.

XS1_CHANEND_CTRL0_IN_T_NUM_SHIFT#
XS1_CHANEND_CTRL0_IN_T_NUM_SIZE#
XS1_CHANEND_CTRL0_IN_T_NUM_MASK#
XS1_CHANEND_CTRL0_IN_T_NUM(x)#

Extract the CHANEND_CTRL0_IN_T_NUM bitfield from a packed word x and return it.

XS1_CHANEND_CTRL0_IN_T_NUM_SET(x, v)#

Pack the value (v) of the CHANEND_CTRL0_IN_T_NUM bitfield into a packed word x and return the packed field.

CHANEND_CTRL0_OUT_T_NUM

Number of the last thread to attempt to write data to this channel end.

XS1_CHANEND_CTRL0_OUT_T_NUM_SHIFT#
XS1_CHANEND_CTRL0_OUT_T_NUM_SIZE#
XS1_CHANEND_CTRL0_OUT_T_NUM_MASK#
XS1_CHANEND_CTRL0_OUT_T_NUM(x)#

Extract the CHANEND_CTRL0_OUT_T_NUM bitfield from a packed word x and return it.

XS1_CHANEND_CTRL0_OUT_T_NUM_SET(x, v)#

Pack the value (v) of the CHANEND_CTRL0_OUT_T_NUM bitfield into a packed word x and return the packed field.

CLKBLK_CTRL0_INUSE

1 when the clock source is in use.

XS1_CLKBLK_CTRL0_INUSE_SHIFT#
XS1_CLKBLK_CTRL0_INUSE_SIZE#
XS1_CLKBLK_CTRL0_INUSE_MASK#
XS1_CLKBLK_CTRL0_INUSE(x)#

Extract the CLKBLK_CTRL0_INUSE bitfield from a packed word x and return it.

XS1_CLKBLK_CTRL0_INUSE_SET(x, v)#

Pack the value (v) of the CLKBLK_CTRL0_INUSE bitfield into a packed word x and return the packed field.

CLKBLK_CTRL0_STARTED

1 when the clock source has been started.

XS1_CLKBLK_CTRL0_STARTED_SHIFT#
XS1_CLKBLK_CTRL0_STARTED_SIZE#
XS1_CLKBLK_CTRL0_STARTED_MASK#
XS1_CLKBLK_CTRL0_STARTED(x)#

Extract the CLKBLK_CTRL0_STARTED bitfield from a packed word x and return it.

XS1_CLKBLK_CTRL0_STARTED_SET(x, v)#

Pack the value (v) of the CLKBLK_CTRL0_STARTED bitfield into a packed word x and return the packed field.

CLKBLK_CTRL0_STOPPING

1 when the clock source is in the process of stopping.

XS1_CLKBLK_CTRL0_STOPPING_SHIFT#
XS1_CLKBLK_CTRL0_STOPPING_SIZE#
XS1_CLKBLK_CTRL0_STOPPING_MASK#
XS1_CLKBLK_CTRL0_STOPPING(x)#

Extract the CLKBLK_CTRL0_STOPPING bitfield from a packed word x and return it.

XS1_CLKBLK_CTRL0_STOPPING_SET(x, v)#

Pack the value (v) of the CLKBLK_CTRL0_STOPPING bitfield into a packed word x and return the packed field.

CLKBLK_CTRL0_T_WAITING

1 when there is a thread waiting for synchronisation with the clock block.

XS1_CLKBLK_CTRL0_T_WAITING_SHIFT#
XS1_CLKBLK_CTRL0_T_WAITING_SIZE#
XS1_CLKBLK_CTRL0_T_WAITING_MASK#
XS1_CLKBLK_CTRL0_T_WAITING(x)#

Extract the CLKBLK_CTRL0_T_WAITING bitfield from a packed word x and return it.

XS1_CLKBLK_CTRL0_T_WAITING_SET(x, v)#

Pack the value (v) of the CLKBLK_CTRL0_T_WAITING bitfield into a packed word x and return the packed field.

CLKBLK_CTRL0_T_NUM

Number of the thread waiting for the clock block.

XS1_CLKBLK_CTRL0_T_NUM_SHIFT#
XS1_CLKBLK_CTRL0_T_NUM_SIZE#
XS1_CLKBLK_CTRL0_T_NUM_MASK#
XS1_CLKBLK_CTRL0_T_NUM(x)#

Extract the CLKBLK_CTRL0_T_NUM bitfield from a packed word x and return it.

XS1_CLKBLK_CTRL0_T_NUM_SET(x, v)#

Pack the value (v) of the CLKBLK_CTRL0_T_NUM bitfield into a packed word x and return the packed field.

CLKBLK_CTRL1_FALL_DELAY

Falling edge delay counter.

XS1_CLKBLK_CTRL1_FALL_DELAY_SHIFT#
XS1_CLKBLK_CTRL1_FALL_DELAY_SIZE#
XS1_CLKBLK_CTRL1_FALL_DELAY_MASK#
XS1_CLKBLK_CTRL1_FALL_DELAY(x)#

Extract the CLKBLK_CTRL1_FALL_DELAY bitfield from a packed word x and return it.

XS1_CLKBLK_CTRL1_FALL_DELAY_SET(x, v)#

Pack the value (v) of the CLKBLK_CTRL1_FALL_DELAY bitfield into a packed word x and return the packed field.

CLKBLK_CTRL1_RISE_DELAY

Rising edge delay counter.

XS1_CLKBLK_CTRL1_RISE_DELAY_SHIFT#
XS1_CLKBLK_CTRL1_RISE_DELAY_SIZE#
XS1_CLKBLK_CTRL1_RISE_DELAY_MASK#
XS1_CLKBLK_CTRL1_RISE_DELAY(x)#

Extract the CLKBLK_CTRL1_RISE_DELAY bitfield from a packed word x and return it.

XS1_CLKBLK_CTRL1_RISE_DELAY_SET(x, v)#

Pack the value (v) of the CLKBLK_CTRL1_RISE_DELAY bitfield into a packed word x and return the packed field.

COPROC_CTRL0_INUSE

1 when the coprocessor is in use.

XS1_COPROC_CTRL0_INUSE_SHIFT#
XS1_COPROC_CTRL0_INUSE_SIZE#
XS1_COPROC_CTRL0_INUSE_MASK#
XS1_COPROC_CTRL0_INUSE(x)#

Extract the COPROC_CTRL0_INUSE bitfield from a packed word x and return it.

XS1_COPROC_CTRL0_INUSE_SET(x, v)#

Pack the value (v) of the COPROC_CTRL0_INUSE bitfield into a packed word x and return the packed field.

COPROC_CTRL0_OWNT_V

Indicates that the coprocessor’s owner is known.

XS1_COPROC_CTRL0_OWNT_V_SHIFT#
XS1_COPROC_CTRL0_OWNT_V_SIZE#
XS1_COPROC_CTRL0_OWNT_V_MASK#
XS1_COPROC_CTRL0_OWNT_V(x)#

Extract the COPROC_CTRL0_OWNT_V bitfield from a packed word x and return it.

XS1_COPROC_CTRL0_OWNT_V_SET(x, v)#

Pack the value (v) of the COPROC_CTRL0_OWNT_V bitfield into a packed word x and return the packed field.

COPROC_CTRL0_OWNT

When OWNT_V is true then this is the ID of the thread currently using the coprocessor.

XS1_COPROC_CTRL0_OWNT_SHIFT#
XS1_COPROC_CTRL0_OWNT_SIZE#
XS1_COPROC_CTRL0_OWNT_MASK#
XS1_COPROC_CTRL0_OWNT(x)#

Extract the COPROC_CTRL0_OWNT bitfield from a packed word x and return it.

XS1_COPROC_CTRL0_OWNT_SET(x, v)#

Pack the value (v) of the COPROC_CTRL0_OWNT bitfield into a packed word x and return the packed field.

COPROC_TBV0_WAITING

1 bit for each of the threads.

When 1 indicates that the corresponding thread is waiting for the coprocessor.

XS1_COPROC_TBV0_WAITING_SHIFT#
XS1_COPROC_TBV0_WAITING_SIZE#
XS1_COPROC_TBV0_WAITING_MASK#
XS1_COPROC_TBV0_WAITING(x)#

Extract the COPROC_TBV0_WAITING bitfield from a packed word x and return it.

XS1_COPROC_TBV0_WAITING_SET(x, v)#

Pack the value (v) of the COPROC_TBV0_WAITING bitfield into a packed word x and return the packed field.

RES_ID_TYPE

The type of a resource.

XS1_RES_ID_TYPE_SHIFT#
XS1_RES_ID_TYPE_SIZE#
XS1_RES_ID_TYPE_MASK#
XS1_RES_ID_TYPE(x)#

Extract the RES_ID_TYPE bitfield from a packed word x and return it.

XS1_RES_ID_TYPE_SET(x, v)#

Pack the value (v) of the RES_ID_TYPE bitfield into a packed word x and return the packed field.

RES_ID_REGID

The register ID for resource GETPS / SETPS accesses.

Must be 0 otherwise.

XS1_RES_ID_REGID_SHIFT#
XS1_RES_ID_REGID_SIZE#
XS1_RES_ID_REGID_MASK#
XS1_RES_ID_REGID(x)#

Extract the RES_ID_REGID bitfield from a packed word x and return it.

XS1_RES_ID_REGID_SET(x, v)#

Pack the value (v) of the RES_ID_REGID bitfield into a packed word x and return the packed field.

RES_ID_RESNUM

The resource number of a resource.

XS1_RES_ID_RESNUM_SHIFT#
XS1_RES_ID_RESNUM_SIZE#
XS1_RES_ID_RESNUM_MASK#
XS1_RES_ID_RESNUM(x)#

Extract the RES_ID_RESNUM bitfield from a packed word x and return it.

XS1_RES_ID_RESNUM_SET(x, v)#

Pack the value (v) of the RES_ID_RESNUM bitfield into a packed word x and return the packed field.

RES_ID_PORTWIDTH

The size of a port - zero for all resources which are not ports.

XS1_RES_ID_PORTWIDTH_SHIFT#
XS1_RES_ID_PORTWIDTH_SIZE#
XS1_RES_ID_PORTWIDTH_MASK#
XS1_RES_ID_PORTWIDTH(x)#

Extract the RES_ID_PORTWIDTH bitfield from a packed word x and return it.

XS1_RES_ID_PORTWIDTH_SET(x, v)#

Pack the value (v) of the RES_ID_PORTWIDTH bitfield into a packed word x and return the packed field.

CHAN_ID_CHANNUM

The channel end number.

XS1_CHAN_ID_CHANNUM_SHIFT#
XS1_CHAN_ID_CHANNUM_SIZE#
XS1_CHAN_ID_CHANNUM_MASK#
XS1_CHAN_ID_CHANNUM(x)#

Extract the CHAN_ID_CHANNUM bitfield from a packed word x and return it.

XS1_CHAN_ID_CHANNUM_SET(x, v)#

Pack the value (v) of the CHAN_ID_CHANNUM bitfield into a packed word x and return the packed field.

CHAN_ID_PROCESSOR

The processor to which this resource belongs.

XS1_CHAN_ID_PROCESSOR_SHIFT#
XS1_CHAN_ID_PROCESSOR_SIZE#
XS1_CHAN_ID_PROCESSOR_MASK#
XS1_CHAN_ID_PROCESSOR(x)#

Extract the CHAN_ID_PROCESSOR bitfield from a packed word x and return it.

XS1_CHAN_ID_PROCESSOR_SET(x, v)#

Pack the value (v) of the CHAN_ID_PROCESSOR bitfield into a packed word x and return the packed field.

CHAN_ID_NODE

The node in which this resource is found.

XS1_CHAN_ID_NODE_SHIFT#
XS1_CHAN_ID_NODE_SIZE#
XS1_CHAN_ID_NODE_MASK#
XS1_CHAN_ID_NODE(x)#

Extract the CHAN_ID_NODE bitfield from a packed word x and return it.

XS1_CHAN_ID_NODE_SET(x, v)#

Pack the value (v) of the CHAN_ID_NODE bitfield into a packed word x and return the packed field.

HEADER_1BYTE_CHANNUM

The channel end number.

XS1_HEADER_1BYTE_CHANNUM_SHIFT#
XS1_HEADER_1BYTE_CHANNUM_SIZE#
XS1_HEADER_1BYTE_CHANNUM_MASK#
XS1_HEADER_1BYTE_CHANNUM(x)#

Extract the HEADER_1BYTE_CHANNUM bitfield from a packed word x and return it.

XS1_HEADER_1BYTE_CHANNUM_SET(x, v)#

Pack the value (v) of the HEADER_1BYTE_CHANNUM bitfield into a packed word x and return the packed field.

HEADER_1BYTE_PROCESSOR

The processor to which this resource belongs.

XS1_HEADER_1BYTE_PROCESSOR_SHIFT#
XS1_HEADER_1BYTE_PROCESSOR_SIZE#
XS1_HEADER_1BYTE_PROCESSOR_MASK#
XS1_HEADER_1BYTE_PROCESSOR(x)#

Extract the HEADER_1BYTE_PROCESSOR bitfield from a packed word x and return it.

XS1_HEADER_1BYTE_PROCESSOR_SET(x, v)#

Pack the value (v) of the HEADER_1BYTE_PROCESSOR bitfield into a packed word x and return the packed field.

HEADER_1BYTE_NODE

The node in which this resource is found.

XS1_HEADER_1BYTE_NODE_SHIFT#
XS1_HEADER_1BYTE_NODE_SIZE#
XS1_HEADER_1BYTE_NODE_MASK#
XS1_HEADER_1BYTE_NODE(x)#

Extract the HEADER_1BYTE_NODE bitfield from a packed word x and return it.

XS1_HEADER_1BYTE_NODE_SET(x, v)#

Pack the value (v) of the HEADER_1BYTE_NODE bitfield into a packed word x and return the packed field.

HEADER_3BYTE_CHANNUM

The channel end number.

XS1_HEADER_3BYTE_CHANNUM_SHIFT#
XS1_HEADER_3BYTE_CHANNUM_SIZE#
XS1_HEADER_3BYTE_CHANNUM_MASK#
XS1_HEADER_3BYTE_CHANNUM(x)#

Extract the HEADER_3BYTE_CHANNUM bitfield from a packed word x and return it.

XS1_HEADER_3BYTE_CHANNUM_SET(x, v)#

Pack the value (v) of the HEADER_3BYTE_CHANNUM bitfield into a packed word x and return the packed field.

HEADER_3BYTE_PROCESSOR

The processor to which this resource belongs.

XS1_HEADER_3BYTE_PROCESSOR_SHIFT#
XS1_HEADER_3BYTE_PROCESSOR_SIZE#
XS1_HEADER_3BYTE_PROCESSOR_MASK#
XS1_HEADER_3BYTE_PROCESSOR(x)#

Extract the HEADER_3BYTE_PROCESSOR bitfield from a packed word x and return it.

XS1_HEADER_3BYTE_PROCESSOR_SET(x, v)#

Pack the value (v) of the HEADER_3BYTE_PROCESSOR bitfield into a packed word x and return the packed field.

HEADER_3BYTE_NODE

The node in which this resource is found.

XS1_HEADER_3BYTE_NODE_SHIFT#
XS1_HEADER_3BYTE_NODE_SIZE#
XS1_HEADER_3BYTE_NODE_MASK#
XS1_HEADER_3BYTE_NODE(x)#

Extract the HEADER_3BYTE_NODE bitfield from a packed word x and return it.

XS1_HEADER_3BYTE_NODE_SET(x, v)#

Pack the value (v) of the HEADER_3BYTE_NODE bitfield into a packed word x and return the packed field.

SETCTRL_MODE

Select mode to change.

XS1_SETC_MODE_SHIFT#
XS1_SETC_MODE_SIZE#
XS1_SETC_MODE_MASK#
XS1_SETC_MODE(x)#

Extract the SETCTRL_MODE bitfield from a packed word x and return it.

XS1_SETC_MODE_SET(x, v)#

Pack the value (v) of the SETCTRL_MODE bitfield into a packed word x and return the packed field.

SETCTRL_VALUE

Value for mode change.

XS1_SETC_VALUE_SHIFT#
XS1_SETC_VALUE_SIZE#
XS1_SETC_VALUE_MASK#
XS1_SETC_VALUE(x)#

Extract the SETCTRL_VALUE bitfield from a packed word x and return it.

XS1_SETC_VALUE_SET(x, v)#

Pack the value (v) of the SETCTRL_VALUE bitfield into a packed word x and return the packed field.

SETCTRL_LMODE

Long mode bits.

XS1_SETC_LMODE_SHIFT#
XS1_SETC_LMODE_SIZE#
XS1_SETC_LMODE_MASK#
XS1_SETC_LMODE(x)#

Extract the SETCTRL_LMODE bitfield from a packed word x and return it.

XS1_SETC_LMODE_SET(x, v)#

Pack the value (v) of the SETCTRL_LMODE bitfield into a packed word x and return the packed field.

MMAPCTRL_MODE

Select mode to change.

XS1_SETC_MMAP_MODE_SHIFT#
XS1_SETC_MMAP_MODE_SIZE#
XS1_SETC_MMAP_MODE_MASK#
XS1_SETC_MMAP_MODE(x)#

Extract the MMAPCTRL_MODE bitfield from a packed word x and return it.

XS1_SETC_MMAP_MODE_SET(x, v)#

Pack the value (v) of the MMAPCTRL_MODE bitfield into a packed word x and return the packed field.

MMAPCTRL_VALUE

Value for mode change.

XS1_SETC_MMAP_VALUE_SHIFT#
XS1_SETC_MMAP_VALUE_SIZE#
XS1_SETC_MMAP_VALUE_MASK#
XS1_SETC_MMAP_VALUE(x)#

Extract the MMAPCTRL_VALUE bitfield from a packed word x and return it.

XS1_SETC_MMAP_VALUE_SET(x, v)#

Pack the value (v) of the MMAPCTRL_VALUE bitfield into a packed word x and return the packed field.

DBG_INT_REQ_DBG

Request a debug interrupt on the processor.

XS1_DBG_INT_REQ_DBG_SHIFT#
XS1_DBG_INT_REQ_DBG_SIZE#
XS1_DBG_INT_REQ_DBG_MASK#
XS1_DBG_INT_REQ_DBG(x)#

Extract the DBG_INT_REQ_DBG bitfield from a packed word x and return it.

XS1_DBG_INT_REQ_DBG_SET(x, v)#

Pack the value (v) of the DBG_INT_REQ_DBG bitfield into a packed word x and return the packed field.

DBG_INT_IN_DBG

1 when the processor is in debug mode.

XS1_DBG_INT_IN_DBG_SHIFT#
XS1_DBG_INT_IN_DBG_SIZE#
XS1_DBG_INT_IN_DBG_MASK#
XS1_DBG_INT_IN_DBG(x)#

Extract the DBG_INT_IN_DBG bitfield from a packed word x and return it.

XS1_DBG_INT_IN_DBG_SET(x, v)#

Pack the value (v) of the DBG_INT_IN_DBG bitfield into a packed word x and return the packed field.

DBG_CTRL_PSWITCH_RO_EXT

When 1 the PSwitch is restricted to RO access to all CRW registers from SSwitch

XS1_DBG_CTRL_PSWITCH_RO_EXT_SHIFT#
XS1_DBG_CTRL_PSWITCH_RO_EXT_SIZE#
XS1_DBG_CTRL_PSWITCH_RO_EXT_MASK#
XS1_DBG_CTRL_PSWITCH_RO_EXT(x)#

Extract the DBG_CTRL_PSWITCH_RO_EXT bitfield from a packed word x and return it.

XS1_DBG_CTRL_PSWITCH_RO_EXT_SET(x, v)#

Pack the value (v) of the DBG_CTRL_PSWITCH_RO_EXT bitfield into a packed word x and return the packed field.

DBG_CTRL_PSWITCH_RO

When 1 the PSwitch is restricted to RO access to all CRW registers from SSwitch, XCore(PS_DBG_Scratch) and JTAG

XS1_DBG_CTRL_PSWITCH_RO_SHIFT#
XS1_DBG_CTRL_PSWITCH_RO_SIZE#
XS1_DBG_CTRL_PSWITCH_RO_MASK#
XS1_DBG_CTRL_PSWITCH_RO(x)#

Extract the DBG_CTRL_PSWITCH_RO bitfield from a packed word x and return it.

XS1_DBG_CTRL_PSWITCH_RO_SET(x, v)#

Pack the value (v) of the DBG_CTRL_PSWITCH_RO bitfield into a packed word x and return the packed field.

DEVICE_ID0_VERSION

XCore version.

XS1_DEVICE_ID0_VERSION_SHIFT#
XS1_DEVICE_ID0_VERSION_SIZE#
XS1_DEVICE_ID0_VERSION_MASK#
XS1_DEVICE_ID0_VERSION(x)#

Extract the DEVICE_ID0_VERSION bitfield from a packed word x and return it.

XS1_DEVICE_ID0_VERSION_SET(x, v)#

Pack the value (v) of the DEVICE_ID0_VERSION bitfield into a packed word x and return the packed field.

DEVICE_ID0_REVISION

XCore revision.

XS1_DEVICE_ID0_REVISION_SHIFT#
XS1_DEVICE_ID0_REVISION_SIZE#
XS1_DEVICE_ID0_REVISION_MASK#
XS1_DEVICE_ID0_REVISION(x)#

Extract the DEVICE_ID0_REVISION bitfield from a packed word x and return it.

XS1_DEVICE_ID0_REVISION_SET(x, v)#

Pack the value (v) of the DEVICE_ID0_REVISION bitfield into a packed word x and return the packed field.

DEVICE_ID0_NODE

Number of the node in which this XCore is located.

XS1_DEVICE_ID0_NODE_SHIFT#
XS1_DEVICE_ID0_NODE_SIZE#
XS1_DEVICE_ID0_NODE_MASK#
XS1_DEVICE_ID0_NODE(x)#

Extract the DEVICE_ID0_NODE bitfield from a packed word x and return it.

XS1_DEVICE_ID0_NODE_SET(x, v)#

Pack the value (v) of the DEVICE_ID0_NODE bitfield into a packed word x and return the packed field.

DEVICE_ID0_PID

Processor ID of this XCore.

XS1_DEVICE_ID0_PID_SHIFT#
XS1_DEVICE_ID0_PID_SIZE#
XS1_DEVICE_ID0_PID_MASK#
XS1_DEVICE_ID0_PID(x)#

Extract the DEVICE_ID0_PID bitfield from a packed word x and return it.

XS1_DEVICE_ID0_PID_SET(x, v)#

Pack the value (v) of the DEVICE_ID0_PID bitfield into a packed word x and return the packed field.

DEVICE_ID1_NUM_THREADS

Number of threads.

XS1_DEVICE_ID1_NUM_THREADS_SHIFT#
XS1_DEVICE_ID1_NUM_THREADS_SIZE#
XS1_DEVICE_ID1_NUM_THREADS_MASK#
XS1_DEVICE_ID1_NUM_THREADS(x)#

Extract the DEVICE_ID1_NUM_THREADS bitfield from a packed word x and return it.

XS1_DEVICE_ID1_NUM_THREADS_SET(x, v)#

Pack the value (v) of the DEVICE_ID1_NUM_THREADS bitfield into a packed word x and return the packed field.

DEVICE_ID1_NUM_SYNCS

Number of synchronisers.

XS1_DEVICE_ID1_NUM_SYNCS_SHIFT#
XS1_DEVICE_ID1_NUM_SYNCS_SIZE#
XS1_DEVICE_ID1_NUM_SYNCS_MASK#
XS1_DEVICE_ID1_NUM_SYNCS(x)#

Extract the DEVICE_ID1_NUM_SYNCS bitfield from a packed word x and return it.

XS1_DEVICE_ID1_NUM_SYNCS_SET(x, v)#

Pack the value (v) of the DEVICE_ID1_NUM_SYNCS bitfield into a packed word x and return the packed field.

DEVICE_ID1_NUM_LOCKS

Number of the locks.

XS1_DEVICE_ID1_NUM_LOCKS_SHIFT#
XS1_DEVICE_ID1_NUM_LOCKS_SIZE#
XS1_DEVICE_ID1_NUM_LOCKS_MASK#
XS1_DEVICE_ID1_NUM_LOCKS(x)#

Extract the DEVICE_ID1_NUM_LOCKS bitfield from a packed word x and return it.

XS1_DEVICE_ID1_NUM_LOCKS_SET(x, v)#

Pack the value (v) of the DEVICE_ID1_NUM_LOCKS bitfield into a packed word x and return the packed field.

DEVICE_ID1_NUM_CHANENDS

Number of channel ends.

XS1_DEVICE_ID1_NUM_CHANENDS_SHIFT#
XS1_DEVICE_ID1_NUM_CHANENDS_SIZE#
XS1_DEVICE_ID1_NUM_CHANENDS_MASK#
XS1_DEVICE_ID1_NUM_CHANENDS(x)#

Extract the DEVICE_ID1_NUM_CHANENDS bitfield from a packed word x and return it.

XS1_DEVICE_ID1_NUM_CHANENDS_SET(x, v)#

Pack the value (v) of the DEVICE_ID1_NUM_CHANENDS bitfield into a packed word x and return the packed field.

DEVICE_ID2_NUM_TIMERS

Number of timers.

XS1_DEVICE_ID2_NUM_TIMERS_SHIFT#
XS1_DEVICE_ID2_NUM_TIMERS_SIZE#
XS1_DEVICE_ID2_NUM_TIMERS_MASK#
XS1_DEVICE_ID2_NUM_TIMERS(x)#

Extract the DEVICE_ID2_NUM_TIMERS bitfield from a packed word x and return it.

XS1_DEVICE_ID2_NUM_TIMERS_SET(x, v)#

Pack the value (v) of the DEVICE_ID2_NUM_TIMERS bitfield into a packed word x and return the packed field.

DEVICE_ID2_NUM_CLKBLKS

Number of clock blocks.

XS1_DEVICE_ID2_NUM_CLKBLKS_SHIFT#
XS1_DEVICE_ID2_NUM_CLKBLKS_SIZE#
XS1_DEVICE_ID2_NUM_CLKBLKS_MASK#
XS1_DEVICE_ID2_NUM_CLKBLKS(x)#

Extract the DEVICE_ID2_NUM_CLKBLKS bitfield from a packed word x and return it.

XS1_DEVICE_ID2_NUM_CLKBLKS_SET(x, v)#

Pack the value (v) of the DEVICE_ID2_NUM_CLKBLKS bitfield into a packed word x and return the packed field.

JUNK

1 when the current packet is considered junk and will be thrown away.

XS1_JUNK_SHIFT#
XS1_JUNK_SIZE#
XS1_JUNK_MASK#
XS1_JUNK(x)#

Extract the JUNK bitfield from a packed word x and return it.

XS1_JUNK_SET(x, v)#

Pack the value (v) of the JUNK bitfield into a packed word x and return the packed field.

NETWORK

Network ID for the PLink.

XS1_NETWORK_SHIFT#
XS1_NETWORK_SIZE#
XS1_NETWORK_MASK#
XS1_NETWORK(x)#

Extract the NETWORK bitfield from a packed word x and return it.

XS1_NETWORK_SET(x, v)#

Pack the value (v) of the NETWORK bitfield into a packed word x and return the packed field.

SRC_TARGET_ID

Based on SRC_TARGET_TYPE value, it represents channelEnd ID or Idle status.

XS1_SRC_TARGET_ID_SHIFT#
XS1_SRC_TARGET_ID_SIZE#
XS1_SRC_TARGET_ID_MASK#
XS1_SRC_TARGET_ID(x)#

Extract the SRC_TARGET_ID bitfield from a packed word x and return it.

XS1_SRC_TARGET_ID_SET(x, v)#

Pack the value (v) of the SRC_TARGET_ID bitfield into a packed word x and return the packed field.

SRC_TARGET_TYPE

00 - ChannelEnd, 01 - ERROR, 10 - PSCTL, 11 - Idle.

XS1_SRC_TARGET_TYPE_SHIFT#
XS1_SRC_TARGET_TYPE_SIZE#
XS1_SRC_TARGET_TYPE_MASK#
XS1_SRC_TARGET_TYPE(x)#

Extract the SRC_TARGET_TYPE bitfield from a packed word x and return it.

XS1_SRC_TARGET_TYPE_SET(x, v)#

Pack the value (v) of the SRC_TARGET_TYPE bitfield into a packed word x and return the packed field.

SS_DEVICE_ID0_VERSION

SSwitch version.

XS1_SS_DEVICE_ID0_VERSION_SHIFT#
XS1_SS_DEVICE_ID0_VERSION_SIZE#
XS1_SS_DEVICE_ID0_VERSION_MASK#
XS1_SS_DEVICE_ID0_VERSION(x)#

Extract the SS_DEVICE_ID0_VERSION bitfield from a packed word x and return it.

XS1_SS_DEVICE_ID0_VERSION_SET(x, v)#

Pack the value (v) of the SS_DEVICE_ID0_VERSION bitfield into a packed word x and return the packed field.

SS_DEVICE_ID0_REVISION

SSwitch revision.

XS1_SS_DEVICE_ID0_REVISION_SHIFT#
XS1_SS_DEVICE_ID0_REVISION_SIZE#
XS1_SS_DEVICE_ID0_REVISION_MASK#
XS1_SS_DEVICE_ID0_REVISION(x)#

Extract the SS_DEVICE_ID0_REVISION bitfield from a packed word x and return it.

XS1_SS_DEVICE_ID0_REVISION_SET(x, v)#

Pack the value (v) of the SS_DEVICE_ID0_REVISION bitfield into a packed word x and return the packed field.

SS_DEVICE_ID0_BOOT_CTRL

Sampled values of BootCtl pins on Power On Reset.

XS1_SS_DEVICE_ID0_BOOT_CTRL_SHIFT#
XS1_SS_DEVICE_ID0_BOOT_CTRL_SIZE#
XS1_SS_DEVICE_ID0_BOOT_CTRL_MASK#
XS1_SS_DEVICE_ID0_BOOT_CTRL(x)#

Extract the SS_DEVICE_ID0_BOOT_CTRL bitfield from a packed word x and return it.

XS1_SS_DEVICE_ID0_BOOT_CTRL_SET(x, v)#

Pack the value (v) of the SS_DEVICE_ID0_BOOT_CTRL bitfield into a packed word x and return the packed field.

Number of processors on the device.

Extract the SS_DEVICE_ID1_NUM_PLINKS_PER_PROC bitfield from a packed word x and return it.

Pack the value (v) of the SS_DEVICE_ID1_NUM_PLINKS_PER_PROC bitfield into a packed word x and return the packed field.

SS_DEVICE_ID1_NUM_PROCESSORS

Number of processors on the SSwitch.

XS1_SS_DEVICE_ID1_NUM_PROCESSORS_SHIFT#
XS1_SS_DEVICE_ID1_NUM_PROCESSORS_SIZE#
XS1_SS_DEVICE_ID1_NUM_PROCESSORS_MASK#
XS1_SS_DEVICE_ID1_NUM_PROCESSORS(x)#

Extract the SS_DEVICE_ID1_NUM_PROCESSORS bitfield from a packed word x and return it.

XS1_SS_DEVICE_ID1_NUM_PROCESSORS_SET(x, v)#

Pack the value (v) of the SS_DEVICE_ID1_NUM_PROCESSORS bitfield into a packed word x and return the packed field.

Number of SLinks on the SSwitch.

Extract the SS_DEVICE_ID1_NUM_SLINKS bitfield from a packed word x and return it.

Pack the value (v) of the SS_DEVICE_ID1_NUM_SLINKS bitfield into a packed word x and return the packed field.

SS_NODE_CONFIG_HEADERS

0 = 2-byte headers, 1 = 1-byte headers (reset as 0).

XS1_SS_NODE_CONFIG_HEADERS_SHIFT#
XS1_SS_NODE_CONFIG_HEADERS_SIZE#
XS1_SS_NODE_CONFIG_HEADERS_MASK#
XS1_SS_NODE_CONFIG_HEADERS(x)#

Extract the SS_NODE_CONFIG_HEADERS bitfield from a packed word x and return it.

XS1_SS_NODE_CONFIG_HEADERS_SET(x, v)#

Pack the value (v) of the SS_NODE_CONFIG_HEADERS bitfield into a packed word x and return the packed field.

SS_NODE_CONFIG_DISABLE_PLL_CTL_REG

0 = PLL_CTL_REG has write access.

1 = PLL_CTL_REG can not be written to.

XS1_SS_NODE_CONFIG_DISABLE_PLL_CTL_REG_SHIFT#
XS1_SS_NODE_CONFIG_DISABLE_PLL_CTL_REG_SIZE#
XS1_SS_NODE_CONFIG_DISABLE_PLL_CTL_REG_MASK#
XS1_SS_NODE_CONFIG_DISABLE_PLL_CTL_REG(x)#

Extract the SS_NODE_CONFIG_DISABLE_PLL_CTL_REG bitfield from a packed word x and return it.

XS1_SS_NODE_CONFIG_DISABLE_PLL_CTL_REG_SET(x, v)#

Pack the value (v) of the SS_NODE_CONFIG_DISABLE_PLL_CTL_REG bitfield into a packed word x and return the packed field.

SS_NODE_CONFIG_DISABLE_SSCTL_UPDATE

0 = SSCTL registers have write access.

1 = SSCTL registers can not be written to.

XS1_SS_NODE_CONFIG_DISABLE_SSCTL_UPDATE_SHIFT#
XS1_SS_NODE_CONFIG_DISABLE_SSCTL_UPDATE_SIZE#
XS1_SS_NODE_CONFIG_DISABLE_SSCTL_UPDATE_MASK#
XS1_SS_NODE_CONFIG_DISABLE_SSCTL_UPDATE(x)#

Extract the SS_NODE_CONFIG_DISABLE_SSCTL_UPDATE bitfield from a packed word x and return it.

XS1_SS_NODE_CONFIG_DISABLE_SSCTL_UPDATE_SET(x, v)#

Pack the value (v) of the SS_NODE_CONFIG_DISABLE_SSCTL_UPDATE bitfield into a packed word x and return the packed field.

SS_NODE_ID_ID

The unique ID of this node.

XS1_SS_NODE_ID_ID_SHIFT#
XS1_SS_NODE_ID_ID_SIZE#
XS1_SS_NODE_ID_ID_MASK#
XS1_SS_NODE_ID_ID(x)#

Extract the SS_NODE_ID_ID bitfield from a packed word x and return it.

XS1_SS_NODE_ID_ID_SET(x, v)#

Pack the value (v) of the SS_NODE_ID_ID bitfield into a packed word x and return the packed field.

SS_PLL_CTL_INPUT_DIVISOR

Oscilator input divider value range from 0 (8’h0) to 63 (8’h3F).

R value.

XS1_SS_PLL_CTL_INPUT_DIVISOR_SHIFT#
XS1_SS_PLL_CTL_INPUT_DIVISOR_SIZE#
XS1_SS_PLL_CTL_INPUT_DIVISOR_MASK#
XS1_SS_PLL_CTL_INPUT_DIVISOR(x)#

Extract the SS_PLL_CTL_INPUT_DIVISOR bitfield from a packed word x and return it.

XS1_SS_PLL_CTL_INPUT_DIVISOR_SET(x, v)#

Pack the value (v) of the SS_PLL_CTL_INPUT_DIVISOR bitfield into a packed word x and return the packed field.

SS_PLL_CTL_FEEDBACK_MUL

Feedback multiplication ratio, range from 0 (8’h0) to 4095 (8’h3FF).

F value.

XS1_SS_PLL_CTL_FEEDBACK_MUL_SHIFT#
XS1_SS_PLL_CTL_FEEDBACK_MUL_SIZE#
XS1_SS_PLL_CTL_FEEDBACK_MUL_MASK#
XS1_SS_PLL_CTL_FEEDBACK_MUL(x)#

Extract the SS_PLL_CTL_FEEDBACK_MUL bitfield from a packed word x and return it.

XS1_SS_PLL_CTL_FEEDBACK_MUL_SET(x, v)#

Pack the value (v) of the SS_PLL_CTL_FEEDBACK_MUL bitfield into a packed word x and return the packed field.

SS_PLL_CTL_POST_DIVISOR

Output divider value range from 0 (8’h0) to 7 (8’h7).

OD value.

XS1_SS_PLL_CTL_POST_DIVISOR_SHIFT#
XS1_SS_PLL_CTL_POST_DIVISOR_SIZE#
XS1_SS_PLL_CTL_POST_DIVISOR_MASK#
XS1_SS_PLL_CTL_POST_DIVISOR(x)#

Extract the SS_PLL_CTL_POST_DIVISOR bitfield from a packed word x and return it.

XS1_SS_PLL_CTL_POST_DIVISOR_SET(x, v)#

Pack the value (v) of the SS_PLL_CTL_POST_DIVISOR bitfield into a packed word x and return the packed field.

SS_TEST_MODE_BOOT_RAM

If set to 1, set the boot mode to jump to RAM

XS1_SS_TEST_MODE_BOOT_RAM_SHIFT#
XS1_SS_TEST_MODE_BOOT_RAM_SIZE#
XS1_SS_TEST_MODE_BOOT_RAM_MASK#
XS1_SS_TEST_MODE_BOOT_RAM(x)#

Extract the SS_TEST_MODE_BOOT_RAM bitfield from a packed word x and return it.

XS1_SS_TEST_MODE_BOOT_RAM_SET(x, v)#

Pack the value (v) of the SS_TEST_MODE_BOOT_RAM bitfield into a packed word x and return the packed field.

SS_TEST_MODE_BOOT_JTAG

If set to 1, set the boot mode to boot from JTAG

XS1_SS_TEST_MODE_BOOT_JTAG_SHIFT#
XS1_SS_TEST_MODE_BOOT_JTAG_SIZE#
XS1_SS_TEST_MODE_BOOT_JTAG_MASK#
XS1_SS_TEST_MODE_BOOT_JTAG(x)#

Extract the SS_TEST_MODE_BOOT_JTAG bitfield from a packed word x and return it.

XS1_SS_TEST_MODE_BOOT_JTAG_SET(x, v)#

Pack the value (v) of the SS_TEST_MODE_BOOT_JTAG bitfield into a packed word x and return the packed field.

SS_TEST_MODE_PLL_BYPASS

If set to 1, set the PLL to be bypassed

XS1_SS_TEST_MODE_PLL_BYPASS_SHIFT#
XS1_SS_TEST_MODE_PLL_BYPASS_SIZE#
XS1_SS_TEST_MODE_PLL_BYPASS_MASK#
XS1_SS_TEST_MODE_PLL_BYPASS(x)#

Extract the SS_TEST_MODE_PLL_BYPASS bitfield from a packed word x and return it.

XS1_SS_TEST_MODE_PLL_BYPASS_SET(x, v)#

Pack the value (v) of the SS_TEST_MODE_PLL_BYPASS bitfield into a packed word x and return the packed field.

SS_PLL_CTL_NLOCK

If set to 1, the chip will not wait for the PLL to re-lock.

Only use this if a gradual change is made to the PLL

XS1_SS_PLL_CTL_NLOCK_SHIFT#
XS1_SS_PLL_CTL_NLOCK_SIZE#
XS1_SS_PLL_CTL_NLOCK_MASK#
XS1_SS_PLL_CTL_NLOCK(x)#

Extract the SS_PLL_CTL_NLOCK bitfield from a packed word x and return it.

XS1_SS_PLL_CTL_NLOCK_SET(x, v)#

Pack the value (v) of the SS_PLL_CTL_NLOCK bitfield into a packed word x and return the packed field.

SS_PLL_CTL_NRESET

If set to 1, the chip will not be reset

XS1_SS_PLL_CTL_NRESET_SHIFT#
XS1_SS_PLL_CTL_NRESET_SIZE#
XS1_SS_PLL_CTL_NRESET_MASK#
XS1_SS_PLL_CTL_NRESET(x)#

Extract the SS_PLL_CTL_NRESET bitfield from a packed word x and return it.

XS1_SS_PLL_CTL_NRESET_SET(x, v)#

Pack the value (v) of the SS_PLL_CTL_NRESET bitfield into a packed word x and return the packed field.

SS_CLK_DIVIDER_CLK_DIV

SSwitch clock generation

XS1_SS_CLK_DIVIDER_CLK_DIV_SHIFT#
XS1_SS_CLK_DIVIDER_CLK_DIV_SIZE#
XS1_SS_CLK_DIVIDER_CLK_DIV_MASK#
XS1_SS_CLK_DIVIDER_CLK_DIV(x)#

Extract the SS_CLK_DIVIDER_CLK_DIV bitfield from a packed word x and return it.

XS1_SS_CLK_DIVIDER_CLK_DIV_SET(x, v)#

Pack the value (v) of the SS_CLK_DIVIDER_CLK_DIV bitfield into a packed word x and return the packed field.

SS_SSWITCH_REF_CLK_DIV

Software ref.

clock divider

XS1_SS_SSWITCH_REF_CLK_DIV_SHIFT#
XS1_SS_SSWITCH_REF_CLK_DIV_SIZE#
XS1_SS_SSWITCH_REF_CLK_DIV_MASK#
XS1_SS_SSWITCH_REF_CLK_DIV(x)#

Extract the SS_SSWITCH_REF_CLK_DIV bitfield from a packed word x and return it.

XS1_SS_SSWITCH_REF_CLK_DIV_SET(x, v)#

Pack the value (v) of the SS_SSWITCH_REF_CLK_DIV bitfield into a packed word x and return the packed field.

SS_JTAG_DEVICE_ID_CONST_VAL

XS1_SS_JTAG_DEVICE_ID_CONST_VAL_SHIFT#
XS1_SS_JTAG_DEVICE_ID_CONST_VAL_SIZE#
XS1_SS_JTAG_DEVICE_ID_CONST_VAL_MASK#
XS1_SS_JTAG_DEVICE_ID_CONST_VAL(x)#

Extract the SS_JTAG_DEVICE_ID_CONST_VAL bitfield from a packed word x and return it.

XS1_SS_JTAG_DEVICE_ID_CONST_VAL_SET(x, v)#

Pack the value (v) of the SS_JTAG_DEVICE_ID_CONST_VAL bitfield into a packed word x and return the packed field.

SS_JTAG_DEVICE_ID_MANU_ID

XS1_SS_JTAG_DEVICE_ID_MANU_ID_SHIFT#
XS1_SS_JTAG_DEVICE_ID_MANU_ID_SIZE#
XS1_SS_JTAG_DEVICE_ID_MANU_ID_MASK#
XS1_SS_JTAG_DEVICE_ID_MANU_ID(x)#

Extract the SS_JTAG_DEVICE_ID_MANU_ID bitfield from a packed word x and return it.

XS1_SS_JTAG_DEVICE_ID_MANU_ID_SET(x, v)#

Pack the value (v) of the SS_JTAG_DEVICE_ID_MANU_ID bitfield into a packed word x and return the packed field.

SS_JTAG_DEVICE_ID_PART_NUM

XS1_SS_JTAG_DEVICE_ID_PART_NUM_SHIFT#
XS1_SS_JTAG_DEVICE_ID_PART_NUM_SIZE#
XS1_SS_JTAG_DEVICE_ID_PART_NUM_MASK#
XS1_SS_JTAG_DEVICE_ID_PART_NUM(x)#

Extract the SS_JTAG_DEVICE_ID_PART_NUM bitfield from a packed word x and return it.

XS1_SS_JTAG_DEVICE_ID_PART_NUM_SET(x, v)#

Pack the value (v) of the SS_JTAG_DEVICE_ID_PART_NUM bitfield into a packed word x and return the packed field.

SS_JTAG_DEVICE_ID_VERSION

XS1_SS_JTAG_DEVICE_ID_VERSION_SHIFT#
XS1_SS_JTAG_DEVICE_ID_VERSION_SIZE#
XS1_SS_JTAG_DEVICE_ID_VERSION_MASK#
XS1_SS_JTAG_DEVICE_ID_VERSION(x)#

Extract the SS_JTAG_DEVICE_ID_VERSION bitfield from a packed word x and return it.

XS1_SS_JTAG_DEVICE_ID_VERSION_SET(x, v)#

Pack the value (v) of the SS_JTAG_DEVICE_ID_VERSION bitfield into a packed word x and return the packed field.

SS_JTAG_USERCODE_MASKID

metal fixable ID code

XS1_SS_JTAG_USERCODE_MASKID_SHIFT#
XS1_SS_JTAG_USERCODE_MASKID_SIZE#
XS1_SS_JTAG_USERCODE_MASKID_MASK#
XS1_SS_JTAG_USERCODE_MASKID(x)#

Extract the SS_JTAG_USERCODE_MASKID bitfield from a packed word x and return it.

XS1_SS_JTAG_USERCODE_MASKID_SET(x, v)#

Pack the value (v) of the SS_JTAG_USERCODE_MASKID bitfield into a packed word x and return the packed field.

SS_JTAG_USERCODE_OTP

JTAG USERCODE value programmed into OTP SR

XS1_SS_JTAG_USERCODE_OTP_SHIFT#
XS1_SS_JTAG_USERCODE_OTP_SIZE#
XS1_SS_JTAG_USERCODE_OTP_MASK#
XS1_SS_JTAG_USERCODE_OTP(x)#

Extract the SS_JTAG_USERCODE_OTP bitfield from a packed word x and return it.

XS1_SS_JTAG_USERCODE_OTP_SET(x, v)#

Pack the value (v) of the SS_JTAG_USERCODE_OTP bitfield into a packed word x and return the packed field.

DIM0_DIR

The direction for packets whose dimension is 0.

XS1_DIM0_DIR_SHIFT#
XS1_DIM0_DIR_SIZE#
XS1_DIM0_DIR_MASK#
XS1_DIM0_DIR(x)#

Extract the DIM0_DIR bitfield from a packed word x and return it.

XS1_DIM0_DIR_SET(x, v)#

Pack the value (v) of the DIM0_DIR bitfield into a packed word x and return the packed field.

DIM1_DIR

The direction for packets whose dimension is 1.

XS1_DIM1_DIR_SHIFT#
XS1_DIM1_DIR_SIZE#
XS1_DIM1_DIR_MASK#
XS1_DIM1_DIR(x)#

Extract the DIM1_DIR bitfield from a packed word x and return it.

XS1_DIM1_DIR_SET(x, v)#

Pack the value (v) of the DIM1_DIR bitfield into a packed word x and return the packed field.

DIM2_DIR

The direction for packets whose dimension is 2.

XS1_DIM2_DIR_SHIFT#
XS1_DIM2_DIR_SIZE#
XS1_DIM2_DIR_MASK#
XS1_DIM2_DIR(x)#

Extract the DIM2_DIR bitfield from a packed word x and return it.

XS1_DIM2_DIR_SET(x, v)#

Pack the value (v) of the DIM2_DIR bitfield into a packed word x and return the packed field.

DIM3_DIR

The direction for packets whose dimension is 3.

XS1_DIM3_DIR_SHIFT#
XS1_DIM3_DIR_SIZE#
XS1_DIM3_DIR_MASK#
XS1_DIM3_DIR(x)#

Extract the DIM3_DIR bitfield from a packed word x and return it.

XS1_DIM3_DIR_SET(x, v)#

Pack the value (v) of the DIM3_DIR bitfield into a packed word x and return the packed field.

DIM4_DIR

The direction for packets whose dimension is 4.

XS1_DIM4_DIR_SHIFT#
XS1_DIM4_DIR_SIZE#
XS1_DIM4_DIR_MASK#
XS1_DIM4_DIR(x)#

Extract the DIM4_DIR bitfield from a packed word x and return it.

XS1_DIM4_DIR_SET(x, v)#

Pack the value (v) of the DIM4_DIR bitfield into a packed word x and return the packed field.

DIM5_DIR

The direction for packets whose dimension is 5.

XS1_DIM5_DIR_SHIFT#
XS1_DIM5_DIR_SIZE#
XS1_DIM5_DIR_MASK#
XS1_DIM5_DIR(x)#

Extract the DIM5_DIR bitfield from a packed word x and return it.

XS1_DIM5_DIR_SET(x, v)#

Pack the value (v) of the DIM5_DIR bitfield into a packed word x and return the packed field.

DIM6_DIR

The direction for packets whose dimension is 6.

XS1_DIM6_DIR_SHIFT#
XS1_DIM6_DIR_SIZE#
XS1_DIM6_DIR_MASK#
XS1_DIM6_DIR(x)#

Extract the DIM6_DIR bitfield from a packed word x and return it.

XS1_DIM6_DIR_SET(x, v)#

Pack the value (v) of the DIM6_DIR bitfield into a packed word x and return the packed field.

DIM7_DIR

The direction for packets whose dimension is 7.

XS1_DIM7_DIR_SHIFT#
XS1_DIM7_DIR_SIZE#
XS1_DIM7_DIR_MASK#
XS1_DIM7_DIR(x)#

Extract the DIM7_DIR bitfield from a packed word x and return it.

XS1_DIM7_DIR_SET(x, v)#

Pack the value (v) of the DIM7_DIR bitfield into a packed word x and return the packed field.

DIM8_DIR

The direction for packets whose dimension is 8.

XS1_DIM8_DIR_SHIFT#
XS1_DIM8_DIR_SIZE#
XS1_DIM8_DIR_MASK#
XS1_DIM8_DIR(x)#

Extract the DIM8_DIR bitfield from a packed word x and return it.

XS1_DIM8_DIR_SET(x, v)#

Pack the value (v) of the DIM8_DIR bitfield into a packed word x and return the packed field.

DIM9_DIR

The direction for packets whose dimension is 9.

XS1_DIM9_DIR_SHIFT#
XS1_DIM9_DIR_SIZE#
XS1_DIM9_DIR_MASK#
XS1_DIM9_DIR(x)#

Extract the DIM9_DIR bitfield from a packed word x and return it.

XS1_DIM9_DIR_SET(x, v)#

Pack the value (v) of the DIM9_DIR bitfield into a packed word x and return the packed field.

DIMA_DIR

The direction for packets whose dimension is A.

XS1_DIMA_DIR_SHIFT#
XS1_DIMA_DIR_SIZE#
XS1_DIMA_DIR_MASK#
XS1_DIMA_DIR(x)#

Extract the DIMA_DIR bitfield from a packed word x and return it.

XS1_DIMA_DIR_SET(x, v)#

Pack the value (v) of the DIMA_DIR bitfield into a packed word x and return the packed field.

DIMB_DIR

The direction for packets whose dimension is B.

XS1_DIMB_DIR_SHIFT#
XS1_DIMB_DIR_SIZE#
XS1_DIMB_DIR_MASK#
XS1_DIMB_DIR(x)#

Extract the DIMB_DIR bitfield from a packed word x and return it.

XS1_DIMB_DIR_SET(x, v)#

Pack the value (v) of the DIMB_DIR bitfield into a packed word x and return the packed field.

DIMC_DIR

The direction for packets whose dimension is C.

XS1_DIMC_DIR_SHIFT#
XS1_DIMC_DIR_SIZE#
XS1_DIMC_DIR_MASK#
XS1_DIMC_DIR(x)#

Extract the DIMC_DIR bitfield from a packed word x and return it.

XS1_DIMC_DIR_SET(x, v)#

Pack the value (v) of the DIMC_DIR bitfield into a packed word x and return the packed field.

DIMD_DIR

The direction for packets whose dimension is D.

XS1_DIMD_DIR_SHIFT#
XS1_DIMD_DIR_SIZE#
XS1_DIMD_DIR_MASK#
XS1_DIMD_DIR(x)#

Extract the DIMD_DIR bitfield from a packed word x and return it.

XS1_DIMD_DIR_SET(x, v)#

Pack the value (v) of the DIMD_DIR bitfield into a packed word x and return the packed field.

DIME_DIR

The direction for packets whose dimension is E.

XS1_DIME_DIR_SHIFT#
XS1_DIME_DIR_SIZE#
XS1_DIME_DIR_MASK#
XS1_DIME_DIR(x)#

Extract the DIME_DIR bitfield from a packed word x and return it.

XS1_DIME_DIR_SET(x, v)#

Pack the value (v) of the DIME_DIR bitfield into a packed word x and return the packed field.

DIMF_DIR

The direction for packets whose dimension is F.

XS1_DIMF_DIR_SHIFT#
XS1_DIMF_DIR_SIZE#
XS1_DIMF_DIR_MASK#
XS1_DIMF_DIR(x)#

Extract the DIMF_DIR bitfield from a packed word x and return it.

XS1_DIMF_DIR_SET(x, v)#

Pack the value (v) of the DIMF_DIR bitfield into a packed word x and return the packed field.

GLOBAL_DEBUG_ENABLE_INDEBUG

if DEBUGN Set 1 to enable inDebug bit to drive GlobalDebug.else Reserved.

XS1_GLOBAL_DEBUG_ENABLE_INDEBUG_SHIFT#
XS1_GLOBAL_DEBUG_ENABLE_INDEBUG_SIZE#
XS1_GLOBAL_DEBUG_ENABLE_INDEBUG_MASK#
XS1_GLOBAL_DEBUG_ENABLE_INDEBUG(x)#

Extract the GLOBAL_DEBUG_ENABLE_INDEBUG bitfield from a packed word x and return it.

XS1_GLOBAL_DEBUG_ENABLE_INDEBUG_SET(x, v)#

Pack the value (v) of the GLOBAL_DEBUG_ENABLE_INDEBUG bitfield into a packed word x and return the packed field.

GLOBAL_DEBUG_ENABLE_GLOBAL_DEBUG_REQ

if DEBUGN Set 1 to enable GlobalDebug to generate debug request to XCore.else Reserved.

XS1_GLOBAL_DEBUG_ENABLE_GLOBAL_DEBUG_REQ_SHIFT#
XS1_GLOBAL_DEBUG_ENABLE_GLOBAL_DEBUG_REQ_SIZE#
XS1_GLOBAL_DEBUG_ENABLE_GLOBAL_DEBUG_REQ_MASK#
XS1_GLOBAL_DEBUG_ENABLE_GLOBAL_DEBUG_REQ(x)#

Extract the GLOBAL_DEBUG_ENABLE_GLOBAL_DEBUG_REQ bitfield from a packed word x and return it.

XS1_GLOBAL_DEBUG_ENABLE_GLOBAL_DEBUG_REQ_SET(x, v)#

Pack the value (v) of the GLOBAL_DEBUG_ENABLE_GLOBAL_DEBUG_REQ bitfield into a packed word x and return the packed field.

GLOBAL_DEBUG_SOURCE_XCORE0_INDEBUG

If set, XCore0 is the source of last GlobalDebug event.

XS1_GLOBAL_DEBUG_SOURCE_XCORE0_INDEBUG_SHIFT#
XS1_GLOBAL_DEBUG_SOURCE_XCORE0_INDEBUG_SIZE#
XS1_GLOBAL_DEBUG_SOURCE_XCORE0_INDEBUG_MASK#
XS1_GLOBAL_DEBUG_SOURCE_XCORE0_INDEBUG(x)#

Extract the GLOBAL_DEBUG_SOURCE_XCORE0_INDEBUG bitfield from a packed word x and return it.

XS1_GLOBAL_DEBUG_SOURCE_XCORE0_INDEBUG_SET(x, v)#

Pack the value (v) of the GLOBAL_DEBUG_SOURCE_XCORE0_INDEBUG bitfield into a packed word x and return the packed field.

GLOBAL_DEBUG_SOURCE_XCORE1_INDEBUG

If set, XCore1 is the source of last GlobalDebug event.

XS1_GLOBAL_DEBUG_SOURCE_XCORE1_INDEBUG_SHIFT#
XS1_GLOBAL_DEBUG_SOURCE_XCORE1_INDEBUG_SIZE#
XS1_GLOBAL_DEBUG_SOURCE_XCORE1_INDEBUG_MASK#
XS1_GLOBAL_DEBUG_SOURCE_XCORE1_INDEBUG(x)#

Extract the GLOBAL_DEBUG_SOURCE_XCORE1_INDEBUG bitfield from a packed word x and return it.

XS1_GLOBAL_DEBUG_SOURCE_XCORE1_INDEBUG_SET(x, v)#

Pack the value (v) of the GLOBAL_DEBUG_SOURCE_XCORE1_INDEBUG bitfield into a packed word x and return the packed field.

GLOBAL_DEBUG_SOURCE_EXTERNAL_PAD_INDEBUG

if DEBUGN If set, external pin, is the source of last GlobalDebug event.else Reserved.

XS1_GLOBAL_DEBUG_SOURCE_EXTERNAL_PAD_INDEBUG_SHIFT#
XS1_GLOBAL_DEBUG_SOURCE_EXTERNAL_PAD_INDEBUG_SIZE#
XS1_GLOBAL_DEBUG_SOURCE_EXTERNAL_PAD_INDEBUG_MASK#
XS1_GLOBAL_DEBUG_SOURCE_EXTERNAL_PAD_INDEBUG(x)#

Extract the GLOBAL_DEBUG_SOURCE_EXTERNAL_PAD_INDEBUG bitfield from a packed word x and return it.

XS1_GLOBAL_DEBUG_SOURCE_EXTERNAL_PAD_INDEBUG_SET(x, v)#

Pack the value (v) of the GLOBAL_DEBUG_SOURCE_EXTERNAL_PAD_INDEBUG bitfield into a packed word x and return the packed field.

1 when the source side of the link is in use.

Extract the LINK_SRC_INUSE bitfield from a packed word x and return it.

Pack the value (v) of the LINK_SRC_INUSE bitfield into a packed word x and return the packed field.

1 when the dest side of the link is in use.

Extract the LINK_DST_INUSE bitfield from a packed word x and return it.

Pack the value (v) of the LINK_DST_INUSE bitfield into a packed word x and return the packed field.

1 when the current packet is considered junk and will be thrown away.

Extract the LINK_JUNK bitfield from a packed word x and return it.

Pack the value (v) of the LINK_JUNK bitfield into a packed word x and return the packed field.

Determines the network to which this link belongs, reset as 0.

Extract the LINK_NETWORK bitfield from a packed word x and return it.

Pack the value (v) of the LINK_NETWORK bitfield into a packed word x and return the packed field.

The direction that this link operates in.

Extract the LINK_DIRECTION bitfield from a packed word x and return it.

Pack the value (v) of the LINK_DIRECTION bitfield into a packed word x and return the packed field.

When the link is in use, this is the destination link number to which all packets are sent.

Extract the SLINK_SRC_TARGET_ID bitfield from a packed word x and return it.

Pack the value (v) of the SLINK_SRC_TARGET_ID bitfield into a packed word x and return the packed field.

Identify the SRC_TARGET type 0 - SLink, 1 - PLink, 2 - SSCTL, 3 - Undefine.

Extract the SLINK_SRC_TARGET_TYPE bitfield from a packed word x and return it.

Pack the value (v) of the SLINK_SRC_TARGET_TYPE bitfield into a packed word x and return the packed field.

When the link is in use, this is the destination link number to which all packets are sent.

Extract the PLINK_SRC_TARGET_ID bitfield from a packed word x and return it.

Pack the value (v) of the PLINK_SRC_TARGET_ID bitfield into a packed word x and return the packed field.

Identify the SRC_TARGET type 0 - SLink, 1 - PLink, 2 - SSCTL, 3 - Undefine.

Extract the PLINK_SRC_TARGET_TYPE bitfield from a packed word x and return it.

Pack the value (v) of the PLINK_SRC_TARGET_TYPE bitfield into a packed word x and return the packed field.

Specify min.

number of idle system clocks between two continuous transmit tokens -1.

Extract the XLINK_INTER_TOKEN_DELAY bitfield from a packed word x and return it.

Pack the value (v) of the XLINK_INTER_TOKEN_DELAY bitfield into a packed word x and return the packed field.

Specify min.

number of idle system clocks between two continuous symbols witin a transmit token -1.

Extract the XLINK_INTRA_TOKEN_DELAY bitfield from a packed word x and return it.

Pack the value (v) of the XLINK_INTRA_TOKEN_DELAY bitfield into a packed word x and return the packed field.

Reset the receiver.

The next symbol that is detected will be the first symbol in a token.

Extract the XLINK_RX_RESET bitfield from a packed word x and return it.

Pack the value (v) of the XLINK_RX_RESET bitfield into a packed word x and return the packed field.

Clear this end of the xlink’s credit and issue a HELLO token.

Extract the XLINK_HELLO bitfield from a packed word x and return it.

Pack the value (v) of the XLINK_HELLO bitfield into a packed word x and return the packed field.

TX_CREDIT

This end of the xlink has credit to allow it to transmit.

XS1_TX_CREDIT_SHIFT#
XS1_TX_CREDIT_SIZE#
XS1_TX_CREDIT_MASK#
XS1_TX_CREDIT(x)#

Extract the TX_CREDIT bitfield from a packed word x and return it.

XS1_TX_CREDIT_SET(x, v)#

Pack the value (v) of the TX_CREDIT bitfield into a packed word x and return the packed field.

RX_CREDIT

This end of the xlink has issued credit to allow the remote end to transmit

XS1_RX_CREDIT_SHIFT#
XS1_RX_CREDIT_SIZE#
XS1_RX_CREDIT_MASK#
XS1_RX_CREDIT(x)#

Extract the RX_CREDIT bitfield from a packed word x and return it.

XS1_RX_CREDIT_SET(x, v)#

Pack the value (v) of the RX_CREDIT bitfield into a packed word x and return the packed field.

Rx buffer overflow or illegal token encoding received.

Extract the XLINK_RX_ERROR bitfield from a packed word x and return it.

Pack the value (v) of the XLINK_RX_ERROR bitfield into a packed word x and return the packed field.

0: operate in 2 wire mode; 1: operate in 5 wire mode

Extract the XLINK_WIDE bitfield from a packed word x and return it.

Pack the value (v) of the XLINK_WIDE bitfield into a packed word x and return the packed field.

Write to this bit with ‘1’ will enable the XLink, writing ‘0’ will disable it.

This bit controls the muxing of ports with overlapping xlinks.

Extract the XLINK_ENABLE bitfield from a packed word x and return it.

Pack the value (v) of the XLINK_ENABLE bitfield into a packed word x and return the packed field.

XSTATIC_DEST_CHAN_END

The destination channel end on this node that packets received in static mode are forwarded to.

XS1_XSTATIC_DEST_CHAN_END_SHIFT#
XS1_XSTATIC_DEST_CHAN_END_SIZE#
XS1_XSTATIC_DEST_CHAN_END_MASK#
XS1_XSTATIC_DEST_CHAN_END(x)#

Extract the XSTATIC_DEST_CHAN_END bitfield from a packed word x and return it.

XS1_XSTATIC_DEST_CHAN_END_SET(x, v)#

Pack the value (v) of the XSTATIC_DEST_CHAN_END bitfield into a packed word x and return the packed field.

XSTATIC_DEST_PROC

The destination processor on this node that packets received in static mode are forwarded to.

XS1_XSTATIC_DEST_PROC_SHIFT#
XS1_XSTATIC_DEST_PROC_SIZE#
XS1_XSTATIC_DEST_PROC_MASK#
XS1_XSTATIC_DEST_PROC(x)#

Extract the XSTATIC_DEST_PROC bitfield from a packed word x and return it.

XS1_XSTATIC_DEST_PROC_SET(x, v)#

Pack the value (v) of the XSTATIC_DEST_PROC bitfield into a packed word x and return the packed field.

XSTATIC_ENABLE

Enable static forwarding.

XS1_XSTATIC_ENABLE_SHIFT#
XS1_XSTATIC_ENABLE_SIZE#
XS1_XSTATIC_ENABLE_MASK#
XS1_XSTATIC_ENABLE(x)#

Extract the XSTATIC_ENABLE bitfield from a packed word x and return it.

XS1_XSTATIC_ENABLE_SET(x, v)#

Pack the value (v) of the XSTATIC_ENABLE bitfield into a packed word x and return the packed field.

SSCTRL_PSCTRL_CORE_NUM

Core Number for the PSCTRL register address through the SSwitch

XS1_SSCTRL_PSCTRL_CORE_NUM_SHIFT#
XS1_SSCTRL_PSCTRL_CORE_NUM_SIZE#
XS1_SSCTRL_PSCTRL_CORE_NUM_MASK#
XS1_SSCTRL_PSCTRL_CORE_NUM(x)#

Extract the SSCTRL_PSCTRL_CORE_NUM bitfield from a packed word x and return it.

XS1_SSCTRL_PSCTRL_CORE_NUM_SET(x, v)#

Pack the value (v) of the SSCTRL_PSCTRL_CORE_NUM bitfield into a packed word x and return the packed field.

Miscellaneous Definitions#

group xs2aMiscellaneousDefinitions

RESOURCE_TYPES_DEFS

Resource types

XS1_RES_TYPE_PORT#

Ports.

XS1_RES_TYPE_TIMER#

Timers.

XS1_RES_TYPE_CHANEND#

Channel ends.

XS1_RES_TYPE_SYNC#

Synchronisers.

XS1_RES_TYPE_THREAD#

Threads.

XS1_RES_TYPE_LOCK#

Lock.

XS1_RES_TYPE_CLKBLK#

Clock source.

XS1_RES_TYPE_COPROC#

Co-processor interface/multicycle unit.

XS1_RES_TYPE_PS#

Processor state.

XS1_RES_TYPE_CONFIG#

Configuration messages.

XS1_RES_TYPE_INSTRUCTION#

Instruction type.

ClockBlocks_DEFS

XS1_CLKBLK_REF#
XS1_CLKBLK_1#
XS1_CLKBLK_2#
XS1_CLKBLK_3#
XS1_CLKBLK_4#
XS1_CLKBLK_5#
XS1_CLKBLK_6#
XS1_CLKBLK_7#

EXCEPTION_TYPES_DEFS

Exceptions change the normal flow of control; they may be caused by interrupts, errors arising during instruction execution and by system calls.

On an exception, the processor will save the pc and sr in spc and ssr, disable events and interrupts, and start executing an exception handler. The program counter that is saved normally points to the instruction that raised the exception. Two registers are also set. The exception-data (ed) and exception-type (et) will be set to reflect the cause of the exception. The exception handler can choose how to deal with the exception.

In this chapter the different types of exception are listed, together with their representation, their meaning, and the instructions that may cause them.

Link errors.

XS1_ET_ILLEGAL_PC#

see [[XcoreArchTraps::Illegal_PC][Illegal PC]]

XS1_ET_ILLEGAL_INSTRUCTION#

see [[XcoreArchTraps::Illegal_instructionsPC][Illegal instructions]]

XS1_ET_ILLEGAL_RESOURCE#

thread / synchroniser / channel end / port / lock

XS1_ET_LOAD_STORE#

see [[XcoreArchTraps::Illegal_load_store][Illegal load/store]]

XS1_ET_ILLEGAL_PS#

see [[XcoreArchMachineState::Traps][Traps]]

XS1_ET_ARITHMETIC#

see [[XcoreArchTraps::Arithmetic_exceptions][Arithmetic exceptions]]

XS1_ET_ECALL#

see [[XcoreArchTraps::Exception_calls][Exception calls]]

XS1_ET_RESOURCE_DEP#

see [[XcoreArchResources::Back_to_Back_Access][Resource dependencies]]

XS1_ET_KCALL#

see [[XcoreArchTraps::Kernel_calls][Kernel calls]]

XS1_ET_IOLANE#

Indicates exception took place in the resource lane.

T_REG_VALUES_DEFS

Thread state register numbers for debug.

XS1_DBG_T_REG_CP_NUM#
XS1_DBG_T_REG_DP_NUM#
XS1_DBG_T_REG_SP_NUM#
XS1_DBG_T_REG_LR_NUM#
XS1_DBG_T_REG_PC_NUM#
XS1_DBG_T_REG_SR_NUM#
XS1_DBG_T_REG_SPC_NUM#
XS1_DBG_T_REG_SSR_NUM#
XS1_DBG_T_REG_ET_NUM#
XS1_DBG_T_REG_ED_NUM#
XS1_DBG_T_REG_SED_NUM#
XS1_DBG_T_REG_KEP_NUM#
XS1_DBG_T_REG_KSP_NUM#
XS1_DBG_T_REG_ID_NUM#

STACK_OFFSET_DEFS

Stack offsets for ld,st instructions.

XS1_STACK_OFFSET_SPC#
XS1_STACK_OFFSET_SSR#
XS1_STACK_OFFSET_SED#
XS1_STACK_OFFSET_ET#

DBG_CAUSE_DEFS

Types of debug causes, with their value

XS1_DBG_CAUSE_NONE#
XS1_DBG_CAUSE_HOST#
XS1_DBG_CAUSE_DCALL#
XS1_DBG_CAUSE_IBREAK#
XS1_DBG_CAUSE_DWATCH#
XS1_DBG_CAUSE_RWATCH#

DEBUG_COMMANDS_DEFS

Debug commands.

XS1_DBG_CMD_ACK#
XS1_DBG_CMD_NACK#
XS1_DBG_CMD_READ#
XS1_DBG_CMD_WRITE#
XS1_DBG_CMD_GETPS#
XS1_DBG_CMD_SETPS#
XS1_DBG_CMD_GETSTATE#
XS1_DBG_CMD_SETSTATE#
XS1_DBG_CMD_CALL#
XS1_DBG_CMD_RFDBG#
XS1_DBG_CMD_READ4PI#
XS1_DBG_CMD_WRITE4PI#

DB_SCRATCH_USAGE_DEFS

Debug scratch register usage.

XS1_PS_DBG_HANDLER#
XS1_PS_DBG_COMMAND#
XS1_PS_DBG_ARG0_REG#
XS1_PS_DBG_ARG1_REG#
XS1_PS_DBG_ARG2_REG#
XS1_PS_DBG_ARG3_REG#
XS1_PS_DBG_ARG4_REG#
XS1_PS_DBG_ARG5_REG#
XS1_NUM_DBG_SCRATCH_REGS#
XS1_LOG2_NUM_DBG_SCRATCH_REGS#
XS1_PSWITCH_DBG_HANDLER_NUM#
XS1_PSWITCH_DBG_COMMAND_NUM#
XS1_PSWITCH_DBG_ARG0_NUM#
XS1_PSWITCH_DBG_ARG1_NUM#
XS1_PSWITCH_DBG_ARG2_NUM#
XS1_PSWITCH_DBG_ARG3_NUM#
XS1_PSWITCH_DBG_ARG4_NUM#
XS1_PSWITCH_DBG_ARG5_NUM#

DBG_BREAKPOINTS_DEFS

Debug breakpoints and watchpoints

XS1_NUM_DBG_IBREAK#
XS1_NUM_DBG_RWATCH#
XS1_NUM_DBG_DWATCH#

ROM_DEFS

ROM definitions.

XS1_ROM_BASE#
XS1_ROM_SIZE#
XS1_ROM_ADDR_WIDTH#
XS1_ROM_BASE_WIDTH#
XS1_DEBUG_VECTOR#

USER_CONTROL_TOKENS_DEFS

User control tokens.

XS1_CT_START_TRANSACTION#

Start transaction.

XS1_CT_END#

End - free up interconnect and tell target.

XS1_EOM_TOKEN#

End with control token bit set - free up interconnect and tell target.

XS1_CT_PAUSE#

Pause - free up interconnect but don’t tell target.

XS1_PAUSE_TOKEN#

Pause with control token bit set - free up interconnect but don’t tell target.

XS1_CT_ACK#

Acknowledge operation completed successfully.

XS1_ACK_TOKEN#

Acknowledge with control token bit set - operation completed successfully.

XS1_CT_NACK#

Acknowledge that there was an error.

XS1_NACK_TOKEN#

Acknowledge that there was an error with control token bit set.

XS1_CT_READN#

Read data.

XS1_CT_READ1#

Read one byte.

XS1_CT_READ2#

Read two bytes.

XS1_CT_READ4#

Read four bytes.

XS1_CT_READ8#

Read eight bytes.

XS1_CT_WRITEN#

Write data.

XS1_CT_WRITE1#

Write one byte.

XS1_CT_WRITE2#

Write two bytes.

XS1_CT_WRITE4#

Write four bytes.

XS1_CT_WRITE8#

Write eight bytes.

XS1_CT_CALL#

Call code at the specified address.

RESOURCE_CREGS_DEFS

Resource control registers.

XS1_RES_PS_CTRL0#
XS1_RES_PS_CTRL1#
XS1_RES_PS_CTRL2#
XS1_RES_PS_VECTOR#
XS1_RES_PS_EV#
XS1_RES_PS_DATA#
XS1_RES_PS_CLKSRC#
XS1_RES_PS_RDYSRC#
XS1_RES_PS_TBV0#

SETCTRL_MODES_DEFS

XS1_SETC_MODE_INUSE#
XS1_SETC_MODE_COND#
XS1_SETC_MODE_IE_MODE#
XS1_SETC_MODE_DRIVE#
XS1_SETC_MODE_LONG#

SETCTRL_LMODE_DEFS

XS1_SETC_LMODE_RUN#
XS1_SETC_LMODE_MS#
XS1_SETC_LMODE_BUF#
XS1_SETC_LMODE_RDY#
XS1_SETC_LMODE_SDELAY#
XS1_SETC_LMODE_PORT#
XS1_SETC_LMODE_INV#
XS1_SETC_LMODE_PIN_DELAY#
XS1_SETC_LMODE_FALL_DELAY#
XS1_SETC_LMODE_RISE_DELAY#

CTRL_MODE_DEFS

XS1_SETC_INUSE_OFF#
XS1_SETC_INUSE_ON#
XS1_SETC_COND_NONE#
XS1_SETC_COND_FULL#
XS1_SETC_COND_AFTER#
XS1_SETC_COND_EQ#
XS1_SETC_COND_NEQ#
XS1_SETC_COND_GREATER#
XS1_SETC_COND_LESS#
XS1_SETC_IE_MODE_EVENT#
XS1_SETC_IE_MODE_INTERRUPT#
XS1_SETC_DRIVE_DRIVE#
XS1_SETC_DRIVE_PULL_DOWN#
XS1_SETC_DRIVE_PULL_UP#
XS1_SETC_RUN_STOPR#
XS1_SETC_RUN_STARTR#
XS1_SETC_RUN_CLRBUF#
XS1_SETC_MS_MASTER#
XS1_SETC_MS_SLAVE#
XS1_SETC_BUF_NOBUFFERS#
XS1_SETC_BUF_BUFFERS#
XS1_SETC_RDY_NOREADY#
XS1_SETC_RDY_STROBED#
XS1_SETC_RDY_HANDSHAKE#
XS1_SETC_SDELAY_NOSDELAY#
XS1_SETC_SDELAY_SDELAY#
XS1_SETC_PORT_DATAPORT#
XS1_SETC_PORT_CLOCKPORT#
XS1_SETC_PORT_READYPORT#
XS1_SETC_INV_NOINVERT#
XS1_SETC_INV_INVERT#

Defines

XS1_DEVICE_ID0_VERSION_VALUE#
XS1_DEVICE_ID0_REVISION_VALUE#
XS1_NUM_NETWORKS#
XS1_NUM_RES_TYPES#
XS1_CLK_REF#
XS1_CLK_XCORE#
XS1_ET_NONE#
XS1_RES_ID_INVALID#
XS1_KEP_ALIGNMENT#
XS1_KCALL_ALIGNMENT#
XS1_TRAP_KCALL_OFFSET#
XS1_ARG0_REG#
XS1_ARG1_REG#
XS1_ARG2_REG#
XS1_ARG3_REG#
XS1_RET0_REG#
XS1_RET1_REG#
XS1_RET2_REG#
XS1_RET3_REG#
XS1_NUM_LOCKS#
XS1_NUM_SYNCS#
XS1_NUM_TIMERS#
XS1_NUM_THREADS#
XS1_NUM_CHANENDS#
XS1_NUM_CLKBLKS#
XS1_NUM_MMAPS#
XS1_DBG_BUFFER_WORDS#
XS1_RAM_BASE#
XS1_RAM_SIZE#
XS1_RAM_ADDR_WIDTH#
XS1_CT_WRITEC#

Write control register.

XS1_CT_READC#

Read control register.

XS1_CT_PSCTRL#

PSwitch configuration message data value.

XS1_CT_SSCTRL#

SSwitch configuration message data value.

Port Definitions#

group xs2aPortDefinitions

Defines

XS1_NUM_1BIT_GPIO_PORTS#
XS1_NUM_4BIT_GPIO_PORTS#
XS1_NUM_8BIT_GPIO_PORTS#
XS1_NUM_16BIT_GPIO_PORTS#
XS1_NUM_32BIT_GPIO_PORTS#
XS1_NUM_16BIT_PERIPH_PORTS#
XS1_NUM_32BIT_PERIPH_PORTS#
XS1_NUM_1BIT_PORTS#
XS1_NUM_4BIT_PORTS#
XS1_NUM_8BIT_PORTS#
XS1_NUM_16BIT_PORTS#
XS1_NUM_32BIT_PORTS#