Main Content

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

Simulink協調シミュレーション セッションを実行する

Simulinkモデル コンフィギュレーションパラメーターの設定

1 つ以上のSimulink® HDL Verifier™ モデルを作成する場合、特定のSimulinkパラメーター設定を最適な値に調整することが必要な場合があります。 HDL モデリングのニーズを満たします。たとえば、[モデル コンフィギュレーパラメーター]パラメーターボックスのStop timeペインでSolverパラメーターの値を調整することができます。

パラメーターを個別に調整することも、 DSP System Toolbox™ Simulinkモデル テンプレートを使用して、デジタルの推奨設定でSimulink環境を自動的に構成することもできます。信号処理モデリング。

パラメーターデフォルト設定
'SingleTaskRateTransMsg''error'
'Solver''fixedstepdiscrete'
'EnableMultiTasking''off'
'StartTime''0.0'
'StopTime''inf'
'FixedStep''auto'
'SaveTime''off'
'SaveOutput''off'
'AlgebraicLoopMsg''error'

SaveTimeおよびSaveOutputのデフォルト設定により、シミュレーションのパフォーマンスが向上します。

DSP System Toolbox Simulinkモデル テンプレートの詳細については、 DSP System Toolboxのドキュメントを参照してください。

使用可能なソケット ポート番号を決定する

使用可能なソケット番号を確認するには、 ttcp -aシェル プロンプトを使用します。

接続ステータスを確認する

接続ステータスを確認するには、 「Modeling」タブの「Compile」セクションで、 「Update Model」をクリックします。接続にエラーが発生した場合は、 Simulinkが通知します。

MATLAB®コマンドpingHdlSimを使用して接続ステータスを確認することもできます。-1 が返された場合は、HDL シミュレーターとの接続がありません。

協調シミュレーション モデルの実行とテスト

一般に、協調シミュレーションの最後の段階は、モデルを実行してテストすることです。協調シミュレーション セッション中またはセッション間にモデルを変更する場合は、注意しなければならない手順がいくつかあります。協調シミュレーションは、次の 3 つの方法のいずれかで実行できます。

Simulinkおよび HDL シミュレーター GUI を使用したコシミュレーション

HDL シミュレーターを起動し、HDL デザインをロードします。テストベンチのコシミュレーションの場合は、最初に HDL シミュレーターでシミュレーションを開始します。次に、 Simulinkの[Simulation]タブで、 [Run]をクリックします。 Simulinkはモデルを実行し、検出されたエラーを表示します。HDL シミュレータとSimulink GUI を交互に使用して、コシミュレーション結果を監視できます。

コンポーネントの協調シミュレーションの場合は、まずSimulinkでシミュレーションを開始してから、HDL シミュレーターでシミュレーションを開始します。

HDL Verifier HDL シミュレーター起動コマンドの実行モード パラメーターのプロパティパラメーターとして「GUI」を指定できますが、GUI の使用はHDL Verifierのデフォルト モードであるため、 、 あなたがする必要はありません。

コマンド ライン インターフェイス (CLI) を使用したSimulinkとの協調シミュレーション

コマンド ライン インターフェイスを使用して協調シミュレーション セッションを実行すると、協調シミュレーション中に HDL シミュレーターと対話できるため、デバッグに役立ちます。

CLI を使用するには、 HDL Verifier HDL シミュレーター起動コマンドの実行モードパラメーターのプロパティ値として「CLI」を指定します。

注意

コマンド プロンプトでquit -fと入力して、ターミナル ウィンドウを閉じます。右上隅の「X」をクリックしてターミナル ウィンドウを閉じないでください。これにより、システムからメモリ系エラーが発行されます。これはHDL Verifierのバグではなく、このコンテキストでの HDL シミュレーターの動作に問題があります。

CTRL+C を入力すると、HDL シミュレーターでシミュレーションを中断して終了できますが、このアクションメモリ タイプ エラーが表示されることもあります。

 nclaunch (Cadence Xcelium) で CLI モードを指定します。

 vsim (Mentor Graphics ModelSim) で CLI モードを指定します。

バッチ モードを使用したSimulinkとの協調シミュレーション

バッチ モードで協調シミュレーション セッションを実行すると、プロセスをバックグラウンドで維持できるため、GUI が切断されてメモリの需要が軽減されます。

