... | ... | @@ -17,10 +17,20 @@ $ make |
|
|
```
|
|
|
とすると、 prog.hex と data.hex が生成されます。 $readmemh を使って前者を ROM に、後者を RAM に読み込むことで、 Coremark を実行することができます。
|
|
|
|
|
|
なお、デフォルトでは100 MHz動作のプロセッサ向けのコードが生成されています。動作周波数を変更した場合には、 b3exp/benchmarks/Coremark_for_Synthesis/Makefile 内の8行目、
|
|
|
|
|
|
```bash
|
|
|
CLOCKS_PER_SEC = 100000000
|
|
|
```
|
|
|
|
|
|
を自分が変更した値へと書き換えてから make コマンドでプログラムを生成してください。
|
|
|
|
|
|
|
|
|
Coremark の実行をすべてシミュレーションで確認するのは時間がかかるので、 10,000 us 程度まで確認して問題がなければ実機での動作確認へと移りましょう。
|
|
|
|
|
|
実機への書き込み方法は他のプログラムと同様です。
|
|
|
|
|
|
|
|
|
## GTKTERM のインストール
|
|
|
|
|
|
Coremark の実行結果を確認するためにシリアル通信確認用のソフトウェアのインストールが必要です。以下のコマンドでインストールが可能です。
|
... | ... | @@ -56,14 +66,6 @@ Iterations/Sec が Coremark スコアの値です。また、これを動作周 |
|
|
|
|
|
[公式サイト](https://www.eembc.org/coremark/scores.php)に様々な商用プロセッサの Coremark スコアが掲載されているので、今回作った CPU の値と比較してみましょう。
|
|
|
|
|
|
なお、デフォルトでは100 MHz動作のプロセッサ向けのコードが生成されています。動作周波数を変更した場合には、 b3exp/benchmarks/Coremark_for_Synthesis/Makefile 内の8行目、
|
|
|
|
|
|
```bash
|
|
|
CLOCKS_PER_SEC = 100000000
|
|
|
```
|
|
|
|
|
|
を自分が変更した値へと書き換えてから make コマンドでプログラムを生成してください。
|
|
|
|
|
|
|
|
|
## デバッグ
|
|
|
|
... | ... | @@ -75,4 +77,4 @@ CLOCKS_PER_SEC = 100000000 |
|
|
デバッグに役立ててください。
|
|
|
`$display`と`(vim)diff/cut`などを組み合わせて使えばデバグが捗るかもしれません。
|
|
|
|
|
|
なお、このトレースと比較する際は、 b3exp/benchmarks/Coremark を利用してシミュレーションしてください。b3exp/benchmarks/Coremark_for_Synthesis とは内容が異なります。 |
|
|
\ No newline at end of file |
|
|
なお、このトレースと比較する際は、 b3exp/benchmarks/Coremark 内で `make` コマンドを打つことにより生成される.hexファイルを利用してシミュレーションしてください。b3exp/benchmarks/Coremark_for_Synthesis 内のプログラムとは内容が異なります。 |
|
|
\ No newline at end of file |