FC2カウンター FPGAの部屋 intel HLS コンパイラを試してみる9(examples\tutorials\interfaces\mm_master_testbench_operators)
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

intel HLS コンパイラを試してみる9(examples\tutorials\interfaces\mm_master_testbench_operators)

今回は、F:\intelFPGA_lite\17.1\hls\examples\tutorials\interfaces\mm_master_testbench_operators を試してみることにした。まだ、Avalon MM インターフェースはやっていないので、やってみることにした。

Avalon MM インターフェースについては、”Avalon® Interface Specifications MNL-AVABUSREF 2017.05.08”を参照のこと。

build.bat を書き換えた。

set "DEVICE=Arria10"

から

set "DEVICE=CycloneV"

に書き換えた。
次に、i++ のオプション -ghdl を追加した。こうするとシミュレーション結果の波形 vsim.wlf が出力される。
Intel_HLS_78_171118.png

ハードウェア化するソースコードは、F:\intelFPGA_lite\17.1\hls\examples\tutorials\interfaces\mm_master_testbench_operators\operators.cpp から引用する。

component void add_x(mm_src_t &src, mm_dst_t &dst, unsigned int x) {
*dst = *src + x;
}


src と dst はAvalon MM インターフェースになっていて、x は最初は 0x10 が入っている。

build default コマンドを実行した。
Intel_HLS_79_171118.png

operators.prj フォルダができた。
Intel_HLS_84_171118.png

その中はお馴染みのcomponents、quartus、reports、verification フォルダができていた。

F:\intelFPGA_lite\17.1\hls\examples\tutorials\interfaces\mm_master_testbench_operators\operators.prj\verification フォルダのvsim.wlf ファイルをModelSim で開いた。
Intel_HLS_80_171118.png

Avalon MM インターフェースのRead は rw_address で指定したアドレスが rw_read が 1 の時に有効になるようだ。それが上の図のピンクの四角で囲った領域だ。
Intel_HLS_81_171118.png

Read データが来るのは、その後で、 rw_readdatavalid が 1 になったときのようだ。 1 になったときにrw_readdata にデータが出力されている。
Intel_HLS_82_171118.png

Avalon MM インターフェースのWrite は rw_address にアドレスを出力して、rw_write を 1 にすると同時に、rw_writedata にデータを与えれば良いようだ。
Intel_HLS_83_171118.png

Read データと Write を見比べてみると、Read データに0x10 を加算した値が Write データになっているのが分かる。
  1. 2017年11月18日 05:48 |
  2. intel HLS
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
https://marsee101.blog.fc2.com/tb.php/3977-b147c7fa
この記事にトラックバックする(FC2ブログユーザー)