オンチップ・エミュレータ

オンチップ・エミュレータ（）は、基板上にマイクロプロセッサを実装した状態 (on-chip) でプログラムのデバッグを行うことのできる装置の総称で、主に組み込みシステムでのプログラム開発に使用する。ターゲットとなる基板とエミュレータ・ユニットをデバッグ用のインタフェースで接続し、さらにそのユニットとホストとなるパソコンをUSBやイーサネットなどで接続する形態が一般的である。
オンチップ・エミュレータの特徴.
従来のインサーキット・エミュレータ(オンチップ・エミュレータに対して、"フルICE"とも呼ばれる)と比べると機能は大幅に劣るが、低コストであること、プロセッサとの接続が簡単であることなどの利点がある。ただし装置の性質上、プロセッサが電気的に正しく動作する状態でなければ使用できないため、そこに至るまでの開発過程には不向きである。また直接CPUバスに接続されないため、リアルタイムなバス動作の履歴をサンプルするバストレースが不可能になる。
ただし最大の利点としては、基板上のマイクロプロセッサをプローブに差し替えるフルICEに対し、オンチップ・エミュレータはマイクロプロセッサを基板上に実装したままデバッグが行えるため、製品と同等の電気的特性を維持したままプログラムの評価が可能になる。このためバスクロックが高速化し、フルICEでは対応できなかったマイクロプロセッサでもデバッグが可能となり、パッケージにも左右されないため、2000年以降はインサーキット・エミュレータの主流になっている。
リアルタイムトレースに関しても、バストレースは不可能であるが、CPU内蔵のデバッグ機能 ("On-Chip debug")を用いてプログラムやデータのトレース実現している。
主なオンチップ・エミュレータ.
オンチップ・エミュレータでは、ホストパソコンの操作に応じてプロセッサとエミュレータ・ユニットが通信を行い、内部のレジスタや、バス接続されたROMやRAMなどのデバイスの情報を取得、変更することで、エミュレートを実現している。その一例を以下に示す。