Commit Graph

1671 Commits

Author SHA1 Message Date
Emil J 4f7ea38b49
Merge pull request #5127 from RonxBulld/refine_strip
Disable STRIP operations when appropriate.
2025-05-26 15:03:34 +02:00
github-actions[bot] 209df95fb9 Bump version 2025-05-24 00:23:33 +00:00
github-actions[bot] 6c67b29bbb Bump version 2025-05-23 00:24:38 +00:00
RonxBulld 64a115e6f0
Disable STRIP operations when appropriate. 2025-05-18 01:07:06 +08:00
github-actions[bot] 388955031f Bump version 2025-05-17 00:23:43 +00:00
Emil J 3823157c25
Merge pull request #5080 from akashlevy/muldiv_c
Add `muldiv_c` peepopt
2025-05-15 11:03:25 +02:00
github-actions[bot] ae47c49af5 Bump version 2025-05-15 00:22:59 +00:00
github-actions[bot] e3ae7b1400 Bump version 2025-05-13 00:24:04 +00:00
KrystalDelusion c590c0c12c
Merge pull request #5111 from YosysHQ/krys/config_python
Makefile: Conditional assignment of python exe
2025-05-13 09:54:26 +12:00
github-actions[bot] 6900818105 Bump version 2025-05-10 00:22:55 +00:00
KrystalDelusion 1e2d6508d0
Makefile: Conditional assignment of python exe
Using `:=` while providing an override (either in Makefile.conf or on the command line) does not correctly apply the override in other simply expanded variables (using `:=`).  Instead, passing an explicit `PYTHON_EXECUTABLE=python3.15` while leaving `PYTHON_CONFIG` implicitly defined results in it being set to `python3-config` instead of the expected `python3.15-config`.
2025-05-10 09:09:30 +12:00
github-actions[bot] 55bd950af4 Bump version 2025-05-09 00:27:47 +00:00
github-actions[bot] 8da97d0044 Bump version 2025-05-07 00:24:00 +00:00
Miodrag Milanovic 20921ad908 Next dev cycle 2025-05-06 08:26:46 +02:00
Miodrag Milanovic 53c22ab7c0 Release version 0.53 2025-05-06 07:45:16 +02:00
github-actions[bot] 5924f2de7b Bump version 2025-05-06 00:23:55 +00:00
github-actions[bot] 765485a375 Bump version 2025-05-04 00:26:28 +00:00
github-actions[bot] aa30589c12 Bump version 2025-05-01 00:26:28 +00:00
KrystalDelusion 4213f75caa
Merge pull request #4969 from YosysHQ/krys/check_yosys_git
Makefile: Test yosys git status in check-git-abc
2025-05-01 10:09:08 +12:00
Akash Levy 4bd91fbb11 Add `muldiv_c` peepopt pass 2025-04-30 08:06:59 -07:00
github-actions[bot] 58e7cfa559 Bump version 2025-04-27 00:25:27 +00:00
Krystine Sherwin 1e8adc6bd0
Makefile: Redirect all git output
For some platforms (Arch Linux, at least), `git status` reports errors on stdout instead of stderr, so we need to redirect that to `/dev/null` too.  This also prevents `git status` from logging output when the yosys directory is a git repo, but is missing the abc folder.
2025-04-26 10:59:24 +12:00
github-actions[bot] 94af24c801 Bump version 2025-04-25 00:23:50 +00:00
github-actions[bot] c550c301dc Bump version 2025-04-24 00:23:08 +00:00
github-actions[bot] bf20bc0848 Bump version 2025-04-23 00:23:08 +00:00
Emil J a628f84ec0
Merge pull request #5044 from RonxBulld/main
Fixed the problem of not calling abc correctly when using libyosys.so
2025-04-22 12:38:07 +02:00
github-actions[bot] 1788ffcaf7 Bump version 2025-04-22 00:23:01 +00:00
RonxBulld a8ae6f05ea
Fixed the problem of not calling abc correctly when using libyosys.so library (it will try to call yosys-abc as command line instead of calling abc::Abc_RealMain) 2025-04-22 00:54:51 +08:00
github-actions[bot] 08b3a9fc7b Bump version 2025-04-17 00:22:57 +00:00
github-actions[bot] c894685f26 Bump version 2025-04-16 00:23:21 +00:00
github-actions[bot] ea2c1e7ac7 Bump version 2025-04-15 00:23:32 +00:00
Miodrag Milanović 9f25f972dc
Merge pull request #5008 from donn/wheel_builds_fix
wheels: fix builds, add linux aarch64 to ci
2025-04-14 15:10:37 +02:00
Donn b7062143e1 hotfix: fix CHECK_BOOST_PYTHON missing libpython 2025-04-14 14:54:38 +02:00
Donn c18f1310a5 Revert #4901
Partially reverts commit 9c5bffcf93.

