JP5032395B2 - テスト条件の生成方法およびテスト条件生成装置 - Google Patents

テスト条件の生成方法およびテスト条件生成装置 Download PDF

Info

Publication number
JP5032395B2
JP5032395B2 JP2008129494A JP2008129494A JP5032395B2 JP 5032395 B2 JP5032395 B2 JP 5032395B2 JP 2008129494 A JP2008129494 A JP 2008129494A JP 2008129494 A JP2008129494 A JP 2008129494A JP 5032395 B2 JP5032395 B2 JP 5032395B2
Authority
JP
Japan
Prior art keywords
flop
flip
test
timing
simulation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008129494A
Other languages
English (en)
Other versions
JP2009276278A (ja
Inventor
大海 小島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kawasaki Microelectronics Inc
Original Assignee
Kawasaki Microelectronics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kawasaki Microelectronics Inc filed Critical Kawasaki Microelectronics Inc
Priority to JP2008129494A priority Critical patent/JP5032395B2/ja
Priority to US12/453,612 priority patent/US8006156B2/en
Publication of JP2009276278A publication Critical patent/JP2009276278A/ja
Application granted granted Critical
Publication of JP5032395B2 publication Critical patent/JP5032395B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31725Timing aspects, e.g. clock distribution, skew, propagation delay
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/30Marginal testing, e.g. by varying supply voltage
    • G01R31/3016Delay or race condition test, e.g. race hazard test

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)

Description

