HW_SYSMON - 2023.2 English

Vivado Design Suite Properties Reference Guide (UG912)

Document ID
Release Date
2023.2 English


The System Monitor, HW_SYSMON, is an Analog-to-Digital Converter (ADC) circuit on AMD devices, used to measure operating conditions such as temperature and voltage. The HW_SYSMON monitors the physical environment via on-chip temperature and supply sensors. The ADC provides a high-precision analog interface for a range of applications. The ADC can access up to 17 external analog input channels.

Figure 1. Hardware Sysmon Object

The HW_SYSMON has data registers, or HW_SYSMON_REG objects, that store the current values of temperatures and voltages. The values in these registers on the current hw_device can be accessed through the Hardware Manager feature of the Vivado Design Suite, when connected to a hardware server and target. The HW_SYSMON varies between AMD Virtex™ 7 devices and AMD UltraScale™ devices. Refer to the UltraScale Architecture System Monitor User Guide (UG580) or the 7 Series FPGAs and Zynq 7000 SoC XADC Dual 12-Bit 1 MSPS Analog-to-Digital Converter User Guide (UG480) or for more information on the specific registers of the XADC and how to address them.

Although you can use the get_hw_sysmon_reg command to access the hex values stored in registers of a system monitor, you can also retrieve values of certain registers as formatted properties of the hw_sysmon object. For example, the following code retrieves the TEMPERATURE property of the specified hw_sysmon object rather than directly accessing the hex value of the register:

get_property TEMPERATURE [get_hw_sysmons]

Related Objects

The HW_SYSMON object can be found in the Hardware Manager on the programmed hw_device, on the current hw_target and hw_server. You can query the hw_sysmon of the hw_device as follows:

get_hw_sysmons -of [get_hw_devices]


You can use the report_property command to report the actual properties assigned to HW_SYSMON objects. Refer to the Vivado Design Suite Tcl Command Reference Guide (UG835) for more information.

To report the properties for the HW_SYSMON you can copy and paste the following command into the Vivado Design Suite Tcl shell or Tcl Console:

report_property -all [lindex [get_hw_sysmons] 0]

The following are the properties found on the hw_sysmon object:

Property	Type	Read-only	Visible	Value
ADC_A_GAIN	hex	true	true	0000
ADC_A_OFFSET	hex	true	true	007e
ADC_B_GAIN	hex	true	true	0000
ADC_B_OFFSET	hex	true	true	ffbb
CLASS	string	true	true	hw_sysmon
CONFIG_REG.ACQ	binary	false	true	0
CONFIG_REG.ALM0	binary	false	true	0
CONFIG_REG.ALM1	binary	false	true	0
CONFIG_REG.ALM2	binary	false	true	0
CONFIG_REG.ALM3	binary	false	true	0
CONFIG_REG.ALM4	binary	false	true	0
CONFIG_REG.ALM5	binary	false	true	0
CONFIG_REG.ALM6	binary	false	true	0
CONFIG_REG.AVG	binary	false	true	00
CONFIG_REG.BU	binary	false	true	0
CONFIG_REG.CAL0	binary	false	true	0
CONFIG_REG.CAL1	binary	false	true	0
CONFIG_REG.CAL2	binary	false	true	0
CONFIG_REG.CAL3	binary	false	true	0
CONFIG_REG.CAVG	binary	false	true	0
CONFIG_REG.CD	binary	false	true	00000000
CONFIG_REG.CH	binary	false	true	00000
CONFIG_REG.EC	binary	false	true	0
CONFIG_REG.MUX	binary	false	true	0
CONFIG_REG.OT	binary	false	true	0
CONFIG_REG.PD	binary	false	true	00
CONFIG_REG.SEQ	binary	false	true	0000
DESCRIPTION	string	true	true	XADC
FLAG.ALM0	binary	true	true	0
FLAG.ALM1	binary	true	true	0
FLAG.ALM2	binary	true	true	0
FLAG.ALM3	binary	true	true	0
FLAG.ALM4	binary	true	true	0
FLAG.ALM5	binary	true	true	0
FLAG.ALM6	binary	true	true	0
FLAG.JTGD	binary	true	true	0
FLAG.JTGR	binary	true	true	0
FLAG.OT	binary	true	true	0
FLAG.REF	binary	true	true	0
LOWER_TEMPERATURE	string	false	true	-273.1
LOWER_VCCAUX	string	false	true	0.000
LOWER_VCCBRAM	string	false	true	0.000
LOWER_VCCINT	string	false	true	0.000
LOWER_VCCO_DDR	string	false	true	0.000
LOWER_VCCPAUX	string	false	true	0.000
LOWER_VCCPINT	string	false	true	0.000
MAX_TEMPERATURE	string	true	true	41.7
MAX_VCCAUX	string	true	true	1.805
MAX_VCCBRAM	string	true	true	0.997
MAX_VCCINT	string	true	true	1.000
MAX_VCCO_DDR	string	true	true	0.000
MAX_VCCPAUX	string	true	true	0.000
MAX_VCCPINT	string	true	true	0.000
MIN_TEMPERATURE	string	true	true	37.3
MIN_VCCAUX	string	true	true	1.800
MIN_VCCBRAM	string	true	true	0.993
MIN_VCCINT	string	true	true	0.997
MIN_VCCO_DDR	string	true	true	2.999
MIN_VCCPAUX	string	true	true	2.999
MIN_VCCPINT	string	true	true	2.999
NAME	string	true	true	
SUPPLY_A_OFFSET	hex	true	true	006b
SUPPLY_B_OFFSET	hex	true	true	ffa9
SYSMON_REFRESH_RATE_MS	int	false	true	0
TEMPERATURE	string	true	true	37.8
UPPER_TEMPERATURE	string	false	true	-273.1
UPPER_VCCAUX	string	false	true	0.000
UPPER_VCCBRAM	string	false	true	0.000
UPPER_VCCINT	string	false	true	0.000
UPPER_VCCO_DDR	string	false	true	0.000
UPPER_VCCPAUX	string	false	true	0.000
UPPER_VCCPINT	string	false	true	0.000
VAUXP0_VAUXN0	string	true	true	0.000
VAUXP1_VAUXN1	string	true	true	0.000
VAUXP2_VAUXN2	string	true	true	0.000
VAUXP3_VAUXN3	string	true	true	0.000
VAUXP4_VAUXN4	string	true	true	0.000
VAUXP5_VAUXN5	string	true	true	0.000
VAUXP6_VAUXN6	string	true	true	0.000
VAUXP7_VAUXN7	string	true	true	0.000
VAUXP8_VAUXN8	string	true	true	0.000
VAUXP9_VAUXN9	string	true	true	0.000
VAUXP10_VAUXN10	string	true	true	0.000
VAUXP11_VAUXN11	string	true	true	0.000
VAUXP12_VAUXN12	string	true	true	0.000
VAUXP13_VAUXN13	string	true	true	0.000
VAUXP14_VAUXN14	string	true	true	0.000
VAUXP15_VAUXN15	string	true	true	0.000
VCCAUX	string	true	true	1.802
VCCBRAM	string	true	true	0.995
VCCINT	string	true	true	0.999
VCCO_DDR	string	true	true	0.000
VCCPAUX	string	true	true	0.000
VCCPINT	string	true	true	0.000
VP_VN	string	true	true	0.000
VREFN	string	true	true	0.000
VREFP	string	true	true	0.000