バッチモードを使用するには、 HDL Verifier HDL シミュレータ起動コマンドの実行モードパラメーターのプロパティ値として「Batch」を指定します。バッチ モードを指定してHDL Verifier HDL シミュレータ起動コマンドを発行した後、 Simulinkでシミュレーションを開始します。シミュレーションが完了する前に HDL シミュレーターを停止するには、 breakHdlSimコマンドを発行します。

 nclaunch (Cadence Xcelium) でバッチ モードを指定します。

 vsim (Mentor Graphics ModelSim) でバッチ モードを指定します。

テスト協調シミュレーション

コシミュレーション中にクロックをリセットしたい場合は、次のいずれかの方法で行うことができます。

  • HDL シミュレーターのコマンド プロンプトで HDL シミュレーターforceコマンドを入力する

  • forcePost- simulation commandペインのSimulation テキスト フィールドに HDL シミュレータHDL Verifierコマンドを指定するコシミュレーション ブロックパラメーターダイアログ ボックス。

クロック、リセット、イネーブル信号も参照してください。

HDL Cosimulation ブロックパラメーターなど、 Simulinkモデルの一部を変更した場合は、それらの変更を反映するようにモデルを更新します。この更新は、次のいずれかの方法で実行できます。

  • シミュレーションを再実行する

  • [Modeling]タブの[Compile]セクションで、 [Update Model]をクリックします。

Tcl スクリプトからパラメーターを設定する

HDL シミュレーター上でシミュレーション前またはシミュレーション後に実行する Tcl コマンドをリストする Tcl スクリプトを作成できます。

ModelSimユーザー向けの Tcl スクリプト

Tcl コマンドをリストしたModelSim DO ファイルを作成し、次のようにModelSim doコマンドでそのファイルを指定できます。

do mycosimstartup.do

または

do mycosimcleanup.do

シミュレーション後の Tcl コマンドまたは DO ファイルにquit -fコマンドを含めると、コシミュレーション セッションの終了時にModelSimを強制的にシャットダウンできます。すべてのアフターシミュレーション Tcl コマンドを 1 つのコシミュレーション ブロックに指定し、コマンドまたは DO ファイルの最後にquitを配置します。

quitを除き、指定するコマンドまたは DO ファイルには、 ModelSimプロジェクトをロードしたり、シミュレータの状態を変更したりするコマンドを含めることはできません。たとえば、 startstoprestartなどのコマンドを含めることはできません。

Xcelium™ユーザー向けの Tcl スクリプト

Tcl コマンドをリストする HDL シミュレーター Tcl スクリプトを作成し、次のように HDL シミュレーターsourceコマンドでそのファイルを指定できます。

source mycosimstartup.script_extension

または

source mycosimcleanup.script_extension

シミュレーション後の Tcl スクリプトにexitコマンドを含めると、コシミュレーション セッションの終了時に HDL シミュレーターを強制的にシャットダウンできます。すべてのアフターシミュレーション Tcl コマンドを 1 つのコシミュレーション ブロックに指定し、コマンドまたは Tcl スクリプトの最後にexitを配置します。

exitを除き、指定するコマンドまたは Tcl スクリプトには、HDL シミュレーター プロジェクトをロードしたり、シミュレーターの状態を変更したりするコマンドを含めることはできません。たとえば、 runstopresetなどのコマンドを含めることはできません。

この例は、 -gui引数がhdlsimmatlabまたはhdlsimulinkとともに使用された場合の Tcl スクリプトを示しています。

after 1000 {xmsim -submit exit}

この例は、 -tcl引数がhdlsimmatlabまたはhdlsimulinkとともに使用された場合に使用する Tcl 終了スクリプトを示しています。

after 1000 {exit}

テストベンチ協調シミュレーションとHDL Verifier HDL 協調シミュレーション ブロックを使用して HDL シミュレーションの競合状態を回避する

HDL シミュレーターでは、HDL Cosimulation ブロックで定義されたクロック信号 (立ち上がりエッジまたは立ち下がりエッジ) が、これらのクロックによって駆動されるデータ入力に対して適用される順序を制御できません。データとクロックのアクティブ エッジの間の関係を注意深く検証すると、異なる協調シミュレーション結果が生じる可能性がある競合状態を回避できます。HDL シミュレーターの競合状態を参照してください。