本発明は、複数の信号経路が形成された論理回路を含む半導体集積回路の、遅延性故障検出のためのテスト条件の生成方法、およびテスト条件生成装置に関する。
半導体集積回路は、製造後にさまざまなテストを行い、その半導体集積回路に搭載された論理回路が正常に動作する良品のみを選別して出荷する必要がある。このようなテストの1つに、論理回路の遅延性故障を検出するためのディレイテストがある。以下、このディレイテストについて説明する。
図5は、論理回路のディレイテストを説明するための図である。
図5(A)には、論理回路100の構成が示されている。また、図5(B)には、図5(A)に示す論理回路100のタイミングが示されている。
図5(A)に示す論理回路100には、組合せ論理回路であるユーザロジック101と、このユーザロジック101の入力側に配置された入力側(スタートポイント)フリップフロップ102と、このユーザロジック101の出力側に配置された出力側(エンドポイント)フリップフロップ103とが備えられている。フリップフロップ102,103のクロック端子Cには、クロック信号が入力される。
ここで、図5(B)に示すように、スタートポイントフリップフロップ102のデータ端子Dに、図示しない前段のユーザロジックで生成された‘H’レベルのデータ信号が入力される。この‘H’レベルのデータ信号は、クロック信号の立ち上がりエッジのタイミングでスタートポイントフリップフロップ102に取り込まれ、所定の遅延時間d1経過後、‘H’レベルのデータ信号として出力端子Qから出力される。出力された‘H’レベルのデータ信号は、ユーザロジック101に入力される。
ユーザロジック101からは、この入力された‘H’レベルのデータ信号に基づいたデータ信号(ここでは、‘H’レベルのデータ信号)が、所定の遅延時間d2経過後に出力される。この‘H’レベルのデータ信号は、エンドポイントフリップフロップ103のデータ端子Dに入力される。
そして、‘H’レベルのデータ信号がD端子に入力されたタイミングが、クロック信号の次の立ち上がりエッジよりも、所定のセットアップ時間d3min以上の時間d3だけ早かった場合、この‘H’レベルのデータ信号が、クロック信号の次の立ち上がりエッジのタイミングでエンドポイントフリップフロップ103に取り込まれる。そして、所定の遅延時間d4経過後、‘H’レベルのデータ信号として出力端子Qから出力され、図示しない後段のユーザロジックに供給される。
ここで、ユーザロジック101は、クロック信号の1周期未満の遅延時間(厳密には、フリップフロップ102,103の動作のために必要な時間d1+d3minだけ、クロック信号の1周期よりも短い遅延時間)で出力データ信号(論理信号)を生成するように設計する必要がある。即ち、スタートポイントフリップフロップ102からエンドポイントフリップフロップ103に至るデータ経路の遅延時間(d1+d2+d3min)が、クロック信号の1周期よりも短くなるように、ユーザロジック101内を通過する論理信号の遅延時間を設計する必要がある。
ユーザロジックに致命的な故障(ユーザロジックを構成するトランジスタが動作しない、トランジスタ間を接続する配線に断線や短絡がある等の故障)が無く、入力された論理信号から期待される期待値と同一の論理値を有する論理信号が生成される場合であっても、トランジスタの遅延時間が設計値よりも大きかったり、トランジスタ間を接続する配線の抵抗が設計値よりも大きかったりするために、所定の遅延時間(設計値)内に論理信号を生成することができない場合がある。このような故障を検出する目的で行われるのがディレイテストである。
図5に示す論理回路100においては、クロック信号の周期を所定の値に設定し、設定した周期内に前段のフリップフロップ102(スタートポイントフリップフロップ)から後段のフリップフロップ103(エンドポイントフリップフロップ)へと論理信号が正しく伝達されるか否かのディレイテストが行われる。
特に、ここでは、ユーザが実際に半導体集積回路(チップ)を動作させる際に用いるタイミング(システムタイミング)で論理回路を動作させて行うディレイテストを、アット・スピード(at−speed)テストと呼ぶ。このアット・スピードテストを実施するために、半導体集積回路内に、テスタから入力することが可能な低い周波数のクロック信号からシステムタイミングのエッジを有するクロック信号を生成するクロック生成回路を設ける技術が提案されている(例えば、非特許文献1参照)。
実際には、ユーザロジックは、複数のスタート側フリップフロップ(スタートポイントフリップフロップ群)と、複数のエンド側フリップフロップ(エンドポイントフリップフロップ群)との間に接続される。このユーザロジックは、スタートポイントフリップフロップ群から供給された入力論理信号(入力データ)に基づいて出力論理信号(出力データ)を生成する。生成した出力データは、クロック信号エッジのタイミングで、エンドポイントフリップフロップ群に取り込まれ、保持される。そして、ディレイテストを行う際には、例えば特許文献1の段落[0033]〜[0035]に記載されているように、先ず、シフトモード(フリップフロップ群をチェーン接続する)においてフリップフロップ群にクロック信号を供給することにより、スタートポイントのフリップフロップ群に所定のデータ(テストパターン)をセットする。続いて、キャプチャモード(スタートポイントフリップフロップ群とエンドポイントフリップフロップ群との間にユーザロジックを接続する)においてフリップフロップ群にクロック信号を供給し、ユーザロジックが生成した出力データをエンドポイントフリップフロップ群に取り込む。その後、再びスキャンモードにおいてフリップフロップ群にクロック信号を供給し、エンドポイントフリップフロップ群が取り込み、保持した出力データを半導体集積回路外に出力し、期待値と比較する。
より具体的には、特許文献1には、シフトモードにおいて供給するクロック信号の最後のクロックエッジを、スタートポイントフリップフロップ群にセットされた入力データを組合せ論理回路に供給するためのラウンチ(1aunch)用クロックエッジとして利用し、その後、キャプチャモードに切り換えてから、エンド側フリップフロップ群に出力データを取り込むためのキャプチャ(Caputure)用クロックエッジを有するクロック信号を供給するLoS(Launch−off−Shift)方式の例が示されている。一方、非特許文献1には、キャプチャモードに切り換えてから、ラウンチ用クロックエッジを有するクロック信号とキャプチャ用クロックエッジを有するクロック信号とを供給するLoC(Launch−off−CaptureまたはLaunch−on−Capture)方式の例が示されている。
さらに、アット・スピードテストでは検出することができない微小な遅延性故障を検出するために、ファースタ・ザン・アット・スピード(Faster−than−at−speed)テスト(システムタイミングよりも速いタイミングで動作させて、期待値と同一の論理値の出力データが得られるか否かを検査するテスト)を行うことも提案されている(例えば、非特許文献2参照)。この場合にも、上記のクロック生成回路を利用して、テスト対象の論理回路をシステムタイミングよりも速いタイミングでフリップフロップを動作させるクロック信号を生成することができる。
"Low Cost Delay Testing of Nanometer SoCs Using On―Chip Clocking and Test Compression"[Asian Test Symposium,December 2005、p.156―161] 特開2005―326203号公報 "KAWASAKI MICRO MAXIMIZES DELAY TEST COVERAGE WITH LATEST CADENCE TECHNOLOGY" [SAN JOSE,Calif.,November 7,2005](Cadence社報道)
一般に、半導体集積回路のテストには、ATPG(Auto Test Pattern Generator)が用いられる。ATPGは、半導体集積回路の各種のテストを行うためのテストパターンを自動的に生成するツールであり、半導体集積回路のどのような故障を検出するかによってATPGに与える故障モデルは異なる。ここでは、遅延性故障と呼ばれる、フリップフロップ間の信号の伝達が遅れてしまうことに起因する故障検出を対象とする。ATPGは、与えた故障モデルに基づいて、故障を検出するために、故障モデル内の各故障の存在する信号経路(パス)を活性化する。
すなわち、故障の存在する信号経路のスタートポイントとなるスタート側フリップフロップに供給する入カデータの論理値の遷移を含み、その遷移が、故障の存在する信号経路を介して伝達(信号経路上の各ノードの状態が遷移)し、エンドポイントフリップフロップに供給される出力データの論理値が遷移することが期待される、テストパターンを生成する。
図6は、1つのエンドポイントフリップフロップ203をエンドポイントとして共有する複数のパスを示す図である。
図6には、スタート側フリップフロップ202_1,202_2,202_3,202_4を含むスタートポイント群202と、1つのエンド側フリップフロップ203と、それらの間に形成されるパスが示されている。それぞれのパスは、それぞれのスタートポイントフリップフロップから、ユーザロジックの異なる部分201_1,201_2,201_3,202_4を経由し、さらに、ユーザロジックの共通の部分201_5を経由して、エンドポイントフリップフロップ203にいたる。
このように、半導体集積回路に設けられる論理回路内には、1つのエンドポイントフリップフロップを共有するパスが複数存在し、テストにおいては、これらのパスのいずれかが活性化される。例えば、スタート側フリップフロップ202_1をスタートポイントとするパスが活性化される場合、エンド側フリップフロップ203に供給される出力データの論理値が遷移することが期待される、スタート側フリップフロップ201_1に供給される入力データの論理値の遷移を含むテストパターンが、スタートポイント群202に供給される。これにより、スタートポイントフリップフロップ202_1から、ユーザロジックの201_1の部分および201_5の部分を経て、エンドポイントフリップフロップ203にいたる信号経路のいずれかの位置に存在する遅延性故障が検出できる可能性がある。同様に、スタート側フリップフロップ202_2をスタートポイントとするパスが活性化される場合、スタートポイントフリップフロップ202_2から、ユーザロジックの201_2の部分および201_5の部分を経てエンドポイントフリップフロップ203にいたる信号経路のいずれかの位置に存在する遅延性故障が検出できる可能性がある。スタート側フリップフロップ202_3もしくは202_4をスタートポイントとするパスが活性化される場合についても同様である。
このように、4つのパスのいずれかが活性化されることによって検出できる可龍性がある遅延性故障を代表して、図6には、遅延性故障201_5aが、全てのパスに共通する、ユーザロジックの201_5の部分に示されている。
論理回路内に存在する遅延性故障は、さまざまな故障サイズを有する。ここで、故障サイズとは、あるパスに遅延性故障が存在することによる、そのパスの遅延時間の設計値からの増大量をいう。あるテストタイミングを設定してテストを行う場合、ATPGが活性化しているパスの遅延時間(遅延性故障が存在しない場合の値、すなわち、設計値)と設定したテストタイミングとの差よりも大きな故障サイズの遅延性故障を検出することができる。ここで、パスの遅延時間はパスごとに異なる。このため、同一のテストタイミングでテストを行う場合であっても、どのパスを活性化するかによって検出することができる遅延性故障の故障サイズが異なる。
以下に、遅延性故障の検出において重要なファクターである「最小スラックマージン」と「最小検出可能故障サイズ」について説明する。
一般に、ある位置に存在する遅延性故障を検出することができる可能性のある信号パスの中の、最長のパスの遅延時間(遅延性故障が存在しない場合の設計値)と、システムタイミングとの差を「最小スラックマージン」と呼ぶ。
特にここでは、図6に示されたように、エンドポイントを共有する複数の信号パスが存在し、その複数の信号パスの全てに共通する部分に遅延性故障が存在する場合を想定する。この場合、複数の信号パスのいずれが活性化された場合でも、それらの信号パスに共通する部分に存在する遅延性故障を検出できる可能性がある。従って、これら4つの信号パスの中の最も長いパスの遅延時間と、システムタイミングとの差が「最小スラックマージン」である。ここで、遅延故障が存在しても、その故障サイズが最小スラックマージンよりも小さい場合には、システムタイミングにおける論理回路の実動作において不良発生の原因にならない。
前述のように、図6に示された例において、4つのパスのいずれかが活性化されることによって検出できる可能性がある遅延性故障を代表して、遅延性故障201_5aが示されている。そして、図6において遅延性故障201_5aが示された位置に限らず、4つの信号パスのいずれに遅延性故障が存在する揚合であっても、その故障サイズが最小スラックマージンよりも小さければ、図6に示された範囲では、システムタイミングでの実動作において不良発生の原因にはならない。
また、ATPGが活性化しているパスとテストタイミングの差が、検出可能な遅延性故障サイズであり、活性化された中で最長のパスについての検出可能遅延性故障サイズを「最小検出可能故障サイズ」と呼ぶ。
図7は、半導体集積回路のチップ全体の回路構成を示す図である。
図7には、半導体集積回路のチップ全体の回路を構成する、ユーザロジック210とスタートポイント群220とエンドポイント群230とが示されている。
スタートポイント群220は、スタート側フリップフロップ220_1,220_2,…,220_n−1,220_nから構成されている。
また、エンドポイント群230は、エンド側フリップフロップ230_1,230_2,…,230m−1,230_mから構成されている。
ユーザロジック210には、遅延値がそれぞれ異なる多数のパスが存在する。
このように、半導体集積回路の論理回路には、多数のパスが存在し、それら多数のパス全てが異なる遅延値を有する。このため、エンドポイントフリップフロップ毎に最小スラックマージン及び最小検出可能遅延性故障サイズは全て異なる。
図8は、最小スラックマージンと最小検出可能遅延性故障サイズの関係を示す図である。
図8には、システムタイミングと、このシステムタイミングよりも低速のテストタイミングとが示されている。前述のように、「システムタイミング」と「最長パス」(図6の例では、エンドポイントが同一であるパスの中で最長のパスの遅延時間)との差である「最小スラックマージンA」よりも故障サイズが小さい遅延性故障は、存在していてもシステムタイミングでの実動作に影響を与えない。このため、検出する必要はない(冗長部分(redundant))。
また、図8に示す「活性化される最長パス」(図6の例では、エンドポイントが同一であるパスの中で、活性化される最長のパスの遅延時間)と「テストタイミング」との差である「最小検出可能故障サイズB」よりも故障サイズが大きな遅延性故障は、ディレイテストによって検出される(図7に示す検出可能部分C(detected))。
しかし、「最小スラックマージンA」より大きく、「最小検出可能故障サイズB」よりも小さい故障サイズの遅延性故障は、システムタイミングでの実動作に影響を与えるにもかかわらず検出されず、テストの品質の観点としては不十分となる(図8に示す検出不能部分D(undetected))。
このような微小な遅延性故障の検出方法として、上述したファースタ・ザン・アット・スピード(Faster−than−at−speed)テストがある。
図9は、ファースタ・ザン・アット・スピードのテストを説明するための図である。
このテストでは、システムタイミングよりも高速のテストタイミングでディレイテストを行うことにより、最小検出可能故障サイズBを小さくし、アット・スピードテストでは検出不可能だった微小な遅延性故障を検出することができる。
しかし、テストタイミングをシステムタイミングよりも高速にすることで、一部のパスでは、最小スラックマージンよりも最小検出可能故障サイズが小さくなってしまう場合がある。これは、最小スラックマージンよりも小さいサイズの故障、つまり実動作に影響を与えない微小な遅延性故障までも検出している過剰検出状態であり、歩留まりの低下につながる。これをオーバーキルと呼ぶ。
図10は、オーバーキルの概念を説明するための図である。
テストタイミングをシステムタイミングよりも高速にしてディレイテストを行った結果、図10の右側に示すように、「最小スラックマージンA」よりも小さいサイズの遅延故障までもが検出されている。従って、過剰検出(オーバーキル)の状態になっている。
半導体集積回路の論理回路には、図7を参照して説明したように、多数の信号経路(各スタートポイントフリップフロップから各エンドポイントフリップフロップに至る信号経路)が存在する。従って、1つのエンドポイントフリップフロップに注目すると、図6を参照して説明したように、複数のスタートポイントフリップフロップのそれぞれから、その1つのエンドポイントフリップフロップに至る複数の信号経路が存在する。そして、この複数の信号経路のそれぞれは、異なる遅延時間を有する。
また、現実のテストにおいては、全ての信号経路についてテストを行うことは困難であり、テストパターン自動生成ツール(ATPG)がテスト対象として選択した経路についてのみテストが行われる。遅延性故障を効率的に検出するためには、テストが行われる信号経路毎に、その信号経路の遅延時間(設計値)に応じて、テストタイミングを適切に設定する必要がある。ここで、テストタイミングが遅すぎると、微小な遅延性故障を検出することができないという問題が発生する。一方、テストタイミングが速すぎると、上述したように、実際の論理回路の動作において問題になることがないほどに微小な遅延性故障まで検出し、良品として出荷できる半導体集積回路まで不良と判断してしまうオーバーキル(過剰検出)が発生する。従って、半導体集積回路の遅延性故障を効率よく検出することは困難であるという問題を抱えている。
本発明は、上記事情に鑑み、オーバーキルの発生を防止しながら遅延性故障を効率よく検出することができるテスト条件の生成方法およびテスト条件生成装置を提供することを目的とする。
上記目的を達成する本発明のテスト条件の生成方法は、複数のスタート側フリップフロップと複数のエンド側フリップフロップとの間に、組合せ論理回路を介した複数の信号経路が形成された論理回路を含む半導体集積回路の、遅延性故障検出のためのテスト条件を生成し、テスト条件データベースに格納する方法において、
第1のエンド側フリップフロップに供給される出力データの論理値の遷移が期待される、第1のスタート側フリップフロップに供給する入力データの論理値の遷移を含むテストパターンを生成し、
上記複数のスタート側フリップフロップのいずれかをスタートポイントとし、上記第1のエンド側フリップフロップをエンドポイントとして共有する複数の信号経路の遅延時間のうちの最長の遅延時間と上記論理回路の実動作のタイミングとの差として、もしくは、上記第1のスタート側フリップフロップをスタートポイントとして共有し、上記複数のエンド側フリップフロップのいずれかをエンドポイントとする複数の信号経路の遅延時間のうちの最長の遅延時間と上記実動作のタイミングとの差として、最小スラックマージンを把握し、
上記論理回路の実動作のタイミングに比較して速いテストタイミングを設定し、
上記第1のスタート側フリップフロップに供給される入力データの論理値の遷移による上記第1のエンド側フリップフロップに供給される出力データの論理値の遷移、および、その遷移の後の出力データの上記第1のエンド側フリップフロップへの取り込みのシミュレーションを、上記第1のスタート側フリップフロップと第1のエンド側フリップフロップとの間の信号経路の遅延時間に上記最小スラックマージンを加えて行い、
上記シミュレーションによって、上記テストタイミングで、上記期待される論理値の遷移の後の出力データを上記第1のエンド側フリップフロップに取り込むことができないと判断された場合に、上記第1のエンド側フリップフロップに保持されたデータを、上記テストパターンとテストタイミングを用いたテストにおける判定の対象から除外するマスクデータを生成し、上記テスト条件データベースに格納することを特徴とする。
本発明のテスト条件の生成方法は、論理回路の実動作のタイミングに比較して速いテストタイミングを設定し、第1のスタート側フリップフロップと第1のエンド側フリップフロップとの間の信号経路の遅延時間に最小スラックマージンを加えてシミュレーションを行い、第1のエンド側フリップフロップに、期待される論理値の遷移の後の出力データを取り込むことができないと判断された場合に、第1のエンド側フリップフロップに保持されたデータを判定の対象から除外するマスクデータを生成して、テスト条件データベースに格納する方法である。このため、実際の論理回路の動作において問題になることがないほどに微小な遅延性故障をマスクして判定の対象から除外することができる。このようにすることにより、オーバーキル(過剰検出)の発生が防止される。
ここで、上記生成したテストパターンが、さらに、上記第1のエンド側フリップフロップとは異なる、第2のエンド側フリップフロップに供給される第2の出力データの論理値の遷移が期待される、上記第1のスタート側フリップフロップとは異なる、第2のスタート側フリップフロップに供給する第2の入力データの論理値の遷移を含み、
上記最小スラックマージンの把握において、さらに、上記複数のスタート側フリップフロップのいずれかをスタートポイントとし、上記第2のエンド側フリップフロップをエンドポイントとして共有する複数の信号経路の遅延時間のうちの最長の遅延時間と上記実動作のタイミングとの差として、もしくは、上記第2のスタート側フリップフロップをスタートポイントとして共有し、上記複数のエンド側フリップフロップのいずれかをエンドポイントとする複数の信号経路の遅延時間のうちの最長の遅延時間と上記実動作のタイミングとの差として、第2の最小スラックマージンを把握し、
上記シミュレーションにおいて、さらに、上記第2のスタート側フリップフロップに供給される第2の入力データの論理値の遷移による上記第2のエンド側フリップフロップに供給される第2の出力データの論理値の遷移、および、その遷移の後の第2の出力データの上記第2のエンド側フリップフロップへの取り込みのシミュレーションを、上記第2のスタート側フリップフロップと第2のエンド側フリップフロップとの間の信号経路の遅延時間に上記第2の最小スラックマージンを加えて行うことが好ましい。
現実の半導体集積回路の論理回路では、複数のスタート側フリップフロップと複数のエンド側フリップフロップとの間に複数の信号経路が形成される。そして、本発明のテスト条件生成方法によって生成されるテスト条件には、さまざまな信号経路に存在する遅延性故障を検出するためのパターンが含まれる。このさまざまな信号経路は、それぞれ異なった最小スラックマージンを有することが多い。この場合には、信号経路ごとに最小スラックマージンを把握して、シミュレーションを行うことが好ましい。
また、上記最小スラックマージンを、上記第1のスタート側フリップフロップと第1のエンド側フリップフロップとの間の信号経路の、その最小スラックマージンの把握において考慮した、エンドポイントを共有する複数の信号経路、もしくは、スタートポイントを共有する複数の信号経路の、全てに共有される部分の遅延時間に加えて、上記シミュレーションを行うことも好ましい態様である。
このようにすると、シミュレーションのために信号経路の遅延時間に最小スラックマージンを加える処理を効率的に行うことができる。
さらに、上記マスクデータを格納したときに、上記テスト条件データベースに格納されたマスクデータに基づいて、上記論理回路内に存在する遅延性故障のうちの、上記テストパターンを用いて検出が行えるものの割合である検出率を把握し、その把握した検出率が目標値を下回るときに、
上記テストタイミングを緩和し、その緩和したテストタイミングを用いて、上記シミュレーションと、マスクデータの生成およびテスト条件データベースヘの格納を行うことも好ましい。
また、上記緩和したテストタイミングを用いて行うシミュレーションを、上記生成したテストパターンを用いて行うことが好ましい。
マスキングを行なった場合、マスクされたフリップフロップをエンドポイントとする信号経路上の遅延性故障は未検出扱いとなるため、故障検出率が低下する。従って、いったん論理シミュレーションおよびマスキングを行った後に、故障検出率が目標値を下回るときには、テストタイミングを緩和し、ふたたび論理シミュレーションを行う。これにより、オーバーキルの発生を抑えたまま故障検出率を高くすることができる。
また、上記把握した検出率が目標値を下回るときに、テストパターンを再生成し、上記再生成したテストパターンおよび緩和したテストタイミングを用いて、上記シミュレーションと、マスクデータの生成およびテスト条件データベースヘの記憶を行うことも好ましい。
このように、再生成したテストパターンおよび緩和したテストタイミングを用いて、シミュレーションと、マスクデータの生成およびテスト条件データベースヘの格納を行うと、オーバーキルの発生を抑えたまま高い故障検出率を得ることができる。
また、上記目的を達成する本発明のテスト条件生成装置は、複数のスタート側フリップフロップと複数のエンド側フリップフロップとの間に、組合せ論理回路を介した複数の信号経路が形成された論理回路を含む半導体集積回路の、遅延性故障検出のためのテスト条件を生成し、テスト条件データベースに格納する装置において、
第1のエンド側フリップフロップに供給される出力データの論理値の遷移が期待される、第1のスタート側フリップフリップに供給する入力データの論理値の遷移を含むテストパターンを生成するテストパターン生成部と、
上記複数のスタート側フリップフロップのいずれかをスタートポイントとし、上記第1のエンド側フリップフロップをエンドポイントとして共有する複数の信号経路の遅延時間のうちの最長の遅延時間と上記論理回路の実動作のタイミングとの差として、もしくは、上記第1のスタート側フリップフロップをスタートポイントとして共有し、上記複数のエンド側フリップフロップのいずれかをエンドポイントとする複数の信号経路の遅延時間のうちの最長の遅延時間と上記実動作のタイミングとの差として、最小スラックマージンを把握する最小スラックマージン把握部と、
上記論理回路の実動作のタイミングに比較して速いテストタイミングを設定するテストタイミング設定部と、
上記第1のスタート側フリップフロップに供給される入力データの論理値の遷移による上記第1のエンド側フリップフロップに供給される出力データの論理値の遷移、および、その遷移の後の出力データの上記第1のエンド側フリップフロップへの取り込みのシミュレーションを、上記第1のスタート側フリップフロップと第1のエンド側フリップフロップとの間の信号経路の遅延時間に上記最小スラックマージンを加えて行うシミュレーション部と、
上記シミュレーションによって、上記テストタイミングで上記期待される論理値の遷移の後の出力データを上記第1のエンド側フリップフロップに取り込むことができないと判断された場合に、上記第1のエンド側フリップフロップに保持されたデータを、上記テストパターンとテストタイミングとを用いたテストにおける判定の対象から除外するマスクデータを生成し、上記テスト条件データベースに記憶するマスクデータ生成部とを有することを特徴とする。
本発明のテスト条件生成装置は、テストタイミング設定部で論理回路の実動作のタイミングに比較して速いテストタイミングを設定し、シミュレーション部で第1のスタート側フリップフロップと第1のエンド側フリップフロップとの間の信号経路の遅延時間に最小スラックマージンを加えてシミュレーションを行い、第1のエンド側フリップフロップに、期待される論理値の遷移の後の出力データを取り込むことができないと判断された場合に、マスクデータ生成部で第1のエンド側フリップフロップに保持されたデータを判定の対象から除外するマスクデータを生成して、テスト条件データベースに格納する装置である。このため、実際の論理回路の動作において問題になることがないほどに微小な遅延性故障をマスクして判定の対象から除外することができる。このようにすることにより、オーバーキルの発生が防止される。
ここで、上記テストパターン生成部が、さらに、上記第1のエンド側フリップフロップとは異なる、第2のエンド側フリップフロップに供給される第2の出力データの論理値の遷移が期待される、上記第1のスタート側フリップフロップとは異なる、第2のスタート側フリップフロップに供給する第2の入力データの論理値の遷移を含むテストパターンを生成し、
上記最小スラックマージン把握部が、さらに、上記複数のスタート側フリップフロップのいずれかをスタートポイントとし、上記第2のエンド側フリップフロップをエンドポイントとして共有する複数の信号経路の遅延時間のうちの最長の遅延時間と上記実動作のタイミングとの差として、もしくは、上記第2のスタート側フリップフロップをスタートポイントとして共有し、上記複数のエンド側フリップフロップのいずれかをエンドポイントとする複数の信号経路の遅延時間のうちの最長の遅延時間と上記実動作のタイミングとの差として、第2の最小スラックマージンを把握し、
上記シミュレーション部が、さらに、上記第2のスタート側フリップフロップに供給される第2の入力データの論理値の遷移による上記第2のエンド側フリップフロップに供給される第2の出力データの論理値の遷移、および、その遷移の後の第2の出力データの上記第2のエンド側フリップフロップへの取り込みのシミュレーションを、上記第2のスタート側フリップフロップと第2のエンド側フリップフロップとの間の信号経路の遅延時間に上記第2の最小スラックマージンを加えて行うことが好ましい。
また、上記シミュレーション部が、上記最小スラックマージンを、上記第1のスタート側フリップフロップと第1のエンド側フリップフロップとの間の信号経路の、その最小スラックマージンの把握において考慮した、エンドポイントを共有する複数の信号経路、もしくは、スタートポイントを共有する複数の信号経路の、全てに共有される部分の遅延時間に加えて、上記シミュレーションを行うことも好ましい態様である。
さらに、上記マスクデータの格納が行われたときに、上記テスト条件データベースに格納されたマスクデータに基づいて、上記論理回路内に存在する遅延性故障のうちの、上記テストパクーンを用いて検出が行えるものの割合である検出率を把握する故障検出率把握部をさらに有し、
上記故障検出率把握部が把握した検出率が目標値を下回るときに、上記テストタイミング設定部が上記テストタイミングを緩和し、上記シミュレーション部とマスクデータ生成部が、上記緩和したテストタイミングを用いて、上記シミュレーションと、マスクデータの生成およびテスト条件データベースヘの記憶を行うことも好ましい。
さらに、上記把握した検出率が目標値を下回るときに、
上記テストパターン生成部が、テストパターンを再生成し、
上記シミュレーション部とマスクデータ生成部が、上記再生成したテストパターンおよび緩和したテストタイミングを用いて、上記シミュレーションと、マスクデータの生成およびテスト条件データベースヘの記憶を行うことも好ましい。
本発明によれば、オーバーキルの発生を防止しながら遅延性故障を効率よく検出することができるテスト条件の生成方法およびテスト条件生成装置を提供することができる。
以下、図面を参照して本発明の実施の形態を説明する。
図1は、本発明の一実施形態のテスト条件生成装置の構成を示す図である。
尚、図1に示すテスト条件生成装置1には、本発明の一実施形態のテスト条件の生成方法が適用されている。
図1に示すテスト条件生成装置1は、複数のスタート側フリップフロップと複数のエンド側フリップフロップとの間に、組合せ論理回路を介した複数の信号経路が形成された論理回路を含む半導体集積回路の、遅延性故障検出のためのテスト条件を生成し、テスト条件データベースに記録する装置である。
図1に示すテスト条件生成装置1には、タイミング解析に必要な最小スラックマージンを把握するための最小スラックマージン把握部11が備えられている。この最小スラックマージン把握部11は、ネットリスト記憶部12に格納されたネットリスト(論理回路の接続情報)と遅延情報ファイル13を参照して、最小スラックマージンを把握する。
具体的には、1つのエンド側フリップフロップをエンドポイントとして共有する複数の信号経路のうちの最長の信号経路の遅延時間と、テスト対象の論理回路の実動作のタイミングとの差として、もしくは、1つのスタート側フリップフロップをスタートポイントとして共有する複数の信号経路のうちの最長の信号経路の遅延時間と、実動作のタイミングとの差として、最小スラックマージンを求める。ここでは、論理シミュレーションに必要か否かにかかわらず、エンドポイントとして共有されるエンド側フリップフロッブのそれぞれ、もしくは、スタートポイントとして共有されるスタート側フリップフロップのそれぞれについて最小スラックマージンを求める。求めた最小スラックマージンは、最小スラックマージン記憶部14に格納される。また、遅延情報ファイル(SDF:Standard Delay Format)とは、各種遅延情報が記載されたファイルをいう。具体的には、ネットリスト上に存在するそれぞれのセル(スタート側およびエンド側フリップフロップ、および、ユーザロジックを構成する論理ゲート)の遅延値(各ピン間の遅延値、タイミング制約値)、セルを接続する配線の遅延値等が記載されている。
遅延情報ファイルは、図1では省略されているが、各種のセルおよび配線の遅延値が格納されたライブラリと、ネットリストとを参照して生成する。
また、テスト条件生成装置1には、SDF補正部15が備えられている。このSDF補正部15は、最小スラックマージン部14に格納された最小スラックマージンを利用して、遅延情報ファイル部13に格納された遅延情報を補正し、論理シミュレーションにおいて利用する遅延情報ファイル(補正後の遅延情報ファイル)を作成する。例えば、エンド側フリップフロップを共有する複数の信号経路を考慮して最小スラックマージンを把握した場合、エンド側フリップフロップのデータ入力端子の遅延時間に最小スラックマージンを加算して補正し、補正後の遅延情報ファイルとする。
さらに、テスト条件生成装置1には、データ生成部17が備えられている。このデータ生成部17は、ネットリスト記憶部12に格納されたネットリストを参照し、論理回路内に存在する個々の遅延性故障を検出するために、スタート側フリップフロップに与える入力データ(遷移前のデータと遷移後のデータとの組み)と、その入力データの遷移によってもたらされるエンド側フリップフロップに取り込まれるデータの遷移の期待値を生成する。入力データおよび期待値は、パターンデータ記憶部18に格納される。また、検出対象の故障の位置は、故障データ記憶部19に格納される。尚、パターンデータには、テストタイミングについてのデータも含まれる。
また、テスト条件生成装置1には、テストパターン生成部20が備えられている。テストパターン生成部20は、パターンデータ部18に格納されたデータを、後述する論理シミュレーション部24において利用できるフォーマットに変換して、テストパターン(一時的)を生成する。
さらに、テスト条件生成装置1には、テストタイミングデータ記憶部22が備えられている。このテストタイミングデータ記憶部22には、ファースタ・ザン・アット・スピードテストを行う最速のテストタイミング、および、段階的に緩和するテストタイミングが格納されている。
また、テスト条件生成装置1には、テストタイミング補正部23が備えられている。このテストタイミング補正部23は、本発明にいうテストタイミング設定部に相当し、論理回路の実動作のタイミングに比較して速いテストタイミングを設定する。具体的には、テストタイミングデータ記憶部22に格納された、ファースタ・ザン・アット・スピードテストを行うための最速のテストタイミングを利用して、パターンデータに含まれるデフォルト値のテストタイミングを補正する。この時、パターンデータ記憶部18に格納されたパターンデータに含まれるテストタイミングのデータも補正される。
また、テスト条件生成装置1には、論理シミュレーション部24が備えられている。この論理シミュレーション部24は、本発明にいうシミュレーション部の一例に相当し、スタート側フリップフロップに供給される入力データの論理値の遷移によるエンド側フリップフロップに供給される出力データの論理値の遷移、および、遷移後の出力データのエンド側フリップフロップへの取り込みの論理シミュレーションを、スタート側フリップフロップとエンド側フリップフロップとの間の信号経路の遅延時間に最小スラックマージンを加えて行う。具体的には、ネットリスト記憶部12に格納されたネットリストと、遅延情報ファイル(補正後)16およびテストパターン(一時的)21を参照して、論理シミュレーションを行うことによりパス/フェイルの検証を行い、フェイルFFリスト(マスクFFリスト)25を生成する。
さらに、テスト条件生成装置1には、マスキング部26と、マスクデータ記憶部27と、データ保存部28と、テスト条件データベース部29とが備えられている。ここで、マスキング部26とデータ保存部28が、本発明にいうマスクデータ生成部に相当し、論理シミュレーションによって、上記テストタイミングで、期待される論理値の遷移の後の出力データをエンド側フリップフロップに取り込むことができないと判断された場合に、エンド側フリップフロップに保持されたデータを、テストパターンとテストタイミングとを用いたテストにおける判定の対象から除外するマスクデータを生成し、テスト条件データベース部29に格納する。具体的には、マスキング部26は、論理シミュレーション部24で生成されたマスクFFリスト25を取得して、マスクデータを生成し、マスクデータ記憶部27に格納する。データ保存部28は、あるパターンデータで作成し、あるテストタイミングで補正したテストパターンを用いて行われた論理シミュレーションにより、マクスデータがマスクデータ記憶部27に格納された段階で、故障データ、パターンデータ、およびマスクデータを、テスト条件データベース部29に格納する。
さらに、テスト条件生成装置1には、故障検出率チェック部30が備えられている。故障検出率チェック部30は、本発明にいう故障検出率把握部の一例に相当し、テスト条件データベース部29に格納されたデータを参照して、遅延性故障の検出率を把握する。そして、検出率が目標値を下回る場合には、データ生成部17に、データ生成のやり直しを指示する。この時、テスト条件データベース部29に格納されたテスト条件を参照し、その時点までに生成されたテスト条件では検出ができない遅延性故障を検出できるように、故障データおよびパターンデータの生成が行われる。具体的には、その時点までにテスト条件データベース部29に格納されたテスト条件で検出可能な遅延性故障を除いた、それ以外の場所に存在する遅延性故障を含む故障モデルを用いてデータの生成を行う。生成された故障データおよびパターンデータは、故障データ記憶部19およびパターンデータ記憶部18に格納される。そして、格納されたパターンデータを用いて作成されたテストパターンと、テストタイミング補正部23によって補正された(綬和された)テストタイミングで、再び論理シミュレーションが行われる。テストタイミングデータ記憶部22には、最速のテストタイミングのみではなく、この最速のテストタイミングを段階的に緩和する複数のテストタイミングが格納されている。故障検出率チェック部30の指示による繰り返しを行うときには、この、段階的に緩和するテストタイミングを利用したテストタイミングの補正が行われる。これにより、ファースタ・ザン・アット・スピードテストである範囲で、最初よりも遅いテストタイミングでの論理シミュレーションが行われる。2回目以降の繰り返しでは、さらに遅いテストタイミングでの論理シミュレーションが行われる。なお、データ生成のやり直しを行わずに、テストタイミング補正部23に、テストタイミングの緩和のみを指示してもよい。
シミュレーションの結果、マスクデータがマスクデータ記憶部27に格納される。この段階で、再び、故障データ、パターンデータ、マスクデータを、テスト条件データベース部29に格納(累積)する。検出率が目標値に達した場合には、最終テストパターン生成部31に指示を行う。
最終テストパターン生成部31は、テスト条件データベース部29に格納(累積)されたテスト条件に基づいて、実際にテスタ(テスト装置)が利用するためのテストパターン32を生成する。
尚、この図1の点線で囲まれた部分を構成する、データ生成部17,パターンデータ記憶部18,故障データ記憶部19,テストパターン生成部20,マスキング部26,マスクデータ記憶部27,データ保存部28,テスト条件データベース部29が、ATPG(Auto Test Pattern Generator:テストパターン自動生成ツール)に相当する。
図2は、図1に示すテスト条件生成装置の論理シミュレーションにおいて、オーバーキルが発生しない状態を示す図、図3は、図1に示すテスト条件生成装置の論理シミュレーションにおいて、オーバーキルが発生する状態を示す図である。
図1に示すATPGで活性化されるパスが、あるテストタイミングでのファースタ・ザン・アット・スピードテストでオーバーキルになるかどうかを判別するために、論理シミュレーションが行なわれる。この論理シミュレーションの際、遅延情報ファイル(SDF)の各エンドポイントフリップフロップの入力端子の遅延値に、先のタイミング解析で得た対象のエンドポイントフリップフロップに対応する最小スラックマージン(Tmgn)を追加した値を遅延値とする(尚、エンドポイントフリップフロップ毎に最小スラックマージンの値は異なる)。
図2の左側には、あるエンド側フリップフロップをエンドポイントとする信号パスの中で、最長のパス(下側)およびATPGで活性化された中で最長のパス(上側)の遅延時間と、システムタイミングおよびテストタイミングとの関係を示す。そして、図2の右側には、論理シミュレーションにおいて評価される、活性化された中で最長のパスの遅延時間に最小スラックマージンを加えた遅延時間と、テストタイミングとの関係を示す。具体的には、図2には、活性化される中で最長のパスの遅延時間とテストタイミングとの差Tdet(最小検出可能故障サイズ)が、最小スラックマージン(Tmgn)を超えている場合の例が示される。この場合には、活性化された中で最長のパスの遅延時間に最小スラックマージンを加えても、テストタイミングより短い。このため、論理シミュレーションで、期待される論理値の遷移の後の出力データをエンドポイントフリップフロップに取り込むことができ、シミュレーション結果はパス(合格)になる。このように、最小スラックマージンを加えて行った論理シミュレーションでパスする場合には、シミュレーションを行ったテストタイミングでオーバーキルは発生しない。
これに対して、図3には、活性化された中で最長のパスの遅延時間とテストタイミングとの差Tdet(最小検出可能故障サイズ)が、最小スラックマージン(Tmgn)未満である場合の例を示す。この場合には、活性化された中で最長のパスの遅延時間に最小スラックマージンを加えると、テストタイミングを超える。このため、期待される論理値の遷移の後の出力データをエンドポイントフリップフロップに取り込むことができず、論理シミュレーション結果はフェイル(不合格)となる。このように、最小スラックマージンを加えて行った論理シミュレーションでフェイルする場合には、シミュレーションを行ったテストタイミングでオーバーキルが発生する。
図1に示すテスト条件生成装置の論理シミュレーション部24は、ATPGで活性化されたそれぞれのパスについて上記のような論理シミュレーションを行い、それぞれのエンドポイントフリップフロップについてのシミュレーション結果に基づいて、フェイルするエンド側フリップフロップのリスト(フェイルFFリスト)を生成する。ATPGが活性化したパスに、同じエンド側フリップフロップをエンドポイントとするパスが複数含まれる場合、いずれか1つのパスについてのシミュレーションでフェイルした(すなわち、活性化したパスの中で最長のパスがフェイルした)場合には、そのエンド側フリップフロップがフェイルFFリストに追加される。
なお、前述のように、最小スラックマージンの値はエンドポイントフリップフロップごとに異なる。従って、異なるエンド側フリップフロップをエンドポイントとするパスごとに、異なる最小スラックマージンを用いた論理シミュレーションが行われ、マスクするか否かが判断される。
マスキング部26は、論理シミュレーション部24が生成したフェイルFFリストをマスクデータ(ignore_FF_list)としてATPGに読み込ませる。データ保存部28がテスト条件データベース29にテスト条件を格納する際に、マスクデータ記憶部27に格納されたフェイルする(オーバーキルが発生する)エンドポイントフリップフロップの期待値をX(don’t care)に置き換えて、マスキングを行う。
マスキングを行なった場合、マスクされたフリップフロップをエンドポイントとするパス上の遅延性故障はATPGで未検出扱いとなるため、故障検出率が低下する。従って、いったん論理シミュレーションおよびマスキングを行った後に、故障検出率が目標値を下回るときには、テストタイミングを緩和し、ふたたび論理シミュレーションを行う(図3の右部の状態であったパスを、図2の右部の状態にして検出する)。これにより、オーバーキルを起こすことなく故障検出率を高くすることができる。テストタイミングの緩和は、故障検出率が目標値に達するまで、もしくは、アット・スピードテストになるまで行われる。
なお、どのテストタイミングにおいてオーバーキルが発生するのかは、ATPGが活性化している全パスにおいて個別であるため、テストタイミングの緩和は段階的に行う必要がある。
前述のように、故障検出率チェック部30が把握した検出率が目標値を下回っていたときに、データ生成部19でのデータ生成のやり直しを行わず、同一のテストパターンについて、段階的に緩和したテストタイミングでシミュレーションとマスクデータの生成を繰り返して行うことも可能である。この場合、それぞれのテストパターンについて、オーバーキルを起こさない範囲で最も速い、すなわち、微小な遅延性故障の検出が行えるテストタイミングを設定することができる。
一方、故障検出率チェック部30の指示によってデータ生成部17がデータ生成のやり直しを行うことによって、より高い故障検出率が得られることが期待される。すなわち、その時点までにテスト条件データベース部29に格納されたテスト条件で検出可能な遅延性故障を除いた、それ以外の位置の遅延性故障を検出の対象としてデータ生成のやり直しを行うことにより、それ以前に生成されたテストパターンでは検出することができなかった遅延性故障を検出できるテストパターンが生成されることが期待される。
このようにして、半導体集積回路の、遅延性故障検出のためのテスト条件を生成することにより、ファースタ・ザン・アット・スピードテストによるオーバーキルを防ぐことができる。このため、オーバーキルによる歩留まりの低下を起こすことなく、ファースタ・ザン・アット・スピードテストによる微小遅延故障検出を利用してテスト品質を向上することができる。従来のテスト業界においては、ファースタ・ザン・アット・スピードテストによる微小遅延故障の検出はオーバーキルの影響が大きいために敬遠されてきたが、本実施形態によれば、ファースタ・ザン・アット・スピードテストをリスクなく使用することが可能となる。
上記の説明においては、図6に示されるように、あるエンド側フリップフロップ(203)をエンドポイントとして共有とする複数の信号経路を想定して、最小スラックマージンを算出した。すなわち、そのエンド側フリップフロップをエンドポイントとして共有する複数の信号経路のうちの最長の経路の遅延時問と、システムタイミングとの差を、最小スラックマージンして算出した。そして、このようにして求めた最小スラックマージンを遅延時間に加えた論理シミュレーションを行い、ATPGが活性化した信号経路の中で最長の経路でオーバーキルが起きると判断される場合には、そのエンド側フリップフロップ203のマスクを行うことによって、テスト条件の生成を行った。この場合、論理シミュレーションにおいて、最小スラックマージンは、エンドポイントを共有する複数の信号経路の全てに共有される部分の遅延時間に加えることが好ましい。これにより、遅延情報ファイル(補正後)16生成を効率的に、すなわち、補正が必要な箇所を最小にして行うことができる。さらに、そのエンド側フリップフロップをエンドポィントとする信号経路のみに含まれる部分、例えば、そのエンド側フリップフロップのデータ入力端子の遅延時間に加えることが好ましい。これにより、他のエンド側フリップフロップをエンドポイントとする信号経路の論理シミュレーションに影響を与えることが無い。
一方、あるスタート側フリップフロップをスタートポイントとして共有する複数の信号経路を想定して、同様の処理を行い、テスト条件の生成を行うことも可能である。
図4は、1つのスタート側フリップフロップ223をスタートポイントとして共有する複数のパスを示す図である。
図4には、1つのスタート側フリップフロップ242と、エンド側フリップフロップ243_1,243_2,243_3,243_4を含むエンドポイント群243と、それらの間に形成される信号経路(パス)が示されている。それぞれのパスは、それぞれのスタートポイントフリップフロップから、ユーザロジックの共通の部分241_5を経由し、さらに、ユーザロジックのそれぞれ異なる部分241_1,241_2,241_3,241_4を経由して、対応するエンドポイントフリップフロップ243_1,243_2,243_3,243_4にいたる。図4には、また、上記の複数の信号経路のいずれかが活性化されることによって検出できる可能性がある遅延性故障を代表して、遅延性故障241_5aが、全てのパスに共通する、ユーザロジックの241_5の部分に示されている。
図4に示された例において、複数の信号パスのいずれが活性化された場合でも、それらの信号パスに共通する部分に存在する遅延性故障を検出できる可能性がある。従って、これら4つの信号パスの中の最も長いパスの遅延時間と、システムタイミングとの差が「最小スラックマージン」である。ここで、遅延性故障が存在しても、その故障サイズが最小スラックマージンよりも小さければ、システムタイミングでの実動作において不良発生の原因にはならない。さらに、図4において遅延性故障241_5aが示された位置に限らず、4つの信号パスのいずれに遅延性故障が存在する場合であっても、その故障サイズが最小スラックマージンよりも小さければ、図4に示された範囲では、システムタイミングでの実動作において不良発生の原因にはならない。
従って、この場合には、最小スラックマージンを、スタート側フリップフロップをスタートポイントとして共有する複数の信号経路のうちの最長の経路の遅延時間と、システムタイミングとの差として算出する。そして、ATPGが活性化するそれぞれの信号経路について、遅延時間に算出した最小スラックマージンを加えて論理シミュレーションを行う。そして、この論理シミュレーションにおいてフェイルした信号経路がエンドポイントとするエンド側フリップフロップをフェイルFFリストに加える。この論理シミュレーションにおいて、最小スラックマージンは、スタートポイントを共有する複数の信号経路の全てに共有される部分に加えることが好ましい。さらに、共有されるスタート側フリップフロップをスタートポイントとする信号経路のみに含まれる部分、例えば、そのスタート側フリップフロップの出力端子の遅延時間に加えることが好ましい。
本発明の一実施形態のテスト条件生成装置の構成を示す図である。 図1に示すテスト条件生成装置の論理シミュレーションにおいて、オーバーキルが発生しない状態を示す図である。 図1に示すテスト条件生成装置の論理シミュレーションにおいて、オーバーキルが発生する状態を示す図である。 1つのスタート側フリップフロップ223をスタートポイントとして共有する複数のパスを示す図である。 論理回路のディレイテストを説明するための図である。 1つのエンドポイントフリップフロップ203をエンドポイントとして共有する複数のパスを示す図である。 半導体集積回路のチップ全体の回路構成を示す図である。 最小スラックマージンと最小検出可能遅延性故障サイズの関係を示す図である。 ファースタ・ザン・アット・スピードのテストを説明するための図である。 オーバーキルの概念を説明するための図である。
符号の説明
1 テスト条件生成装置
11 最小スラックマージン把握部
12 ネットリスト記憶部
13 遅延情報ファイル
14 最小スラックマージン記憶部
15 SDF補正部
16 遅延情報ファイル
17 データ生成部
18 パターンデータ記憶部
19 故障データ記憶部
20 テストパターン生成部
21 テストパターン(一時的)
22 テストタイミングデータ記憶部
23 テストタイミング補正部
24 論理シミュレーション部
25 フェイルFFリスト(マスクFFリスト)
26 マスキング部
27 マスクデータ記憶部
28 データ保存部
29 テスト条件データベース部
30 故障検出率チェック部
31 最終テストパターン生成部

