3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-10-10 01:41:59 +00:00
Commit graph

808 commits

Author SHA1 Message Date
Emil J
ea84ab0bf3
Merge 0aa2a4c260 into 89f32a415b 2025-10-08 20:57:20 -04: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
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
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
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
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
Robert O'Callahan
1e5f920dbd Remove .c_str() from parameters to log_debug() 2025-09-23 19:10:33 +12:00
Emil J
a78eb9e151
Merge pull request #5315 from YosysHQ/emil/write_rtlil-no-sort
write_rtlil: don't sort
2025-09-22 11:14:39 +02:00
Emil J
73e47ac3fe
Merge pull request #5357 from rocallahan/builtin-ff
Instead of using `builtin_ff_cell_types()` directly, go through a method `Cell::is_builtin_ff()`
2025-09-17 11:37:16 +02:00
Robert O'Callahan
d24488d3a5 Instead of using builtin_ff_cell_types() directly, go through a method Cell::is_builtin_ff() 2025-09-17 03:24:19 +00:00
Robert O'Callahan
a7c46f7b4a Remove .c_str() calls from parameters to log_warning()/log_warning_noprefix() 2025-09-16 23:02:16 +00:00
Robert O'Callahan
d1fd6de6da Remove .c_str() calls from parameters to log_header() 2025-09-16 23:00:42 +00:00
Robert O'Callahan
5ac6858f26 Remove .c_str() from log_cmd_error() and log_file_error() parameters 2025-09-16 22:59:08 +00:00
Emil J. Tywoniak
68ad52c6ae bugpoint: don't sort 2025-09-16 15:39:13 +02:00
Robert O'Callahan
1b589b065d Update passes/cmds to avoid bits() 2025-09-16 03:17:23 +00:00
Claire Xen
a2fc7e4dd7
Merge pull request #4252 from zapta/master
Added to the Show command a -wireshape <graphviz-shape> flag.
2025-09-15 15:40:40 +02:00
Robert O'Callahan
e0ae7b7af4 Remove .c_str() calls from log()/log_error()
There are some leftovers, but this is an easy regex-based approach that removes most of them.
2025-09-11 20:59:37 +00:00
Robert O'Callahan
d34ac0c87d Make log() use the FmtString infrastructure.
Now `log()` supports `std::string`.

We have to fix a few places where the format parameter was not a compile time constant.
This is mostly trivial.
2025-09-09 15:41:03 +02:00
Jannis Harder
b6db32873d Add IdString const &id_string() const to StaticIdString and IdString
The vast majority of ID(...) uses are in a context that is overloaded
for StaticIdString or will cause implicit conversion to an IdString
constant reference. For some sufficently overloaded contexts, implicit
conversion may fail, so it's useful to have a method to force obtaining
a `IdString const &` from an ID(...) use.

When turning all literal IdStrings of the codebase into StaticIdStrings
this was needed in exactly one place, for which this commit adds an
`id_string()` call.
2025-09-09 09:56:55 +12:00
Jannis Harder
c468ee7add
Merge pull request #5304 from rocallahan/idstring-stringf
Support `IdString` parameters in `stringf()` and remove `.c_str()` in a lot of places
2025-09-08 20:29:20 +02:00
Krystine Sherwin
bc77b6213b autoname: Fix selection arg 2025-09-05 00:15:26 +02:00
Krystine Sherwin
fc2cb32e50 autoname.cc: Avoid int overflow 2025-09-05 00:15:26 +02:00
Krystine Sherwin
d70f132792
wrapcell.cc: Avoid format name collision 2025-09-03 03:32:01 +12:00
Robert O'Callahan
c7df6954b9 Remove .c_str() from stringf parameters 2025-09-01 23:34:42 +00: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
Jannis Harder
7c409e2d5a
Merge pull request #5285 from jix/abstract_initstates
abstract: Add -initstates option
2025-08-18 15:39:09 +02: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