(57)【要約】【課題】  常により高速に故障シミュレーションを行えるようにするための技術を提供する。【解決手段】  論理シミュレーション部１０３は、ネットリスト１０１及びテストパターン１０２を入力し、論理シミュレーションを行い、ネットリスト１０１に記述されたセルが有するピン毎に、そのピンの信号の論理値を示すトグル情報１０４を生成する。故障仮定部１０５は、そのトグル情報１０４から、テストパターン１０２では検出できない故障を除外する形で故障リスト１０６を生成する。故障シミュレーション部１０８は、その故障リスト１０６、ネットリスト１０１及びテストパターン１０２を用いて故障シミュレーションを行い、故障リスト１０６で検出されなかった故障、及びその生成時に除外した故障から生成した未検出故障リストは故障検出レポート１０９として出力する。【選択図】図１
2009086816.tif 000002
【特許請求の範囲】
【請求項１】
設計用の基本素子であるセルを組み合わせて設計された電子回路の検証に用いられるテストパターンの有効性を確認するための故障シミュレーションを行う故障シミュレーション装置において、
前記テストパターンを用いて前記電子回路を対象にした論理シミュレーションを行い、該電子回路を構成するセルが備えたピンのなかで信号の論理値が該テストパターンにより変化しないピンを抽出するピン抽出手段と、
前記ピン抽出手段による前記ピンの抽出結果を用いて、前記電子回路上で検出対象とする故障を示す故障リストを生成することにより、該抽出結果から検出できない故障を該検出対象から除外する故障リスト生成手段と、
前記故障リスト生成手段により生成された故障リストを用いて故障シミュレーションを行う故障シミュレーション手段と、
を具備することを特徴とする故障シミュレーション装置。
【請求項２】
前記故障シミュレーション手段は、前記故障シミュレーションを行った結果として、前記故障リストのなかで該故障シミュレーションにより検出されなかった故障、及び前記故障リスト生成手段が前記検出対象から除外した故障から、検出できなかった故障のリストである未検出故障リストを生成し出力する、
ことを特徴とする請求項１記載の故障シミュレーション装置。
【請求項３】
設計用の基本素子であるセルを組み合わせて設計された電子回路の検証に用いられるテストパターンの有効性を確認するための故障シミュレーションを行う故障シミュレーション装置として使用可能なコンピュータに、
前記テストパターンを用いて前記電子回路を対象にした論理シミュレーションを行い、該電子回路を構成するセルが備えたピンのなかで信号の論理値が該テストパターンにより変化しないピンを抽出するピン抽出機能と、
前記ピン抽出機能による前記ピンの抽出結果を用いて、前記電子回路上で検出対象とする故障を示す故障リストを生成することにより、該抽出結果から検出できない故障を該検出対象から除外する故障リスト生成機能と、
前記故障リスト生成機能により生成された故障リストを用いて故障シミュレーションを行う故障シミュレーション機能と、
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、設計用の基本素子であるセルを組み合わせて設計された半導体デバイス（電子回路（論理回路））の出荷検査に用いられるテストパターンの有効性を確認するための技術に関する。
【背景技術】
【０００２】
最近では、プリント配線板（ＰＣＢ）や集積回路などの電子回路の設計はＣＡＤ（Computer Aided Design ）を用いて行われる。そのＣＡＤでは、深い知識が無くとも設計が行えるように、標準化、モデル化が重視されている。電子回路の機能的、或いは論理的な単位となる素子、及び部品などは、具体的にはＮＡＮＤやＮＯＲなどの基本ゲート、フリップフロップ、シフト・レジスタ、ＣＰＵ、及びメモリなどは、基本素子（セル）としてライブラリに登録させている。それにより論理設計は基本的に、ライブラリに登録されたセルのなかで必要なセルを選択し、その選択したセル同士を接続させることで行われる。セル同士の接続は、それらがそれぞれ持つピンとピンを結ぶことで行われる。  
【０００３】
論理設計の結果はネットリスト（論理回路データ）に変換される。そのネットリストはライブラリに登録されたセルの相互接続として記述されている。そのネットリストを利用して、各種検証やレイアウト設計が行われる。
その検証として行われるものに、論理シミュレーションがある。その論理シミュレーションは、論理設計された電子回路が正しく動作することを検証するために行われるものである。
【０００４】
論理シミュレーションは、テストパターンと呼ばれるテスト用の信号を用いて、電子回路に論理的なミスがなく設計されたかを検証するために実行する。電子回路を半導体デバイスとして製造及び出荷するときには、製造されたデバイスの良品と不良品を選別する為に前述のテストパターンを用いて出荷検査を行う。したがってテストパターンの品質が悪いと、不良品のデバイスを検出できずに出荷されることがある。デバイスの出荷検査前に、テストパターンの品質を確認するために故障シミュレーションが行われる。
【０００５】
故障シミュレーションでは、「単一縮退故障」と呼ばれる故障を扱うのが一般的である。「単一」とは，全回路中で故障は一度に一つしか発生しないことを意味し、「縮退故障」とは，或るセルの入力ピン（端子）或いは出力ピン（端子）の信号が０或いは１の論理値に固定する故障を意味する。その故障（縮退故障）は、電子回路上で検出対象となるものとしてリストにまとめられる。そのリストは「故障リスト」と呼ばれる。以降は特に断らない限り、故障は縮退故障を指す意味で用いる。
【０００６】
単一縮退故障を扱う場合、故障リストは電子回路を構成するセルが有するピン毎に縮退故障を想定して作成しなければならない。このため、故障リストに記述される故障の数は膨大なものとなる。故障シミュレーションでは、記述された故障毎にテストパターンを用いた論理シミュレーションを行い、その結果を正常回路（故障を想定していない回路）のシミュレーション結果と比べなければならない。それにより、処理には膨大な時間（及びメモリ容量）を必要とする。このことから、故障シミュレーションをより高速に行えるようにすることが強く望まれている。
【０００７】
故障シミュレーションをより高速に行えるようにした従来の故障シミュレーション装置としては、例えば特許文献１に記載されたものがある。
故障シミュレーションの実行速度を低下させる要因の一つとして、ハイパーアクティブ故障と呼ばれるものがある。通常、ハイパーアクティブ故障の数は回路中に定義された全故障の数に比べて非常に小さいので、テストパターンの有効性の確認に及ぼす影響は小さい。しかし、その動作確認に要する処理時間は他の故障と比較して大幅に長いものとなっている。このことから特許文献１に記載された従来の故障シミュレーション装置では、ハイパーアクティ故障の判定基準を設け、その基準を越えた故障はハイパーアクティブ故障として故障リストから削除している。
【０００８】
そのようにして、結果に影響を及ぼす可能性が低く、処理時間が長くなる故障を検出対象から除外することにより、故障シミュレーションはより高速に行えるようになる。しかし、より高速に行えるようになるのは、当然のことながら、故障が判定基準を超えるハイパーアクティブ状態になり、故障リストから削除されてからである。このようなこともあり、常に故障シミュレーションを（テストパターンの最初から）より高速に行えるようにするためには、別の方法を探る必要があると考えられる。
【特許文献１】特開２０００−２２２４４５号公報
【特許文献２】特許第３２６５３８４号公報
【特許文献３】特開平５−８７８８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明の課題は、常により高速に故障シミュレーションを行えるようにするための技術を提供することにある。  
【課題を解決するための手段】
【００１０】
本発明の故障シミュレーション装置は、設計用の基本素子であるセルを組み合わせて設計された電子回路の検証に用いられるテストパターンの有効性を確認するための故障シミュレーションを行うことを前提とし、テストパターンを用いて電子回路を対象にした論理シミュレーションを行い、該電子回路を構成するセルが備えたピンのなかで信号の論理値が該テストパターンにより変化しないピンを抽出するピン抽出手段と、ピン抽出手段によるピンの抽出結果を用いて、電子回路上で検出対象とする故障を示す故障リストを生成することにより、該抽出結果から検出できない故障を該検出対象から除外する故障リスト生成手段と、故障リスト生成手段により生成された故障リストを用いて故障シミュレーションを行う故障シミュレーション手段と、を具備する。  
【００１１】
なお、上記故障シミュレーション手段は、故障シミュレーションを行った結果として、故障リストのなかで故障シミュレーションにより検出されなかった故障、及び故障リスト生成手段が検出対象から除外した故障から、検出できなかった故障のリストである未検出故障リストを生成し出力する、ことが望ましい。
【００１２】
本発明のプログラムは、設計用の基本素子であるセルを組み合わせて設計された電子回路の検証に用いられるテストパターンの有効性を確認するための故障シミュレーションを行う故障シミュレーション装置として使用可能なコンピュータに、テストパターンを用いて電子回路を対象にした論理シミュレーションを行い、該電子回路を構成するセルが備えたピンのなかで信号の論理値が該テストパターンにより変化しないピンを抽出するピン抽出機能と、ピン抽出機能によるピンの抽出結果を用いて、電子回路上で検出対象とする故障を示す故障リストを生成することにより、該抽出結果から検出できない故障を該検出対象から除外する故障リスト生成機能と、故障リスト生成機能により生成された故障リストを用いて故障シミュレーションを行う故障シミュレーション機能と、を実現させる。
【発明の効果】
【００１３】
本発明では、テストパターンを用いて電子回路を対象にした論理シミュレーションの結果から、その電子回路を構成するセルが備えたピンのなかで信号の論理値がそのテストパターンにより変化しないピンを抽出し、その抽出結果を用いて、電子回路上で検出対象とする故障を示す故障リストを生成することにより、その抽出結果から検出できない故障を検出対象から除外し、故障シミュレーションを行う。  
【００１４】
有効性の検証対象とするテストパターンでは検出できない故障を故障リストに記述しないことにより、故障シミュレーションで故障時の動作確認用に行う論理シミュレーションの回数は低減される。このため、より少ないメモリ容量、且つより短い処理時間で故障シミュレーションを常に行えるようになる。検出対象から除外する故障は論理シミュレーションにより決定するため、検出対象から除外すべきでない故障を除外することは確実に回避することができる。故障シミュレーションを行った結果として、故障リストのなかで故障シミュレーションにより検出されなかった故障、及び検出対象から除外した故障を記述（登録）した未検出故障リストを生成し出力するようにした場合には、確認すべき故障を容易に全て把握できるようになる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
図１は、本実施形態による故障シミュレーション装置の機能回路構成を示す図である。その故障シミュレーション装置は、論理設計の結果であるネットリスト（論理回路データ）１０１及びその動作検証用に生成されたテストパターン１０２を取得し、検証対象とする故障のリストである故障リスト１０６を生成し、それらネットリスト１０１、テストパターン１０２及び故障リスト１０６を用いて故障シミュレーションを行い、その結果として、故障リスト１０６中の全ての故障のなかで、テストパターン１０２により検出できる故障の割合である故障検出率や、検出できなかった故障のリストである未検出故障リストを含む故障検出レポート１０９を出力するものである。以降、図１を参照しつつ、詳細に説明する。
【００１６】
論理シミュレーション部１０３は、ネットリスト１０１及びテストパターン１０２を入力し、論理シミュレーションを行う。その論理シミュレーションにより、ネットリスト１０１に記述されたセルが有するピン毎に、そのピンの信号の論理値（の変化）を示すトグル情報１０４を生成する。そのトグル情報１０４は、論理値が変化したテストパターン１０２中の位置（例えば基準となるクロック信号数であるステップ数）を併せて格納したものであり、故障リストデータベース（ＤＢ）に登録され、故障仮定部１０５に送られる。トグル情報１０４を取得するピンとしては、テストパターンに示される信号が入力される入力ポートに相当するピンも含まれる。
【００１７】
故障仮定部１０５は、ネットリスト１０１とトグル情報１０４から、故障リスト１０６を生成する。その生成は、以下のようにして行われる。図２及び図３を参照して、具体的に説明する。
【００１８】
図２は、セルの一つであるＮＡＮＤゲート、及びそのＮＡＮＤゲートで従来、生成される故障リストを示す図である。図中、表記の「ｉ１」は、ＮＡＮＤゲートＣＬに割り当てられたセル名を示し、「ａ」「ｂ」及び［ｏ」はそのＮＡＮＤゲートＣＬが有するピンに割り当てられたピン名を示している。これは図３でも同様である。
【００１９】
単一縮退故障を扱う場合、図２（ａ）に示すようなＮＡＮＤデートＣＬでは、各ピンで信号の論理値が０或いは１を固定的に維持される２種類の故障が想定される。それにより、計６個の故障が従来、故障リストに登録されることになる。図中、例えば「ｉ１／ａ  ＳＡ−０」は、セルｉ１のピンａの信号の論理値が０に固定された故障を示している。他も同様である。
【００２０】
図３は、ＮＡＮＤゲートで信号の論理値が一定となっている入力ピン、及びそのＮＡＮＤゲートで生成される故障リストを示す図である。
図３（ａ）に示すように、ＮＡＮＤゲート（セル名がｉ１のセル）ＣＬのピンｂに入力される信号の論理値がテストパターン１０２の全期間にわたって常に０であった場合、出力ピンであるピンｏから出力される信号の論理値はピンａに入力される信号の論理値に係わらず常に１となる。従い、このＮＡＮＤゲートＣＬでは、ピンａに生じる２つの故障（信号の論理値が常に０或いは１になる２つの故障）、ピンｂに入力される信号の論理値が常に０となる故障、及びピンｏから出力される信号の論理値が常に１となる故障の計４つの故障はテストパターン１０２では検出できないこととなる。それにより本実施形態では、図３（ｂ）に示すように、残りの２つの故障、つまりピンｂに入力する信号の論理値が常に１となる故障、及びピンｏから出力される信号の論理値が常に０となる故障のみを故障リスト１０６に登録する。
【００２１】
このようにして、故障リスト１０６に登録する故障は、対象とするテストパターン１０２で検出可能な故障のみに限定し、検出できない故障は検出対象から除外する。故障シミュレーションでテストパターン１０２を用いた論理シミュレーションを行う回数は、検出できない故障を除外した分だけ少なくすることができる。最初に行う論理シミュレーションは、正常回路の動作を確認（故障が生じた回路の動作と比べるために必要）するために必要であることもあり、事実上、負荷を増大させるものではない。これらのことから、検出できない故障を検出対象から除外した故障リスト１０６を生成することにより、常により高速に故障シミュレーションを行えるようになる。必要となるメモリ容量も削減することができる。
【００２２】
特許文献１に記載の従来の故障シミュレーション装置で検出された故障として除外するハイパーアクティブ故障は、実際には未検出故障とすべきものである可能性がある。しかし、故障リスト１０６から除外する故障は、故障シミュレーションで使用するテストパターン１０２から特定したものである。このため、特許文献１に記載の従来の故障シミュレーション装置とは異なり、検出精度を低下させるものではない。
【００２３】
故障仮定部１０５が生成した故障リスト１０６は、故障リストＤＢ１０７に登録される。故障シミュレーション部１０８は、そのＤＢ１０７に登録された故障リスト１０６、ネットリスト１０１及びテストパターン１０２を用いて故障シミュレーションを行う。正常回路の動作との比較は、ＤＢ１０７に登録されたトグル情報を用いて行う。それにより、故障リスト１０６中の全ての故障のなかでテストパターン１０２により検出できる故障の割合である故障検出率を算出し、検出できなかった故障のリストである未検出故障リストを生成し、それらを故障検出レポート１０９として出力する。未検出故障リストは、故障リスト１０６のなかで検出できなかった故障の他に、故障リスト１０６の生成時に除外した故障を登録（記述）して生成（作成）したものである。その未検出故障リストにより、確認すべき故障を全て容易に確認することができる。
【００２４】
上述の機能構成を備えた故障シミュレーション装置は、パーソナル・コンピュータ等のコンピュータを用いて実現されたものである。図１中、ネットリスト１０１、テストパターン１０２、トグル情報１０４、故障リスト１０６及び故障リストＤＢ１０７は、例えばコンピュータに搭載、或いは接続された補助記憶装置（例えばハードディスク装置）、及び半導体メモリ上に記憶されて用いられる。論理シミュレーション部１０３、故障仮定部１０５及び故障シミュレーション部１０８はそれぞれ、例えば補助記憶装置上に格納された一つ以上のプログラムをＣＰＵが実行することで実現される。ネットリスト１０１及びテストパターン１０２もそれぞれ、補助記憶装置上に格納されたプログラムの実行により生成させることが可能である。ＬＡＮ等の通信ネットワークを介して外部装置から受信することで取得させることも可能である。
【００２５】
このようなことから、本実施形態による故障シミュレーション装置は、コンピュータ（に搭載されたＣＰＵ）に、その故障シミュレーション装置に搭載させるべき機能を実現させるプログラムを実行させることで得ることができる。このため、そのプログラムは光ディスクやフラッシュメモリ等の記録媒体に記録して配布しても良く、ＬＡＮ、或いはインターネット等の通信ネットワークを介して配信できるようにしても良い。それにより、プログラムは通信ネットワークを介して配信する装置がアクセス可能であっても良い。
【００２６】
なお、本実施形態では、検出できない故障を故障リスト１０６から除外しているが、故障シミュレーションの結果に影響を与えない回路部分が存在する場合には、その回路部分を省いたネットリスト１０１を生成し、その生成したネットリスト１０１を故障シミュレーションに用いるようにしても良い。
【図面の簡単な説明】
【００２７】
【図１】本実施形態による故障シミュレーション装置の機能回路構成を示す図である。
【図２】セルの一つであるＮＡＮＤゲート、及びそのＮＡＮＤゲートで従来、生成される故障リストを示す図である。
【図３】ＮＡＮＤゲートで信号の論理値が一定となっている入力ピン、及びそのＮＡＮＤゲートで生成される故障リストを示す図である。
【符号の説明】
【００２８】
１０１    ネットリスト
１０２    テストパターン
１０３    論理シミュレーション部
１０４    トグル情報
１０５    故障仮定部
１０６    故障リスト
１０７    故障リストデータベース
１０８    故障シミュレーション部
１０９    故障検出レポート
ＣＬ    ＮＡＮＤゲート（セル）
【図１】
2009086816.tif 000003
【図２】
2009086816.tif 000004
【図３】
2009086816.tif 000005