Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bump fork for version 0.42 #21

Merged
merged 109 commits into from
Jun 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
109 commits
Select commit Hold shift + click to select a range
b00abe4
Extend `log` command with `-push`, `-pop`, `-header` options
povik Apr 10, 2024
f2ebc3f
github: Add template for documentation issues
KrystalDelusion Apr 24, 2024
374cd39
export define marco to qtcreator.config
Apr 29, 2024
f1672b2
Update Makefile
offline3 Apr 29, 2024
8cc9aa7
intel_alm: drop quartus support
Ravenslofty May 3, 2024
4c000d3
Add new `bbox_derive` command for blackbox derivation
povik Apr 10, 2024
e8c58a5
bbox_derive: fix unininitialized memory UB when run with no named args
widlarizer May 3, 2024
44b0fdc
bbox_derive: add assert and debug print
widlarizer May 3, 2024
1c89e2a
Add nix flake and lock file. Add nix build step. Pending nix flake up…
RCoeurjoly May 8, 2024
6f9507a
Add pkg-config
RCoeurjoly May 8, 2024
fd84a33
docs: Document $lut and $sop
widlarizer May 9, 2024
69eb395
ci: Introduce artifacts
KrystalDelusion Feb 5, 2024
7873fe7
Makefile: ignore missing docs
KrystalDelusion Feb 5, 2024
8e2dae2
ci: Checkout Yosys
KrystalDelusion Feb 5, 2024
2bec6e3
ci: Move iverilog from build to test
KrystalDelusion Feb 5, 2024
1ef21ef
ci: working on test setup
KrystalDelusion Feb 5, 2024
93bee0f
ci: more context var use
KrystalDelusion Feb 5, 2024
5ceafea
ci: Default clang build
KrystalDelusion Feb 6, 2024
e3f77ff
ci: Add error reporting
KrystalDelusion Feb 6, 2024
aa470cc
ci: Unify test-*.yml
KrystalDelusion Feb 6, 2024
f408b4d
ci: fix compiler setup
KrystalDelusion Feb 6, 2024
8bc2069
ci: split test build from matrix
KrystalDelusion Feb 8, 2024
9348221
ci: simplify tests a bit
KrystalDelusion Feb 9, 2024
c9c6b96
ci: add missing macOS build
KrystalDelusion Feb 14, 2024
154464e
ci: add macos test build
KrystalDelusion Feb 14, 2024
326d802
ci: split test-compile from test-build
KrystalDelusion Feb 14, 2024
616848b
ci: Use aminya/setup-cpp
KrystalDelusion Mar 3, 2024
6244024
ci: Add CC_SHORT env var
KrystalDelusion Mar 3, 2024
d07323e
ci: Add action for reusable build env setup
KrystalDelusion Mar 4, 2024
3c65ddb
ci: Checkout goes first
KrystalDelusion Mar 4, 2024
6451a6a
ci: Fix action.yml
KrystalDelusion Mar 4, 2024
112a5cf
ci: Add testing for newer compilers
KrystalDelusion Mar 20, 2024
6f602e7
docs: Debugging macro test fail
KrystalDelusion Mar 20, 2024
0720020
ci: Drop gcc-12
KrystalDelusion Mar 20, 2024
a4c3dcc
docs: Fix macro_commands
KrystalDelusion Mar 21, 2024
7fbf286
ci: Update for main branch rename
KrystalDelusion Mar 21, 2024
c89c5c3
ci: Disable fail fast for test runs
KrystalDelusion Mar 21, 2024
7d8928a
ci: Remove macOS from test-docs
KrystalDelusion Mar 21, 2024
144d3c9
Add empty line to action.yml
KrystalDelusion Apr 24, 2024
fc48c3a
ci: Update OS/compiler targets
KrystalDelusion Apr 24, 2024
8fc7dcb
ci: Drop python2
KrystalDelusion Apr 24, 2024
eae7356
Cleanups and update of VS action
mmicko Apr 25, 2024
24b3690
test-build: Use macos-latest (macOS 14, M1)
KrystalDelusion Apr 29, 2024
6908330
ci: Reduce number of jobs
KrystalDelusion Apr 29, 2024
4d8ce13
compile-only: Include genfiles and extra_targets
KrystalDelusion Apr 29, 2024
ff730f4
ci: Add autoconf to macos dependencies
KrystalDelusion Apr 29, 2024
7905921
Remove test-docs.yml in favour of test-build
KrystalDelusion May 9, 2024
c24a906
Fix submodules
KrystalDelusion May 9, 2024
1657917
Bump version
github-actions[bot] May 10, 2024
d73771b
Make abc Makefile check for dependancies
mmicko May 10, 2024
a31620f
make yosys-abc build before yosys
mmicko May 10, 2024
cef8bed
Remove emcc target from Makefile
mmicko May 10, 2024
6dde810
Remove checkout for specific iverilog git version
mmicko May 10, 2024
1f51362
Merge pull request #4388 from YosysHQ/micko/makefile
mmicko May 10, 2024
5e6bb45
Merge branch 'main' into krys/refactor-workflows
mmicko May 10, 2024
75f01cc
Merge pull request #4183 from YosysHQ/krys/refactor-workflows
mmicko May 10, 2024
9be7089
Docs-css: Add invert-helper class for images
KrystalDelusion May 10, 2024
3a36612
Docs: Apply invert-helper where needed
KrystalDelusion May 10, 2024
a8bad30
test-build.yml: test-docs should not ignore docs changes
KrystalDelusion May 10, 2024
95bd7c9
test-build.yml Use pre_docs_job for build-yosys
KrystalDelusion May 10, 2024
26b148f
test-build.yml: Remove duplicated yosys-config
KrystalDelusion May 10, 2024
07ac4c2
Bump version
github-actions[bot] May 11, 2024
c40d43e
Ignore result dir, generated by nix
RCoeurjoly May 13, 2024
8c8fb13
Update github action
RCoeurjoly May 13, 2024
dd6178c
Fix nix version to 2.18.1, known working version
RCoeurjoly May 13, 2024
9884bb5
Add update flake lock github action
RCoeurjoly May 13, 2024
2326d9c
Merge pull request #4391 from YosysHQ/dark-theme-docs
mmicko May 13, 2024
c2ad121
Merge pull request #4356 from YosysHQ/krys/docs_issue_template
mmicko May 13, 2024
40c7162
Merge pull request #4392 from YosysHQ/krys/refactor-workflows
mmicko May 13, 2024
eba5fa8
Merge pull request #4387 from YosysHQ/emil/document-lut-sop
mmicko May 13, 2024
fa19aba
Fix rst syntax error
mmicko May 13, 2024
229300b
replace unicode chars in rst to make pdf work
mmicko May 13, 2024
7045cf5
Bump version
github-actions[bot] May 14, 2024
badd803
Merge branch 'YosysHQ:main' into nix
RCoeurjoly May 14, 2024
1f9f251
nix: fix abc
widlarizer May 10, 2024
13a6920
Change customYosys to yosys
RCoeurjoly May 21, 2024
88af059
bbox_derive: Fix `done` base type confusion
povik May 21, 2024
5c929a9
bbox_derive: Write help
povik May 21, 2024
557db4e
bbox_drive: Add an incomplete test
povik May 21, 2024
e940d24
Merge pull request #4326 from povik/logcmd
nakengelhardt May 21, 2024
d2586e2
Merge pull request #4238 from RCoeurjoly/nix
nakengelhardt May 21, 2024
24f9329
Merge pull request #4367 from YosysHQ/lofty/intel_alm-drop-quartus
nakengelhardt May 21, 2024
1790370
Merge pull request #4362 from offline3/export_marco_to_qtcreator
mmicko May 21, 2024
c0a1961
Rename `bbox_derive` to `box_derive`
povik May 21, 2024
adc1a01
select: Refactor some flag validation
povik May 21, 2024
49906be
select: Introduce `-assert-mod-count`
povik May 21, 2024
bff2443
box_derive: Finish the test
povik May 21, 2024
c71262f
Bump version
github-actions[bot] May 22, 2024
db3f810
Only build yosys-abc usage docs when ABCEXTERNAL is not set
marysaka May 22, 2024
1aae0bc
ci: Move nix build to extra-builds.yml
KrystalDelusion May 23, 2024
d135c0b
extra-builds.yml: Fix indentation
KrystalDelusion May 23, 2024
98ab829
Merge pull request #4409 from marysaka/fix-abc-external-doc
mmicko May 24, 2024
56c8439
Merge pull request #4412 from YosysHQ/krys/skippable_nix
mmicko May 24, 2024
c7580eb
cxxrtl: Prevent wires with input or output ports from being aliased
noeamiot May 21, 2024
5579685
Bump version
github-actions[bot] May 25, 2024
02ad56a
docs: add todo for $demux
widlarizer May 27, 2024
b230c95
select: Adjust help
povik May 29, 2024
97fedff
box_derive: Tune the test
povik May 29, 2024
111b747
Merge pull request #4420 from YosysHQ/emil/doc-demux-todo
widlarizer May 30, 2024
a84e4f4
Bump version
github-actions[bot] May 31, 2024
4b67f37
Merge pull request #4404 from YosysHQ/povik/bbox_derive
povik May 31, 2024
803703a
Update flake lock workflow
mmicko Jun 2, 2024
855ac28
Bump version
github-actions[bot] Jun 3, 2024
094fa8c
smtbmc: Fix two .yw handling related crashes
jix Jun 6, 2024
baccf87
Merge pull request #4431 from jix/smtbmc-fixes
mmicko Jun 6, 2024
bd28d26
Bump version
github-actions[bot] Jun 7, 2024
9b82a44
Fix help message typo
mmicko Jun 7, 2024
9b6afcf
Release version 0.42
mmicko Jun 7, 2024
b056e8c
Next dev cycle
mmicko Jun 7, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 55 additions & 0 deletions .github/ISSUE_TEMPLATE/docs_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: Documentation Report
description: Report a problem with the Yosys documentation
labels: ["pending-verification"]
body:
- type: markdown
attributes:
value: >

