ハードウェア協調シミュレーション (HWCosim) は、モデルの中で最も計算負荷が高い箇所の一部またはすべてを、実際のターゲット FPGA プラットフォームで実行する手法です。ホスト システムは、協調シミュレーション インターフェイス (通常は JTAG またはポイント ツー ポイント イーサネット) を介してモデルにスティミュラスを供給し、その応答を処理します。この手法は、生成されたハードウェア デザインをターゲット プラットフォームで検証し、またハードウェア協調検証でモデル検証中のシミュレーションを高速化するのに便利です。
MATLAB/Simulink と System Generator for DSP を併用する場合、GUI ベースおよび MATLAB の M スクリプト ベースのハードウェア協調シミュレーションがサポートされています。GUI ベースのシミュレーションは、Simulink スケジューラで制御して実行され、モデルにフィードバック ループがある可能性があるため、1 クロック サイクルずつ進行します。
MATLAB の M スクリプト ベースのシミュレーションは、System Generator (M-HWCosim) で制御して実行され、System Generator トークンからのビットストリーム生成中に生成されたテストベンチで使用されるのが一般的です。これらのテストベンチには通常フィードバックはなく、既知の入力が使用されるので、大きなバッチでデバイスに転送できます。
以前のバージョンの System Generator for DSP (Vivado) では、基本的なハードウェア協調シミュレーションのみインプリメントされ、インターフェイスのパフォーマンスを最大限に活かすことができませんでした。コマンドおよび応答のパケットは、1 サイクルごとに送信され、帯域幅の一部しか利用できませんでした。最新版の System Generator for DSP では、これらを改善してパフォーマンスを向上しています。