From 2023.2 Vivado onwards, the PLM was updated to address this issue. The PLM will poll the temperatures from each SLR, determine which temperature is highest and write the highest temperature to the SSIT Current Temp Max across all SLRs Register.
| Address | Usage |
| 0xF1270134 | SSIT Current Temp Max across all SLRs |
If you are using a Linux OS in Vivado 2023.x, the Sysmon driver will read from all SLRs and report back the highest temperature of the device.
Note: if you are using 2023.2 or 2024.x or 2025.1, the Sysmon Register space will be locked, meaning you cannot write to these registers. If your application requires write to this space you can apply the 2023.2, 2024.x or 2025.1 version of the patch that will leave the Sysmon Register space unlocked.
Starting with 2025.2 users can choose to leave the Sysmon Register space unlocked by applying the sysmon-unlock.cdo overlay attached to the Answer Record.
Create an updated PDI using bootgen with the CDO overlay
bootgen -arch versal -log trace -image boot.bif -w -o boot.pdi -overlay_cdo sysmon-unlock.cdo
If using I2C or PMBus, these Addresses should be used for the Temperature Readings is SSIT Current Temp Max across all SLRs Register.
The DEVICE_TEMP_MAX 0x001F271F90 and the DEVICE_TEMP_MIN 0x001F271F8C will be the maximum and minimum of the device temperature for SLR0 only as it was cleared by the STATUS_RESET [device _temp] bit.
Work-around for Vivado 2023.1.x:
If you are using Vivado 2023.1.x, you can apply the patch and .cdo overlay attached to this Answer Record and follow the steps below:
- Download the patch and apply it to your Vivado version. The Readme file included with the patch contains information on how to apply patches.
- Generate the device image (PDI) in Vivado with the patched Vivado version
- Download the CDO overlay
- Create an updated PDI using bootgen with the CDO overlay
bootgen -arch versal -log trace -image <device image generated>.bif -w -o boot.pdi -overlay_cdo secio-sysmon.v2.cdo
The patch will update the PLM which will read the temperatures across the SLRs and update the following register with the current temperatures across the SLRs.
Note: the AR000035014_vitis_2023_1_preliminary_rev3.zip and AR000035014_vivado_2023_1_preliminary_rev3.zip patches will leave the Sysmon Register space unlocked. The AR000035014_vitis_2023_1_preliminary_rev2.zip and AR000035014_vivado_2023_1_preliminary_rev2.zip version of the patch will leave the Sysmon Register space locked.
For additional information on using PLM patches see 000034167 - Versal ACAP Configuration: How do I patch the PLM?
The Hardware Manager will report the accurate current temperature for the entire device and will only display one temperature Device_Temp (not one per SLR). The Hardware Manager Device_Temp_Min and Device_Temp_Max will only be accurate for SLR0.
Additionally the Temperature Alarms will only assert the interrupts if the limits are exceeded for the temperature in SLR0. The PLM patch utilizes the PMC_ERR2_TRIG 0x00F1130014 bit 16 PMC_SMON9. If the temperature exceeds the DEVICE_TEMP_TH_UPPER limits set in the CIPS GUI on any SLR, the PMC_SMON9 bit will assert and can be used as an interrupt.
In Hysteresis Mode, the Temp alarm ISR Bit 9 TEMP deasserts when the temperature alarm goes below the DEVICE_TEMP_TH_LOWER. However, in SSIT devices, when using the PLM patch with PMC_SMON9 as the Temperature alarm, it will not deassert based on the DEVICE_TEMP_TH_LOWER and the interrupt handler will need to write to bit PMC_SMON9 to clear it.
Alternatively, you can apply a 30C margin to all temperature readings to prevent operation outside of the recommended temperature range or assertion of an unexpected Over Temperature shutdown.
Revision History:
- 14/11/2025 - Updated with 2025.2 cdo over to leave registers unlocked.
- 14/10/2025 - Added 2025.1 patch
- 20/05/2024 - Reworded & reordered for readability. Added 2024.2 patch
- 06/06/2024 - Added 2023.2 and 2024.1 patch versions
- 08/14/2023 - Update to remove current min register description from PLM patch, add details on alarm behavior and removed work-around required before patch. Updated patch version to resolve issue with non SSIT devices.
- 06/23/2023 - Updated to include PLM patch
- 05/03/2023 - Initial Release