... | ... | @@ -53,9 +53,9 @@ endmodule |
|
|
というように呼びだします。
|
|
|
|
|
|
あらかじめ用意された CoreMark プログラムをそのまま利用するためには、
|
|
|
ハードウェアカウンタ用アドレス(32'hffffff00)を指定して LW 命令をおこなった際に、ハードウェアカウンタの値を読みだすように実装しておく必要があります。
|
|
|
ハードウェアカウンタ用アドレス(32'hffffff00)を指定して LW 命令をおこなった際に、データメモリの値ではなく、ハードウェアカウンタの値を読みだすように実装しておく必要があります。
|
|
|
|
|
|
```verilog
|
|
|
// Memory Accessステージに下記のような記述を追加
|
|
|
assign ma_load_value = ((ma_alucode == `ALU_LW) && (ma_ldst_addr == `HARDWARE_COUNTER_ADDR)) ? hc_OUT_data :
|
|
|
assign ma_load_value = ((ma_alucode == `ALU_LW) && (ma_ldst_addr == `HARDWARE_COUNTER_ADDR)) ? hc_OUT_data : ${データメモリから読んできた値};
|
|
|
``` |
|
|
\ No newline at end of file |