FC2カウンター FPGAの部屋 SDSoC 2015.2 のチュートリアル2(システム最適化)をやってみた1

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

FPGAの部屋

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

SDSoC 2015.2 のチュートリアル2(システム最適化)をやってみた1

SDSoC 環境ユーザー ガイド 入門 UG1028 (v2015.2) 2015 年 7 月 20 日”の 28 ページの”第3章 チュートリアル : システム最適化”をやってみた。

途中までは前回やった手順と全く一緒なので、前回の記事を途中まで貼り付ける。

最初に SDSoC 2015.2 を立ち上げるとワークスペースを聞いてくる。D:\SDSoC\Examples\tut2 フォルダを作製して初めてワークスペースに指定した。
SDSoC_39_150730.png

SDSoC 2015.2 が立ち上がった。
Create SDSoC Project をクリックした。
SDSoC_2_150726.png

New Project ダイアログが表示された。
Project name をlabn に指定した。
Platform をクリックすると、使用できるボードがプルダウンメニューで表示された。microzed や zc702, zc706, zed, zybo などが使用できるようだ。
SDSoC_3_150726.png

OSはデフォルトでLinux が選択されているので、そのままとして、Next >ボタンをクリックした。
SDSoC_4_150726.png

Templates ダイアログで、Available Templates に Matrix Multiplication and Addition が見つからない。
もしかして、ZYBO には無いのでは?という疑惑から、< Back ボタンをクリックして前の画面に戻した。
SDSoC_5_150726.png

Plaform をクリックして zc702 に変更し、Next >ボタンをクリックした。
SDSoC_6_150726.png

Templates ダイアログで、Available Templates に Matrix Multiplication and Addition が見つかった。やはり ZYBO には無かったようだ。 Finish をクリックした。
SDSoC_7_150726.png

labn プロジェクトが作成され、src フォルダの下には、C++ ソースファイルも生成されていた。また、SDSoC Project Overview が表示されている。
SDSoC_8_150726.png

Build アイコンのプルダウンメニューから SDRelease を選択する。
SDSoC_9_150726.png

するとビルドが始まる。
SDSoC_10_150726.png

ビルド終了。 labn プロジェクトにBinaries フォルダができて、その下に labn.elf が3つ入った。更にSDRelease フォルダもできて、その下にも labn.elf と labn.elf.bit ができた。
SDSoC_11_150726.png

labn/project.sdsoc で、Hardware Function の+記号(Add Hardware Function)をクリックする。
SDSoC_12_150727.png

Select function for hardware acceleration ダイアログが立ち上がった。

madd() と mmult() を選択し、OKボタンをクリックする。
SDSoC_13_150727.png

madd() と mmult() が Hardware Functions に入った。
SDSoC_14_150727.png

labn タブの Options の Gnerate Bit Stream と Gnerate SD card Image のチェックを外す。
SDSoC_38_150730.png

左端の Project Explorer タブで、labn を右クリックし、右クリックメニューから Build Project を選択して、ビルドを行う
SDSoC_15_150727.png

ビルドが始まった。
SDSoC_16_150727.png

左端の Project Explorer タブで、labn -> SDRelease -> reports -> data_motion.html をダブルクリックして開いた。
SDSoC_18_150728.png

左端の Project Explorer タブで、labn -> src -> mmult.h を開いて、void mmult() の直前に

#pragma SDS data sys_port(in_A:ACP, in_B:AFI)

を追加する。

セーブを行った。
SDSoC_40_150730.png

左端の Project Explorer タブで、labn を右クリックし、右クリックメニューから Clean Project を選択し、プロジェクトをクリーンにする。

左端の Project Explorer タブで、labn を右クリックし、右クリックメニューから Build Project を選択して、ビルドを行う
SDSoC_41_150730.png

左端の Project Explorer タブで、labn -> SDRelease -> reports -> data_motion.html をダブルクリックして開いた。

mmult_0 の in_A のPragmas に ・ sys_prot:ACP が mmult_0 の in_B のPragmas に ・ sys_prot:AFI が追加された。
SDSoC_42_150730.png
  1. 2015年07月30日 04:39 |
  2. SDSoC
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

トラックバック URL
http://marsee101.blog19.fc2.com/tb.php/3215-5c1feba1
この記事にトラックバックする(FC2ブログユーザー)