Claims (11)

  1. 複数のスタート側フリップフロップと複数のエンド側フリップフロップとの間に、組合せ論理回路を介した複数の信号経路が形成された論理回路を含む半導体集積回路の、遅延性故障検出のためのテスト条件を生成し、テスト条件データベースに格納する方法において、
    第1のエンド側フリップフロップに供給される出力データの論理値の遷移が期待される、第1のスタート側フリップフロップに供給する入力データの論理値の遷移を含むテストパターンを生成し、
    前記複数のスタート側フリップフロップのいずれかをスタートポイントとし、前記第1のエンド側フリップフロップをエンドポイントとして共有する複数の信号経路の遅延時間のうちの最長の遅延時間と前記論理回路の実動作のタイミングとの差として、もしくは、前記第1のスタート側フリップフロップをスタートポイントとして共有し、前記複数のエンド側フリップフロップのいずれかをエンドポイントとする複数の信号経路の遅延時間のうちの最長の遅延時間と前記実動作のタイミングとの差として、最小スラックマージンを把握し、
    前記論理回路の実動作のタイミングに比較して速いテストタイミングを設定し、
    前記第1のスタート側フリップフロップに供給される入力データの論理値の遷移による前記第1のエンド側フリップフロップに供給される出力データの論理値の遷移、および、該遷移の後の出力データの前記第1のエンド側フリップフロップへの取り込みのシミュレーションを、前記第1のスタート側フリップフロップと第1のエンド側フリップフロップとの間の信号経路の遅延時間に前記最小スラックマージンを加えて行い、
    前記シミュレーションによって、前記テストタイミングで、前記期待される論理値の遷移の後の出力データを前記第1のエンド側フリップフロップに取り込むことができないと判断された場合に、前記第1のエンド側フリップフロップに保持されたデータを、前記テストパターンとテストタイミングを用いたテストにおける判定の対象から除外するマスクデータを生成し、前記テスト条件データベースに格納することを特徴とするテスト条件の生成方法。
  2. 前記生成したテストパターンが、さらに、前記第1のエンド側フリップフロップとは異なる、第2のエンド側フリップフロップに供給される第2の出力データの論理値の遷移が期待される、前記第1のスタート側フリップフロップとは異なる、第2のスタート側フリップフロップに供給する第2の入力データの論理値の遷移を含み、
    前記最小スラックマージンの把握において、さらに、前記複数のスタート側フリップフロップのいずれかをスタートポイントとし、前記第2のエンド側フリップフロップをエンドポイントとして共有する複数の信号経路の遅延時間のうちの最長の遅延時間と前記実動作のタイミングとの差として、もしくは、前記第2のスタート側フリップフロップをスタートポイントとして共有し、前記複数のエンド側フリップフロップのいずれかをエンドポイントとする複数の信号経路の遅延時間のうちの最長の遅延時間と前記実動作のタイミングとの差として、第2の最小スラックマージンを把握し、
    前記シミュレーションにおいて、さらに、前記第2のスタート側フリップフロップに供給される第2の入力データの論理値の遷移による前記第2のエンド側フリップフロップに供給される第2の出力データの論理値の遷移、および、該遷移の後の第2の出力データの前記第2のエンド側フリップフロップへの取り込みのシミュレーションを、前記第2のスタート側フリップフロップと第2のエンド側フリップフロップとの間の信号経路の遅延時間に前記第2の最小スラックマージンを加えて行うことを特徴とする請求項1記載のテスト条件の生成方法。
  3. 前記最小スラックマージンを、前記第1のスタート側フリップフロップと第1のエンド側フリップフロップとの間の信号経路の、該最小スラックマージンの把握において考慮した、エンドポイントを共有する複数の信号経路、もしくは、スタートポイントを共有する複数の信号経路の、全てに共有される部分の遅延時間に加えて、前記シミュレーションを行うことを特徴とする請求項1または2記載のテスト条件の生成方法。
  4. 前記マスクデータを格納したときに、前記テスト条件データベースに格納されたマスクデータに基づいて、前記論理回路内に存在する遅延性故障のうちの、前記テストパターンを用いて検出が行えるものの割合である検出率を把握し、該把握した検出率が目標値を下回るときに、
    前記テストタイミングを緩和し、該緩和したテストタイミングを用いて、前記シミュレーションと、マスクデータの生成およびテスト条件データベースヘの格納を行うことを特徴とする請求項1ないし3のいずれかに記載のテスト条件の生成方法。
  5. 前記緩和したテストタイミングを用いて行うシミュレーションを、前記生成したテストパターンを用いて行うことを特徴とする請求項4記載のテスト条件の生成方法。
  6. 前記把握した検出率が目標値を下回るときに、テストパターンを再生成し、該再生成したテストパターンおよび緩和したテストタイミングを用いて、前記シミュレーションと、マスクデータの生成およびテスト条件データベースヘの格納を行うことを特徴とする請求項4記載のテスト条件の生成方法。
  7. 複数のスタート側フリップフロップと複数のエンド側フリップフロップとの間に、組合せ論理回路を介した複数の信号経路が形成された論理回路を含む半導体集積回路の、遅延性故障検出のためのテスト条件を生成し、テスト条件データベースに格納する装置において、
    第1のエンド側フリップフロップに供給される出力データの論理値の遷移が期待される、第1のスタート側フリップフリップに供給する入力データの論理値の遷移を含むテストパターンを生成するテストパターン生成部と、
    前記複数のスタート側フリップフロップのいずれかをスタートポイントとし、前記第1のエンド側フリップフロップをエンドポイントとして共有する複数の信号経路の遅延時間のうちの最長の遅延時間と前記論理回路の実動作のタイミングとの差として、もしくは、前記第1のスタート側フリップフロップをスタートポイントとして共有し、前記複数のエンド側フリップフロップのいずれかをエンドポイントとする複数の信号経路の遅延時間のうちの最長の遅延時間と前記実動作のタイミングとの差として、最小スラックマージンを把握する最小スラックマージン把握部と、
    前記論理回路の実動作のタイミングに比較して速いテストタイミングを設定するテストタイミング設定部と、
    前記第1のスタート側フリップフロップに供給される入力データの論理値の遷移による前記第1のエンド側フリップフロップに供給される出力データの論理値の遷移、および、該遷移の後の出力データの前記第1のエンド側フリップフロップへの取り込みのシミュレーションを、前記第1のスタート側フリップフロップと第1のエンド側フリップフロップとの間の信号経路の遅延時間に前記最小スラックマージンを加えて行うシミュレーション部と、
    前記シミュレーションによって、前記テストタイミングで、前記期待される論理値の遷移の後の出力データを前記第1のエンド側フリップフロップに取り込むことができないと判断された場合に、前記第1のエンド側フリップフロップに保持されたデータを、前記テストパターンとテストタイミングとを用いたテストにおける判定の対象から除外するマスクデータを生成し、前記テスト条件データベースに格納するマスクデータ生成部とを有することを特徴とするテスト条件生成装置。
  8. 前記テストパターン生成部が、さらに、前記第1のエンド側フリップフロップとは異なる、第2のエンド側フリップフロップに供給される第2の出力データの論理値の遷移が期待される、前記第1のスタート側フリップフロップとは異なる、第2のスタート側フリップフロップに供給する第2の入力データの論理値の遷移を含むテストパターンを生成し、
    前記最小スラックマージン把握部が、さらに、前記複数のスタート側フリップフロップのいずれかをスタートポイントとし、前記第2のエンド側フリップフロップをエンドポイントとして共有する複数の信号経路の遅延時間のうちの最長の遅延時間と前記実動作のタイミングとの差として、もしくは、前記第2のスタート側フリップフロップをスタートポイントとして共有し、前記複数のエンド側フリップフロップのいずれかをエンドポイントとする複数の信号経路の遅延時間のうちの最長の遅延時間と前記実動作のタイミングとの差として、第2の最小スラックマージンを把握し、
    前記シミュレーション部が、さらに、前記第2のスタート側フリップフロップに供給される第2の入力データの論理値の遷移による前記第2のエンド側フリップフロップに供給される第2の出力データの論理値の遷移、および、該遷移の後の第2の出力データの前記第2のエンド側フリップフロップへの取り込みのシミュレーションを、前記第2のスタート側フリップフロップと第2のエンド側フリップフロップとの間の信号経路の遅延時間に前記第2の最小スラックマージンを加えて行うことを特徴とする請求項7記載のテスト条件生成装置。
  9. 前記シミュレーション部が、前記最小スラックマージンを、前記第1のスタート側フリップフロップと第1のエンド側フリップフロップとの間の信号経路の、該最小スラックマージンの把握において考慮した、エンドポイントを共有する複数の信号経路、もしくは、スタートポイントを共有する複数の信号経路の、全てに共有される部分の遅延時間に加えて、前記シミュレーションを行うことを特徴とする請求項7または8記載のテスト条件生成装置。
  10. 前記マスクデータの格納が行われたときに、前記テスト条件データベースに格納されたマスクデータに基づいて、前記論理回路内に存在する遅延性故障のうちの、前記テストパクーンを用いて検出が行えるものの割合である検出率を把握する故障検出率把握部をさらに有し、
    前記故障検出率把握部が把握した検出率が目標値を下回るときに、前記テストタイミング設定部が前記テストタイミングを緩和し、前記シミュレーション部とマスクデータ生成部が、前記緩和したテストタイミングを用いて、前記シミュレーションと、マスクデータの生成およびテスト条件データベースヘの格納を行うことを特徴とする請求項7ないし9のいずれかに記載のテスト条件生成装置。
  11. 前記把握した検出率が目標値を下回るときに、
    前記テストパターン生成部がテストパターンを再生成し、
    前記シミュレーション部とマスクデータ生成部が、前記再生成したテストパターンおよび緩和したテストタイミングを用いて、前記シミュレーションと、マスクデータの生成およびテスト条件データベースヘの格納を行うことを特徴とする請求項10記載のテスト条件生成装置。
