set_hw_sysmon_reg - 2023.2 English

Vivado Design Suite Tcl Command Reference Guide (UG835)

Document ID
Release Date
2023.2 English

Set the system monitor register value


set_hw_sysmon_reg [‑quiet] [‑verbose] <hw_sysmon> <hexaddress> <hexdata>


Name Description
[-quiet] Ignore command errors
[-verbose] Suspend message limits during command execution
<hw_sysmon> hw_sysmon object
<hexaddress> Hex address to write to
<hexdata> Hex write value




Set the system monitor register at the specified address to the hex value specified. This command identifies a register on the hw_sysmon on the current device through its hex address value, and sets the specified hex data value into that register.

Important: Some of the registers on the system monitor are read-only and cannot be set directly. This command has no effect if you try to set the value of a read-only register on the system monitor.

The System Monitor (SYSMON) Analog-to-Digital Converter (ADC) is used to measure die temperature and voltage on the hw_device. The Sysmon monitors the physical environment via on-chip temperature and supply sensors. The ADC can access up to 17 external analog input channels.

Data for the system monitor is stored in dedicated registers, called status and control registers, accessible through the get_hw_sysmon_reg and set_hw_sysmon_reg commands. Refer to the Register Interface in UltraScale Architecture System Monitor User Guide (UG580), or 7 Series FPGAs and Zynq-7000 SoC XADC Dual 12-Bit 1 MSPS Analog-to-Digital Converter User Guide (UG480) for more information on the addresses of specific system monitor registers.

Although the set_hw_sysmon_reg command lets you directly write the specified hex data value into the registers of a system monitor, the recommended procedure is to update the values of properties on the hw_sysmon object using the set_property command, and then write the property values to the hw_sysmon object using the commit_hw_sysmon command.

The set_hw_sysmon_reg command writes the specified hex value to the hw_sysmon_reg object on the hw_sysmon object at the specified address but returns nothing, or returns an error if it fails.


-quiet - (Optional) Execute the command quietly, returning no messages from the command. The command also returns TCL_OK regardless of any errors encountered during execution.
Note: Any errors encountered on the command-line, while launching the command, will be returned. Only errors occurring inside the command will be trapped.
-verbose - (Optional) Temporarily override any message limits and return all messages from this command.
Note: Message limits can be defined with the set_msg_config command.

<hw_sysmon> - (Required) Specify the hw_sysmon object to set the registers of. The hw_sysmon object must be specified as an object returned by the get_hw_sysmon command.

<hexaddress> - (Required) Specify the hex address of the status register on the system monitor to set the value of.

<hexdata> - (Required) Specify the data, as a hex value, to populate into the register defined by the hex address.


The following example sets the specified hex data value into the register at the hex address of the system monitor on the current hardware device:

set_hw_sysmon_reg [current_hw_device] 00 9D28