Main Content

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

Simulinkによるコンポーネント シミュレーション

コンポーネント シミュレーションにSimulink HDL Verifierソフトウェアが通信する方法

HDL シミュレーターをSimulink®アプリケーションにリンクすると、HDL シミュレーターはサーバーとして機能します。次の図が示すように、 Simulinkモデル内の HDL Cosimulation ブロックは、[ポート] ペインの出力ポートを介して HDL シミュレーターでシミュレーション中の HDL モジュールから信号を受け取り、[ポート] ペインの入力ポートを介してデータを返します。 「ポート」ペイン。

メモ

この構成は、 Vivado®協調シミュレーションではサポートされていません。

Simulink が協調シミュレーション信号を駆動する方法

HDL Cosimulationブロックの出力端子を HDL モデル階層内の任意の信号にバインドできますが、信号を入力端子に接続する場合は注意が必要です。バインドしている信号に他のドライバーが含まれていないことを確認したいと考えています。存在する場合は、解決されたロジック タイプを使用します。そうしないと、予期しない結果が生じる可能性があります。

複数のドライバーを持つ信号を使用する必要があり、それが解決されている場合 (たとえば、 VHDL®タイプSTD_LOGIC)、 Simulink は、信号のSimulinkサンプル レートで定義された各タイム ステップで分解能関数を適用します。他のドライバーによっては、 Simulink値が適用される場合と適用されない場合があります。さらに、 Simulink は、サンプル時間の間に発生する信号の変化を制御できません。

メモ

コシミュレーションで使用される信号に読み取り/書き込みアクセス権があることを確認します。HDL シミュレーターを通じて読み取り/書き込みアクセスを確認できます。詳細については、HDL シミュレーターのドキュメントを参照してください。

このルールは、 PortsClocks、およびSimulationペイン上のすべての信号、および他の方法でモデルに追加された信号に適用されます。 。

コンポーネント協調シミュレーション中のマルチレート信号

HDL Verifier™ソフトウェアは、単一のHDL Cosimulationブロック内で、マルチレート信号、つまりさまざまなレートでサンプリングまたは更新される信号の使用をサポートします。HDL Cosimulationブロックは、各信号のデータをその信号の Simulinkサンプル レートで交換します。入力信号の場合、 HDL Cosimulationブロックはすべての信号レートを受け入れ、尊重します。

HDL Cosimulationブロックを使用すると、出力端子ごとに独立したサンプル時間を指定することもできます。各出力ポートのサンプル時間を明示的に設定するか、デフォルトを受け入れる必要があります。この設定を使用すると、 Simulink がHDL シミュレータから対応する信号を読み取って出力ポートを更新する速度を制御できます。

連続時報

Simulink Zero-Order Holdブロックを使用して、 HDL Cosimulationブロックにドライブされる連続信号にゼロ次ホールド (ZOH) を適用します。

コンポーネント シミュレーション用の HDL Cosimulation ブロックの機能

HDL Verifier HDL Cosimulationブロックは、HDL シミュレーターで同時にシミュレーションしているハードウェア コンポーネントをSimulinkモデルの残りの部分にリンクします。

Simulinkと HDL シミュレーターをリンクするには、次の 2 つの方法があります。

  • 単一のHDL Cosimulationブロックとして、より大きなシステム指向のSimulinkモデルのフレームワークに適合します。

  • Simulinkモデルは、それぞれが特定のハードウェア コンポーネントを表すHDL Cosimulationブロックのコレクションで構成されます。

ブロック マスクには、ポートと信号の情報の入力、通信モードの設定、クロックの追加 (Xcelium™およびModelSim®のみ)、シミュレーション前およびシミュレーション後の Tcl コマンドを指定するためのパネルが含まれています。 (XceliumとModelSimのみ)、タイミング関係を定義します。

VHDLまたはVerilog®でモデルのコンポーネントの 1 つをコーディングし、HDL シミュレーター環境でシミュレートした後、HDL 表現をSimulinkに統合します。 $モデルをHDL Cosimulationブロックとして作成します。サポートされている HDL シミュレーターごとに 1 つのブロックがあります。これらのブロックは、 Simulinkブロック ライブラリ内のHDL Verifierライブラリにあります。例として、 Mentor Graphics® ModelSimで使用するブロックを次の図に示します。

HDL Cosimulationブロックを構成するには、ブロックパラメーターダイアログ ボックスでパラメーターの値を指定します。HDL Cosimulationブロックパラメーターダイアログ ボックスは、次の情報を指定するタブ付きペインで構成されます。

  • ポートペイン:HDL デザインの信号 (内部信号を含む)、および出力サンプル時間に対応するブロック入力ポートと出力ポート。

  • 接続ペイン:シミュレータ間でデータを交換するために使用される通信のタイプと関連設定。

  • タイムスケールペイン:Simulinkソフトウェアと HDL シミュレーターの間のタイミング関係。

  • 時計ペイン (XceliumおよびModelSimのみ):モデルに適用するオプションの立ち上がりエッジおよび立ち下がりエッジ クロック。

  • シミュレーション ペイン (XceliumおよびModelSimのみ):シミュレーションの前後に実行する Tcl コマンド。

参考