Main Content

このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。

HDL コシミュレーション ブロックの HDL コードのインポート

協調シミュレーション タイプ— Simulinkブロック

モデルを開き、「アプリ」タブで「HDL Verifier」をクリックします。次に、 「Mode」セクションで「HDL Cosimulation」を選択し、 「Import HDL Files」をクリックしてコシミュレーション・ウィザードを開きます。

  1. ModelSimXceliumVivado Simulator 、またはHDL Simulator を選択します。

  2. ファイルがある場所にある場合は、 Use HDL simulator executables on the system pathを選択します。コシミュレーション ウィザードは、デフォルトで、それらがシステム パス上にあると想定します。

    HDL シミュレーターの実行可能ファイルがシステム パス上に「ない」場合は、 Use the following HDL simulator executables at the following locationを選択し、下のテキスト ボックスにフォルダーの場所を指定します。

    Nextをクリックしてもコシミュレーション ウィザードで実行可能ファイルが見つからない場合は、次のことが発生します。

    • このダイアログに戻り、コシミュレーション ウィザードのステータス ペインにエラーが表示されます。

    • コシミュレーション ウィザードは、オプションをUse the following HDL simulator executables at the following locationに切り替えます。

    • コシミュレーション ウィザードは、HDL シミュレーション パス フィールドを編集可能にします。

    続行するには、HDL シミュレータ実行可能ファイルへの有効なパスを入力する必要があります。

  3. [Next]をクリックします。

HDL ファイル- Simulinkブロック

HDL Filesペインで、関数またはブロックの作成に使用するファイルを指定します。

  • コシミュレーション ウィザードは、各ファイルのファイル タイプを判別し、そのタイプをファイル名の横のFile Listに表示しようとします。コシミュレーション ウィザードでタイプを判断できない場合、または間違ったタイプが表示される場合は、 File Type列でタイプを直接変更できます。

  • 可能であれば、コシミュレーション ウィザードは、HDL シミュレーターが提供する機能を使用してコンパイル順序を自動的に決定します。これは、ファイルを任意の順序で追加できることを意味します。

  • ModelSim®を使用している場合は、コンパイル スクリプトが .do ファイル (ModelSimマクロ ファイル) としてリストされます。Xcelium™を使用している場合は、コンパイル スクリプトがシステム スクリプトとしてリストされます。

  1. Addをクリックして、1 つ以上のファイル名を選択します。

  2. ファイルを削除するには、まずFile Listでファイル名を強調表示し、次にRemove Selected Fileをクリックします。

  3. [Next]をクリックします。

HDL コンパイル- Simulinkブロック

HDL Compilationペインでは、生成された HDL コンパイル コマンドを確認できます。必要に応じて、これらのコマンドをオーバーライドしたりカスタマイズしたりできます。HDL ファイルの代わりにコンパイル スクリプトを含めた場合、このペインにはそれらのスクリプトを実行するコマンドが表示されます。

  1. コマンドへの変更を「Compilation Commands」ボックスに入力します。

    メモ

    システム シェル コマンドは含めないでください。例えば:

    set file = a.vhd vcom $file

    コマンドの実行から制御がコシミュレーション ウィザードに戻ると、変数には設定された値が保持されなくなります。このタイプのコマンドを含めようとすると、 Statusパネルにエラーが表示されます。

  2. Restore default commandsをクリックして、生成された HDL コンパイル コマンドに戻ります。変更を破棄するかどうかを確認するメッセージが表示されます。

  3. [Next]をクリックして続行します。

シミュレーション オプション- Simulinkブロック

Modelsim または Xcelium ユーザー:

The cosimulation wizard is open on Simulation Options pane, configured for Modelsim.

Simulation Optionsペインで、コシミュレーションで使用する HDL モジュールの名前を指定します。

  1. Name of HDL module to cosimulate withにモジュールの名前を入力します。

  2. Simulation optionsで追加のシミュレーション オプションを指定します。たとえば、前の画像では、次のオプションが表示されています。

    • HDLシミュレーターの解像度

    • シミュレーション ビューから信号を削除する最適化をオフにします。

    [Restore Defaults]をクリックして、オプションをデフォルトに戻します。

  3. ファイアウォール ポリシーで TCP/IP ソケット通信が許可されていない場合は、 Connection methodShared Memoryを選択します。

  4. Next」をクリックして次のステップに進みます。プロセスのこの時点で、アプリケーションはコマンド ウィンドウで次のアクションを実行します。

    • HDLシミュレーターを起動します。

    • HDL モジュールを HDL シミュレータにロードします。

    • HDL サーバーを起動し、サーバーが起動したという通知の受信を待ちます。

    • HDL サーバーに接続してポート情報を取得します。

    • HDL サーバーを切断してシャットダウンします。

    Nextをクリックすると、パラメーター設定ファイルも生成されます。詳細については、コシミュレーションでの HDLパラメーターの使用を参照してください。

    Vivado シミュレーター ユーザー:

    The cosimulation wizard open on the Simulation Options pane, configured for Vivado simulator.

    Vivado®コシミュレーション用のシステム オブジェクトを作成する場合、ウィザードには HDL 最上位モジュールの名前が表示されます。

    波形ファイルを生成するには、 Debug internal signalswaveに設定します。

    HDL time precisionパラメーターでは、シミュレーション時間の精度も変更できます。

    Nextをクリックして、共有ライブラリ (dll ファイル) を作成します。

    Vivado協調シミュレーションの場合、このステップでは共有ライブラリを作成します。

