updates dbt-rise-tgc to feature/updated_implementation

This commit is contained in:
2025-07-14 22:24:41 +02:00
parent 64d746bf90
commit 66c3d84926
17 changed files with 108 additions and 90 deletions

View File

@@ -12,7 +12,7 @@
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactName="${ProjName}" buildProperties="" description="" id="cdt.managedbuild.toolchain.gnu.base.1730410661" name="Debug" optionalBuildProperties="org.eclipse.cdt.docker.launcher.containerbuild.property.selectedvolumes=,org.eclipse.cdt.docker.launcher.containerbuild.property.volumes=" parent="org.eclipse.cdt.build.core.emptycfg">
<configuration artifactName="${ProjName}" buildProperties="" description="" id="cdt.managedbuild.toolchain.gnu.base.1730410661" name="Debug" optionalBuildProperties="org.eclipse.cdt.docker.launcher.containerbuild.property.volumes=,org.eclipse.cdt.docker.launcher.containerbuild.property.selectedvolumes=" parent="org.eclipse.cdt.build.core.emptycfg">
<folderInfo id="cdt.managedbuild.toolchain.gnu.base.1730410661.218663890" name="/" resourcePath="">
<toolChain id="cdt.managedbuild.toolchain.gnu.base.953157788" 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.1034252621" name="Debug Platform" osList="linux,hpux,aix,qnx" superClass="cdt.managedbuild.target.gnu.platform.base"/>

View File

@@ -22,7 +22,7 @@
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="build/${config_name:RISCV-VP}/src/riscv-vp"/>
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="RISCV-VP"/>
<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="true"/>
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value="cdt.managedbuild.toolchain.gnu.base.1730410661.719145049"/>
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value=""/>
<booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/RISCV-VP"/>

View File

@@ -12,16 +12,16 @@
<stringAttribute key="org.eclipse.cdt.dsf.gdb.TRACEPOINT_MODE" value="TP_NORMAL_ONLY"/>
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.UPDATE_THREADLIST_ON_SUSPEND" value="false"/>
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.internal.ui.launching.LocalApplicationCDebuggerTab.DEFAULTS_SET" value="true"/>
<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="0"/>
<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="1"/>
<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_ID" value="gdb"/>
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_START_MODE" value="run"/>
<booleanAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN" value="false"/>
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN_SYMBOL" value="sc_main"/>
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_ARGUMENTS" value="-f build/riscvfw-src/benchmarks/dhrystone/dhrystone.elf&#10;--backend=interp&#10;--quantum 10000"/>
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_ARGUMENTS" value="-f build/riscvfw-src/benchmarks/dhrystone/dhrystone.elf&#10;--backend=interp&#10;--quantum 100000"/>
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="build/${config_name:RISCV-VP}/src/riscv-vp"/>
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="RISCV-VP"/>
<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="true"/>
<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="false"/>
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value=""/>
<booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
@@ -31,5 +31,19 @@
<listEntry value="4"/>
</listAttribute>
<stringAttribute key="org.eclipse.dsf.launch.MEMORY_BLOCKS" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&lt;memoryBlockExpressionList context=&quot;reserved-for-future-use&quot;/&gt;"/>
<booleanAttribute key="org.eclipse.linuxtools.internal.perf.attr.DefaultEvent" value="true"/>
<booleanAttribute key="org.eclipse.linuxtools.internal.perf.attr.HideUnresolvedSymbols" value="true"/>
<stringAttribute key="org.eclipse.linuxtools.internal.perf.attr.Kernel.Location" value=""/>
<booleanAttribute key="org.eclipse.linuxtools.internal.perf.attr.Kernel.SourceLineNumbers" value="false"/>
<booleanAttribute key="org.eclipse.linuxtools.internal.perf.attr.ModuleSymbols" value="false"/>
<booleanAttribute key="org.eclipse.linuxtools.internal.perf.attr.MultipleEvents" value="false"/>
<booleanAttribute key="org.eclipse.linuxtools.internal.perf.attr.Record.Realtime" value="false"/>
<intAttribute key="org.eclipse.linuxtools.internal.perf.attr.Record.Realtime.Priority" value="1"/>
<booleanAttribute key="org.eclipse.linuxtools.internal.perf.attr.Record.Verbose" value="false"/>
<booleanAttribute key="org.eclipse.linuxtools.internal.perf.attr.ShowSourceDisassembly" value="false"/>
<booleanAttribute key="org.eclipse.linuxtools.internal.perf.attr.ShowStat" value="false"/>
<booleanAttribute key="org.eclipse.linuxtools.internal.perf.attr.SourceLineNumbers" value="true"/>
<intAttribute key="org.eclipse.linuxtools.internal.perf.attr.StatRunCount" value="1"/>
<stringAttribute key="process_factory_id" value="org.eclipse.cdt.dsf.gdb.GdbProcessFactory"/>
<stringAttribute key="provider" value="org.eclipse.linuxtools.perf.provider"/>
</launchConfiguration>

