get_hw_sysmon_reg - 2023.2 English

Vivado Design Suite Tcl Command Reference Guide (UG835)

Document ID
Release Date
2023.2 English

Get the system monitor register value


get_hw_sysmon_reg [‑quiet] [‑verbose] <hw_sysmon> <hexaddress>


Register value in Hex.


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




Returns the hex value of the system monitor register defined at the specified address of the specified hw_sysmon object.

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 hw_sysmon_reg object. 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 get_hw_sysmon_reg command lets you directly access the values stored in registers of the hw_sysmon object, the recommended procedure is to retrieve the values of registers as formatted properties of the hw_sysmon object. For example, the following code retrieves the TEMPERATURE on the system monitor as a formatted property of the hw_sysmon object rather than accessing the hex value of the sysmon register:

set opTemp [get_property TEMPERATURE [get_hw_sysmons]

The get_property command returns the TEMPERATURE as a formatted value in degrees Celsius, Fahrenheit, or Kelvin as determined by the TEMPERATURE_SCALE property on the hw_sysmon object.

Tip: You can also be sure the property value on the object is current by issuing the refresh_hw_sysmon command prior to get_property.

The get_hw_sysmon_reg command returns the unformatted hex value of the hw_sysmon_reg object on the specified hw_sysmons at the specified address, 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 access the registers of. The hw_sysmon must be specified as an object as returned by the get_hw_sysmons command.

<hexaddress> - (Required) Specify the hex address of the register on the system monitor to return the value of. The address is specified as a hex value, and the value at the specified address is returned as a hex value.


The following example gets the value of the hw_sysmon_reg at the specified address, 00, which relates to the XADC register storing the operating temperature of the current hw_device:

set opTemp [get_hw_sysmon_reg [lindex [get_hw_sysmons] 0 ] 00 ]
Note: The operating temperature is returned as a hex value.