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

4676 commits

Author SHA1 Message Date
Emil J
1d89b7902e
Merge 91ff55a50c into 25f2a88770 2025-10-14 08:43:50 +02:00
Emil J. Tywoniak
91ff55a50c sdc: error on unknown getters 2025-10-09 21:41:31 +02:00
Emil J
9a12d92551
Merge pull request #5386 from YosysHQ/emil/liberty-glob-all
Expand wildcards in Liberty file consumers
2025-10-09 20:21:48 +02:00
Emil J. Tywoniak
0aa2a4c260 sdc: disable without YOSYS_ENABLE_TCL 2025-10-08 14:57:28 +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
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
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ć
4cdaac003f
Merge pull request #3991 from adrianparvino/alumacc-sign
alumacc: merge independent of sign
2025-10-08 13:02:10 +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
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
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
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
Emil J
7719beb4ae
Merge pull request #5349 from rocallahan/cleanup-hashops
Reduce hashops verbiage in `OptMergePass`
2025-09-30 19:34:44 +02:00
Jannis Harder
47639f8a98
Merge pull request #5388 from jix/bufnorm-followup
Refactor and fixes to incremental bufNormalize + related changes
2025-09-29 15:15:29 +02:00
Jannis Harder
6a7372626a
Merge pull request #5389 from jix/sva_continue
verific: New `-sva-continue-on-error` import option
2025-09-29 15:07:54 +02:00
Emil J
87c1a868d3
Merge pull request #5384 from rocallahan/simplify-opt-merge-logic
Move `OptMerge` cell filtering logic to happen while building the cell vector
2025-09-29 15:03:01 +02:00
Martin Povišer
a9318db2fa opt_hier: Adjust messages 2025-09-29 12:27:27 +02:00
Martin Povišer
ffe2f7a16d opt_hier: Fix two optimizations conflicting
Fix a conflict between the following two:

 * propagation of tied-together inputs in
 * propagation of unused inputs out
2025-09-29 12:27:27 +02:00
Jannis Harder
cbc1055517 opt_clean: Fix debug output when cleaning up bufnorm cells 2025-09-29 08:21:28 +02:00
Jannis Harder
9396e5e5fe portarcs: Ignore all bufnorm helper cells
The `portarcs` pass was already ignoring `$buf` cells when loading
timing data, but now bufnorm will also emit `$input_port` and `$connect`
helper cells, which need to be ignored as well.
2025-09-29 08:21:28 +02:00
Jannis Harder
ce5d04a42f hierarchy: Suggest more specific command to skip unsupported SVA 2025-09-26 18:41:26 +02:00
KrystalDelusion
7ebd972165
Merge pull request #5277 from YosysHQ/krys/fix_4983_alt
autoname: Avoid integer overflow
2025-09-26 14:11:20 +12:00
Krystine Sherwin
fef6bdae6c
autoname.cc: Return number of renames
Was previously the number of proposed renames, but since renames can be skipped this causes the final count to differ from the number of actually renamed objects.
Check counts in `tests/various/autoname.ys`.
2025-09-26 11:05:50 +12:00
Emil J
8c8d18f2d8
Merge pull request #5392 from rocallahan/opt-merge-cleanup
Some small readability improvements to `OptMergeWorker`
2025-09-25 12:15:33 +02:00
Martin Povišer
29e0144ebc
Merge pull request #5381 from povik/abc9-multilib
Support multiple lib files in abc9_exe
2025-09-25 09:45:09 +02:00
Robert O'Callahan
4d209c187d Switch OptMergeWorker cell type switching to use IdString::in() 2025-09-25 03:06:58 +00:00
Robert O'Callahan
1c73011e7e Swap SigSpecs using std::swap with moves 2025-09-25 03:04:17 +00:00
Jannis Harder
83dd99efb7 verific: New -sva-continue-on-error import option
This option allows you to process a design that includes unsupported
SVA. Unsupported SVA gets imported as formal cells using 'x inputs and
with the `unsupported_sva` attribute set. This allows you to get a
complete list of defined properties or to check only a supported subset
of properties. To ensure no properties are unintentionally skipped for
actual verification, even in cases where `-sva-continue-on-error` is
used by default to read and inspect a design, `hierarchy -simcheck` and
`hierarchy -smtcheck` (run by SBY) now ensure that no `unsupported_sva`
property cells remain in the design.
2025-09-24 18:58:54 +02:00
Jannis Harder
71882debe7 simplemap: Remove leftover debug output 2025-09-24 13:20:27 +02:00
Jannis Harder
904d49c6d8 abc9_ops: Remove temporary debug log message
I missed this when adding the -replace_zbufs option.
2025-09-24 13:20:27 +02:00
Emil Jiří Tywoniak
4508676e67 libcache: support liberty filename globbing 2025-09-24 11:41:51 +02:00
Emil Jiří Tywoniak
856a387aad dfflibmap: support liberty filename globbing 2025-09-24 11:41:51 +02:00