スキャンテストとBISTの違い:パターンの作り方・テスター・対象・追加回路・用途を比較

スキャンテストは、チップの中のフリップフロップをつないでシフトレジスタ(スキャンチェーン)にし、外部のテスターからテストパターンを送り込んで、回路の応答を取り出して期待値と比べる方法です。パターンはATPGのツールがネットリストから作ります。BISTは、パターンを作る回路と結果を判定する回路をチップの中に組み込み、チップ自身がテストを行う方法です。量産のテストでは、ロジックにはスキャンテスト、内蔵メモリにはメモリBISTを使う組み合わせが一般的で、BISTは出荷後の自己診断にも使えます。

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

数値は代表的な目安で、世代や製品によって異なります。

どんなときに使うか

スキャンテスト
量産のテストで、ロジックの構造上の故障を高い検出率で見つけたいとき。不良になったチップの故障の場所を絞り込みたいとき。
BIST
外部から直接アクセスしにくい内蔵メモリのテスト。テスターの端子やメモリを減らしたいとき。車載などで、出荷後に電源投入時や走行前の自己診断が必要なとき。
組み合わせ
実際のチップでは、ロジックにスキャンテスト(テスト圧縮つき)、メモリにメモリBISTを使うのが一般的です。ロジックBISTもスキャンチェーンを土台にして動きます。

よくある質問

BISTがあれば、スキャンテストは要りませんか?

多くのチップでは両方を使います。ロジックBISTは疑似ランダムなパターンを使うので、見つけにくい故障が残りやすく、量産のテストではATPGで作ったパターンによるスキャンテストで高い故障検出率を確保するのが一般的です。メモリは規則的な構造なので、メモリBISTでテストします。

ロジックBISTとスキャンテストはどう関係していますか?

ロジックBISTもスキャンチェーンを使います。LFSRが作ったパターンをチェーンに送り込み、回路を動かしたあとに出てきた応答をMISRで圧縮して、最後にできたシグネチャを期待値と比べます。スキャン設計が土台になっています。

内蔵メモリのテストにBISTがよく使われるのはなぜですか?

チップに埋め込まれたメモリは外部の端子から直接読み書きしにくく、また構造が規則的なので、マーチテストのような決まった手順のアドレスとデータを小さな回路で作れるからです。見つけた不良のビットを予備の行や列に置き換える修復と組み合わせることも多いです。

車載のチップで、電源投入時にBISTを行うのはなぜですか?

出荷した後に生じた故障や、ふだんの動作では表に出ない潜在故障を見つけるためです。BISTはテスターがなくてもチップ自身で実行できるので、車の中での自己診断に使えます。

理解度チェック

テスト容易化設計(DFT)の一つであるスキャン設計の説明として正しいものはどれか。

  1. Aチップの表面を光学顕微鏡で走査して欠陥を探す
  2. Bテスト時に電源電圧を徐々に上げて動作限界を調べる
  3. C回路内のフリップフロップをシフトレジスタ状につなぎ、内部状態の設定と観測を容易にする
答えと解説を見る

正解:C. 回路内のフリップフロップをシフトレジスタ状につなぎ、内部状態の設定と観測を容易にする

スキャン設計では、各フリップフロップの入力に切り替えのセレクタを付け、テストのときはそれらを数珠つなぎ(スキャンチェーン)にして、外部から任意の値をシフトで設定し、内部の値をシフトで読み出せるようにします。順序回路のテストが組み合わせ回路のテストに置き換わるため、ATPGで高い故障検出率のパターンを自動生成できます。顕微鏡での走査や電圧の掃引とは別物です。

BIST(組み込み自己テスト)の説明として正しいものはどれか。

  1. A外部のテスタだけですべてのテストを行う
  2. Bテスト用の回路をチップ内に組み込み、チップ自身でテストを行う
  3. C人の目で外観を検査する
答えと解説を見る

正解:B. テスト用の回路をチップ内に組み込み、チップ自身でテストを行う

BISTは、テストパターンの生成回路と結果の判定回路をチップに内蔵し、チップ自身でテストを実行する仕組みです。メモリ用のMBISTはマーチテストなどのパターンを高速に発生させ、論理回路用のLBISTは擬似乱数のパターンを使います。高価なテスタへの依存とテスト時間を減らせるほか、車載用では電源を入れるたびに出荷後も自己診断できる利点があります。

回路のネットリストから、故障を検出するためのテストパターンを自動で生成することを何と呼ぶか。

  1. ADRC
  2. BATPG(自動テストパターン生成)
  3. CCTS
答えと解説を見る

正解:B. ATPG(自動テストパターン生成)

ATPGは、縮退故障などの故障モデルにもとづいて、各故障を出力まで伝えて検出できる入力パターンを、ネットリストから自動で生成する技術です。スキャン設計と組み合わせることで、数億ゲートの回路でも高い故障検出率のパターンを効率よく作成できます。DRCはレイアウトの設計ルールの検査、CTSはクロックツリーの合成で、どちらも設計の工程です。

  1. テストパターンの故障検出率(フォールトカバレッジ)の定義として正しいものはどれか。
  2. スキャンテストのデータ量とテスト時間を減らすため、チップ内でテストパターンを展開し、応答を圧縮する技術を何と呼ぶか。
  3. 車載マイコンで、電源を入れたときや走行の前などに、ロジックBISTやメモリBISTを実行する機能安全上の主な目的はどれか。

テスト・検査の練習問題へ

関連する用語の解説

スキャンテスト
回路の中のフリップフロップを鎖状につないだスキャンチェーンを使い、内部の状態を設定・観測してテストする方法。
BIST(組み込み自己テスト)
テスト用の回路をチップ内に組み込み、チップ自身でテストパターンの生成と結果の判定を行う仕組み。メモリのテストなどで広く使われる。
ATPG(自動テストパターン生成)
回路のネットリストから、故障を検出するためのテストパターンを自動で生成すること。スキャン設計と組み合わせて使う。
故障検出率(フォールトカバレッジ)
想定した故障のうち、そのテストパターンで検出できる故障の割合。高いほど不良品を見逃しにくい。
DFT(テスト容易化設計)
スキャンチェーンやBISTなど、テストしやすくする仕組みをあらかじめ回路に組み込む設計手法。

関連する比較