Vitis Model Composer Hub で Target を IP Catalog か System Generator のいずれかに指定し、検証フローをオンにした場合、Model Composer で C/RTL 協調シミュレーションが使用され、RTL 出力が検証されます。目的は、RTL シミュレーションの結果が Simulink シミュレーションの結果と一致するかどうかを検証することです。この場合、検証フローは次のようになります。
- Model Composer モデルが Simulink でシミュレーションされ、テスト ベクターが signals.stim に取り込まれます。
- Model Composer で C/C++ コードと C テストベンチ tb.cpp が生成されます。
- Model Composer で C 合成が実行され、RTL 出力が生成されます。
- Model Composer で C/RTL 協調シミュレーションが実行されます。具体的には、次が実行されます。
- Model Composer で生成された C++ コードが Simulink シミュレーション signals.stim と比較され、正しいことが確認されます。
- RTL からの出力スティミュラスと C/C++ 出力が比較され、Model Composer で生成された RTL コードが正しいことが確認されます。ヒント: 検証が終了すると、Model Composer で RTL が Model Composer HDL モデル用の IP としてエクスポートされるか、Vivado で使用できる IP にパッケージされます。
- C シミュレーションおよび C/RTL 協調シミュレーションが問題なく終了したか、エラーとなったかが返されます。C シミュレーションがエラーになった場合は、C/RTL シミュレーションが実行される前にプロセスが停止します。