-
Notifications
You must be signed in to change notification settings - Fork 276
Description
Prerequisites
Reproducible on current dev branch, link to test case will follow.
Quick summary
When running simulation for an HLS MVAU with runtime writeable weights in URAM targeting UltraScale devices, the first output values are 'Z's which causes pyxsi to throw an error here: https://github.com/maltanar/pyxsi/blob/feature/utils/py/pyxsi_utils.py#L255
Because a string consisting of Z's can't be converted to an integer. This behaviour is expected and can't be addressed at the moment, it will be addressed as part of the switch to finn xsi as new simulation backend.
Details
When selecting URAM (with the ram_style option "ultra"), depending on the target device the memstream component can have an initialization file for the weights (Versal fabric) or the weights need to be initialized using axilite (UltraScale fabric). In the latter scenario during simulation, we need to insert a pre-hook function in the simulation which writes the weights via axilite.
For the RTL MVAU this is working, but the HLS MVAU starts immediately processing before the weights are written. So that the first values that get produced are invalid and the simulator outputs ‘Z’s. This causes the error that was described above.
For now, the test will be skipped, and this will be addressed as part of the switch to finn xsi as new simulation backend.