3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-10-30 03:02:30 +00:00
Commit graph

16020 commits

Author SHA1 Message Date
Emil J
ea84ab0bf3
Merge 0aa2a4c260 into 89f32a415b 2025-10-08 20:57:20 -04:00
github-actions[bot]
89f32a415b Bump version 2025-10-09 00:22:39 +00:00
Emil J. Tywoniak
0aa2a4c260 sdc: disable without YOSYS_ENABLE_TCL 2025-10-08 14:57:28 +02:00
Emil J
a80462f27f
Merge pull request #5339 from rocallahan/fast-rtlil-parser
Rewrite the RTLIL parser for efficiency
2025-10-08 14:52:37 +02:00
Emil J. Tywoniak
0295bd7c97 sdc: remove vestigial code for tracked constraint followup work 2025-10-08 14:48:00 +02:00
Emil J. Tywoniak
35801c2aa1 sdc: add help 2025-10-08 14:32:21 +02:00
Emil J. Tywoniak
a4dc0156bb sdc: specialize stubs for the call graph 2025-10-08 13:49:53 +02:00
Emil J. Tywoniak
dead2aa03f sdc: add -keep_hierarchy test 2025-10-08 13:43:37 +02:00
Emil J. Tywoniak
e341bbb80d sdc: move to directory 2025-10-08 13:16:44 +02:00
Emil J. Tywoniak
9779c9673f sdc: graph mode only 2025-10-08 13:16:44 +02:00
Emil J. Tywoniak
153132d1e9 sdc: add -keep_hierarchy 2025-10-08 13:16:44 +02:00
Emil J. Tywoniak
4cf0f8e799 sdc: keep_hiearchy 2025-10-08 13:16:44 +02:00
Emil Jiří Tywoniak
329a3783e2 sdc: refactor more 2025-10-08 13:16:44 +02:00
Emil Jiří Tywoniak
5647bdeb2b sdc: refactor find_matching 2025-10-08 13:16:44 +02:00
Emil J. Tywoniak
c81145ec31 sdc: functional graph 2025-10-08 13:16:44 +02:00
Emil J. Tywoniak
2eb842e8b4 sdc: start graph 2025-10-08 13:16:44 +02:00
Emil J. Tywoniak
cd244d0d02 sdc: bit selections 2025-10-08 13:16:44 +02:00
Emil J. Tywoniak
4a347db75a sdc: unknown handler experiment 2025-10-08 13:16:44 +02:00
Emil J. Tywoniak
c9488c4fd0 sdc: simple mode, remove per-tool stubs 2025-10-08 13:16:44 +02:00
Emil J. Tywoniak
b5c40b6ed4 sdc: return resolved patterns 2025-10-08 13:16:44 +02:00
Emil J. Tywoniak
297e31d905 sdc: collect strictly matching objects 2025-10-08 13:16:44 +02:00
Emil J. Tywoniak
3bdcf37c0e sdc: stubs SDC commands supported by OpenSTA 2025-10-08 13:16:44 +02:00
Emil J. Tywoniak
e4cf2be879 sdc: collect design objects 2025-10-08 13:16:44 +02:00
Emil J. Tywoniak
dc07cc0715 sdc: stubs SDC commands supported by Vivado 2025-10-08 13:14:26 +02:00
Emil J. Tywoniak
b749906b9a sdc: separate out 2025-10-08 13:14:26 +02:00
Emil Jiří Tywoniak
38145e79dd sdc: add initial stubbed demo 2025-10-08 13:14:26 +02:00
Miodrag Milanović
b7a72811cc
Merge pull request #5408 from rocallahan/atomic-mfp
Make `mfp` const methods thread-safe.
2025-10-08 13:08:16 +02:00
Miodrag Milanović
ba1a347d59
Merge pull request #5370 from donn/pyosys_pybind11
pyosys: rewrite using pybind11
2025-10-08 13:07:59 +02:00
Miodrag Milanović
869910055f
Merge pull request #3908 from YosysHQ/ecp5_2_lattice
synth_ecp5 and synth_nexus to synth_lattice
2025-10-08 13:07:33 +02:00
Miodrag Milanović
4cdaac003f
Merge pull request #3991 from adrianparvino/alumacc-sign
alumacc: merge independent of sign
2025-10-08 13:02:10 +02:00
Miodrag Milanovic
1d2d777678 Next dev cycle 2025-10-08 09:25:33 +02:00
Miodrag Milanovic
157aabb583 Release version 0.58 2025-10-08 07:51:14 +02:00
github-actions[bot]
47ca09a016 Bump version 2025-10-08 00:22:29 +00:00
Miodrag Milanović
35bade56da
Merge pull request #5410 from jix/abc_new-fix-zbuf-churn
abc_new: Avoid bufnorm helper cell churn
2025-10-07 19:25:46 +02:00
Jannis Harder
2c94ca85d9 abc_new: Avoid bufnorm helper cell churn
We were performing the helper passes `abc9_ops -replace_zbufs` and
`abc9_ops -restore_zbufs` for every module, but those passes act on the
full design (and can't be applied entirely selectively due to entering
and leaving bufnorm).