The reasoning behind this is that setup.py is intended to strictly consume the Makefile and not be consumed by it. The attempt at using them recursively has caused a number of issues and has rendered Pyosys unusable to some users: See https://github.com/YosysHQ/yosys/issues/5012

Additionally, unlike the previous pyosys installation target, the wheel installation does not respect PREFIX=, only venvs.

For installation inside a venv, the intended method should remain a user manually executing `pip3 install .` instead of relying on the Makefile.
2025-04-14 14:45:41 +02:00
github-actions[bot] 9d3d0a4336 Bump version 2025-04-12 00:22:23 +00:00
github-actions[bot] 33c57937cd Bump version 2025-04-10 00:22:42 +00:00
Emil J a5e8f52ce5
Merge pull request #4976 from Logikable/main
Support array ranges for identifiers in the Liberty parser.
2025-04-09 22:49:52 +02:00
Donn 2bc2105d82 wheels: fix builds, add linux aarch64 to ci
Essentially, something is attempting to build the Yosys EXE when you build libyosys.so now. With `ENABLE_PYTHON_CONFIG_EMBED=0`, the Yosys EXE will always fail to build.

Furthermore, because `ENABLE_PYOSYS` now attempts to build a wheel, building a wheel has become recursive.

This commit uses a supplementary set of libs for the EXE (EXE_LIBS) so it and libyosys.so can be built simultaneously, as well as a new Makefile flag, `ENABLE_WHEEL`, to prevent the aforementioned recursion.

