Skip to content

Commit 2517fcf

Browse files
committed
yosys_update -> v0.38
1 parent 08aeedb commit 2517fcf

File tree

376 files changed

+43746
-3151
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

376 files changed

+43746
-3151
lines changed

yosys/.github/workflows/codeql.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ jobs:
1414
run: sudo apt-get install bison flex libreadline-dev tcl-dev libffi-dev
1515

1616
- name: Checkout repository
17-
uses: actions/checkout@v3
17+
uses: actions/checkout@v4
1818

1919
- name: Initialize CodeQL
20-
uses: github/codeql-action/init@v2
20+
uses: github/codeql-action/init@v3
2121
with:
2222
languages: cpp
2323
queries: security-extended,security-and-quality
@@ -26,4 +26,4 @@ jobs:
2626
run: make yosys -j6
2727

2828
- name: Perform CodeQL Analysis
29-
uses: github/codeql-action/analyze@v2
29+
uses: github/codeql-action/analyze@v3

yosys/.github/workflows/emcc.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@ jobs:
66
emcc:
77
runs-on: ubuntu-latest
88
steps:
9-
- uses: mymindstorm/setup-emsdk@v11
10-
- uses: actions/checkout@v3
9+
- uses: mymindstorm/setup-emsdk@v14
10+
- uses: actions/checkout@v4
1111
- name: Build
1212
run: |
1313
make config-emcc
1414
make YOSYS_VER=latest
15-
- uses: actions/upload-artifact@v3
15+
- uses: actions/upload-artifact@v4
1616
with:
1717
name: yosysjs
1818
path: yosysjs-latest.zip

yosys/.github/workflows/test-linux.yml

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ jobs:
4343
sudo apt-get install $CC $CXX
4444
echo "CC=$CC" >> $GITHUB_ENV
4545
echo "CXX=$CXX" >> $GITHUB_ENV
46+
echo "CXXFLAGS=-Wp,-D_GLIBCXX_ASSERTIONS" >> $GITHUB_ENV
4647
env:
4748
CC: ${{ matrix.compiler }}
4849

@@ -78,19 +79,22 @@ jobs:
7879
$CXX --version
7980
8081
- name: Checkout Yosys
81-
uses: actions/checkout@v3
82+
uses: actions/checkout@v4
8283

8384
- name: Get iverilog
8485
shell: bash
8586
run: |
8687
git clone https://github.com/steveicarus/iverilog.git
88+
cd iverilog
89+
git checkout 192b6aec96fde982e6ddcb28b346d5893aa8e874
90+
echo "IVERILOG_GIT=$(git rev-parse HEAD)" >> $GITHUB_ENV
8791
8892
- name: Cache iverilog
8993
id: cache-iverilog
90-
uses: actions/cache@v3
94+
uses: actions/cache@v4
9195
with:
9296
path: .local/
93-
key: ${{ matrix.os.id }}-${{ hashFiles('iverilog/.git/refs/heads/master') }}
97+
key: ${{ matrix.os.id }}-${{ env.IVERILOG_GIT }}
9498

9599
- name: Build iverilog
96100
if: steps.cache-iverilog.outputs.cache-hit != 'true'
@@ -107,10 +111,14 @@ jobs:
107111
shell: bash
108112
run: |
109113
make config-${CC%%-*}
110-
make -j${{ env.procs }} CCXXSTD=${{ matrix.cpp_std }} CC=$CC CXX=$CC LD=$CC
114+
make -j${{ env.procs }} CXXSTD=${{ matrix.cpp_std }} CC=$CC CXX=$CC LD=$CC
111115
112116
- name: Run tests
113117
if: (matrix.cpp_std == 'c++11') && (matrix.compiler == 'gcc-11')
114118
shell: bash
115119
run: |
116120
make -j${{ env.procs }} test CXXSTD=${{ matrix.cpp_std }} CC=$CC CXX=$CC LD=$CC
121+
122+
- name: Log yosys-config output
123+
run: |
124+
./yosys-config || true

yosys/.github/workflows/test-macos.yml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ jobs:
88
strategy:
99
matrix:
1010
os:
11-
- { id: macos-11, name: 'Big Sur' }
11+
- { id: macos-13, name: 'Ventura' }
1212
cpp_std:
1313
- 'c++11'
1414
- 'c++17'
@@ -35,19 +35,22 @@ jobs:
3535
cc --version
3636
3737
- name: Checkout Yosys
38-
uses: actions/checkout@v3
38+
uses: actions/checkout@v4
3939

