06-22-2018 11:00 AM
Hi All,
I'm using the XADC in a project and it would be really helpful if i could change the names of the channels as they appear in the Hardware Manager XADC window. Is there a way to do this?
Also, it would be a really cool feature if you could enter a simple equation to be applied to readings. This would allow the readings to be easily read if there is a voltage divider or some other device involved.
Thanks,
Eric
06-29-2018 10:26 AM - edited 06-29-2018 10:34 AM
Hi @sarman_1998,
Do you mean changing the names such as Temp, VCCINT, VCCAUX as in the image below:
That unfortunately is not possible. Those are properties of the XADC and you can't change the names.
About the equations for readings, you can individually get the values (in decimal) for each property via TCL, and then use the TCL expr command to perform math on it.
As an example, below is a command to get a list of all the existent XADC properties:
report_property [lindex [get_hw_sysmons] 0] Property Type Read-only Value ADC_GAIN hex true 0128 ADC_OFFSET hex true 0141 ALARM_OT_LOWER string false -273.1 ALARM_OT_LOWER_SCALE enum false CELSIUS ALARM_OT_UPPER string false -273.1 ALARM_OT_UPPER_SCALE enum false CELSIUS ALARM_TEMPERATURE_LOWER string false -280.2 ALARM_TEMPERATURE_LOWER_SCALE enum false CELSIUS ALARM_TEMPERATURE_UPPER string false -280.2 ALARM_TEMPERATURE_UPPER_SCALE enum false CELSIUS ALARM_VCCAUX_LOWER string false 0.000 ALARM_VCCAUX_UPPER string false 0.000 ALARM_VCCBRAM_LOWER string false 0.000 ALARM_VCCBRAM_UPPER string false 0.000 ALARM_VCCINT_LOWER string false 0.000 ALARM_VCCINT_UPPER string false 0.000 ALARM_VCC_PSAUX_LOWER string true 0.000 ALARM_VCC_PSAUX_UPPER string true 0.000 ALARM_VCC_PSINTFP_LOWER string true 0.000 ALARM_VCC_PSINTFP_UPPER string true 0.000 ALARM_VCC_PSINTLP_LOWER string true 0.000 ALARM_VCC_PSINTLP_UPPER string true 0.000 ALARM_VUSER0_LOWER string false 0.000 ALARM_VUSER0_UPPER string false 0.000 ALARM_VUSER1_LOWER string false 0.000 ALARM_VUSER1_UPPER string false 0.000 ALARM_VUSER2_LOWER string false 0.000 ALARM_VUSER2_UPPER string false 0.000 ALARM_VUSER3_LOWER string false 0.000 ALARM_VUSER3_UPPER string false 0.000 CLASS string true hw_sysmon CONFIG_REG.ACQ binary false 0 CONFIG_REG.ALM0 binary false 0 CONFIG_REG.ALM1 binary false 0 CONFIG_REG.ALM2 binary false 0 CONFIG_REG.ALM3 binary false 0 CONFIG_REG.ALM4 binary false 0 CONFIG_REG.ALM5 binary false 0 CONFIG_REG.ALM6 binary false 0 CONFIG_REG.ALM8 binary false 0 CONFIG_REG.ALM9 binary false 0 CONFIG_REG.ALM10 binary false 0 CONFIG_REG.ALM11 binary false 0 CONFIG_REG.AVG binary false 00 CONFIG_REG.BU binary false 0 CONFIG_REG.CAL0 binary false 0 CONFIG_REG.CAL2 binary false 0 CONFIG_REG.CAL3 binary false 0 CONFIG_REG.CAVG binary false 0 CONFIG_REG.CD binary false 00000000 CONFIG_REG.CH binary false 000000 CONFIG_REG.DUAL_EOS binary false 00 CONFIG_REG.DUAL_SEQ binary false 00 CONFIG_REG.EC binary false 0 CONFIG_REG.I2C_A binary false 0000000 CONFIG_REG.I2C_EN binary false 0 CONFIG_REG.I2C_OR binary false 0 CONFIG_REG.MUX binary false 0 CONFIG_REG.OT binary false 0 CONFIG_REG.PMBUS_HRIO binary false 0000 CONFIG_REG.SEQ binary false 0000 DESCRIPTION string true SysMon ENABLE_ALL_AUXILIARY_CHANNELS bool false 0 FLAG.ALM0 binary true 0 FLAG.ALM1 binary true 0 FLAG.ALM2 binary true 0 FLAG.ALM3 binary true 0 FLAG.ALM4 binary true 0 FLAG.ALM5 binary true 0 FLAG.ALM6 binary true 0 FLAG.ALM8 binary true 0 FLAG.ALM9 binary true 0 FLAG.ALM10 binary true 0 FLAG.ALM11 binary true 0 FLAG.JTGD binary true 0 FLAG.JTGR binary true 0 FLAG.OT binary true 0 FLAG.REF binary true 1 I2C_ADDR_MEAS binary true 0000000010101111 MAX_TEMPERATURE string true 29.4 MAX_TEMPERATURE_SCALE enum false CELSIUS MAX_VCCAUX string true 1.787 MAX_VCCBRAM string true 0.847 MAX_VCCINT string true 0.844 MAX_VCC_PSAUX string true 1.816 MAX_VCC_PSINTFP string true 0.847 MAX_VCC_PSINTLP string true 0.850 MAX_VUSER0 string true 0.000 MAX_VUSER1 string true 0.000 MAX_VUSER2 string true 0.000 MAX_VUSER3 string true 0.000 MIN_TEMPERATURE string true 22.5 MIN_TEMPERATURE_SCALE enum false CELSIUS MIN_VCCAUX string true 1.778 MIN_VCCBRAM string true 0.841 MIN_VCCINT string true 0.841 MIN_VCC_PSAUX string true 1.808 MIN_VCC_PSINTFP string true 0.844 MIN_VCC_PSINTLP string true 0.844 MIN_VUSER0 string true 2.997 MIN_VUSER1 string true 2.997 MIN_VUSER2 string true 2.997 MIN_VUSER3 string true 2.997 NAME string true localhost:3121/xilinx_tcf/Digilent/210308A1CBEB/xczu9_0/SYSMON OT_AUTOMATIC_SHUTDOWN binary false 0000 SEQUENCER.ACQ_AUX0 binary false 0 SEQUENCER.ACQ_AUX1 binary false 0 SEQUENCER.ACQ_AUX2 binary false 0 SEQUENCER.ACQ_AUX3 binary false 0 SEQUENCER.ACQ_AUX4 binary false 0 SEQUENCER.ACQ_AUX5 binary false 0 SEQUENCER.ACQ_AUX6 binary false 0 SEQUENCER.ACQ_AUX7 binary false 0 SEQUENCER.ACQ_AUX8 binary false 0 SEQUENCER.ACQ_AUX9 binary false 0 SEQUENCER.ACQ_AUX10 binary false 0 SEQUENCER.ACQ_AUX11 binary false 0 SEQUENCER.ACQ_AUX12 binary false 0 SEQUENCER.ACQ_AUX13 binary false 0 SEQUENCER.ACQ_AUX14 binary false 0 SEQUENCER.ACQ_AUX15 binary false 0 SEQUENCER.ACQ_USER0 binary false 0 SEQUENCER.ACQ_USER1 binary false 0 SEQUENCER.ACQ_USER2 binary false 0 SEQUENCER.ACQ_USER3 binary false 0 SEQUENCER.ACQ_VPVN binary false 0 SEQUENCER.AVG_AUX0 binary false 0 SEQUENCER.AVG_AUX1 binary false 0 SEQUENCER.AVG_AUX2 binary false 0 SEQUENCER.AVG_AUX3 binary false 0 SEQUENCER.AVG_AUX4 binary false 0 SEQUENCER.AVG_AUX5 binary false 0 SEQUENCER.AVG_AUX6 binary false 0 SEQUENCER.AVG_AUX7 binary false 0 SEQUENCER.AVG_AUX8 binary false 0 SEQUENCER.AVG_AUX9 binary false 0 SEQUENCER.AVG_AUX10 binary false 0 SEQUENCER.AVG_AUX11 binary false 0 SEQUENCER.AVG_AUX12 binary false 0 SEQUENCER.AVG_AUX13 binary false 0 SEQUENCER.AVG_AUX14 binary false 0 SEQUENCER.AVG_AUX15 binary false 0 SEQUENCER.AVG_AUX_AVG binary false 0 SEQUENCER.AVG_BRAM_AVG binary false 0 SEQUENCER.AVG_INT_AVG binary false 0 SEQUENCER.AVG_SYSMON_CAL binary false 0 SEQUENCER.AVG_TEMP binary false 0 SEQUENCER.AVG_USER0 binary false 0 SEQUENCER.AVG_USER1 binary false 0 SEQUENCER.AVG_USER2 binary false 0 SEQUENCER.AVG_USER3 binary false 0 SEQUENCER.AVG_VCC_PSAUX binary false 0 SEQUENCER.AVG_VCC_PSINTFP binary false 0 SEQUENCER.AVG_VCC_PSINTLP binary false 0 SEQUENCER.AVG_VPVN binary false 0 SEQUENCER.CHSEL_AUX0 binary false 0 SEQUENCER.CHSEL_AUX1 binary false 0 SEQUENCER.CHSEL_AUX2 binary false 0 SEQUENCER.CHSEL_AUX3 binary false 0 SEQUENCER.CHSEL_AUX4 binary false 0 SEQUENCER.CHSEL_AUX5 binary false 0 SEQUENCER.CHSEL_AUX6 binary false 0 SEQUENCER.CHSEL_AUX7 binary false 0 SEQUENCER.CHSEL_AUX8 binary false 0 SEQUENCER.CHSEL_AUX9 binary false 0 SEQUENCER.CHSEL_AUX10 binary false 0 SEQUENCER.CHSEL_AUX11 binary false 0 SEQUENCER.CHSEL_AUX12 binary false 0 SEQUENCER.CHSEL_AUX13 binary false 0 SEQUENCER.CHSEL_AUX14 binary false 0 SEQUENCER.CHSEL_AUX15 binary false 0 SEQUENCER.CHSEL_AUX_AVG binary false 0 SEQUENCER.CHSEL_BRAM_AVG binary false 0 SEQUENCER.CHSEL_INT_AVG binary false 0 SEQUENCER.CHSEL_SYSMON_CAL binary false 0 SEQUENCER.CHSEL_TEMP binary false 0 SEQUENCER.CHSEL_USER0 binary false 0 SEQUENCER.CHSEL_USER1 binary false 0 SEQUENCER.CHSEL_USER2 binary false 0 SEQUENCER.CHSEL_USER3 binary false 0 SEQUENCER.CHSEL_VCC_PSAUX binary false 0 SEQUENCER.CHSEL_VCC_PSINTFP binary false 0 SEQUENCER.CHSEL_VCC_PSINTLP binary false 0 SEQUENCER.CHSEL_VPVN binary false 0 SEQUENCER.CHSEL_VREFN binary false 0 SEQUENCER.CHSEL_VREFP binary false 0 SEQUENCER.DUAL_AUX0 binary false 0 SEQUENCER.DUAL_AUX1 binary false 0 SEQUENCER.DUAL_AUX2 binary false 0 SEQUENCER.DUAL_AUX3 binary false 0 SEQUENCER.DUAL_AUX4 binary false 0 SEQUENCER.DUAL_AUX5 binary false 0 SEQUENCER.DUAL_AUX6 binary false 0 SEQUENCER.DUAL_AUX7 binary false 0 SEQUENCER.DUAL_AUX8 binary false 0 SEQUENCER.DUAL_AUX9 binary false 0 SEQUENCER.DUAL_AUX10 binary false 0 SEQUENCER.DUAL_AUX11 binary false 0 SEQUENCER.DUAL_AUX12 binary false 0 SEQUENCER.DUAL_AUX13 binary false 0 SEQUENCER.DUAL_AUX14 binary false 0 SEQUENCER.DUAL_AUX15 binary false 0 SEQUENCER.DUAL_AUX_AVG binary false 0 SEQUENCER.DUAL_BRAM_AVG binary false 0 SEQUENCER.DUAL_INT_AVG binary false 0 SEQUENCER.DUAL_SYSMON_CAL binary false 0 SEQUENCER.DUAL_TEMP binary false 0 SEQUENCER.DUAL_USER0 binary false 0 SEQUENCER.DUAL_USER1 binary false 0 SEQUENCER.DUAL_USER2 binary false 0 SEQUENCER.DUAL_USER3 binary false 0 SEQUENCER.DUAL_VPVN binary false 0 SEQUENCER.DUAL_VREFN binary false 0 SEQUENCER.DUAL_VREFP binary false 0 SEQUENCER.INSEL_AUX0 binary false 0 SEQUENCER.INSEL_AUX1 binary false 0 SEQUENCER.INSEL_AUX2 binary false 0 SEQUENCER.INSEL_AUX3 binary false 0 SEQUENCER.INSEL_AUX4 binary false 0 SEQUENCER.INSEL_AUX5 binary false 0 SEQUENCER.INSEL_AUX6 binary false 0 SEQUENCER.INSEL_AUX7 binary false 0 SEQUENCER.INSEL_AUX8 binary false 0 SEQUENCER.INSEL_AUX9 binary false 0 SEQUENCER.INSEL_AUX10 binary false 0 SEQUENCER.INSEL_AUX11 binary false 0 SEQUENCER.INSEL_AUX12 binary false 0 SEQUENCER.INSEL_AUX13 binary false 0 SEQUENCER.INSEL_AUX14 binary false 0 SEQUENCER.INSEL_AUX15 binary false 0 SEQUENCER.INSEL_USER0 binary false 0 SEQUENCER.INSEL_USER1 binary false 0 SEQUENCER.INSEL_USER2 binary false 0 SEQUENCER.INSEL_USER3 binary false 0 SEQUENCER.INSEL_VPVN binary false 0 SUPPLY_OFFSET hex true 0135 SYSMON_REFRESH_RATE_MS int false 1000 TEMPERATURE string true 28.4 TEMPERATURE_SCALE enum false CELSIUS VAUXP0_VAUXN0 string true 0.000 VAUXP1_VAUXN1 string true 0.000 VAUXP2_VAUXN2 string true 0.000 VAUXP3_VAUXN3 string true 0.000 VAUXP4_VAUXN4 string true 0.000 VAUXP5_VAUXN5 string true 0.000 VAUXP6_VAUXN6 string true 0.000 VAUXP7_VAUXN7 string true 0.000 VAUXP8_VAUXN8 string true 0.000 VAUXP9_VAUXN9 string true 0.000 VAUXP10_VAUXN10 string true 0.000 VAUXP11_VAUXN11 string true 0.000 VAUXP12_VAUXN12 string true 0.000 VAUXP13_VAUXN13 string true 0.000 VAUXP14_VAUXN14 string true 0.000 VAUXP15_VAUXN15 string true 0.000 VCCAUX string true 1.781 VCCBRAM string true 0.844 VCCINT string true 0.841 VCC_PSAUX string true 1.811 VCC_PSINTFP string true 0.844 VCC_PSINTLP string true 0.847 VP_VN string true 0.002 VREFN string true 0.000 VREFP string true 0.000 VUSER0 string true 0.000 VUSER1 string true 0.000 VUSER2 string true 0.000 VUSER3 string true 0.000
lets say I'm interested in the values for VCCAUX. I can use the following command. Observe TCL returned me the value in Volts.
get_property VCCAUX [lindex [get_hw_sysmons] 0] 1.781
to perform calculations, I can actually store the value above into a variable, as below. And to read the value stored in that variable, I can use the $var_name:
set my_var [get_property VCCAUX [lindex [get_hw_sysmons] 0]] 1.781 $my_var [1.781]
Now, I can do math with that variable using the command expr:
expr {$my_var * 2} 3.562
A list with all the possible math operations and examples in TCL is available here:
I hope that helps.
Thanks.
06-29-2018 10:26 AM - edited 06-29-2018 10:34 AM
Hi @sarman_1998,
Do you mean changing the names such as Temp, VCCINT, VCCAUX as in the image below:
That unfortunately is not possible. Those are properties of the XADC and you can't change the names.
About the equations for readings, you can individually get the values (in decimal) for each property via TCL, and then use the TCL expr command to perform math on it.
As an example, below is a command to get a list of all the existent XADC properties:
report_property [lindex [get_hw_sysmons] 0] Property Type Read-only Value ADC_GAIN hex true 0128 ADC_OFFSET hex true 0141 ALARM_OT_LOWER string false -273.1 ALARM_OT_LOWER_SCALE enum false CELSIUS ALARM_OT_UPPER string false -273.1 ALARM_OT_UPPER_SCALE enum false CELSIUS ALARM_TEMPERATURE_LOWER string false -280.2 ALARM_TEMPERATURE_LOWER_SCALE enum false CELSIUS ALARM_TEMPERATURE_UPPER string false -280.2 ALARM_TEMPERATURE_UPPER_SCALE enum false CELSIUS ALARM_VCCAUX_LOWER string false 0.000 ALARM_VCCAUX_UPPER string false 0.000 ALARM_VCCBRAM_LOWER string false 0.000 ALARM_VCCBRAM_UPPER string false 0.000 ALARM_VCCINT_LOWER string false 0.000 ALARM_VCCINT_UPPER string false 0.000 ALARM_VCC_PSAUX_LOWER string true 0.000 ALARM_VCC_PSAUX_UPPER string true 0.000 ALARM_VCC_PSINTFP_LOWER string true 0.000 ALARM_VCC_PSINTFP_UPPER string true 0.000 ALARM_VCC_PSINTLP_LOWER string true 0.000 ALARM_VCC_PSINTLP_UPPER string true 0.000 ALARM_VUSER0_LOWER string false 0.000 ALARM_VUSER0_UPPER string false 0.000 ALARM_VUSER1_LOWER string false 0.000 ALARM_VUSER1_UPPER string false 0.000 ALARM_VUSER2_LOWER string false 0.000 ALARM_VUSER2_UPPER string false 0.000 ALARM_VUSER3_LOWER string false 0.000 ALARM_VUSER3_UPPER string false 0.000 CLASS string true hw_sysmon CONFIG_REG.ACQ binary false 0 CONFIG_REG.ALM0 binary false 0 CONFIG_REG.ALM1 binary false 0 CONFIG_REG.ALM2 binary false 0 CONFIG_REG.ALM3 binary false 0 CONFIG_REG.ALM4 binary false 0 CONFIG_REG.ALM5 binary false 0 CONFIG_REG.ALM6 binary false 0 CONFIG_REG.ALM8 binary false 0 CONFIG_REG.ALM9 binary false 0 CONFIG_REG.ALM10 binary false 0 CONFIG_REG.ALM11 binary false 0 CONFIG_REG.AVG binary false 00 CONFIG_REG.BU binary false 0 CONFIG_REG.CAL0 binary false 0 CONFIG_REG.CAL2 binary false 0 CONFIG_REG.CAL3 binary false 0 CONFIG_REG.CAVG binary false 0 CONFIG_REG.CD binary false 00000000 CONFIG_REG.CH binary false 000000 CONFIG_REG.DUAL_EOS binary false 00 CONFIG_REG.DUAL_SEQ binary false 00 CONFIG_REG.EC binary false 0 CONFIG_REG.I2C_A binary false 0000000 CONFIG_REG.I2C_EN binary false 0 CONFIG_REG.I2C_OR binary false 0 CONFIG_REG.MUX binary false 0 CONFIG_REG.OT binary false 0 CONFIG_REG.PMBUS_HRIO binary false 0000 CONFIG_REG.SEQ binary false 0000 DESCRIPTION string true SysMon ENABLE_ALL_AUXILIARY_CHANNELS bool false 0 FLAG.ALM0 binary true 0 FLAG.ALM1 binary true 0 FLAG.ALM2 binary true 0 FLAG.ALM3 binary true 0 FLAG.ALM4 binary true 0 FLAG.ALM5 binary true 0 FLAG.ALM6 binary true 0 FLAG.ALM8 binary true 0 FLAG.ALM9 binary true 0 FLAG.ALM10 binary true 0 FLAG.ALM11 binary true 0 FLAG.JTGD binary true 0 FLAG.JTGR binary true 0 FLAG.OT binary true 0 FLAG.REF binary true 1 I2C_ADDR_MEAS binary true 0000000010101111 MAX_TEMPERATURE string true 29.4 MAX_TEMPERATURE_SCALE enum false CELSIUS MAX_VCCAUX string true 1.787 MAX_VCCBRAM string true 0.847 MAX_VCCINT string true 0.844 MAX_VCC_PSAUX string true 1.816 MAX_VCC_PSINTFP string true 0.847 MAX_VCC_PSINTLP string true 0.850 MAX_VUSER0 string true 0.000 MAX_VUSER1 string true 0.000 MAX_VUSER2 string true 0.000 MAX_VUSER3 string true 0.000 MIN_TEMPERATURE string true 22.5 MIN_TEMPERATURE_SCALE enum false CELSIUS MIN_VCCAUX string true 1.778 MIN_VCCBRAM string true 0.841 MIN_VCCINT string true 0.841 MIN_VCC_PSAUX string true 1.808 MIN_VCC_PSINTFP string true 0.844 MIN_VCC_PSINTLP string true 0.844 MIN_VUSER0 string true 2.997 MIN_VUSER1 string true 2.997 MIN_VUSER2 string true 2.997 MIN_VUSER3 string true 2.997 NAME string true localhost:3121/xilinx_tcf/Digilent/210308A1CBEB/xczu9_0/SYSMON OT_AUTOMATIC_SHUTDOWN binary false 0000 SEQUENCER.ACQ_AUX0 binary false 0 SEQUENCER.ACQ_AUX1 binary false 0 SEQUENCER.ACQ_AUX2 binary false 0 SEQUENCER.ACQ_AUX3 binary false 0 SEQUENCER.ACQ_AUX4 binary false 0 SEQUENCER.ACQ_AUX5 binary false 0 SEQUENCER.ACQ_AUX6 binary false 0 SEQUENCER.ACQ_AUX7 binary false 0 SEQUENCER.ACQ_AUX8 binary false 0 SEQUENCER.ACQ_AUX9 binary false 0 SEQUENCER.ACQ_AUX10 binary false 0 SEQUENCER.ACQ_AUX11 binary false 0 SEQUENCER.ACQ_AUX12 binary false 0 SEQUENCER.ACQ_AUX13 binary false 0 SEQUENCER.ACQ_AUX14 binary false 0 SEQUENCER.ACQ_AUX15 binary false 0 SEQUENCER.ACQ_USER0 binary false 0 SEQUENCER.ACQ_USER1 binary false 0 SEQUENCER.ACQ_USER2 binary false 0 SEQUENCER.ACQ_USER3 binary false 0 SEQUENCER.ACQ_VPVN binary false 0 SEQUENCER.AVG_AUX0 binary false 0 SEQUENCER.AVG_AUX1 binary false 0 SEQUENCER.AVG_AUX2 binary false 0 SEQUENCER.AVG_AUX3 binary false 0 SEQUENCER.AVG_AUX4 binary false 0 SEQUENCER.AVG_AUX5 binary false 0 SEQUENCER.AVG_AUX6 binary false 0 SEQUENCER.AVG_AUX7 binary false 0 SEQUENCER.AVG_AUX8 binary false 0 SEQUENCER.AVG_AUX9 binary false 0 SEQUENCER.AVG_AUX10 binary false 0 SEQUENCER.AVG_AUX11 binary false 0 SEQUENCER.AVG_AUX12 binary false 0 SEQUENCER.AVG_AUX13 binary false 0 SEQUENCER.AVG_AUX14 binary false 0 SEQUENCER.AVG_AUX15 binary false 0 SEQUENCER.AVG_AUX_AVG binary false 0 SEQUENCER.AVG_BRAM_AVG binary false 0 SEQUENCER.AVG_INT_AVG binary false 0 SEQUENCER.AVG_SYSMON_CAL binary false 0 SEQUENCER.AVG_TEMP binary false 0 SEQUENCER.AVG_USER0 binary false 0 SEQUENCER.AVG_USER1 binary false 0 SEQUENCER.AVG_USER2 binary false 0 SEQUENCER.AVG_USER3 binary false 0 SEQUENCER.AVG_VCC_PSAUX binary false 0 SEQUENCER.AVG_VCC_PSINTFP binary false 0 SEQUENCER.AVG_VCC_PSINTLP binary false 0 SEQUENCER.AVG_VPVN binary false 0 SEQUENCER.CHSEL_AUX0 binary false 0 SEQUENCER.CHSEL_AUX1 binary false 0 SEQUENCER.CHSEL_AUX2 binary false 0 SEQUENCER.CHSEL_AUX3 binary false 0 SEQUENCER.CHSEL_AUX4 binary false 0 SEQUENCER.CHSEL_AUX5 binary false 0 SEQUENCER.CHSEL_AUX6 binary false 0 SEQUENCER.CHSEL_AUX7 binary false 0 SEQUENCER.CHSEL_AUX8 binary false 0 SEQUENCER.CHSEL_AUX9 binary false 0 SEQUENCER.CHSEL_AUX10 binary false 0 SEQUENCER.CHSEL_AUX11 binary false 0 SEQUENCER.CHSEL_AUX12 binary false 0 SEQUENCER.CHSEL_AUX13 binary false 0 SEQUENCER.CHSEL_AUX14 binary false 0 SEQUENCER.CHSEL_AUX15 binary false 0 SEQUENCER.CHSEL_AUX_AVG binary false 0 SEQUENCER.CHSEL_BRAM_AVG binary false 0 SEQUENCER.CHSEL_INT_AVG binary false 0 SEQUENCER.CHSEL_SYSMON_CAL binary false 0 SEQUENCER.CHSEL_TEMP binary false 0 SEQUENCER.CHSEL_USER0 binary false 0 SEQUENCER.CHSEL_USER1 binary false 0 SEQUENCER.CHSEL_USER2 binary false 0 SEQUENCER.CHSEL_USER3 binary false 0 SEQUENCER.CHSEL_VCC_PSAUX binary false 0 SEQUENCER.CHSEL_VCC_PSINTFP binary false 0 SEQUENCER.CHSEL_VCC_PSINTLP binary false 0 SEQUENCER.CHSEL_VPVN binary false 0 SEQUENCER.CHSEL_VREFN binary false 0 SEQUENCER.CHSEL_VREFP binary false 0 SEQUENCER.DUAL_AUX0 binary false 0 SEQUENCER.DUAL_AUX1 binary false 0 SEQUENCER.DUAL_AUX2 binary false 0 SEQUENCER.DUAL_AUX3 binary false 0 SEQUENCER.DUAL_AUX4 binary false 0 SEQUENCER.DUAL_AUX5 binary false 0 SEQUENCER.DUAL_AUX6 binary false 0 SEQUENCER.DUAL_AUX7 binary false 0 SEQUENCER.DUAL_AUX8 binary false 0 SEQUENCER.DUAL_AUX9 binary false 0 SEQUENCER.DUAL_AUX10 binary false 0 SEQUENCER.DUAL_AUX11 binary false 0 SEQUENCER.DUAL_AUX12 binary false 0 SEQUENCER.DUAL_AUX13 binary false 0 SEQUENCER.DUAL_AUX14 binary false 0 SEQUENCER.DUAL_AUX15 binary false 0 SEQUENCER.DUAL_AUX_AVG binary false 0 SEQUENCER.DUAL_BRAM_AVG binary false 0 SEQUENCER.DUAL_INT_AVG binary false 0 SEQUENCER.DUAL_SYSMON_CAL binary false 0 SEQUENCER.DUAL_TEMP binary false 0 SEQUENCER.DUAL_USER0 binary false 0 SEQUENCER.DUAL_USER1 binary false 0 SEQUENCER.DUAL_USER2 binary false 0 SEQUENCER.DUAL_USER3 binary false 0 SEQUENCER.DUAL_VPVN binary false 0 SEQUENCER.DUAL_VREFN binary false 0 SEQUENCER.DUAL_VREFP binary false 0 SEQUENCER.INSEL_AUX0 binary false 0 SEQUENCER.INSEL_AUX1 binary false 0 SEQUENCER.INSEL_AUX2 binary false 0 SEQUENCER.INSEL_AUX3 binary false 0 SEQUENCER.INSEL_AUX4 binary false 0 SEQUENCER.INSEL_AUX5 binary false 0 SEQUENCER.INSEL_AUX6 binary false 0 SEQUENCER.INSEL_AUX7 binary false 0 SEQUENCER.INSEL_AUX8 binary false 0 SEQUENCER.INSEL_AUX9 binary false 0 SEQUENCER.INSEL_AUX10 binary false 0 SEQUENCER.INSEL_AUX11 binary false 0 SEQUENCER.INSEL_AUX12 binary false 0 SEQUENCER.INSEL_AUX13 binary false 0 SEQUENCER.INSEL_AUX14 binary false 0 SEQUENCER.INSEL_AUX15 binary false 0 SEQUENCER.INSEL_USER0 binary false 0 SEQUENCER.INSEL_USER1 binary false 0 SEQUENCER.INSEL_USER2 binary false 0 SEQUENCER.INSEL_USER3 binary false 0 SEQUENCER.INSEL_VPVN binary false 0 SUPPLY_OFFSET hex true 0135 SYSMON_REFRESH_RATE_MS int false 1000 TEMPERATURE string true 28.4 TEMPERATURE_SCALE enum false CELSIUS VAUXP0_VAUXN0 string true 0.000 VAUXP1_VAUXN1 string true 0.000 VAUXP2_VAUXN2 string true 0.000 VAUXP3_VAUXN3 string true 0.000 VAUXP4_VAUXN4 string true 0.000 VAUXP5_VAUXN5 string true 0.000 VAUXP6_VAUXN6 string true 0.000 VAUXP7_VAUXN7 string true 0.000 VAUXP8_VAUXN8 string true 0.000 VAUXP9_VAUXN9 string true 0.000 VAUXP10_VAUXN10 string true 0.000 VAUXP11_VAUXN11 string true 0.000 VAUXP12_VAUXN12 string true 0.000 VAUXP13_VAUXN13 string true 0.000 VAUXP14_VAUXN14 string true 0.000 VAUXP15_VAUXN15 string true 0.000 VCCAUX string true 1.781 VCCBRAM string true 0.844 VCCINT string true 0.841 VCC_PSAUX string true 1.811 VCC_PSINTFP string true 0.844 VCC_PSINTLP string true 0.847 VP_VN string true 0.002 VREFN string true 0.000 VREFP string true 0.000 VUSER0 string true 0.000 VUSER1 string true 0.000 VUSER2 string true 0.000 VUSER3 string true 0.000
lets say I'm interested in the values for VCCAUX. I can use the following command. Observe TCL returned me the value in Volts.
get_property VCCAUX [lindex [get_hw_sysmons] 0] 1.781
to perform calculations, I can actually store the value above into a variable, as below. And to read the value stored in that variable, I can use the $var_name:
set my_var [get_property VCCAUX [lindex [get_hw_sysmons] 0]] 1.781 $my_var [1.781]
Now, I can do math with that variable using the command expr:
expr {$my_var * 2} 3.562
A list with all the possible math operations and examples in TCL is available here:
I hope that helps.
Thanks.
07-30-2018 09:35 AM
Hi Anunesgu,
Adding the ability to rename those channels, either as a user defined "friendly name" in hardware manager, or in the IP wizard would be a great enhancement to Vivado. I have seen other IP blocks that have a port renaming tab i wonder if that could be added to the XADC wizard?
Also, at least up to version 2018.1, i've noticed that in hardware manager, the Y axis of the graph for voltages won't go above 0.5V. I understand that in one mode the XADC reads +- 0.5V but i'm using the mode that reads 0-1.0V. It would be great if the Y axis would at least scale up to 1.0V or if the Y axis min/max could be set in hardware manager.
Thanks,
Eric