JP2008129494A 2008-05-16 2008-05-16 テスト条件の生成方法およびテスト条件生成装置 Expired - Fee Related JP5032395B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008129494A JP5032395B2 (ja) 2008-05-16 2008-05-16 テスト条件の生成方法およびテスト条件生成装置
US12/453,612 US8006156B2 (en) 2008-05-16 2009-05-15 Method of generating test condition for detecting delay faults in semiconductor integrated circuit and apparatus for generating the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008129494A JP5032395B2 (ja) 2008-05-16 2008-05-16 テスト条件の生成方法およびテスト条件生成装置

Publications (2)

Publication Number Publication Date
JP2009276278A JP2009276278A (ja) 2009-11-26
JP5032395B2 true JP5032395B2 (ja) 2012-09-26

Family

ID=41317303

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008129494A Expired - Fee Related JP5032395B2 (ja) 2008-05-16 2008-05-16 テスト条件の生成方法およびテスト条件生成装置

Country Status (2)

Country Link
US (1) US8006156B2 (ja)
JP (1) JP5032395B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5262996B2 (ja) * 2009-05-26 2013-08-14 富士通セミコンダクター株式会社 論理シミュレーション装置、方法、及びプログラム
JP5476954B2 (ja) 2009-12-04 2014-04-23 富士通株式会社 移動端末、基地局、通信システムおよび通信方法
US8776006B1 (en) 2013-02-27 2014-07-08 International Business Machines Corporation Delay defect testing of power drop effects in integrated circuits
US9768762B2 (en) 2014-09-25 2017-09-19 Taiwan Semiconductor Manufacturing Company, Ltd. Integrated circuit and method of testing
FR3047565B1 (fr) * 2016-02-05 2018-03-09 Stmicroelectronics (Crolles 2) Sas Procede et dispositif de test d'une chaine de bascules
TWI727478B (zh) * 2019-10-31 2021-05-11 瑞昱半導體股份有限公司 測試圖樣產生方法以及失效模型產生方法
CN112765928A (zh) * 2019-11-06 2021-05-07 瑞昱半导体股份有限公司 测试图样产生方法以及失效模型产生方法
JP2022187741A (ja) * 2021-06-08 2022-12-20 富士通株式会社 解析プログラム、解析方法及び解析装置
CN116187237B (zh) * 2023-04-27 2023-08-08 芯耀辉科技有限公司 用于芯片设计的检查方法、设备及介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11142482A (ja) * 1997-11-13 1999-05-28 Fujitsu Ltd タイミング故障診断方法及び装置
US6708139B2 (en) * 2002-04-30 2004-03-16 Agilent Technologies, Inc. Method and apparatus for measuring the quality of delay test patterns
JP3833984B2 (ja) * 2002-10-28 2006-10-18 株式会社東芝 テストベクタの生成装置、テストベクタの生成方法、半導体集積回路の故障解析装置、およびテストベクタを生成するためのプログラム
JP2005326203A (ja) * 2004-05-13 2005-11-24 Matsushita Electric Ind Co Ltd 半導体集積回路の実速度検査方法
US7546500B2 (en) * 2006-03-02 2009-06-09 Synopsys, Inc. Slack-based transition-fault testing
US8051352B2 (en) * 2006-04-27 2011-11-01 Mentor Graphics Corporation Timing-aware test generation and fault simulation

