うーん、modelsimのところは調べないといけないようなので
簡単なところからやってみよう
make test-fpga
で、compileした結果、quartusのモジュールが出来ていた
examples/counter/test-fpga.prj/quartus/
このモジュールをコンパイルしてみる
おお、コンパイルは出来たようだ
このモジュールはトップに来ているので以下の様に書き換えます
正確にはトップモジュールを追加します
module top_modmodule top_mod(
input baseclk_50,
input g_reset_n
);
reg [15:0]reg_count;always @ ( posedge baseclk_50 )
begin reg_count <= reg_count + 1;
end
quartus_compile obj_main( .resetn(reg_count[15]), .clock(baseclk_50), .count_start(reg_count[15] & reg_count[14]),.count_busy(),
.count_done(),
.count_stall(reg_count[15] & reg_count[14] & reg_count[13]),
.count_returndata() );
endmodule
こうする事で、reset、start、stallを別々のタイミングで入れてみます(実は役割が良く分かってない)
このモジュールをベースにコンパイルして
シグナルタップで信号を見たら
ちゃんとカウントアップさせることは出来た
しかも、C++言語からコンパイルしたのに、カウントの隙間がちゃんと埋まっています(処理をキューにためてパイプライン処理が出来るらしい)
と言う事で、C++言語からコンパイルしてHDLが動作する事までは
確認できました
でもやっぱりシミュレーションができないと、開発とは言わないので
makeのエラーを解析していこうと言うのが次の課題