diff --git a/.github/workflows/prepare-docs.yml b/.github/workflows/prepare-docs.yml index e2ebe9e69..06c465c44 100644 --- a/.github/workflows/prepare-docs.yml +++ b/.github/workflows/prepare-docs.yml @@ -18,14 +18,15 @@ jobs: docs_export: ${{ github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/docs-preview') || startsWith(github.ref, 'refs/tags/') }} steps: - id: skip_check - if: ${{ github.event_name != 'merge_group' }} uses: fkirc/skip-duplicate-actions@v5 with: paths_ignore: '["**/README.md"]' # don't cancel in case we're updating docs cancel_others: 'false' - # only run on push *or* pull_request, not both - concurrent_skipping: ${{ env.docs_export && 'never' || 'same_content_newer'}} + # push filtering means we only want to skip duplicates for PRs + do_not_skip: '["workflow_dispatch", "merge_group", "push"]' + concurrent_skipping: 'same_content_newer' + - id: docs_var run: echo "docs_export=${docs_export}" >> $GITHUB_OUTPUT @@ -90,7 +91,7 @@ jobs: make -C docs html -j$procs TARGETS= EXTRA_TARGETS= - name: Trigger RTDs build - if: ${{ needs.check_docs_rebuild.outputs.docs_export == 'true' && github.repository == 'YosysHQ/Yosys' }} + if: ${{ needs.check_docs_rebuild.outputs.docs_export == 'true' && github.repository == 'YosysHQ/yosys' }} uses: dfm/rtds-action@v1.1.0 with: webhook_url: ${{ secrets.RTDS_WEBHOOK_URL }} diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index aef87db28..8139b5af5 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -114,7 +114,7 @@ jobs: path: ./wheelhouse/*.whl upload_wheels: name: Upload Wheels - if: (github.repository == 'YosysHQ/Yosys') && (github.event_name == 'workflow_dispatch') + if: (github.repository == 'YosysHQ/yosys') && (github.event_name == 'workflow_dispatch') runs-on: ubuntu-latest # Specifying a GitHub environment is optional, but strongly encouraged environment: pypi diff --git a/CHANGELOG b/CHANGELOG index 4b76986f3..94e62df4b 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -2,16 +2,25 @@ List of major changes and improvements between releases ======================================================= -Yosys 0.63 .. Yosys 0.64-dev +Yosys 0.64 .. Yosys 0.65-dev -------------------------- +Yosys 0.63 .. Yosys 0.64 +-------------------------- + * New commands and options + - Added "synth_analogdevices" pass to support synthesis + for Analog Devices FPGAs. + * Various - Removed rarely-used options from ABC/ABC9. + - Removed "-S" option from "abc" pass. + - Removed "-fast" option from "abc9" and "abc9_exe". - Calls to "abc -g AND -fast" to map logic to AND-Inverter Graph form should be replaced with "aigmap". - The above change was made to SBY, so we recommend updating it. + - Added hardware latch support for Gowin FPGAs. Yosys 0.62 .. Yosys 0.63 -------------------------- diff --git a/Makefile b/Makefile index 33ff74fa4..fc5172cc0 100644 --- a/Makefile +++ b/Makefile @@ -161,7 +161,7 @@ ifeq ($(OS), Haiku) CXXFLAGS += -D_DEFAULT_SOURCE endif -YOSYS_VER := 0.63 +YOSYS_VER := 0.64 ifneq (, $(shell command -v git 2>/dev/null)) ifneq (, $(shell git rev-parse --git-dir 2>/dev/null)) diff --git a/docs/source/conf.py b/docs/source/conf.py index 458040db0..9520948cf 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -6,7 +6,7 @@ import os project = 'YosysHQ Yosys' author = 'YosysHQ GmbH' copyright ='2026 YosysHQ GmbH' -yosys_ver = "0.63" +yosys_ver = "0.64" # select HTML theme html_theme = 'furo-ys' diff --git a/kernel/threading.h b/kernel/threading.h index a041def2c..1aded4931 100644 --- a/kernel/threading.h +++ b/kernel/threading.h @@ -232,7 +232,6 @@ private: } void run_worker(int thread_num); - std::unique_ptr thread_pool; std::function *current_work = nullptr; // Keeps a correct count even when threads are exiting. int num_worker_threads_; @@ -291,6 +290,10 @@ private: done_workers.store(0, std::memory_order_relaxed); } #endif + // Ensure `thread_pool` is destroyed before any other members, + // forcing all threads to be joined before destroying the + // members (e.g. workers_to_main_signal_mutex) they might be using. + std::unique_ptr thread_pool; }; template