3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-05-15 03:34:45 +00:00
yosys/backends/cxxrtl/runtime/cxxrtl/capi
Catherine 1a44645aef cxxrtl: expose scope information in the C++ API.
This commit adds a `debug_scopes` container, which can collect metadata
about scopes in a design. Currently the only scope is that of a module.
A module scope can be represented either by a module and cell pair, or
a `$scopeinfo` cell in a flattened netlist. The metadata produced by
the C++ API is identical between these two cases, so flattening remains
transparent to a netlist with CXXRTL.

The existing `debug_items` method is deprecated. This isn't strictly
necessary, but the user experience is better if the path is provided
as e.g. `"top "` (as some VCD viewers make it awkward to select topmost
anonymous scope), and the upgrade flow encourages that, which should
reduce frustration later.

While the new `debug_items` method could still be broken in the future
as the C++ API permits, this seems unlikely since the debug information
can now capture all common netlist aspects and includes several
extension points (via `debug_item`, `debug_scope` types).

Also, naming of scope paths was normalized to `path` or `top_path`,
as applicable.
2024-02-26 12:42:48 +00:00
..
cxxrtl_capi.cc cxxrtl: expose scope information in the C++ API. 2024-02-26 12:42:48 +00:00
cxxrtl_capi.h cxxrtl: expose scope information in the C++ API. 2024-02-26 12:42:48 +00:00
cxxrtl_capi_vcd.cc cxxrtl: reorganize runtime component files. 2023-11-28 15:32:36 +00:00
cxxrtl_capi_vcd.h cxxrtl: reorganize runtime component files. 2023-11-28 15:32:36 +00:00