概要
インテル® CoFluent™ Studio (CoFluent) は、アーキテクチャーや設計に関してパフォーマンス評価と早期最適化を実現するシステム・モデリング / シミュレーション・ツールです。
インテル® CoFluent™ Studio は、設計空間の調査を容易にし、What-If 分析をスピードアップすることで、イノベーションを促進します。アーキテクチャーのパフォーマンスが最適化され、リソース活用が最大化されるため、開発コストを削減できます。インテル® CoFluent™ Studio を利用することで、設計サイクルの初期段階でシステム・アーキテクチャーを分析できます。これにより、設計のやり直しを最小限に抑え、市場投入を加速できます。
2004 年以降、CoFluent ソリューションは、システム・オン・チップ (SoC) 市場やコンシューマー向け電子機器市場で広く採用されています。インテル® CoFluent™ Studio の最新リリースでは、エンドツーエンドの IoT システムをシミュレーションし、ビッグデータ・クラスターの最適なディメンションを決定することができます。
インテル® CoFluent™ Studio は、あらゆる電子システムの挙動、タイミング要求、アーキテクチャー、パフォーマンス評価のモデリングとシミュレーションに使用できます。これには、スループット、レイテンシー、負荷、メモリー、コストに関するパフォーマンス評価も含まれます。例えば、インテル® CoFluent™ Studio は、IoT やハードウェア (HW)、知的財産 (IP)、組込みソフトウェア (SW) アプリケーション、HW / SW 混合マルチプロセッサー・システムといった各種システムのモデリングとシミュレーションを行うことができます。生成された CoFluent モデルは、挙動の検証、実行可能な仕様、パフォーマンス分析、機能的アーキテクチャーなどに利用できます。
CoFluent 内の挙動は、直感的なグラフィカル表示や C / C++ コードで記述されます。CoFluent により、アルゴリズムを定義していなくても、単独実行時間に抽象化できます。インテル® CoFluent™ Studio では、各コンポーネント / IP コアのモデルを通じて、ソフトウェア・アプリケーション・コードやファームウェア、プラットフォームの正確な記述なしに、挙動やパフォーマンスを評価できます。
モデリングのフロー
組込みシステムやチップを開発する上で、優れた仕様が重要であることは間違いありません。ただし、システムの仕様が定まったとしても、選択した設計が、機能要件をはじめとするシステムの各種要件を満たすかどうかは別の問題です。したがって、単にドキュメントや図表を用意するのではなく、モデルを構築する方が優れたソリューションと言えます。つまり、モデルを構築、実行し、検査や検証を行うことのできるソリューションが理想的です。
インテル® CoFluent™ Studio を利用すれば、シンプルなグラフィカル・モデルを通じて、設計意図やシステム・ユースケースを把握できます。このモデルでは、システムやユースケースの挙動は、特定の論理的目標を達成するためにアクションとインタラクションを行う並行プロセスのネットワークとして表現されます。プロセス間のデータフローと制御フロー、ならびに各プロセスのフローは、グラフィカルな表現で個別に記述されます。また、C / C++ / SystemC がアクション言語として使用されます。
インテル® CoFluent™ Studio では、2 種類のモデリングを行うことができます。
- 挙動モデリング: これは統計モデリングやトークンベース・モデリングとも呼ばれます (図 1 参照)。挙動モデリングでは、データタイプやアルゴリズムを定義していなくても、データの通信や演算が単独実行時間に抽象化されます。これは、プロセスの並列実行や、プロセス間の通信、同期を時系列に沿って検証する際に役立ちます。
- 機能モデリング: 機能モデリングでは、データタイプやアルゴリズムは、システムが実行する実際のデータ定義と処理に対応します。データタイプやアルゴリズムは、C / C++ / SystemC で定義されるか、MATLAB* で記述されます。
また、モデルの実行時間は、キャリブレーション・データからバックアノテートできます。実行時間は、C / C++ コードのホストベース・プロファイリングによって測定するか、特定の変動範囲内で調査できます。インテル® CoFluent™ Studio により、時間と労力をかけずに、モデルを記述してシミュレーション結果を手に入れることができます。
システムのユースケースを把握することで得られる SystemC テストケースは、他の SystemC ベースのシミュレーション環境や検証環境で再利用できます。これにより、具体的なモデルや詳細なモデル、最終実装を検証することができます。手動コーディングと比較した場合、インテル® CoFluent™ Studio のグラフィカル抽象化と自動コード生成は、生産性を大幅に高めます。その結果、複雑で現実的なテストケースを構築できます。