TL

DFT・スキャンチェーンとBIST

製造後のチップに潜む故障を、なぜ少ないテストパターンで高い割合まで検出できるのか。スキャンチェーン・ATPG・テスト圧縮・BISTの原理と、カバレッジとテストコストの綱引きが原理から分かります。

応用DFTスキャンチェーンATPGBISTテストカバレッジ歩留まり最終更新: 2026-06-21
TL;DR要点だけ先に
  • 1.DFT(テスト容易化設計)の核はスキャン化で、全FFをシフトレジスタに繋ぎ替えて任意の内部状態を外から書き込み・読み出し可能にする。これで観測も制御もできない順序回路を、組合せ回路のテスト問題へ還元する。
  • 2.ATPG(テストパターン自動生成)は縮退故障モデルや遷移故障モデルに基づき、各故障を活性化して出力へ伝搬するパターンを探索する。テスト圧縮はパターンを符号化してテスト時間とデータ量を桁で削減する。
  • 3.MBIST/LBISTは回路自身がパターン生成と応答圧縮を行う自己テストで、外部ATEへの依存を減らす。テストカバレッジを上げるほど面積・テスト時間・コストが増える綱引きが本質。

なぜ「正しく設計したチップ」をさらにテストするのか

論理設計とタイミングが完璧でも、製造したチップが正しく動く保証はありません。ウェハ上では微小なパーティクルや欠陥がランダムに混入し、配線の断線・短絡やトランジスタの異常を引き起こします。これらは設計の誤りではなく製造起因の物理的欠陥であり、出荷前に1個ずつ選別して不良を排除する必要があります。この選別を行うのが製造テストです。

問題は、現代のチップが数十億トランジスタを持ち、内部のフリップフロップ(FF)を外部ピンから直接見ることも操作することもできない点にあります。テストとは結局「内部のある節点に望みの値を立て(制御性)、その応答を外部で観測する(観測性)」ことですが、深い順序回路ではこの2つが絶望的に乏しい。そこで設計段階であらかじめテストしやすい構造を埋め込むのが DFT(Design For Test、テスト容易化設計) です。DFTは/semiconductor/asic-design-flow/の合成後に挿入される、機能には現れない「テスト専用の回路」の追加です。

テストの本質的な2つの困難:

  制御性(Controllability): 内部の任意の節点に 0/1 を立てられるか
  観測性(Observability)  : 内部の応答を外部ピンで読めるか

  → 深い順序回路では両方とも極端に乏しい
  → DFTでこの2つを構造的に作り込む

スキャンチェーン ── 順序回路を組合せ回路問題へ還元する

DFTの中心技術がスキャン化(Scan)です。発想は単純かつ強力で、設計中のすべての(あるいは大半の)FFを、通常動作とは別に1本の長いシフトレジスタとして数珠つなぎにできるよう改造します。具体的には各FFの前にマルチプレクサ(MUX)を挿入し、scan_enable 信号でFFの入力を「通常のデータ」と「前段FFの出力(スキャン経路)」のどちらかに切り替えます。これをスキャンFFと呼びます。

スキャンFFの構成(FFの入力前にMUXを置く):

  通常モード (scan_enable=0): D入力 → FF   ← 機能動作
  シフトモード(scan_enable=1): scan_in → FF ← FF群が1本の
                                              シフトレジスタになる

このスキャンチェーンができると、テストは次の3ステップに分解されます。第一に scan_enable=1 でテストしたい内部状態を scan_in からシフト・インして全FFに任意値をロードする(=制御性を獲得)。第二に scan_enable=0 にして1サイクルだけ通常動作させ、組合せ回路の応答を各FFに捕獲(キャプチャ)する。第三に再び scan_enable=1 で全FFの値を scan_out からシフト・アウトして観測する(=観測性を獲得)。

ここが原理上の急所です。FFの値を自由に設定でき自由に読み出せるなら、FF間に挟まれた組合せ回路の塊だけを独立にテストすればよいことになります。つまりスキャン化は、解くのが極めて難しい「順序回路のテスト生成問題」を、よく確立された「組合せ回路のテスト生成問題」へと還元するのです。この還元こそがスキャンの理論的価値です。

スキャンシフトは低速、キャプチャは高速

シフト・イン/アウトは長いシフトレジスタを1ビットずつ送る動作で、チェーン長が数千段に及ぶため多数のサイクルを要します(テスト時間の主因)。一方キャプチャは1〜2サイクルだけで、ここだけは実動作速度に近い速度を使うこともあります。後述の遷移故障テストでは、このキャプチャ時のクロックを実速度で与える at-speed テストが前提になります。

ATPG ── 故障モデルに基づくパターン自動生成

