エミュレーション(ハードウェアエミュレーション)とは、設計中のチップの回路を、専用のハードウェアの上に組み込んで実際に動かし、チップが完成する前に動作を確かめる検証の方法です。ソフトウェアで回路の動きを1つずつ計算する論理シミュレーションに比べて、数百倍から数千倍以上速く動かせるため、OSを起動したり、実際のアプリケーションを走らせたりする大規模な検証ができます。
論理シミュレーションは、回路の細部まで見えて使いやすい一方、数十億個のトランジスタを持つSoCを動かすと、1秒分の動作を計算するのに何日もかかることがあります。エミュレータは、専用のプロセッサやFPGAを大量に並べた装置に、RTLで書いた回路を変換して書き込み、MHz程度の速さで動かします。FPGAを使ってさらに速く動かすFPGAプロトタイピングという方法もあり、ソフトウェアの開発者が実際のチップに近い環境でプログラムを試すのに使われます。
チップの設計で、テープアウトの後に誤りが見つかると、マスクを作り直して製造をやり直す必要があり、数か月の遅れと大きな費用がかかります。エミュレーションで早い段階に、ハードウェアとソフトウェアを組み合わせた検証を進めておけば、そのリスクを減らせます。チップの完成を待たずにソフトウェアの開発を始められることから、開発期間の短縮(シフトレフト)にもつながります。主なエミュレータは、Cadence、Synopsys、Siemens EDAの3社が提供しています。