6
.vscode/launch.json vendored
View File

@@ -40,10 +40,8 @@
"request": "launch",
"name": "VP-Debug",
"cwd": "${workspaceRoot}",
"valuesFormatting": "parseText",
"target": "./build/src/tgc-vp",
"printCalls": false,
"arguments": "-f fw/hello-world/hello"
"program": "${workspaceFolder}/out/build/Debug/src/riscv-vp",
"arguments": "--isa ? -f fw/hello-world/hello"
},
],
"compounds": [

View File

@@ -24,12 +24,14 @@ if(ENABLE_SANITIZER)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=address")
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fsanitize=address")
endif()
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pg")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pg")
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
add_compile_options(/vmg /wd26812) # suppress Warnung C26812: "enum class" gegenüber "enum" (Enum.3) bevorzugen
endif()
find_package(elfio)
find_package(Boost REQUIRED COMPONENTS program_options QUIET)
find_package(Boost REQUIRED COMPONENTS program_options date_time QUIET)
include(SystemCPackage)
if(ENABLE_COVERAGE)
@@ -57,6 +59,7 @@ endif ()
set(USE_SC_SIGNAL4IRQ ON)
set(CLANG_FORMAT_EXCLUDE_PATTERNS /build/ /scc/ /dbt-rise-core/ /dbt-rise-riscv/)
set(USE_SC_SIGNAL4IRQ ON)
add_subdirectory(scc)
add_subdirectory(dbt-rise-core)
add_subdirectory(dbt-rise-riscv)
@@ -87,6 +90,6 @@ if(FW_BUILD)
if(NOT riscvfw_POPULATED)
FetchContent_Populate(riscvfw)
endif()
set(BOARD ehrenberg)
set(BOARD moonlight)
add_subdirectory(${riscvfw_SOURCE_DIR})
endif()

View File

@@ -15,7 +15,8 @@
"CMAKE_POLICY_DEFAULT_CMP0091": "NEW",
"CMAKE_BUILD_TYPE": "Debug",
"CMAKE_CXX_STANDARD": "17",
"CMAKE_PROJECT_TOP_LEVEL_INCLUDES":"dbt-rise-riscv/cmake-conan/conan_provider.cmake"
"CMAKE_PROJECT_TOP_LEVEL_INCLUDES":"scc/cmake/conan_provider.cmake",
"CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
}
},
{
@@ -24,7 +25,7 @@
"CMAKE_POLICY_DEFAULT_CMP0091": "NEW",
"CMAKE_BUILD_TYPE": "RelWithDebInfo",
"CMAKE_CXX_STANDARD": "17",
"CMAKE_PROJECT_TOP_LEVEL_INCLUDES":"dbt-rise-riscv/cmake-conan/conan_provider.cmake"
"CMAKE_PROJECT_TOP_LEVEL_INCLUDES":"scc/cmake/conan_provider.cmake"
}
},
{
@@ -33,7 +34,7 @@
"CMAKE_POLICY_DEFAULT_CMP0091": "NEW",
"CMAKE_BUILD_TYPE": "Release",
"CMAKE_CXX_STANDARD": "17",
"CMAKE_PROJECT_TOP_LEVEL_INCLUDES":"dbt-rise-riscv/cmake-conan/conan_provider.cmake"
"CMAKE_PROJECT_TOP_LEVEL_INCLUDES":"scc/cmake/conan_provider.cmake"
}
}
]

