* (fix): artifacts patch
* (fix) vcs waveform: support fsdb rename and flush
* (update) yaml-cpp: move to dependence and bump to 0.9.0
* (remove) third: drop unused type_safe
* (update) slang: bump default tag to v11.0
* (update) yaml-cpp: fetch dependency during init
* (fix) vcs coverage: add runtime save control
* fix: update VCS coverage control flow
* fix: make VCS finish safe for host process
* fix: stabilize VCS coverage export
* fix: support modern Verdi integration for VCS
* example: unify output paths and add per-example test targets
* fix: resolve xspcomm from picker path in mem_direct template
---------
Co-authored-by: Makiras <22570332+Makiras@users.noreply.github.com>
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.
New features:
- add firrtl parser
- add gsim example
- support gsim complete
- support internal signal parse for gsim
- test gsim Nutshell success
- readme: update gsim info
---------
Co-authored-by: Makiras <xieyunlonglong@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>