Compare commits
	
		
			3 Commits
		
	
	
		
			871f346870
			...
			develop
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 3dfe84edf5 | |||
| 715b8349d6 | |||
| 3688bbd170 | 
							
								
								
									
										4
									
								
								.envrc
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								.envrc
									
									
									
									
									
								
							@@ -6,6 +6,8 @@ if [ $distro == "CentOS" ]; then
 | 
				
			|||||||
elif [ $distro == "Rocky" ]; then
 | 
					elif [ $distro == "Rocky" ]; then
 | 
				
			||||||
    . /opt/rh/gcc-toolset-11/enable
 | 
					    . /opt/rh/gcc-toolset-11/enable
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
module load ./Modulefile
 | 
					if has module; then
 | 
				
			||||||
 | 
					    module load ./Modulefile
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
layout python3
 | 
					layout python3
 | 
				
			||||||
[ -f .envrc.$USER ] && . .envrc.$USER
 | 
					[ -f .envrc.$USER ] && . .envrc.$USER
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										10
									
								
								.vscode/extensions.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								.vscode/extensions.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,10 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					    "recommendations": [
 | 
				
			||||||
 | 
					        "ms-vscode.cpptools-extension-pack",
 | 
				
			||||||
 | 
					        "llvm-vs-code-extensions.vscode-clangd",
 | 
				
			||||||
 | 
					        "eclipse-cdt.cdt-gdb-vscode",
 | 
				
			||||||
 | 
					        "eclipse-cdt.memory-inspector",
 | 
				
			||||||
 | 
					        "eclipse-cdt.peripheral-inspector",
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										28
									
								
								.vscode/launch.json
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										28
									
								
								.vscode/launch.json
									
									
									
									
										vendored
									
									
								
							@@ -5,16 +5,18 @@
 | 
				
			|||||||
    "version": "0.2.0",
 | 
					    "version": "0.2.0",
 | 
				
			||||||
    "configurations": [
 | 
					    "configurations": [
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            "type": "gdb",
 | 
					            "type": "gdbtarget",
 | 
				
			||||||
            "request": "attach",
 | 
					            "request": "attach",
 | 
				
			||||||
            "name": "Attach-to-gdbserver",
 | 
					            "name": "Attach-to-gdbserver",
 | 
				
			||||||
            "executable": "./fw/hello-world/hello",
 | 
					            "program": "fw/hello-world/prebuilt/hello.elf",
 | 
				
			||||||
            "target": ":10000",
 | 
					            "imageAndSymbols": {
 | 
				
			||||||
            "remote": true,
 | 
					                "symbolFileName": "fw/hello-world/prebuilt/hello.elf"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            "target": {
 | 
				
			||||||
 | 
					                "port": "10000"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
            "cwd": "${workspaceRoot}",
 | 
					            "cwd": "${workspaceRoot}",
 | 
				
			||||||
            "valuesFormatting": "prettyPrinters",
 | 
					            "gdb": "riscv64-unknown-elf-gdb",
 | 
				
			||||||
            "gdbpath": "/opt/riscv/bin/riscv32-unknown-elf-gdb",
 | 
					 | 
				
			||||||
            "debugger_args": [],
 | 
					 | 
				
			||||||
            "presentation": {
 | 
					            "presentation": {
 | 
				
			||||||
                "hidden": true,
 | 
					                "hidden": true,
 | 
				
			||||||
                "group": "FW Debug",
 | 
					                "group": "FW Debug",
 | 
				
			||||||
@@ -26,9 +28,8 @@
 | 
				
			|||||||
            "request": "launch",
 | 
					            "request": "launch",
 | 
				
			||||||
            "name": "Launch-VP-with-gdbserver",
 | 
					            "name": "Launch-VP-with-gdbserver",
 | 
				
			||||||
            "cwd": "${workspaceRoot}",
 | 
					            "cwd": "${workspaceRoot}",
 | 
				
			||||||
            "valuesFormatting": "parseText",
 | 
					            "program": "${workspaceFolder}/build/Debug/src/tgc-vp",
 | 
				
			||||||
            "target": "./build/src/tgc-vp",
 | 
					            "arguments": "-f fw/hello-world/prebuilt/hello.elf -g 10000",
 | 
				
			||||||
            "arguments": "-f fw/hello-world/hello -g 10000",
 | 
					 | 
				
			||||||
            "presentation": {
 | 
					            "presentation": {
 | 
				
			||||||
                "hidden": true,
 | 
					                "hidden": true,
 | 
				
			||||||
                "group": "FW Debug",
 | 
					                "group": "FW Debug",
 | 
				
			||||||
@@ -40,10 +41,9 @@
 | 
				
			|||||||
            "request": "launch",
 | 
					            "request": "launch",
 | 
				
			||||||
            "name": "VP-Debug",
 | 
					            "name": "VP-Debug",
 | 
				
			||||||
            "cwd": "${workspaceRoot}",
 | 
					            "cwd": "${workspaceRoot}",
 | 
				
			||||||
            "valuesFormatting": "parseText",
 | 
					            "program": "${workspaceFolder}/build/Debug/src/tgc-vp",
 | 
				
			||||||
            "target": "./build/src/tgc-vp",
 | 
					            "arguments": "-f fw/hello-world/prebuilt/hello.elf",
 | 
				
			||||||
            "printCalls": false,
 | 
					            "openGdbConsole": true
 | 
				
			||||||
            "arguments": "-f fw/hello-world/hello"
 | 
					 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "compounds": [
 | 
					    "compounds": [
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										17
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										17
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
								
							@@ -2,5 +2,20 @@
 | 
				
			|||||||
    "files.associations": {
 | 
					    "files.associations": {
 | 
				
			||||||
        "platform.h": "c"
 | 
					        "platform.h": "c"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "debug.allowBreakpointsEverywhere": true
 | 
					    "debug.allowBreakpointsEverywhere": true,
 | 
				
			||||||
 | 
					    "chat.sendElementsToChat.attachCSS": false,
 | 
				
			||||||
 | 
					    "chat.sendElementsToChat.attachImages": false,
 | 
				
			||||||
 | 
					    "chat.sendElementsToChat.enabled": false,
 | 
				
			||||||
 | 
					    "editor.rulers": [
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            "column": 140,
 | 
				
			||||||
 | 
					            "comment": "clang-format"
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    ],
 | 
				
			||||||
 | 
					    "clangd.arguments": [
 | 
				
			||||||
 | 
					        "--pretty",
 | 
				
			||||||
 | 
					        "--background-index",
 | 
				
			||||||
 | 
					        "--compile-commands-dir=${workspaceFolder}/build"
 | 
				
			||||||
 | 
					    ],
 | 
				
			||||||
 | 
					    "cmake.copyCompileCommands": "${workspaceFolder}/build/compile_commands.json"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -16,7 +16,6 @@ option(WITH_LLVM "Build LLVM backend" OFF)
 | 
				
			|||||||
option(WITH_ASMJIT "Build ASMJIT backend" ON)
 | 
					option(WITH_ASMJIT "Build ASMJIT backend" ON)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
set(SCC_LIB_ONLY ON)
 | 
					set(SCC_LIB_ONLY ON)
 | 
				
			||||||
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)
 | 
				
			||||||
@@ -34,103 +33,10 @@ if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
 | 
				
			|||||||
    add_compile_options(/vmg /wd26812) # suppress Warnung C26812: "enum class" gegenüber "enum" (Enum.3) bevorzugen
 | 
					    add_compile_options(/vmg /wd26812) # suppress Warnung C26812: "enum class" gegenüber "enum" (Enum.3) bevorzugen
 | 
				
			||||||
endif()
 | 
					endif()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
include(ConanInline)
 | 
					 | 
				
			||||||
if(BUILD_SHARED_LIBS)
 | 
					 | 
				
			||||||
	set(SHARED_FLAG "True")
 | 
					 | 
				
			||||||
else()
 | 
					 | 
				
			||||||
	set(SHARED_FLAG "False")
 | 
					 | 
				
			||||||
endif()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
set(CONAN_BOOST_OPTIONS
 | 
					 | 
				
			||||||
boost:fPIC=True
 | 
					 | 
				
			||||||
boost:shared=${SHARED_FLAG}
 | 
					 | 
				
			||||||
boost:header_only=False 
 | 
					 | 
				
			||||||
boost:without_contract=True
 | 
					 | 
				
			||||||
boost:without_fiber=True
 | 
					 | 
				
			||||||
boost:without_graph=True
 | 
					 | 
				
			||||||
boost:without_graph_parallel=True
 | 
					 | 
				
			||||||
boost:without_iostreams=True
 | 
					 | 
				
			||||||
boost:without_json=True
 | 
					 | 
				
			||||||
boost:without_locale=True
 | 
					 | 
				
			||||||
boost:without_log=True
 | 
					 | 
				
			||||||
boost:without_math=True
 | 
					 | 
				
			||||||
boost:without_mpi=True
 | 
					 | 
				
			||||||
boost:without_nowide=True
 | 
					 | 
				
			||||||
boost:without_python=True
 | 
					 | 
				
			||||||
boost:without_random=True
 | 
					 | 
				
			||||||
boost:without_regex=True
 | 
					 | 
				
			||||||
boost:without_stacktrace=True
 | 
					 | 
				
			||||||
boost:without_test=True
 | 
					 | 
				
			||||||
boost:without_timer=True
 | 
					 | 
				
			||||||
boost:without_type_erasure=True
 | 
					 | 
				
			||||||
boost:without_wave=True
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
set(CONAN_PACKAGE_LIST 
 | 
					 | 
				
			||||||
	fmt/8.0.1
 | 
					 | 
				
			||||||
	spdlog/1.9.2
 | 
					 | 
				
			||||||
	boost/1.75.0
 | 
					 | 
				
			||||||
	gsl-lite/0.37.0
 | 
					 | 
				
			||||||
	elfio/3.8
 | 
					 | 
				
			||||||
	lz4/1.9.3 
 | 
					 | 
				
			||||||
	yaml-cpp/0.7.0 
 | 
					 | 
				
			||||||
	jsoncpp/1.9.5
 | 
					 | 
				
			||||||
	zlib/1.2.13
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
set(CONAN_PACKAGE_OPTIONS fmt:header_only=True ${CONAN_BOOST_OPTIONS})
 | 
					 | 
				
			||||||
if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux" AND WITH_TCC)
 | 
					 | 
				
			||||||
    list(APPEND CONAN_PACKAGE_LIST seasocks/1.4.4)
 | 
					 | 
				
			||||||
	list(APPEND CONAN_PACKAGE_OPTIONS lua:compile_as_cpp=False )
 | 
					 | 
				
			||||||
endif()
 | 
					 | 
				
			||||||
if(WITH_LLVM)
 | 
					 | 
				
			||||||
    list(APPEND CONAN_PACKAGE_LIST llvm-core/13.0.0)
 | 
					 | 
				
			||||||
	list(APPEND CONAN_PACKAGE_OPTIONS libiconv:shared=False)
 | 
					 | 
				
			||||||
endif()
 | 
					 | 
				
			||||||
if(WITH_ASMJIT)
 | 
					 | 
				
			||||||
    list(APPEND CONAN_PACKAGE_LIST asmjit/cci.20240531)
 | 
					 | 
				
			||||||
    list(APPEND CONAN_PACKAGE_OPTIONS asmjit:shared=False)
 | 
					 | 
				
			||||||
endif()
 | 
					 | 
				
			||||||
if(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/tgc-iss/dbt-rise-plugins)
 | 
					 | 
				
			||||||
     list(APPEND CONAN_PACKAGE_OPTIONS lua:compile_as_cpp=False)
 | 
					 | 
				
			||||||
     list(APPEND CONAN_PACKAGE_LIST 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.4) 
 | 
					 | 
				
			||||||
	set(CONAN_PACKAGE_OPTIONS ${CONAN_PACKAGE_OPTIONS}
 | 
					 | 
				
			||||||
	    systemc:shared=${SHARED_FLAG}
 | 
					 | 
				
			||||||
	    systemc:disable_virtual_bind=False)
 | 
					 | 
				
			||||||
endif()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
conan_check()
 | 
					 | 
				
			||||||
#conan_add_remote(NAME minres URL https://git.minres.com/api/packages/Tooling/conan)
 | 
					 | 
				
			||||||
# 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
 | 
					 | 
				
			||||||
execute_process(COMMAND bash -c "conan search -r all b2 | tail -1" OUTPUT_VARIABLE B2_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
 | 
					 | 
				
			||||||
set(B2_META $ENV{HOME}/.conan/data/${B2_VERSION}/_/_/metadata.json)
 | 
					 | 
				
			||||||
if(DEFINED ENV{CONAN_USER_HOME})
 | 
					 | 
				
			||||||
	set(B2_META $ENV{CONAN_USER_HOME}/.conan/data/${B2_VERSION}/_/_/metadata.json)
 | 
					 | 
				
			||||||
endif()
 | 
					 | 
				
			||||||
if(NOT EXISTS ${B2_META})
 | 
					 | 
				
			||||||
	conan_configure(REQUIRES ${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
 | 
					 | 
				
			||||||
                      OPTIONS ${CONAN_PACKAGE_OPTIONS}
 | 
					 | 
				
			||||||
                      )
 | 
					 | 
				
			||||||
conan_cmake_autodetect(settings)
 | 
					 | 
				
			||||||
conan_install()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
set(CONAN_CMAKE_SILENT_OUTPUT ON)               
 | 
					 | 
				
			||||||
find_package(tcc QUIET)
 | 
					find_package(tcc QUIET)
 | 
				
			||||||
find_package(elfio)
 | 
					find_package(elfio)
 | 
				
			||||||
find_package(fmt)
 | 
					find_package(fmt)
 | 
				
			||||||
find_package(spdlog)
 | 
					find_package(spdlog)
 | 
				
			||||||
find_package(gsl-lite)
 | 
					 | 
				
			||||||
find_package(yaml-cpp)
 | 
					find_package(yaml-cpp)
 | 
				
			||||||
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.
 | 
				
			||||||
find_package(Boost REQUIRED COMPONENTS program_options QUIET)
 | 
					find_package(Boost REQUIRED COMPONENTS program_options QUIET)
 | 
				
			||||||
@@ -142,7 +48,7 @@ find_package(ClangFormat)
 | 
				
			|||||||
if(ENABLE_COVERAGE)
 | 
					if(ENABLE_COVERAGE)
 | 
				
			||||||
    include(CodeCoverage)
 | 
					    include(CodeCoverage)
 | 
				
			||||||
    append_coverage_compiler_flags()
 | 
					    append_coverage_compiler_flags()
 | 
				
			||||||
    set(COVERAGE_EXCLUDES "${tgfs_verif_SOURCE_DIR}/scc/*" "${tgfs_verif_SOURCE_DIR}/build/*" "$ENV{HOME}/.conan/*" "/opt/*")
 | 
					    set(COVERAGE_EXCLUDES "${tgfs_verif_SOURCE_DIR}/scc/*" "${tgfs_verif_SOURCE_DIR}/build/*" "$ENV{HOME}/.conan2/*" "/opt/*")
 | 
				
			||||||
endif()
 | 
					endif()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if(ENABLE_CLANGTIDY)
 | 
					if(ENABLE_CLANGTIDY)
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										63
									
								
								conanfile.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								conanfile.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,63 @@
 | 
				
			|||||||
 | 
					import os
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					from conan import ConanFile
 | 
				
			||||||
 | 
					from conan.tools.cmake import cmake_layout
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class Pkg(ConanFile):
 | 
				
			||||||
 | 
					    settings = "os", "compiler", "build_type", "arch"
 | 
				
			||||||
 | 
					    generators = (
 | 
				
			||||||
 | 
					        "CMakeDeps",
 | 
				
			||||||
 | 
					        "CMakeToolchain",
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
 | 
					    default_options = {
 | 
				
			||||||
 | 
					        "llvm-core/*:targets": "X86",
 | 
				
			||||||
 | 
					        "boost/*:fPIC": "True",
 | 
				
			||||||
 | 
					        "boost/*:header_only": "False",
 | 
				
			||||||
 | 
					        "boost/*:without_contract": "True",
 | 
				
			||||||
 | 
					        "boost/*:without_fiber": "True",
 | 
				
			||||||
 | 
					        "boost/*:without_graph": "True",
 | 
				
			||||||
 | 
					        "boost/*:without_graph_parallel": "True",
 | 
				
			||||||
 | 
					        "boost/*:without_iostreams": "True",
 | 
				
			||||||
 | 
					        "boost/*:without_json": "True",
 | 
				
			||||||
 | 
					        "boost/*:without_locale": "True",
 | 
				
			||||||
 | 
					        "boost/*:without_log": "True",
 | 
				
			||||||
 | 
					        "boost/*:without_math": "True",
 | 
				
			||||||
 | 
					        "boost/*:without_mpi": "True",
 | 
				
			||||||
 | 
					        "boost/*:without_nowide": "True",
 | 
				
			||||||
 | 
					        "boost/*:without_python": "True",
 | 
				
			||||||
 | 
					        "boost/*:without_random": "True",
 | 
				
			||||||
 | 
					        "boost/*:without_regex": "True",
 | 
				
			||||||
 | 
					        "boost/*:without_stacktrace": "True",
 | 
				
			||||||
 | 
					        "boost/*:without_test": "True",
 | 
				
			||||||
 | 
					        "boost/*:without_timer": "True",
 | 
				
			||||||
 | 
					        "boost/*:without_type_erasure": "True",
 | 
				
			||||||
 | 
					        "boost/*:without_wave": "True",
 | 
				
			||||||
 | 
					        "systemc/*:shared": "True",
 | 
				
			||||||
 | 
					        "lua/*:compile_as_cpp": "False",
 | 
				
			||||||
 | 
					        "asmjit/*:shared": "False"
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def requirements(self):
 | 
				
			||||||
 | 
					        self.requires("systemc/2.3.4")
 | 
				
			||||||
 | 
					        self.requires("fmt/8.0.1")
 | 
				
			||||||
 | 
					        self.requires("spdlog/1.9.2")
 | 
				
			||||||
 | 
					        self.requires("boost/1.85.0")
 | 
				
			||||||
 | 
					        self.requires("abseil/20250127.0")
 | 
				
			||||||
 | 
					        self.requires("elfio/3.12")
 | 
				
			||||||
 | 
					        self.requires("lz4/1.9.3")
 | 
				
			||||||
 | 
					        self.requires("yaml-cpp/0.8.0")
 | 
				
			||||||
 | 
					        self.requires("jsoncpp/1.9.5")
 | 
				
			||||||
 | 
					        self.requires("zlib/1.2.12")
 | 
				
			||||||
 | 
					        self.requires("seasocks/1.4.4")
 | 
				
			||||||
 | 
					        self.requires("asmjit/cci.20240531")
 | 
				
			||||||
 | 
					        if "WITH_LLVM" in os.environ:
 | 
				
			||||||
 | 
					            self.requires("llvm-core/19.1.7")
 | 
				
			||||||
 | 
					        if os.path.isdir("dbt-rise-plugins"):
 | 
				
			||||||
 | 
					            self.requires("lua/5.4.3")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def build_requirements(self):
 | 
				
			||||||
 | 
					        pass
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def layout(self):
 | 
				
			||||||
 | 
					        cmake_layout(self)
 | 
				
			||||||
@@ -1 +1,3 @@
 | 
				
			|||||||
conan==1.59
 | 
					conan
 | 
				
			||||||
 | 
					cmake
 | 
				
			||||||
 | 
					clang-format
 | 
				
			||||||
							
								
								
									
										2
									
								
								scc
									
									
									
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								scc
									
									
									
									
									
								
							 Submodule scc updated: 916923b51e...374d481d71
									
								
							@@ -21,7 +21,6 @@
 | 
				
			|||||||
#include <boost/program_options.hpp>
 | 
					#include <boost/program_options.hpp>
 | 
				
			||||||
#include <fstream>
 | 
					#include <fstream>
 | 
				
			||||||
#include <iostream>
 | 
					#include <iostream>
 | 
				
			||||||
#include <sstream>
 | 
					 | 
				
			||||||
#include <tgc_vp/tb.h>
 | 
					#include <tgc_vp/tb.h>
 | 
				
			||||||
#ifdef ERROR
 | 
					#ifdef ERROR
 | 
				
			||||||
#undef ERROR
 | 
					#undef ERROR
 | 
				
			||||||
@@ -31,7 +30,6 @@ const std::string core_path{"tb.top.core_complex"};
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
using namespace sysc;
 | 
					using namespace sysc;
 | 
				
			||||||
using namespace sc_core;
 | 
					using namespace sc_core;
 | 
				
			||||||
namespace po = boost::program_options;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace {
 | 
					namespace {
 | 
				
			||||||
const size_t ERRORR_IN_COMMAND_LINE = 1;
 | 
					const size_t ERRORR_IN_COMMAND_LINE = 1;
 | 
				
			||||||
@@ -76,10 +74,9 @@ int sc_main(int argc, char* argv[]) {
 | 
				
			|||||||
        auto tx_trace_type =
 | 
					        auto tx_trace_type =
 | 
				
			||||||
            static_cast<scc::tracer::file_type>(trace_level >> 1); // bit3-bit1 define the kind of transaction trace
 | 
					            static_cast<scc::tracer::file_type>(trace_level >> 1); // bit3-bit1 define the kind of transaction trace
 | 
				
			||||||
        auto trace_default_on = parser.is_set("trace-default-on");
 | 
					        auto trace_default_on = parser.is_set("trace-default-on");
 | 
				
			||||||
        cfg.set_value("$$$scc_tracer$$$.tx_trace_type", static_cast<unsigned>(scc::tracer::file_type::FTR));
 | 
					        cfg.set_value("scc_tracer.tx_trace_type", static_cast<unsigned>(scc::tracer::file_type::FTR));
 | 
				
			||||||
        cfg.set_value("$$$scc_tracer$$$.sig_trace_type", static_cast<unsigned>(scc::tracer::file_type::FST));
 | 
					        cfg.set_value("scc_tracer.sig_trace_type", static_cast<unsigned>(scc::tracer::file_type::FST));
 | 
				
			||||||
        tracer =
 | 
					        tracer = scc::make_unique<scc::configurable_tracer>(file_name, tx_trace_type, enable_sig_trace);
 | 
				
			||||||
            scc::make_unique<scc::configurable_tracer>(file_name, tx_trace_type, enable_sig_trace, trace_default_on);
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    ///////////////////////////////////////////////////////////////////////////
 | 
					    ///////////////////////////////////////////////////////////////////////////
 | 
				
			||||||
    // instantiate top level
 | 
					    // instantiate top level
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -78,10 +78,7 @@ system::system(sc_core::sc_module_name nm)
 | 
				
			|||||||
    timer0.clear_i(t0_clear_i);
 | 
					    timer0.clear_i(t0_clear_i);
 | 
				
			||||||
    timer0.tick_i(t0_tick_i);
 | 
					    timer0.tick_i(t0_tick_i);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    qspi.ssclk_o(ssclk_o);
 | 
					    qspi.spi_i(mspi0);
 | 
				
			||||||
    qspi.dq_o(dq_o);
 | 
					 | 
				
			||||||
    qspi.dq_i(dq_i);
 | 
					 | 
				
			||||||
    qspi.oe_o(dq_oe_o);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    SC_METHOD(gen_reset);
 | 
					    SC_METHOD(gen_reset);
 | 
				
			||||||
    sensitive << erst_n;
 | 
					    sensitive << erst_n;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -40,10 +40,7 @@ public:
 | 
				
			|||||||
    sc_core::sc_in<bool> uart0_rx_i{"uart0_rx_i"};
 | 
					    sc_core::sc_in<bool> uart0_rx_i{"uart0_rx_i"};
 | 
				
			||||||
    sc_core::sc_vector<sc_core::sc_in<bool>> t0_clear_i{"t0_clear_i", vpvper::minres::timer::CLEAR_CNT};
 | 
					    sc_core::sc_vector<sc_core::sc_in<bool>> t0_clear_i{"t0_clear_i", vpvper::minres::timer::CLEAR_CNT};
 | 
				
			||||||
    sc_core::sc_vector<sc_core::sc_in<bool>> t0_tick_i{"t0_tick_i", vpvper::minres::timer::TICK_CNT - 1};
 | 
					    sc_core::sc_vector<sc_core::sc_in<bool>> t0_tick_i{"t0_tick_i", vpvper::minres::timer::TICK_CNT - 1};
 | 
				
			||||||
    sc_core::sc_out<bool> ssclk_o{"ssclk_o"};
 | 
					    spi::spi_pkt_initiator_socket<> mspi0{"mspi0"};
 | 
				
			||||||
    sc_core::sc_vector<sc_core::sc_out<bool>> dq_o{"dq_o", 4};
 | 
					 | 
				
			||||||
    sc_core::sc_vector<sc_core::sc_out<bool>> dq_oe_o{"dq_oe_o", 4};
 | 
					 | 
				
			||||||
    sc_core::sc_vector<sc_core::sc_in<bool>> dq_i{"dq_i", 4};
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    sc_core::sc_in<sc_core::sc_time> clk_i{"clk_i"};
 | 
					    sc_core::sc_in<sc_core::sc_time> clk_i{"clk_i"};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -61,8 +58,8 @@ private:
 | 
				
			|||||||
    vpvper::minres::irq_tl irq_ctrl{"irq_ctrl"};
 | 
					    vpvper::minres::irq_tl irq_ctrl{"irq_ctrl"};
 | 
				
			||||||
    vpvper::minres::qspi_tl qspi{"qspi"};
 | 
					    vpvper::minres::qspi_tl qspi{"qspi"};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    scc::memory<1_kB, scc::LT> boot_rom{"boot_rom"};
 | 
					    scc::memory_tl<1_kB, scc::LT> boot_rom{"boot_rom"};
 | 
				
			||||||
    scc::memory<32_kB, scc::LT> main_ram{"main_ram"};
 | 
					    scc::memory_tl<32_kB, scc::LT> main_ram{"main_ram"};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    sc_core::sc_signal<bool, sc_core::SC_MANY_WRITERS> rst_s{"rst_s"}, mtime_int_s{"mtime_int_s"},
 | 
					    sc_core::sc_signal<bool, sc_core::SC_MANY_WRITERS> rst_s{"rst_s"}, mtime_int_s{"mtime_int_s"},
 | 
				
			||||||
        msip_int_s{"msip_int_s"};
 | 
					        msip_int_s{"msip_int_s"};
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,6 +11,7 @@ namespace tgc_vp {
 | 
				
			|||||||
SC_HAS_PROCESS(tb);
 | 
					SC_HAS_PROCESS(tb);
 | 
				
			||||||
tb::tb(const sc_core::sc_module_name& nm)
 | 
					tb::tb(const sc_core::sc_module_name& nm)
 | 
				
			||||||
: sc_core::sc_module(nm) {
 | 
					: sc_core::sc_module(nm) {
 | 
				
			||||||
 | 
					    top.clk_i(clk_i);
 | 
				
			||||||
    top.erst_n(rst_n);
 | 
					    top.erst_n(rst_n);
 | 
				
			||||||
    rst_gen.rst_n(rst_n);
 | 
					    rst_gen.rst_n(rst_n);
 | 
				
			||||||
    top.pins_o(pins_o);
 | 
					    top.pins_o(pins_o);
 | 
				
			||||||
@@ -20,11 +21,9 @@ tb::tb(const sc_core::sc_module_name& nm)
 | 
				
			|||||||
    top.uart0_tx_o(uart0_tx_o);
 | 
					    top.uart0_tx_o(uart0_tx_o);
 | 
				
			||||||
    top.t0_clear_i(t0_clear_i);
 | 
					    top.t0_clear_i(t0_clear_i);
 | 
				
			||||||
    top.t0_tick_i(t0_tick_i);
 | 
					    top.t0_tick_i(t0_tick_i);
 | 
				
			||||||
    top.ssclk_o(ssclk_o);
 | 
					    top.mspi0(spi());
 | 
				
			||||||
    top.dq_o(dq_o);
 | 
					    spi(0)(qspi_mem.spi_t);
 | 
				
			||||||
    top.dq_i(dq_i);
 | 
					
 | 
				
			||||||
    top.dq_oe_o(dq_oe_o);
 | 
					 | 
				
			||||||
    top.clk_i(clk_i);
 | 
					 | 
				
			||||||
    clk_i = 10_ns;
 | 
					    clk_i = 10_ns;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
} // namespace tgc_vp
 | 
					} // namespace tgc_vp
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,6 +12,8 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#include "tgc_vp/rst_gen.h"
 | 
					#include "tgc_vp/rst_gen.h"
 | 
				
			||||||
#include "tgc_vp/system.h"
 | 
					#include "tgc_vp/system.h"
 | 
				
			||||||
 | 
					#include <generic/spi_mem.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace tgc_vp {
 | 
					namespace tgc_vp {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class tb : public sc_core::sc_module {
 | 
					class tb : public sc_core::sc_module {
 | 
				
			||||||
@@ -19,6 +21,7 @@ public:
 | 
				
			|||||||
    tb(sc_core::sc_module_name const& nm);
 | 
					    tb(sc_core::sc_module_name const& nm);
 | 
				
			||||||
    tgc_vp::system top{"top"};
 | 
					    tgc_vp::system top{"top"};
 | 
				
			||||||
    tgc_vp::rst_gen rst_gen{"rst_gen"};
 | 
					    tgc_vp::rst_gen rst_gen{"rst_gen"};
 | 
				
			||||||
 | 
					    sc_core::sc_signal<sc_core::sc_time> clk_i{"clk_i"};
 | 
				
			||||||
    sc_core::sc_signal<bool> rst_n{"rst_n"};
 | 
					    sc_core::sc_signal<bool> rst_n{"rst_n"};
 | 
				
			||||||
    sc_core::sc_vector<sc_core::sc_signal<bool>> pins_o{"pins_o", 32};
 | 
					    sc_core::sc_vector<sc_core::sc_signal<bool>> pins_o{"pins_o", 32};
 | 
				
			||||||
    sc_core::sc_vector<sc_core::sc_signal<bool>> pins_oe_o{"pins_oe_o", 32};
 | 
					    sc_core::sc_vector<sc_core::sc_signal<bool>> pins_oe_o{"pins_oe_o", 32};
 | 
				
			||||||
@@ -27,11 +30,8 @@ public:
 | 
				
			|||||||
    sc_core::sc_signal<bool> uart0_rx_i{"uart0_rx_i"};
 | 
					    sc_core::sc_signal<bool> uart0_rx_i{"uart0_rx_i"};
 | 
				
			||||||
    sc_core::sc_vector<sc_core::sc_signal<bool>> t0_clear_i{"t0_clear_i", vpvper::minres::timer::CLEAR_CNT};
 | 
					    sc_core::sc_vector<sc_core::sc_signal<bool>> t0_clear_i{"t0_clear_i", vpvper::minres::timer::CLEAR_CNT};
 | 
				
			||||||
    sc_core::sc_vector<sc_core::sc_signal<bool>> t0_tick_i{"t0_tick_i", vpvper::minres::timer::TICK_CNT - 1};
 | 
					    sc_core::sc_vector<sc_core::sc_signal<bool>> t0_tick_i{"t0_tick_i", vpvper::minres::timer::TICK_CNT - 1};
 | 
				
			||||||
    sc_core::sc_signal<bool> ssclk_o{"ssclk_o"};
 | 
					    spi::spi_channel spi{"spi", 1};
 | 
				
			||||||
    sc_core::sc_vector<sc_core::sc_signal<bool>> dq_o{"dq_o", 4};
 | 
					    vpvper::generic::spi_mem qspi_mem{"qspi_mem"};
 | 
				
			||||||
    sc_core::sc_vector<sc_core::sc_signal<bool>> dq_oe_o{"dq_oe_o", 4};
 | 
					 | 
				
			||||||
    sc_core::sc_vector<sc_core::sc_signal<bool>> dq_i{"dq_i", 4};
 | 
					 | 
				
			||||||
    sc_core::sc_signal<sc_core::sc_time> clk_i{"clk_i"};
 | 
					 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} /* namespace tgc_vp */
 | 
					} /* namespace tgc_vp */
 | 
				
			||||||
 
 | 
				
			|||||||
 Submodule tgc-iss/dbt-rise-core updated: 7c446a3dc6...b0fd6762be
									
								
							 Submodule tgc-iss/dbt-rise-tgc updated: 21e1f791ad...6f08f4010c
									
								
							
							
								
								
									
										2
									
								
								vpvper
									
									
									
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								vpvper
									
									
									
									
									
								
							 Submodule vpvper updated: 99f8c5dd4a...77b5ffa40d
									
								
							
		Reference in New Issue
	
	Block a user