60
conanfile.py Normal file
View File

@@ -0,0 +1,60 @@
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"
}
def requirements(self):
self.requires("systemc/3.0.1")
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("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)

View File

@@ -1,48 +0,0 @@
[requires]
yaml-cpp/0.8.0
jsoncpp/1.9.5
boost/1.85.0
asmjit/cci.20240531
elfio/3.12
fmt/8.0.1
spdlog/1.9.2
gsl-lite/0.41.0
lz4/1.9.3
zlib/1.2.13
seasocks/1.4.6
systemc/2.3.4
[options]
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
fmt/*:header_only=True
libiconv/*:shared=False
asmjit/*:shared=False
systemc/*:shared=True
systemc/*:disable_virtual_bind=False
[generators]
CMakeDeps
CMakeToolchain
[layout]
cmake_layout

2
scc

Submodule scc updated: 8c981376f2...8e6b9d87cd

View File

@@ -76,10 +76,11 @@ int sc_main(int argc, char* argv[]) {
auto tx_trace_type =
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");
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::SC_VCD));
tracer =
scc::make_unique<scc::configurable_tracer>(file_name, tx_trace_type, enable_sig_trace, trace_default_on);
if(parser.is_set("trace-default-off"))
cfg.set_value("scc_tracer.default_trace_enable", false);
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));
tracer = scc::make_unique<scc::configurable_tracer>(file_name, tx_trace_type, enable_sig_trace);
}
///////////////////////////////////////////////////////////////////////////
// instantiate top level

View File

@@ -77,10 +77,7 @@ system::system(sc_core::sc_module_name nm)
timer0.clear_i(t0_clear_i);
timer0.tick_i(t0_tick_i);
qspi.ssclk_o(ssclk_o);
qspi.dq_o(dq_o);
qspi.dq_i(dq_i);
qspi.oe_o(dq_oe_o);
qspi.spi_i(mspi0);
SC_METHOD(gen_reset);
sensitive << erst_n;

View File

@@ -9,9 +9,7 @@
#include "minres/irq.h"
#include "minres/timer.h"
#include <array>
#include <cci_configuration>
#include <memory>
#include <minres/aclint.h>
#include <minres/gpio.h>
#include <minres/qspi.h>
@@ -40,10 +38,7 @@ public:
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_tick_i{"t0_tick_i", vpvper::minres::timer::TICK_CNT - 1};
sc_core::sc_out<bool> ssclk_o{"ssclk_o"};
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};
spi::spi_pkt_initiator_socket<> mspi0{"mspi0"};
sc_core::sc_in<sc_core::sc_time> clk_i{"clk_i"};

View File

@@ -21,10 +21,8 @@ tb::tb(const sc_core::sc_module_name& nm)
top.uart0_tx_o(uart0_tx_o);
top.t0_clear_i(t0_clear_i);
top.t0_tick_i(t0_tick_i);
top.ssclk_o(ssclk_o);
top.dq_o(dq_o);
top.dq_i(dq_i);
top.dq_oe_o(dq_oe_o);
top.mspi0(spi());
spi(0)(qspi_mem.spi_t);
top.clk_i(clk_i);
clk_i = 10_ns;
}

View File

@@ -7,11 +7,12 @@
#ifndef SRC_VP_TB_H_
#define SRC_VP_TB_H_
#include <generic/spi_mem.h>
#include <generic/terminal.h>
#include <systemc>
#include "../vp/rst_gen.h"
#include "../vp/system.h"
#include "rst_gen.h"
#include "system.h"
namespace tgc_vp {
class tb : public sc_core::sc_module {
@@ -27,10 +28,8 @@ public:
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_tick_i{"t0_tick_i", vpvper::minres::timer::TICK_CNT - 1};
sc_core::sc_signal<bool> ssclk_o{"ssclk_o"};
sc_core::sc_vector<sc_core::sc_signal<bool>> dq_o{"dq_o", 4};
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};
spi::spi_channel spi{"spi", 1};
vpvper::generic::spi_mem qspi_mem{"qspi_mem"};
sc_core::sc_signal<sc_core::sc_time> clk_i{"clk_i"};
};

2
vpvper

Submodule vpvper updated: cf7e348f62...77b5ffa40d