LabVIEW FPGA IP Export Utility を使ってみた

 


こんにちは、ドルフィンシステムの笹生です。

今回は、前々回のまとめで少しだけ紹介した「LabVIEW FPGA Export Utility」を使ってみたという内容をお送りします。

前々回のまとめより

「昨年の 5月にリリースされたもののようです。まったく気が付きませんでした。。。これまでは LabVIEW 単体で作った FPGA のソースはエクスポートできなかったので、せっかく LabVIEW FPGA で作った IP は他では使えないという不便さがありました。これで解消されると個人的にはかなり嬉しいです!こちらも近いうちに使用して記事として紹介したいと思います!」

このユーティリティの機能は Readme によりますと、

「LabVIEW FPGA IPエクスポートユーティリティを使用すると、LabVIEWFPGAで開発されたFPGAアルゴリズムをFPGA IP としてエクスポートできます。その後、IPをVivadoプロジェクトに統合し、同じファミリのザイリンクスVivadoFPGAデバイスでIPを使用できます。LabVIEW FPGA IPエクスポートユーティリティは、次のエディションを提供します。

・LabVIEWFPGAネットリストエクスポートユーティリティ-FPGAアルゴリズムを暗号化されたネットリストとしてエクスポートします。

・LabVIEW FPGAVHDLエクスポートユーティリティ-FPGAアルゴリズムを暗号化されたネットリストまたはプレーンテキストVHDLとしてエクスポートします。」

さてどのような感じでエクスポートされるのでしょうか。


「LabVIEW FPGA Export Utility」のインストール

何はともあれ「LabVIEW FPGA Export Utility」をインストールしないと話は始まりません。

以下のページからダウンロードしてインストールしてみます。

https://www.ni.com/ja-jp/support/downloads/software-products/download.labview-fpga-ip-export-utility.html#345666

バージョンは 2020、32bit 版をダウンロードインストールしてみます。
今メインの開発マシンは LabVIEW 2018 なのでダメだろうと思いますがやってみると

やっぱり LabVIEW 2020 でないとダメなようです。

現在開発に使っているメインマシンはLabVIEW  2018 でそれをLabVIEW  2020 にアップデートすることも考えたのですが、色々とツールキットの互換性などを考慮するとアップデートはちょっと避けたいところです。

そこで、今回引っ越しと共に新調した FPGA コンパイル用の PC に LabVIEW 2020 をインストールして、LabVIEWFPGA IP  Export Utility を試してみようと思います。

Readme には
System Requirements
The LabVIEW 2020 FPGA IP Export Utility has the following requirements:
• LabVIEW 2020 Full or Professional Development Systems (32-bit or 64-bit)
• LabVIEW 2020 FPGA Module (32-bit or 64-bit)
• LabVIEW 2020 FPGA Compilation Tool for Vivado 2019.1
Refer to the LabVIEW Readme, LabVIEW FPGA Module Readme, and Xilinx Compilation Tools Readme for additional system requirements and supported operating systems.

と書いてあるのでとりあえず上記をインストールしますが、実際はさらに追加で ドライバとして FlexRIO をインストールすることを推奨します。これは提供されているサンプルが FlexRIO の FPGA ボードを使用しているからです。

LabVIEW 2020 や FPGA モジュール関連、FlexRIO ドライバがインストール出来たら、ダウンロードした「LabVIEW FPGA Export Utility」をインストールします。

インストール時にアクティベーションするダイアログになりますが、弊社のライセンスではアクティベートできませんでしたので、このユーティリティーは別にライセンス取得する必要がありそうです。Readme のページにもそうした記載があります。

ともあれ、評価はできそうなのでサンプルで試してみます。

「LabVIEW FPGA Export Utility」のサンプルを試す

インストールすると、"C:\program files(x86)\National Insturuments\labview2020\manuals\LabVIEW FPGA IP Export Utility" ディレクトリに「FPGA_IP_Export_Getting_Started.pdf」と「Examples」フォルダができています。


Example フォルダには 2つフォルダができていますが、1つは LabVIEW FPGA のサンプルで、もう一つは生成した Export IP を試すための Vivado プロジェクト一式が入っています。

LabVIEW FPGA のサンプルプロジェクト IP_Export_LV を開いてみます。


FPGAターゲットは PXIe-7972R になっています。
その下に FPGA VI がぶら下がっているのでどんな VI か確認してみます。

サンプルで実装されているのは SCTL 内に固定小数点の高スループットの乗算器でした。
ce = T の時に実行されます。

さてこの FPGA VI 自体は単純なものです。
これを IP として Export できるのが「LabVIEW FPGA Export Utility」です。
早速エクスポートしてみます。

ビルド仕様を右クリックしてでてくるメニューに「VIをネットリストにエクスポート」という項目が出ます。

クリックするとビルドの時のような中間ファイル生成のダイアログが表示されます。

終わると以下に出力結果ができているようです。
X:\NIFPGA\compilation\<projectname>_<target-name>_<build-spec-name>_<unique-string>\source_files

確かに ネットリスト (dcpファイル) とラッパーの VHDL が生成されています。
これが「LabVIEW FPGA Export Utility」にて生成された IP になります。

Vivado に取り込んでみる

一応、LabVIEW FPGA のインストール時に使用する Vivado はインストール済みなのでそれを使って生成した IP をインポートしてみます。

X:\NIFPGA\programs\Vivado<version>\
に LabVIEW 対応 VIvado はインストールされています。

Ver は 2019.1 のようですね。
この下の bin\vivado.bat をダブルクリックして起動します。

Open Project で、サンプルのプロジェクトを開いてみます。
開いたら Add source にて、生成した IP である dcp と vhd を追加してみます。
プロジェクトに追加されました。


まだ詳しく理解できてはいませんが、ネットリスト出力の IP ではあるものの、MATLAB の System Generator で生成する IP のように Xilinx の IP カタログにリポジトリとしてインポートするのとは若干違うようです。

まとめ

今回は LabVIEW FPGA でできなかった外部への IP のエクスポートができるようになる LabVIEW FGA IP Export Utility なるものをインストールしてちょっとだけ使ってみました。
パートナーのライセンスではアクティベーションを行うことができないようなので、別途購入する必要がありそうです。

大変便利だなとは思いましたが、そもそも LabVIEW FPGA が Vivado をコンパイルツールとして使えているので、その成果物の一部として中間ファイルのネットリストなどをユーザーに開放したといったほうが良いのかもしれませんね。

とはいえ LabVIEW FPGA でせっかく作成した回路を他のボード用に Vivado で取り込めるようになるのは非常に便利なので機会があればライセンス取得して使っていきたいなとも思いました。










0 件のコメント :

コメントを投稿