Main Content

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

MATLAB システム オブジェクトの HDL コードをインポートする

協調シミュレーションタイプ - MATLAB システムオブジェクト

まだ行っていない場合は、Cosimulation Wizard を呼び出します。

cosimWizard

  1. Cosimulation Type ペインで、HDL Simulator に対して ModelSimXcelium、または Vivado Simulator を選択します。

  2. フィールド HDL cosimulation withMATLAB System object を選択します。

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

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

    Next をクリックしても Cosimulation Wizard が実行可能ファイルを見つけられない場合は、次のようになります。

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

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

    • コシミュレーション ウィザードにより、HDL シミュレーション パス フィールドを編集できるようになります。

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

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

HDL ファイル - MATLAB システム オブジェクト

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

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

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

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

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

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

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

HDL コンパイル - MATLAB システム オブジェクト

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

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

    メモ

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

    set file = a.vhd vcom $file

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

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

  3. 続行するにはNextをクリックしてください。

シミュレーション オプション - MATLAB システム オブジェクト

Cosimulation Wizard open on Simulation Options Pane, configured for Modelsim simulator.

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

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

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

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

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

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

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

  4. 次のステップに進むには、Next をクリックしてください。

    Xcelium または ModelSim の場合、アプリケーションはコマンド ウィンドウで次のアクションを実行します。

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

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

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

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

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

    Cosimulation Wizard open on Simulation Options Pane, configured for Vivado simulator.

    Vivado シミュレータ ユーザー:  Vivado コシミュレーション用のシステム オブジェクトを作成するときに、ウィザードに HDL トップ モジュールの名前が表示されます。

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

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

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

入力/出力ポート - MATLAB システム オブジェクト

  1. Input/Output Ports ペインで、各入力ポートと出力ポートのタイプ (InputClockReset、または Unused) を指定します。

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

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

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

出力ポートの詳細 - MATLAB システム オブジェクト

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

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

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

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

クロック/リセットの詳細 - MATLAB システム オブジェクト

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

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

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

    • リセットのデフォルト設定は、初期値が 0、期間が 15 ns です。

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

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

開始時間調整 - MATLAB システム オブジェクト

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

    • 立ち上がりエッジまたは立ち下がりエッジが期待通りに設定されていることを確認する(前の手順から)

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

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

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

    • 開始時間が希望どおりであることを確認します。

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

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

システムオブジェクトの生成

  1. ウィザードが System object™ を生成する前に、HDL シミュレータのサンプリング期間を変更できます。HDL Simulator sampling period (ns) というラベルの付いたボックスに新しい値を入力します。

    サンプリング期間は、HDL シミュレーターでステップ MATLAB の各呼び出しを区切る経過時間を決定します。ほとんどの場合、サンプリング周期はクロック周期と同じです。

  2. 入力と出力がフレームベース(サンプルベースではない)の場合は、Frame based processing を選択します。

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

Finish をクリックすると、ウィザードによって現在のディレクトリに次の HDL ファイルが生成されます。

  • compile_hdl_design_design_name.m — HDL 設計を再コンパイルするためのスクリプト

  • launch_hdl_simulator_design_name.m — MATLAB System object サーバーを再起動して HDL シミュレータを起動するためのスクリプト

  • hdlcosim_design_name.mHDLCosimulation System object を作成するためのスクリプト

システムオブジェクトテストベンチの作成

新しく生成された HDL コシミュレーション System object で使用するためのテストベンチを記述します。作成するテストベンチは、次に示す例のようになります。

この例で使用されるファイルについては、MATLAB システム オブジェクトのコシミュレーション ウィザード を参照してください。

コシミュレーションを実行してHDL設計を検証する

  1. ウィザードによって作成された起動スクリプトを実行して HDL シミュレータを起動します (launch_hdl_simulator_design_name.m)

  2. HDL シミュレータの準備ができたら、MATLAB に戻り、テストベンチを実行してシミュレーションを開始します。

  3. 結果を確認します。

参考

関連するトピック