Main Content

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

HDL コシミュレーション

MATLABまたはSimulinkによる HDL コシミュレーション

HDL Verifier™ソフトウェアは、 MATLAB®関数、 MATLAB System object™、およびのライブラリで構成されています。 $Simulink®ブロック。これらはすべて、HDL シミュレーターとMATLABまたはSimulinkの間の通信リンクを確立します。

HDL Verifierソフトウェアは、次のプロセスで利用可能なツールを統合することにより、FPGA および ASIC 開発を合理化します。

  1. ハードウェア設計リファレンスモデルの仕様の開発

  2. 参照モデルに基づいた HDL でのハードウェア設計の実装

  3. 設計をリファレンス設計と比較して検証する

次の図は、HDL シミュレーターとMathWorks®製品がこのハードウェア設計シナリオにどのように適合するかを示しています。

図が示すように、 HDL Verifierソフトウェアは、設計プロセスの特定のステップを実行するために従来個別に使用されていたツールを接続します。これらのツールを接続すると、リンクにより実装と元の仕様を直接相互シミュレーションできるため、検証が簡素化されます。この協調シミュレーションにより、時間が大幅に節約され、手動による比較と検査に固有のエラーが排除されます。

前述の設計シナリオに加えて、 HDL Verifierソフトウェアを使用すると、次の方法でツールを操作できます。

  • MATLABまたはSimulinkを使用して、HDL コードのテスト信号とソフトウェア テスト ベンチを作成します

  • MATLABまたはSimulinkを使用して、HDL シミュレーションの動作モデルを提供します

  • MATLAB分析および視覚化機能を使用して、HDL 実装をリアルタイムで洞察します

  • Simulinkを使用して、従来の HDL 記述をシステム レベルのビューに変換します。

メモ

HDL Verifierソフトウェアを使用すると、 MATLABまたはSimulinkを使用して、SystemVerilog、SystemC、またはその両方を使用してモジュールを協調シミュレーションできます。SystemC の周りに単純なラッパーを作成し、SystemVerilog コシミュレーション接続が、リンク コシミュレーション インターフェイスでサポートされているデータ型のポートまたは信号に接続されるようにします。

コシミュレーションの仕組みについては、次のセクションで詳しく説明します。

MATLABと HDL シミュレーターとのリンク

MATLABとリンクすると、次の図に示すように、HDL シミュレーターはクライアントとして機能します。

このシナリオでは、 MATLABサーバー関数は、HDL シミュレーター セッションから受信するサービス要求を待ちます。要求を受信した後、サーバーは通信リンクを確立し、HDL モジュール (TGVHDL®またはVerilog®)、HDL シミュレーターでシミュレーション中です。

サーバーが実行されたら、HDL シミュレーターを起動して構成するか、提供されているMATLAB関数を使用してHDL Verifierを使用できます。

  • nclaunch (Xcelium™)

  • vsim (ModelSim®)

次の図は、テスト ベンチ シミュレーション セッション中にMATLABテスト ベンチ関数がどのようにラップアラウンドして HDL シミュレーターと通信するかを示しています。

次の図は、コンポーネント シミュレーション セッション中にMATLABコンポーネント関数がどのようにラップアラウンドされ、HDL シミュレーターと通信するかを示しています。

特定のテストベンチまたはコンポーネント セッションを開始するときは、次の情報を識別するパラメーターを指定します。

  • MATLABサーバーに接続するためのモードと、該当する場合は TCP/IP データ

  • HDL インスタンスに関連付けられ、HDL インスタンスの代わりに実行されるMATLAB関数

  • モジュールのMATLAB関数をいつ呼び出すかを指定するタイミング仕様およびその他の制御データ

Simulinkと HDL シミュレーターとのリンク

Simulinkとリンクすると、次の図に示すように、HDL シミュレーターがサーバーとして機能します。

この場合、HDL シミュレーターは、Simulinkモデルの協調シミュレーション ブロックから受信したシミュレーション要求に応答します。Simulinkから協調シミュレーション セッションを開始します。セッションの開始後、 Simulinkと HDL シミュレーターを使用して、シミュレーションの進行状況と結果を監視できます。たとえば、HDL シミュレーターの波形ウィンドウに信号を追加して、シミュレーションのタイミング ダイアグラムを監視できます。

