3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-04-24 09:35:32 +00:00
Commit graph

14887 commits

Author SHA1 Message Date
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
34c514bf96
source_location: Try use __has_include 2025-03-21 10:26:11 +13:00
Krystine Sherwin
d244b4a101
register: Remove <filesystem>
Use `string::find_last_of()` instead.
Not sure how this works on windows, but it was already using '/' so at least it's not any worse.
2025-03-21 10:26:11 +13:00
Krystine Sherwin
2575f87381
source_location: Auto detect library
Drop `ENABLE_SOURCE_LOCATION` flag.
2025-03-21 10:26:11 +13:00
Krystine Sherwin
343758371d
Docs: docs/source/cmd is source only
i.e. we don't need to clean it, and we don't need to include it in the docs artifact
2025-03-21 10:26:11 +13:00
Krystine Sherwin
49907914c4
Docs: Fix warnings
Changes a bunch of :doc:`/cmd/*` to :cmd:ref:`*` with the intention of changing it later to something that replicates the previous effect of displaying the commands `short_help`.
2025-03-21 10:26:11 +13:00
Krystine Sherwin
11af1a275b
Docs: Downgrade missing cmdgroup warning
Log an info message, and put a warning for the content instead.
2025-03-21 10:26:11 +13:00
Krystine Sherwin
07c2666447
dump_cmds_json: Output groups
Also output `pass->location.{file_name,line,function_name}()`.
If no group is given (i.e. it is "unknown"), attempt to automatically apply a group.
If we have source locations, this is based on path to the source file.
If we do not have source locations, try to match on the pass name instead.
2025-03-21 10:26:10 +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
1efd3aeb7d
Move source_location to register.h
Revert `PrettyHelp::get_current()` for no args since we can use `Pass::location` instead.
2025-03-21 10:26:10 +13:00
Krystine Sherwin
431cb2d1b9
Docs: Group commands
Removes group parsing from command ref domain, instead relying on a 'groups' object in the cmds.json file.
`docs/source/cmd` is no longer ignored or cleaned.
2025-03-21 10:26:10 +13:00
Krystine Sherwin
620dcd8a38
dump_cmds_json: Fix auto formatting
- Command list for script passes
- Check buffer after loop
- Close options properly
- Ignore mismatched sigs e.g. `fsm_detect` on `fsm`
- Require double blank line before new signature
2025-03-21 10:26:10 +13:00
Krystine Sherwin
35498ae3f6
docs: Working cmdref groups
Also adds note on source location if available.
2025-03-21 10:26:10 +13:00
Krystine Sherwin
a0da79981b
log_help: Better location tracking
Assign root location in call to `PrettyHelp::get_current()`.
Set default `source_file` to `"unknown"`, since that appears to be the default value rather than `nullptr`.
2025-03-21 10:26:10 +13:00
Krystine Sherwin
4e88f86414
Makefile: Drop cmds rst from docs/prep 2025-03-21 10:26:10 +13:00
Krystine Sherwin
59bcd7ce14
cmdref: Combine consecutive code blocks
Formatting is nicer when there is only one code block instead of multiple in a row, especially in pdf.
2025-03-21 10:25:46 +13:00
Krystine Sherwin
69fa0f9fef
Docs: Update cmdref domain
Compatible with `dump_cmds_json`.
2025-03-21 10:25:46 +13:00
Krystine Sherwin
0e1434ac0c
Docs: Fix dump_cmds_json for PrettyHelp 2025-03-21 10:25:45 +13:00
Krystine Sherwin
fd5e420edd
log_help: {add,push,pop}_content helpers 2025-03-21 10:25:45 +13:00
Krystine Sherwin
09dfbea6df
log_help: Json dumpable
Current modes are `LOG` and `LISTING`, which `log()` and store for conversion to json respectively.
Add `ContentListing` listing struct to (recursively) contain help data for conversion to a json object to be exported and used elsewhere (e.g. the docs).
Rather than formatting as rst we can just export with type information and do the conversion at the destination (i.e. in the python code which loads the domain for autodoc).
Implement `PrettyHelp::has_content()`.
Provide `PrettyHelp::get_content()` which returns a read-only list of the current content.
`PrettyHelp` constructor takes optional `Mode` enum to define format of help content.
Updates `PrettyHelp` methods to use a switch case for checking current mode, calling `log_abort()` in the default case (i.e. unsupported mode).
2025-03-21 10:25:45 +13:00
Krystine Sherwin
a7da7d3a56
log_help: Include source_location
Use `std::experimental::source_location` because clang support is `??`
Add `ENABLE_SOURCE_LOCATION` make variable and corresponding `YOSYS_ENABLE_SOURCE_LOCATION` define.
Dummy out the struct if disabled and check for null instead of using `#ifdef` blocks everywhere.
2025-03-21 10:25:45 +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
8607e3c537
Makefile: Add cmds.json to docs/prep 2025-03-21 10:25:02 +13:00
Krystine Sherwin
e289e32e61
Docs: Improve autoref
Fix `help $cell` type references, as well as actually implement the fallback to yoscrypt.
2025-03-21 10:24:28 +13:00
Krystine Sherwin
5d239204f2
Docs: Proto doc_string approach for cmd help
Add `doc_string` field to `Pass` constructor
Add `docs/util/newcmdref.py` to contain command domain
Update `docs/util/cmdref.py` with `cmd:usage` and `cmd:optiongroup` for describing commands.
Functional, but WIP.
2025-03-21 10:24:28 +13:00
Krystine Sherwin
ac80755521
Docs: Test new pass help with chformal 2025-03-21 10:24:28 +13:00
Krystine Sherwin
63be4d3dd3
Docs: WIP dump_cmds_json 2025-03-21 10:24:28 +13:00
Krystine Sherwin
41a489f085
register: Add pass_usages and default help
Experimental new formatting for describing passes that can be rendered into the standard help format, as well as being more amenable to smarter formatting for web documentation.
2025-03-21 10:24:27 +13:00
Krystine Sherwin
31dba47521
json.h: Fix array template
Using `{begin|end}_object` inserts curly braces instead of square brackets, which can result in reordering (and may be syntactically incorrect?).
2025-03-21 10:24:27 +13:00
Krystine Sherwin
1f1eb1ab57
Docs: Remove unused write_cell_rst function
The `help -write-rst-cells-manual` approach was made redundant by `help -dump-cells-json`.
2025-03-21 10:24:27 +13:00
KrystalDelusion
8bde6ac17c
Merge pull request #4940 from DanielG/fix-help-rebuild
mk: Avoid broken rebuild if program --help fails
2025-03-21 10:01:13 +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
9893ed59b7
Merge pull request #4951 from YosysHQ/emil/fix-dft_tag-autoNot
dft_tag: fix autoNot not notting
2025-03-20 21:16:34 +01:00
Miodrag Milanović
733487e730
Merge pull request #4950 from pu-cc/gatemate-serdes-update
gatemate: Add `CC_SERDES` parameters and update port names
2025-03-20 10:52:23 +01:00
github-actions[bot]
f92ad7d900 Bump version 2025-03-20 00:21:55 +00:00
Emil J. Tywoniak
199702a392 dft_tag: fix autoNot not notting 2025-03-19 18:28:50 +01:00
Emil J
29cf4a9190
Merge pull request #4949 from YosysHQ/emil/ezsat-fix-function-names
ezsat: fix incorrect logging references to function names
2025-03-19 17:47:46 +01:00
Emil J
b33787edcb
Merge pull request #4948 from YosysHQ/emil/share-fix-log-again
share: re-add SAT solver cell count to log message
2025-03-19 13:54:17 +01:00
Emil J. Tywoniak
980a0a15c1 stat: allow gzipped liberty files 2025-03-19 13:43:44 +01:00
Emil J. Tywoniak
7aefd4b226 gzip: back to pointers 2025-03-19 13:43:44 +01:00
Emil J. Tywoniak
a8a5463f57 gzip: uphold rules for basic_streambuf::underflow overrides 2025-03-19 13:43:44 +01:00
Emil J. Tywoniak
79985a2bca gzip: minor refactor 2025-03-19 13:43:44 +01:00
Emil J. Tywoniak
ceb7a923da io: smooth out non-POSIX function usage across platforms 2025-03-19 13:43:44 +01:00
Emil J. Tywoniak
0877798e18 dfflibmap: allow gzipped liberty files 2025-03-19 13:43:44 +01:00
Emil J. Tywoniak
ab2ca831c9 io: remove unused unistd.h to fix windows build 2025-03-19 13:43:44 +01:00
Emil J. Tywoniak
d00259081d gzip: simplify uncompressed interface 2025-03-19 13:43:44 +01:00
Emil J. Tywoniak
218ec3fc05 dfflibmap: allow gzipped liberty files 2025-03-19 13:43:44 +01:00
Emil J. Tywoniak
813f909460 gzip: istream 2025-03-19 13:43:44 +01:00
Emil J. Tywoniak
4f3fdc8457 io: refactor string and file work into new unit 2025-03-19 13:43:42 +01:00