Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4028574B2 - Lsiのテスト容易化設計方法 - Google Patents
[go: Go Back, main page]

JP4028574B2 - Lsiのテスト容易化設計方法 - Google Patents

Lsiのテスト容易化設計方法 Download PDF

Info

Publication number
JP4028574B2
JP4028574B2 JP2006035244A JP2006035244A JP4028574B2 JP 4028574 B2 JP4028574 B2 JP 4028574B2 JP 2006035244 A JP2006035244 A JP 2006035244A JP 2006035244 A JP2006035244 A JP 2006035244A JP 4028574 B2 JP4028574 B2 JP 4028574B2
Authority
JP
Japan
Prior art keywords
logic gate
detection rate
pointer
failure detection
logic
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
JP2006035244A
Other languages
English (en)
Other versions
JP2006228213A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2006035244A priority Critical patent/JP4028574B2/ja
Publication of JP2006228213A publication Critical patent/JP2006228213A/ja
Application granted granted Critical
Publication of JP4028574B2 publication Critical patent/JP4028574B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)

Description

本発明は論理ゲートを含む集積回路に対するテスト容易化設計に関する。
近年の半導体集積回路技術の進歩に伴い、LSI(大規模集積回路)中に含まれる素子(論理ゲート)数も増大し、それに伴い、LSIのテストをいかに効率よく行うかが問題となってきた。この問題を解決する方法としてテスト容易化設計がある。代表的なものにスキャンパス法を用いたスキャンパス設計がある(例えば特許文献1参照)。
スキャンパス法では、LSI中に含まれるフリップフロップの全部または一部をテスト用のフリップフロップ(以下、「スキャンフリップフロップ」という。)に置き換え、これらをシリアルに接続してスキャンパスを形成する(これを「スキャンパス挿入」という。)。ここで、スキャンフリップフロップは、一般に、テストモードに設定するためのテストイネーブル端子、スキャンデータを入力するためのスキャンイン端子、スキャンデータを出力するためのスキャンアウト端子等を有する。最初のスキャンフリップフロップのスキャンイン端子はLSIの外部入力端子に接続され、最後のスキャンフリップフロップのスキャンアウト端子はLSIの外部出力端子に接続される。そして、各スキャンフリップフロップのクロックを外部より制御し、シフトレジスタとして動作させる。このとき、外部入力端子を介してテストデータを与え、各スキャンフリップフロップに記憶された値を外部出力端子を介して順次取り出すことにより、各スキャンフリップフロップに接続された組み合わせ回路のテストを行う。
このようなスキャンパス法を用いたテスト容易化設計(スキャンパス設計)に対しては、いくつかの基本的な設計ルールがある。例えば、1)フリップフロップのクロックは全て外部ポートから制御可能であること、2)非同期リセット/セットが外部ポートから制御可能であること、3)組み合わせ回路のフィードバックを含まないこと等の設計ルールがある。
そこで、スキャンパス設計を行う前に、対象回路に対して設計ルールの検査を行った後、スキャンパス設計が可能であれば、スキャンパス挿入を行い、テストパターン自動生成(ATPG: Automatic Test Pattern Generator)を行う。テストパターン自動生成では、テストパターンと、そのテストパターンによる縮退故障の検出度合いを示す故障検出率とが出力される。その後、故障検出率を確認して、故障検出率が不十分であれば回路修正やスキャン化率の増減を行った後、再度、テスト容易化設計ルールの検査を行い、スキャンパス挿入、テストパターン自動生成を行う。テストパターン自動生成により十分な故障検出率が得られるまで、上記処理を繰り返す。
特開平5−6409号公報
このように、従来では、故障検出率を求めるために、テスト容易化設計のルール検査、スキャンパス挿入、テストパターン自動生成(ATPG)による故障検出率の算出、スキャン化率の増減や回路修正の各処理を繰り返して行う必要があった。
この場合、スキャンパス法、特に、回路中の一部のフリップフロップをスキャンフリップに置換するパーシャルスキャンにおいては、スキャンパス挿入、ATPGによる故障検出率の算出を繰り返すため、設計時間が長くなるという問題がある。
本発明は上記課題を解決すべくなされたものであり、その目的とするところは、LSIの設計期間を短縮するテスト容易化設計方法を提供することにある。
本発明に係るテスト容易化設計方法は、論理ゲートを含む回路に対してスキャンパスを設計するステップと、前記スキャンパスを挿入することでテストパターンを生成するステップとを有するLSIのテスト容易化設計方法であってコンピュータによって実行される。コンピュータは、後入れ先出し機能を有するスタック構造メモリと演算手段とを備える。LSIのテスト容易化設計方法は、スキャンパスを挿入する前に、テストパターンによる故障検出率を概算するステップを含む。その故障検出率を概算するステップは、演算手段により、訪問する論理ゲートを示すポインタを、最初に設定された入力端子を持つ論理ゲートの出力が接続された論理ゲートの入力端子のポインタのみが格納されたスタック構造メモリに格納するステップと、演算手段により、スタック構造メモリに格納されたポインタにしたがって論理ゲートを順次訪問し、各論理ゲートに対して論理演算を行い論理演算結果を順次求めることでテストパターンによる故障検出率を概算するステップとを含む。
本発明によれば、LSIの設計期間を短縮できる。
以下、添付の図面を参照して本発明に係るテスト容易化設計ルール検査装置の実施の形態を説明する。本実施形態のテスト容易化設計ルール検査装置は、半導体集積回路に対してスキャンパス設計を行う際の設計ルールを検査する装置であり、テストパターン自動生成(ATPG)により生成されるテストパターンの故障検出率を概算する。
<テスト容易化設計ルール検査装置の構成>
図1はテスト容易化設計ルール検査装置の構成を示すブロック図である。テスト容易化設計ルール検査装置は、外部よりデータや設定値、ユーザの操作情報等を入力するデータ入力部3と、スキャンパス設計を行うときの一般的な設計ルール(設計制約)を検査するDFTルール検査部5と、回路に対する故障検出率を算出する故障検出率算出部10と、故障検出率の算出結果等の種々の表示を行う表示制御部20とを備える。故障検出率算出部10は、論理値を伝播させてネット探索を行うネット探索部13と、故障検出率を算出するために、特定の条件を満たす論理ゲートの入出力端子を元とする集合を求める集合生成部15と、故障検出率を計算する故障検出率計算部17とからなる。さらに、テスト容易化設計ルール検査装置は、ネットワーク構造データベース50と、集合データベース60とを備える。なお、本実施形態のテスト容易化設計ルール検査装置は、図示してないが、Verilog-HDL等で記述されるテスト対象回路の回路情報である論理回路情報も有する。
上記のような構成のテスト容易化設計ルール検査装置は、所定のプログラムを実行し所定の機能を実現するCPU、プログラムやデータ等を格納するハードディスクやROM等の記憶装置、CPUが実行するプログラムがロードされるRAM、表示装置およびキーボードやマウス等の入力装置等のハードウェアから構成されてもよい。この場合、図1に示す各ブロックの機能は、ハードディスクやROM等の情報記録媒体に格納された所定のプログラムがRAMにロードされ、CPUにより実行されることにより実現される。
<種々のデータベース>
ネットワーク構造データベース50は、回路を構成する論理ゲートを定義する情報である論理ゲート情報51と、論理ゲート間の接続関係を定義する情報である信号接続情報53とを有する。論理ゲート情報51には、論理ゲートの名前と、論理ゲートの入力端子群、論理ゲートの出力端子群の情報と、論理ゲートの演算子を示す情報(演算オペコード)とが含まれる。信号接続情報53には、論理ゲート間を接続する信号線の名前と、信号線に接続される論理ゲート端子の情報とが含まれる。
図2に、論理ゲート情報51をC言語の構造体を用いて構成した例を示す。図に示すように論理ゲート情報構造体100は、論理ゲート名101と、出力端子リストへのポインタ103と、入力端子リストへのポインタ105とからなる。出力端子リストへのポインタ103は、出力端子リストの先頭アドレスを格納する。すなわち、出力端子リストへのポインタ103は、最初の出力端子名103aの記憶場所(アドレス)を格納する。この出力端子リストへのポインタ103が示すアドレスを基準として出力端子リストに含まれる出力端子名を順次読み出すことができる。同様に、入力端子リストへのポインタ105は、入力端子リストの先頭アドレスを格納する。
さらに、論理ゲート情報51は、出力端子名103a…と関連付けられた演算子構造体110を有する。演算子構造体110は、演算を示す演算子オペコードを格納する演算オペコード111と、演算に対する第1の引数のアドレスを格納する第1引数ポインタ113と、第2の引数のアドレスを格納する第2引数ポインタ115とからなる。演算オペコード111は、場合によっては入力端子名を格納する。
図3に、上記構造体を用いた論理ゲート情報51におけるデータの具体例を示す。図3の(b)は、図3の(a)に示すANDゲートに対して、論理ゲート情報51に格納されるデータ例を示している。図3の(a)に示すANDゲートの論理ゲート名は「AND03」であり、端子名が「I1」、「I2」、「I3」となる3つの入力端子を有し、端子名が「O1」となる1つの出力端子を有する。すなわち、図3の(b)に示すように、論理ゲート構造体100において、論理ゲート名101には「AND03」が格納され、出力端子リストへのポインタ103が示す出力端子名103aには「O1」が格納される。また、演算子構造体110において、演算オペコード111にはAND演算を示すオペコードである「&」が格納され、第1引数ポインタ113には演算子構造体110bの先頭アドレスが、第2引数ポインタ115には演算子構造体110cの先頭アドレスが格納される。演算子構造体110bの演算オペコード111bには入力端子名「I1」が格納される。演算子構造体110cにおいて、演算オペコード111cにはAND演算を示すオペコードである「&」が格納され、第1引数ポインタ113cには演算子構造体110dの先頭アドレスが、第2引数ポインタ115cには演算子構造体110eの先頭アドレスが格納される。演算子構造体110dの演算オペコード111dには入力端子名「I2」が格納される。演算子構造体110eの演算オペコード111eには入力端子名「I3」が格納される。入力端子リストへのポインタ105が示すアドレス領域105aには入力端子名「I1」が記憶される。その後、順次、入力端子リストの所定領域に入力端子名「I2」、「I3」が記憶される。なお、図中、「null」はデータが格納されていないことを示し、出力端子リスト及び入力端子リストにおいては、データの終了を示す。
図4に、信号接続情報53をC言語の構造体を用いて構成した例を示す。図に示すように信号接続情報構造体200は、信号線名201と、ファンインへのポインタ203と、ファンアウトリストへのポインタ205とからなる。ファンインへのポインタ203は、この信号線の入力側に接続される論理ゲートの出力端子名が格納される記憶域のアドレスを格納する。ファンアウトリストへのポインタ205は、ファンアウトリストの先頭アドレスを格納する。ファンアウトリストは、ポインタ205a、205b…からなる。ポインタ205a、205b…は、信号線に対して出力側に接続される論理ゲートの入力端子名の記憶域のアドレスを格納する。
図5は、上記構造体を用いた信号接続情報53におけるデータの具体例を示した図である。図5の(b)は、図5の(a)に示す回路に対して、信号接続情報53に格納されるデータ例を示している。図5の(a)では、ANDゲート(AND03)の出力が、信号線(NET01)を介して、インバータ(INV01)及びANDゲート(AND04)に接続された例を示す。この例では、信号接続情報構造体200において、信号線名201には、「NET01」が、ファンインへのポインタ203には、出力端子「O1」のアドレスが格納される。ファンアウトリストへのポインタ205には、ファンアウトリストの先頭アドレス、すなわち、ポインタ205aのアドレスが格納される。ポインタ205aには入力端子「I4」のアドレスが格納され、ポインタ205bには入力端子「I5」のアドレスが格納される。ポインタ205cにはファンアウトリストの終了を示す「null」が格納される。
集合データベース60は、論理ゲート端子のうちテスト不可能な端子を元とする集合UTと、論理ゲート端子のうちテスト時に外部から制御不可能な端子を元とする集合UCと、論理ゲート端子のうちテスト時に外部から観測不可能な端子を元とする集合UOとからなる。集合データベース60をC言語構造体を用いて構成した例を図6の(a)に示す。集合構造体300は、集合名301と、端子リストへのポインタ303とからなる。端子リストへのポインタ303には、端子リストの先頭アドレス、すなわち、ポインタ303aのアドレスが格納される。端子リストは、集合に含まれる端子の端子名が格納された記憶域を示すポインタ303a…からなる。図6の(b)にデータ格納例を示す。
<テスト容易化設計ルール検査装置の動作>
以上のように構成されるテスト容易化設計ルール検査装置の動作について説明する。
本実施形態のテスト容易化設計ルール検査装置は、テスト容易化設計ルールを検査する際に、所定の論理値を伝播させてネット検査を行うことにより、ATPGにより生成されるテストパターンの故障検出率を概算する。テスト容易化設計ルール検査装置の全体動作を説明する前に、まず、ネット探索処理について説明する。
<ネット探索処理>
図7に、テスト容易化設計ルール検査装置のネット探索処理を示すフローチャートを示す。ネット探索処理では、深さ方向に論理ゲートを順次訪問し、訪問した論理ゲートにおいてその演算オペコードに応じた論理演算を行う。本処理はネット探索部13により制御される。
図に示すように、まず、ネット探索を開始するため初期条件を設定する。すなわち、ネット探索を開始する入力端子と、伝播させる論理値とをデータ入力部3を介して入力する(S101)。次に、入力した入力端子の格納場所を示すポインタをスタック構造メモリにプッシュする(S102)。ここで、スタック構造メモリとは一般的に後入れ先出し機能(LIFO)を実現するメモリであり、スタック構造メモリにデータを格納する操作をプッシュといい、スタック構造メモリからデータを取り出す操作をポップという。スタック構造メモリは、訪問すべき論理ゲートの入力端子のポインタを格納する。
その後、スタック構造メモリに格納されたポインタに従って、論理ゲートを訪問し、その論理ゲートに応じて論理演算を行う。
すなわち、スタック構造メモリから論理ゲートの入力端子のアドレスをポップする(S103)。スタック構造メモリからのアドレスのポップの可否を判断し(S104)、スタック構造メモリからアドレスをポップできないとき、すなわち、スタック構造メモリが空のときは、ネット探索処理を終了する。アドレスがポップできたときは、論理ゲート情報を参照し、その入力端子のアドレスから論理ゲートのアドレスを取得し(S105)、さらに、その論理ゲートの出力端子のアドレスを取得する(S106)。出力端子のアドレス取得の可否を判断し(S107)、取得できなかったときはステップS103に戻る。出力端子のアドレスが取得できたときは、その論理ゲートに対して演算オペコードと論理値とに基づき論理演算を行う(S108)。なお、論理演算の結果は、その論理ゲートでの伝播結果として所定の記憶域に保持される。
その後、現時点で訪問している論理ゲートの次に訪問すべき全ての論理ゲートを探し、それらに対して、それらの入力端子のアドレスおよび伝播させる論理値を設定する(S109)。本処理の詳細は後述する。
訪問すべき論理ゲートの入力端子のアドレスおよび伝播させる論理値の設定(S109)が終了すると、ステップS106に戻る。1つの論理ゲートに対する全ての出力端子に対して上記処理(S106〜S109)が繰り返され、その後、ステップS103に戻り、スタック構造メモリから次に探索する入力端子のアドレスをポップする。このとき、スタック構造メモリには、最初に設定された入力端子を持つ論理ゲートの出力が接続された次の論理ゲートの入力端子が格納されており、深さ方向に1つ進んだことになる。以後、上記処理を繰り返すことにより、深さ方向に順次探索が行われる。
なお、上記フローチャートにおいて、ネットの終端に達したときは、次の訪問先の設定処理(ステップS109)に入っても、スタック構造メモリに新たに入力端子のアドレスがプッシュされることはない。これによって、次にスタック構造メモリをポップすることにより、別の枝に接続する論理ゲートに対して連続してネット探索を行うことができる。
上記ステップS109における次の訪問先の設定処理を図8に示すフローチャートを用いて説明する。
まず、信号線接続情報を参照して、今訪問中の出力端子のアドレスに基づき、その出力端子が接続される次の論理ゲートの入力端子のアドレスを順次取得する(S111)。入力端子のアドレスは、信号線接続情報のファンアウトリストへのアドレスによって順次指定されることにより取得される。その後、アドレス取得の可否を判断する(S112)。アドレスが取得されたときは、その入力端子に入力する論理値として、前段の論理ゲートでの論理演算結果(ステップS108で計算されたもの)を設定する(S113)。その後、スタック構造メモリに次の入力端子のアドレスをプッシュし(S114)、ステップS111に戻る。今訪問中の論理ゲートの出力端子に対する全ての入力端子のアドレスおよび論理値の設定が終了するまで上記処理を繰り返す。
<ネット探索処理のプログラム例>
図9に、図7及び図8のフローチャートで示されるネット探索処理を実現するプログラムの一例を示す。なお、本プログラムはC言語の文法に基づいて記載されている。
図9において、(a)で示す関数depth_search()はネット探索を行う関数である。関数depth_search()はスタック構造メモリを用い、訪問する論理ゲートのアドレスをスタック構造メモリに格納しながらネット探索を行う。関数depth_search()において、変数v、o_pin、instanceはそれぞれ入力端子、出力端子、論理ゲートのアドレスの値を格納するポインタである。(b)で示す関数culc_opr(a,b)は、引数aにより指定される論理ゲートの演算オペコードを参照し、引数bの値を用いて論理演算を実行し、その論理演算結果を返す。(c)で示す関数stuck_push(x)は、スタック構造メモリに引数xで指定されるポインタをプッシュする。(d)で示す関数stuck_pop()は、スタック構造メモリからポインタをポップして返す。(e)で示す関数get_funout(x)は、引数xで指定される論理ゲート(または出力端子)に接続される論理ゲートの入力端子のアドレスを返す。この場合、引数xで指定される論理ゲート(または出力端子)に接続される論理ゲートの入力端子が複数あるときは、関数が呼び出される度にそれらの入力端子のアドレスを順次返す。depth_search()に対しては、ネット探索を開始する論理ゲートの入力端子のポインタi_pinと、論理値の初期値valとが引数として渡される。
図9に示すプログラムにおいて、ステ−トメント(1)、(2)は、ステップS101、S102に対応する。ステ−トメント(3)は、ステップS103、S104に対応する。ステ−トメント(4)は、ステップS105に対応する。ステ−トメント(5)は、ステップS106、S107に対応する。ステ−トメント(6)は、ステップS108に対応する。ステ−トメント(7)は、ステップS111、S112に対応する。ステ−トメント(8)は、ステップS113に対応する。ステ−トメント(9)は、ステップS114に対応する。プログラムループで見ると、ステートメント(3)〜(12)のループは、ステップS103〜S109のループに対応する。ステートメント(5)〜(11)のループは、ステップS106〜S109のループに対応する。ステートメント(7)〜(10)のループは、ステップS109すなわちステップS111〜S114のループに対応する。
<メインフロ−>
以下に、テスト容易化設計ルール検査装置の全体動作を図10のフローチャートを用いて説明する。
テスト容易化設計ルール検査装置において、データ入力部3において動作の開始操作が入力されると、DFTルール検査部5は、Verilog-HDL等で記述されたテスト対象回路の論理回路情報を参照し、スキャンパス設計における一般的な設計ルールの検査を行う(S1)。一般的なスキャンパス設計における設計ルールとしては、例えば、以下の項目が検査される。すなわち、a)スキャン対象のフリップフロップのクロック、セット/リセット端子が外部から制御可能であるか否か、b)スキャン対象のフリップフロップが、対応するスキャンフリップフロップを有するか否か等が検査される。その後、検査結果を判断し(S2)、スキャンパス設計のための制約を満たしていれば、故障検出率算出部10は、所定のネット探索処理を行って故障検出率を算出する(S3)。最後に、表示制御部20は、設計制約の検査結果、故障検出率、ネット探索処理の結果等を表示する(S4)。
<故障検出率算出処理>
以下に、上記故障検出率の算出(ステップS3)について図11のフローチャートを用いて説明する。前述のように本処理は故障検出率算出部10により制御される。
図11において、最初に、データ入力部3がテストパターン自動生成(ATPG)のためのコンストレイン、すなわちテストモードに設定するための信号と、伝播させる論理値の初期値とを入力する(S11)。その後、故障検出率算出部10のネット探索部13は、入力した論理値を回路内の各論理ゲートに伝播させる(S12)。ここで、論理値を伝播させるとは、一の論理ゲートに対して所定の論理値を与えて論理演算を行い、その演算結果を次の論理ゲートに与えて論理演算を行い、さらに、その演算結果をその次の論理ゲートに入力して論理演算を行うという処理を繰り返して、論理演算結果を順次求めていくことである。例えば、図12の(a)に示す例では、外部入力端子71、ANDゲート72、インバータ73、ORゲート74に対して、論理値は0→0→1→1と伝播する。
次に、集合生成部15は、テストモード時にコンストレインによって値が固定されるためにテスト不可能となる論理ゲート端子の集合UTを求める(S13)。つまり、集合生成部15は、論理値の伝播結果を参照し、コンストレインにより端子の状態が0または1に固定される論理ゲート端子(ノード)を検出し、これらの論理ゲート端子を元とする集合UTを作成する。例えば、ANDゲートの入力端子の1つがコンストレインにより0になるとき、ANDゲートの出力は0に固定されるため、その出力端子は集合UTに含まれる。集合UTには、図6に示すような構造体を持つデータベースにおいて、論理ゲート端子名の格納場所のアドレス(ポインタ)が格納される。
次に、集合生成部15は、テストモード時に制御不可能な論理ゲート端子の集合である集合UCを求める。すなわち、ネット探索部13は、スキャン変換対象外のフリップフロップのQ出力から論理値X(論理値Xは「0」または「1」のいずれの値でもよい。)を伝播させてネット探索を行う(S14)。その後、論理値Xの伝播によるネット探索において、論理値XがXのまま伝播する論理ゲート端子を検出し、これらの論理ゲート端子を元とする集合UCを作成する(S15)。
ここで、論理値Xの伝播について図12の(b)を用いて説明する。図において、ORゲート84の一方の入力はコンストレインにより「0」に固定され、また、ANDゲート85の一方の入力もコンストレインにより「0」に固定される。このような回路に、外部入力端子81から論理値Xを伝播させると、インバータ82の出力は「Xを反転した値」に、インバータ83の出力は「X」に、ORゲート84の出力は「X」に、ANDゲート85の出力は「0」になる。したがって、インバータ82、83の入出力端子と、ORゲート84の入力端子の他方と、ANDゲート85の入力端子の他方については論理値Xが伝播したことになり、それ以外の端子には論理値Xが伝播しないことになる。この論理値Xの伝播によるネット探索は、ネットワーク構造データベース50に格納された各論理ゲート情報及び信号接続情報を参照して行われる。
図11に戻り、さらに、集合生成部15は、テストモード時に観測不可能な論理ゲート端子の集合である集合UOを求める。すなわち、集合生成部15は、上記のステップで求めた集合UT、UCに含まれない論理ゲート端子の集合UOを仮に作成する(S16)。その後、仮の集合UO内の各論理ゲート端子に対して論理値Xの伝播によるネット探索を実施して(S17)、外部出力端子またはスキャン変換対象のフリップフロップのD入力まで到達できた論理ゲート端子を検出し、仮の集合UOからこれらの論理ゲート端子を除き、最終的な集合UOを作成する(S18)。
最後に、故障検出率計算部17が、集合UT、集合UC、集合UOのそれぞれの元の数をut、uc、uoと、回路中の前端子数をtotalとし、スキャンパス挿入後の故障検出率を次式を用いて算出する(S19)。
故障検出率 = ( total - ( ut + uc + uo ) ) / total * 100 (%)
このようにして、テスト容易化設計ルール検査装置は、スキャンパス挿入後の故障検出率を求める。
以上のように、集合UTは、ATPGのためのコンストレインにより論理値が固定されるため、テスト不能とみなされる論理ゲート端子群である。集合UCは、スキャン変換対象外のフリップフロップ、すなわちスキャンパス挿入後の回路においてスキャンされないフリップフロップのデータ出力により制御されるのでコンビネーショナルATPGでは制御不能となる論理ゲート端子群である。また、集合UOは、スキャン変換対象のフリップフロップ、すなわちスキャンパス挿入後の回路においてスキャンされるフリップフロップや、外部出力端子から観測不能となる論理ゲート端子群である。近年のコンビネーショナルATPGでは、冗長回路、フィードバックループパスを除けば、ほぼ100%の故障検出可能なパターンが生成できる。また、近年の論理合成ツールで論理回路を合成すれば冗長回路は皆無にできる。したがって、上記のように回路中の全論理回路ゲートの端子数から、テスト時に値が固定されるためにテスト不可能な端子、テスト時に制御不可能な端子、観測不可能な端子を除いて故障検出率を求めることにより、ATPGによる故障検出率を予想することができる。
<ネット探索結果等の表示処理>
次に、上記ネット探索処理の結果等の表示処理(ステップS4)について説明する。本処理は表示制御部20により制御され、故障検出率の算出過程において求められた集合UT、集合UC、集合UOに属する端子名のリストを表示装置に表示させる。すなわち、集合UT、集合UC、集合UOのそれぞれに属する端子に対して、論理ゲート構造体を参照して端子名を取得し、それらの端子名を表示装置上に表示させる。これにより、ユーザは表示装置上でテスト不能個所、制御不能個所、観測不能個所を確認できるため、テスト容易化のための回路修正個所の特定や、スキャン化率の検討を容易にでき、設計効率を向上できる。
また、本テスト容易化設計ルール検査装置において、データ入力部3はATPGのためのコンストレインのみならず、ユーザにより指定された回路の範囲、すなわち論理ゲートの範囲を入力するようにしてもよい。このとき、表示制御部20は、指定された回路範囲内のネットワークに対するネット探索結果、すなわち論理値の伝播状況を表示するようにする。すなわち、指定された回路の範囲において論理値がどのように伝播していくかを表示する。これにより、ユーザは、ネット探索結果を確認し、その結果が所望のものか否かを迅速に判断でき、伝播させる論理値の変更→確認→変更等を対話的に処理できる。これにより、テスト容易化のための回路修正等に対して迅速な対応が可能となり、設計効率を向上できる。
以上のように、本テスト容易化設計ルール検査装置は、DFTルールの検査を行う際に同時に故障検出率を算出する。このため、故障検出率の算出するために、従来のようにDFTルール検査、スキャンパス挿入、テストパターン自動生成(ATPG)による故障検出率の算出、スキャン化率の増減や回路修正を繰り返す必要がなく、設計効率を向上できる。
本実施形態のテスト容易化設計ルール検査装置によれば、テスト容易化設計ルール検査において、テストパターン自動生成(ATPG)による故障検出率を予想することができる。これにより、故障検出率を求めるために、テスト容易化設計のルール検査、スキャンパス挿入、テストパターン自動生成による故障検出率の算出、スキャン化率の増減や回路修正の各処理を繰り返す必要がなくなり、設計効率を向上できる。
また、テスト不能個所、制御不可能個所、観測不可能個所が表示されるため、テスト容易化設計のための回路修正個所の特定やスキャン化率の検討が容易にでき、設計効率を向上できる。
また、指定された回路範囲におけるネット探索の結果が表示される。このため、ユーザは回路の所望範囲の論理伝播状況を確認でき、テスト状態時のスキャンパス解析が可能となる。これにより、テスト容易化設計のための回路修正個所の特定やスキャン化率の検討が容易にでき、設計効率を向上できる。
本発明は、論理ゲートを含む集積回路に対するテスト容易化設計に適用可能である。
本発明に係るテスト容易化設計ルール検査装置のブロック構成図。 C言語の構造体を用いて構成された論理ゲート情報の構成例を示した図。 C言語の構造体を用いて構成された論理ゲート情報において格納されるデータの具体例を示した図。 C言語の構造体を用いて構成された信号接続情報の構成例を示した図。 C言語の構造体を用いて構成された信号接続情報において格納されるデータの具体例を示した図。 (a)C言語の構造体を用いて構成された集合データベースの構成例を示した図と、(b)その集合データベースにおいて格納されるデータの具体例を示した図。 本発明に係るテスト容易化設計ルール検査装置のネット探索処理を示すフローチャート。 本発明に係るテスト容易化設計ルール検査装置のネット探索処理における次の訪問先の設定処理を示すフローチャート。 本発明に係るテスト容易化設計ルール検査装置のネット探索処理を実現するプログラム例を示す図。 本発明に係るテスト容易化設計ルール検査装置の全体動作を示すフローチャート。 本発明に係るテスト容易化設計ルール検査装置の故障検出率算出処理を示すフローチャート。 (a)一般的な論理値の伝播を説明した図と、(b)論理値Xの伝播を説明した図。
符号の説明
3 データ入力部
5 DFTルール検査部
10 故障率算出部
13 ネット探索部
15 集合生成部
17 故障率計算部
20 表示制御部
50 ネットワーク構造データベース
51 論理ゲート情報
53 信号接続情報
60 集合データベース

