Commit Graph

14162 Commits

Author SHA1 Message Date
Emil J. Tywoniak d29499a10f actions: vendor sources with submodules for releases 2024-10-17 00:11:10 +02:00
Emil J 61ed9b6263
Merge pull request #4608 from phsauter/rtlil-const-compress
rtlil: add Const::compress helper function
2024-10-12 20:38:25 -07:00
github-actions[bot] 7f2bf3170f Bump version 2024-10-13 00:22:25 +00:00
Jean-François Nguyen f953a516d0 cxxrtl: fix handling of 0-bit variables in `vcd_writer.sample()`. 2024-10-13 01:00:40 +01:00
Robin Ole Heinemann 0f762f75a6 cxxrtl: fix vcd writer scope handling
The vcd writer incorrectly treated two scope vectors as the same, whenever
they have the same length of entries and the last item matches.
This is however not always true, for example consider a current_scope of
["top", "something0", "same"]
and a scope of
["top", "something1", "same"]
2024-10-12 14:41:53 +01:00
Miodrag Milanović a8f4bc2904
Merge pull request #4659 from YosysHQ/emil/cxxopts-https
cxxopts: https submodule
2024-10-12 14:07:01 +02:00
Emil J. Tywoniak 999d1f40bc cxxopts: https submodule 2024-10-12 10:32:09 +02:00
Emil J 5c9b2df689
Merge pull request #4616 from YosysHQ/emil/cxxopts
driver: replace getopt with cxxopts, replace -B, clean up help
2024-10-12 00:52:34 -07:00
Martin Povišer a00137c2f6
Merge pull request #4625 from povik/cellmatch-lut
cellmatch: Size the `lut` attribute
2024-10-11 14:08:55 +02:00
github-actions[bot] 0200a7680a Bump version 2024-10-10 00:20:21 +00:00
Philippe Sauter c53c87e1f4 rtlil: add Const:: as_int_compressed function 2024-10-09 19:48:57 +02:00
Philippe Sauter 07fb8af05b rtlil: handle all-zeros case in Const::compress 2024-10-09 19:48:57 +02:00
Philippe Sauter 4cd2e04da4 rtlil: add Const::compress helper function
Compresses the current bits to the minimum
width representation by removing leading bits.
2024-10-09 19:48:57 +02:00
Miodrag Milanovic eef1319e70 Update Brewfile, since lld is now separate formula 2024-10-09 18:06:58 +02:00
Miodrag Milanović ecec156965
Merge pull request #4643 from donn/fix_wheels
wheels: fix missing yosys-abc/share directory
2024-10-09 18:05:58 +02:00
Robin Ole Heinemann a761999579 cxxrtl: fix formatting of UNICHAR
This caused compilation to fail when the argument of any, not just
UNICHAR formatting operations, is bigger than 32 bits.