スキャンで組合せ回路問題に還元できても、「どんな入力を与えれば欠陥を炙り出せるか」は別問題です。これを担うのが ATPG(Automatic Test Pattern Generation、テストパターン自動生成) です。ATPGはまず物理欠陥を扱いやすい故障モデルへ抽象化します。

最も基本的なのが縮退故障(Stuck-at Fault)モデルで、ある信号線が常に0に固着(stuck-at-0)または常に1に固着(stuck-at-1)したと仮定します。ある故障を検出するパターンは、(1) その節点を故障値の反対の値に駆動して故障を活性化し(stuck-at-0を見るなら1を立てる)、(2) その差分を観測可能な出力(スキャンFF)まで伝搬させる、の2条件を満たす入力です。ATPGはこれを各故障について探索し、論理含意(implication)と矛盾時の後戻り(backtrack)で解を求めます。

縮退故障の検出条件(例: 線 n の stuck-at-0 を検出):

  活性化: 線 n を 1 に駆動する(故障があれば 0 にずれる)
  伝搬  : n の値の差が、途中ゲートを通って
          観測点(出力/スキャンFF)まで届くよう側路入力を設定
  → この2条件を同時に満たす入力ベクトルが「テストパターン」

縮退故障だけでは捉えきれない欠陥もあります。遷移故障(Transition / At-speed Fault)モデルは「信号が0→1(または1→0)へ変化するのが遅すぎる」遅延欠陥を対象とし、2パターンを連続印加して実速度で遷移が間に合うかを見ます。これは/semiconductor/static-timing-analysis/が静的に保証するタイミングとは別物で、製造個体ごとの実遅延を捕まえる動的テストです。ほかにブリッジ故障(隣接線の短絡)、IDDQ(静止電源電流の異常)などのモデルも併用されます。

故障モデル捉える物理欠陥テスト方法クロック
縮退故障断線・固着(0/1に張り付く)1パターン印加低速で可
遷移故障遅延欠陥(変化が遅い)2パターン連続印加実速度(at-speed)
ブリッジ故障隣接配線の短絡対象パターン低速で可
IDDQリーク異常(微小短絡)静止電流を測定静止状態

テスト圧縮 ── パターン量とテスト時間を桁で削る

スキャンチェーンが長く故障数が膨大になると、パターンのデータ量とシフトに要するテスト時間が爆発します。テスト時間はチップ1個あたりのコストに直結し、テストコストは製造コストの無視できない割合を占めます。これを抑えるのが**テスト圧縮(Test Compression)**です。

原理は、外部ATE(テスタ)から少数本のチャネルだけを引き込み、チップ内部でデコンプレッサ(多くはXORネットワークやLFSRベースのリング)が、それを多数の短いスキャンチェーンへ展開します。出力側では多数チェーンの応答をコンプレッサ(MISR等の応答圧縮器)が少数本へ畳み込みます。これによりテスタとの間でやり取りするデータ量と、各チェーンが短くなることでシフトサイクル数の双方が、数十倍から100倍規模で削減されます。

テスト圧縮の構成:

  ATE(少数チャネル) → デコンプレッサ → 多数の短いスキャンチェーン
                                       → 組合せ回路 → 応答
                      ← コンプレッサ ← 多数チェーンの応答
                         (MISR等で畳み込み)

  鍵: ATPGパターンは大半が don't-care(X) なので符号化で圧縮できる

圧縮が効くのは、ATPGが生成するパターンの大半のビットが**don't-care(値が何でもよいX)**だからです。実際に故障検出に効くのは少数のビットだけで、残りを符号化で詰められる。これがテスト圧縮の数理的根拠です。

BIST ── チップ自身がテストする

外部ATEに依存せず、回路自身がパターン生成と応答判定を内蔵する方式が BIST(Built-In Self-Test、組込み自己テスト) です。大別して2系統あります。

MBIST(Memory BIST) は、SRAMやキャッシュなどオンチップメモリ専用の自己テストです。メモリは規則正しい配列なので、専用のステートマシンが Marchアルゴリズム(全アドレスを昇順・降順で読み書きする手順列)を流し、隣接セルの干渉や貼り付き、デコーダ故障などのメモリ特有の故障モデルを検査します。組込みメモリは外部ピンへの引き出しが乏しく、MBISTがほぼ必須です。

LBIST(Logic BIST) は論理回路向けで、内部に LFSR(線形帰還シフトレジスタ) を擬似乱数パターン生成器として持ち、スキャンチェーンへ乱数パターンを供給します。応答は MISR(Multiple-Input Signature Register) で1つのシグネチャ(圧縮値)に畳み込み、期待値と1個だけ比較して合否を判定します。膨大な応答を1個の指紋に潰すのがMISRの役割です。

