Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

Simulink モデルから生成された HDL コードの検証

この例では、HDL テスト ベンチを生成し、簡単なカウンター モデルについて生成されたコードを検証する方法を示します。このモデルの HDL コードを生成するには、Simulink モデルからの HDL コードの生成を参照してください。このモデルの HDL コードを生成していない場合、HDL Coder™ はテスト ベンチを生成する前にコード生成を実行します。

HDL テスト ベンチとは

DUT についての HDL コードの機能を検証するには、HDL テスト ベンチを生成します。テスト ベンチには以下が含まれます。

  • テスト対象のエンティティに接続されている信号のソースによって生成されたスティミュラス データ。

  • テスト対象のエンティティによって生成された出力データ。テスト ベンチの実行中、このデータは検証のために VHDL® モデルの出力と比較されます。

  • テスト対象のエンティティを駆動するクロック、リセットおよびクロック イネーブルの入力。

  • テスト対象のエンティティをコンポーネントにインスタンス化したもの。

  • テスト対象のエンティティを駆動し、エンティティからの出力を予測されているデータと比較するコード。

Mentor Graphics® ModelSim® シミュレーターを使用して、生成されたテスト ベンチおよびスクリプト ファイルのシミュレーションを実行できます。

簡単なカウンター モデル

このモデルを開いて、簡単なカウンターを表示します。モデルはゼロからしきい値までカウントし、ゼロに戻ります。しきい値は 15 に設定されています。しきい値を変更するには count_threshold 端子への入力の値を変更します。イネーブル信号は、カウンターが加算カウントするか、あるいは前の値を保持するかを指定します。1 の値は、カウンターが連続して加算カウントすることを示しています。

検証方法

HDL Verifier™ がインストールされている場合は、これらの方法を使用して生成された HDL コードを検証することもできます。

検証方法詳細情報
HDL コシミュレーションコシミュレーション
SystemVerilog DPI テスト ベンチSystemVerilog DPI テスト ベンチ
FPGA インザループFPGA インザループ

HDL テスト ベンチの生成

VHDL または Verilog の該当するテスト ベンチを生成します。既定では、HDL コードおよびテスト ベンチ コードは、現在のフォルダーに対して相対的に同じターゲット フォルダー hdlsrc に書き込まれます。

カウンター モデルの場合、HDL_DUT サブシステムが DUT です。テストベンチを生成するには、このサブシステムを選択します。

  1. [アプリ] タブで、[HDL Coder] を選択します。

  2. DUT サブシステム HDL_DUT を選択し、この名前が [HDL コード] タブの [次のコード] オプションに表示されることを確認します。選択内容を記憶しておくために、このオプションを固定します。[テストベンチの生成] をクリックします。

Verilog テスト ベンチ コードの生成

カウンター モデル用の Verilog テストベンチ コードを生成するには、次の手順を実行します。

  1. [HDL コード] タブで、[設定] をクリックします。

  2. [HDL コード生成] ペインで、[言語] に対して [Verilog] を選択します。

  3. [HDL コード生成][テスト ベンチ] ペインで、[テスト ベンチを生成] をクリックします。

HDL Coder はモデルをコンパイルしてテスト ベンチを生成します。

テスト ベンチの生成が完了し、次のメッセージが表示されます。生成されたファイルは hdlsrc フォルダーに置かれます。

### HDL TestBench Generation Complete.

HDL テスト ベンチ ファイルの表示

カウンター モデルでは、hdlsrc フォルダーには次のテスト ベンチ ファイルが含まれています。

  • HDL_DUT_tb.vhd: 生成されたテストおよび出力データを含む VHDL テスト ベンチ コード。Verilog テスト ベンチ コードを生成した場合、生成されたファイルは HDL_DUT_tb.v です。

  • HDL_DUT_tb_pkg.vhd: VHDL テスト ベンチ コードのパッケージ ファイル。ターゲット言語として Verilog を指定した場合は、このファイルは生成されません。

  • HDL_DUT_tb_compile.do: Mentor Graphics ModelSim コンパイル スクリプト (vcom コマンド)。このスクリプトはテスト対象のエンティティ (HDL_DUT.vhd) とテスト ベンチ コード (HDL_DUT_tb.vhd) のコンパイルおよび読み込みを行います。

  • HDL_DUT_tb_sim.do: シミュレーターの初期化、[波形] ウィンドウの信号表示の設定、シミュレーションの実行を行う Mentor Graphics ModelSim スクリプト。

生成されたテスト ベンチ コードを MATLAB® エディターで表示するには、現在のフォルダーで HDL_DUT_tb.vhd または HDL_DUT_tb.v ファイルをダブルクリックします。

生成された HDL コードのシミュレーションの実行と検証

シミュレーション結果を検証するには、Mentor Graphics ModelSim シミュレーターを使用できます。 Mentor Graphics ModelSim がインストール済みでなければなりません。

シミュレーターを開くには関数vsim (HDL Verifier)を使用します。実行可能ファイルへのパスを指定することで、このコマンドはシミュレーターを開く方法を示します。

vsim('vsimdir','C:\Program Files\ModelSim\questasim\10.6b\win64\vsim.exe')

生成されたモデルおよびテスト ベンチ コードをコンパイルし、シミュレーションを実行するには、HDL Coder によって生成されるスクリプトを使用します。カウンター モデルでは、次のコマンドを実行して、HDL_DUT サブシステム向けに生成されたテスト ベンチをコンパイルしてシミュレーションを行います。

  1. Mentor Graphics ModelSim ソフトウェアを開いて、生成されたコード ファイルおよびスクリプトがあるフォルダーに移動します。

  2. 生成されたコンパイル スクリプトを使用して、生成されたモデルとテキスト ベンチ コードをコンパイルして読み込みます。HDL_DUT サブシステムの場合、次のコマンドを実行して生成されたコードをコンパイルします。

    
    QuestaSim>do HDL_DUT_tb_compile.do
    
    
  3. 生成されたシミュレーション スクリプトを使用してシミュレーションを実行します。次のリストにコマンドを表示します。警告メッセージは無視できます。HDL_DUT サブシステムでは、次のコマンドを実行して生成されたコードのシミュレーションを実行します。

    
    QuestaSim>do HDL_DUT_tb_sim.do
    
    

    シミュレーターによって設計が最適化され、結果が [波形] ウィンドウに表示されます。シミュレーション結果が表示されない場合は [波形] ウィンドウを開きます。シミュレーション スクリプトによって、クロック信号、リセット信号、クロック イネーブル信号を含むモデルの入出力が [波形] ウィンドウに表示されます。

これで、信号を表示して、シミュレーション結果が元の設計の機能と一致していることを検証できます。検証後 Mentor Graphics ModelSim シミュレーターを閉じ、MATLAB エディターで開いているファイルを閉じます。

ターゲット デバイスでの生成 HDL コードの展開

生成されたコードをターゲット FPGA デバイスに展開するには Simulink® HDL ワークフロー アドバイザーを使用します。Simulink モデルからの HDL コード生成と FPGA 合成を参照してください。

参考

|

関連するトピック