Main Content

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] というタイトルのウィンドウが開きます。

設計とテスト ベンチの指定

  1. 現在のフォルダー ブラウザーから HDL Coder ウィンドウの [エントリ ポイント] タブの [MATLAB 関数] セクションにファイル mlhdlc_sobel.m をドラッグします。

  2. mlhdlc_sobel.m ファイルの下で、入力引数 data_in のデータ型を double (1 x 1) に指定します。

  3. ファイル mlhdlc_sobel_tb.m を HDL Coder ウィンドウの [MATLAB テスト ベンチ] セクションにドラッグします。

HDL コードの生成

  1. [ワークフロー アドバイザー] をクリックします。

  2. ワークフロー アドバイザーの [コード生成] 手順を右クリックします。

  3. [選択したタスクまで実行] オプションを選択して、ワークフローの最初から HDL コード生成までのすべての手順を実行します。

コシミュレーションを使用した、生成された HDL コードの検証

この手順を実行するには、HDL Verifier でサポートされている HDL シミュレーターのいずれかが必要です。Cosimulation Requirements (HDL Verifier)を参照してください。サポートされているシミュレーターにアクセスできない場合は、この手順をスキップしてかまいません。

[コシミュレーションで確認] 手順で次の手順を実行します。

  1. [コシミュレーション テスト ベンチを生成] オプションを選択します。

  2. [比較プロットに出力を記録] オプションを選択します。このオプションにより、HDL シミュレーター出力、参照 MATLAB アルゴリズム出力、およびそれらの差異を示すプロットが生成されます。

  3. [コシミュレーション ツール] で HDL シミュレーターを選択します。HDL シミュレーターの実行可能ファイルはシステム パス上になければなりません。

  4. HDL シミュレーターで波形を表示するには、[コシミュレーションにおける HDL シミュレーターの実行モード] リストで [GUI] モードを選択します。Vivado シミュレーターでは、対話型の GUI 環境はありません。HDL 設計をデバッグするには、コシミュレーション後に、Vivado で生成されたファイル hdlverifier_cosim_waves.wdb を開きます。

  5. [生成されたコシミュレーション テスト ベンチをシミュレート] を選択します。

  6. [実行] をクリックします。

シミュレーションが完了したら、MATLAB で比較プロットをチェックします。HDL シミュレーター出力と参照 MATLAB アルゴリズム出力の間に不一致があってはなりません。

FPGA インザループを使用した、生成された HDL コードの検証

この手順を実行するには、サポートされている FPGA ボードのいずれかが必要です。FPGA Verification Requirements (HDL Verifier)およびSet Up FPGA Design Software Tools (HDL Verifier)を参照してください。

[FPGA インザループで確認] 手順で次の手順を実行します。

  1. [FPGA インザループのテスト ベンチを生成] オプションを選択します。

  2. [比較プロットに出力を記録] オプションを選択します。このオプションにより、FPGA 出力、参照 MATLAB アルゴリズム出力、およびそれらの差異を示すプロットが生成されます。

  3. [ボード名] リストで FPGA ボードを選択します。ご使用のボードがリストにない場合は、[ボード マネージャーの起動] をクリックして新しいボード エントリを作成します。ボード マネージャーでは、アドオン サポート パッケージのダウンロード、既存のボードの複製、最初からの作成といった多くの方法で新しいボードを追加できます。FPGA Board Manager (HDL Verifier)を参照してください。

  4. イーサネット接続を使用するボードの場合は、[ボード IP アドレス] フィールドおよび [ボード MAC アドレス] フィールドに接続情報を入力します。

  5. [追加ファイル] フィールドは空のままにします。

  6. [生成された FPGA インザループのテスト ベンチをシミュレート] を選択します。

  7. [実行] をクリックします。

シミュレーションが完了したら、比較プロットをチェックします。FPGA 出力と参照 MATLAB アルゴリズム出力の間に不一致があってはなりません。