FPGA開発日記

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

T-Head(Alibaba)のRISC-Vコアデザインの試行 (3. シミュレーション動作)

アリババのRISC-Vコアデザインのオープンソース化があった。中身を見てみるとビルドスクリプトにも思いっきりT-Headって書いてあるのでT-Headでいいでしょう。

一応Coremarkのコンパイルは上手く行っているみたいで、シミュレーションを流し直している。 しばらく待っていると、一応Finishの表示が確認できた。でもいろいろと結果がおかしい気がする。 Coremarkスコアは4.47らしいが、合っているのかな?

VCUNT_SIM: CoreMark has been run 2 times, one times cost 223437 cycles !

VCUNT_SIM: CoreMark 1.0 : 4.475534 (iterations/sec)/MHz
2K performance run parameters for coremark.
ERROR: ee_ptr_int is not a datatype that holds an int pointer!
ERROR: Please modify the datatypes in core_portme.h!
CoreMark Size    : 666
Total ticks      : -1
Total time (secs): 42
Iterations/Sec   : 0
Iterations       : 2
Compiler version : GCC10.0.0 20190929 (experimental)
Compiler flags   : -O
Memory location  : STACK
seedcrc          : 0xe9f5
[0]crclist       : 0xe714
[0]crcmatrix     : 0x1fd7
[0]crcstate      : 0x8e3a
[0]crcfinal      : 0x72be
Errors detected
**********************************************
*    simulation finished successfully        *
**********************************************
f:id:msyksphinz:20211024220120p:plain

波形も何も出てきていないし、命令トレースも全く出てきていないので良く分からないのだな。 次はそこら辺を表示できるように解析かな?

# 追記、どうもiverilogを使う場合はDUMPが使えない様子...?

DUMP = off

ifeq ($(DUMP), on)
SIM_DUMP :=
else
ifeq (${SIM}, iverilog)
SIM_DUMP = -DNO_DUMP
else
SIM_DUMP := +define+NO_DUMP
endif
endif