mirror of
https://github.com/Minres/RISCV-VP.git
synced 2025-12-17 08:51:35 +00:00
updates submodules and applies respective fixes
This commit is contained in:
34
.vscode/launch.json
vendored
34
.vscode/launch.json
vendored
@@ -1,6 +1,14 @@
|
|||||||
{
|
{
|
||||||
"version": "0.2.0",
|
"version": "0.2.0",
|
||||||
"configurations": [
|
"configurations": [
|
||||||
|
{
|
||||||
|
"type": "gdb",
|
||||||
|
"request": "launch",
|
||||||
|
"name": "riscv-sim hello.elf",
|
||||||
|
"program": "${workspaceFolder}/build/Debug/dbt-rise-riscv/riscv-sim",
|
||||||
|
"arguments": "-f dbt-rise-riscv/contrib/fw/hello-world/hello.elf",
|
||||||
|
"cwd": "${workspaceFolder}"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "gdbtarget",
|
"type": "gdbtarget",
|
||||||
"request": "launch",
|
"request": "launch",
|
||||||
@@ -11,7 +19,16 @@
|
|||||||
},
|
},
|
||||||
"target": {
|
"target": {
|
||||||
"server": "${workspaceFolder}/build/RelWithDebInfo/src/riscv-vp",
|
"server": "${workspaceFolder}/build/RelWithDebInfo/src/riscv-vp",
|
||||||
"serverParameters": ["--isa", "rv32gc_msu", "-v", "INFO", "-f", "fw/hello-world/hello.elf", "-g", "10000"],
|
"serverParameters": [
|
||||||
|
"--isa",
|
||||||
|
"rv32gc_msu",
|
||||||
|
"-v",
|
||||||
|
"INFO",
|
||||||
|
"-f",
|
||||||
|
"fw/hello-world/hello.elf",
|
||||||
|
"-g",
|
||||||
|
"10000"
|
||||||
|
],
|
||||||
"watchServerProcess": true,
|
"watchServerProcess": true,
|
||||||
"port": "10000"
|
"port": "10000"
|
||||||
},
|
},
|
||||||
@@ -22,7 +39,10 @@
|
|||||||
"hidden": false,
|
"hidden": false,
|
||||||
"group": "FW Debug",
|
"group": "FW Debug",
|
||||||
"order": 2
|
"order": 2
|
||||||
},"initCommands": ["b main"]
|
},
|
||||||
|
"initCommands": [
|
||||||
|
"b main"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "gdbtarget",
|
"type": "gdbtarget",
|
||||||
@@ -110,11 +130,17 @@
|
|||||||
"compounds": [
|
"compounds": [
|
||||||
{
|
{
|
||||||
"name": "FW-Debug 32bit",
|
"name": "FW-Debug 32bit",
|
||||||
"configurations": ["32bit VP with gdbserver", "Attach GDB to VP"]
|
"configurations": [
|
||||||
|
"32bit VP with gdbserver",
|
||||||
|
"Attach GDB to VP"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "FW-Debug 64bit",
|
"name": "FW-Debug 64bit",
|
||||||
"configurations": ["64bit VP with gdbserver", "Attach GDB to VP"]
|
"configurations": [
|
||||||
|
"64bit VP with gdbserver",
|
||||||
|
"Attach GDB to VP"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
Submodule dbt-rise-core updated: 83eb45bb3e...022150a0d6
Submodule dbt-rise-riscv updated: 8a884edb80...5c7bd9e773
2
scc
2
scc
Submodule scc updated: 323dcb3bf3...f626f0259f
@@ -40,11 +40,9 @@ CLIParser::CLIParser(int argc, char* argv[])
|
|||||||
}
|
}
|
||||||
auto log_level = vm_["verbose"].as<scc::log>();
|
auto log_level = vm_["verbose"].as<scc::log>();
|
||||||
auto log_level_num = static_cast<unsigned>(log_level);
|
auto log_level_num = static_cast<unsigned>(log_level);
|
||||||
LOGGER(DEFAULT)::reporting_level() = logging::as_log_level(log_level_num > 6 ? 6 : log_level_num);
|
LOGGER(DEFAULT)::set_reporting_level(logging::as_log_level(log_level_num > 6 ? 6 : log_level_num));
|
||||||
LOGGER(connection)::reporting_level() =
|
LOGGER(connection)::set_reporting_level(logging::as_log_level(log_level_num > 4 ? log_level_num - 1 : log_level_num));
|
||||||
logging::as_log_level(log_level_num > 4 ? log_level_num - 1 : log_level_num);
|
LOGGER(dbt_rise_iss)::set_reporting_level(logging::as_log_level(log_level_num > 4 ? log_level_num - 1 : log_level_num));
|
||||||
LOGGER(dbt_rise_iss)::reporting_level() =
|
|
||||||
logging::as_log_level(log_level_num > 4 ? log_level_num - 1 : log_level_num);
|
|
||||||
///////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////
|
||||||
// configure logging
|
// configure logging
|
||||||
///////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////
|
||||||
@@ -57,8 +55,8 @@ CLIParser::CLIParser(int argc, char* argv[])
|
|||||||
scc::stream_redirection cerr_redir(std::cerr, scc::log::ERROR);
|
scc::stream_redirection cerr_redir(std::cerr, scc::log::ERROR);
|
||||||
sc_core::sc_report_handler::set_actions("/IEEE_Std_1666/deprecated", sc_core::SC_DO_NOTHING);
|
sc_core::sc_report_handler::set_actions("/IEEE_Std_1666/deprecated", sc_core::SC_DO_NOTHING);
|
||||||
sc_core::sc_report_handler::set_actions(sc_core::SC_ID_MORE_THAN_ONE_SIGNAL_DRIVER_, sc_core::SC_DO_NOTHING);
|
sc_core::sc_report_handler::set_actions(sc_core::SC_ID_MORE_THAN_ONE_SIGNAL_DRIVER_, sc_core::SC_DO_NOTHING);
|
||||||
sc_core::sc_report_handler::set_actions(sc_core::SC_ERROR, sc_core::SC_LOG | sc_core::SC_CACHE_REPORT |
|
sc_core::sc_report_handler::set_actions(sc_core::SC_ERROR,
|
||||||
sc_core::SC_DISPLAY | sc_core::SC_STOP);
|
sc_core::SC_LOG | sc_core::SC_CACHE_REPORT | sc_core::SC_DISPLAY | sc_core::SC_STOP);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CLIParser::build() {
|
void CLIParser::build() {
|
||||||
|
|||||||
@@ -72,9 +72,8 @@ int sc_main(int argc, char* argv[]) {
|
|||||||
std::unique_ptr<scc::configurable_tracer> tracer;
|
std::unique_ptr<scc::configurable_tracer> tracer;
|
||||||
if(auto trace_level = parser.get<unsigned>("trace-level")) {
|
if(auto trace_level = parser.get<unsigned>("trace-level")) {
|
||||||
auto file_name = parser.get<std::string>("trace-file");
|
auto file_name = parser.get<std::string>("trace-file");
|
||||||
auto enable_sig_trace = (trace_level & 0x1) != 0; // bit0 enables sig trace
|
auto enable_sig_trace = (trace_level & 0x1) != 0; // bit0 enables sig trace
|
||||||
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");
|
||||||
if(parser.is_set("trace-default-off"))
|
if(parser.is_set("trace-default-off"))
|
||||||
cfg.set_value("scc_tracer.default_trace_enable", false);
|
cfg.set_value("scc_tracer.default_trace_enable", false);
|
||||||
@@ -102,8 +101,7 @@ int sc_main(int argc, char* argv[]) {
|
|||||||
cfg.configure();
|
cfg.configure();
|
||||||
std::unique_ptr<scc::hierarchy_dumper> dumper;
|
std::unique_ptr<scc::hierarchy_dumper> dumper;
|
||||||
if(parser.is_set("dump-structure"))
|
if(parser.is_set("dump-structure"))
|
||||||
dumper.reset(
|
dumper.reset(new scc::hierarchy_dumper(parser.get<std::string>("dump-structure"), scc::hierarchy_dumper::D3JSON));
|
||||||
new scc::hierarchy_dumper(parser.get<std::string>("dump-structure"), scc::hierarchy_dumper::D3JSON));
|
|
||||||
///////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////
|
||||||
// overwrite config with command line settings
|
// overwrite config with command line settings
|
||||||
///////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////
|
||||||
@@ -121,13 +119,11 @@ int sc_main(int argc, char* argv[]) {
|
|||||||
tlm::tlm_global_quantum::instance().set(sc_core::sc_time(parser.get<unsigned>("quantum"), sc_core::SC_NS));
|
tlm::tlm_global_quantum::instance().set(sc_core::sc_time(parser.get<unsigned>("quantum"), sc_core::SC_NS));
|
||||||
if(parser.is_set("reset")) {
|
if(parser.is_set("reset")) {
|
||||||
auto str = parser.get<std::string>("reset");
|
auto str = parser.get<std::string>("reset");
|
||||||
uint64_t start_address =
|
uint64_t start_address = str.find("0x") == 0 ? std::stoull(str.substr(2), nullptr, 16) : std::stoull(str, nullptr, 10);
|
||||||
str.find("0x") == 0 ? std::stoull(str.substr(2), nullptr, 16) : std::stoull(str, nullptr, 10);
|
|
||||||
cfg.set_value(core_path + ".reset_address", start_address);
|
cfg.set_value(core_path + ".reset_address", start_address);
|
||||||
}
|
}
|
||||||
if(parser.is_set("disass")) {
|
if(parser.is_set("disass")) {
|
||||||
cfg.set_value(core_path + ".enable_disass", true);
|
cfg.set_value(core_path + ".enable_disass", true);
|
||||||
LOGGER(disass)::reporting_level() = logging::INFO;
|
|
||||||
auto file_name = parser.get<std::string>("disass");
|
auto file_name = parser.get<std::string>("disass");
|
||||||
if(file_name.length() > 0) {
|
if(file_name.length() > 0) {
|
||||||
LOG_OUTPUT(disass)::stream() = fopen(file_name.c_str(), "w");
|
LOG_OUTPUT(disass)::stream() = fopen(file_name.c_str(), "w");
|
||||||
|
|||||||
Reference in New Issue
Block a user