Technology Reports 2006

Timing Aware ATPG (Small Delay Test)

1. 背景

   ナノメータデザインのテストに関しての現在、ターニングポイントを迎えています。 従来の縮退故障でだけでは、十分なテスト品質が保てず、テスト漏れ、市場不良が懸念され ています。大きなDFT(Design for Testability )の流れとして、微細化プロセスに対し新しい 故障モデルが必要不可欠になってきています。  そこで、特に注目しているのが、微小遅延テスト(Small Delay Test)です。 従来の遅延故障の考え方に対し実際の回路の上での最長パスを考慮し、活性化できているか を指標にした考え方になります。

2. トランジション故障モデルとパス遅延故障モデル

   現在、遅延テストとして用いられている故障モデルとして、“トランジション故障モデル”と“パス遅延故障モデル”がよく知られています。前者はゲートピンに比較的大きな遅延故障モデルを仮定し、その活性化パス、及び伝播パスにかかわらず検出可能な故障モデルであり、後者はある特定のパスが遅延故障を起こすと仮定し、そのパスを活性化させるためのパターンが必要になります。通常、パス遅延故障は、タイミング解析ツールによってクリティカルパスを抽出してパス遅延テストのターゲットとします。

3. 微小遅延テスト

   トランジション故障モデルは、現在、最も幅広く使われているATPGの故障モデルであり、実際シリコンにおいて縮退故障のパターンでは検出不能の故障を検出しています。実際、さまざまな事例として、その成果が発表されており、市場不良率の低減に大きく貢献しているとの報告があります。

   ここで面白い話を1つお伝えすると、これは遅延故障を検出するためのテストですから当然、高速でテストしなければならないわけですが、あるお客様の話では低速でもほとんど同様の検出率が得られたとのこと。これはいったい何を物語っているのでしょうか。トランジション故障モデルのテストパターンが、縮退故障テストパターンでは見逃したスタティック故障を見つけ更にブリッジやオープンをメインに検出したとは言えないでしょうか。

   それでは現状のトランジション故障モデルのパターンでどれ程の遅延故障がカバーされているのでしょうか。この疑問に立ち向かっているのが STARC( Semiconductor Technology Academic Research Center)のテスト設計開発室のエンジニアの方々です。彼らは、メンター・グラフィックスや市販のATPGが算出するトランジション故障モデルの故障検出率をどのように解釈すべきかを考えました。なぜならば、故障検出率が高くてもこの故障モデルを使っていては遅延故障の検出率に必ずしも対応していないと考えたからです。 そこで、微小遅延故障の登場です。この故障モデルは回路の遅延情報をSDFより読み込み、その情報を基に最長のパスを使って、その故障モデルを検出するものです。図2を用いてトランジション故障モデルとの違いをご説明します。

   この例では、G2の出力ピンにslow to riseの故障モデルが設定されています。
この故障モデルを検出できる4つのパスが存在します。
(パス1,2,3,4)

   前述したように、トランジション故障モデルでは故障を仮定する箇所に比較的大きな(1クロックサイクル以上)遅延故障が存在するとします。いずれのパスを使用しても検出可能となります。 ATPGの機能としては、一番簡単な最短パスを用いますので、この例の場合パス4(2ns)が使われる可能性が高いわけです。(後程、実際のATPGの結果を示します。)

さて、微小遅延モデルではどのような違いが起こるのでしょうか。 例えば、この遅延故障が1.5nsであると仮定します。クロック速度は5nsですので、パス2,3,4を使ったのでは検出できません。なぜなら、それぞれのパス遅延(3ns,3ns, 2ns)にこの遅延故障(1.5ns)を加えても1クロックサイクル以内(4.5ns, 4.5ns, 3.5ns)に信号の変化(Rise)がU3 又はU4に伝播可能だからです。この微小遅延故障を検出するためには、ATPGがパス1を使う必要があります。この遅延故障を含めた合計の遅延は5.5nsとなり検出が可能です。図3にまとめました。

 

4. SDQM

   真の遅延故障に対するテストカバレージを求めるためSTARCテスト設計開発室は、SDQL( Statistical Delay Quality Level )及び、SDQM ( Statistical Delay Quality Model )を提案しています。詳細に関しては、2004年と2005年のITC( International Test Conference )でのSTARCのテクニカルペーパーに譲り、ここではそのコンセプトについて簡単にご紹介します。 図4は、STARCが2005年のITCペーパーで使用した故障ディストリビューションのチャートです。

   このチャートは、縦軸に微小遅延故障が発生する頻度を、横軸にその遅延のサイズ(ns)を表しています。つまり、より小さな遅延故障が発生する可能性がより高いことを示しています。 STARCは、この概念を基に遅延故障に対するテストパターンの品質を測る物差しとして、SDQLを提案しています。図5、6を用いてSDQLの概念を簡単にご説明します。
この例では、1つの微小遅延に対して3つの検出パスが存在します。パス1は9.5ns、パス2は7.5ns、そしてパス3は7nsのパス遅延が存在します。またクロック速度は10nsです。従って各パスのタイミングマージン(タイミングスラック)は、0.5ns、2.5ns、2nsとなります。このスラックが、故障モデル検出という立場からどのような意味があるのでしょうか。この数字は、ズバリどれ程小さい微小遅延を検出できるかを示しています。例えば、パス1では0.5ns以上の微小遅延を検出できます。裏を返せば、0.5ns以下の微小遅延はどのパスを通しても検出不可能となります。これをタイミングリダンダントと呼んでいます。 裏を返せば、0.5ns以下の微小遅延はどのパスを通しても検出不可能となります。これをタイミングリィダンダントと呼んでいます。

    さて、それでは本題である、どのようにSDQLが計算されるかについてご説明します。この3パスを先に示した故障ディストリビューションのチャートに当てはめます。(このチャートはシリコンのプロセスによって決まるもので、ASICベンダー又はファウンダリーより供給されます)図6をご覧ください。この3つのパスをタイミングスラック(=どれくらい小さい微小遅延を検出できるか)を横軸に当てはめています。
例えば、ATPGがパス2を用いて、この故障モデルを検出したと仮定します。その場合、検出できる微小遅延の集合は2.5nsより右側、つまり青と緑のエリアになります。逆に言えば、赤と黄色のエリアは検出できない事になります。もし、パス1で検出した場合は青、緑に赤を加えたエリアが検出可能となります。黄色のエリアはタイミングリダンダントです。(そのような故障が存在しても検出不可、またはシステム動作に影響を与えないとも言えます)つまり、ベストケースはパス1で、このスラックマージンをTmgnと呼び、また、実際にATPGが用いたパスをTdetと呼んでいます。さて、最初の例(ATPG がパス2を使った例)に戻りSDQLの計算方法を説明します。まさしく、それが赤のエリアです。SDQLはタイミングリダンダントを除いたベスト(Tmg)とどれ程の差があるか、もしくはどれ程改善の余地があるのかを示しています。もし、パス3で検出された場合は赤と青のエリア、パス1では Tdet = Tmgn となりSDQLは0(ベスト)となります。このSDQLは全ての故障モデルに対して計算され、その総和がチップ全体のSDQLとしてレポートされます。