mirror of https://github.com/XS-MLVP/picker.git
Add a new `atClone()` method to the simulation core and expose it through all language bindings. This method is intended to be called in a child process after a fork() to re-initialize the state of the Verilated model. This is crucial for supporting robust multi-process simulation environments, such as Python's `multiprocessing`, where forking can lead to an inconsistent state in the simulator's child instances. Additionally, this commit includes several stability and memory management improvements: - Fix memory leaks in `DutUnifiedBase` and the C++ wrapper by ensuring allocated resources are properly deallocated. - Add a null-pointer check in `FlushWaveform` to prevent crashes when a waveform dumper is not present. - Expose the `atClone` functionality to C++, Go, Java, Lua, Python, and Scala wrappers. |
||
|---|---|---|
| .. | ||
| cmake | ||
| CMakeLists.txt | ||
| Makefile | ||
| dut.cpp | ||
| dut.hpp | ||
| example.cpp | ||