Also Published As

Publication number Publication date
JP2009276278A (ja) 2009-11-26
US8006156B2 (en) 2011-08-23
US20090287974A1 (en) 2009-11-19

Similar Documents

Publication Publication Date Title
JP5032395B2 (ja) テスト条件の生成方法およびテスト条件生成装置
US7596731B1 (en) Test time reduction algorithm
JP4031954B2 (ja) 集積回路の診断装置および診断方法
JP2003294813A (ja) 組込み自己テスト回路及び設計検証方法
Tshagharyan et al. An effective functional safety solution for automotive systems-on-chip
JP4482622B2 (ja) 変換装置、変換方法、変換方法をコンピュータに実行させることが可能なプログラム、及び、このプログラムを記録した記録媒体
US7107502B2 (en) Diagnostic method for detection of multiple defects in a Level Sensitive Scan Design (LSSD)
US11815555B2 (en) Universal compactor architecture for testing circuits
JP2006292646A (ja) Lsiのテスト方法
JP2007500356A (ja) シグナルインテグリティ自己テストアーキテクチャ
US20100262876A1 (en) Test circuit and method for testing of infant mortality related defects
US7058909B2 (en) Method of generating an efficient stuck-at fault and transition delay fault truncated scan test pattern for an integrated circuit design
US20080098267A1 (en) Semiconductor IC and testing method thereof
JP2008082976A (ja) Fbm生成装置、fbm生成方法
KR101619741B1 (ko) 자체 진단 기능이 내장된 반도체 소자를 시험하는 장치
US11092645B2 (en) Chain testing and diagnosis using two-dimensional scan architecture
JP5727358B2 (ja) 半導体装置
JP2006349548A (ja) 組み込み自己検査回路
JP5158087B2 (ja) 半導体集積回路装置および半導体集積回路装置の試験方法
JP2006286030A (ja) 半導体装置
US8055467B2 (en) Method of generating a restricted inline resistive fault pattern and a test pattern generator
US20140281764A1 (en) Data path memory test
JP5151216B2 (ja) 論理機能回路と自己診断回路とからなる統合回路の設計方法
US8539327B2 (en) Semiconductor integrated circuit for testing logic circuit
JP2005303189A (ja) 半導体集積回路およびその救済方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110307

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120620

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120626

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120628

R150 Certificate of patent or registration of utility model

Ref document number: 5032395

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150706

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees