Commit Graph

18230 Commits

Author SHA1 Message Date
Akash Levy 439d859bba
Merge branch 'YosysHQ:main' into main 2025-04-03 10:48:42 -07:00
williamzhu17 05a3c28f39 small name change 2025-04-03 10:38:55 -07:00
williamzhu17 ba709dc0ed added stress tests 2025-04-03 10:37:32 -07:00
Sean Luchen 307db1ec50 Add tests for #4976. 2025-04-03 10:01:34 -07:00
Sean Luchen bdcbbf2db6 Fix existing tests/liberty tests, and add them to Makefile. 2025-04-03 09:56:24 -07:00
George Rennie 63b3ce0c77
Merge pull request #4971 from Anhijkt/pow-optimization
opt_expr: optimize pow of 2 cells
2025-04-03 14:34:36 +02:00
Jannis Harder 0f13b55173 Liberty file caching with new `libcache` command
This adds optional in-memory caching of parsed liberty files to speed up
flows that repeatedly parse the same liberty files. To avoid increasing
the memory overhead by default, the caching is disabled by default. The
caching can be controlled globally or on a per path basis using the new
`libcache` command, which also allows purging cached data.
2025-04-03 13:39:35 +02:00
Jannis Harder 26a4b9b0c6
Merge pull request #4981 from jix/faster-liberty-lexing
Improve lexer performance for read_liberty
2025-04-03 13:32:33 +02:00
KrystalDelusion 1cfe1e2813
Merge pull request #4974 from YosysHQ/micko/config_exitcode
yosys-config: Propagate exit code for help command
2025-04-03 09:56:13 +13:00
Akash Levy 4bd08ac362
Merge branch 'YosysHQ:main' into main 2025-04-01 22:10:43 -07:00
github-actions[bot] f03b44959b Bump version 2025-04-02 00:23:07 +00:00
williamzhu17 58d903eee6 deleted old file 2025-04-01 17:19:04 -07:00
williamzhu17 776479d7aa wip tests 2025-04-01 17:17:39 -07:00
Sean Luchen 4610889d27 Fix two parsing bugs that were causing private regression tests to fail.
These were introduced by 0a6d9f4.
1) While in a paren "(", don't error on newline.
2) Don't parse an extra token when parsing vector ranges. Let the caller parse the next token as necessary.
2025-04-01 13:01:00 -07:00
Anhijkt c57cbfa8f9 opt_expr: add test 2025-04-01 21:54:46 +03:00
williamzhu17 bc2d9d1f33 added deeper cases for gates 2025-04-01 11:10:50 -07:00
williamzhu17 2f9e6e08f0 added tests with constants 2025-04-01 10:39:33 -07:00
Anhijkt 6b5507139e opt_expr: requsted changes 2025-04-01 20:37:22 +03:00
williamzhu17 8991707dee zero indexed wires 2025-04-01 10:19:54 -07:00
williamzhu17 101f775b64 added extra test for muxes 2025-04-01 10:18:20 -07:00
williamzhu17 8f5f4ecab4 inital extract_reduce tests 2025-04-01 10:11:17 -07:00
williamzhu17 bbd132f6ba updated extract_reduce to not consider xnors 2025-04-01 10:10:06 -07:00
Miodrag Milanović 402af3ece7
Merge pull request #4982 from YosysHQ/micko/verific_fix_restore
verific: fix restoring msg state after blackbox import
2025-04-01 18:32:08 +02:00
Miodrag Milanovic 72f2185a94 verific: fix restoring msg state after blackbox import 2025-04-01 17:35:59 +02:00
Jannis Harder bc01468c75 read_liberty: Faster std::string construction in the liberty lexer
This extends the `LibertyInputStream` added in the previous commit to
allow arbitrary lookahead. Then this uses the lookahead to find the
total length of the token within the input buffer, instead of consuming
the token byte by byte while appending to a std::string. Constructing
the std::string with the total length is known avoids any reallocations
from growing std::string's buffer.
2025-04-01 14:12:12 +02:00
Jannis Harder 119e998f12 read_liberty: Faster input handling for the liberty lexer
The lexer for liberty files was using istream's `get` and `unget` which
are notorious for bad performance and that showed up during profiling.

