FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

Gem5のチュートリアル "Learning Gem5"をやってみる(Part-2.5:configスクリプトをRISC-V向けに改造する)

まだ途中ではあるが、Learning Gem5で作成したconfigスクリプトRISC-V向けに改造したのでこれを動作させるテストをする。

RISC-V向けに改造といっても、CPUのタイプを変更するだけである。

msyksphinz.hatenablog.com

# configs/learning_gem5/part1/simple-riscv.py

# ... 途中省略 ...
system.mem_mode = "timing"
system.mem_ranges = [AddrRange("512MB")]
system.cpu = RiscvTimingSimpleCPU()
# ... 途中省略 ...
thispath = os.path.dirname(os.path.realpath(__file__))
binary = os.path.join(
    thispath,
    "../../../",
    "tests/test-progs/hello/src/hello.bare.riscv",
)

system.workload = SEWorkload.init_compatible(binary)

CPUのタイプと、バイナリの指定を変更して動作せせる。

$ ./build/RISCV/gem5.opt configs/learning_gem5/part1/simple-riscv.py
Beginning simulation!
build/RISCV/sim/simulate.cc:192: info: Entering event queue @ 0.  Starting simulation...
Hello world!
Exiting @ tick 171176000 because exiting with last active thread context

上手く動作したことが確認できた。


関連記事:

msyksphinz.hatenablog.com

msyksphinz.hatenablog.com

msyksphinz.hatenablog.com