アリババの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 * **********************************************
波形も何も出てきていないし、命令トレースも全く出てきていないので良く分からないのだな。 次はそこら辺を表示できるように解析かな?
# 追記、どうも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