yosys/backends
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
..
aiger Ignore $scopeinfo in write_aiger 2024-02-06 17:51:29 +01:00
blif Ignore $scopeinfo in write_blif 2024-02-06 17:51:29 +01:00
btor tests: use /usr/bin/env for bash. 2023-08-12 11:59:39 +10:00
cxxrtl cxxrtl: expose scope information in the C++ API. 2024-02-26 12:42:48 +00:00
edif Ignore $scopeinfo in write_edif 2024-02-06 17:51:29 +01:00
firrtl Ignore $scopeinfo in write_firrtl 2024-02-06 17:51:29 +01:00
intersynth Intersynth URL 2021-06-09 12:42:52 +02:00
jny Drop stray 'cellaigs.h' include from backend passes 2023-07-10 12:45:03 +02:00
json Ignore $scopeinfo in write_json 2024-02-06 17:51:29 +01:00
rtlil backends/rtlil: Do not shorten a value with z bits to 'x 2023-01-29 14:02:25 +01:00
simplec tests: use /usr/bin/env for bash. 2023-08-12 11:59:39 +10:00
smt2 Merge pull request #3519 from ekliptik/master 2024-02-20 13:40:30 +01:00
smv Ignore $scopeinfo in write_smv 2024-02-06 17:51:29 +01:00
spice Ignore $scopeinfo in write_spice 2024-02-06 17:51:29 +01:00
table Fixing old e-mail addresses and deadnames 2021-06-08 00:39:36 +02:00
verilog Ignore $scopeinfo in write_verilog 2024-02-06 17:51:29 +01:00