3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-04-18 22:59:03 +00:00
Commit graph

14875 commits

Author SHA1 Message Date
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
Emil J. Tywoniak 613a17b4a8 ezsat: fix incorrect logging references to function names 2025-03-19 10:33:28 +01:00
Emil J. Tywoniak 061cf5c6c4 share: re-add SAT solver cell count to log message 2025-03-19 10:27:23 +01:00
github-actions[bot] 0c689091e2 Bump version 2025-03-18 00:21:58 +00:00
KrystalDelusion fac13f12c6
Merge pull request #4941 from DanielG/sphinx-reproducible
docs: Add latex magic to make PDFs reproducible again
2025-03-18 10:22:14 +13:00
Daniel Gröber de11624f42 mk: Avoid broken rebuild if program --help fails
Make will happily consider a target available if it's zero sized.

When writing output files with shell redirections for commands that usually
succeed we can apply the `|| rm $@` pattern.

For commands where --help exits with failure we always rerun the recipe
instead.
2025-03-16 10:53:55 +01:00
Emil J 05cd1e2942
Merge pull request #4904 from YosysHQ/emil/share-limit-effort
share: add -pattern-limit to limit analysis effort
2025-03-15 18:00:42 +01:00
Scott Ashcroft d8af6b0616 docs: Add latex magic to make PDFs reproducible again 2025-03-14 21:48:08 +01:00
KrystalDelusion 6884c98e08
Merge pull request #4926 from JasonBrave/filelist
Verilog file list suport
2025-03-14 16:53:27 +13:00
KrystalDelusion 9f1271bee0
Merge pull request #4922 from Anhijkt/fix-splitcells-assert
splitcells: Fix the assertion bug caused by out-of-bound offset
2025-03-14 16:52:38 +13:00
KrystalDelusion 9fa1f0e70c
Merge pull request #4567 from kivikakk/cxxrtl-escape-trailing
cxxrtl: use octal encoding of non-printables.
2025-03-14 16:52:07 +13:00
github-actions[bot] e44d1d404a Bump version 2025-03-13 00:22:18 +00:00
Martin Povišer 6da543a61a
Merge pull request #4818 from povik/macc_v2
Add `$macc_v2`
2025-03-12 22:55:40 +01:00