このページは機械翻訳を使用して翻訳されました。元の英語を参照するには、ここをクリックします。
Simulinkコシミュレーションセッションを実行する
Simulink モデル構成パラメータを設定する
1 つ以上の HDL Verifier™ コシミュレーション ブロックを含む Simulink® モデルを作成する場合、HDL モデリングのニーズに最も合うように特定の Simulink パラメータ設定を調整することが必要な場合があります。たとえば、[モデル構成パラメータ] ダイアログ ボックスの Solver ペインで Stop time パラメータの値を調整する必要がある場合があります。
パラメータを個別に調整することも、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 ドキュメントを参照してください。
利用可能なソケットポート番号を決定する
使用可能なソケット番号を確認するには、MATLAB® コマンド プロンプトに次のように入力します。
getAvailableSocketPort
接続ステータスを確認する
接続ステータスを確認するには、[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」を指定できますが、HDL Verifier では GUI の使用がデフォルト モードであるため、指定する必要はありません。
コマンドライン インターフェイス (CLI) を使用した Simulink とのコシミュレーション
コマンドライン インターフェイスを使用してコシミュレーション セッションを実行すると、コシミュレーション中に HDL シミュレーターと対話できるため、デバッグに役立ちます。
CLI を使用するには、HDL Verifier HDL シミュレータ起動コマンドの実行モード パラメータのプロパティ値として "CLI" を指定します。
注意
コマンドプロンプトに「quit -f
」と入力してターミナルウィンドウを閉じます。右上隅の「X」をクリックしてターミナル ウィンドウを閉じないでください。これにより、システムからメモリタイプのエラーが発行されます。これは HDL Verifier のバグではなく、このコンテキストでの HDL シミュレータの動作方法です。
HDL シミュレーターで CTRL+C と入力してシミュレーションを中断して終了できますが、この操作によってもメモリ タイプ エラーが表示されます。
バッチモードを使用したSimulinkとのコシミュレーション
コシミュレーション セッションをバッチ モードで実行すると、プロセスをバックグラウンドで維持でき、GUI を解除することでメモリの需要が軽減されます。
バッチ モードを使用するには、HDL Verifier HDL シミュレータ起動コマンドの実行モード パラメータのプロパティ値として "Batch" を指定します。バッチ モードを指定して HDL Verifier HDL シミュレータ起動コマンドを発行した後、Simulink でシミュレーションを開始します。シミュレーションが完了する前に HDL シミュレータを停止するには、breakHdlSim
コマンドを発行します。
テストコシミュレーション
協調シミュレーション中にクロックをリセットする場合は、次のいずれかの方法で行うことができます。
HDLシミュレータのコマンドプロンプトでHDLシミュレータ
force
コマンドを入力するHDL Verifier コシミュレーション ブロック パラメータ ダイアログ ボックスの Simulation ペインの Post- simulation command テキスト フィールドに HDL シミュレータ
force
コマンドを指定します。
クロック、リセット、およびイネーブル信号も参照してください。
HDL コシミュレーション ブロック パラメータを含む 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 コマンドを単一のコシミュレーション ブロックに指定し、コマンドまたは DO ファイルの最後に quit
を配置します。
quit
を除き、指定するコマンドまたは DO ファイルには、ModelSim プロジェクトをロードしたりシミュレータの状態を変更したりするコマンドを含めることはできません。たとえば、start
、stop
、restart
などのコマンドを含めることはできません。
Xcelium™ ユーザー向け Tcl スクリプト
Tcl コマンドをリストする HDL シミュレータ Tcl スクリプトを作成し、次のように HDL シミュレータ source
コマンドでそのファイルを指定できます。
source mycosimstartup.script_extension
または
source mycosimcleanup.script_extension
シミュレーション後の Tcl スクリプトに exit
コマンドを含めると、コシミュレーション セッションの終了時に HDL シミュレータを強制的にシャットダウンできます。シミュレーション後のすべての Tcl コマンドを単一のコシミュレーション ブロックに指定し、コマンドまたは Tcl スクリプトの最後に exit
を配置します。
exit
を除き、指定するコマンドまたは Tcl スクリプトには、HDL シミュレータ プロジェクトをロードしたりシミュレータの状態を変更したりするコマンドを含めることはできません。たとえば、run
、stop
、reset
などのコマンドを含めることはできません。
この例は、-gui
引数が hdlsimmatlab
または hdlsimulink
と共に使用された場合の Tcl スクリプトを示しています。
after 1000 {xmsim -submit exit}
この例は、-tcl
引数が hdlsimmatlab
または hdlsimulink
とともに使用された場合に使用する Tcl 終了スクリプトを示しています。
after 1000 {exit}
テストベンチコシミュレーションとHDL Verifier HDLコシミュレーションブロックを使用してHDLシミュレーションの競合状態を回避する
HDL シミュレータでは、HDL コシミュレーション ブロックで定義されたクロック信号 (立ち上がりエッジまたは立ち下がりエッジ) が、これらのクロックによって駆動されるデータ入力に対して適用される順序を制御することはできません。データとクロックのアクティブ エッジの関係を慎重に検証すると、異なるコシミュレーション結果を生み出す可能性のある競合状態を回避できます。HDL シミュレータにおける競合状態を参照してください。