FC2カウンター FPGAの部屋 2020年02月23日
FC2ブログ

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

FPGAの部屋

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

なひたふさんの「Vivadoのプロジェクトをgitで管理する最小限は何か」を参考にしてVivado のプロジェクトをTCLファイルで復元した2

なひたふさんの「Vivadoのプロジェクトをgitで管理する最小限は何か」を参考にしてVivado のプロジェクトをTCLファイルで復元した”の続き。

前回、Vivado プロジェクトを送る時に最小限のファイルで送れればとっても良い。そこで、なひたふさんの「Vivadoのプロジェクトをgitで管理する最小限は何か」を参考にして最小限のファイルでVivado プロジェクトを復元してみたのだが、手続きが多すぎた。そこで、もっと簡単にできる方法ということで、tcl ファイルを編集してみた。

これが今回、移動する Vivado 2019.2 のプロジェクトだ。
Vivado 2019.2 の sums_ex3 プロジェクトで、同じ階層に Vivado HLS 2019.2 の s_squares_axim プロジェクトがあって、s_squares_axim\solution1\impl\ip の IP をブロックデザインの IP として使用している。
Vivado_2019_2_1_200223.png

File メニューから Project -> Write Tcl... を選択した。
Vivado_2019_2_2_200223.png

Write Project to Tcl ダイアログが表示された。Copy sources to new project と Recreate Block Designs using Tcl にチェックを入れて、OK ボタンをクリックした。
Vivado_2019_2_3_200223.png

sums_ex3.tcl が出力された。書き換える行は origin_dir のある行だ。(set origin_dir ".")
150 行目と 159 行目となる。
Vivado_2019_2_4_200223.png

150 行目の set_property "ip_repo_paths"は Vivado HLS の IP へのパスなので、 "$origin_dir/s_squares_axim/solution1/impl/ip" とした。
159 行目はインポートするブロックデザインのラッパー HDL ファイルへのパスなので、"${origin_dir}/Vivado/sums_bd_wrapper.v"(Vivado フォルダの下にある)
Vivado_2019_2_5_200223.png

これで、修正は終了し、セーブした。

Vivado プロジェクトを作成するフォルダに sums_ex3.tcl をコピーした。Vivado HLS 2019.2 の s_squares_axim フォルダをコピーした。
Vivado_2019_2_6_200223.png

Vivado フォルダの下には、sums_bd_warpper.v をコピーした。
Vivado_2019_2_7_200223.png

スタートメニューから Vivado 2018.3 Tcl Shell を開く。
cd で希望のフォルダに行った。
sums_ex3.tcl を起動した。
source sums_ex3.tcl
Vivado_2019_2_8_200223.png

Vivado_2019_2_9_200223.png

sums_ex3 フォルダが生成され、フォルダの中に sums_ex3.xpr という名前の Vivado 2019.2 プロジェクト・ファイルが生成されていた。sums_ex3.xpr を Vivado 2019.2 で読み込んで、ブロックデザインを表示した。
Vivado_2019_2_11_200223.png

ビットファイルも問題なく生成できた。
Vivado_2019_2_12_200223.png
  1. 2020年02月23日 15:13 |
  2. Vivado
  3. | トラックバック:0
  4. | コメント:0

Vivado HLS 2019.2 で xfOpenCV を使用する4(sobel filter 2)(xfOpenCV を使用する時のVivado HLSの設定方法)

Vivado HLS 2019.2 で xfOpenCV を使用する3(sobel filter 1)”の続き。

前回は、xfOpenCV の xfopencv/examples/sobelfilter をやってみようと思う。ただし、この soblefilter は xf::Mat のインターフェースなので、 AXI4-Stream インターフェースに変更した。更に現状の解像度では、Ultra96 のリソースに入らないので、画像のサイズを縮小した。今回は、sobel_filter プロジェクトを使用して、 xfOpenCV を使用する時の GUI 上での Vivado HLSの設定方法を紹介する。

最初に Vivado HLS 2019.2 で sobel_filter プロジェクトを作成した。
xfOpenCV_22_200223.png

xfOpenCV 用の設定を行う。
Vivado HLS の Project メニューから Project Settings... を選択する。
xfOpenCV_23_200223.png

左のペインから Simulation を選択し、Simulation Settings の TestBench Files から xf_sobel_tb.cpp を選択する。
右の Edit CFLAGS... ボタンをクリックする。
xfOpenCV_24_200223.png

Edit CFLAG Dialog が表示される。
そこに、

-D__SDSVHLS__ -I/home/masaaki/xfopencv/include --std=c++0x

を入力した。
-I の後ろは xfOpenCV の下の include ファイルへのパスを指定する。
xfOpenCV_25_200223.png

Input Argumets に test2.jpg 入力して、OK ボタンをクリックする。(他の Synthesis とかをクリックすると OK ボタンがハイドされて押せなくなるようだ)
xfOpenCV_26_200223.png

もう一度、Vivado HLS の Project メニューから Project Settings... を選択する。
xfOpenCV_23_200223.png

左のペインから Synthesis を選択する。
xf_sobel.cpp を選択し、右の Edit CFLAGS... ボタンをクリックする。
Edit CFLAG Dialog が表示される。
そこに、

-D__SDSVHLS__ -I/home/masaaki/xfopencv/include --std=c++0x

を入力した。

次に xf_sobel_accel.cpp を選択し、右の Edit CFLAGS... ボタンをクリックする。
Edit CFLAG Dialog が表示される。
そこに、

-D__SDSVHLS__ -I/home/masaaki/xfopencv/include --std=c++0x

を入力した。

Top Function を指定する。
Browse... ボタンをクリックして、 xf_sobel を選択した。
xfOpenCV_29_200223.png

これで設定は終了だ。
  1. 2020年02月23日 05:47 |
  2. reVISION, xfOpenCV
  3. | トラックバック:0
  4. | コメント:0