スキャンテストとBISTの違い:パターンの作り方・テスター・対象・追加回路・用途を比較
スキャンテストは、チップの中のフリップフロップをつないでシフトレジスタ(スキャンチェーン)にし、外部のテスターからテストパターンを送り込んで、回路の応答を取り出して期待値と比べる方法です。パターンはATPGのツールがネットリストから作ります。BISTは、パターンを作る回路と結果を判定する回路をチップの中に組み込み、チップ自身がテストを行う方法です。量産のテストでは、ロジックにはスキャンテスト、内蔵メモリにはメモリBISTを使う組み合わせが一般的で、BISTは出荷後の自己診断にも使えます。
| 項目 | スキャンテスト | BIST(組み込み自己テスト) |
|---|---|---|
| 基本の考え方 | フリップフロップをスキャンチェーンにつなぎ、パターンをシフトで入れて1回動かし、結果をシフトで取り出して比べる | パターンを作る回路と応答を判定する回路をチップに内蔵し、チップ自身がテストして合否を出す |
| テストパターンの作り方 | ATPGがネットリストから、縮退故障や遷移遅延故障を狙った決定的なパターンを作る | ロジックBISTはLFSRで疑似ランダムなパターンを作る。メモリBISTはマーチテストなどの決まった手順でアドレスとデータを作る |
| 応答の判定 | テスターが期待値と比べる(テスト圧縮では、チップ内で圧縮した応答を比べる) | ロジックBISTはMISRで応答を圧縮したシグネチャを期待値と比べる。メモリBISTは読み出した値を比較器で直接確かめる |
| テスターへの依存 | パターンと期待値をテスターのメモリに持つ。スキャン用の端子と、テスターの性能・メモリ容量が必要 | 開始の指示と結果の読み出し(JTAGなど)だけで済み、簡単なテスターでよい |
| 主な対象 | ロジック回路(組み合わせ回路とフリップフロップ) | メモリBISTは内蔵のSRAMなどのメモリ。ロジックBISTはロジック回路 |
| 故障検出率 | 狙った故障に向けてパターンを作るので高くしやすい | ロジックBISTは疑似ランダムでは見つけにくい故障が残りやすく、テストポイントの挿入で補う。メモリBISTはメモリの故障モデルに合わせた手順で高い検出率が得られる |
| 追加する回路 | フリップフロップをスキャンフリップフロップ(切り替えのマルチプレクサつき)に置き換え、チェーンの配線を加える | パターン発生器、応答の圧縮器、制御回路が必要。ロジックBISTでは不定値(X)が出ないように回路を整える必要もある |
| テスト時間 | チェーンが長いとシフトに時間がかかり、テスターの速度にも制限される。テスト圧縮で短くする | チップ内のクロックで多数のパターンを速く流せる。ロジックBISTはパターンの数は多くなる |
| 使う時期 | 量産のウエハテストと最終テストが中心。不良品の故障診断にも使う | 量産のテストに加え、基板に実装した後の検査や、出荷後の電源投入時などの自己診断にも使える |
数値は代表的な目安で、世代や製品によって異なります。