Claims (1)

  1. 論理ゲートを含む回路に対してスキャンパスを設計するステップと、前記スキャンパスを挿入することでテストパターンを生成するステップとを有し、コンピュータによって実行されるLSIのテスト容易化設計方法において、
    前記コンピュータは、後入れ先出し機能を有するスタック構造メモリと演算手段とを備えており、
    前記LSIのテスト容易化設計方法は、前記スキャンパスを挿入する前に、前記テストパターンによる故障検出率を概算するステップを含み、
    前記故障検出率を概算するステップは、
    前記演算手段により、訪問する論理ゲートを示すポインタを、最初に設定された入力端子を持つ論理ゲートの出力が接続された論理ゲートの入力端子のポインタのみが格納された前記スタック構造メモリに格納するステップと、
    前記演算手段により、前記スタック構造メモリに格納されたポインタにしたがって論理ゲートを順次訪問し、各論理ゲートに対して論理演算を行い論理演算結果を順次求めることで前記テストパターンによる故障検出率を概算するステップとを含む、
    LSIのテスト容易化設計方法。
JP2006035244A 2006-02-13 2006-02-13 Lsiのテスト容易化設計方法 Expired - Fee Related JP4028574B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006035244A JP4028574B2 (ja) 2006-02-13 2006-02-13 Lsiのテスト容易化設計方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006035244A JP4028574B2 (ja) 2006-02-13 2006-02-13 Lsiのテスト容易化設計方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP31738198A Division JP3829021B2 (ja) 1998-11-09 1998-11-09 テスト容易化設計ルール検査装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2007078913A Division JP2007226818A (ja) 2007-03-26 2007-03-26 Lsiのテスト容易化設計方法

