Commit Graph

14409 Commits

Author SHA1 Message Date
Emil J. Tywoniak 575415ade2 driver: switch to cxxopts, replace -B 2024-10-09 15:21:34 +02:00
George Rennie 6ab3931964 write_btor: only initialize array with const value when it is fully def
* If all addresses of an array have the same initial value, they can be
  initialized in one go in btor with the constraint that the initial
  value must be fully const and thus can't have undef bits in
2024-10-09 15:07:56 +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
George Rennie 268926cb5b write_btor: don't emit undriven bits multiple times
* Fixes #4640
2024-10-08 14:39:21 +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
Martin Povišer ca5c2fdff1 quicklogic: Relax the LUT number test 2024-10-07 15:27:03 +02:00
Martin Povišer b01b17689e Add test of error not getting silenced 2024-10-07 14:49:17 +02:00
Martin Povišer 7989d53c58 read_xaiger2: Add help 2024-10-07 14:19:49 +02:00
Martin Povišer f44a418212 read_xaiger2: Add casts to silence warnings 2024-10-07 12:27:54 +02:00
Martin Povišer 72f0fea9e8 aiger2: Try to fix VS build 2024-10-07 12:27:37 +02:00
Martin Povišer d0a11e26f3 aiger2: Add test of writing a flattened view 2024-10-07 12:04:33 +02:00
Martin Povišer 47fd2b9deb aiger2: Update help 2024-10-07 12:03:49 +02:00
Martin Povišer 373e7a1485 aiger2: Fix print 2024-10-07 12:03:49 +02:00
Martin Povišer ebe51e206e aiger2: Fix warnings 2024-10-07 12:03:49 +02:00
Martin Povišer 2e587c835f abc9_exe: Document SC mapping options 2024-10-07 12:03:49 +02:00
Martin Povišer 3b6dcc7bd0 abc9_exe: Remove `-genlib` option 2024-10-07 12:03:49 +02:00
Martin Povišer ac79a052ba aiger2: Adjust help 2024-10-07 12:03:49 +02:00
Martin Povišer 81688e3ba2 aigsize: Remove 2024-10-07 12:03:49 +02:00
Martin Povišer e0a86d5483 abc_new: Start new command for aiger2-based round trip 2024-10-07 12:03:49 +02:00