4040
- name: Get iverilog
4141
shell: bash
4242
run: |
4343
git clone https://github.com/steveicarus/iverilog.git
44+
cd iverilog
45+
git checkout 192b6aec96fde982e6ddcb28b346d5893aa8e874
46+
echo "IVERILOG_GIT=$(git rev-parse HEAD)" >> $GITHUB_ENV
4447
4548
- name: Cache iverilog
4649
id: cache-iverilog
47-
uses: actions/cache@v3
50+
uses: actions/cache@v4
4851
with:
4952
path: .local/
50-
key: ${{ matrix.os.id }}-${{ hashFiles('iverilog/.git/refs/heads/master') }}
53+
key: ${{ matrix.os.id }}-${{ env.IVERILOG_GIT }}
5154

5255
- name: Build iverilog
5356
if: steps.cache-iverilog.outputs.cache-hit != 'true'

yosys/.github/workflows/version.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
runs-on: ubuntu-latest
1111
steps:
1212
- name: Checkout
13-
uses: actions/checkout@v3
13+
uses: actions/checkout@v4
1414
with:
1515
fetch-depth: 0
1616
- name: Take last commit

yosys/.github/workflows/vs.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ jobs:
66
yosys-vcxsrc:
77
runs-on: ubuntu-latest
88
steps:
9-
- uses: actions/checkout@v3
9+
- uses: actions/checkout@v4
1010
- name: Build
1111
run: make vcxsrc YOSYS_VER=latest
12-
- uses: actions/upload-artifact@v3
12+
- uses: actions/upload-artifact@v4
1313
with:
1414
name: vcxsrc
1515
path: yosys-win32-vcxsrc-latest.zip
@@ -18,7 +18,7 @@ jobs:
1818
runs-on: windows-2019
1919
needs: yosys-vcxsrc
2020
steps:
21-
- uses: actions/download-artifact@v3
21+
- uses: actions/download-artifact@v4
2222
with:
2323
name: vcxsrc
2424
path: .

yosys/.github/workflows/wasi.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: WASI Build
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
wasi:
7+
runs-on: ubuntu-latest
8+
steps:
9+
- uses: actions/checkout@v4
10+
- name: Build
11+
run: |
12+
WASI_SDK=wasi-sdk-19.0
13+
WASI_SDK_URL=https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-19/wasi-sdk-19.0-linux.tar.gz
14+
if ! [ -d ${WASI_SDK} ]; then curl -L ${WASI_SDK_URL} | tar xzf -; fi
15+
16+
mkdir -p build
17+
cat > build/Makefile.conf <<END
18+
export PATH := $(pwd)/${WASI_SDK}/bin:${PATH}
19+
WASI_SYSROOT := $(pwd)/${WASI_SDK}/share/wasi-sysroot
20+
21+
CONFIG := wasi
22+
PREFIX := /
23+
24+
ENABLE_TCL := 0
25+
ENABLE_READLINE := 0
26+
ENABLE_PLUGINS := 0
27+
ENABLE_ZLIB := 0
28+
END
29+
30+
make -C build -f ../Makefile CXX=clang -j$(nproc)

yosys/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
*.o
22
*.d
3+
*.dwo
34
.*.swp
45
*.gch
56
*.gcda
67
*.gcno
8+
*~
79
__pycache__
810
/.cproject
911
/.project

yosys/CHANGELOG

Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,116 @@
22
List of major changes and improvements between releases
33
=======================================================
44