入出力ポート- Simulinkブロック

  1. Simulink Portsペインで、各入力ポートと出力ポートのタイプを指定します。

    • コシミュレーション ウィザードはポート タイプを決定しようとしますが、設定は上書きできます。サポートされているデータ型については、 サポートされているデータ型を参照してください。

    • 入力ポートとして、 InputClockReset、またはUnusedを選択します。

    • 出力ポートの場合は、 OutputまたはUnusedを選択します。

    • Simulink® は、 Tcl コマンドを通じて HDL シミュレータにクロック信号とリセット信号を強制します。後のステップでクロックとリセット信号のタイミングを指定できます ( クロック/リセットの詳細 - Simulinkブロックを参照)。

    • HDL クロックとリセット信号をSimulink信号で駆動するには、それらをInputとしてマークします。

  2. [Next]をクリックして、 出力ポートの詳細 - Simulinkブロックに進みます。

出力ポートの詳細 - Simulinkブロック

  1. Output Port Detailsペインで、すべての出力ポートのサンプル時間とデータ型を設定します。

    • サンプル時間のデフォルトは1、データ型のデフォルトはInheritおよびSignedです。これらのデフォルトは、 HDL Cosimulationブロック マスク (Portsタブ) が出力ポートのデフォルト設定を設定する方法と一致しています。

    • Set all sample times and data types to 'Inherit'を選択すると、ポートは逆伝播によって時間を継承します (サンプル時間は -1 に設定されます)。ただし、状況によってはバックプロパゲーションが失敗する場合があります。 サンプル時間の逆伝播 (Simulink)を参照してください。

  2. [Next]をクリックします。

クロック/リセットの詳細 - Simulinkブロック

  1. Clock/Reset Detailsペインで、クロックを設定し、パラメーターをリセットします。

    • ここで指定する期間は、HDL シミュレーター内の時間を指します。

    • クロックのデフォルト設定は、立ち上がりアクティブ エッジと 10 ns の周期です。

    • リセットのデフォルト設定は、初期値 1、持続時間 8 ns です。

    次の画面では、シミュレーションの開始時間が視覚的に表示され、クロックとリセットがどのように並んでいるかを確認できます。

  2. [Next]をクリックします。

開始時間の調整— Simulinkブロック

  1. Start Time Alignmentペインで、クロックとリセットの現在の設定を確認します。このダイアログの目的は 2 つあります。

    • 立ち上がりエッジまたは立ち下がりエッジが (前のステップで) 予想どおりに設定されていることを確認するには

      • 開始時間を調べてください。クロックのアクティブエッジと一致する場合は、HDL シミュレータの開始時間を調整する必要があります。

      • リセット信号を調べます。クロックのアクティブ エッジと同期している場合は、競合状態が発生する可能性があります。

        競合状態を回避するには、開始時間がどのクロックのアクティブ エッジとも一致しないことを確認してください。これを行うには、開始時間を移動するか、前のステップでクロックのアクティブ エッジを変更します。

    • 開始時刻が希望通りであることを確認するため。

    HDL シミュレーターの開始時間は、前のペインのクロック値とリセット値から計算されます。必要に応じて、 HDL time to start cosimulation (ns)に新しい値を入力することで、HDL シミュレーターの開始時間を変更できます。[Update plot]をクリックして、適用された変更を確認します。

  2. [Next]をクリックします。

ブロックの生成

  1. HDL Verifier™ を選択して、シミュレーションを開始するときにAutomatically determine timescale at start of simulationでタイムスケールを決定するかどうかを指定します。タイムスケールを自分で決定したい場合は、このボックスのチェックを外したままにして、下のテキスト ボックスにタイムスケールの値を入力します。デフォルトでは、タイムスケールが自動的に決定されます。

    タイムスケールの詳細については、 「 シミュレーションのタイムスケール 」を参照してください。

  2. 設定を確認または変更するには、 「Back」をクリックします。

  3. [Finish]をクリックして、HDL コシミュレーション ブロックを生成します。

完全なSimulinkモデル

コシミュレーション ウィザード ツールは、次の項目をモデルに挿入します。

ModelSimまたはXceliumユーザー:

  • HDL Cosimulationブロック

  • HDL デザインをコンパイルするためのユーティリティ関数

  • HDLシミュレーターを起動するユーティリティ関数

Simulink canvas with a Modelsim Cosimulation block, a block labeled "Compile HDL Design", and a block labeled "Launch HDL Simulator".

Vivadoユーザー:

  • HDL Cosimulationブロック

  • DLLファイルを生成するユーティリティブロック

Simulink canvas with a Vivado Cosimulation block, and another block labeled "Generate DLL".

  1. HDL Cosimulationの入力と出力が並ぶようにブロックを配置します。

  2. 宛先モデルのブロックをHDL Cosimulationブロックに接続します。

メモ

Simulinkツールストリップからではなく、コマンド ラインからコシミュレーション ウィザードを開いた場合は、 HDL Cosimulationとユーティリティ関数が新しいモデルで開きます。まずそれらをモデルにコピーする必要があります。

モデルが完成したら、HDL コシミュレーションの次のステップについて協調シミュレーションの実行を参照してください。

参考

関連するトピック