3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2026-06-19 07:16:27 +00:00
This commit is contained in:
Miodrag Milanović 2026-06-19 03:59:48 +00:00 committed by GitHub
commit ba9e28499f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 70 additions and 7 deletions

View file

@ -43,7 +43,7 @@ jobs:
- ubuntu-latest
compiler:
# oldest supported
- 'clang-14'
- 'clang-16'
- 'gcc-11'
# newest, make sure to update maximum standard step to match
- 'clang-22'
@ -73,7 +73,6 @@ jobs:
uses: aminya/setup-cpp@v1
with:
compiler: ${{ matrix.compiler }}
gcc: ${{ (matrix.os == 'ubuntu-latest' && matrix.compiler == 'clang-14') && '12' || '' }}
- name: Tool versions
shell: bash
@ -81,11 +80,6 @@ jobs:
$CC --version
$CXX --version
- name: Fix clang-14 toolchain
if: matrix.os == 'ubuntu-latest' && matrix.compiler == 'clang-14'
run: |
echo 'CXXFLAGS=--gcc-toolchain=/usr -isystem /usr/include/c++/12 -isystem /usr/include/x86_64-linux-gnu/c++/12' >> $GITHUB_ENV
# minimum standard
- name: Build C++20
shell: bash

9
.gitmodules vendored
View file

@ -5,3 +5,12 @@
[submodule "cxxopts"]
path = libs/cxxopts
url = https://github.com/jarro2783/cxxopts
[submodule "slang"]
path = libs/slang
url = https://github.com/MikePopoloski/slang
[submodule "fmt"]
path = libs/fmt
url = https://github.com/fmtlib/fmt
[submodule "yosys-slang"]
path = frontends/slang/lib
url = https://github.com/povik/yosys-slang

View file

@ -53,6 +53,7 @@ option(YOSYS_WITHOUT_ZLIB "Disable zlib integration" OFF)
option(YOSYS_WITHOUT_LIBFFI "Disable libffi integration" OFF)
option(YOSYS_WITHOUT_READLINE "Disable readline integration" OFF)
option(YOSYS_WITHOUT_EDITLINE "Disable editline integration" OFF)
option(YOSYS_WITHOUT_SLANG "Disable Slang integration" OFF)
option(YOSYS_WITHOUT_TCL "Disable Tcl integration" OFF)
option(YOSYS_WITH_PYTHON "Enable Python integration" OFF)
@ -308,6 +309,7 @@ condition(YOSYS_ENABLE_EDITLINE editline_FOUND AND NOT YOSYS_WITHOUT_EDITLINE AN
condition(YOSYS_ENABLE_TCL tcl_FOUND AND libtommath_FOUND AND NOT YOSYS_WITHOUT_TCL)
condition(YOSYS_ENABLE_PYTHON Python3Devel_FOUND AND PyosysEnv_FOUND AND YOSYS_WITH_PYTHON)
condition(YOSYS_ENABLE_VERIFIC YOSYS_VERIFIC_DIR AND zlib_FOUND)
condition(YOSYS_ENABLE_SLANG NOT YOSYS_WITHOUT_SLANG)
# Describe dependencies and features
# CMake 4.0 would let us use proper conditions, but that's too new for now.

View file

@ -6,5 +6,6 @@ add_subdirectory(json)
add_subdirectory(liberty)
add_subdirectory(rpc)
add_subdirectory(rtlil)
add_subdirectory(slang)
add_subdirectory(verific)
add_subdirectory(verilog)

View file

@ -0,0 +1,39 @@
include(lib/cmake/GitRevision.cmake)
git_rev_parse(YOSYS_SLANG_REVISION ${CMAKE_CURRENT_SOURCE_DIR}/lib)
git_rev_parse(SLANG_REVISION ${PROJECT_SOURCE_DIR}/libs/slang)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/lib/src/version.h.in ${CMAKE_CURRENT_BINARY_DIR}/version.h)
yosys_frontend(slang
lib/src/abort_helpers.cc
lib/src/addressing.cc
lib/src/async_pattern.cc
lib/src/async_pattern.h
lib/src/blackboxes.cc
lib/src/builder.cc
lib/src/cases.cc
lib/src/cases.h
lib/src/diag.cc
lib/src/diag.h
lib/src/initialization.cc
lib/src/lvalue.cc
lib/src/memory.h
lib/src/naming.cc
lib/src/procedural.cc
lib/src/slang_frontend.cc
lib/src/slang_frontend.h
lib/src/statements.h
lib/src/sva.cc
lib/src/variables.cc
lib/src/variables.h
${CMAKE_CURRENT_BINARY_DIR}/version.h
ENABLE_IF
YOSYS_ENABLE_SLANG
INCLUDE_DIRS
${CMAKE_CURRENT_BINARY_DIR}
LIBRARIES
$<${YOSYS_ENABLE_SLANG}:slang::slang>
fmt::fmt
)
# TODO: remove next line when warnings/errors are fixed
set_target_properties(yosys_read_slang PROPERTIES YOSYS_IS_ABC ON)

1
frontends/slang/lib Submodule

@ -0,0 +1 @@
Subproject commit 3251530961e0e8a8054098c9bb8376474958944a

View file

@ -7,3 +7,18 @@ add_subdirectory(json11)
add_subdirectory(minisat)
add_subdirectory(sha1)
add_subdirectory(subcircuit)
block()
set(BUILD_SHARED_LIBS OFF)
include(FetchContent)
option(FMT_INSTALL OFF)
FetchContent_Declare(
fmt
EXCLUDE_FROM_ALL
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/fmt
)
FetchContent_MakeAvailable(fmt)
if (NOT YOSYS_WITHOUT_SLANG)
set(SLANG_USE_MIMALLOC OFF)
add_subdirectory(slang)
endif()
endblock()

1
libs/fmt Submodule

@ -0,0 +1 @@
Subproject commit 553ec11ec06fbe0beebfbb45f9dc3c9eabd83d28

1
libs/slang Submodule

@ -0,0 +1 @@
Subproject commit f04e81565793c768b747a8fd058f3e7aeceee1b5