5+
Yosys 0.37 .. Yosys 0.38
6+
--------------------------
7+
* New commands and options
8+
- Added option "-tech" to "opt_lut" pass.
9+
- Added option "-nokeep_prints" to "hierarchy" pass.
10+
- Added option "-nolower" to "async2sync" and "clk2fflogic" pass.
11+
- Added option "-lower" to "chformal" pass.
12+
13+
* Various
14+
- Added $check cell to represent assertions with messages.
15+
- Allow capturing $print cell output in CXXRTL.
16+
- Added API to overwrite existing pass from plugin.
17+
- Follow the XDG Base Directory Specification for storing history files.
18+
- Without a known top module, derive all deferred modules (hierarchy pass).
19+
- Detect and error out on combinational loops in write_aiger.
20+
21+
* Verific support
22+
- Added option "-no-split-complex-ports" to "verific -import".
23+
24+
Yosys 0.36 .. Yosys 0.37
25+
--------------------------
26+
* New commands and options
27+
- Added option "-nodisplay" to read_verilog.
28+
29+
* SystemVerilog
30+
- Correct hierarchical path names for structs and unions.
31+
32+
* Various
33+
- Print hierarchy for failed assertions in "sim" pass.
34+
- Add "--present-only" option to "yosys-witness" to omit unused signals.
35+
- Implement a generic record/replay interface for CXXRTL.
36+
- Improved readability of emitted code with "write_verilog".
37+
38+
Yosys 0.35 .. Yosys 0.36
39+
--------------------------
40+
* New commands and options
41+
- Added option "--" to pass arguments down to tcl when using -c option.
42+
- Added ability on MacOS and Windows to pass options after arguments on cli.
43+
- Added option "-cmp2softlogic" to synth_lattice.
44+
- Added option "-lowpower" to "booth" pass.
45+
46+
* QuickLogic support
47+
- Added "K6N10f" support.
48+
- Added "-nodsp", "-nocarry", "-nobram" and "-bramtypes" options to
49+
"synth_quicklogic" pass.
50+
- Added "ql_bram_merge" pass to merge 18K BRAM cells into TDP36K.
51+
- Added "ql_bram_types" pass to change TDP36K depending on configuration.
52+
- Added "ql_dsp_io_regs" pass to update QL_DSP2 depending on configuration.
53+
- Added "ql_dsp_macc" pass to infer multiplier-accumulator DSP cells.
54+
- Added "ql_dsp_simd" pass to merge DSP pairs to operate in SIMD mode.
55+
56+
* ECP5,iCE40 and Gowin support
57+
- Enabled abc9 by default, added "-noabc9" option to disable.
58+
59+
* MachXO3 support
60+
- Quality of results improvements.
61+
- Enabled "booth" pass by default for it in "synth_lattice".
62+
63+
* Various
64+
- Improved "peepopt" by adding shiftadd pattern support.
65+
- Added "--incremental" mode to smtbmc.
66+
67+
Yosys 0.34 .. Yosys 0.35
68+
--------------------------
69+
* Various
70+
- Improvements on "peepopt" shiftmul matcher.
71+
- Improvements on "ram_style" attributes handling.
72+
73+
* Verific support
74+
- Improved static elaboration for VHDL and mixed HDL designs.
75+
- Expose "hdlname" attribute with original module name.
76+
- Expose "architecture" attribute with VHDL architecture name.
77+
78+
Yosys 0.33 .. Yosys 0.34
79+
--------------------------
80+
* New commands and options
81+
- Added option "-assert" to "sim" pass.
82+
- Added option "-noinitstate" to "sim" pass.
83+
- Added option "-dont_use" to "abc" pass.
84+
- Added "dft_tag" pass to create tagging logic for data flow tracking.
85+
- Added "future" pass to resolve future sampled value functions.
86+
- Added "booth" pass to map $mul cells to Booth multipliers.
87+
- Added option "-booth" to "synth" pass.
88+
89+
* SystemVerilog
90+
- Added support for assignments within expressions, e.g., `x[y++] = z;` or
91+
`x = (y *= 2) - 1;`.
92+
93+
* Verific support
94+
- "src" attribute contain full location info.
95+
- module parameters are kept after import.
96+
- accurate access order semantics in memory inference.
97+
- better "bind" support for mixed language projects.
98+
99+
* Various
100+
- "show" command displays dot instead of box for wire aliases.
101+
102+
Yosys 0.32 .. Yosys 0.33
103+
--------------------------
104+
* Various
105+
- Added "$print" cell, produced by "$display" and "$write"
106+
Verilog tasks.
107+
- Added "$print" cell handling in CXXRTL.
108+
109+
* Lattice FPGA support
110+
- Added generic "synth_lattice" pass (for now MachXO2/XO3/XO3D)
111+
- Removed "synth_machxo2" pass
112+
- Pass "ecp5_gsr" renamed to "lattice_gsr"
113+
- "synth_machxo2" equivalent is "synth_lattice -family xo2"
114+
5115
Yosys 0.31 .. Yosys 0.32
6116
--------------------------
7117
* Verific support

0 commit comments

Comments
 (0)