N. Engelhardt
15d24bf2e6
synth_quicklogic: add -noflatten option
2025-08-25 17:25:58 +02:00
Emil J
c5d096b7b8
Merge pull request #5308 from YosysHQ/emil/opt_muxtree-refactor
...
opt_muxtree: refactor
2025-08-25 16:48:01 +02:00
Emil J. Tywoniak
b45e5854bf
opt_muxtree: comment wording
2025-08-25 16:36:07 +02:00
Emil J
2163b3ebe4
Merge pull request #5313 from rocallahan/hash-ref
...
hash_ops should take all parameters by reference instead of requiring copies of vectors, tuples etc
2025-08-25 16:31:36 +02:00
Miodrag Milanović
c7e6275d0d
Merge pull request #5045 from danderson/push-nwpulrqymkqp
...
techlibs/lattice: add missing clock muxes to ECP5 block ram blackboxes
2025-08-25 15:28:34 +02:00
Emil J
a67a3ca49c
Merge pull request #4497 from YosysHQ/emil/bitpattern-comments
...
bitpattern: comments
2025-08-25 15:25:37 +02:00
Miodrag Milanovic
dd5cc66b95
Merge branch 'Jiahui17-bugfix/remove-hardcoded-soname'
2025-08-25 07:47:01 +02:00
Miodrag Milanovic
9f0904d048
Makefile: fix hardcoded -install_name for libyosys.so
2025-08-25 07:46:34 +02:00
Miodrag Milanovic
c6b8f0eed7
Merge branch 'bugfix/remove-hardcoded-soname' of github.com:Jiahui17/yosys into Jiahui17-bugfix/remove-hardcoded-soname
2025-08-25 07:45:26 +02:00
Robert O'Callahan
b5aa3ab9f7
hash_ops should take all parameters by reference instead of requiring copies of vectors, tuples etc
2025-08-25 03:09:04 +00:00
github-actions[bot]
6fdcdd41de
Bump version
2025-08-22 00:23:32 +00:00
Emil J
65109822b4
Merge pull request #5305 from rocallahan/opt-merge-perf
...
Use commutative hashing in `OptMergePass` instead of allocating containers and sorting them to get canonical hashes
2025-08-21 17:58:55 +02:00
Emil J. Tywoniak
4dea774171
opt_muxtree: refactor
2025-08-21 12:52:22 +02:00
Ethan Mahintorabi
d10190606c
verilog: Lower required bison version to 3.6
...
We're currently on version 3.6 of bison at Google, and Yosys
still correctly builds with it. This should better reflect
the actual requirements rather than an overly restrictive
check. If features from 3.8 are required it seems like bumping
would be appropriate.
Signed-off-by: Ethan Mahintorabi <ethanmoon@google.com>
2025-08-21 08:26:33 +01:00
Ethan Mahintorabi
7f0130efce
verilog: Fix missing sstream include
...
Signed-off-by: Ethan Mahintorabi <ethanmoon@google.com>
2025-08-21 08:26:20 +01:00
github-actions[bot]
4926e846f6
Bump version
2025-08-21 00:22:37 +00:00
Robert O'Callahan
8c04e5266c
Use commutative hashing instead of expensive allocation and sorting
...
For one of our large circuits, this improves the `OptMergePass` runtime
from about 150s to about 130s. It's also simpler code.
2025-08-20 19:35:22 +00:00
Robert O'Callahan
7d0ea0d64f
Refactor call to sorted_pmux_in to avoid copying the connection dictionary
2025-08-20 19:35:22 +00:00
Emil J
025d7a5641
Merge pull request #5290 from rocallahan/opt-mux-perf
...
Make `OptMuxtreePass` int-indexed vectors into hashtables
2025-08-20 20:00:26 +02:00
Jannis Harder
c9ad7b7ad0
Merge pull request #5284 from jix/fix_5282
...
check: Limit detailed cell edge checking for $pmux and $bmux
2025-08-20 14:27:19 +02:00
Emil J
ba8af7ad8f
Merge pull request #5302 from rocallahan/commutative-hash
...
Improve commutative hashing.
2025-08-20 10:43:00 +02:00
Emil J. Tywoniak
01de9fb453
hashlib: extend unit test with subset collisions, shorten runtime
2025-08-20 00:08:23 +02:00
Robert O'Callahan
3a5742ffd2
Improve commutative hashing.
...
The simple XOR `commutative_eat()` implementation produces a lot of collisions.
https://www.preprints.org/manuscript/201710.0192/v1/download is a useful reference on this topic.
Running the included `hashTest.cc` without the hashlib changes, I get 49,580,349 collisions.
The 49,995,000 (i,j) pairs (0 <= i < 10000, i < j < 10000) hash into only 414,651 unique hash values.
We get simple collisions like (0,1) colliding with (2,3).
With the hashlib changes, we get only 707,099 collisions and 49,287,901 unique hash values.
Much better! The `commutative_hash` implementation corresponds to `Sum(4)` in the paper
mentioned above.
2025-08-19 21:45:52 +00:00
Emil J
b0d709f6cf
Merge pull request #5294 from rocallahan/precision-tests
...
Add tests for dynamic precision and with with an int parameter
2025-08-19 16:42:49 +02:00
Miodrag Milanović
5fd9f54482
Merge pull request #5300 from donn/wheel_fixes
...
wheels: bison 3.8 on almalinux + memory pressure easing
2025-08-19 11:44:12 +02:00
github-actions[bot]
bfc9a322e2
Bump version
2025-08-19 00:24:35 +00:00
Mohamed Gaber
2ed7a7aac9
wheels: fix PATH variables
2025-08-19 01:28:46 +03:00
Jannis Harder
6b94376daf
Merge pull request #5299 from YosysHQ/revert-5280-krys/ci_changes
...
Revert "Workflow adjustments"
2025-08-18 21:50:19 +02:00
Mohamed Gaber
6cbd44daa5
wheels: bison 3.8 on almalinux + memory pressure easing
...
- cibw now builds and uses bison 3.8.2 explicitly on platforms with no or out-of-date bison — AlmaLinux 8 only goes up to Bison 3.0
- cibw environment now includes `OPTFLAGS=-O3` to avoid generating debug info for abc, saving space in memory during linking
- setup.py attempts to build `yosys-abc` independently first to avoid memory pressure from gigantic abc link step running in parallel with something else
2025-08-18 22:34:15 +03:00
Jannis Harder
b640a16b07
Revert "Workflow adjustments"
2025-08-18 20:39:00 +02:00
Emil J. Tywoniak
7ee62c832b
bitpattern: unit test
2025-08-18 19:57:45 +02:00
Emil J. Tywoniak
6a2984540b
bitpattern: comments
2025-08-18 19:57:45 +02:00
Jannis Harder
7c409e2d5a
Merge pull request #5285 from jix/abstract_initstates
...
abstract: Add -initstates option
2025-08-18 15:39:09 +02:00
Robert O'Callahan
e0e70d1158
Remove some c_str()
calls where they're no longer needed as parameters to stringf()
.
2025-08-18 14:20:31 +01:00
Emil J
f0ccc65820
Merge pull request #5297 from rocallahan/redundant-assignmap
...
Remove redundant construction of `assign_map`.
2025-08-18 10:43:44 +02:00
Miodrag Milanović
1a52a714b4
Merge pull request #5280 from YosysHQ/krys/ci_changes
...
Workflow adjustments
2025-08-18 10:17:12 +02:00
github-actions[bot]
d73cd78001
Bump version
2025-08-18 00:27:23 +00:00
Robert O'Callahan
3f2c4f6f83
Remove redundant construction of assign_map
.
...
We call 'assign_map.set()' below which wipes the `SigMap` and reconstructs it.
This operation is expensive because it scans the whole module. I think it's
better to make heavyweight operations more visible so I'm removing
the less obvious operation.
2025-08-17 23:34:11 +00:00
KrystalDelusion
6d55ca204b
Merge pull request #5281 from suisseWalter/add_parameterised_cells_stat
...
STAT: Add parameterised cells
2025-08-18 09:21:45 +12:00
clemens
9278bed853
removed copyright notice on lib file.
...
Should be covered by the yosys license not anything else.
2025-08-16 09:40:03 +02:00
clemens
4e45b5e1bb
permit trailing comma
2025-08-16 09:40:03 +02:00
clemens
73d1177665
testcases
...
one testcase for single parameter cells.
one testcase for double parameter cells.
2025-08-16 09:40:03 +02:00
clemens
8b1f77ebd2
cleanup. printf to errors or warnings
2025-08-16 09:40:03 +02:00
clemens
50fe9dd7f2
clean parsing code
2025-08-16 09:40:03 +02:00
clemens
5fc0e77c3d
add functionality to be able to use parameterised cells.
...
cells can have their area as a function of the input port width.
2025-08-16 09:40:03 +02:00
clemens
d8fb4da437
updated testcase
2025-08-16 09:32:08 +02:00
clemens
a6e0ab5ea5
Update (sequential) area to be only local without -hierarchy
2025-08-16 09:09:57 +02:00
suisseWalter
f5b219f59e
Update passes/cmds/stat.cc
...
Co-authored-by: KrystalDelusion <93062060+KrystalDelusion@users.noreply.github.com>
2025-08-16 08:36:06 +02:00
github-actions[bot]
d10fdc0ec5
Bump version
2025-08-16 00:24:02 +00:00
KrystalDelusion
7799c6e6ac
Merge pull request #5291 from YosysHQ/krys/rename_escape
...
rename.cc: Fixup ports after -unescape
2025-08-16 12:19:49 +12:00