Emil Jiří Tywoniak
075237f73b
sdc: refactor more
2025-11-19 15:25:24 +01:00
Emil Jiří Tywoniak
48ff9d4950
sdc: refactor find_matching
2025-11-19 15:25:24 +01:00
Emil J. Tywoniak
ae1235210d
sdc: functional graph
2025-11-19 15:25:24 +01:00
Emil J. Tywoniak
c6491629d8
sdc: start graph
2025-11-19 15:25:24 +01:00
Emil J. Tywoniak
24a6412ea8
sdc: bit selections
2025-11-19 15:25:24 +01:00
Emil J. Tywoniak
21c68e0022
sdc: unknown handler experiment
2025-11-19 15:25:24 +01:00
Emil J. Tywoniak
420a083d9b
sdc: simple mode, remove per-tool stubs
2025-11-19 15:25:24 +01:00
Emil J. Tywoniak
834125a076
sdc: return resolved patterns
2025-11-19 15:25:24 +01:00
Emil J. Tywoniak
dc48ceadd9
sdc: collect strictly matching objects
2025-11-19 15:25:24 +01:00
Emil J. Tywoniak
9a3c7f70ad
sdc: stubs SDC commands supported by OpenSTA
2025-11-19 15:25:24 +01:00
Emil J. Tywoniak
c26aa3186d
sdc: collect design objects
2025-11-19 15:25:24 +01:00
Emil J. Tywoniak
c1c6ec1266
sdc: stubs SDC commands supported by Vivado
2025-11-19 15:25:24 +01:00
Emil J. Tywoniak
5a798b64ef
sdc: separate out
2025-11-19 15:25:22 +01:00
Emil J. Tywoniak
9a5465bc83
icell_liberty: simplify
2025-11-19 15:20:50 +01:00
Emil J. Tywoniak
cee3d0b598
icell_liberty: refactor and add help
2025-11-19 15:20:50 +01:00
Emil J. Tywoniak
e4e32d7966
icell_liberty: flop harder
2025-11-19 15:20:50 +01:00
Emil J. Tywoniak
c2c9506f4f
icell_liberty: flops
2025-11-19 15:20:50 +01:00
Emil J. Tywoniak
b3ead7e47d
icell_liberty: start
2025-11-19 15:20:50 +01:00
Akash Levy
e21324d609
Merge from upstream
2025-11-11 22:52:11 -08:00
Robert O'Callahan
3f7af10eda
Make SigSpec::chunks() return an object that can be iterated over without packing the SigSpec
2025-11-07 15:54:54 +00:00
Akash Levy
ec535c1b48
Merge branch 'YosysHQ:main' into main
2025-11-05 15:40:09 -05:00
Martin Povišer
5fa7feccd3
timeest: Add top ports launching/sampling
2025-11-03 14:21:28 +01:00
Akash Levy
303f7292a0
Merge branch 'YosysHQ:main' into main
2025-10-25 20:30:52 -04:00
Mohamed Gaber
dec28f65ae
Merge remote-tracking branch 'donn/pyosys_bugfixes' into merge_pybind11
2025-10-26 02:39:43 +03:00
William D. Jones
311a2739f6
Add sys/wait.h header to bugpoint to bring in constants.
2025-10-20 19:50:18 -04:00
Miodrag Milanovic
db8c1878a0
fix dlopen using fs:path with mingw
2025-10-16 08:30:43 +02:00
Mohamed Gaber
dce70abd94
plugins: support Windows path delimiters
2025-10-15 15:53:44 +03:00
Mohamed Gaber
e86797f029
plugins: add search path
...
This uses the environment variable `YOSYS_PLUGIN_PATH` to provide multiple colon-delimited search paths for native plugins in a similar manner to `PATH` for executables and `PYTHONPATH` for Python modules.
This addresses https://github.com/YosysHQ/yosys/issues/2545 , allowing Yosys to be better packaged in non-FHS environments such as Nix.
2025-10-15 14:13:25 +03:00
Emil J
a5960ce515
Merge pull request #5197 from YosysHQ/emil/opensta-verilog-export
...
OpenSTA verilog compatibility
2025-10-14 16:46:37 +02:00
Emil J. Tywoniak
e9aedf505c
chtype: replace publish pass with chtype -publish_icells
2025-10-14 15:01:48 +02:00
Emil J. Tywoniak
e5edd2acdb
sort: init
2025-10-13 17:32:26 +02:00
Emil J. Tywoniak
c46df9ffdc
box_derive: rename -apply to -apply_derived_type
2025-10-13 17:24:32 +02:00
Emil J. Tywoniak
d7cea2c35c
box_derive: add -apply
2025-10-13 17:24:32 +02:00
Emil J. Tywoniak
7d8f92e198
publish: add pass for renaming private cell types to public
2025-10-13 17:24:32 +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
Akash Levy
16215b8786
Merge upstream
2025-09-29 20:58:56 -07: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
Akash Levy
652a9a63b2
Update to latest and fix all disabled tests
2025-09-28 01:33:08 -07: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
Akash Levy
cd37b064f9
Minor cleanup
2025-09-23 01:07:41 -07:00
Robert O'Callahan
1e5f920dbd
Remove .c_str() from parameters to log_debug()
2025-09-23 19:10:33 +12:00
Akash Levy
d16ca47549
Merge branch 'YosysHQ:main' into main
2025-09-22 17:47:23 -07: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
Akash Levy
60d969530b
Bump to latest
2025-09-21 01:10:04 -07: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
Akash Levy
1f9013aad0
Merge branch 'YosysHQ:main' into main
2025-09-15 08:04:00 -07: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
Akash Levy
f5cb0c328f
Bump Yosys to latest
2025-09-13 04:35:52 -07: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
Akash Levy
a43de44f9d
Merge upstream changes
2025-09-10 23:02:15 -07: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
Akash Levy
1b3375d8df
Merge upstream in
2025-09-09 05:50:48 -07: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
Akash Levy
8204fd1d0b
Update Yosys to latest
2025-09-06 16:49:39 -07: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
Akash Levy
e54fa487b8
Merge from upstream
2025-08-21 17:56:55 -07: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
clemens
4e45b5e1bb
permit trailing comma
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
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
Krystine Sherwin
ec18d1aede
rename.cc: Fixup ports after -unescape
2025-08-15 10:48:32 +12:00
Akash Levy
3cd1cc157a
Bump Yosys to latest
2025-08-14 10:54:48 -07:00
Akash Levy
56caf7cd84
Bump Yosys to latest
2025-08-13 13:37:37 -07:00
clemens
71307b4a51
add Testcases
...
Fix existing testcases
Fix edgecase where modules where counted as cells.
2025-08-13 14:46:01 +02:00
Emil J. Tywoniak
856fc43a87
rename: format vector slices consistently with HDL upto/downto direction
2025-08-13 11:11:53 +02:00
Jannis Harder
77089a8d03
rename: add -move-to-cell option in -wire mode
2025-08-13 11:11:52 +02:00
clemens
383d11c2ac
fix design overview in json.
...
Fix some unknown cells apearing twice.
2025-08-13 10:09:02 +02:00
clemens
1eb8844e38
fix labeling in report
...
fix design hierarchy containing wrong values.
remove left over debug print.
2025-08-13 08:36:26 +02:00
Jannis Harder
1f876f3a22
abstract: Add -initstates option
2025-08-12 15:37:12 +02:00
Jannis Harder
256aa3e389
check: Limit detailed cell edge checking for $pmux and $bmux
...
While these cells can't have a quadratic number of edges between A, B
and Y, they do have a quadratic number of edges between S and Y.
2025-08-12 14:38:20 +02:00
clemens
2a97987cf2
formatting and remove debug statements
2025-08-12 09:16:05 +02:00
clemens
a0dde68487
Improve STAT
2025-08-12 09:04:16 +02:00
Emil J. Tywoniak
c8e0ac0c61
ast, read_verilog: ownership in AST, use C++ styles for parser and lexer
2025-08-11 13:34:10 +02:00
Akash Levy
613dfcc6b4
Merge branch 'YosysHQ:main' into main
2025-08-08 10:37:08 -07:00
Emil J
d68d28d05e
Merge pull request #5183 from YosysHQ/emil/test-diagnostics
...
logger: add -expect types prefix-log, prefix-warning, prefix-error
2025-08-08 14:46:25 +02:00
Akash Levy
77be4d7be7
Bump Yosys to latest
2025-08-07 17:22:25 -07:00
Krystine Sherwin
3959d19291
Reapply "Add groups to command reference"
...
This reverts commit 81f87ce6ed .
2025-08-06 13:52:12 +12:00
Akash Levy
cc733fd11b
Merge from upstream
2025-07-30 22:50:14 -07:00
Krystine Sherwin
d3ff803b81
bugpoint: Add -suffix option
...
Allows for adding a suffix to the `bugpoint-case` file name so that multiple `bugpoint`s can run in the same directory, e.g. during a `make test -j4`.
2025-07-29 11:39:52 +12:00
Krystine Sherwin
93f7429f4f
tests: Add bugpoint to MK_TEST_DIRS
...
Also change `-err_grep` to `-err-grep` for consistency with `-expect-return`.
2025-07-29 11:39:51 +12:00
Krystine Sherwin
b5a13ae95b
bugpoint.cc: Rename to -err_grep
2025-07-29 11:39:51 +12:00