HDL Cosimulationブロックの [ブロックパラメーター]ダイアログ ボックスを使用して、以下を構成できます。

  • HDL モジュールの信号 (内部信号を含む) に対応するブロック入出力ポート。必要に応じて、個々のブロック出力端子のサンプル時間と固定小数点データ型を指定できます。

  • シミュレーション ツール間でデータを交換するために使用される通信の種類と通信設定。

  • モジュールに適用する立ち上がりエッジまたは立ち下がりエッジのクロック。各クロックの周期を個別に指定できます。

  • シミュレーションの前後に実行する Tcl コマンド。

HDL Verifierソフトウェアは、HDL シミュレーターに一連のカスタマイズされた機能を備えています。ModelSimの場合、関数vsimulinkを使用すると、 Simulinkとの協調シミュレーション用の HDL モジュールのインスタンスを使用して HDL シミュレーターを実行します。 。モジュールがロードされたら、 Simulinkから協調シミュレーション セッションを開始できます。 Xceliumユーザーは、関数hdlsimulinkを使用して同じ操作を実行できます。

HDL Verifierソフトウェアには、値変更ダンプ (VCD) ファイルを生成するブロックも含まれています。このブロックで生成された VCD ファイルを使用して、次のタスクを実行できます。

  • HDL シミュレーション環境でSimulinkシミュレーション波形を表示する

  • 同じまたは異なるシミュレーション環境を使用して、複数のシミュレーション実行の結果を比較します。

  • シミュレーション後の分析ツールへの入力として使用

HDL コシミュレーション ウィザード

HDL Verifier には、既存の HDL コードを使用してカスタマイズされたMATLAB関数 (テストベンチまたはコンポーネント)、 MATLABを作成するコシミュレーション ウィザード機能が含まれています。 System object、またはSimulink HDL Cosimulationブロック。詳細については、協調シミュレーション用の HDL コードをインポートする準備をするを参照してください。

HDL コシミュレーションのための通信

HDL シミュレーターとMATLABまたはSimulinkの間のリンクに使用する通信モードは、アプリケーションがローカルの単一システム構成で実行されるか、単一システム構成で実行されるかによって異なります。ネットワーク構成。これらの製品とMathWorks製品が同じシステム上でローカルに実行でき、アプリケーションに必要な通信チャネルが1 つだけの場合は、共有メモリと TCP/IP ソケット通信のどちらかを選択することができます。共有メモリ通信は最適なパフォーマンスを提供し、デフォルトの通信モードです。

TCP/IP ソケット モードはより多用途です。単一システム構成およびネットワーク構成に使用できます。このオプションは最大のスケーラビリティを提供します。TCP/IP ソケット通信の詳細については、 「TCP/IPソケットポート」を参照してください。

ハードウェア記述言語 (HDL) のサポート

すべてのHDL Verifier MATLAB関数と HDL コシミュレーション ブロックは、VerilogとVHDLの両方に同じ言語透過的な機能セットを提供します。 $$モデル。

HDL Verifierソフトウェアは、混合言語 HDL モデル ( VerilogとVHDLコンポーネントの両方を含むモデル) もサポートしており、 を協調シミュレーションできます。 VHDLとVerilog信号が同時に発生します。MATLABとSimulinkソフトウェアはどちらも、あらゆるレベルで異なる言語のコンポーネントにアクセスできます。

HDL コシミュレーションのワークフロー

HDL Verifierユーザー ガイドには、次のワークフローでサポートされている HDL シミュレーターで検証ソフトウェアを使用する手順が記載されています。

  • MATLABテストベンチ環境での HDL コンポーネントのシミュレーション

  • HDL コンポーネントをMATLABコンポーネント関数で置き換える

  • Simulinkテストベンチ環境での HDL コンポーネントのシミュレーション

  • HDL コンポーネントを Simulinkアルゴリズムで置き換える

  • 後処理のためのSimulink信号状態遷移の記録

製品の機能とプラットフォームのサポート

製品の特徴必要な製品おすすめ商品サポートされているプラットフォーム
MATLABと HDL シミュレーターの協調シミュレーション (関数)MATLABFixed-Point Designer™, Signal Processing Toolbox™Windows® 32 ビットおよび 64 ビット。 Linux® 64 ビット
MATLABと HDL シミュレーターの協調シミュレーション (System object)MATLAB および Fixed-Point DesignerCommunications Toolbox™, DSP System Toolbox™Windows 32 ビットおよび 64 ビット。 Linux 64 ビット
Simulinkと HDL シミュレーターの協調シミュレーションSimulink, Fixed-Point DesignerSignal Processing Toolbox, DSP System ToolboxWindows 32 ビットおよび 64 ビット。 Linux 64 ビット