FPGAの部屋

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

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。ご利用ください。 http://marsee101.web.fc2.com/index.html

Vivado 2019.1 が出たので、WebPACK Edition を Ubuntu 18.04 の /tools ディレクトリにインストールした。

まずはWeb インストーラー(Xilinx_Vivado_SDK_Web_2019.1_0524_1430_Lin64.bin)をXilinx 社のダウンロードサイトよりダウンロードした。

Xilinx_Vivado_SDK_Web_2019.1_0524_1430_Lin64.bin の実行パーミッションが有効になっていないので、有効にした。
chmod +x Xilinx_Vivado_SDK_Web_2019.1_0524_1430_Lin64.bin

Linux 用Web インストーラーを起動してインストールを行った。(WebPACK Edition、/tools/Xilinx ディレクトリへのインストール)
sudo ./Xilinx_Vivado_SDK_Web_2019.1_0524_1430_Lin64.bin

自分のホームディレクトリの .Xilinx ディレクトリがスーパーユーザ権限になっているので、グループとオーナーを自分に変更した。
sudo chown -R masaaki:masaaki .Xilinx/
70842888.png


ケーブル・ドライバをインストールする。
cd /tools/Xilinx/Vivado/2019.1/data/xicom/cable_drivers/lin64/install_script/install_drivers
sudo ./install_drivers

7e40df9f.png

60b8b4fe.png


.bashrc の書き換えなどは、”Ubuntu16.04にVivado 2016.4をインストール”を参照ください。

環境設定を行って、Vivado 2019.1 を起動した。
source /tools/Xilinx/Vivado/2019.1/settings64.sh
vivado &

a478dfc4.png


Vivado 2019.1 が起動した。(ここからは、ツイッターであすてりず無さんのツィートを見たので、やってみた)
適当にプロジェクトを作成する過程でDefault Part のダイアログが出ている時を示す。
ca49edac.png


ここで、Default Part のダイアログの Update Board Repositories ボタンをクリックする。
5234cd8d.png


Download Latest Board ダイアログが表示された。Download ボタンをクリックする。
vivado2019_1_install_7_190530.png

Download Boards ダイアログが表示された。
9ff45dd6.png


すると、いろいろなボード・ファイルがインストールされて、Vendor を digileninc.com にすると、Zybo Z7-20 なども選択できるようになった。
316c31c6.png


Vendor を em.avnet.com にするとUltra96 も選択できるがVer.1 だけでVer. 2 が無いのかも?
a5b367af.png


なお、Vivado 2019.1 の Tools メニューから Download Latest Board... を選んでも同様にボード・ファイルをインストールすることができる。

あすてりず無さんのツィートによると、
Xilinx/XilinxBoardStore
のボード・ファイルがインストールされるようだ。

MIPIボード用PMOD拡張ボードをテストする3(I2C、SPI のテスト方法)”の続き。

MIPIボード用PMOD 拡張ボードのI2C 入出力をテストするために秋月電子に注文しておいた部品が届いた。
BME280使用 温湿度・気圧センサモジュールキット
ブレッドボード EIC-801
ブレッドボード・ジャンパーワイヤ(オス-オス)セット 各種 合計60本以上
絶縁ラジアルリード型積層セラミックコンデンサー0.1μF50V2.54mm(10個入)
e50c88d5.jpg


なお、コンデンサはパスコンです。

BME280使用 温湿度・気圧センサモジュールキットをTCA9548A の 0 番ポートの I2C0 や I2C1 に接続して温度が計測できるかどうか?をテストしてみよう。
ソフトウェアは、GitHub のultra96_design/src/linux/caminit/src/ov5640.cc::init_ov5640() を参考にすれば書けそうだ。

Vivado HLS で xfOpenCV を使用する3(Harris コーナー検出)”の続き。

前回は、examples ディレクトリの harris をVivado HLS GUI でやってみた。今回は、StereoBM をVivado HLS GUI でやってみたい。

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


stereolbm/data ディレクトリには、left.png と right.png があった。
15c6684b.png


Vivado HLS 2018.3 で stereolbm_project プロジェクトを作っていこう。
cb9dc551.png


ソースを登録する。
xf_stereoBM_accel.cpp を CFLAG = "-D__XFCV_HLS_MODE__ -I../../../include --std=c++0x"を付けて登録した。
8c9564d0.png


次にテストベンチを登録する。
xf_stereoBM_tb.cpp を CFLAG = "-D__XFCV_HLS_MODE__ -I../../../include --std=c++0x"を付けて登録した。
left.png と right.png を追加した。
752b4483.png


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


stereolbm_project が生成された。
bdc9c98f.png


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


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


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


stereolbm/stereolbm_project/solution1/csim/build の内容を示す。
hls_out.jpg がステレオカメラの深度情報になっているようだ。
337b0060.png


left.png を引用する。
a68e7522.jpg


right.png と合わせて深度を測定した結果の hls_out.jpg を示す。奥のほうがグレーが濃くなっているようだ。
0897b613.jpg


合成を行った。
この結果からは、Ultra96 では、LUT のリソースが 101 % で足りないようだ。
Latency は 100 MHz クロックで、最大で約 41.8 ms となっている。
2ea3b989.png


C/RTL 協調シミュレーションは例によってエラーになってしまった。
9a77b2f5.png


Export RTL を行った。ただし、Vivado synthesis, place and route にチェックを入れてある。
結果を示す。
xfOpenCV_Vivado_HLS_56_190529.png

LUT 使用量が 26286 個になった。LUT としては SRL を含める必要があると思うので、含めると、27299 個となった。
Ultra96 の全LUT 数が 70560 個なので、約 38.7 % となった。これならばUltra96 に十分入る。
Vivado HLS で合成時に出すレポートは当てならないので、Vivado に解析を頼んで、リソースの使用状況を確認したほうが良い。

↑このページのトップヘ