Fixes #4644
2024-10-09 14:39:37 +01:00
Emil J. Tywoniak 575415ade2 driver: switch to cxxopts, replace -B 2024-10-09 15:21:34 +02:00
Emil J 038e262332
Merge pull request #4624 from YosysHQ/emil/cxxrtl-smoke-test
cxxrtl: test stream operator
2024-10-09 05:57:13 -07:00
Miodrag Milanović eefd111768
Merge pull request #4647 from YosysHQ/fix_macos_ci
CI: force brew formula update
2024-10-09 14:52:57 +02:00
Miodrag Milanovic a6ccf22047 force brew formula update 2024-10-09 14:09:10 +02: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 Milanović a5968e4047
Merge pull request #4642 from YosysHQ/fix_ci
Fix CI by adding lld as brew package
2024-10-09 10:30:42 +02:00
Miodrag Milanovic c93c7f8307 CI: lld is now separate brew package 2024-10-09 09:50:36 +02: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
Martin Povišer 380a425598
Merge pull request #4639 from mikesinouye/hashlib
Explictly #include <variant> for std::variant usage.
2024-10-08 16:42:42 +02:00
Miodrag Milanović 535b3304cc
Merge pull request #4534 from donn/test_wheels
Pyosys Wheels
2024-10-08 11:24:16 +02:00
KrystalDelusion 0be3b7de51
Merge pull request #4635 from YosysHQ/krys/pr_docs_ci
Remove make docs race conditions (and other docs fixes)
2024-10-08 21:39:30 +13:00
Miodrag Milanovic f079772ade Add TODO for missing help messages 2024-10-08 08:47:51 +02:00
github-actions[bot] 408597b478 Bump version 2024-10-08 00:20:07 +00:00
Mike Inouye 1e3973c5cb Explictly #include <variant> for std::variant usage.
Signed-off-by: Mike Inouye <mikeinouye@google.com>
2024-10-07 21:57:30 +00:00
Krystine Sherwin c1604424aa
ci: Call make html directly
Since `docs/prep` is a prerequisite of `docs`, and should be the *only* prerequisite, calling `make docs` could end up hiding a problem with files missing from the uploaded artifact. Instead, call `make` from the docs directory which should be closer to what will run on RTDs.
2024-10-08 08:11:35 +13:00
Krystine Sherwin b15103625b
ci: Switch test build docs to our runner 2024-10-08 07:49:14 +13:00
Jannis Harder b3b88e56d4
Merge pull request #4609 from georgerennie/george/smtbmc_paths
smtbmc: escape path identifiers
2024-10-07 20:36:24 +02:00
Mohamed Gaber d7cf0238fd
wheels: properly migrate to artifact@v4 2024-10-07 20:17:05 +03:00
Martin Povišer 9479d3bd3c
Merge pull request #4637 from YosysHQ/emil/bufnorm-warning
bufnorm: avoid warning. NFC
2024-10-07 18:01:42 +02:00
Emil J. Tywoniak a76bcdc58f bufnorm: avoid remove warning. NFC 2024-10-07 17:58:48 +02:00
Martin Povišer e46cc57cc4
Merge pull request #4613 from povik/err-never-silence
log: Never silence `log_cmd_error`
2024-10-07 16:12:31 +02:00
Martin Povišer 0556cb50a9
Merge pull request #4628 from povik/bump-abc
Bump abc submodule
2024-10-07 16:12:04 +02:00
Martin Povišer 0aab8b4158
Merge pull request #4605 from povik/liberty-unit-delay
read_liberty: Optionally import unit delay arcs
2024-10-07 16:11:51 +02:00
Martin Povišer 74e92d10e8
Merge pull request #4593 from povik/aiger2
New aiger backend
2024-10-07 16:11:25 +02:00
Martin Povišer 6c1450fdaf
Merge pull request #4607 from povik/ql-nodiv
quicklogic: Avoid carry chains in division mapping
2024-10-07 16:11:11 +02:00
Mohamed Gaber 43128f6283
wheels: move from postreleases to minor versions, remove authors 2024-10-07 16:51:17 +03:00
Mohamed Gaber 0bb1f899e8
wheels: convert versions to match pypa spec, add uploading
* wheel versions now replace `+` with `.post` to match spec at https://packaging.python.org/en/latest/specifications/version-specifiers/
* CI updates:
  * Bump action versions
  * Disabled Windows for now and documented why
  * Added a new job to upload all wheels
  * Added new variable, `PYPI_INDEX`: fallback 'https://pypi.org/' if unset
  * Added new secret, `PYPI_TOKEN`
* .editorconfig now uses 2 spaces for YML (it kept setting mine to tabs
  and GitHub Actions doesn't like that)
2024-10-07 16:39:54 +03:00
Mohamed Gaber 08c23b7632
wheels: skip musllinux for now 2024-10-07 16:39:54 +03:00
Mohamed Gaber 67f17a1c97
wheels: symlink python3-config 2024-10-07 16:39:54 +03:00
Mohamed Gaber ab84c105c1
Add test, shell for windows 2024-10-07 16:39:54 +03:00
Mohamed Gaber ab4ea84679
wheels: more compatibility
* Update manylinux images
* FFI now built as a per-platform static library
* Explicitly set minimum macOS deployment target, use clang on macOS
* Try enabling Windows (as an experiment)
* Disable aarch64-linux, aarch64-windows
2024-10-07 16:39:54 +03: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