FC2カウンター FPGAの部屋 2019年05月22日
FC2ブログ

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

FPGAの部屋

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

Vivado HLS で xfOpenCV を使用する3(Harris コーナー検出)

Vivado HLS で xfOpenCV を使用する2(Vivado HLS 2018.3 のGUI を使用する)”の続き。

前回は、xfopencv/HLS_Use_Model/ ディレクトリにあるもう一つのサンプル・デザインの AXI_Sample をVivado HLS GUI を起動してやってみた。今回は、examples ディレクトリの harris をVivado HLS GUI でやってみようと思う。

まずは、examples ディレクトリの harris ディレクトリを ~/xfopencv/HLS_Use_Model/examples ディレクトリの下にコピーした。
xfOpenCV_Vivado_HLS_22_190522.png

harris/data ディレクトリには、 im0.jpg がある。
xfOpenCV_Vivado_HLS_23_190522.png

さて、Vivado HLS 2018.3 で harris_project プロジェクトを作っていこう。
xfOpenCV_Vivado_HLS_24_190522.png

次に、ソースを登録する。
xf_harris_accel.cpp を CFLAG = "-D__XFCV_HLS_MODE__ -I../../../include --std=c++0x"を付けて登録した。
xfOpenCV_Vivado_HLS_25_190522.png

次にテストベンチを登録する。
xf_harris_tb.cpp を CFLAG = "-D__XFCV_HLS_MODE__ -I../../../include --std=c++0x"を付けて登録した。(ここで、im0.jpg を登録するのを忘れてしまった。。。)
xfOpenCV_Vivado_HLS_26_190522.png

Ultra96 の使用を仮定して、 xczu3eg-sbva484-1-e を選択して、Finish をクリックした。
xfOpenCV_Vivado_HLS_27_190522.png

harris_project が生成された。
xfOpenCV_Vivado_HLS_28_190522.png

ここで、テストベンチに im0.jpg が入っていないのに気がついたので、Add File... で im0.jpg を追加した。
xfOpenCV_Vivado_HLS_29_190522.png

Project メニューから Project Settings... を選択した。
Project Settings ダイアログが表示された。左のペインから Simulation を選択した。
右のペインで、Options のClear Build にチェックを入れて、Input Arguments に im0.jpg を入力した。
xfOpenCV_Vivado_HLS_30_190522.png

C シミュレーションを行った。
xfOpenCV_Vivado_HLS_31_190522.png

C シミュレーションの結果を示す。
xfOpenCV_Vivado_HLS_32_190522.png

harris/harris_project/solution1/csim/build の内容を示す。
xfOpenCV_Vivado_HLS_33_190522.png

output_hls.png を見るとコーナー検出されているのが分かる。
xfOpenCV_Vivado_HLS_34_190522.png

C コードの合成を行った。結果を示す。
xfOpenCV_Vivado_HLS_35_190522.png

Latency -> Detail -> Instance の grp_cornerHarris_fu_72 をクリックして、下の階層のレポートを見る。
Latency -> Detail -> Instance には、xFCornerHarrisDetect_1_U0, cornerHarris_Loop2_U0, cornerHarris_Loop1_U0 があった。
xfOpenCV_Vivado_HLS_36_190522.png

xFCornerHarrisDetect_1_U0 をクリックした。
Latency -> Detail -> Instance には、grp_xFCornerHarrisDetect_fu_56 があった。
xfOpenCV_Vivado_HLS_37_190522.png

grp_xFCornerHarrisDetect_fu_56 をクリックした。
今度は、Latency -> Detail -> Instance には、沢山のインスタンスがあった。もう良く分からない???
xfOpenCV_Vivado_HLS_38_190522.png

C/RTL 協調シミュレーションを行ったところ、Fail してしまった。
xfOpenCV_Vivado_HLS_39_190522.png

Export RTL を行った。ただし、Vivado synthesis, place and route にチェックを入れてある。
結果を示す。
xfOpenCV_Vivado_HLS_40_190522.png
  1. 2019年05月22日 21:05 |
  2. Vivado HLS
  3. | トラックバック:0
  4. | コメント:0

Fixstars Tech Blogの「Ultra96 Linux で MIPI カメラから画像を取得する」をやってみる4

Fixstars Tech Blogの「Ultra96 Linux で MIPI カメラから画像を取得する」をやってみる3”の続き。

前回は、Fixstars Tech Blog さんの「Ultra96 Linux で MIPI カメラから画像を取得する (セットアップ編)」の手順通りに、「5. 実機上でのカーネルドライバロードおよび初期化 S/W の実行」、「6. 実機上でのカメラ画像取得テストの実行」を行った。今回は、「7. display port 経由での外部ディスプレイ出力」をやってみよう。

まずはミニDisplayPort 変換アダプタを使用して、VGA端子でディスプレイと接続した。

Ultra96 のDebian で、
sudo apt install xserver-xorg lightdm gnome-session
を実行したがエラーになった。
Ultra96_Pcam5C_46_190521.png

そこで、
sudo apt update
sudo apt upgrade
sudo apt install xserver-xorg lightdm gnome-session

を行ったところ、成功した。
Ultra96_Pcam5C_47_190521.png

次に、ultra96_design/etc/xorg.conf をUltra96 の /etc/X11/ ディスプレイにコピーする。
sudo cp xorg.conf /etc/X11/
Ultra96_Pcam5C_48_190521.png

Ultra96 を
sudo reboot
コマンドで再起動した。

再起動後にミニDisplayPort 変換アダプタを使用して接続したディスプレイを見るとログイン画面が表示されていた。
Ultra96_Pcam5C_51_190522.jpg

ここにID: root , PASS: admin でログインできたのだが、すぐに出されてログイン画面が表示されてしまう。ログインしたままにならない。
よく分からないので、前に進めてみよう

export DISPLAY=:0.0
して、
cd test
sudo ./rgbvideo

してみたが、

Invalid MIT-MAGIC-COOKIE-1 key
(camera:4120): Gtk-WARNING **: cannot open display: :0.0

でカメラ画像を表示できなかった。

  1. 2019年05月22日 04:01 |
  2. Ultra96
  3. | トラックバック:0
  4. | コメント:0