diff --git a/vendor/lowrisc_ip.vendor.hjson b/vendor/lowrisc_ip.vendor.hjson index b1e1eb27..40b34bd6 100644 --- a/vendor/lowrisc_ip.vendor.hjson +++ b/vendor/lowrisc_ip.vendor.hjson @@ -15,8 +15,9 @@ {from: "hw/dv/sv/csr_utils", to: "csr_utils"}, {from: "hw/dv/sv/dv_lib", to: "dv_lib"}, {from: "hw/dv/sv/dv_utils", to: "dv_utils"}, + {from: "hw/dv/verilator", to: "dv_verilator"}, {from: "util/dvsim", to: "dvsim"}, - {from: "util/uvmdvgen", to: "uvmdvgen"} + {from: "util/uvmdvgen", to: "uvmdvgen"}, ] } diff --git a/dv/verilator/memutil/README.md b/vendor/lowrisc_ip/dv_verilator/README.md similarity index 100% rename from dv/verilator/memutil/README.md rename to vendor/lowrisc_ip/dv_verilator/README.md diff --git a/dv/verilator/memutil/cpp/verilator_memutil.cc b/vendor/lowrisc_ip/dv_verilator/cpp/verilator_memutil.cc similarity index 98% rename from dv/verilator/memutil/cpp/verilator_memutil.cc rename to vendor/lowrisc_ip/dv_verilator/cpp/verilator_memutil.cc index ebf2d637..6a220454 100644 --- a/dv/verilator/memutil/cpp/verilator_memutil.cc +++ b/vendor/lowrisc_ip/dv_verilator/cpp/verilator_memutil.cc @@ -45,8 +45,8 @@ bool VerilatorMemUtil::RegisterMemoryArea(const std::string name, size_t width_bit) { MemArea mem = {.name = name, .location = location, .width_bit = width_bit}; - assert((width_bit == 32 || width_bit == 64) && - "TODO: Check if width other than 32 and 64 works as expected."); + assert((width_bit <= 128) && + "TODO: Memory loading only supported up to 128 bits."); auto ret = mem_register_.emplace(name, mem); if (ret.second == false) { @@ -397,9 +397,9 @@ bool VerilatorMemUtil::MemWrite(const MemArea &m, const std::string &filepath, return false; } - if ((m.width_bit % 32) != 0) { + if ((m.width_bit % 8) != 0) { std::cerr << "ERROR: width for: " << m.name - << "must be a multiple of 32 (was : " << m.width_bit << ")" + << "must be a multiple of 8 (was : " << m.width_bit << ")" << std::endl; return false; } diff --git a/dv/verilator/memutil/cpp/verilator_memutil.h b/vendor/lowrisc_ip/dv_verilator/cpp/verilator_memutil.h similarity index 95% rename from dv/verilator/memutil/cpp/verilator_memutil.h rename to vendor/lowrisc_ip/dv_verilator/cpp/verilator_memutil.h index 4e6476a9..2833c375 100644 --- a/dv/verilator/memutil/cpp/verilator_memutil.h +++ b/vendor/lowrisc_ip/dv_verilator/cpp/verilator_memutil.h @@ -2,8 +2,8 @@ // Licensed under the Apache License, Version 2.0, see LICENSE for details. // SPDX-License-Identifier: Apache-2.0 -#ifndef VERILATOR_MEMUTIL_H_ -#define VERILATOR_MEMUTIL_H_ +#ifndef OPENTITAN_HW_DV_VERILATOR_CPP_VERILATOR_MEMUTIL_H_ +#define OPENTITAN_HW_DV_VERILATOR_CPP_VERILATOR_MEMUTIL_H_ #include "sim_ctrl_extension.h" @@ -112,4 +112,4 @@ class VerilatorMemUtil : public SimCtrlExtension { bool WriteVmemToMem(const svScope &scope, const std::string &filepath); }; -#endif // VERILATOR_MEMUTIL_H_ +#endif // OPENTITAN_HW_DV_VERILATOR_CPP_VERILATOR_MEMUTIL_H_ diff --git a/dv/verilator/memutil/memutil_verilator.core b/vendor/lowrisc_ip/dv_verilator/memutil_verilator.core similarity index 100% rename from dv/verilator/memutil/memutil_verilator.core rename to vendor/lowrisc_ip/dv_verilator/memutil_verilator.core diff --git a/dv/verilator/simutil_verilator/cpp/sim_ctrl_extension.h b/vendor/lowrisc_ip/dv_verilator/simutil_verilator/cpp/sim_ctrl_extension.h similarity index 79% rename from dv/verilator/simutil_verilator/cpp/sim_ctrl_extension.h rename to vendor/lowrisc_ip/dv_verilator/simutil_verilator/cpp/sim_ctrl_extension.h index 7ff6b0ba..bfe2c25a 100644 --- a/dv/verilator/simutil_verilator/cpp/sim_ctrl_extension.h +++ b/vendor/lowrisc_ip/dv_verilator/simutil_verilator/cpp/sim_ctrl_extension.h @@ -2,8 +2,8 @@ // Licensed under the Apache License, Version 2.0, see LICENSE for details. // SPDX-License-Identifier: Apache-2.0 -#ifndef SIM_CTRL_EXTENSION_H_ -#define SIM_CTRL_EXTENSION_H_ +#ifndef OPENTITAN_HW_DV_VERILATOR_SIMUTIL_VERILATOR_CPP_SIM_CTRL_EXTENSION_H_ +#define OPENTITAN_HW_DV_VERILATOR_SIMUTIL_VERILATOR_CPP_SIM_CTRL_EXTENSION_H_ class SimCtrlExtension { public: @@ -38,4 +38,4 @@ class SimCtrlExtension { virtual void PostExec() {} }; -#endif // SIM_CTRL_EXTENSION_H_ +#endif // OPENTITAN_HW_DV_VERILATOR_SIMUTIL_VERILATOR_CPP_SIM_CTRL_EXTENSION_H_ diff --git a/dv/verilator/simutil_verilator/cpp/verilated_toplevel.cc b/vendor/lowrisc_ip/dv_verilator/simutil_verilator/cpp/verilated_toplevel.cc similarity index 100% rename from dv/verilator/simutil_verilator/cpp/verilated_toplevel.cc rename to vendor/lowrisc_ip/dv_verilator/simutil_verilator/cpp/verilated_toplevel.cc diff --git a/dv/verilator/simutil_verilator/cpp/verilated_toplevel.h b/vendor/lowrisc_ip/dv_verilator/simutil_verilator/cpp/verilated_toplevel.h similarity index 95% rename from dv/verilator/simutil_verilator/cpp/verilated_toplevel.h rename to vendor/lowrisc_ip/dv_verilator/simutil_verilator/cpp/verilated_toplevel.h index f6e64960..1d7cc7de 100644 --- a/dv/verilator/simutil_verilator/cpp/verilated_toplevel.h +++ b/vendor/lowrisc_ip/dv_verilator/simutil_verilator/cpp/verilated_toplevel.h @@ -2,8 +2,8 @@ // Licensed under the Apache License, Version 2.0, see LICENSE for details. // SPDX-License-Identifier: Apache-2.0 -#ifndef VERILATED_TOPLEVEL_H_ -#define VERILATED_TOPLEVEL_H_ +#ifndef OPENTITAN_HW_DV_VERILATOR_SIMUTIL_VERILATOR_CPP_VERILATED_TOPLEVEL_H_ +#define OPENTITAN_HW_DV_VERILATOR_SIMUTIL_VERILATOR_CPP_VERILATED_TOPLEVEL_H_ #ifndef TOPLEVEL_NAME #error "TOPLEVEL_NAME must be set to the name of the toplevel." @@ -152,4 +152,4 @@ class TOPLEVEL_NAME : public VERILATED_TOPLEVEL_NAME, public VerilatedToplevel { } }; -#endif // VERILATED_TOPLEVEL_H_ +#endif // OPENTITAN_HW_DV_VERILATOR_SIMUTIL_VERILATOR_CPP_VERILATED_TOPLEVEL_H_ diff --git a/dv/verilator/simutil_verilator/cpp/verilator_sim_ctrl.cc b/vendor/lowrisc_ip/dv_verilator/simutil_verilator/cpp/verilator_sim_ctrl.cc similarity index 98% rename from dv/verilator/simutil_verilator/cpp/verilator_sim_ctrl.cc rename to vendor/lowrisc_ip/dv_verilator/simutil_verilator/cpp/verilator_sim_ctrl.cc index 545fa4a1..158f79b7 100644 --- a/dv/verilator/simutil_verilator/cpp/verilator_sim_ctrl.cc +++ b/vendor/lowrisc_ip/dv_verilator/simutil_verilator/cpp/verilator_sim_ctrl.cc @@ -5,12 +5,11 @@ #include "verilator_sim_ctrl.h" #include +#include #include #include #include -#include - // This is defined by Verilator and passed through the command line #ifndef VM_TRACE #define VM_TRACE 0 @@ -202,9 +201,7 @@ bool VerilatorSimCtrl::ParseCommandArgs(int argc, char **argv, bool &exit_app) { } void VerilatorSimCtrl::PrintHelp() const { - std::cout << "Execute a simulation model for " << GetName() - << "\n" - "\n"; + std::cout << "Execute a simulation model for " << GetName() << "\n\n"; if (tracing_possible_) { std::cout << "-t|--trace\n" " Write a trace file from the start\n\n"; diff --git a/dv/verilator/simutil_verilator/cpp/verilator_sim_ctrl.h b/vendor/lowrisc_ip/dv_verilator/simutil_verilator/cpp/verilator_sim_ctrl.h similarity index 95% rename from dv/verilator/simutil_verilator/cpp/verilator_sim_ctrl.h rename to vendor/lowrisc_ip/dv_verilator/simutil_verilator/cpp/verilator_sim_ctrl.h index c371ee8d..c46cdeed 100644 --- a/dv/verilator/simutil_verilator/cpp/verilator_sim_ctrl.h +++ b/vendor/lowrisc_ip/dv_verilator/simutil_verilator/cpp/verilator_sim_ctrl.h @@ -2,8 +2,8 @@ // Licensed under the Apache License, Version 2.0, see LICENSE for details. // SPDX-License-Identifier: Apache-2.0 -#ifndef VERILATOR_SIM_CTRL_H_ -#define VERILATOR_SIM_CTRL_H_ +#ifndef OPENTITAN_HW_DV_VERILATOR_SIMUTIL_VERILATOR_CPP_VERILATOR_SIM_CTRL_H_ +#define OPENTITAN_HW_DV_VERILATOR_SIMUTIL_VERILATOR_CPP_VERILATOR_SIM_CTRL_H_ #include #include @@ -237,4 +237,4 @@ class VerilatorSimCtrl { void Trace(); }; -#endif // VERILATOR_SIM_CTRL_H_ +#endif // OPENTITAN_HW_DV_VERILATOR_SIMUTIL_VERILATOR_CPP_VERILATOR_SIM_CTRL_H_ diff --git a/dv/verilator/simutil_verilator/simutil_verilator.core b/vendor/lowrisc_ip/dv_verilator/simutil_verilator/simutil_verilator.core similarity index 100% rename from dv/verilator/simutil_verilator/simutil_verilator.core rename to vendor/lowrisc_ip/dv_verilator/simutil_verilator/simutil_verilator.core