3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2026-07-17 20:55:45 +00:00
Commit graph

16188 commits

Author SHA1 Message Date
Akash Levy
93da16f973 Bump backward-cpp 2025-05-15 22:14:49 -07:00
Akash Levy
3c7c004c31 Fix stuff 2025-05-15 15:27:12 -07:00
Akash Levy
3f94486a1c
Merge pull request #82 from donn/splitlarge
splitlarge: new pass to split wide arithmetic operators
2025-05-15 15:00:45 -07:00
Akash Levy
1f00bf0057 Bump yosys to latest 2025-05-15 14:44:26 -07:00
KrystalDelusion
4c72b0ecd8
Merge pull request #5116 from YosysHQ/krys/update_fst
Update fstlib
2025-05-16 09:22:52 +12:00
KrystalDelusion
3a5ce2df64
Merge pull request #5112 from YosysHQ/krys/on_shutdown
design.cc: Use on_shutdown method
2025-05-16 09:22:39 +12:00
KrystalDelusion
f7888c607b
Merge pull request #5089 from YosysHQ/krys/cutpoint_whole
cutpoint: Re-add whole module optimization
2025-05-16 09:22:28 +12:00
Mohamed Gaber
1d9fbb6143 misc: review feedback, remove MUL vestiges 2025-05-15 18:01:13 +03:00
Mohamed Gaber
46ba89059a splitlarge: new pass to split wide arithmetic operators
Adds a new pass, `splitlarge`, that recursively divides $add/$sub
cells into smaller cells until each cell's width doesn't exceed a
given max_width (128 by default.) An $add/$sub cell's width for
this purpose is defined as the higher of the widths of its two
inputs.

A test was written in Tcl for it, which tests this matrix:
- cell: $add/$sub
- b: unsigned, signed
- a: unsigned, signed

