diff --git a/.project b/.project index b4531d1..1467752 100644 --- a/.project +++ b/.project @@ -5,6 +5,11 @@ + + org.python.pydev.PyDevBuilder + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder clean,full,incremental, @@ -24,5 +29,6 @@ org.eclipse.cdt.managedbuilder.core.managedBuildNature org.eclipse.cdt.managedbuilder.core.ScannerConfigNature org.eclipse.linuxtools.tmf.project.nature + org.python.pydev.pythonNature diff --git a/.pydevproject b/.pydevproject new file mode 100644 index 0000000..d001f0a --- /dev/null +++ b/.pydevproject @@ -0,0 +1,5 @@ + + +Default +python interpreter + diff --git a/RiscV_VP.py b/RiscV_VP.py new file mode 100644 index 0000000..30ef434 --- /dev/null +++ b/RiscV_VP.py @@ -0,0 +1,48 @@ +import os.path +import logging +import cppyy +from cppyy import gbl as cpp +from array import array +import pysysc +from pysysc.structural import Connection, Module, Signal, Simulation + +############################################################################### +# setup and load +############################################################################### +logging.basicConfig(level=logging.INFO) +build_type='Debug' +############################################################################### +myDir = os.path.dirname( os.path.realpath(__file__)) +pysysc.read_config_from_conan(os.path.join(myDir, 'conanfile.txt'), build_type) +pysysc.load_systemc() +############################################################################### +logging.debug("Loading Components lib") +pysysc.add_include_path(os.path.join(myDir, 'scc/incl')) +pysysc.add_include_path(os.path.join(myDir, 'dbt-core/incl')) +pysysc.add_include_path(os.path.join(myDir, 'riscv/incl')) +pysysc.add_include_path(os.path.join(myDir, 'platform/incl')) +pysysc.add_library('sysc/top/system.h', os.path.join(myDir, 'build/%s/lib/libplatform.so'%build_type)) +cppyy.include("iss/llvm/jit_helper.h") +cppyy.include("scc/configurer.h") +cppyy.include("sysc/top/system.h") +############################################################################### +# configure +############################################################################### +Simulation.setup(logging.root.level) +cpp.iss.init_jit(); +cfg=cpp.scc.configurer("system.json"); +############################################################################### +# instantiate +############################################################################### +dut = Module(cpp.sysc.system).create("i_system") +cfg.set_value("i_system.i_hifive1.i_fe310.i_core_complex.elf_file", "../RISCV-Tests/hello/hello"); +of=cpp.std.ofstream("hier.txt") +cfg.dump_configuration(of); +of.close() +############################################################################### +# run if it is standalone +############################################################################### +if __name__ == "__main__": + Simulation.configure(enable_vcd=False) + Simulation.run() + logging.debug("Done")