Publications (2)

Publication Number Publication Date
JP2006228213A JP2006228213A (ja) 2006-08-31
JP4028574B2 true JP4028574B2 (ja) 2007-12-26

Family

ID=36989495

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006035244A Expired - Fee Related JP4028574B2 (ja) 2006-02-13 2006-02-13 Lsiのテスト容易化設計方法

Country Status (1)

Country Link
JP (1) JP4028574B2 (ja)

Also Published As

Publication number Publication date
JP2006228213A (ja) 2006-08-31

Similar Documents

Publication Publication Date Title
Drechsler et al. On acceleration of SAT-based ATPG for industrial designs
US7296249B2 (en) Using constrained scan cells to test integrated circuits
US8732649B2 (en) Backward analysis for determining fault masking factors
US6301688B1 (en) Insertion of test points in RTL designs
Mahmod et al. Special session: Delay fault testing-present and future
Gurumurthy et al. Automatic generation of instructions to robustly test delay defects in processors
JP3095066B2 (ja) レジスタトランスファレベル回路の低コストテスト方法
Long et al. FILL and FUNI: Algorithms to identify illegal states and sequentially untestable faults
Suryasarman et al. Automation of test program synthesis for processor post-silicon validation
JP3829021B2 (ja) テスト容易化設計ルール検査装置
Tsai et al. Efficient test-point selection for scan-based BIST
Kambe et al. Efficient template generation for instruction-based self-test of processor cores
JP4028574B2 (ja) Lsiのテスト容易化設計方法
JP2007226818A (ja) Lsiのテスト容易化設計方法
Eggersglüß et al. MONSOON: SAT-based ATPG for path delay faults using multiple-valued logics
Sugathan et al. Optimized Test Pattern Generation for Digital Circuits using SAT-Based ATPG and Scan Insertion Method
Chang et al. Rtl analysis and modifications for improving at-speed test
Huhn et al. Integrated Circuits
Sun et al. On the generation of diagnostic test set for intra-cell defects
Raik et al. Constraint-based hierarchical untestability identification for synchronous sequential circuits
Pomeranz Minimal Set of Primary Input Vector Pairs for Two-Cycle Gate-Exhaustive Faults
Savanur et al. A Fault Model to Detect Design Errors in Combinational Circuits
Borecký et al. Evaluation of the SEU Faults Coverage of a Simple Fault Model for Application-Oriented FPGA Testing
Foti New techniques for path delay faults functional test
Sartoni New Techniques to Detect and Mitigate Aging Effects in Advanced Semiconductor Technologies

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070123

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070326

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070529

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070730

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: 20071002

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071011

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

Free format text: PAYMENT UNTIL: 20101019

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20111019

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121019

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20131019

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees