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コンソーシアムによって指定される)を通じて、接続されたシステムに関する情報を取得する。
ターゲット・ラン・コントロール
マルチコアシステム用に設計された実行制御。これらの呼び出しに対するシステムの処理ユニットの反応は、コアごとに設定できる。
トリガーサポート
一般的なトリガーインターフェイスで、定義済みのトリガータイプ(ブレークポイント用など)を提供し、カスタマイズも可能。
トレース・サポート
一般的なトレース・インターフェース。定義済みのトレース・ソースを提供し、カスタマイズも可能。
メモリとレジスタへのアクセス
トランザクション・リストを使用した、統一されたメモリおよびレジスタ・アクセス・メカニズム。