If you have a general question, please ask it in the [Discussions](https://github.com/YosysHQ/yosys/discussions) area
or join our [IRC Channel](https://web.libera.chat/#yosys) or [Community Slack](https://join.slack.com/t/yosyshq/shared_invite/zt-1aopkns2q-EiQ97BeQDt_pwvE41sGSuA).


If you have found a bug in Yosys, or in building the documentation,
please fill out the Bug Report issue form, this form is for problems
with the live documentation on [Read the
Docs](https://yosyshq.readthedocs.io/projects/yosys/). Please only
report problems that appear on the latest version of the documentation.


Please contact [YosysHQ GmbH](https://www.yosyshq.com/) if you need
commercial support for Yosys.

- type: input
id: docs_url
attributes:
label: Link to page
description: "Please provide a link to the page where the problem was found."
placeholder: "e.g. https://yosyshq.readthedocs.io/projects/yosys/"
validations:
required: true

- type: input
id: build_number
attributes:
label: Build number
description: "If possible, please provide the latest build number from https://readthedocs.org/projects/yosys/builds/."
placeholder: "e.g. Build #24078236"
validations:
required: false

- type: textarea
id: problem
attributes:
label: Issue
description: "Please describe what is incorrect, invalid, or missing."
validations:
required: true

- type: textarea
id: expected
attributes:
label: Expected
description: "If applicable, please describe what should appear instead."
validations:
required: false
33 changes: 33 additions & 0 deletions .github/actions/setup-build-env/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Build environment setup
description: Configure build env for Yosys builds
runs:
using: composite
steps:
- name: Install Linux Dependencies
if: runner.os == 'Linux'
shell: bash
run: |
sudo apt-get update
sudo apt-get install gperf build-essential bison flex libreadline-dev gawk tcl-dev libffi-dev git graphviz xdot pkg-config python3 libboost-system-dev libboost-python-dev libboost-filesystem-dev zlib1g-dev

- name: Install macOS Dependencies
if: runner.os == 'macOS'
shell: bash
run: |
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1 brew install bison flex gawk libffi pkg-config bash autoconf

- name: Linux runtime environment
if: runner.os == 'Linux'
shell: bash
run: |
echo "${{ github.workspace }}/.local/bin" >> $GITHUB_PATH
echo "procs=$(nproc)" >> $GITHUB_ENV

- name: macOS runtime environment
if: runner.os == 'macOS'
shell: bash
run: |
echo "${{ github.workspace }}/.local/bin" >> $GITHUB_PATH
echo "$(brew --prefix bison)/bin" >> $GITHUB_PATH
echo "$(brew --prefix flex)/bin" >> $GITHUB_PATH
echo "procs=$(sysctl -n hw.ncpu)" >> $GITHUB_ENV
14 changes: 14 additions & 0 deletions .github/workflows/extra-builds.yml
Original file line number Diff line number Diff line change
Expand Up @@ -81,3 +81,17 @@ jobs:
END

make -C build -f ../Makefile CXX=clang -j$(nproc)

nix-build:
name: "Build nix flake"
needs: pre_job
if: needs.pre_job.outputs.should_skip != 'true'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: cachix/install-nix-action@v26
with:
install_url: https://releases.nixos.org/nix/nix-2.18.1/install
- run: nix build .?submodules=1
181 changes: 181 additions & 0 deletions .github/workflows/test-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,181 @@
name: Build and run tests

on: [push, pull_request]

jobs:
pre_job:
runs-on: ubuntu-latest
outputs:
should_skip: ${{ steps.skip_check.outputs.should_skip }}
steps:
- id: skip_check
uses: fkirc/skip-duplicate-actions@v5
with:
paths_ignore: '["**/README.md", "docs/**", "guidelines/**"]'
# cancel previous builds if a new commit is pushed
cancel_others: 'true'
# only run on push *or* pull_request, not both
concurrent_skipping: 'same_content_newer'
pre_docs_job:
runs-on: ubuntu-latest
outputs:
should_skip: ${{ steps.skip_check.outputs.should_skip }}
steps:
- id: skip_check
uses: fkirc/skip-duplicate-actions@v5
with:
paths_ignore: '["**/README.md"]'
# cancel previous builds if a new commit is pushed
cancel_others: 'true'
# only run on push *or* pull_request, not both
concurrent_skipping: 'same_content_newer'

build-yosys:
name: Reusable build
runs-on: ${{ matrix.os }}
needs: pre_docs_job
if: needs.pre_docs_job.outputs.should_skip != 'true'
env:
CC: clang
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
fail-fast: false
steps:
- name: Checkout Yosys
uses: actions/checkout@v4
with:
submodules: true

- name: Setup environment
uses: ./.github/actions/setup-build-env

- name: Build
shell: bash
run: |
mkdir build
cd build
make -f ../Makefile config-$CC
make -f ../Makefile -j$procs

- name: Log yosys-config output
run: |
./yosys-config || true

- name: Compress build
shell: bash
run: |
cd build
tar -cvf ../build.tar share/ yosys yosys-*

- name: Store build artifact
uses: actions/upload-artifact@v4
with:
name: build-${{ matrix.os }}
path: build.tar
retention-days: 1

test-yosys:
name: Run tests
runs-on: ${{ matrix.os }}
needs: [build-yosys, pre_job]
if: needs.pre_job.outputs.should_skip != 'true'
env:
CC: clang
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
fail-fast: false
steps:
- name: Checkout Yosys
uses: actions/checkout@v4

- name: Setup environment
uses: ./.github/actions/setup-build-env

- name: Get iverilog
shell: bash
run: |
git clone https://github.com/steveicarus/iverilog.git
cd iverilog
echo "IVERILOG_GIT=$(git rev-parse HEAD)" >> $GITHUB_ENV

- name: Cache iverilog
id: cache-iverilog
uses: actions/cache@v4
with:
path: .local/
key: ${{ matrix.os }}-${{ env.IVERILOG_GIT }}

- name: Build iverilog
if: steps.cache-iverilog.outputs.cache-hit != 'true'
shell: bash
run: |
mkdir -p ${{ github.workspace }}/.local/
cd iverilog
autoconf
CC=gcc CXX=g++ ./configure --prefix=${{ github.workspace }}/.local
make -j$procs
make install

- name: Download build artifact
uses: actions/download-artifact@v4
with:
name: build-${{ matrix.os }}

- name: Uncompress build
shell: bash
run:
tar -xvf build.tar

- name: Log yosys-config output
run: |
./yosys-config || true

- name: Run tests
shell: bash
run: |
make -j$procs test TARGETS= EXTRA_TARGETS= CONFIG=$CC

- name: Report errors
if: ${{ failure() }}
shell: bash
run: |
find tests/**/*.err -print -exec cat {} \;

test-docs:
name: Run docs tests
runs-on: ${{ matrix.os }}
needs: [build-yosys, pre_docs_job]
if: needs.pre_docs_job.outputs.should_skip != 'true'
env:
CC: clang
strategy:
matrix:
os: [ubuntu-latest]
fail-fast: false
steps:
- name: Checkout Yosys
uses: actions/checkout@v4

- name: Setup environment
uses: ./.github/actions/setup-build-env

- name: Download build artifact
uses: actions/download-artifact@v4
with:
name: build-${{ matrix.os }}

- name: Uncompress build
shell: bash
run:
tar -xvf build.tar

- name: Log yosys-config output
run: |
./yosys-config || true

- name: Run tests
shell: bash
run: |
make -C docs test -j${{ env.procs }}
79 changes: 79 additions & 0 deletions .github/workflows/test-compile.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
name: Compiler testing

on: [push, pull_request]

jobs:
pre_job:
runs-on: ubuntu-latest
outputs:
should_skip: ${{ steps.skip_check.outputs.should_skip }}
steps:
- id: skip_check
uses: fkirc/skip-duplicate-actions@v5
with:
paths_ignore: '["**/README.md", "docs/**", "guidelines/**"]'
# cancel previous builds if a new commit is pushed
cancel_others: 'true'
# only run on push *or* pull_request, not both
concurrent_skipping: 'same_content_newer'

test-compile:
runs-on: ${{ matrix.os }}
needs: pre_job
if: needs.pre_job.outputs.should_skip != 'true'
env:
CXXFLAGS: ${{ startsWith(matrix.compiler, 'gcc') && '-Wp,-D_GLIBCXX_ASSERTIONS' || ''}}
CC_SHORT: ${{ startsWith(matrix.compiler, 'gcc') && 'gcc' || 'clang' }}
strategy:
matrix:
os:
- ubuntu-latest
compiler:
# oldest supported
- 'clang-14'
- 'gcc-10'
# newest
- 'clang'
- 'gcc'
include:
# macOS
- os: macos-13
compiler: 'clang'
# oldest clang not available on ubuntu-latest
- os: ubuntu-22.04
compiler: 'clang-11'
fail-fast: false
steps:
- name: Checkout Yosys
uses: actions/checkout@v4
with:
submodules: true

- name: Setup environment
uses: ./.github/actions/setup-build-env

- name: Setup Cpp
uses: aminya/setup-cpp@v1
with:
compiler: ${{ matrix.compiler }}

- name: Tool versions
shell: bash
run: |
$CC --version
$CXX --version

# minimum standard
- name: Build C++11
shell: bash
run: |
make config-$CC_SHORT
make -j$procs CXXSTD=c++11 compile-only

# maximum standard, only on newest compilers
- name: Build C++20
if: ${{ matrix.compiler == 'clang' || matrix.compiler == 'gcc'}}
shell: bash
run: |
make config-$CC_SHORT
make -j$procs CXXSTD=c++20 compile-only
Loading
Loading