This lead to an explosive creation of a lot of redundant bufnorm helper
cells that would have been cleaned up by `clean` but that never ran.
Instead we now run each helper pass once, one before and one after
iterating over the selected modules. This limits the number of bufnorm
helper cells.
2025-10-07 18:05:28 +02:00
github-actions[bot]
b8b0f80f79 Bump version 2025-10-07 00:23:02 +00:00
Robert O'Callahan
2f81c55389 Make mfp const methods thread-safe.
In particular, we make the parent links relaxed atomics so concurrent
`ifind()` calls are safe.

This may appear to cause a tiny performance regression but as discussed
in https://yosyshq.discourse.group/t/parallel-optmergepass-implementation/87/16
this is probably just noise.
2025-10-06 22:44:01 +00:00
Krystine Sherwin
da2e021e3b abc9.cc: Use -r for &dch
Avoids "ABC: The command has to terminate. Boxes are not in a topological order." error during `&if`.
2025-10-06 14:07:40 +01:00
github-actions[bot]
637665c9d3 Bump version 2025-10-04 00:21:39 +00:00
Miodrag Milanović
ed4eb6d331
Merge pull request #5406 from YosysHQ/verific_import_err_print_src
verific: print source location of problematic object on import error
2025-10-03 14:05:05 +02:00
N. Engelhardt
0b6adf832b verific: print source location of problematic object on import error (if available) 2025-10-03 12:57:49 +02:00
Mohamed Gaber
440e331ae0
docs: proofread pyosys.rst
Primarily address feedback from @KrystalDelusion (thanks!)
2025-10-03 11:54:44 +03:00
Mohamed Gaber
93fae3c606
docs: write small guide for using pyosys 2025-10-03 11:54:44 +03:00
Mohamed Gaber
80fcce64da
pyosys: fix ref-only classes, implicit conversions
+ cleanup
2025-10-03 11:54:44 +03:00
Mohamed Gaber
c8404bf86b
pyosys/hashlib: equivalence operators 2025-10-03 11:54:44 +03:00
Mohamed Gaber
447a6cb3f0
misc: WITH_PYTHON -> YOSYS_ENABLE_PYTHON
For consistency.

Also trying a new thing: only rebuilding objects that use the pybind11 library. The idea is these are the only objects that include the Python/pybind headers and thus the only ones that depend on the Python ABI in any capacity, so other objects can be reused across wheel builds. This has the potential to cut down build times.
2025-10-03 11:54:44 +03:00
Mohamed Gaber
dc88906c91
tests/pyosys: print log on failed test, fix make clean 2025-10-03 11:54:44 +03:00
Mohamed Gaber
54799bb8be
pyosys: globals, set operators for opaque types
There is so much templating going on that compiling wrappers.cc now takes 1m1.668s on an Apple M4…
2025-10-03 11:54:44 +03:00
Mohamed Gaber
384f7431fd
pyosys: rewrite wrapper generator
[skip ci]
2025-10-03 11:54:44 +03:00
Mohamed Gaber
88be728353
pyosys: rewrite using pybind11
- Rewrite all Python features to use the pybind11 library instead of boost::python.
  Unlike boost::python, pybind11 is a header-only library that is just included by Pyosys code, saving a lot of compile time on wheels.
- Factor out as much "translation" code from the generator into proper C++ files
- Fix running the embedded interpreter not supporting "from pyosys import libyosys as ys" like wheels
- Move Python-related elements to `pyosys` directory at the root of the repo
- Slight shift in bridging semantics:
  - Containers are declared as "opaque types" and are passed by reference to Python - many methods have been implemented to make them feel right at home without the overhead/ambiguity of copying to Python and then copying back after mutation
  - Monitor/Pass use "trampoline" pattern to support virual methods overridable in Python: virtual methods no longer require `py_` prefix
- Create really short test set for pyosys that just exercises basic functionality
2025-10-03 11:54:44 +03:00