I also enabled aarch64 Linux in the CI because it's publicly available now.
2025-04-09 10:42:40 +02:00
Miodrag Milanovic a2c0847667 Next dev cycle 2025-04-09 08:21:08 +02:00
Miodrag Milanovic fee39a3284 Release version 0.52 2025-04-09 07:38:42 +02:00
github-actions[bot] f602248a2e Bump version 2025-04-09 00:22:49 +00:00
Miodrag Milanovic a9656455b1 Update to latest ABC 2025-04-08 17:39:41 +02:00
github-actions[bot] 857baf2031 Bump version 2025-04-08 00:22:31 +00:00
github-actions[bot] 331952f78d Bump version 2025-04-05 00:22:08 +00:00
KrystalDelusion 40c5694650
Merge pull request #4901 from akashlevy/pyosys_copy_abc
Copy `abc` stuff for pyosys to enable use of the `abc` pass
2025-04-05 10:57:02 +13:00
Akash Levy 9c0da98531 Updates 2025-04-03 17:47:48 -07:00
Sean Luchen bdcbbf2db6 Fix existing tests/liberty tests, and add them to Makefile. 2025-04-03 09:56:24 -07:00
KrystalDelusion 1cfe1e2813
Merge pull request #4974 from YosysHQ/micko/config_exitcode
yosys-config: Propagate exit code for help command
2025-04-03 09:56:13 +13:00
github-actions[bot] f03b44959b Bump version 2025-04-02 00:23:07 +00:00
Miodrag Milanovic 66d7ffb2c5 yosys-config: redirect to stderr/stdout depending of exit code 2025-04-01 08:39:11 +02:00
github-actions[bot] c08f72b806 Bump version 2025-04-01 00:26:08 +00:00
github-actions[bot] 314842d2a0 Bump version 2025-03-29 00:22:03 +00:00
KrystalDelusion 80dc946499
Makefile: Test yosys git status in check-git-abc
As in #4986, `check-git-abc` is misleading if Yosys itself isn't a git repository.
So check `git status` before suggesting `git` based solutions, providing alternative suggestions for using ABCEXTERNAL (which bypasses `check-git-abc`), or downloading release tar (noting that the 'Source code' archives won't work, which is probably how they ended up in this situtation).
2025-03-29 12:29:55 +13:00
Akash Levy ca57e14819 Address review feedback 2025-03-27 15:53:50 -07:00
github-actions[bot] d3aec12fe9 Bump version 2025-03-26 00:22:20 +00:00
github-actions[bot] 59602740ee Bump version 2025-03-25 00:23:05 +00:00
KrystalDelusion cce7aaedf7
Merge pull request #4939 from DanielG/rsync-fallback
mk: Fall back to cp if rsync is not available
2025-03-25 10:41:27 +13:00
Daniel Gröber 2b67ad78bf mk: Fall back to cp if rsync is not available 2025-03-24 18:06:17 +01:00
KrystalDelusion 8bde6ac17c
Merge pull request #4940 from DanielG/fix-help-rebuild
mk: Avoid broken rebuild if program --help fails
2025-03-21 10:01:13 +13:00
KrystalDelusion b06a661913
Merge pull request #4834 from YosysHQ/emil/gzip-refactor
Memory-efficient zlib usage across Liberty file consumers
2025-03-21 10:01:00 +13:00
github-actions[bot] f92ad7d900 Bump version 2025-03-20 00:21:55 +00:00
Emil J. Tywoniak 813f909460 gzip: istream 2025-03-19 13:43:44 +01:00
Emil J. Tywoniak 4f3fdc8457 io: refactor string and file work into new unit 2025-03-19 13:43:42 +01:00
Akash Levy 9c5bffcf93 Use wheel 2025-03-17 17:56:02 -07:00
github-actions[bot] 0c689091e2 Bump version 2025-03-18 00:21:58 +00:00
Akash Levy 0abe8bfee8
Merge branch 'YosysHQ:main' into pyosys_copy_abc 2025-03-17 16:50:14 -07:00
Daniel Gröber de11624f42 mk: Avoid broken rebuild if program --help fails
Make will happily consider a target available if it's zero sized.

When writing output files with shell redirections for commands that usually
succeed we can apply the `|| rm $@` pattern.

For commands where --help exits with failure we always rerun the recipe
instead.
2025-03-16 10:53:55 +01:00
github-actions[bot] e44d1d404a Bump version 2025-03-13 00:22:18 +00:00
Miodrag Milanovic 1b07d204bb Next dev cycle 2025-03-12 09:11:41 +01:00
Miodrag Milanovic c4b5190229 Release version 0.51 2025-03-12 08:31:37 +01:00
github-actions[bot] d1222c57af Bump version 2025-03-12 00:21:49 +00:00
github-actions[bot] 6462cd2167 Bump version 2025-03-11 00:22:03 +00:00
Emil J 7677a76fed
Merge pull request #4757 from YosysHQ/emil/yosys-config-version
Makefile: add YOSYS_VER and friends to CXXFLAGS for plugin compat che…
2025-03-10 17:43:55 +01:00
N. Engelhardt c74df780b7
Merge pull request #4884 from YosysHQ/docs-preview-functional_tutorial
Docs: More on FunctionalIR
2025-03-10 15:05:55 +00:00
Emil J. Tywoniak ecd8e4303d Makefile: add YOSYS_VER and friends to CXXFLAGS for plugin compat check fallback 2025-03-10 15:15:34 +01:00
KrystalDelusion 9106d6b3bd
Merge pull request #4881 from YosysHQ/pmgen-pass-restructure
Move passes out of the passes/pmgen folder
2025-03-01 10:22:54 +13:00
github-actions[bot] 78960292d0 Bump version 2025-02-27 00:21:40 +00:00
github-actions[bot] 05c81b3f14 Bump version 2025-02-26 00:21:19 +00:00
Krystine Sherwin c429aef60f
docs/rosette: More intro of SMT-LIB backend
As the intro paragraph (now) says:
> This section will introduce the SMT-LIB functional backend and what changes are needed...

The example is intended to be read without prior knowledge of the SMT-LIB backend, but the previous version glossed over a lot and instead focused on *just* what was changed.
This version should now be easier to follow without prior knowledge, while still being able to learn enough about the `Smt` version to adapt it to a different s-expression target that isn't Rosette.
Also adds a few `literalinclude`s of smtlib.cc, which is now copied to `docs/source/generated` along with producing the rosette diff on the fly (which now also has up to 20 lines of context, enabling the full `Module::write()` diff to be literal included).
2025-02-22 17:14:13 +13:00
KrystalDelusion 98f0ddd636
Merge pull request #4908 from YosysHQ/abc_warn_diff_commit
Cover all cases of submodule status in check-git-abc
2025-02-22 11:03:58 +13:00
github-actions[bot] 0778195722 Bump version 2025-02-21 00:21:16 +00:00
KrystalDelusion 9d3ab964b2
Merge pull request #4903 from akashlevy/boost_python_fix_macos
Fix macOS boost-python issues
2025-02-20 15:17:34 +13:00
Krystine Sherwin 700b32bc38
Makefile: Fix CHECK_BOOST_PYTHON
`python-config --ldflag` includes output of `python-config --libs`; and the `$(CXX)` call in `CHECK_BOOST_PYTHON` still needs those libs.
Move all of the `$(shell $(PYTHON_CONFIG) ..` lines to the top of the block.
2025-02-20 14:38:50 +13:00
KrystalDelusion b0b53a22b1
Merge pull request #4880 from YosysHQ/clean_run-test
Makefile: Add run-test.mk to clean
2025-02-20 14:35:23 +13:00
Akash Levy c2a7a5f917 Add python ldflags to LINKFLAGS 2025-02-19 16:04:53 -08:00
Krystine Sherwin dc03e174af
fixup! Makefile: Warn if submodule status '+'-prefixed 2025-02-18 11:46:11 +13:00
Krystine Sherwin 03d9138744
Makefile: 'U'-prefixed submodule status
Covering all the bases, I guess?  '-'-prefix is already correctly handled by the base case message.
If the user somehow gets merge conflicts in abc, hopefully they know what they're doing.
2025-02-18 11:33:06 +13:00
Krystine Sherwin b8777d7893
Makefile: Warn if submodule status '+'-prefixed
A '+'-prefix means that the submodule is initialized and checked out, but a different commit is checked out.
If this is accidental then the user should run `git submodule update` to fix it.
If it is intentional (because e.g. the user is explicitly wanting to test Yosys with a different version of abc), then creating a new commit in Yosys to update the expected commit is also a valid solution.
2025-02-18 11:25:04 +13:00
Akash Levy 8083d9b9da
Fix share copy 2025-02-14 16:43:58 -08:00
github-actions[bot] 38f858374c Bump version 2025-02-15 00:20:50 +00:00
Akash Levy 3bca4c10d8 Fix macOS boost-python issues 2025-02-14 11:43:00 -08:00
Akash Levy cf65cb2cf1 Copy abc stuff for pyosys 2025-02-14 10:41:16 -08:00
github-actions[bot] 359901a964 Bump version 2025-02-12 00:21:01 +00:00
Miodrag Milanovic 6f9c515a22 Next dev cycle 2025-02-11 08:40:50 +01:00
Miodrag Milanovic b5170e1394 Release version 0.50 2025-02-11 07:55:17 +01:00
github-actions[bot] ce5ad2a554 Bump version 2025-02-11 00:20:46 +00:00
Jason Xu 333588265c Remove obsolete Makefile docs/images clean call 2025-02-09 10:22:35 -05:00
github-actions[bot] ed5d9c8687 Bump version 2025-02-05 00:21:01 +00:00
github-actions[bot] 77af7962af Bump version 2025-02-04 00:20:30 +00:00
Krystine Sherwin 0ec5f1b756
pmgen: Move passes out of pmgen folder
- Techlib pmgens are now in relevant techlibs/*.
- `peepopt` pmgens are now in passes/opt.
- `test_pmgen` is still in passes/pmgen.
- Update `Makefile.inc` and `.gitignore` file(s) to match new `*_pm.h` location,
  as well as the `#include`s.
- Change default `%_pm.h` make target to `techlibs/%_pm.h` and move it to the
  top level Makefile.
- Update pmgen target to use `$(notdir $*)` (where `$*` is the part of the file
  name that matched the '%' in the target) instead of `$(subst _pm.h,,$(notdir
  $@))`.
2025-01-31 15:18:28 +13:00
github-actions[bot] 18a7c00382 Bump version 2025-01-31 00:20:35 +00:00
KrystalDelusion 7050b3c992
Makefile: Add run-test.mk to clean 2025-01-31 12:30:25 +13:00
github-actions[bot] 954250d1df Bump version 2025-01-30 00:20:17 +00:00
github-actions[bot] 3d35f367cf Bump version 2025-01-24 00:20:25 +00:00
github-actions[bot] 4a27d93b06 Bump version 2025-01-22 00:20:51 +00:00
Miodrag Milanovic e456f2e972 Next dev cycle 2025-01-21 15:26:22 +01:00
Miodrag Milanovic 427b5a251b Release version 0.49 2025-01-21 14:59:09 +01:00
github-actions[bot] 3f4f6c17d6 Bump version 2025-01-21 00:20:11 +00:00
github-actions[bot] 76d85fefac Bump version 2025-01-18 00:19:38 +00:00
github-actions[bot] eac2294cab Bump version 2025-01-15 00:20:50 +00:00
github-actions[bot] 502c39b875 Bump version 2025-01-11 00:21:05 +00:00
github-actions[bot] 828ccfac4b Bump version 2025-01-09 00:21:05 +00:00
Martin Povišer ca0ace66bc
Merge pull request #4817 from povik/macc_v2-1
macc: Stop using the B port
2025-01-08 14:42:51 +01:00
Martin Povišer 652a1b9806 macc: Stop using the B port
The B port is for single-bit summands. These can just as well be
represented as an additional summand on the A port (which supports
summands of arbitrary width). An upcoming `$macc_v2` cell won't be
special-casing single-bit summands in any way.

In preparation, make the following changes:

 * remove the `bit_ports` field from the `Macc` helper (instead add any
   single-bit summands to `ports` next to other summands)

 * leave `B` empty on cells emitted from `Macc::to_cell`
2025-01-08 13:03:35 +01:00
github-actions[bot] d37449605d Bump version 2025-01-07 00:21:35 +00:00
github-actions[bot] 17a53b8385 Bump version 2025-01-04 00:20:29 +00:00
github-actions[bot] cbb95cb517 Bump version 2024-12-26 00:20:44 +00:00
github-actions[bot] 8acc77c1e0 Bump version 2024-12-20 00:21:02 +00:00
github-actions[bot] 281e474d45 Bump version 2024-12-19 00:22:04 +00:00
Emil J 6ab5be4a0e
Merge pull request #4814 from YosysHQ/emil/make-test-fasterer
test: every test everywhere all at once
2024-12-18 19:02:39 +01:00
N. Engelhardt 7a362f1f74
Merge pull request #4813 from YosysHQ/micko/mxe_removal
Unsupported targets removal
2024-12-16 15:29:52 +01:00
Emil J. Tywoniak 6240aec433 test: restore verific handling, nicer naming 2024-12-13 10:24:47 +01:00
github-actions[bot] 4581f75b03 Bump version 2024-12-13 00:23:01 +00:00
Emil J. Tywoniak 603e5eb30a test: every test everywhere all at once 2024-12-12 01:28:36 +01:00
github-actions[bot] e32e199ca8 Bump version 2024-12-12 00:22:44 +00:00
Miodrag Milanovic b9e04297f8 Remove cygwin support, users should use gcc target for it 2024-12-11 12:36:21 +01:00
Miodrag Milanovic c99941971f remove AFL gcc support 2024-12-11 12:34:48 +01:00
Miodrag Milanovic 6c3ae946ba Completely remove MXE support 2024-12-11 12:34:03 +01:00
Miodrag Milanovic e91e95f501 Next dev cycle 2024-12-11 09:01:32 +01:00
Miodrag Milanovic aaa5347494 Release version 0.48 2024-12-11 08:35:36 +01:00
github-actions[bot] 1f6153a55a Bump version 2024-12-11 00:22:54 +00:00
Martin Povišer 1f718e3ab6 kernel: Remove global `tcl.h` include
In commit ac988cf we made sure to undefine the CONST/VOID macros left
defined by `tcl.h`, but this in turn makes it an issue to include
additional Tcl headers later on (see issue #4808).

One way out is to avoid a global `tcl.h` include. In the process we drop
support for Tcl-enabled MXE builds, which were likely broken anyway due
to the additional Tcl APIs used from `tclapi.cc`.
2024-12-10 13:49:08 +01:00
Martin Povišer b0708a38bf
Merge pull request #4678 from povik/tcl-rtlil-api
Start Tcl design inspection methods
2024-12-09 15:44:58 +01:00
github-actions[bot] fa0c311862 Bump version 2024-12-07 00:22:16 +00:00
github-actions[bot] b66897e9b9 Bump version 2024-12-06 00:22:38 +00:00
github-actions[bot] 66734f522d Bump version 2024-12-05 00:22:38 +00:00
Krystine Sherwin f0da1cc67f
Start removing guidelines folder
Disable the export to docs and remove any references to the guidelines folder.
2024-12-05 09:18:56 +13:00
Jannis Harder cac6dd9bcb tclapi: Use older bignum API and handle external tommath for mac os 2024-12-03 18:49:38 +01:00
github-actions[bot] f04b899721 Bump version 2024-11-30 00:21:43 +00:00
github-actions[bot] 87742fa688 Bump version 2024-11-28 01:26:26 +00:00
github-actions[bot] 98b4affc4a Bump version 2024-11-26 01:25:27 +00:00
github-actions[bot] 4b3c03dabc Bump version 2024-11-21 00:21:49 +00:00
github-actions[bot] b89bd027a0 Bump version 2024-11-19 00:21:56 +00:00
Miodrag Milanović bd40805d54
Merge pull request #4754 from akashlevy/editline-fixes
Fix `editline` Makefile
2024-11-18 09:20:45 +01:00
Akash Levy 47a2a09e89 Enforce mutual exclusion on readline/editline 2024-11-17 23:23:37 -08:00
github-actions[bot] 532d5992fd Bump version 2024-11-18 00:22:55 +00:00
Akash Levy 56f841d132 Fix editline 2024-11-17 10:44:05 -08:00
github-actions[bot] 81011ad926 Bump version 2024-11-16 00:21:32 +00:00
github-actions[bot] a22ff47d62 Bump version 2024-11-14 00:20:42 +00:00
github-actions[bot] 8d0bf3f35e Bump version 2024-11-13 00:20:36 +00:00
github-actions[bot] 3afb7725f1 Bump version 2024-11-12 00:20:17 +00:00
Emil J 792de6e2eb
Merge pull request #4680 from YosysHQ/emil/fix-mac-lto-plugins
Makefile: add -rdynamic on macOS to fix plugins with LTO
2024-11-08 19:24:48 +01:00
github-actions[bot] cef87cc179 Bump version 2024-11-08 00:20:23 +00:00
KrystalDelusion 3c30a9a108
Merge pull request #4543 from YosysHQ/update_fst
libs/fst: Update from upstream
2024-11-08 05:36:25 +13:00
github-actions[bot] 2de24dc1c2 Bump version 2024-11-06 00:20:20 +00:00
Miodrag Milanovic 0dd1e43dff Next dev cycle 2024-11-05 08:23:13 +01:00
Miodrag Milanovic 647d61dd92 Release version 0.47 2024-11-05 07:59:25 +01:00
github-actions[bot] 2999f5589c Bump version 2024-11-05 00:20:31 +00:00
Martin Povišer cba9460cba Split off Tcl APIs into `tclapi.cc` 2024-11-04 16:17:02 +01:00
github-actions[bot] 8fb73e18ff Bump version 2024-10-29 00:21:12 +00:00
Emil J b34e2603ab Makefile: add -rdynamic on macOS to fix plugins with LTO 2024-10-22 12:52:50 +02:00
github-actions[bot] 8c2d1a16d0 Bump version 2024-10-19 00:20:20 +00:00
github-actions[bot] 0d9c59e4e6 Bump version 2024-10-18 00:20:28 +00:00
KrystalDelusion 38dae1d7e0
Merge pull request #4376 from YosysHQ/krys/docs_cmd_ref
Docs: Use formatted cmd ref in pdf
2024-10-18 04:53:43 +13:00
github-actions[bot] a54f632258 Bump version 2024-10-17 00:20:44 +00:00
Krystine Sherwin e5da0e341e
Makefile: Combine gen_images and gen_examples
gen_images and gen_examples are never called on their own, CI scripts call make -C docs directly. Since calling them both in parallel seems to cause issues, let's not do that, and instead combine them into a singular `make docs/gen`.  This should resolve the parallelism problems by making them sequential while still retaining the -j support.
2024-10-17 07:12:34 +13:00
Krystine Sherwin 1055e8ce51
libs/fst: Add fst_win_unistd.h to srcfiles.txt 2024-10-17 07:05:23 +13:00
KrystalDelusion f137509505
Merge pull request #4332 from YosysHQ/krys/help_docs
Add docs generation from cells help output
2024-10-17 05:01:35 +13:00
github-actions[bot] 11e94cc97c Bump version 2024-10-16 00:20:45 +00:00
github-actions[bot] adb6cdb167 Bump version 2024-10-15 00:20:48 +00:00
Krystine Sherwin 9533cf2916
Makefile: Use dump-cells-json for docs 2024-10-15 07:26:03 +13:00
Krystine Sherwin d629aa6bf1
cellhelp: Split gate-level and word-level cells 2024-10-15 07:17:35 +13:00
Krystine Sherwin 1a4ada40fe
Docs: Add cell gen to makefile
Generate in a temp directory and use `rsync -rc` to only update rst files that have changed.  This prevents sphinx from having to re-generate every cmd/cell page any time the git sha changes.
Also change cmd gen to match.
2024-10-15 07:16:40 +13:00
Emil J. Tywoniak 785bd44da7 rtlil: represent Const strings as std::string 2024-10-14 06:28:12 +02:00
github-actions[bot] 7f2bf3170f Bump version 2024-10-13 00:22:25 +00:00
github-actions[bot] 0200a7680a Bump version 2024-10-10 00:20:21 +00:00
Mohamed Gaber 3d6b8b8e1a
wheels: fix missing yosys-abc/share directory
* `misc/__init__.py`:
  * checks if there's a `yosys-abc` in the same directory - if yes, sets the variable `sys._pyosys_abc`
  * checks if there's a `share` in the same directory - if yes, sets the variable `sys._pyosys_share_dirname`
* `yosys.cc::init_share_dirname`: check for `sys._pyosys_share_dirname`, use it at the highest priority if Python is enabled
* `yosys.cc::init_abc_executable_name`: check for `sys._pyosys_abc`, use it at at the highest priority if Python is enabled
* `Makefile`: add new target, `share`, to only create the extra targets
* `setup.py`: compile libyosys.so, yosys-abc and share, and copy them all as part of the pyosys build
* `test/arch/ecp5/add_sub.py`: ported `add_sub.ys` to Python to act as a test for the share directory and abc with Python wheels, used in CI
2024-10-09 13:09:14 +03:00
Miodrag Milanovic 8893dadc4b Next dev cycle 2024-10-09 08:12:44 +02:00
Miodrag Milanovic e97731b9dd Release version 0.46 2024-10-09 08:08:00 +02:00
github-actions[bot] b4fd8e7ed8 Bump version 2024-10-09 00:20:28 +00:00
Miodrag Milanović 535b3304cc
Merge pull request #4534 from donn/test_wheels
Pyosys Wheels
2024-10-08 11:24:16 +02:00
github-actions[bot] 408597b478 Bump version 2024-10-08 00:20:07 +00:00
Mohamed Gaber 407343a7a1
Pyosys Wheels
* Created `setup.py`: Python package manifest to build `pyosys` wheels with a custom extension to build and include `libyosys.so` using Make
* `.gitignore`: Added byproducts of the Python wheel build process
* `Makefile`: Added `-undefined dynamic_lookup` to `libyosys.so` so missing symbols can be resolved by importing into a Python interpreter
* `kernel/yosys.cc`: Gated `PyImport_AppendInittab` with `!Py_IsInitialized`; as of Python 3.12, the interpreter is already initialized and `PyImport_AppendInittab` would cause an exception to be raised
* Created `wheels.yml`: CI workflow for building wheels for CPython on:
  * Linux (glibc, musl) and Darwin
  * x86-64 and arm64
2024-10-07 16:39:54 +03:00
github-actions[bot] 6155c59d00 Bump version 2024-10-07 00:21:37 +00:00
Krystine Sherwin 571d181fb4
Fix top-level make docs prerequisites
Add `$(TARGETS)` for gen_examples and gen_images since they need the `yosys` executable.
Add guidelines source files as a prerequisite to docs/source/generated while we're at it.
2024-10-07 10:26:29 +13:00
github-actions[bot] 1bf908dea8 Bump version 2024-10-01 00:23:05 +00:00
github-actions[bot] 59404f8ce5 Bump version 2024-09-30 00:21:26 +00:00
github-actions[bot] 4d581a97d6 Bump version 2024-09-18 00:19:41 +00:00
github-actions[bot] c8846243c2 Bump version 2024-09-17 00:16:41 +00:00
github-actions[bot] 229d1ea937 Bump version 2024-09-12 00:19:38 +00:00
github-actions[bot] 6937241012 Bump version 2024-09-10 00:19:34 +00:00
github-actions[bot] dcf9f58315 Bump version 2024-09-07 00:18:42 +00:00
Miodrag Milanović b20df72e1e
Merge pull request #4536 from YosysHQ/functional
Functional Backend
2024-09-06 10:05:04 +02:00
Miodrag Milanovic fc10a6eee2 Run functional tests on private runner only 2024-09-06 08:47:43 +02:00
github-actions[bot] e8951aba29 Bump version 2024-09-06 00:19:21 +00:00
Krystine Sherwin 21494d1f06
Makefile: Update coverage_functional
Note sure if this is the best way to do it, but it works?
2024-09-05 11:43:42 +12:00
Emily Schmidt 5a476a8d29 functional tests: run from make tests but not smtlib/rkt tests 2024-09-04 10:30:08 +01:00
github-actions[bot] d567164173 Bump version 2024-09-04 00:19:13 +00:00
Miodrag Milanovic 0744fac883 Next dev cycle 2024-09-03 12:39:38 +02:00
Miodrag Milanovic 3e0dc2ff1e Release version 0.45 2024-09-03 10:28:56 +02:00
Miodrag Milanović 598d010349
Merge pull request #4504 from YosysHQ/nanoxplore
NanoXplore synthesis
2024-09-03 10:19:44 +02:00
Miodrag Milanović 9fca352882
Merge pull request #4563 from YosysHQ/krys/better_rtds_action
Better docs builds
2024-09-03 09:32:24 +02:00
github-actions[bot] 6b9321250b Bump version 2024-09-03 00:20:12 +00:00
Krystine Sherwin cab781d958
Makefile: Move docs prereqs to separate target 2024-09-03 11:30:59 +12:00
Emily Schmidt 2b8db94aa0 functional backend: add test to verify test_generic 2024-08-29 13:14:18 +01:00
Krystine Sherwin 0b53b10770
Makefile: Stop unconditionally install docs prereqs 2024-08-27 10:06:25 +12:00
github-actions[bot] 72f77dd97b Bump version 2024-08-23 00:18:22 +00:00
github-actions[bot] 27b51cb351 Bump version 2024-08-22 00:18:24 +00:00
Emily Schmidt 850b3a6c29 convert class FunctionalIR to a namespace Functional, rename functionalir.h to functional.h, rename functional.h to compute_graph.h 2024-08-21 11:04:08 +01:00
Emily Schmidt 00a65754bb factor out SExpr/SExprWriter classes out of smtlib backend, and also tidy them up/document them 2024-08-21 11:03:27 +01:00
Miodrag Milanovic e296b884d5 Add Makefile helpers for coverage 2024-08-21 11:02:31 +01:00
Emily Schmidt 6f9e21219b add new generic compute graph and rewrite c++ functional backend to use it 2024-08-21 11:02:29 +01:00
Jannis Harder 56572978f5 drivertools: Utility code for indexing and traversing signal drivers
It adds `DriveBit`, `DriveChunk` and `DriveSpec` types which are similar
to `SigBit`, `SigChunk` and `SigSpec` but can also directly represent
cell ports, undriven bits and multiple drivers. For indexing an RTLIL
module and for querying signal drivers it comes with a `DriverMap` type
which is somewhat similar to a `SigMap` but is guaranteed to produce
signal drivers as returned representatives.

A `DriverMap` can also optionally preserve connections via intermediate
wires (e.g. querying the driver of a cell input port will return a
connected intermediate wire, querying the driver of that wire will
return the cell output port that's driving the wire).
2024-08-21 11:00:21 +01:00
github-actions[bot] 4cddc19994 Bump version 2024-08-20 00:18:24 +00:00
N. Engelhardt 7f08a298a4
Merge pull request #4542 from YosysHQ/krys/rtd
Local readthedocs
2024-08-19 10:04:38 +02:00
github-actions[bot] 5fb3c0b1d9 Bump version 2024-08-17 00:17:44 +00:00
KrystalDelusion 3dd32d741a Stop unconditionally building abc
_What are the reasons/motivation for this change?_
abc builds unconditional because `check-git-abc` is a phony prerequisite and therefore always runs, and since it always runs it will always trigger abc to rebuild.

_Explain how this is achieved._
Convert `check-git-abc` to an order-only prerequisite.  It still runs as before, but no longer triggers yosys-abc to rebuild when it does.

_If applicable, please suggest to reviewers how they can test the change._
2024-08-17 11:04:17 +12:00
Krystine Sherwin 3b63ab07ae
docs: Build RTD artifacts directly
Use rtds-action instead of yosys-cmd-ref repo.
Add rtds_action to docs configuration.
Add `.readthedocs.yaml`.
Update `DOCS_USAGE_` make target to be able to use pre-generated executables without forcing a remake.
2024-08-16 10:43:51 +12:00
Miodrag Milanovic 34f08bc639 Enable nanoxplore tests 2024-08-15 17:50:36 +02:00
github-actions[bot] 1eaf4e0790 Bump version 2024-08-15 00:17:57 +00:00
github-actions[bot] 4b9f452735 Bump version 2024-08-13 00:19:11 +00:00
github-actions[bot] 77b2ae2e39 Bump version 2024-08-08 00:18:08 +00:00
github-actions[bot] 669f8b18f0 Bump version 2024-08-07 00:18:20 +00:00
Miodrag Milanovic d08bf671b2 Next dev cycle 2024-08-06 09:48:35 +02:00
Miodrag Milanovic 80ba43d262 Release version 0.44 2024-08-06 09:42:28 +02:00
Miodrag Milanović e5d8505349
Merge pull request #4523 from YosysHQ/emil/no-lto-lld
Makefile: no LTO and lld by default
2024-08-06 09:08:09 +02:00
github-actions[bot] d2b5788674 Bump version 2024-08-06 00:18:14 +00:00
Emil J. Tywoniak eeecb54532 Makefile: no LTO and lld by default 2024-08-05 19:28:09 +02:00
github-actions[bot] c788484679 Bump version 2024-07-30 00:18:19 +00:00
Emil J 92cac63845
Merge pull request #4344 from widlarizer/emil/keep_hierarchy
cost: add keep_hierarchy pass with min_cost argument
2024-07-29 16:33:08 +02:00
N. Engelhardt 9f869b265c
Merge pull request #4474 from tony-min-1/mchp
Add PolarFire FPGA support
2024-07-29 15:28:44 +02:00
Emil J e21dd292fc
Merge pull request #4502 from YosysHQ/emil/build-opt-levels
Release build configuration improvements
2024-07-29 15:13:52 +02:00
Emil J. Tywoniak 4b29f64142 cost: add model for techmapped cell count, keep_hierarchy pass with -min_cost parameter 2024-07-29 10:26:02 +02:00
github-actions[bot] 960bca0196 Bump version 2024-07-27 00:17:35 +00:00
github-actions[bot] 610d27dc1c Bump version 2024-07-26 00:17:42 +00:00
Emil J. Tywoniak 7cd27e1182 Makefile: remove accidental abc opt level override for wasi builds 2024-07-24 21:31:35 +02:00
Emil J. Tywoniak bf758b9097 Makefile: turn off LTO on gcc due to regression 2024-07-22 20:59:56 +02:00
github-actions[bot] 28ebefda4a Bump version 2024-07-19 00:17:55 +00:00
Martin Povišer 81df8557d9
Merge pull request #4494 from povik/install-bitpattern-h
Makefile: do install `bitpattern.h`
2024-07-18 15:50:58 +02:00
Emil J 1d7a47bb6b
Merge pull request #4487 from YosysHQ/emil/abc-reproducible-git-hash
Reproducible git hash
2024-07-18 11:54:07 +02:00
Martin Povišer ec32c9a056 Makefile: do install `bitpattern.h` 2024-07-17 18:26:12 +02:00
github-actions[bot] 49f547782c Bump version 2024-07-16 00:18:08 +00:00
Alexander von Gluck 2f514487cb haiku: Basic fixes to build under Haiku 2024-07-15 12:57:34 +02:00
Emil J. Tywoniak 0cd55e1d7c Makefile: fix 2024-07-12 11:00:36 +02:00
Emil J. Tywoniak 9d15f1d6ac Makefile: reproducible .gitcommit 2024-07-12 10:52:03 +02:00
github-actions[bot] b08688f711 Bump version 2024-07-10 00:18:13 +00:00
Emil J. Tywoniak 725746baa6 Makefile: LTO for all, lld for clang 2024-07-09 11:25:16 +02:00
Miodrag Milanovic b9181aaad2 Next dev cycle 2024-07-09 09:27:23 +02:00
Miodrag Milanovic c6e5e0b26b Release version 0.43 2024-07-09 09:11:59 +02:00
Emil J. Tywoniak ad22430b96 Makefile: use -O3 instead of -Os 2024-07-08 19:19:10 +02:00