ATPG
大規模集積回路(LSI)の開発が急速に進む中、故障検出や製品出荷時の品質保証はますます重要になってきている。テスト工程でいかに多くの故障モードを効率良く見つけ、実際の使用状況における動作を正確に評価できるかが課題となる。そうした背景で用いられる技術がATPG(Automatic Test Pattern Generation)である。この自動パターン生成手法は回路の故障モデルに基づき、最適なテストベクトルを生成することによって高精度なテストを実現する役割を担っている。特に近年の大規模SoC(System on Chip)や高密度メモリなどでは、部品点数が膨大になるほど不良原因の多様化も進む。従来の手動設計によるテストベクトル作成には限界があり、ATPGの導入によって自動かつ網羅的な故障検出が可能となるため、開発コストの削減と製品の品質向上に大きく貢献する
ATPGの役割
ATPGは回路の各ノードや信号線に対し、故障が生じた際にどのような出力変化が起こるかを事前に想定し、それを検知するための入力パターンを生成する技術である。回路が複雑になるほど手動ではテストパターンを網羅的に作成しにくいが、ATPGを活用するとアルゴリズムが自動的に最適解を導き出し、バグや故障を見逃すリスクを大きく低減できる。このように、回路設計段階で把握しきれない部分を補うための手段としてATPGは欠かせない存在となっている
故障モデルとATPG手法
ATPGを実現するうえでは、回路の故障をどのようにモデル化するかが重要となる。代表的な故障モデルとしては「Stuck-At故障モデル」が挙げられ、論理ゲートや配線が常に0や1に固定されるという単純化した故障を想定する。このモデルをベースに、D-AlgorithmやPODEMなどの古典的手法が登場し、特定の故障を検出できる入力ベクトルを探索する仕組みが考案されてきた。近年は回路が微細化し、タイミング故障や遷移故障など多様な現象も問題となるため、より高度な故障モデルを扱うATPGソフトウェアが開発されている
テスト容易化設計(DFT)との関連
ATPGの効果を最大限に引き出すためには、回路設計時からテスト容易化設計(DFT: Design For Testability)の手法を取り入れることが重要である。具体的にはScan設計を導入し、各フリップフロップをチェーン状に接続することで、テストベクトルのシフトインやシフトアウトを容易に行えるようにする。こうしたDFT技術を組み合わせることで、実際に回路を動作させながらATPGの効果を高め、隠れた故障箇所をより確実に検出することができる
実装上の課題
ATPGを導入する際の課題としては、大規模化した回路に対してテストパターン数が膨大になる点が挙げられる。テスト時間やテストストレージの増大が問題となるため、如何にパターン数を削減しつつ必要な故障検出率を確保するかが鍵となる。さらに、消費電力やタイミングを考慮したテストパターン生成も必要となり、ATPGアルゴリズム自体がより高度な最適化を求められている。また、ソフトエラーやビットフリップのように動的要因で起こる故障への対応も模索されており、一般的な静的故障モデルだけでは捉えきれない複合的なアプローチが望まれている