x86simulator Memory Access Violation and Valgrind - 2022.2 English

Vitis Tutorials: AI Engine Development

Document ID
Release Date
2022.2 English

Memory access violations occur when a kernel is reading or writing out of bounds of an object or reading uninitialized memory. This can manifest itself in multiple ways like a simulator crash or hang. It can also cause simulator results to be non-repeatable. The x86simulator --valgrind option will find memory access violations in kernel source code. Note: Valgrind needs to be installed for this feature to work. Xilinx recommends using Valgrind version 3.16.1. This option allows detection of memory access violations in kernel source code using ‘x86simulator’ with Valgrind. The following kinds of access violations can be detected.

  1. Out-of-bounds write

  2. Out-of-bounds read

  3. Read of uninitialized memory