mirror of
https://github.com/YosysHQ/yosys
synced 2026-06-19 07:16:27 +00:00
Merge b6c57ce9bf into 5d7486115a
This commit is contained in:
commit
ba9e28499f
9 changed files with 70 additions and 7 deletions
8
.github/workflows/test-compile.yml
vendored
8
.github/workflows/test-compile.yml
vendored
|
|
@ -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
9
.gitmodules
vendored
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
39
frontends/slang/CMakeLists.txt
Normal file
39
frontends/slang/CMakeLists.txt
Normal 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
1
frontends/slang/lib
Submodule
|
|
@ -0,0 +1 @@
|
|||
Subproject commit 3251530961e0e8a8054098c9bb8376474958944a
|
||||
|
|
@ -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
1
libs/fmt
Submodule
|
|
@ -0,0 +1 @@
|
|||
Subproject commit 553ec11ec06fbe0beebfbb45f9dc3c9eabd83d28
|
||||
1
libs/slang
Submodule
1
libs/slang
Submodule
|
|
@ -0,0 +1 @@
|
|||
Subproject commit f04e81565793c768b747a8fd058f3e7aeceee1b5
|
||||
Loading…
Add table
Add a link
Reference in a new issue