This replaces the direct `istream` use with a custom LibertyInputStream
that does its own buffering to provide `get` and `unget` that behave the
same way but are implemented with a fast path that is easy to inline and
optimize.
2025-04-01 14:12:12 +02:00
Miodrag Milanovic 66d7ffb2c5 yosys-config: redirect to stderr/stdout depending of exit code 2025-04-01 08:39:11 +02:00
github-actions[bot] c08f72b806 Bump version 2025-04-01 00:26:08 +00:00
Akash Levy 027a4cec13
Merge branch 'YosysHQ:main' into main 2025-03-31 14:07:26 -07:00
Akash Levy d743a18ea3 Fix extract_reduce infinite loop 2025-03-31 12:36:43 -07:00
Emil J 3a1255546a
Merge pull request #4975 from YosysHQ/emil/opt_expr-cover-with-tests
opt_expr: expand test coverage
2025-03-31 20:13:16 +02:00
Sean Luchen 23f59e0196 Support array ranges for identifiers in the Liberty parser.
This change only handles the case `id : id[range] ;`.
2025-03-31 10:54:00 -07:00
Sean Luchen ac1033ecd5 Factor parse_vector_range out into its own function.
This also fixes the parsing a bit. It was consuming 1 fewer token than
required.
2025-03-31 10:46:18 -07:00
Sean Luchen 0a6d9f4dc9 Factor report_unexpected_token out into its own function. 2025-03-31 10:44:23 -07:00
Emil J. Tywoniak 6194eb939d opt_expr: expand test coverage 2025-03-31 19:31:53 +02:00
Miodrag Milanovic 58a515d57f yosys-config: Propagate exit code for help command 2025-03-31 16:19:45 +02:00
Akash Levy f488b0e74c Add lut2bmux, annotate_unqcoef, and seed tests 2025-03-31 05:55:54 -07:00
Akash Levy 3f00e57076 Improve the naming for opt_reduce 2025-03-31 01:22:42 -07:00
Akash Levy f72d27fae0 Robustness fixes 2025-03-30 22:23:21 -07:00
Akash Levy 984c6357ba Add -word mode to lut2mux and improve the naming 2025-03-30 17:54:35 -07:00
Akash Levy 161ff0fa3f Add muxmode pass and tests 2025-03-30 17:54:18 -07:00
Anhijkt 83b095ab6c opt_expr: optimize pow of 2 cells 2025-03-30 15:43:41 +03:00
Akash Levy dacd882383 Remove selectconst 2025-03-28 17:40:40 -07:00
github-actions[bot] 314842d2a0 Bump version 2025-03-29 00:22:03 +00:00
KrystalDelusion 80dc946499
Makefile: Test yosys git status in check-git-abc
As in #4986, `check-git-abc` is misleading if Yosys itself isn't a git repository.
So check `git status` before suggesting `git` based solutions, providing alternative suggestions for using ABCEXTERNAL (which bypasses `check-git-abc`), or downloading release tar (noting that the 'Source code' archives won't work, which is probably how they ended up in this situtation).
2025-03-29 12:29:55 +13:00
Akash Levy 4d7581bc0b
Merge pull request #77 from williamzhu17/breaksop-tests
Added breaksop tests
2025-03-28 15:58:56 -07:00
williamzhu17 1628a22195 added extra test for multiple sops 2025-03-28 14:58:17 -07:00
Akash Levy 1a5415b5a2
Merge branch 'YosysHQ:main' into main 2025-03-28 14:56:36 -07:00
williamzhu17 a4a4544223 Merge branch 'breaksop-tests' of github.com:williamzhu17/yosys into breaksop-tests 2025-03-28 14:54:21 -07:00
williamzhu17 727c6a51be added comment about one test case 2025-03-28 14:54:00 -07:00