This is the first test for a Silimate pass in Tcl and thus
`run-test.sh` was modified to include it.
2025-05-15 17:45:08 +03:00
Emil J
3823157c25
Merge pull request #5080 from akashlevy/muldiv_c
Add `muldiv_c` peepopt
2025-05-15 11:03:25 +02:00
github-actions[bot]
ae47c49af5 Bump version 2025-05-15 00:22:59 +00:00
George Rennie
748600c167
small whitespace cleanup (#5119) 2025-05-14 15:18:57 +02:00
Akash Levy
20d637697b Fix commit to be preqorsor commit 2025-05-13 20:43:03 -07:00
Akash Levy
1990c1fac5 Reduce pass verbosity 2025-05-13 20:42:47 -07:00
Akash Levy
d308ecdbcf Fix warnings with block curly braces 2025-05-13 20:42:28 -07:00
Akash Levy
769aaa113c Get boolopt src attribution working for dress 2025-05-13 20:05:16 -07:00
Akash Levy
d6975c1d5f Fix src attr inheritance in opt_share 2025-05-13 20:05:16 -07:00
Akash Levy
2e030bfdfd Refactor bmuxmap attribute inheritance 2025-05-13 20:05:16 -07:00
Akash Levy
f97587db61 Fix fanout buffer src annotation and refactor naming 2025-05-13 20:05:16 -07:00
Akash Levy
55f7ebf921
Merge branch 'YosysHQ:main' into main 2025-05-13 20:03:28 -07:00
github-actions[bot]
e3ae7b1400 Bump version 2025-05-13 00:24:04 +00:00
Akash Levy
ccc2ba41f2
Merge branch 'YosysHQ:main' into main 2025-05-12 15:02:55 -07:00
KrystalDelusion
5268565410
Merge pull request #5108 from marzoul/adrien-uram
Create a single-port URAM mapping to support memories 2048 x 144b
2025-05-13 09:54:36 +12:00
KrystalDelusion
c590c0c12c
Merge pull request #5111 from YosysHQ/krys/config_python
Makefile: Conditional assignment of python exe
2025-05-13 09:54:26 +12:00
KrystalDelusion
05157b164e
Merge pull request #5113 from YosysHQ/krys/ast_asan
simplify.cc: Fix mem leak
2025-05-13 09:52:51 +12:00
Akash Levy
13e053fb11 Fixups 2025-05-12 14:49:37 -07:00
Akash Levy
8171f04cbf Add preliminary boolopt src attribution support 2025-05-12 02:30:36 -07:00
Krystine Sherwin
afd5bbc7fa
fstdata.cc: Fix last step
Includes test file for sanity checking simulation steps.
2025-05-12 13:18:19 +12:00
Krystine Sherwin
d0b9a0cb98
sim.cc: Move cycle check
Calling `throw dst_end_of_data_exception()` when the desired number of cycles has been reached means that the fst reader can't tidy up after itself and leads to memory leaks.
This doesn't happen when the `-stop` flag is used because the `Yosys::FstData` struct tracks the end time and skips the outer callback if the simulation has gone past the desired end time.
Move cycle checking into the inner callback along with the time checking means that the outer callback no longer needs to throw an exception in order to stop checking further values, while still allowing the fst reader to finish reading and deallocate memory.
2025-05-12 12:48:01 +12:00
Krystine Sherwin
cc402ee065
libs/fst: Update upstream
libfst is no longer included in gtkwave and instead has its own repo.  There has also been some refactoring, so the patches need to update to match, as does sim.cc.
2025-05-12 10:21:06 +12:00
Akash Levy
aeed1ddb74 Update from upstream 2025-05-11 15:16:52 -07:00
Akash Levy
0c29d61bac
Merge pull request #80 from williamzhu17/opt_balance_tree-tests
Added opt_balance_tree tests
2025-05-11 15:14:12 -07:00
Akash Levy
a1cc22aa0e Add abc word mode, which uses word-level cells where possible 2025-05-11 15:07:23 -07:00
williamzhu17
fc86bd8e74 finalized tests 2025-05-11 11:16:50 -07:00
williamzhu17
39be4f29bd opt_balance_tree test cases 2025-05-11 10:58:29 -07:00
williamzhu17
51a951d614 wip tests 2025-05-11 10:17:08 -07:00
williamzhu17
e0714ca714 Merge branch 'main' into opt_balance_tree-tests 2025-05-11 09:07:17 -07:00
Adrien Prost-Boucle
6bf7587338 URAM mapping : Add test for 2048 x 144b 2025-05-10 14:53:56 +02:00
Krystine Sherwin
fe0abb7026
simplify.cc: Fix mem leak 2025-05-10 17:10:47 +12:00
github-actions[bot]
6900818105 Bump version 2025-05-10 00:22:55 +00:00
Krystine Sherwin
af75dce660
Fix Crashes with GCC 15 #5088
When building `WITH_PYTHON`, where a global list of modules is maintained, deleting a module also erases the entry in said global list.  This can lead to memory corruption if the global list is destructed before the module.
Using `on_shutdown()` instead means the module destructor is explicitly called before the global list can be destructed, preventing the issue.
Also add a comment to `Pass::~Pass()` to suggest the same for future passes that might try to use that (and see this commit in the blame if they need a reason why).
2025-05-10 09:59:13 +12:00
KrystalDelusion
c4af97c1c4
Merge pull request #5110 from YosysHQ/emil/gzip-reject-directory
gzip: reject uncompressing directory
2025-05-10 09:36:13 +12:00
KrystalDelusion
1e2d6508d0
Makefile: Conditional assignment of python exe
Using `:=` while providing an override (either in Makefile.conf or on the command line) does not correctly apply the override in other simply expanded variables (using `:=`).  Instead, passing an explicit `PYTHON_EXECUTABLE=python3.15` while leaving `PYTHON_CONFIG` implicitly defined results in it being set to `python3-config` instead of the expected `python3.15-config`.
2025-05-10 09:09:30 +12:00
Emil J. Tywoniak
2e9a194ce9 gzip: reject uncompressing directories 2025-05-09 22:33:30 +02:00
Emil J. Tywoniak
b05c0c70af io: don't accept a directory when file expected 2025-05-09 22:33:30 +02:00
Adrien Prost-Boucle
c7de531231 URAM mapping : Fix port indexes according to Yosys warnings 2025-05-09 15:09:11 +02:00
Adrien Prost-Boucle
c4a49f0c55 Create a single-port URAM mapping to support memories 2048 x 144b 2025-05-09 14:16:03 +02:00
Akash Levy
3bcbfe4dde verific -set_relaxed_file_libext_modes 2025-05-08 23:43:23 -07:00
Akash Levy
f3d24aea76 Add spaces in verific 2025-05-08 22:24:10 -07:00
Akash Levy
239b0a6db0 Fix opt_balance_tree issue 2025-05-08 19:35:19 -07:00