フルICE
(full ICE)
オンチップエミュレータではないICE(In Circuit Emulator)のこと。別名:フルエミュレータ。
ターゲットのプロセッサ(CPU)が実装される箇所からケーブルでICEに回路を引き込み(In Circuit)、ICEに実装したCPUと、メモリに格納したソフトウェアで、ターゲットのハードウェアを含めて動作が正常かを確認(Emulation)する。多くの機能があるのでフルの機能があるICE。その後JTAG(ジェイタグ)など、CPUの多くが内部にデバッグ機能を搭載するようになり、これを利用した簡易(フル機能ではない)ICE(JTAG ICEなど)をオンチップエミュレータと呼んだ。ターゲットにCPUを実装した状態(On Chip)でデバッグを行う。そして従来ICEはフルICEと呼ばれるようになった(オンチップエミュレータの出現まではICEはすべてフルICEなのでこの言葉は無かった)。初めてのCPUを採用時にはオンチップエミュレータでは機能不足で、フルICEが使われることも多いが、現在は主要なICEメーカはフルICEを作っていない(ICEの主流はオンチップエミュレータ)。
ICEのトップベンダーだったソフィアシステムズ(現Sohwa&Sophia Technologies)の用語集には以下の説明がある。フルICEとは、一般的にエミュレーションメモリリアルタイムトレース機能がサポートされている高機能インサーキットエミュレータを言う。そもそもICEはフルICEを指す。ICEはCPUベンダーから供給されるICE専用エバチップを利用するものや実CPUの機能を使ったタイプがある。フルICEは、ユーザボード上のCPUを外してその代わりにプローブ(CPUが内蔵されたもの)を挿して実CPUが動作しているエミュレート環境を作り、それによりCPUのリアルタイムなエミュレートが可能となる。外部メモリ(ROM、RAM等)を代替するエミュレーションメモリ機能があり、プログラムのダウンロード変更等が容易にできる。特に外部バス情報をリアルタイムに検証するリアルタイムトレース機能は、プログラムデバッグに欠かせないもので、探すのが難しいバグを瞬時に発見することも可能で、フルICEの最も大きな長所と言える。開発初期段階の周辺デバイスとのインタフェースの整合性を調べたり、デバイスドライバー作成時の不具合発見などに有効。「フル・インサーキットエミュレータ(full In Circuit Emulator)」という呼び方もされる。