MCD API
実ハードウェアとソフトウェアシミュレーションの両方に対する統一されたデバッグインターフェース
今日、SoCの設計フローは、高レベルのシミュレーションから最終的な統合ハードウェアまで、いくつかの抽象レベルにまたがっています。このような設計を通じて、高品質な設計を短時間で実現するために、様々な既製の知的財産(IP)コンポーネントが組み立てられています。SPRINT(Open SoC Design Platform for Reuse and Integration of IPs)プロジェクトは、相互運用可能で再利用可能なIPの作成と、ハイクラスSoCへの効率的な統合をサポートする標準ベースのプラットフォームの開発に挑戦しています。SPRINTコンソーシアムには、プロバイダーとユーザーの両方を含む、IPビジネスの多くの企業や研究施設が参加しています。
このプロジェクトの範囲内で、ARM 、Infineon Technologies、ローターバッハ 、NXP Semiconductors、STMicroelectronics、TIMA Laboratoryが共同でMCD APIを作成しました。このAPIは、リアルハードウェアとソフトウェアシミュレーションの両方に統一されたデバッグインターフェースをデバッグツールに提供するために設計されました。これによりエンジニアは、仮想プロトタイプからリアルハードウェアへの移行中に他のデバッグツールに切り替えることなく、SoCプラットフォームの設計フローの早い段階でアプリケーション開発を開始することができます。さらに、MCD APIは、今日のSoC設計の複雑さにより避けられないマルチコアデバッグにも対応しています。SPRINTプロジェクトでの実験により、このインターフェースの実現可能性と適用性が証明されました。
パワフルだがシンプルなCインターフェイス
MCD APIは、マルチコアSoCのアプリケーション・デバッグを効率的に行うために必要な手段を提供し、以下の機能を提供するサブAPIのセットが付属しています:
ターゲットコネクション
デバッグツールをマルチコアシステムに接続するためのデバッグサーバーの接続、立ち上げと設定。システムの複数のコアを同時にツールに接続できます。
対象システム
APIファンクションコールおよびIP-XACT記述(SPIRITコンソーシアムによって指定される)を通じて、接続されたシステムに関する情報を取得します。
ターゲット実行制御
マルチコアシステム用に設計された実行制御。これらの呼び出しに対するシステムの処理ユニットの反応は、コアごとに設定できます。
トリガーサポート
一般的なトリガーインターフェースで、定義済みのトリガータイプ(ブレークポイント用など)を提供。カスタマイズも可能です。トリガーバスを経由したクロストリガーも可能です。
トレースサポート
一般的なトレースインターフェース。定義済みのトレースソースを提供し、カスタマイズも可能です。
メモリとレジスタへの
アクセス
トランザクションリストを使用した、統一されたメモリおよびレジスタアクセスメカニズム