Krystine Sherwin
f4ad934542
log_help: Refactor help content adding
...
Content is now added to the `ContentListing` rather than the `PrettyHelp`.
`open_*` methods return the `ContentListing` that was added instead of leaving a hanging continuation.
This allows for (e.g.) options to be added directly to optiongroups, instead of requiring that groups be closed before continuation.
This also means that all `PrettyHelp`s are a listing, with the actual log being called by the default `Pass::help()`; making the mode field redundant.
Added `PrettyHelp::log_help()` which replaces the `PrettyHelp::Mode::LOG` logic.
Added `ContentListing::back()` which just returns the last element of the underlying content vector.
Some of the content tracking was made redundant and removed, in particular `PrettyHelp::_current_listing` and `ContentListing::parent`.
Converted `ContentListing` to a class instead of a struct, adjusting constructors to match.
Added `ContentListing` constructor that accepts a `source_location`.
Update `HelpPass::dump_cmds_json()` for new log_help.
2025-03-21 10:26:12 +13:00
Krystine Sherwin
68cb02d9f3
Rename help_v2 to formatted_help
...
Also add comments to `help()` and `formatted_help()` to clarify usage.
2025-03-21 10:26:11 +13:00
Krystine Sherwin
aedc13ab7f
log_help: Add manual group support
...
Sets `chformal` group to "formal" for testing purposes
2025-03-21 10:26:10 +13:00
Krystine Sherwin
40e6fe8263
log_help: Options can have content
...
Refactor `PrettyHelp::endgroup()` -> `PrettyHelp::close(int levels = 1)`.
2025-03-21 10:25:45 +13:00
Krystine Sherwin
af9e0dd0f4
WIP docs: Proto log_help
...
Define `PrettyHelp` class with methods for declaring different parts of help message.
Currently able to produce standard help messages as expected.
Updates chformal to use (only) the new help_v2.
Currently makes use of a global static to track the current help context, allowing register.h to live in blissful ignorance and instead rely on help_v2 implementations calling `auto *help = PrettyHelp::get_current();` and `return true;` to minimise impact on rebuilds (i.e. not requiring every source file to be recompiled).
2025-03-21 10:25:45 +13:00
Krystine Sherwin
ac80755521
Docs: Test new pass help with chformal
2025-03-21 10:24:28 +13:00
KrystalDelusion
b06a661913
Merge pull request #4834 from YosysHQ/emil/gzip-refactor
...
Memory-efficient zlib usage across Liberty file consumers
2025-03-21 10:01:00 +13:00
Emil J. Tywoniak
199702a392
dft_tag: fix autoNot not notting
2025-03-19 18:28:50 +01:00
Emil J. Tywoniak
980a0a15c1
stat: allow gzipped liberty files
2025-03-19 13:43:44 +01:00
Anhijkt
de032d2e2a
splitcells: change for-loop condition
2025-02-28 23:16:04 +02:00
Anhijkt
9a14ab8d98
splitcells: Fix the assertion bug caused by out-of-bound offset
2025-02-28 13:51:22 +02:00
Martin Povišer
bca21c60d8
Merge pull request #4902 from akashlevy/splitcells_aldff_fix
...
`aldff`s do not get split by `splitcells` pass
2025-02-27 00:56:46 +01:00
Emil J. Tywoniak
07004f1089
abstract: typo?
2025-02-25 00:19:15 +01:00
Emil J. Tywoniak
925c617c52
abstract: add module input -value abstraction
2025-02-18 17:08:45 +01:00
Jannis Harder
212224dfe8
abstract: Add help message
2025-02-18 17:08:45 +01:00
Jannis Harder
2943c2142d
abstract: Improve debug logging
...
Print the port bit instead of the arbitrary representative sigbit to
identify the target of the abstraction operation.
2025-02-18 17:08:45 +01:00
Jannis Harder
a0987195f2
abstract: Support slicing of individual wires
2025-02-18 17:08:45 +01:00
Jannis Harder
4766c92e59
abstract: Allow unconditional value and state abstractions
...
Also improves -enable and -enablen command line handling
2025-02-18 17:08:45 +01:00
Jannis Harder
37aa2e6cd8
abstract: Wire vs port offset confusion bugfix
...
This fixes the offsets_to_abstract collection in abstract_state so that
it now works the same way as in abstract_value which was already
correct.
2025-02-18 17:08:45 +01:00
Emil J. Tywoniak
28c768e7b8
abstract: better present changes done
2025-02-18 17:08:45 +01:00
Emil J. Tywoniak
3dd697fc8a
abstract: improve -init logging
2025-02-18 17:08:45 +01:00
Emil J. Tywoniak
9de890c874
abstract: fix -init log_debug bit count, remove unnecessary log_debug
2025-02-18 17:08:45 +01:00
Emil J. Tywoniak
aca4d44a40
abstract: improve debug logs for -state and -value
2025-02-18 17:08:45 +01:00
Emil J. Tywoniak
cee06cecd0
abstract: factor out emit_mux_anyseq
2025-02-18 17:08:45 +01:00
Emil J. Tywoniak
9895370b32
abstract: rework -init without bufnorm, with logging
2025-02-18 17:08:45 +01:00
Emil J. Tywoniak
1646991092
abstract: refactor -value
2025-02-18 17:08:45 +01:00
Emil J. Tywoniak
e9bba13a0d
abstract: no more bufnorm, -value has bit selection consistent with -state, -init temporarily gutted
2025-02-18 17:08:45 +01:00
Emil J. Tywoniak
3f1ee3e0ae
abstract: -state refactor sigbit rep pool collection
2025-02-18 17:08:45 +01:00
Emil J. Tywoniak
387d0de383
abstract: -state allow partial abstraction, don't use buffer-normalized mode
2025-02-18 17:08:45 +01:00
Emil J. Tywoniak
6027030215
abstract: -value MVP, use buffer-normalized mode
2025-02-18 17:08:45 +01:00
Emil J. Tywoniak
4637fa74e3
abstract: -init MVP
2025-02-18 17:08:45 +01:00
Emil J. Tywoniak
e4ca7b8846
abstract: -state MVP
2025-02-18 17:08:45 +01:00
Akash Levy
3676429634
aldff
s do not get split by splitcells
2025-02-14 10:53:51 -08:00
Emil J. Tywoniak
a58481e9b7
mark all hash_into methods nodiscard
2025-01-14 12:39:15 +01:00
Emil J. Tywoniak
b9b9515bb0
hashlib: hash_eat -> hash_into
2024-12-18 15:09:25 +01:00
Emil J. Tywoniak
4e29ec1854
hashlib: acc -> eat
2024-12-18 15:09:25 +01:00
Emil J. Tywoniak
c73c88033d
hashlib: only include in one place
2024-12-18 14:58:31 +01:00
Emil J. Tywoniak
d071489ab1
hashlib: redo interface for flexibility
2024-12-18 14:49:25 +01:00
Martin Povišer
4bd6061709
Merge pull request #4799 from povik/wrapcell-unused
...
wrapcell: Optionally track unused outputs
2024-12-10 21:16:28 +01:00
Martin Povišer
3cd01a57cd
wrapcell: Add comments, const qualifier
2024-12-10 15:13:31 +01:00
Martin Povišer
9161377c5a
wrapcell: Fix help
2024-12-09 15:40:33 +01:00
Martin Povišer
481162b848
Merge pull request #4800 from povik/portarcs-fix
...
Fix portarcs edge cases
2024-12-09 15:13:15 +01:00
N. Engelhardt
8557455411
handle quotes and check return value
2024-12-06 11:25:45 +01:00
Miodrag Milanovic
1b403b82d7
Handle setting environment on Windows
2024-12-06 11:25:45 +01:00
N. Engelhardt
8b0f665cc5
add setenv pass
2024-12-06 11:25:43 +01:00
Martin Povišer
f4f65493a1
portarcs: Fix confusing disconnected and zero-delay case
2024-12-05 18:27:44 +01:00
Martin Povišer
2c66557d22
portarcs: Fix for case of unused gates
2024-12-05 18:27:43 +01:00
Martin Povišer
d57d21e566
wrapcell: Optionally track unused outputs
2024-12-05 18:16:53 +01:00
Martin Povišer
79e9258a31
wrapcell: Add new command
2024-11-27 14:01:00 +01:00
Martin Povišer
2dba345049
portarcs: New command to derive propagation arcs
2024-11-13 16:20:35 +01:00