LFSR乱数とdon't-careの相性 ── ランダム耐性故障

LBISTは擬似乱数を撒くだけなので外部パターンを保存せずに済み、フィールド復帰時の自己診断にも使えます(自動車・サーバーの起動時テスト等)。ただし乱数では検出しにくい故障(ランダムパターン耐性故障)が残るため、テストポイントの挿入で観測性・制御性を補ったり、ATPGの決定的パターンを併用したりして補強します。乱数だけで高カバレッジは出せない点に注意が必要です。

カバレッジとコストの綱引き ── どこで打ち切るか

DFT全体を貫くのがテストカバレッジとテストコストのトレードオフです。故障カバレッジ(検出できた故障数 ÷ 全故障数)を上げるほど不良見逃しは減りますが、必要パターン数が増えテスト時間が延び、スキャン回路やBISTの追加で面積・配線が増えます。

カバレッジを1ポイント上げる代償:

  パターン数増 → テスト時間増 → 1個あたりテストコスト増
  スキャン/BIST追加 → 面積増・タイミング余裕の消費・電力増
  最後の数%は「検出困難な故障」ばかりで急激にコスト高

カバレッジ曲線は典型的に逓減し、最後の数パーセントを詰めるコストが跳ね上がります。見逃し不良率(DPPM, Defective Parts Per Million)の目標は用途で大きく異なり、車載・医療では極めて高いカバレッジが要求される一方、民生品では緩めて単価を下げる判断もあります。この見逃しが歩留まりや市場不良率にどう響くかは/semiconductor/yield-defect-density/のコスト構造と表裏一体です。

歩留まり選別とDFTカバレッジは別概念

歩留まり(Yield)は「良品が作れた割合」、**テストカバレッジは「不良を検出できる割合」**で、別の指標です。仮にカバレッジが不完全だと、不良品が良品として出荷され(テストエスケープ)、市場不良率が悪化します。逆にカバレッジを上げてもそれ自体は歩留まりを上げません(不良は不良のまま検出されるだけ)。「テストは良品を増やさず、不良を選り分けるだけ」という区別が試験で頻出です。

さらに、複数ダイを1パッケージに集積する構成では、貼り合わせ前に各ダイを十分テストして**良品ダイ(Known Good Die)**を保証しないと、1つの不良ダイが高価なパッケージ全体を巻き込みます。この事情は/semiconductor/chiplet-interconnect/で扱うチップレット集積で特に深刻になり、DFTの重要性をいっそう押し上げています。

まとめ

  • DFTの核はスキャン化で、全FFをシフトレジスタ化して制御性と観測性を獲得し、難問の順序回路テストを組合せ回路テストへ還元する。
  • ATPGは縮退故障・遷移故障などの故障モデルに基づき、故障の活性化と出力への伝搬を満たすパターンを自動探索する。遷移故障は実速度(at-speed)テストで遅延欠陥を捕まえる。
  • テスト圧縮はデコンプレッサ/コンプレッサでデータ量とシフトサイクルを桁で削る。パターンの大半が don't-care であることが圧縮の根拠。
  • MBISTはメモリをMarchアルゴリズムで、LBISTはLFSR乱数とMISRシグネチャで、回路自身が自己テストし外部ATE依存を減らす。
  • カバレッジとコストは綱引きで、最後の数%が急激に高コスト。テストは不良を選り分けるだけで歩留まりは上げない、という区別が要点。

半導体 Article

DFT・スキャンチェーンとBISTを実務で読む

TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。

解決すること

DFT

比較で見る軸

難易度: advanced / カテゴリ: 半導体 / タグ数: 6

導入後に効く点

ATPG(テストパターン自動生成)は縮退故障モデルや遷移故障モデルに基づき、各故障を活性化して出力へ伝搬するパターンを探索する。テスト圧縮はパターンを符号化してテスト時間とデータ量を桁で削減する。

先に潰すリスク

用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。

数字・仕様の読み方
難易度
advanced
カテゴリ
半導体
タグ数
6

判断チェックリスト

  • 自社の用途が「DFT / スキャンチェーン」に近いか確認する。
  • 強みである「DFT(テスト容易化設計)の核はスキャン化で、全FFをシフトレジスタに繋ぎ替えて任意の内部状態を外から書き込み・読み出し可能にする。これで観測も制御もできない順序回路を、組合せ回路のテスト問題へ還元する。」が本当に評価軸になるか確認する。
  • 注意点の「用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。」を運用で吸収できるか確認する。
  • 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
  • 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
  • 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。

次に確認する観点

DFTスキャンチェーンATPGBISTテストカバレッジDFTスキャンチェーンATPG