Merge branch 'develop'
This commit is contained in:
commit
33aa2339c8
78
.cproject
78
.cproject
@ -16,9 +16,12 @@
|
|||||||
<folderInfo id="cdt.managedbuild.toolchain.gnu.base.1336041151.1615713914" name="/" resourcePath="">
|
<folderInfo id="cdt.managedbuild.toolchain.gnu.base.1336041151.1615713914" name="/" resourcePath="">
|
||||||
<toolChain id="cdt.managedbuild.toolchain.gnu.base.1297474963" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.base">
|
<toolChain id="cdt.managedbuild.toolchain.gnu.base.1297474963" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.base">
|
||||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.GNU_ELF" id="cdt.managedbuild.target.gnu.platform.base.1141103737" name="Debug Platform" osList="linux,hpux,aix,qnx" superClass="cdt.managedbuild.target.gnu.platform.base"/>
|
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.GNU_ELF" id="cdt.managedbuild.target.gnu.platform.base.1141103737" name="Debug Platform" osList="linux,hpux,aix,qnx" superClass="cdt.managedbuild.target.gnu.platform.base"/>
|
||||||
<builder buildPath="/TGC-ISS/build/Debug" id="de.marw.cdt.cmake.core.genscriptbuilder.1100382234" keepEnvironmentInBuildfile="false" name="CMake Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="de.marw.cdt.cmake.core.genscriptbuilder"/>
|
<builder buildPath="/TGC-ISS/_build/Debug" id="cmake4eclipse.mbs.builder.1823257054" parallelBuildOn="false" superClass="cmake4eclipse.mbs.builder"/>
|
||||||
<tool id="cdt.managedbuild.tool.gnu.archiver.base.740869785" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
|
<tool id="cdt.managedbuild.tool.gnu.archiver.base.740869785" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
|
||||||
<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.base.1934077203" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.base">
|
<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.base.1934077203" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.base">
|
||||||
|
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.cpp.compiler.option.preprocessor.def.1599133325" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" useByScannerDiscovery="false" valueType="definedSymbols">
|
||||||
|
<listOptionValue builtIn="false" value="CWR_SYSTEMC=1"/>
|
||||||
|
</option>
|
||||||
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.17118862" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
|
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.17118862" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
|
||||||
</tool>
|
</tool>
|
||||||
<tool id="cdt.managedbuild.tool.gnu.c.compiler.base.1699395860" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.base">
|
<tool id="cdt.managedbuild.tool.gnu.c.compiler.base.1699395860" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.base">
|
||||||
@ -42,10 +45,77 @@
|
|||||||
<storageModule buildDir="build/${ConfigName}" moduleId="de.marw.cdt.cmake.core.settings">
|
<storageModule buildDir="build/${ConfigName}" moduleId="de.marw.cdt.cmake.core.settings">
|
||||||
<options/>
|
<options/>
|
||||||
<defs>
|
<defs>
|
||||||
<def name="ENABLE_CODEGEN" type="BOOL" val="ON"/>
|
|
||||||
<def name="CMAKE_BUILD_TYPE" type="STRING" val="${ConfigName}"/>
|
<def name="CMAKE_BUILD_TYPE" type="STRING" val="${ConfigName}"/>
|
||||||
</defs>
|
</defs>
|
||||||
</storageModule>
|
</storageModule>
|
||||||
|
<storageModule dirtyTs="1681454842738" moduleId="de.marw.cmake4eclipse.mbs.settings">
|
||||||
|
<options/>
|
||||||
|
<defs>
|
||||||
|
<def name="CMAKE_BUILD_TYPE" type="STRING" val="Debug"/>
|
||||||
|
<def name="USE_CWR_SYSTEM" type="BOOL" val="ON"/>
|
||||||
|
<def name="BUILD_SHARED_LIBS" type="BOOL" val="ON"/>
|
||||||
|
<def name="CODEGEN" type="BOOL" val="OFF"/>
|
||||||
|
<def name="CMAKE_INSTALL_PREFIX" type="FILEPATH" val="${ProjDirPath}/install"/>
|
||||||
|
</defs>
|
||||||
|
</storageModule>
|
||||||
|
</cconfiguration>
|
||||||
|
<cconfiguration id="cdt.managedbuild.toolchain.gnu.base.1336041151.1436777338">
|
||||||
|
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.toolchain.gnu.base.1336041151.1436777338" moduleId="org.eclipse.cdt.core.settings" name="Debug-PA">
|
||||||
|
<externalSettings/>
|
||||||
|
<extensions>
|
||||||
|
<extension id="org.eclipse.cdt.core.GNU_ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||||
|
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||||
|
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||||
|
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||||
|
</extensions>
|
||||||
|
</storageModule>
|
||||||
|
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||||
|
<configuration buildProperties="" description="" id="cdt.managedbuild.toolchain.gnu.base.1336041151.1436777338" name="Debug-PA" optionalBuildProperties="" parent="org.eclipse.cdt.build.core.emptycfg">
|
||||||
|
<folderInfo id="cdt.managedbuild.toolchain.gnu.base.1336041151.1436777338." name="/" resourcePath="">
|
||||||
|
<toolChain id="cdt.managedbuild.toolchain.gnu.base.1293780030" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.base">
|
||||||
|
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.GNU_ELF" id="cdt.managedbuild.target.gnu.platform.base.1970512769" name="Debug Platform" osList="linux,hpux,aix,qnx" superClass="cdt.managedbuild.target.gnu.platform.base"/>
|
||||||
|
<builder buildPath="/TGC-ISS/_build/Debug-PA" id="cmake4eclipse.mbs.builder.928900702" keepEnvironmentInBuildfile="false" name="CMake Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="cmake4eclipse.mbs.builder"/>
|
||||||
|
<tool id="cdt.managedbuild.tool.gnu.archiver.base.207730824" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
|
||||||
|
<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.base.1262643605" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.base">
|
||||||
|
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.cpp.compiler.option.preprocessor.def.766346102" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" useByScannerDiscovery="false" valueType="definedSymbols">
|
||||||
|
<listOptionValue builtIn="false" value="CWR_SYSTEMC=1"/>
|
||||||
|
</option>
|
||||||
|
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1887588287" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
|
||||||
|
</tool>
|
||||||
|
<tool id="cdt.managedbuild.tool.gnu.c.compiler.base.934550669" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.base">
|
||||||
|
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.435160258" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
|
||||||
|
</tool>
|
||||||
|
<tool id="cdt.managedbuild.tool.gnu.c.linker.base.1246571083" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.base"/>
|
||||||
|
<tool id="cdt.managedbuild.tool.gnu.cpp.linker.base.1000595204" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.base">
|
||||||
|
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1443403714" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
|
||||||
|
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
||||||
|
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
||||||
|
</inputType>
|
||||||
|
</tool>
|
||||||
|
<tool id="cdt.managedbuild.tool.gnu.assembler.base.1058800350" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.base">
|
||||||
|
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1915245436" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
||||||
|
</tool>
|
||||||
|
</toolChain>
|
||||||
|
</folderInfo>
|
||||||
|
</configuration>
|
||||||
|
</storageModule>
|
||||||
|
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||||
|
<storageModule buildDir="build/${ConfigName}" moduleId="de.marw.cdt.cmake.core.settings">
|
||||||
|
<options/>
|
||||||
|
<defs>
|
||||||
|
<def name="CMAKE_BUILD_TYPE" type="STRING" val="${ConfigName}"/>
|
||||||
|
</defs>
|
||||||
|
</storageModule>
|
||||||
|
<storageModule dirtyTs="1681455316836" moduleId="de.marw.cmake4eclipse.mbs.settings">
|
||||||
|
<options/>
|
||||||
|
<defs>
|
||||||
|
<def name="CMAKE_BUILD_TYPE" type="STRING" val="Debug"/>
|
||||||
|
<def name="USE_CWR_SYSTEMC" type="BOOL" val="ON"/>
|
||||||
|
<def name="BUILD_SHARED_LIBS" type="BOOL" val="ON"/>
|
||||||
|
<def name="CODEGEN" type="BOOL" val="OFF"/>
|
||||||
|
<def name="CMAKE_INSTALL_PREFIX" type="FILEPATH" val="${ProjDirPath}/install"/>
|
||||||
|
</defs>
|
||||||
|
</storageModule>
|
||||||
</cconfiguration>
|
</cconfiguration>
|
||||||
</storageModule>
|
</storageModule>
|
||||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||||
@ -53,6 +123,9 @@
|
|||||||
</storageModule>
|
</storageModule>
|
||||||
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
|
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
|
||||||
<storageModule moduleId="refreshScope" versionNumber="2">
|
<storageModule moduleId="refreshScope" versionNumber="2">
|
||||||
|
<configuration configurationName="Debug-PA">
|
||||||
|
<resource resourceType="PROJECT" workspacePath="/TGC-ISS"/>
|
||||||
|
</configuration>
|
||||||
<configuration configurationName="Default">
|
<configuration configurationName="Default">
|
||||||
<resource resourceType="PROJECT" workspacePath="/TGC-ISS"/>
|
<resource resourceType="PROJECT" workspacePath="/TGC-ISS"/>
|
||||||
</configuration>
|
</configuration>
|
||||||
@ -70,4 +143,5 @@
|
|||||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||||
</scannerConfigBuildInfo>
|
</scannerConfigBuildInfo>
|
||||||
</storageModule>
|
</storageModule>
|
||||||
|
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
|
||||||
</cproject>
|
</cproject>
|
4
.gitignore
vendored
4
.gitignore
vendored
@ -1,3 +1,7 @@
|
|||||||
/build/
|
/build/
|
||||||
/Debug/
|
/Debug/
|
||||||
.settings
|
.settings
|
||||||
|
/.venv
|
||||||
|
/Debug-PA/
|
||||||
|
/_build/
|
||||||
|
/install/
|
||||||
|
3
.gitmodules
vendored
3
.gitmodules
vendored
@ -1,9 +1,6 @@
|
|||||||
[submodule "scc"]
|
[submodule "scc"]
|
||||||
path = scc
|
path = scc
|
||||||
url = https://github.com/Minres/SystemC-Components.git
|
url = https://github.com/Minres/SystemC-Components.git
|
||||||
[submodule "coredsl"]
|
|
||||||
path = coredsl
|
|
||||||
url = https://git.minres.com/DBT-RISE/CoreDSL-Generator.git
|
|
||||||
[submodule "dbt-rise-core"]
|
[submodule "dbt-rise-core"]
|
||||||
path = dbt-rise-core
|
path = dbt-rise-core
|
||||||
url = https://github.com/Minres/DBT-RISE-Core.git
|
url = https://github.com/Minres/DBT-RISE-Core.git
|
||||||
|
@ -3,16 +3,18 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake ${C
|
|||||||
|
|
||||||
project(TGFS-ISS VERSION 1.0.0 LANGUAGES CXX)
|
project(TGFS-ISS VERSION 1.0.0 LANGUAGES CXX)
|
||||||
|
|
||||||
|
option(CODEGEN "enable generation of ISS code" ON)
|
||||||
set(CORE_NAME TGC_C CACHE STRING "The core to build the ISS for" )
|
set(CORE_NAME TGC_C CACHE STRING "The core to build the ISS for" )
|
||||||
set(WITH_LLVM FALSE CACHE BOOL "Build LLVM based backend")
|
set(WITH_LLVM FALSE CACHE BOOL "Build LLVM based backend")
|
||||||
|
|
||||||
include(GNUInstallDirs)
|
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD 14)
|
set(CMAKE_CXX_STANDARD 14)
|
||||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||||
|
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
|
||||||
|
set(CMAKE_INSTALL_RPATH "${ORIGIN}")
|
||||||
include(CheckCXXCompilerFlag)
|
include(CheckCXXCompilerFlag)
|
||||||
|
include(GNUInstallDirs)
|
||||||
|
|
||||||
CHECK_CXX_COMPILER_FLAG("-march=native" COMPILER_SUPPORTS_MARCH_NATIVE)
|
CHECK_CXX_COMPILER_FLAG("-march=native" COMPILER_SUPPORTS_MARCH_NATIVE)
|
||||||
if(COMPILER_SUPPORTS_MARCH_NATIVE)
|
if(COMPILER_SUPPORTS_MARCH_NATIVE)
|
||||||
@ -33,10 +35,15 @@ elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
include(ConanInline)
|
include(ConanInline)
|
||||||
|
if(BUILD_SHARED_LIBS)
|
||||||
|
set(SHARED_FLAG "True")
|
||||||
|
else()
|
||||||
|
set(SHARED_FLAG "False")
|
||||||
|
endif()
|
||||||
|
|
||||||
set(CONAN_BOOST_OPTIONS
|
set(CONAN_BOOST_OPTIONS
|
||||||
boost:fPIC=True
|
boost:fPIC=True
|
||||||
boost:shared=True
|
boost:shared=${SHARED_FLAG}
|
||||||
boost:header_only=False
|
boost:header_only=False
|
||||||
boost:without_contract=True
|
boost:without_contract=True
|
||||||
boost:without_graph=True
|
boost:without_graph=True
|
||||||
@ -57,33 +64,63 @@ boost:without_timer=True
|
|||||||
boost:without_type_erasure=True
|
boost:without_type_erasure=True
|
||||||
boost:without_wave=True
|
boost:without_wave=True
|
||||||
)
|
)
|
||||||
set(CONAN_PACKAGES fmt/6.1.2 zlib/1.2.11 boost/1.75.0 gsl-lite/0.37.0 elfio/3.8 tcc/0.9.27)
|
|
||||||
set(CONAN_SETTINGS fmt:header_only=True ${CONAN_BOOST_OPTIONS})
|
set(B2_VERSION 4.9.3)
|
||||||
if(NOT DEFINED ENV{SYSTEMC_HOME})
|
set(CONAN_PACKAGE_LIST
|
||||||
set(CONAN_PACKAGES ${CONAN_PACKAGES}
|
fmt/8.0.1
|
||||||
|
spdlog/1.9.2
|
||||||
|
boost/1.75.0
|
||||||
|
gsl-lite/0.37.0
|
||||||
|
elfio/3.8
|
||||||
|
tcc/0.9.27
|
||||||
|
lz4/1.9.3
|
||||||
|
yaml-cpp/0.7.0
|
||||||
|
jsoncpp/1.9.5
|
||||||
|
)
|
||||||
|
|
||||||
|
set(CONAN_PACKAGE_OPTIONS fmt:header_only=True ${CONAN_BOOST_OPTIONS})
|
||||||
|
if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
||||||
|
list(APPEND CONAN_PACKAGE_OPTIONS lua:compile_as_cpp=False)
|
||||||
|
list(APPEND CONAN_PACKAGE_LIST tcc/0.9.27 seasocks/1.4.4 lua/5.4.3)
|
||||||
|
endif()
|
||||||
|
if(NOT USE_CWR_SYSTEMC AND NOT USE_NCSC_SYSTEMC AND NOT DEFINED ENV{SYSTEMC_HOME})
|
||||||
|
set(CONAN_PACKAGE_LIST ${CONAN_PACKAGE_LIST}
|
||||||
systemc/2.3.3
|
systemc/2.3.3
|
||||||
systemc-cci/1.0.0
|
systemc-cci/1.0.0
|
||||||
)
|
)
|
||||||
set(CONAN_SETTINGS ${CONAN_SETTINGS}
|
set(CONAN_PACKAGE_OPTIONS ${CONAN_PACKAGE_OPTIONS}
|
||||||
#systemc:phase_cb=False
|
systemc:shared=${SHARED_FLAG}
|
||||||
systemc-cci:shared=False
|
systemc-cci:shared=${SHARED_FLAG}
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
conan_check()
|
conan_check()
|
||||||
conan_add_remote(NAME minres URL https://artifactory.minres.com/artifactory/api/conan/oss)
|
conan_add_remote(NAME minres URL https://git.minres.com/api/packages/Tooling/conan)
|
||||||
conan_cmake_configure(REQUIRES ${CONAN_PACKAGES}
|
# Boost on CentOS 7 quirks: the b2 of conan-center is build against a newer libstdc++ and therefore does not run
|
||||||
|
# with the oooooold libs on CentOS 7. Therefore we build our own version of b2 if it is not there
|
||||||
|
set(B2_META $ENV{HOME}/.conan/data/b2/${B2_VERSION}/_/_/metadata.json)
|
||||||
|
if(DEFINED ENV{CONAN_USER_HOME})
|
||||||
|
set(B2_META $ENV{CONAN_USER_HOME}/.conan/data/b2/${B2_VERSION}/_/_/metadata.json)
|
||||||
|
endif()
|
||||||
|
if(NOT EXISTS ${B2_META})
|
||||||
|
conan_configure(REQUIRES b2/${B2_VERSION})
|
||||||
|
conan_cmake_autodetect(settings)
|
||||||
|
conan_cmake_install(PATH_OR_REFERENCE . BUILD b2 SETTINGS ${settings})
|
||||||
|
endif()
|
||||||
|
# Boost on CentOS 7 quirks end
|
||||||
|
conan_cmake_configure(REQUIRES ${CONAN_PACKAGE_LIST}
|
||||||
GENERATORS cmake_find_package
|
GENERATORS cmake_find_package
|
||||||
OPTIONS ${CONAN_SETTINGS}
|
OPTIONS ${CONAN_PACKAGE_OPTIONS}
|
||||||
)
|
)
|
||||||
|
conan_cmake_autodetect(settings)
|
||||||
conan_install()
|
conan_install()
|
||||||
|
set(CONAN_CMAKE_SILENT_OUTPUT ON)
|
||||||
find_package(tcc)
|
find_package(tcc QUIET)
|
||||||
find_package(elfio)
|
find_package(elfio)
|
||||||
find_package(fmt)
|
find_package(fmt)
|
||||||
|
find_package(spdlog)
|
||||||
find_package(gsl-lite)
|
find_package(gsl-lite)
|
||||||
|
|
||||||
# This line finds the boost lib and headers.
|
|
||||||
set(Boost_NO_BOOST_CMAKE ON) # Don't do a find_package in config mode before searching for a regular boost install.
|
set(Boost_NO_BOOST_CMAKE ON) # Don't do a find_package in config mode before searching for a regular boost install.
|
||||||
set(BOOST_ROOT ${CONAN_BOOST_ROOT})
|
set(BOOST_ROOT ${CONAN_BOOST_ROOT})
|
||||||
find_package(Threads)
|
find_package(Threads)
|
||||||
@ -104,13 +141,6 @@ if (ENABLE_CLANG_TIDY)
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
include(CodeGen)
|
|
||||||
if(NOT CORE_DSL_INPUT_DIR)
|
|
||||||
set(CORE_DSL_INPUT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/tgfs/gen_input)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
gen_coredsl(${CORE_NAME} ${CORE_DSL_INPUT_DIR}/${CORE_NAME}.core_desc interp)
|
|
||||||
|
|
||||||
add_subdirectory(dbt-rise-core)
|
add_subdirectory(dbt-rise-core)
|
||||||
add_subdirectory(scc)
|
add_subdirectory(scc)
|
||||||
add_subdirectory(dbt-rise-tgc)
|
add_subdirectory(dbt-rise-tgc)
|
||||||
|
29
LICENSE
Normal file
29
LICENSE
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
BSD 3-Clause License
|
||||||
|
|
||||||
|
Copyright (c) 2016, MINRES Technologies GmbH
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are met:
|
||||||
|
|
||||||
|
* Redistributions of source code must retain the above copyright notice, this
|
||||||
|
list of conditions and the following disclaimer.
|
||||||
|
|
||||||
|
* Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
this list of conditions and the following disclaimer in the documentation
|
||||||
|
and/or other materials provided with the distribution.
|
||||||
|
|
||||||
|
* Neither the name of the copyright holder nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived from
|
||||||
|
this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||||
|
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||||
|
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||||
|
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
19
Modulefile
19
Modulefile
@ -13,22 +13,9 @@ if { $distro == "CentOS" && ![info exists ::env(PROJECT)] && ![info exists ::env
|
|||||||
puts stderr "Don't forget to execute 'scl enable devtoolset-7 bash'"
|
puts stderr "Don't forget to execute 'scl enable devtoolset-7 bash'"
|
||||||
}
|
}
|
||||||
|
|
||||||
if {![info exists ::env(PROJECT)] && [file exists $::env(HOME)/.sdkman/candidates/java/11.0.9.hs-adpt/] != 1} {
|
module load tools/cmake
|
||||||
puts stderr "Please install java via 'sdk install java 11.0.9.hs-adpt'!"
|
#module load tools/gcc-riscv64/9.2.0
|
||||||
prereq java/11.0.9
|
module load tools/gcc-riscv32-unknown-elf/11
|
||||||
} else {
|
|
||||||
prepend-path PATH $::env(HOME)/.sdkman/candidates/java/11.0.9.hs-adpt/bin
|
|
||||||
setenv JAVA_HOME $::env(HOME)/.sdkman/candidates/java/11.0.9.hs-adpt
|
|
||||||
}
|
|
||||||
|
|
||||||
if {![info exists ::env(PROJECT)] && [file exists $::env(HOME)/.sdkman/candidates/maven/3.6.3] != 1} {
|
|
||||||
puts stderr "Please install mvn via 'sdk install maven 3.6.3'!"
|
|
||||||
prereq maven/3.6.3
|
|
||||||
} else {
|
|
||||||
prepend-path PATH $::env(HOME)/.sdkman/candidates/sbt/1.4.4/bin
|
|
||||||
}
|
|
||||||
|
|
||||||
module load tools/cmake tools/gcc-riscv64/9.2.0
|
|
||||||
|
|
||||||
setenv PROJECT TGFS-ISS
|
setenv PROJECT TGFS-ISS
|
||||||
|
|
||||||
|
@ -1,113 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 3.16)
|
|
||||||
option(ENABLE_CODEGEN "Enable code generation for supported cores" ON)
|
|
||||||
|
|
||||||
set(ROOT_DIR ${CMAKE_CURRENT_LIST_DIR}/..)
|
|
||||||
set(DBT_CORE_TGC_DIR ${ROOT_DIR}/dbt-rise-tgc)
|
|
||||||
|
|
||||||
#helper to setup code generation and generate outputs
|
|
||||||
set(GENERATOR_JAR ${ROOT_DIR}/coredsl/com.minres.coredsl.generator.repository/target/com.minres.coredsl.generator-2.0.0-SNAPSHOT.jar)
|
|
||||||
|
|
||||||
if(EXISTS ${ROOT_DIR}/coredsl/pom.xml AND NOT EXISTS ${GENERATOR_JAR})
|
|
||||||
execute_process(
|
|
||||||
COMMAND mvn package
|
|
||||||
WORKING_DIRECTORY ${ROOT_DIR}/coredsl
|
|
||||||
OUTPUT_VARIABLE StdOut
|
|
||||||
ERROR_VARIABLE StdErr
|
|
||||||
RESULT_VARIABLE Status
|
|
||||||
ERROR_QUIET)
|
|
||||||
if(Status AND NOT Status EQUAL 0)
|
|
||||||
message(STATUS "mvn package call failed: ${Status}, ${StdOut}, ${StdErr}")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(JAVA_OPTS --add-modules ALL-SYSTEM --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED
|
|
||||||
--add-opens=java.base/java.lang.annotation=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED
|
|
||||||
--add-opens=java.base/java.lang.module=ALL-UNNAMED --add-opens=java.base/java.lang.ref=ALL-UNNAMED
|
|
||||||
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.math=ALL-UNNAMED
|
|
||||||
--add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.net.spi=ALL-UNNAMED
|
|
||||||
--add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.nio.channels=ALL-UNNAMED
|
|
||||||
--add-opens=java.base/java.nio.channels.spi=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED
|
|
||||||
--add-opens=java.base/java.nio.charset.spi=ALL-UNNAMED --add-opens=java.base/java.nio.file=ALL-UNNAMED
|
|
||||||
--add-opens=java.base/java.nio.file.attribute=ALL-UNNAMED --add-opens=java.base/java.nio.file.spi=ALL-UNNAMED
|
|
||||||
--add-opens=java.base/java.security=ALL-UNNAMED --add-opens=java.base/java.security.acl=ALL-UNNAMED
|
|
||||||
--add-opens=java.base/java.security.cert=ALL-UNNAMED --add-opens=java.base/java.security.interfaces=ALL-UNNAMED
|
|
||||||
--add-opens=java.base/java.security.spec=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED
|
|
||||||
--add-opens=java.base/java.text.spi=ALL-UNNAMED --add-opens=java.base/java.time=ALL-UNNAMED
|
|
||||||
--add-opens=java.base/java.time.chrono=ALL-UNNAMED --add-opens=java.base/java.time.format=ALL-UNNAMED
|
|
||||||
--add-opens=java.base/java.time.temporal=ALL-UNNAMED --add-opens=java.base/java.time.zone=ALL-UNNAMED
|
|
||||||
--add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED
|
|
||||||
--add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.locks=ALL-UNNAMED
|
|
||||||
--add-opens=java.base/java.util.function=ALL-UNNAMED --add-opens=java.base/java.util.jar=ALL-UNNAMED
|
|
||||||
--add-opens=java.base/java.util.regex=ALL-UNNAMED --add-opens=java.base/java.util.spi=ALL-UNNAMED
|
|
||||||
--add-opens=java.base/java.util.stream=ALL-UNNAMED --add-opens=java.base/java.util.zip=ALL-UNNAMED
|
|
||||||
--add-opens=java.datatransfer/java.awt.datatransfer=ALL-UNNAMED --add-opens=java.desktop/java.applet=ALL-UNNAMED
|
|
||||||
--add-opens=java.desktop/java.awt=ALL-UNNAMED --add-opens=java.desktop/java.awt.color=ALL-UNNAMED
|
|
||||||
--add-opens=java.desktop/java.awt.desktop=ALL-UNNAMED --add-opens=java.desktop/java.awt.dnd=ALL-UNNAMED
|
|
||||||
--add-opens=java.desktop/java.awt.dnd.peer=ALL-UNNAMED --add-opens=java.desktop/java.awt.event=ALL-UNNAMED
|
|
||||||
--add-opens=java.desktop/java.awt.font=ALL-UNNAMED --add-opens=java.desktop/java.awt.geom=ALL-UNNAMED
|
|
||||||
--add-opens=java.desktop/java.awt.im=ALL-UNNAMED --add-opens=java.desktop/java.awt.im.spi=ALL-UNNAMED
|
|
||||||
--add-opens=java.desktop/java.awt.image=ALL-UNNAMED --add-opens=java.desktop/java.awt.image.renderable=ALL-UNNAMED
|
|
||||||
--add-opens=java.desktop/java.awt.peer=ALL-UNNAMED --add-opens=java.desktop/java.awt.print=ALL-UNNAMED
|
|
||||||
--add-opens=java.desktop/java.beans=ALL-UNNAMED --add-opens=java.desktop/java.beans.beancontext=ALL-UNNAMED
|
|
||||||
--add-opens=java.instrument/java.lang.instrument=ALL-UNNAMED --add-opens=java.logging/java.util.logging=ALL-UNNAMED
|
|
||||||
--add-opens=java.management/java.lang.management=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED
|
|
||||||
--add-opens=java.rmi/java.rmi=ALL-UNNAMED --add-opens=java.rmi/java.rmi.activation=ALL-UNNAMED
|
|
||||||
--add-opens=java.rmi/java.rmi.dgc=ALL-UNNAMED --add-opens=java.rmi/java.rmi.registry=ALL-UNNAMED
|
|
||||||
--add-opens=java.rmi/java.rmi.server=ALL-UNNAMED --add-opens=java.sql/java.sql=ALL-UNNAMED)
|
|
||||||
set(GENERATOR java ${JAVA_OPTS} -jar ${GENERATOR_JAR})
|
|
||||||
|
|
||||||
set(REPO_DIR ${DBT_CORE_TGC_DIR}/gen_input/CoreDSL-Instruction-Set-Description)
|
|
||||||
set(TMPL_DIR ${DBT_CORE_TGC_DIR}/gen_input/templates/)
|
|
||||||
|
|
||||||
if(ENABLE_CODEGEN AND EXISTS ${GENERATOR_JAR})
|
|
||||||
macro(gen_coredsl CORE_NAME INPUT_FILE BACKEND)
|
|
||||||
message(STATUS "Adding generation steps for ${CORE_NAME} in ${DBT_CORE_TGC_DIR} for ${BACKEND}")
|
|
||||||
|
|
||||||
string(TOUPPER ${BACKEND} BE_UPPER)
|
|
||||||
string(TOLOWER ${CORE_NAME} CORE_NAMEL)
|
|
||||||
|
|
||||||
if(EXISTS ${DBT_CORE_TGC_DIR}/generate.sh AND NOT EXISTS ${DBT_CORE_TGC_DIR}/incl/iss/arch/${CORE_NAMEL}.h)
|
|
||||||
# make sure source file exist initially
|
|
||||||
execute_process(
|
|
||||||
COMMAND /bin/bash ${DBT_CORE_TGC_DIR}/../generate.sh -c $CORE_NAME -b $BACKEND
|
|
||||||
WORKING_DIRECTORY ${DBT_CORE_TGC_DIR}/..
|
|
||||||
RESULT_VARIABLE return_code)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/CORENAME.h.gtl:${DBT_CORE_TGC_DIR}/incl/iss/arch/${CORE_NAMEL}.h")
|
|
||||||
list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/CORENAME.cpp.gtl:${DBT_CORE_TGC_DIR}/src/iss/${CORE_NAMEL}.cpp")
|
|
||||||
list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/${BACKEND}/CORENAME.cpp.gtl:${DBT_CORE_TGC_DIR}/src/vm/interp/vm_${CORE_NAMEL}.cpp")
|
|
||||||
list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/CORENAME_instr.yaml.gtl:${DBT_CORE_TGC_DIR}/${CORE_NAME}_instr.yaml")
|
|
||||||
list(APPEND ${CORE_NAME}_MAPPING -m "${TMPL_DIR}/CORENAME_cyles.txt.gtl:${DBT_CORE_TGC_DIR}/${CORE_NAME}_cycles.json:no")
|
|
||||||
|
|
||||||
set(${CORE_NAME}_OUTPUT_FILES ${DBT_CORE_TGC_DIR}/incl/iss/arch/${CORE_NAMEL}.h ${DBT_CORE_TGC_DIR}/src/iss/${CORE_NAMEL}.cpp ${DBT_CORE_TGC_DIR}/src/vm/interp/vm_${CORE_NAMEL}.cpp)
|
|
||||||
#add_custom_command(
|
|
||||||
# COMMAND ${GENERATOR} -b ${BE_UPPER} -c ${CORE_NAME} -r ${REPO_DIR} ${${CORE_NAME}_MAPPING} ${INPUT_FILE}
|
|
||||||
# DEPENDS ${GENERATOR_JAR} ${INPUT_FILE} ${TMPL_DIR}/CORENAME.h.gtl ${TMPL_DIR}/CORENAME.cpp.gtl ${TMPL_DIR}/${BACKEND}/CORENAME.cpp.gtl
|
|
||||||
# OUTPUT ${${CORE_NAME}_OUTPUT_FILES}
|
|
||||||
# COMMENT "Generating code for ${CORE_NAME}."
|
|
||||||
# USES_TERMINAL VERBATIM
|
|
||||||
#)
|
|
||||||
if(NOT DEFINED ENV{CI})
|
|
||||||
add_custom_target(${CORE_NAME}_cpp
|
|
||||||
COMMAND ${GENERATOR} -b ${BE_UPPER} -c ${CORE_NAME} ${${CORE_NAME}_MAPPING} ${INPUT_FILE}
|
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
|
|
||||||
COMMENT "Generating ISS sources"
|
|
||||||
BYPRODUCTS ${${CORE_NAME}_OUTPUT_FILES}
|
|
||||||
USES_TERMINAL
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
execute_process(
|
|
||||||
COMMAND ${GENERATOR} -b ${BE_UPPER} -c ${CORE_NAME} ${${CORE_NAME}_MAPPING} ${INPUT_FILE}
|
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
|
|
||||||
RESULT_VARIABLE return_code)
|
|
||||||
endmacro()
|
|
||||||
else()
|
|
||||||
macro(gen_coredsl CORE_NAME INPUT_FILE BACKEND)
|
|
||||||
add_custom_target(${CORE_NAME}_cpp)
|
|
||||||
message(STATUS "Not adding generation steps for ${CORE_NAME}(${ENABLE_CODEGEN}, ${GENERATOR_JAR})")
|
|
||||||
if(NOT EXISTS ${GENERATOR_JAR})
|
|
||||||
message(STATUS "CoreDSL Generator ${GENERATOR_JAR} does not exists")
|
|
||||||
endif()
|
|
||||||
endmacro()
|
|
||||||
endif()
|
|
1
coredsl
1
coredsl
@ -1 +0,0 @@
|
|||||||
Subproject commit 2258a1cb004ddaaa839978b7044963355ad83bfb
|
|
@ -1 +1 @@
|
|||||||
Subproject commit dbc8066315f24bb18ed2fda4767360d48dc1fc16
|
Subproject commit fa6166ae43b90d4263e9d50402a055d6172ccb69
|
@ -1 +1 @@
|
|||||||
Subproject commit b6824e68e91742097c8e8976221fd96a0eb6bbec
|
Subproject commit 899939d6c662ffe442ba9a5204e19b78c5dfda32
|
60
generate.sh
60
generate.sh
@ -1,60 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
##
|
|
||||||
|
|
||||||
# Absolute path to this script, e.g. /home/user/bin/foo.sh
|
|
||||||
SCRIPT=`readlink -f "$0"`
|
|
||||||
# Absolute path this script is in, thus /home/user/bin
|
|
||||||
SCRIPTDIR=`dirname "$SCRIPT"`
|
|
||||||
SCRIPTNAME=`basename "$SCRIPT"`
|
|
||||||
|
|
||||||
function print_help {
|
|
||||||
echo "Usage: $SCRIPTNAME [-h] -c <core name> -v <core variant> <input file>"
|
|
||||||
echo "Generate ISS sources for TGC cores"
|
|
||||||
echo " -c <name> core name"
|
|
||||||
echo " -b <backend> ISS backend for which sources are generated, interp,tcc, or llvm"
|
|
||||||
exit 0
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
CORE_NAME=
|
|
||||||
BACKEND=
|
|
||||||
while getopts 'c:b:h' c
|
|
||||||
do
|
|
||||||
case $c in
|
|
||||||
c) CORE_NAME=$OPTARG ;;
|
|
||||||
b) BACKEND=$OPTARG ;;
|
|
||||||
h) print_help ;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
shift $((OPTIND-1))
|
|
||||||
|
|
||||||
if [ -z "$CORE_NAME" ]; then
|
|
||||||
echo "core name missing!"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
if [ -z "$BACKEND" ]; then
|
|
||||||
echo "core variant missing!"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
JAVA_OPTS="--add-modules ALL-SYSTEM --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.annotation=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.module=ALL-UNNAMED --add-opens=java.base/java.lang.ref=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.math=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.net.spi=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.nio.channels=ALL-UNNAMED --add-opens=java.base/java.nio.channels.spi=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.nio.charset.spi=ALL-UNNAMED --add-opens=java.base/java.nio.file=ALL-UNNAMED --add-opens=java.base/java.nio.file.attribute=ALL-UNNAMED --add-opens=java.base/java.nio.file.spi=ALL-UNNAMED --add-opens=java.base/java.security=ALL-UNNAMED --add-opens=java.base/java.security.acl=ALL-UNNAMED --add-opens=java.base/java.security.cert=ALL-UNNAMED --add-opens=java.base/java.security.interfaces=ALL-UNNAMED --add-opens=java.base/java.security.spec=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED --add-opens=java.base/java.text.spi=ALL-UNNAMED --add-opens=java.base/java.time=ALL-UNNAMED --add-opens=java.base/java.time.chrono=ALL-UNNAMED --add-opens=java.base/java.time.format=ALL-UNNAMED --add-opens=java.base/java.time.temporal=ALL-UNNAMED --add-opens=java.base/java.time.zone=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.locks=ALL-UNNAMED --add-opens=java.base/java.util.function=ALL-UNNAMED --add-opens=java.base/java.util.jar=ALL-UNNAMED --add-opens=java.base/java.util.regex=ALL-UNNAMED --add-opens=java.base/java.util.spi=ALL-UNNAMED --add-opens=java.base/java.util.stream=ALL-UNNAMED --add-opens=java.base/java.util.zip=ALL-UNNAMED --add-opens=java.datatransfer/java.awt.datatransfer=ALL-UNNAMED --add-opens=java.desktop/java.applet=ALL-UNNAMED --add-opens=java.desktop/java.awt=ALL-UNNAMED --add-opens=java.desktop/java.awt.color=ALL-UNNAMED --add-opens=java.desktop/java.awt.desktop=ALL-UNNAMED --add-opens=java.desktop/java.awt.dnd=ALL-UNNAMED --add-opens=java.desktop/java.awt.dnd.peer=ALL-UNNAMED --add-opens=java.desktop/java.awt.event=ALL-UNNAMED --add-opens=java.desktop/java.awt.font=ALL-UNNAMED --add-opens=java.desktop/java.awt.geom=ALL-UNNAMED --add-opens=java.desktop/java.awt.im=ALL-UNNAMED --add-opens=java.desktop/java.awt.im.spi=ALL-UNNAMED --add-opens=java.desktop/java.awt.image=ALL-UNNAMED --add-opens=java.desktop/java.awt.image.renderable=ALL-UNNAMED --add-opens=java.desktop/java.awt.peer=ALL-UNNAMED --add-opens=java.desktop/java.awt.print=ALL-UNNAMED --add-opens=java.desktop/java.beans=ALL-UNNAMED --add-opens=java.desktop/java.beans.beancontext=ALL-UNNAMED --add-opens=java.instrument/java.lang.instrument=ALL-UNNAMED --add-opens=java.logging/java.util.logging=ALL-UNNAMED --add-opens=java.management/java.lang.management=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-opens=java.rmi/java.rmi=ALL-UNNAMED --add-opens=java.rmi/java.rmi.activation=ALL-UNNAMED --add-opens=java.rmi/java.rmi.dgc=ALL-UNNAMED --add-opens=java.rmi/java.rmi.registry=ALL-UNNAMED --add-opens=java.rmi/java.rmi.server=ALL-UNNAMED --add-opens=java.sql/java.sql=ALL-UNNAMED"
|
|
||||||
|
|
||||||
GENERATOR="java $JAVA_OPTS -jar coredsl/com.minres.coredsl.generator.repository/target/com.minres.coredsl.generator-2.0.0-SNAPSHOT.jar "
|
|
||||||
|
|
||||||
INPUT_FILE=$1
|
|
||||||
|
|
||||||
REPO_DIR=tgfs/gen_input/CoreDSL-Instruction-Set-Description
|
|
||||||
TMPL_DIR=tgfs/gen_input/templates
|
|
||||||
CORE_NAME_LC=`echo "$CORE_NAME" | tr '[:upper:]' '[:lower:]'`
|
|
||||||
|
|
||||||
MAPPING=""
|
|
||||||
MAPPING="$MAPPING -m ${TMPL_DIR}/CORENAME.h.gtl:tgfs/incl/iss/arch/${CORE_NAME_LC}.h"
|
|
||||||
MAPPING="$MAPPING -m ${TMPL_DIR}/CORENAME.cpp.gtl:tgfs/src/iss/${CORE_NAME_LC}.cpp"
|
|
||||||
MAPPING="$MAPPING -m ${TMPL_DIR}/${BACKEND}/CORENAME.cpp.gtl:tgfs/src/vm/${BACKEND}/vm_${CORE_NAME_LC}.cpp"
|
|
||||||
MAPPING="$MAPPING -m ${TMPL_DIR}/CORENAME_instr.yaml.gtl:tgfs/${CORE_NAME_LC}_instr.yaml"
|
|
||||||
|
|
||||||
[ -f coredsl/com.minres.coredsl.generator.repository/target/com.minres.coredsl.generator-2.0.0-SNAPSHOT.jar ] || (cd coredsl; mvn package)
|
|
||||||
|
|
||||||
$GENERATOR -c $CORE_NAME -r $REPO_DIR $MAPPING $INPUT_FILE
|
|
||||||
|
|
2
scc
2
scc
@ -1 +1 @@
|
|||||||
Subproject commit 9c4dd4aacbd9bbe66041476950a17ae3b29569da
|
Subproject commit dfb06a90801b3a7e55b5d4a03d8f161a26063a1c
|
Loading…
Reference in New Issue
Block a user