MATLAB から HDL へのワークフローにおけるソーベル エッジ検出アルゴリズムの検証
この例では、MATLAB HDL Coder™ ワークフロー アドバイザーを使用してソーベル エッジ検出アルゴリズム用の MATLAB® 設計の HDL 生成および検証を示します。MATLAB テスト ベンチを再利用して、HDL Verifier™ から自動的に生成された HDL コシミュレーション System object を使用して HDL を検証します。Mentor Graphics ModelSim®/Questa®、Cadence Incisive®/Xcelium™、Xilinx® Vivado® Simulator など、サポートされている任意の HDL シミュレーターを使用できます。
設計のシミュレーション
コードの生成前にテスト ベンチを使用して設計のシミュレーションを実行し、実行時エラーが発生しないことを確認することをお勧めします。
mlhdlc_sobel_tb;
HDL Coder プロジェクトの新規作成
次のコマンドを実行して HDL コード生成プロジェクトを作成します。
coder -hdlcoder -new cosim_fil_sobel
このアクションにより、[HDL Coder] というタイトルのウィンドウが開きます。
設計とテスト ベンチの指定
現在のフォルダー ブラウザーから HDL Coder ウィンドウの [エントリ ポイント] タブの [MATLAB 関数] セクションにファイル
mlhdlc_sobel.m
をドラッグします。mlhdlc_sobel.m
ファイルの下で、入力引数data_in
のデータ型をdouble (1 x 1)
に指定します。ファイル
mlhdlc_sobel_tb.m
を HDL Coder ウィンドウの [MATLAB テスト ベンチ] セクションにドラッグします。
HDL コードの生成
[ワークフロー アドバイザー] をクリックします。
ワークフロー アドバイザーの [コード生成] 手順を右クリックします。
[選択したタスクまで実行] オプションを選択して、ワークフローの最初から HDL コード生成までのすべての手順を実行します。
コシミュレーションを使用した、生成された HDL コードの検証
この手順を実行するには、HDL Verifier でサポートされている HDL シミュレーターのいずれかが必要です。Cosimulation Requirements (HDL Verifier)を参照してください。サポートされているシミュレーターにアクセスできない場合は、この手順をスキップしてかまいません。
[コシミュレーションで確認] 手順で次の手順を実行します。
[コシミュレーション テスト ベンチを生成] オプションを選択します。
[比較プロットに出力を記録] オプションを選択します。このオプションにより、HDL シミュレーター出力、参照 MATLAB アルゴリズム出力、およびそれらの差異を示すプロットが生成されます。
[コシミュレーション ツール] で HDL シミュレーターを選択します。HDL シミュレーターの実行可能ファイルはシステム パス上になければなりません。
HDL シミュレーターで波形を表示するには、[コシミュレーションにおける HDL シミュレーターの実行モード] リストで [GUI] モードを選択します。Vivado シミュレーターでは、対話型の GUI 環境はありません。HDL 設計をデバッグするには、コシミュレーション後に、Vivado で生成されたファイル
hdlverifier_cosim_waves.wdb
を開きます。[生成されたコシミュレーション テスト ベンチをシミュレート] を選択します。
[実行] をクリックします。
シミュレーションが完了したら、MATLAB で比較プロットをチェックします。HDL シミュレーター出力と参照 MATLAB アルゴリズム出力の間に不一致があってはなりません。
FPGA インザループを使用した、生成された HDL コードの検証
この手順を実行するには、サポートされている FPGA ボードのいずれかが必要です。FPGA Verification Requirements (HDL Verifier)およびSet Up FPGA Design Software Tools (HDL Verifier)を参照してください。
[FPGA インザループで確認] 手順で次の手順を実行します。
[FPGA インザループのテスト ベンチを生成] オプションを選択します。
[比較プロットに出力を記録] オプションを選択します。このオプションにより、FPGA 出力、参照 MATLAB アルゴリズム出力、およびそれらの差異を示すプロットが生成されます。
[ボード名] リストで FPGA ボードを選択します。ご使用のボードがリストにない場合は、
[ボード マネージャーの起動]
をクリックして新しいボード エントリを作成します。ボード マネージャーでは、アドオン サポート パッケージのダウンロード、既存のボードの複製、最初からの作成といった多くの方法で新しいボードを追加できます。FPGA Board Manager (HDL Verifier)を参照してください。イーサネット接続を使用するボードの場合は、[ボード IP アドレス] フィールドおよび [ボード MAC アドレス] フィールドに接続情報を入力します。
[追加ファイル] フィールドは空のままにします。
[生成された FPGA インザループのテスト ベンチをシミュレート] を選択します。
[実行] をクリックします。
シミュレーションが完了したら、比較プロットをチェックします。FPGA 出力と参照 MATLAB アルゴリズム出力の間に不一致があってはなりません。