こんにちはドルフィンシステムの笹生です。
今回から2回に分けて(備忘録もかねて)、Simulink + SystemGenerator で IPコアを作成し、それをLabVIEW FPGA の VI に取り込むメリット・デメリット(今回)や具体的な(次回)を紹介したいと思います。
Simulink + SystemGenerator IPコアを作成して LabVIEW FPGA VI に取り込むことのメリット
結論としては、Simulink のツールボックス等で柔軟な入出力のテスト環境が構築でき、事前に IP のテストができることで、エクスポートして他の環境に取り込んで使用する場合にスムーズに実装ができる点がメリットとして一番大きいと思っています。
当然ながら IP コアを作成する方法というのは Simulink を使わなくても手書きで HDL を書いてテストベンチも書いて、RTL のシミュレータでシミュレーションして・・・ということも可能ですし、そのほうが良い場合・早い場合もあると思います。
ですがある程度の規模で複雑な信号処理になると、手書きのテストベンチを用意するのも大変ですし、入力ベクターや期待値を結局 MATLAB や Simulink その他のツールを使って生成することがほとんどです。
そうなれば、Simulink + System Generator を使うことで元の MATLAB のテスト信号生成を使いつつ、統合的に IP を生成できるので手間が減り、間違えも少なくなります。
そして生成した IP は、Vivado ではリポジトリのパスとして指定することで User IPとしてブロックダイアグラムに追加することが容易にできますし、LabVIEW FPGA に取り込めば、NI が提供する FPGA モジュールで使用することが可能です。
LabVIEW FPGA に CLIP という方法で取り込む場合には、System Generator が出力するリポジトリの構造を理解して必要なファイルを指定する必要があります。(それほど複雑ではないですが、次回解説しようと思います。)
デメリットはない!強いてあげればライセンス費用くらい?
デメリットはない!と思いますが強いてあげればツールのライセンス費用が掛かる点でしょうか。(一番重要!という方もいると思いますが・・・)
当然なのですが、mathworks 社のMATLAB/Simulink で必要なライセンス購入、Xilinx 社の SystemGenerator で必要なライセンス購入、LabVIEW/LabVIEW FPGA で必要なライセンス購入と、それぞれのライセンスが必要になります。
ユーザーのやりたいこと等で選択するライセンスは異なるので、実際に検討される際にはそれぞれのご担当者と相談をする必要があると思います。
参考までに弊社では以下のようなライセンスを購入しております。(ここに紹介していないライセンスもお客様の開発内容によっては追加で購入するときもあります)
MathWorks ライセンス
・MATLAB
・Simulink
・Communications Toolbox
・DSP System Toolbox
・その他有償・無償ライセンス
Xilinx ライセンス
・Vivado HL System Edition (=System Generator のライセンスがついている Vivado開発環境)
NI ライセンス
・LabVIEWプロフェッショナル開発システム
・LabVIEW FPGA モジュール
・その他有償・無償ライセンス多数
とは言え開発の効率化を考えたらここに掛けるコストは非常に良いお金の使い方ではないかなと個人的には思っています。
まとめ
当然といえば当然なのですが、それぞれのツールの得意な点を組み合わせることで効率よく FPGA の開発ができるようになります。デメリットもその為のコストなので厳密な意味でデメリットではないです。次回は具体的な例で解説しようと思います。
と、この記事を執筆中に色々と調べておりましたところ、なんと!NI からも LabVIEW FPGA で作成した IP をエクスポートできる「LabVIEW FPGA IP Export Utility」というものを発見してしましました!
昨年の 5月にリリースされたもののようです。まったく気が付きませんでした。。。これまでは LabVIEW 単体で作った FPGA のソースはエクスポートできなかったので、せっかく LabVIEW FPGA で作った IP は他では使えないという不便さがありました。これで解消されると個人的にはかなり嬉しいです!こちらも近いうちに使用して記事として紹介したいと思います!
0 件のコメント :
コメントを投稿