Commit Graph

1300 Commits

Author SHA1 Message Date
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