(57)【特許請求の範囲】
【請求項１】
ＬＳＩのテストに用いられるテストパタンを生成するテストパタン生成システムであって、
前記ＬＳＩは、異なる配線層に配置された２つの配線同士がオーバーラップする重なり領域において１つのビアが形成されるシングルビア構造と、前記重なり領域において２以上のビアが形成される冗長ビア構造とを含み、
前記テストパタン生成システムは、
前記ＬＳＩのネットリスト及び前記ＬＳＩのレイアウトを示すレイアウトデータが格納される記憶装置と、
前記レイアウトデータを参照することによって、前記シングルビア構造を抽出する抽出部と、
前記ネットリストを参照することによって、前記ＬＳＩに含まれる複数のネット毎に前記抽出されたシングルビア構造の数を示すリストデータを生成するリスト生成部と、
前記リストデータを参照し、前記シングルビア構造の数に基づいてテストパタンを生成するパタン生成部と
を備え、
前記パタン生成部は、前記複数のネットの中でより多くの前記シングルビア構造を有するネットをより優先的にテストする前記テストパタンを生成する
テストパタン生成システム。
【請求項２】
ＬＳＩのテストに用いられるテストパタンを生成するテストパタン生成システムであって、
前記ＬＳＩは、異なる配線層に配置された２つの配線同士がオーバーラップする重なり領域において１つのビアが形成されるシングルビア構造と、前記重なり領域において２以上のビアが形成される冗長ビア構造とを含み、
前記テストパタン生成システムは、
前記ＬＳＩのネットリスト及び前記ＬＳＩのレイアウトを示すレイアウトデータが格納される記憶装置と、
前記レイアウトデータを参照することによって、前記シングルビア構造を抽出する抽出部と、
前記ネットリストを参照することによって、前記ＬＳＩに含まれる複数のネット毎に前記抽出されたシングルビア構造の数を示すリストデータを生成するリスト生成部と、
前記リストデータを参照し、前記シングルビア構造の数の順番で優先順位を付与することによりテストパタンを生成するパタン生成部と
を備える
テストパタン生成システム。
【請求項３】
請求項１に記載のテストパタン生成システムであって、
前記パタン生成部は、少なくとも前記複数のネットの中で最も多くの前記シングルビア構造を有するネットをテストするためのパタンを、前記テストパタンに加える
テストパタン生成システム。
【請求項４】
請求項１乃至３のいずれかに記載のテストパタン生成システムであって、
前記抽出部は、前記シングルビア構造を、前記冗長ビア構造から区別して抽出する
テストパタン生成システム。
【請求項５】
請求項１乃至３のいずれかに記載のテストパタン生成システムであって、
前記抽出部は、前記重なり領域を抽出し、前記抽出された重なり領域に含まれるビアの数をカウントし、前記カウントされたビアの数が１である前記重なり領域だけを前記シングルビア構造として抽出する
テストパタン生成システム。
【請求項６】
ＬＳＩのテストに用いられるテストパタンを生成するテストパタン生成プログラムであって、
前記ＬＳＩは、異なる配線層に配置された２つの配線同士がオーバーラップする重なり領域において１つのビアが形成されるシングルビア構造と、前記重なり領域において２以上のビアが形成される冗長ビア構造とを含み、
前記テストパタン生成プログラムは、
（Ａ）前記ＬＳＩのレイアウトを示すレイアウトデータを参照することによって、前記シングルビア構造を抽出するステップと、
（Ｂ）前記ＬＳＩのネットリストを参照することによって、前記ＬＳＩに含まれる複数のネット毎に前記抽出されたシングルビア構造の数を示すリストデータを生成し、前記生成されたリストデータを記憶装置に格納するステップと、
（Ｃ）前記記憶装置に格納された前記リストデータを参照し、前記シングルビア構造の数に基づいてテストパタンを生成するステップと
をコンピュータに実行させ、
前記（Ｃ）ステップにおいて、前記複数のネットの中でより多くの前記シングルビア構造を有するネットをより優先的にテストする前記テストパタンが生成される
テストパタン生成プログラム。
【請求項７】
ＬＳＩのテストに用いられるテストパタンを生成するテストパタン生成プログラムであって、
前記ＬＳＩは、異なる配線層に配置された２つの配線同士がオーバーラップする重なり領域において１つのビアが形成されるシングルビア構造と、前記重なり領域において２以上のビアが形成される冗長ビア構造とを含み、
前記テストパタン生成プログラムは、
（Ａ）前記ＬＳＩのレイアウトを示すレイアウトデータを参照することによって、前記シングルビア構造を抽出するステップと、
（Ｂ）前記ＬＳＩのネットリストを参照することによって、前記ＬＳＩに含まれる複数のネット毎に前記抽出されたシングルビア構造の数を示すリストデータを生成し、前記生成されたリストデータを記憶装置に格納するステップと、
（Ｃ）前記記憶装置に格納された前記リストデータを参照し、前記シングルビア構造の数の順番で優先順位を付与することによりテストパタンを生成するステップと
をコンピュータに実行させる
テストパタン生成プログラム。
【請求項８】
請求項６に記載のテストパタン生成プログラムであって、
前記（Ｃ）ステップは、少なくとも前記複数のネットの中で最も多くの前記シングルビア構造を有するネットをテストするためのパタンを、前記テストパタンに加えるステップを含む
テストパタン生成プログラム。
【請求項９】
請求項６乃至８のいずれかに記載のテストパタン生成プログラムであって、
前記（Ａ）ステップにおいて、前記シングルビア構造は、前記冗長ビア構造から区別されて抽出される
テストパタン生成プログラム。
【請求項１０】
請求項６乃至８のいずれかに記載のテストパタン生成プログラムであって、
前記（Ａ）ステップは、
（ａ１）前記レイアウトデータを参照することによって、前記重なり領域を抽出するステップと、
（ａ２）前記抽出された重なり領域に含まれるビアの数をカウントするステップと、
（ａ３）前記カウントされたビアの数が１である前記重なり領域だけを前記シングルビア構造として抽出するステップと
を含む
テストパタン生成プログラム。
【請求項１１】
ＬＳＩのテストに用いられるテストパタンを生成するテストパタン生成方法であって、
前記ＬＳＩは、異なる配線層に配置された２つの配線同士がオーバーラップする重なり領域において１つのビアが形成されるシングルビア構造と、前記重なり領域において２以上のビアが形成される冗長ビア構造とを含み、
前記テストパタン生成方法は、
（Ａ）前記ＬＳＩのレイアウトを示すレイアウトデータを参照することによって、前記シングルビア構造を抽出するステップと、
（Ｂ）前記ＬＳＩのネットリストを参照することによって、前記ＬＳＩに含まれる複数のネットのそれぞれに対して前記シングルビア構造の数をカウントするステップと、
（Ｃ）前記シングルビア構造の数に基づいてテストパタンを生成するステップと
を有し、
前記（Ｃ）ステップにおいて、前記複数のネットの中でより多くの前記シングルビア構造を有するネットをより優先的にテストする前記テストパタンが生成される
テストパタン生成方法。
【請求項１２】
ＬＳＩのテストに用いられるテストパタンを生成するテストパタン生成方法であって、
前記ＬＳＩは、異なる配線層に配置された２つの配線同士がオーバーラップする重なり領域において１つのビアが形成されるシングルビア構造と、前記重なり領域において２以上のビアが形成される冗長ビア構造とを含み、
前記テストパタン生成方法は、
（Ａ）前記ＬＳＩのレイアウトを示すレイアウトデータを参照することによって、前記シングルビア構造を抽出するステップと、
（Ｂ）前記ＬＳＩのネットリストを参照することによって、前記ＬＳＩに含まれる複数のネットのそれぞれに対して前記シングルビア構造の数をカウントするステップと、
（Ｃ）前記シングルビア構造の数の順番で優先順位を付与することによりテストパタンを生成するステップと
を有する
テストパタン生成方法。
【請求項１３】
請求項１１に記載のテストパタン生成方法であって、
前記（Ｃ）ステップは、少なくとも前記複数のネットの中で最も多くの前記シングルビア構造を有するネットをテストするためのパタンを、前記テストパタンに加えるステップを含む
テストパタン生成方法。
【請求項１４】
請求項１１乃至１３のいずれかに記載のテストパタン生成方法であって、
前記（Ａ）ステップにおいて、前記シングルビア構造は、前記冗長ビア構造から区別されて抽出される
テストパタン生成方法。
【請求項１５】
請求項１１乃至１３のいずれかに記載のテストパタン生成方法であって、
前記（Ａ）ステップは、
（ａ１）前記レイアウトデータを参照することによって、前記重なり領域を抽出するステップと、
（ａ２）前記抽出された重なり領域に含まれるビアの数をカウントするステップと、
（ａ３）前記カウントされたビアの数が１である前記重なり領域だけを前記シングルビア構造として抽出するステップと
を含む
テストパタン生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＬＳＩに関する。特に、本発明は、ＬＳＩのテストに用いられるテストパタンを生成するための技術に関する。
【背景技術】
【０００２】
図１は、ＬＳＩに関する一般的な設計フローを概略的に示している。まず、所望のＬＳＩに関して論理設計が行われ（ステップＳ１０１）、ゲートレベルの論理回路であるネットリスト１０１が生成される。このネットリスト１０１は、マクロセル間の接続関係を示している。次に、そのネットリスト１０１に基づいてレイアウト設計が行われ（ステップＳ１０２）、所望のＬＳＩのレイアウトを示すレイアウトデータ１０２が生成される。その後、レイアウトデータ１０２に基づいてレチクルが作成され、所望のＬＳＩ１０３が製造される（ステップＳ１０３）。
【０００３】
製造されたＬＳＩ１０３は、ＬＳＩテスタでテストされる。そのテストの際に用いられるデータは「テストパタン」と呼ばれており、そのテストパタンをＬＳＩの設計データに基づいて予め作成しておく必要がある。テストパタンは、人手によって作成される、あるいは、ＡＴＰＧ（Automatic Test Pattern Generator）と呼ばれるツールによって自動的に生成される。例えば、ＡＴＰＧは、ネットリスト１０１及び検出したい故障のリストに基づいて、その故障を検出するためのテストパタン１０４を自動的に生成する（ステップＳ１０４）。
【０００４】
生成されたテストパタン１０４の有効性は、故障シミュレータ１０５と呼ばれるツールによって予め検証されてもよい。有効性が確認されなかった場合、ステップＳ１０４が繰り返される。このようにして最終的なテストパタン１０４が決定される。ＬＳＩテスタを用い、テストパタン１０４を製造されたＬＳＩ１０３に入力することによって、そのＬＳＩ１０３のテストが行われる（ステップＳ１０５）。
【０００５】
ＬＳＩのテストや故障診断に関する技術が、特許文献１〜特許文献４に記載されている。
【０００６】
特許文献１に開示された技術によれば、ネットリスト及びレイアウトデータに基づいて故障診断が行われる。具体的には、レイアウト情報に基づいて、最小のサイズを有するビア（最小ビア）が抽出される。そして、その最小ビアの数やメタル配線長に応じて、故障診断に重み付けがなされる。
【０００７】
特許文献２に開示された技術によれば、ネットリスト及びレイアウトデータに基づいてテストベクタ（テストパタン）が自動生成される。レイアウトデータからは、信号線の配線長に関する情報、及び配線間隔に関する情報が抽出される。そして、長い信号線、及び配線間隔の狭い信号線に対して、優先的にテストベクタが生成される。
【０００８】
特許文献３に開示された技術によれば、レイアウト情報を参照することによって、故障の発生しやすい箇所が考慮される。故障の発生しやすい箇所として、電源線と近接している信号線、及び、信号線同士が近接している箇所が挙げられている。
【０００９】
特許文献４に開示された技術によれば、レイアウト情報からクロストークに関する情報が抽出され、故障診断に用いられる。そのために、各配線の配線容量及び配線長が抽出され、隣接する配線間の容量が計算される。
【００１０】
【特許文献１】特開２００４−２２０４４７号公報
【特許文献２】特開平９−２６４９３８号公報
【特許文献３】特開２００１−１２７１６３号公報
【特許文献４】特開２００１−３０５１９１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本願発明者は、次の点に初めて着目した。
【００１２】
図２Ａには、一般的なビア構造が示されている。第１配線層に形成される第１配線１と第２配線層に形成される第２配線２は、重なり領域ＲＯにおいて互いにオーバーラップしている。その重なり領域ＲＯには、第１配線１と第２配線２との間を接続する１つのビア３が配置されている。このようなビア構造は、以下「シングルビア構造ＳＶ」と参照される。デバイス製造時、ビア３（シングルビア）の製造不良が発生した場合、第１配線１と第２配線２との間の接続不良が発生する、すなわち、オープン不良が発生する。
【００１３】
このようなオープン不良への対策として、「冗長ビア（Redundant Via）」の設置が提案されている（例えば、米国特許第５７９８９３７号参照）。例えば図２Ｂにおいて、１つの重なり領域ＲＯには２つのビア３−１，３−２が設けられている、すなわち、冗長ビアが追加されている。この場合、片方のビアの製造不良が発生したとしても、重なり領域ＲＯ全体として見れば、第１配線１と第２配線２との間は正常に接続される。すなわち、オープン不良の発生が抑制されている。このように１つの重なり領域ＲＯに２以上のビアが形成される構造は、以下「冗長ビア構造ＲＶ」と参照される。
【００１４】
以上に説明されたように、冗長ビア構造ＲＶを採用することによって、重なり領域ＲＯにおけるオープン不良の発生が抑制される。しかしながら、冗長ビア構造ＲＶを採用するためには、図２Ｂに示されるように、重なり領域ＲＯが比較的大きくなるように第１配線１と第２配線２をレイアウトする必要がある。従って、レイアウト面積の都合上、冗長ビア構造ＲＶではなくシングルビア構造ＳＶを採用せざるを得ない領域も存在する。本願発明者は、そのようなシングルビア構造ＳＶに関しては、上述の通り故障が発生しやすいと考えた。すなわち、本願発明者は、同じビア構造でも、故障が発生しやすいシングルビア構造ＳＶと、故障が発生しにくい冗長ビア構造ＲＶの２種類が存在することに着目した。
【００１５】
テストパタンの総数は膨大であり、コストに見合う検査時間の制限から、実行されるパタンの数は限られる。短時間で効率的にＬＳＩのテストを行うためには、故障が発生しやすい箇所から優先的にテストを行うことが重要である。そのためには、実デバイスにおいて故障が発生しやすい箇所を、できる限り正確に特定することが必要である。上述の特許文献１〜４に記載された従来技術においては、冗長ビア構造ＲＶは考慮されておらず、また、シングルビア構造ＳＶと冗長ビア構造ＲＶとの区別もなされていなかった。このことは、実際に故障が発生しやすい箇所の特定が不十分であったことを意味する。
【課題を解決するための手段】
【００１６】
以下に、［発明を実施するための最良の形態］で使用される番号・符号を用いて、［課題を解決するための手段］を説明する。これらの番号・符号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］との対応関係を明らかにするために括弧付きで付加されたものである。ただし、それらの番号・符号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１７】
本発明によれば、ＬＳＩのテストに用いられるテストパタン（１４）を生成するテストパタン生成システムが提供される。テスト対象のＬＳＩは、シングルビア構造（ＳＶ）と冗長ビア構造（ＲＶ）の両方を含んでいる。
【００１８】
より具体的には、本発明に係るテストパタン生成システムは、記憶装置（２０）、抽出部（２１，３１）、リスト生成部（２１，３２）、及びパタン生成部（２１，３３）を備える。記憶装置（２０）には、ＬＳＩのネットリスト（１１）及びＬＳＩのレイアウトを示すレイアウトデータ（１２）が格納される。抽出部（２１，３１）は、レイアウトデータ（１２）を参照することによって、シングルビア構造（ＳＶ）を冗長ビア構造（ＲＶ）から区別して抽出する。リスト生成部（２１，３２）は、ネットリスト（１１）を参照することによって、ＬＳＩに含まれる複数のネット毎に上記シングルビア構造（ＳＶ）の数を示すリストデータ（１３）を生成する。パタン生成部（２１，３３）は、そのリストデータ（１３）を参照し、シングルビア構造（ＳＶ）の数に基づいてテストパタン（１４）を生成する。具体的には、パタン生成部（２１，３３）は、複数のネットの中でより多くのシングルビア構造（ＳＶ）を有するネットをより優先的にテストするテストパタン（１４）を生成する。
【００１９】
このように、本発明によれば、故障確率の高いシングルビア構造（ＳＶ）が、故障確率の低い冗長ビア構造（ＲＶ）から積極的に区別されて抽出される。このことは、実デバイスにおいて故障が発生しやすい箇所が、忠実に特定されていることを意味する。そして、故障確率の高いシングルビア構造（ＳＶ）をより多く有するネットをより優先的にテストするようなテストパタン（１４）が生成される。
【００２０】
そのテストパタン（１４）を用いることによって、故障が発生しやすい箇所から優先的にテストを行うことが可能となる。その結果、実行されるパタンの数が限られる場合であっても、ＬＳＩのテストを充分に精度良く行うことが可能となる。逆に言えば、精度の良いＬＳＩテストを実現するためのパタンの数を削減することが可能となる。従って、テストパタン（１４）のデータ量が削減される。このように、本発明によれば、より少ないテストパタン（１４）で、より精度良くＬＳＩのテストを行うことが可能となる。すなわち、ＬＳＩのテスト効率が向上し、また、テスト時間が削減される。
【００２１】
また、本発明によれば、テストパタン（１４）の生成に際して、故障確率の低い冗長ビア構造（ＲＶ）は特に考慮されない。もし、テストの優先順位が単にビアの数に基づいて決定されるとすれば、冗長ビア構造（ＲＶ）を多く有するネットも優先的にテストされることになる。このことは、ＬＳＩのテスト時間をいたずらに増加させる結果となる。本発明によれば、シングルビア（ＳＶ）と冗長ビア（ＲＶ）とは区別され、シングルビア（ＳＶ）の数だけに基づいてテストの優先順位が決定される。故障が発生しにくい冗長ビア（ＲＶ）の故障を検出するためのパタンは、特に優先的には生成されない。従って、無駄なパタンが省略され、テストパタン（１４）のデータ量が削減される。このことも、テスト効率の向上とテスト時間の削減に寄与する。
【発明の効果】
【００２２】
本発明によれば、ＬＳＩを効率的にテストすることができるテストパタンを生成することが可能となる。また、そのテストパタンのデータ量を削減することが可能となる。そのようなテストパタンを用いることによって、ＬＳＩのテスト効率は向上し、テスト時間は削減される。
【発明を実施するための最良の形態】
【００２３】
添付図面を参照して、本発明の実施の形態に係るテストパタン生成システム、テストパタン生成プログラム、及びテストパタン生成方法を説明する。本実施の形態において、テスト対象のＬＳＩは、図２Ａに示されたシングルビア構造ＳＶと、図２Ｂに示された冗長ビア構造ＲＶとの両方を含んでいる。つまり、同じビア構造でも、オープン不良が発生しやすいシングルビア構造ＳＶと、オープン不良が発生しにくい冗長ビア構造ＲＶの２種類が存在する。
【００２４】
１．概念
図３は、本発明の実施の形態に係るテストパタン１４の生成方法を概念的に示している。本実施の形態によれば、テストパタン１４は、ネットリスト１１に加えてレイアウトデータ１２を参照することによって生成される。ここで、ネットリスト１１は、テスト対象のＬＳＩに含まれるマクロセル間の接続関係を示している。また、レイアウトデータ１２は、テスト対象のＬＳＩのレイアウト（幾何学的情報）を示している。
【００２５】
具体的には、まず、レイアウトデータ１２を参照することによって、ＬＳＩのレイアウトからシングルビア構造ＳＶが抽出される（ステップＳ１０）。特に、シングルビア構造ＳＶは、冗長ビア構造ＲＶから区別されて抽出される。
【００２６】
次に、ネットリスト１１を参照することによって、ＬＳＩに含まれる複数のネットのそれぞれに対してシングルビア構造ＳＶの数がカウントされる。そして、複数のネット毎にシングルビア構造ＳＶの数を示すリストデータ１３が生成される（ステップＳ２０）。
【００２７】
多くのシングルビア構造を有するネットは、それだけ高い故障発生確率を有すると考えられる。従って、本実施の形態によれば、ネットリスト１１に加えて上述のリストデータ１３に基づいて、テストパタン１４が生成される（ステップＳ３０）。具体的には、より多くのシングルビア構造ＳＶを有するネットがより優先的にテストされるように、テストパタン１４は生成される。このように、故障が発生しやすいシングルビア構造ＳＶの数に基づいて、テストパタン１４が生成される。
【００２８】
生成されたテストパタン１４は、故障シミュレータあるいはＬＳＩテスタに入力される。故障シミュレータは、回路シミュレーションを行うことによりテストパタン１４の有効性を検証するツールである。ＬＳＩテスタは、テストパタン１４を製造されたＬＳＩに入力することによって、そのＬＳＩのテストを行う。本実施の形態によれば、ＬＳＩテストにおいて、多くのシングルビア構造ＳＶを有する箇所が優先的にテストされる。すなわち、故障が発生しやすい箇所から優先的に、故障診断が行われる。従って、ＬＳＩのテスト効率が向上し、また、テスト時間が削減される。
【００２９】
２．テストパタン生成システム
次に、図４を参照して、上述のテストパタン生成方法を実現するためのシステムを説明する。図４に示されるテストパタン生成システムは、記憶装置２０、演算処理装置２１、入力装置２２、表示装置２３、及びテストパタン生成プログラム３０を備えるコンピュータシステムである。
【００３０】
記憶装置２０には、ネットリスト１１、レイアウトデータ１２、リストデータ１３、及びテストパタン１４が格納される。演算処理装置２１は、記憶装置２０にアクセス可能であり、また、各種処理を実行する。入力装置２２としては、キーボードやマウスが例示される。ユーザは、表示装置２３に表示された情報を参照しながら、入力装置２２を用いることにより各種コマンドやデータを入力することができる。
【００３１】
テストパタン生成プログラム３０は、演算処理装置２１によって実行されるコンピュータプログラムである。テストパタン生成プログラム３０は、コンピュータが読み取り可能な記録媒体に記録されていてもよい。テストパタン生成プログラム３０の命令（コード）に従って、演算処理装置２１は、上述のテストパタン生成処理を行う。具体的には、テストパタン生成プログラム３０は、上記ステップＳ１０（図３参照）を担うシングルビア抽出プログラム３１、上記ステップＳ２０を担うリスト生成プログラム３２、及び上記ステップＳ３０を担うパタン生成プログラム３３を含んでいる。以下、例を挙げることによって、本実施の形態に係るテストパタン生成処理をより詳しく説明する。
【００３２】
３．テストパタン生成例
図５は、例として挙げられるテスト対象の回路構成を示している。図５に示された回路は、インバータ４１とＡＮＤ４２〜４４を有している。また、それらゲート間の接続は、ネットＮ１〜Ｎ５と参照される。例えば、ネットＮ５は、インバータ４１の出力とＡＮＤ４３の入力との間の接続を示す。また、ネットＮ２は、ＡＮＤ４２〜４４の間の接続を示す。このようなゲートレベルの接続関係に関する情報は、ネットリスト１１から取得することが可能である。
【００３３】
図６は、図５に示されたネットＮ１〜Ｎ５のそれぞれに対応する５本の配線のレイアウトの例を示している。回路は多層配線構造を有しており、各配線には配線層間を接続するビア（ＳＶ，ＲＶ）が設けられている。ネットＮ１に対応する配線は、３つのシングルビア構造ＳＶと２つの冗長ビア構造ＲＶを有している。ネットＮ２に対応する配線は、４つのシングルビア構造ＳＶを有している。ネットＮ３に対応する配線は、２つの冗長ビア構造ＲＶを有している。ネットＮ４に対応する配線は、２つのシングルビア構造ＳＶを有している。ネットＮ５に対応する配線は、１つのシングルビア構造ＳＶと１つの冗長ビア構造ＲＶを有している。このようなレイアウトに関する情報は、レイアウトデータ１２から取得することが可能である。
【００３４】
図５及び図６に示された例と、既出の図を適宜参照することによって、本実施の形態に係るテストパタン生成処理を説明する。
【００３５】
ステップＳ１０：シングルビア抽出処理
まず、シングルビア抽出プログラム３１が、演算処理装置２１により実行される。演算処理装置２１は、シングルビア抽出プログラム３１の指示に従ってシングルビア抽出処理を行う。つまり、これらシングルビア抽出プログラム３１と演算処理装置２１は、「シングルビア抽出部」を構成し、ステップＳ１０を行う。
【００３６】
図７には、シングルビア抽出処理の具体的なフローが示されている。まず、シングルビア抽出部は、記憶装置２０に格納されたレイアウトデータ１２を読み出す。そして、シングルビア抽出部は、レイアウトデータ１２を参照することによって、図２Ａ及び図２Ｂに示された重なり領域ＲＯをレイアウトから抽出する（ステップＳ１１）。次に、シングルビア抽出部は、重なり領域ＲＯの各々に含まれているビア３の数をカウントする（ステップＳ１２）。ある重なり領域ＲＯが検証されるとき、その重なり領域ＲＯに関する初期カウント値は０に設定され、ビア３が検出されるたびにカウント値に１が加えられる。
【００３７】
次に、シングルビア抽出部は、重なり領域ＲＯに含まれるビア数の判定を行う（ステップＳ１３）。ある重なり領域ＲＯに含まれるビア数が１の場合（ステップＳ１３；Ｙｅｓ）、その重なり領域ＲＯはシングルビア構造ＳＶを有すると判定される（ステップＳ１４）。一方、ある重なり領域ＲＯに含まれるビア数が２以上の場合（ステップＳ１３；Ｎｏ）、その重なり領域ＲＯは冗長ビア構造ＲＶを有すると判定される（ステップＳ１５）。このように、シングルビア抽出部は、同じビア構造でもシングルビア構造ＳＶと冗長ビア構造ＲＶを区別する。シングルビア抽出部は、シングルビア構造ＳＶだけを抽出する。
【００３８】
ステップＳ２０：リストデータ生成処理
次に、リスト生成プログラム３２が、演算処理装置２１により実行される。演算処理装置２１は、リスト生成プログラム３２の指示に従ってリストデータ生成処理を行う。つまり、これらリスト生成プログラム３２と演算処理装置２１は、「リスト生成部」を構成し、ステップＳ２０を行う。
【００３９】
図８には、リストデータ生成処理の具体的なフローが示されている。まず、リスト生成部は、記憶装置２０に格納されたネットリスト１１及びレイアウトデータ１２を読み出す。そして、リスト生成部はまず、レイアウトデータ１２が幾何学的に示すレイアウトから、ゲート間の接続関係に関する情報を抽出する（ステップＳ２１）。そのためには、例えば、パット（外部端子）の位置が始点として与えられ、その始点からの配線の行方が順番にトレースされればよい。パットの位置情報５１は、予め用意されていればよい。このように、リスト生成部は、パット情報５１を参照することによって、ゲート間の接続関係、すなわちネットをレイアウトデータ１２から知ることができる。これにより、レイアウトから得られたネット情報５２が生成される。
【００４０】
次に、リスト生成部は、ネットリスト１１が示すネット情報と、レイアウトから得られたネット情報５２との照合を行う（ステップＳ２２）。つまり、リスト生成部は、レイアウトデータ１２で幾何学的に示される各配線が、ネットリスト１１中のどのネットに対応するかを決定していく。これにより、レイアウトデータ１２で示される各配線に対応するネットの「ネット名」を知ることができる（ステップＳ２３）。
【００４１】
次に、リスト生成部は、ネット名とシングルビア数との対応関係を示すリストデータ１３を作成する（ステップＳ２４）。あるネットに対応する配線に関して、ネット名は、上記ステップＳ２３で得られている。また、その配線に関して、シングルビア数は、上記ステップＳ１０で抽出されたシングルビア構造ＳＶの数で与えられる。
【００４２】
図９は、本例において生成されるリストデータ１３を示している。図９に示されるように、リストデータ１３は、複数のネットＮ１〜Ｎ５毎にシングルビア構造ＳＶの数を示している。具体的には、複数のネットＮ１〜Ｎ５に設けられたシングルビア構造ＳＶの数は、それぞれ３個、４個、０個、２個、及び１個であることがわかる（図６参照）。リスト生成部は、生成されたリストデータ１３を記憶装置２０に格納する。
【００４３】
ステップＳ３０：テストパタン生成処理
次に、パタン生成プログラム３３が、演算処理装置２１により実行される。演算処理装置２１は、パタン生成プログラム３３の指示に従ってテストパタン生成処理を行う。つまり、これらパタン生成プログラム３３と演算処理装置２１は、「パタン生成部」を構成し、ステップＳ３０を行う。
【００４４】
図１０には、パタン生成処理の具体的なフローが示されている。まず、パタン生成部は、記憶装置２０に格納されたネットリスト１１及び上記リストデータ１３を読み出す。そして、パタン生成部は、リストデータ１３が示すシングルビア構造ＳＶの数に応じて、ネットの重み付けを行う（ステップＳ３１）。つまり、パタン生成部は、リストデータ１３を参照することによって、テストパタン生成に関する優先順位を決定する。
【００４５】
例えば、パタン生成部は、より多くのシングルビア構造ＳＶを有するネットほど、テストパタン生成に関する優先順位を高く設定する。それは、シングルビア構造ＳＶではオープン不良が発生しやすいからである。図１１は、本例における重み付けされたリストデータを示している。図１１に示されるように、シングルビア数が多いネットほど、優先順位（重み）は高く設定されている。具体的には、複数のネットＮ１〜Ｎ５のうち最も多い４個のシングルビア構造ＳＶを有するネットＮ２の優先順位が最も高い。一方、複数のネットＮ１〜Ｎ５のうち冗長ビア構造ＲＶのみを有するネットＮ３の優先順位が最も低い。
【００４６】
次に、パタン生成部は、設定された優先順位（重み）に従って、テストパタン１４を自動的に生成する（ステップＳ３２）。上述の通り、より多くのシングルビア構造ＳＶを有するネットほど優先順位が高く設定されているので、より多くのシングルビア構造ＳＶを有するネットほど優先的にテストされるようにテストパタン１４は生成される。優先順位が上位のネットに関する故障は、テストパタン１４によって検出されるべきである。少なくとも、最も多くのシングルビア構造ＳＶを有するネットＮ２をテストするためのパタンは、生成されるテストパタン１４に含まれていることが好適である。尚、ネットリスト１１からテストパタンを自動的に生成するアルゴリズムに関しては、周知のＡＴＰＧ（Automatic Test Pattern Generator）のアルゴリズムと同様である。
【００４７】
図１２は、生成されるテストパタン１４の内容を示す概念図である。図１２に示されるように、テストパタン１４は、「入力パタン」と「出力期待値」の組み合わせを含んでいる。入力パタンは、テスト対象のＬＳＩの入力端子に入力される入力信号群を示している。一方、出力期待値は、その入力信号群に応答して出力端子から出力されるべき値（期待値）を示している。テストパタン１４には、そのような組み合わせが複数（ＰＡ−ＥＡ，ＰＢ−ＥＢ，ＰＣ−ＥＣ，ＰＤ−ＥＤ，ＰＥ−ＥＥ，・・・）含まれている。
【００４８】
テスト段階においては、テスト対象のＬＳＩに入力パタンが順番に入力され、実際の出力が出力期待値と一致するか否かがそれぞれ調べられる。実際の出力が出力期待値と一致しない場合、どこかに故障が発生していることが分かる。いくつかの入力パタンが試された後、ＯＫ（一致）／ＮＧ（不一致）の組み合わせに基づいて、故障箇所を特定することができる。本発明によれば、故障が発生しやすい箇所の故障を上位パタンで特定することができるように、テストパタン１４が作成されている。従って、より少ない入力パタンで故障検出率（fault coverage）を向上させることが可能である。
【００４９】
４．本発明による効果
テストパタンの量は膨大であり、コストに見合う検査時間の制限から、実行されるパタンの数は限られる。短時間で効率的にＬＳＩのテストを行うためには、故障が発生しやすい箇所から優先的にテストを行うことが重要である。そのためには、実デバイスにおいて故障が発生しやすい箇所を、できる限り正確に特定することが必要である。
【００５０】
本発明によれば、故障確率の高いシングルビア構造ＳＶが、故障確率の低い冗長ビア構造ＲＶから積極的に区別されて抽出される。このことは、実デバイスにおいて故障が発生しやすい箇所が、忠実に特定されていることを意味する。そして、故障確率の高いシングルビア構造ＳＶをより多く有するネットをより優先的にテストするようなテストパタン１４が生成される。
【００５１】
そのテストパタン１４を用いることによって、故障が発生しやすい箇所から優先的にテストを行うことが可能となる。その結果、実行されるパタンの数が限られる場合であっても、ＬＳＩのテストを充分に精度良く行うことが可能となる。逆に言えば、精度の良いＬＳＩテストを実現するためのパタンの数を削減することが可能となる。従って、テストパタン１４のデータ量が削減される。このように、本発明によれば、より少ないテストパタン１４で、より精度良くＬＳＩのテストを行うことが可能となる。すなわち、ＬＳＩのテスト効率が向上し、また、テスト時間が削減される。
【００５２】
また、本発明によれば、テストパタン１４の生成に際して、故障確率の低い冗長ビア構造ＲＶは特に考慮されない。もし、テストの優先順位が単にビアの数に基づいて決定されるとすれば、冗長ビア構造ＲＶを多く有するネットも優先的にテストされることになる。このことは、ＬＳＩのテスト時間をいたずらに増加させる結果となる。本発明によれば、シングルビアＳＶと冗長ビアＲＶとは区別され、シングルビアＳＶの数だけに基づいてテストの優先順位が決定される。故障が発生しにくい冗長ビアＲＶの故障を検出するためのパタンは、特に優先的には生成されない。従って、無駄なパタンが省略され、テストパタン１４のデータ量が削減される。このことも、テスト効率の向上とテスト時間の削減に寄与する。
【００５３】
比較として、特許文献１に記載された技術が上述の例に適用される場合を考える。特許文献１に記載された技術によれば、最小のサイズを有するビアの数に応じて、故障診断に重み付けがなされる。従って、上述の複数のネットＮ１〜Ｎ５のうちネットＮ１において最も故障が発生しやすいと判定される（図６参照）。つまり、ネットＮ１とネットＮ２の優先順位が入れ替わる。しかしながら、ネットＮ１には冗長ビア構造ＲＶが含まれており、３個のシングルビア構造ＳＶを有するネットＮ１の故障発生確率は、４個のシングルビア構造ＳＶを有するネットＮ２の故障発生確率より低いはずである。このように、特許文献１による優先順位は、実際の故障発生確率を忠実に再現しているとは言えない。それは、シングルビア構造ＳＶや冗長ビア構造ＲＶを考慮していなかったからである。
【００５４】
また、特許文献２〜特許文献４に記載された技術によれば、配線間隔、配線の粗密、隣接する配線間の容量などが考慮に入れられる。しかしながら、その場合、全ての配線対に対してそれらパラメータを検討する必要がある。その結果、テストパタンの作成時間が大幅に増加してしまう。本発明によれば、各々の配線に関してシングルビア構造ＳＶの数がカウントされるだけである。従って、テストパタン１４を短時間で容易に作成することが可能となる。
【００５５】
本発明によれば、ＬＳＩを効率的にテストすることができるテストパタンを生成することが可能となる。また、そのテストパタンのデータ量を削減することが可能となる。そのようなテストパタンを用いることによって、ＬＳＩのテスト効率は向上し、テスト時間は削減される。
【図面の簡単な説明】
【００５６】
【図１】図１は、ＬＳＩに関する一般的な設計フローを示す概念図である。
【図２Ａ】図２Ａは、シングルビア構造を概略的に示す平面図である。
【図２Ｂ】図２Ｂは、冗長ビア構造を概略的に示す平面図である。
【図３】図３は、本発明に係るテストパタンの生成方法を示す概念図である。
【図４】図４は、本発明の実施の形態に係るテストパタン生成システムの構成を示すブロック図である。
【図５】図５は、テスト対象の回路の一例を示す回路図である。
【図６】図６は、テスト対象の配線のレイアウトの一例を示す平面図である。
【図７】図７は、本実施の形態に係るシングルビアの抽出方法を示すフローチャートである。
【図８】図８は、本実施の形態に係るリストデータの作成方法を示すフローチャートである。
【図９】図９は、本実施の形態に係るリストデータの一例を示すテーブルである。
【図１０】図１０は、本実施の形態に係るパタンの生成方法を示すフローチャートである。
【図１１】図１１は、本実施の形態に係る重み付けされたリストデータを示すテーブルである。
【図１２】図１２は、生成されたテストパタンの一例を示す概念図である。
【符号の説明】
【００５７】
１    第１配線
２    第２配線
３    ビア
１１    ネットリスト
１２    レイアウトデータ
１３    リストデータ
１４    テストパタン
２０    記憶装置
２１    演算処理装置
２２    入力装置
２３    表示装置
３０    テストパタン生成プログラム
３１    シングルビア抽出プログラム
３２    リスト生成プログラム
３３    パタン生成プログラム
ＲＯ    重なり領域
ＳＶ    シングルビア
ＲＶ    冗長ビア
【図１】
0004721275.tif 000002
【図２Ａ】
0004721275.tif 000003
【図２Ｂ】
0004721275.tif 000004
【図３】
0004721275.tif 000005
【図４】
0004721275.tif 000006
【図５】
0004721275.tif 000007
【図６】
0004721275.tif 000008
【図７】
0004721275.tif 000009
【図８】
0004721275.tif 000010
【図９】
0004721275.tif 000011
【図１０】
0004721275.tif 000012
【図１１】
0004721275.tif 000013
【図１２】
0004721275.tif 000014