(57)【特許請求の範囲】
【請求項１】
回路の接続情報を示すネットリストが格納される記憶部と、
前記回路中の部分であって外部測定によって検知できるが故障箇所の特定ができない部分である等価故障群Ｇ１〜ＧＩ（Ｉは、１以上の整数）を前記ネットリストから抽出し、前記等価故障群Ｇｉ（ｉは１以上Ｉ以下の整数）を示す故障候補データを生成する故障候補抽出部と、
前記故障候補データで示される前記等価故障群Ｇｉに含まれる複数のノードＮｉ１〜ＮｉＪｉ（Ｊｉは等価故障群Ｇｉに含まれるノード数）のうち、故障解析に用いられる少なくとも１つの観測ポイントが挿入される対象ノードを決定する判断部と、
前記対象ノードに前記少なくとも１つの観測ポイントを挿入することによって、前記ネットリストを更新する観測ポイント挿入部と
を備え、
前記判断部は、前記ノード数Ｊｉに基づいて、前記対象ノードを決定する
回路設計システム。
【請求項２】
請求項１に記載の回路設計システムであって、
前記等価故障群Ｇｉに故障が含まれる確率がＰｉであるとき、
前記等価故障群Ｇｉに対するパラメータＤｉが、次式：
Ｄｉ＝Ｊｉ・Ｐｉ
で定義され、
前記判断部は、全ての等価故障群Ｇ１〜ＧＩに対する前記パラメータＤｉの和Ｍが小さくなるように、前記対象ノードを決定する
回路設計システム。
【請求項３】
請求項２に記載の回路設計システムであって、
前記判断部は、前記観測ポイントの挿入による前記和Ｍの減少率が最大となるように、前記対象ノードを決定する
回路設計システム。
【請求項４】
請求項２又は３に記載の回路設計システムであって、
前記判断部は、最大のパラメータＤｉを有する１つの等価故障群Ｇｉに含まれる前記複数のノードＮｉ１〜ＮｉＪｉから、前記対象ノードを選択する
回路設計システム。
【請求項５】
請求項２又は３に記載の回路設計システムであって、
前記判断部は、最大のノード数Ｊｉを有する１つの等価故障群Ｇｉに含まれる前記複数のノードＮｉ１〜ＮｉＪｉから、前記対象ノードを選択する
回路設計システム。
【請求項６】
請求項２又は３に記載の回路設計システムであって、
前記判断部は、最大の配線長を有する１つの等価故障群Ｇｉに含まれる前記複数のノードＮｉ１〜ＮｉＪｉから、前記対象ノードを選択する
回路設計システム。
【請求項７】
請求項４乃至６のいずれかに記載の回路設計システムであって、
前記１つの等価故障群Ｇｉは前記観測ポイントによって第１等価故障群Ｇｉ−１と第２等価故障群Ｇｉ−２に分割され、
前記判断部は、前記第１等価故障群Ｇｉ−１に対する前記パラメータＤｉ−１と前記第２等価故障群Ｇｉ−２に対する前記パラメータＤｉ−２が最も近くなるように、前記対象ノードを決定する
回路設計システム。
【請求項８】
請求項２乃至７のいずれかに記載の回路設計システムであって、
前記複数のノードＮｉ１〜ＮｉＪｉのそれぞれの配線長がＬｉ１〜ＬｉＪｉで表されるとき、
前記判断部は、前記等価故障群Ｇｉの前記配線長Ｌｉｊ（ｊは１以上Ｊｉ以下の整数）の和に依存する量を、前記確率Ｐｉとして算出する
回路設計システム。
【請求項９】
請求項２乃至７のいずれかに記載の回路設計システムであって、
前記判断部は、前記等価故障群Ｇｉの前記ノード数Ｊｉに依存する量を、前記確率Ｐｉとして算出する
回路設計システム。
【請求項１０】
請求項２乃至７のいずれかに記載の回路設計システムであって、
前記ネットリストを参照して前記回路のレイアウトを決定し、前記レイアウトを示すレイアウトデータを生成するレイアウト部を更に備え、
前記判断部は、前記レイアウトデータ及び前記故障候補データを参照して、前記等価故障群Ｇｉに構造Ｘ１〜ＸＫ（Ｋは１以上の整数）のそれぞれがどれだけ含まれているか示すパラメータＳ１ｉ〜ＳＫｉを算出し、前記パラメータＳｋｉ（ｋは１以上Ｋ以下の整数）に基づいて前記確率Ｐｉを算出する
回路設計システム。
【請求項１１】
請求項１乃至１０のいずれかに記載の回路設計システムであって、
前記ネットリスト及びテストパタンを用いることによって、前記回路の診断木を示す診断木データを作成する診断木作成部を更に供え、
前記故障候補抽出部は、前記診断木データを参照することによって、前記ネットリストから前記等価故障群Ｇ１〜ＧＩを抽出する
回路設計システム。
【請求項１２】
請求項２乃至７のいずれかに記載の回路設計システムであって、
前記回路の設計は、フィジカル・シンセシス手法により行われる
回路設計システム。
【請求項１３】
請求項１２に記載の回路設計システムであって、
前記回路の一部のＲＴＬ記述を論理合成することによって部分ネットリストを作成し、前記部分ネットリストを前記ネットリストとして前記記憶部に格納する論理合成部と、
前記部分ネットリストを参照して前記一部の回路に含まれるセル群の配置を行い、前記セル群の配置を示す配置データを生成する配置部と、
前記配置データに基づいてセル間の距離を抽出し、前記セル間の距離を示す距離データを生成する距離抽出部と
を更に備え、
前記複数のノードＮｉ１〜ＮｉＪｉのそれぞれの配線長がＬｉ１〜ＬｉＪｉで表されるとき、
前記判断部は、前記距離データを参照し前記セル間の距離を前記配線長Ｌｉｊ（ｊは１以上Ｊｉ以下の整数）として設定し、前記等価故障群Ｇｉの前記配線長Ｌｉｊの和に依存する量を前記確率Ｐｉとして算出する
回路設計システム。
【請求項１４】
請求項１乃至１３のいずれかに記載の回路設計システムであって、
前記対象ノードは、集積回路外部への出力端子に電気的に接続される
回路設計システム。
【請求項１５】
コンピュータが読み取り可能な記録媒体に記録され、実行されたとき、コンピュータに回路設計処理を実行させる回路設計プログラムであって、
前記回路設計処理は、
（Ａ）回路の接続情報を示すネットリストを記憶装置から読み出すステップと、
（Ｂ）前記回路中の部分であって外部測定によって検知できるが故障箇所の特定ができない部分である等価故障群Ｇ１〜ＧＩ（Ｉは、１以上の整数）を前記ネットリストから抽出するステップと、
（Ｃ）前記等価故障群Ｇｉ（ｉは１以上Ｉ以下の整数）に含まれる複数のノードＮｉ１〜ＮｉＪｉ（Ｊｉは等価故障群Ｇｉに含まれるノード数）のうち、故障解析に用いられる少なくとも１つの観測ポイントが挿入される対象ノードを、前記ノード数Ｊｉに基づいて決定するステップと、
（Ｄ）前記対象ノードに前記少なくとも１つの観測ポイントを挿入することによって、前記ネットリストを更新するステップと
を有する
回路設計プログラム。
【請求項１６】
請求項１５に記載の回路設計プログラムであって、
前記等価故障群Ｇｉに故障が含まれる確率がＰｉであるとき、
前記等価故障群Ｇｉに対するパラメータＤｉが、次式：
Ｄｉ＝Ｊｉ・Ｐｉ
で定義され、
前記（Ｃ）ステップは、全ての等価故障群Ｇ１〜ＧＩに対する前記パラメータＤｉの和Ｍが小さくなるように前記対象ノードを決定するステップを含む
回路設計プログラム。
【請求項１７】
請求項１６に記載の回路設計プログラムであって、
前記（Ｃ）ステップは、前記観測ポイントの挿入による前記和Ｍの減少率が最大となるように前記対象ノードを決定するステップを含む
回路設計プログラム。
【請求項１８】
請求項１６又は１７に記載の回路設計プログラムであって、
前記（Ｃ）ステップにおいて、前記対象ノードは、最大のパラメータＤｉを有する１つの等価故障群Ｇｉに含まれる前記複数のノードＮｉ１〜ＮｉＪｉから選択される
回路設計プログラム。
【請求項１９】
請求項１６又は１７に記載の回路設計プログラムであって、
前記（Ｃ）ステップにおいて、前記対象ノードは、最大のノード数Ｊｉを有する１つの等価故障群Ｇｉに含まれる前記複数のノードＮｉ１〜ＮｉＪｉから選択される
回路設計プログラム。
【請求項２０】
請求項１６又は１７に記載の回路設計プログラムであって、
前記（Ｃ）ステップにおいて、前記対象ノードは、最大の配線長を有する１つの等価故障群Ｇｉに含まれる前記複数のノードＮｉ１〜ＮｉＪｉから選択される
回路設計プログラム。
【請求項２１】
請求項１８乃至２０のいずれかに記載の回路設計プログラムであって、
前記１つの等価故障群Ｇｉは前記観測ポイントによって第１等価故障群Ｇｉ−１と第２等価故障群Ｇｉ−２に分割され、
前記（Ｃ）ステップは、前記第１等価故障群Ｇｉ−１に対する前記パラメータＤｉ−１と前記第２等価故障群Ｇｉ−２に対する前記パラメータＤｉ−２が最も近くなるように、前記対象ノードを決定するステップを含む
回路設計プログラム。
【請求項２２】
請求項１６乃至２１のいずれかに記載の回路設計プログラムであって、
前記複数のノードＮｉ１〜ＮｉＪｉのそれぞれの配線長がＬｉ１〜ＬｉＪｉで表されるとき、
前記（Ｃ）ステップは、前記等価故障群Ｇｉの前記配線長Ｌｉｊ（ｊは１以上Ｊｉ以下の整数）の和に依存する量を前記確率Ｐｉとして算出するステップを含む
回路設計プログラム。
【請求項２３】
請求項１６乃至２１のいずれかに記載の回路設計プログラムであって、
前記（Ｃ）ステップは、前記等価故障群Ｇｉの前記ノード数Ｊｉに依存する量を前記確率Ｐｉとして算出するステップを含む
回路設計プログラム。
【請求項２４】
請求項１６乃至２１のいずれかに記載の回路設計プログラムであって、
前記回路設計処理は、
（Ｇ）前記ネットリストを参照して前記回路のレイアウトを決定するステップ
を更に有し、
前記（Ｃ）ステップは、
（Ｃ１）前記レイアウトを参照することにより、前記等価故障群Ｇｉに構造Ｘ１〜ＸＫ（Ｋは１以上の整数）のそれぞれがどれだけ含まれているか示すパラメータＳ１ｉ〜ＳＫｉを算出するステップと、
（Ｃ２）前記パラメータＳｋｉ（ｋは１以上Ｋ以下の整数）に基づいて前記確率Ｐｉを算出するステップと
を含む
回路設計プログラム。
【請求項２５】
請求項１５乃至２４のいずれかに記載の回路設計プログラムであって、
前記回路設計処理は、
（Ｈ）前記ネットリスト及びテストパタンを用いることによって、前記回路の診断木を作成するステップ
を更に有し、
前記（Ｂ）ステップは、前記回路の診断木を参照することによって、前記ネットリストから前記等価故障群Ｇ１〜ＧＩを抽出するステップを含む
回路設計プログラム。
【請求項２６】
請求項１６乃至２１のいずれかに記載の回路設計プログラムであって、
前記回路設計処理は、フィジカル・シンセシス手法により行われる
回路設計プログラム。
【請求項２７】
請求項２６に記載の回路設計プログラムであって、
前記回路設計処理は、
（Ｉ）前記回路の一部のＲＴＬ記述を論理合成することによって部分ネットリストを作成し、前記部分ネットリストを前記ネットリストとして前記記憶装置に格納するステップと、
（Ｊ）前記部分ネットリストを参照して前記一部の回路に含まれるセル群の配置を行うステップと、
（Ｋ）前記セル群の配置に基づいてセル間の距離を抽出するステップと
を更に有し、
前記複数のノードＮｉ１〜ＮｉＪｉのそれぞれの配線長がＬｉ１〜ＬｉＪｉで表されるとき、
前記（Ｃ）ステップは、前記セル間の距離を前記配線長Ｌｉｊ（ｊは１以上Ｊｉ以下の整数）として設定し、前記等価故障群Ｇｉの前記配線長Ｌｉｊの和に依存する量を前記確率Ｐｉとして算出するステップを含む
回路設計プログラム。
【請求項２８】
請求項１５乃至２７のいずれかに記載の回路設計プログラムであって、
前記回路設計処理は、
（Ｐ）前記ネットリストに基づいて前記回路の配線を決定することにより、前記回路のレイアウトを示すレイアウトデータを生成するステップを更に有し、
前記（Ｐ）ステップにおいて、前記対象ノードが集積回路外部への出力端子に電気的に接続される
回路設計プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、論理回路設計に用いられる回路設計システム及び回路設計プログラムに関する。特に、本発明は、故障解析容易化に用いられる回路設計システム及び回路設計プログラム（ＣＡＤプログラム）に関する。
【背景技術】
【０００２】
一般的な半導体集積回路の製造工程では、生産された集積回路に一定の割合で不良品が含まれるため、テスト工程で不良品が除去され良品のみが出荷される。このときの良品率は「歩留まり」と呼ばれる。歩留まりが低いと、製造原価が上昇して収益が圧迫される。そこで、故障解析（failure analysis）により故障の原因を明らかにし、製造工程を改善することにより歩留まりを向上させる必要がある。
【０００３】
しかしながら、回路の集積度が増大するにつれ、その故障解析は困難になってきている。例えば、電子ビーム装置による電位波形測定（ＥＢ測定）は、配線層数が８層前後まで増加している現状では、測定したい配線が露出していない場合が多いため困難である。また、レーザ電圧プローブ測定法（以下、ＬＶＰ（Laser Voltage Probe）と参照される）は、チップ裏面からのレーザ照射により電位波形を測定する手法であり、配線層数が多くても利用可能である（例えば、特許文献１参照）。しかし、分解能の不足により、９０ｎｍ世代以降では全てのトランジスタを測定することは不可能である。
【０００４】
また、集積回路内部の電位波形を測定する方法として、次の方法も挙げられる。すなわち、ＦＩＢ（収束イオンビーム）装置によって配線露出加工が実施された後、ＥＢ測定が行われる。ただし、この方法は非常に多くの作業時間を要する。そのため、まず故障診断ソフトウェアにより故障箇所のおおよその目安をつけ、その結果に基づいて測定により故障箇所を特定する必要がある。ここで、故障診断ソフトウェアは、集積回路の回路図とテスト結果をもとに、故障箇所の“推測”を行うソフトウェアである。また、その推測によって抽出される故障箇所は、「故障候補」と呼ばれている。
【０００５】
ここで、所望の回路の構造によっては、上記故障診断ソフトウェアにより推測される「故障候補」の数が非常に多くなる場合がある。どの故障候補が真の故障かを確認するための測定が必要であり、その測定においては、上述の通りＦＩＢ装置による配線露出加工が行われる。そのため、故障候補の数が多くなるにつれ測定時間が長くなり、故障解析に要する作業時間は増大してしまう。
【０００６】
これに対し、故障解析を容易にするための論理設計用プログラムが、特許文献２に開示されている。特許文献２に開示された技術によれば、集積回路の設計時、予め指定された観測対象配線が故障解析手段（ＥＢ測定，ＬＶＰ測定など）によって観測可能になるように、設計変更が行われる。この技術に関するより具体的なシステム構成が、図１に示されている。
【０００７】
図１を参照して、まず、回路接続情報（ネットリスト）が、入力手段２００１から配置配線手段２００３に入力される。配置配線手段２００３は、その回路接続情報を参照して、セルの配置及び回路の配線を行う。次に、判断部２００５は、入力手段２００１を通して観測対象指定データを受け取り、その観測対象指定データで指定される回路領域が所定の故障解析手段によって観測され得るか否かを判断する。その回路領域が観測不可能である場合、置換指示部２００７は、その回路領域を観測可能な状態にするための配線置換指示データを生成する。配置配線手段２００３は、その配線置換指示データに基づいて新たなレイアウトデータを作成する。つまり、当該回路領域が所定の故障解析手段で観測可能になるように、回路レイアウトが変更される。変更されたレイアウトデータは、集積回路製造装置２００９に送られ。その結果、故障解析が容易化された集積回路が製造される。
【０００８】
また、特許文献２には、回路中の故障未検出領域やコントローラビリティ、オブザーバビリティの悪い回路領域に観測ポイントを挿入することが述べられている。但し、観測ポイントが挿入される位置を決定するための具体的な方法は述べられていない。また、オブザーバビリティの悪い回路領域全てに対して観測ポイントが挿入されれば、回路面積や動作速度のオーバヘッドが無視できなくなることも問題である。
【０００９】
これに対し、非特許文献１には、少ない観測ポイントで故障解析の容易性を向上させるための観測ポイント選択方法が説明されている。その方法によれば、まず、ゲートレベルの回路接続情報（ネットリスト）を参照することにより、回路内部の全ノードに観測ポイントが挿入される。次に、外部からの観測では場所を特定することができない故障（等価故障）の数Ｎｐが算出される。この時点では、回路内の全ノードが観測可能なので、Ｎｐは０である。次に、観測ポイントが除去されてもＮｐが増大しないノードや、観測ポイントの除去によるＮｐの増大量が小さいノードから、観測ポイントが除去される。すなわち、Ｎｐの増大を最小限に抑えながら観測ポイントが除去される。これにより、少ない観測ポイント数で故障解析容易性が向上することが期待される。
【００１０】
尚、回路設計に関連する技術として、非特許文献２には「フィジカル・シンセシス手法」が述べられている。そのフィジカル・シンセシス手法を示すフローチャートが、図２に示されている。まず、所望の回路の機能設計が行われる（ステップＳ２１０１）。次に、論理合成とセル配置が同時並列的に実施される（ステップＳ２１０３）。ここで、回路全体の論理合成が一度に行われるのではなく、１個〜数個のセルの論理合成が行われた後、直ちにそれらの配置処理が行われることに留意されたい。その後、クロックツリー合成と配線処理が行われる（ステップＳ２１０５）。そして、セル間の距離から信号伝搬に要する遅延時間が算出され、回路やセル配置の最適化が行われる（ステップＳ２１０７）。このような手順を繰り返すことにより、回路全体の設計が行われる。
【００１１】
【特許文献１】特表２００２−５２２７７０号公報
【特許文献２】特開２００１−１４３７０号公報
【非特許文献１】Irith Pomeranz, Srikanth Venkataraman, and Sudhakar M.Reddy、「Z-DFD: Design-for-Diagnosability based on the concept of z-detection」、International Test Conference 2004  講演予稿集、２００４年１１月．
【非特許文献２】寺澤敏弘，東竜也，渡辺吉規，島澤貴美，高橋真史，古山徹、「ＬＳＩの微細化に伴うフィジカル・シンセシスの重要性と実施例」、電子情報通信学会技術研究報告  VLD2000-138, ICD2000-214, pp25〜,２００１年３月．
【発明の開示】
【発明が解決しようとする課題】
【００１２】
本願発明者は、次の点に着目した。非特許文献１によれば、観測ポイントの挿入位置が決定される際、回路のネットリストだけが用いられており、ノード毎の故障発生確率が考慮されていない。そのため、故障発生確率が低いノードに対して観測ポイントが無駄に挿入される可能性がある。
【課題を解決するための手段】
【００１３】
以下に、［発明を実施するための最良の形態］で使用される番号・符号を用いて、［課題を解決するための手段］を説明する。これらの番号・符号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］との対応関係を明らかにするために括弧付きで付加されたものである。ただし、それらの番号・符号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１４】
本発明の第１の観点において、回路設計システムが提供される。その回路設計システムは、記憶部（１０３）と、故障候補抽出部（１０９）と、判断部（１１１）と、観測ポイント挿入部（１１３）とを備える。記憶部（１０３）には、回路の接続情報を示すネットリスト（ＮＥＴ）が格納される。故障候補抽出部（１０９）は、そのネットリスト（ＮＥＴ）から等価故障群Ｇ１〜ＧＩ（Ｉは、１以上の整数）を抽出し、その等価故障群Ｇｉ（ｉは１以上Ｉ以下の整数）を示す故障候補データ（ＣＡＮ）を生成する。等価故障群とは、いかなる外部入力に対しても同じ挙動を示すために、外部からの測定では場所を特定できない故障群である。等価故障群Ｇｉには、複数のノードＮｉ１〜ＮｉＪｉ（Ｊｉは等価故障群Ｇｉに含まれるノード数）が含まれる。判断部（１１１）は、複数のノードＮｉ１〜ＮｉＪｉから、故障解析に用いられる少なくとも１つの観測ポイントが挿入される対象ノードを決定する。観測ポイント挿入部（１１３）は、その対象ノードに少なくとも１つの観測ポイントを挿入することによって、ネットリスト（ＮＥＴ）を更新する。
【００１５】
本発明によれば、判断部（１１１）は、ノード数Ｊｉに基づいて対象ノードを決定する。例えば、最大のノード数Ｊｉを有する等価故障群Ｇｉで故障が発生する確率は、全ての等価故障群のうちで最も高い可能性がある。よって、判断部（１１１）は、最大のノード数Ｊｉを有する１つの等価故障群Ｇｉから対象ノードを選択してもよい。多数の等価故障ノードを有する等価故障群に観測ポイントを優先的に挿入することによって、全体としての故障候補の数は“効率的に”低減する。すなわち、より少ない観測ポイントの挿入数で、故障解析の容易性を向上させることが可能となる。
【００１６】
より具体的には、判断部（１１１）は、等価故障群Ｇｉに関連するパラメータＤｉとして、次式：Ｄｉ＝Ｊｉ・Ｐｉで定義される量を算出する。Ｐｉは、等価故障群Ｇｉに故障が含まれる確率である。パラメータＤｉは、ノード数Ｊｉと確率Ｐｉに依存している。そして、判断部（１１１）は、全ての等価故障群Ｇ１〜ＧＩに対するパラメータＤｉの和Ｍが小さくなるように、対象ノードを決定する。好適には、最大のパラメータＤｉを有する１つの等価故障群Ｇｉから、対象ノードが優先的に選択される。確率Ｐｉは、モデルに依存して様々に決定されるが、例えば等価故障群Ｇｉ中の配線長に依存する。最大の配線長を有する１つの等価故障群Ｇｉでは、故障発生確率Ｐｉが高いと考えられる。そのような等価故障群は、結局、大きなパラメータＤｉを有する等価故障群に相当する。よって、そのような等価故障群Ｇｉから、対象ノードが優先的に選択されればよい。
【００１７】
このように、本発明によれば、比較的大きなパラメータＤｉを有する等価故障群Ｇｉに、観測ポイントが優先的に挿入される。これにより、故障解析容易性が“効率よく”向上する。つまり、より少ない観測ポイントで、故障解析の容易性が向上する。言い換えれば、観測ポイント挿入位置を最適化することによって、少ない観測ポイント数で故障解析を容易化することが可能となる。
【００１８】
また、本発明に係る回路設計システムによれば、観測ポイントが挿入されるネットリストは、論理合成が全て完了したネットリストに限られない。一部だけ論理合成が行われたネットリストに対しても観測ポイントを挿入することが可能である。よって、本発明に係る回路設計システムは、上記非特許文献２に記載されたフィジカル・シンセシス手法に基づいた回路設計にも適用され得る。比較として、上記非特許文献１に開示された技術によれば、回路内部の全ノードに観測ポイントが一旦挿入された後、観測ポイントが適宜除去されていく。従って、観測ポイントが挿入されるネットリストは、論理合成が全て完了したネットリストに限られる。よって、この従来技術を、論理合成とセル配置が同時に行われるフィジカル・シンセシス手法と併用することはできない。
【００１９】
本発明の第２の観点において、コンピュータによって実行される回路設計プログラム（１０）が提供される。その回路設計プログラム（１０）が演算処理装置（２）や記憶装置（３）を含むコンピュータ上で実行されることにより、上記回路設計システムが実現される。
【発明の効果】
【００２０】
本発明に係る回路設計システム及び回路設計プログラムによれば、観測ポイントが挿入される位置が最適化されるため、挿入される観測ポイント数が少なくても、故障解析の容易性が向上する。つまり、より少ない観測ポイントで、効率よく故障解析を容易化することが可能となる。
【００２１】
また、本発明に係る回路設計システム及び回路設計プログラムは、フィジカル・シンセシス設計手法に適用することも可能である。すなわち、フィジカル・シンセシス設計手法の場合であっても、観測ポイントを挿入することにより、故障解析の容易化を実現することが可能となる。
【発明を実施するための最良の形態】
【００２２】
添付図面を参照して、本発明による回路設計システム及び回路設計プログラムを説明する。
【００２３】
１．第１の実施の形態
図３は、第１の実施の形態に係る回路設計システム（故障解析容易化設計システム）の構成を示すブロック図である。この回路設計システムは、回路の接続情報を示すネットリストＮＥＴから、その回路のレイアウトを示すレイアウトデータＬＡＹを生成する。この回路設計システムは、例えば、演算処理装置、記憶装置、及び演算処理装置によって実行されるコンピュータプログラム（回路設計プログラム）によって実現され得る。
【００２４】
まず、本実施の形態に係る回路設計システムの概略が説明される。図３に示されるように、回路設計システムは、入力部１０１、記憶部１０３、回路配置部１０５、セル間距離抽出部１０７、故障候補抽出部１０９、判断部１１１、観測ポイント挿入部１１３、回路配線部１１５、及び出力部１１７を備えている。
【００２５】
回路の接続情報を示すネットリストＮＥＴは、入力部１０１により入力され、記憶部１０３に格納される。回路配置部１０５は、記憶部１０３に格納されたネットリストＮＥＴを参照し、設計対象の回路に含まれるセル群の配置を行う。そして、回路配置部１０５は、そのセル群の配置を示す配置データＡＲＲを生成する。配置データＡＲＲは、記憶部１０３に格納され、また、セル間距離抽出部１０７に出力される。セル間距離抽出部１０７は、受け取った配置データＡＲＲが示すセル群の配置を基に、セル間の距離情報を抽出・算出する。そして、セル間距離抽出部１０７は、得られたセル間距離を示すセル間距離データＤＩＳを生成する。そのセル間距離データＤＩＳは、判断部１１１に出力される。
【００２６】
故障候補抽出部１０９は、ネットリストＮＥＴを参照して所望の回路中の「故障候補群」を抽出し、その故障候補群を示す故障候補データＣＡＮを生成する。ここで、故障候補とは、外部からの測定では場所を特定できない故障を意味し、故障診断ソフトウェアを用いてもその故障箇所を特定することはできない。場所を特定できない故障の集合である故障候補群は、「等価故障群（equivalent fault class）」と参照される場合もある（後述される）。故障候補抽出１０９は、ネットリストＮＥＴから等価故障群を抽出し、その等価故障群を示す故障候補データＣＡＮを生成するとも言える。その故障候補データＣＡＮは、判断部１１１に出力される。
【００２７】
故障候補群の各々は、複数のノードを含んでいる。故障解析に用いられる観測ポイントは、その複数のノードのうち少なくとも１つのノード（以下、「対象ノード」と参照される）に挿入される。その対象ノードを決定するのが、判断部１１１である。判断部１１１は、故障候補データＣＡＮとセル間距離データＤＩＳを受け取る。そして、判断部１１１は、故障候補データＣＡＮで示される等価故障群に含まれる複数のノードのうち、どのノードに少なくとも１つの観測ポイントが挿入されるべきかを判断する。ここで、本実施の形態によれば、判断部１１１は、セル間距離抽出部１０７によって生成されたセル間距離データＤＩＳを参照しながら、少なくとも１つの対象ノードを選択・決定する。
【００２８】
より詳細には、判断部１１１は、故障解析容易性評価部１１９と挿入位置決定部１２１を含んでいる。故障解析容易性評価部１１９は、セル間距離データＤＩＳが示すセル間距離を参照することにより、等価故障群に含まれる複数のノードの「故障解析容易性」を算出・評価する。挿入位置決定部１２１は、得られた故障解析容易性に基づいて、複数のノードから対象ノードを選択・決定する。
【００２９】
このようにして、判断部１１１は、少なくとも１つの対象ノードを決定し、その決定された対象ノードを示す観測ポイント挿入位置データＰＮＴを生成する。その観測ポイント挿入位置データＰＮＴは、観測ポイント挿入部１１３に出力される。観測ポイント挿入部１１３は、記憶部１０３に格納されたネットリストＮＥＴを参照し、回路に含まれる対象ノードに少なくとも１つの観測ポイントを挿入する。これにより、観測ポイント挿入部１１３は、記憶部１０３に格納されたネットリストＮＥＴを更新する。
【００３０】
必要に応じて、上述の処理が繰り返される。必要な観測ポイントの挿入処理が終了すると、回路配線部１１５は、記憶部１０３からネットリストＮＥＴと配置データＡＲＲを読み出す。そして、回路配線部１１５は、ネットリストＮＥＴ及び配置データＡＲＲに基づいて、回路の配線、すなわち、セル間の配線を決定する。これにより、回路のレイアウトを示すレイアウトデータＬＡＹが作成される。作成されたレイアウトデータＬＡＹは、出力部１１７から出力される。
【００３１】
図４は、本実施の形態に係る回路設計方法を示すフローチャートである。図４に示されるフローチャート及び図３に示された構成を参照しながら、本実施の形態に係る処理を更に詳しく説明する。
【００３２】
（１）ステップＳ２０１：ネットリスト入力
まず、回路の構造が定義されたネットリストＮＥＴが入力部１０１により入力され、記憶部１０３に格納される。ネットリストＮＥＴには、回路を構成する部品と、その部品間の接続情報が記載されている。この回路を構成する部品は、一般的に「セル」と呼ばれている。
【００３３】
（２）ステップＳ２０３：等価故障群の抽出
論理回路には、外部からの測定では故障箇所を特定できない部分が存在する。そのことを、図５に示される回路を例に挙げて説明する。図５に示された回路例は、ＮＯＲ素子３０１とＮＡＮＤ素子３０３を含んでいる。各素子の入力・出力につながる端子は、端子３０５〜３１３として参照される。各端子３０５〜３１３は、“０”又は“１”の値をとりうる。ここで、論理値が“０”又は“１”に固定される故障である「縮退故障（stuck-at fault）」を考える。例えば、端子３０５と端子３０７のいずれかの論理値が“１”に縮退した場合（１縮退故障）、出力端子３１３の論理値は“１”に縮退する。また、端子３０９と端子３１１のいずれかの論理値が“０”に縮退した場合（０縮退故障）も、出力端子３１３の論理値は“１”に縮退する。つまり、いずれの縮退故障が発生しても、出力端子３１３の論理値は“１”に縮退する。故障診断ソフトウェアは、出力端子３１３の出力が固定されたことから故障を「検知」することはできるが、上述の２つのパターンのうちどちらかが原因であるかを「特定」することはできない。つまり、外部からの測定では故障箇所を特定することは不可能である。このような場所を特定できない故障の集合が、「等価故障群（equivalent fault class）」である。
【００３４】
故障候補抽出部１０９は、ステップＳ２０１で入力されたネットリストＮＥＴで示される回路情報をもとに、その回路に含まれる等価故障群を抽出する。故障候補抽出部１０９は、抽出された等価故障群を示す故障候補データＣＡＮを、判断部１１１に出力する。等価故障群の各々は、複数の故障候補を含んでいる。等価故障に含まれる故障候補のうち、どれが真の故障かを確認するためには、測定による確認が必要である。そのためには故障候補を“観測可能な状態”にする必要がある。故障解析の現場では、観測のためにＦＩＢ加工による配線露出等が行われているが、加工箇所の数が多いと作業量も費用も多くなる。あらかじめ回路中に観測点（観測ポイント）を設け、等価故障の総数を削減することにより、故障診断を容易化することができる。これに関しては、後述される。
【００３５】
（３）ステップＳ２０５：セル配置処理
一方、回路配置部１０５は、ステップＳ２０１で入力されたネットリストＮＥＴを用いて、回路に含まれるセル群の配置を行う。この処理では、ネットリストに含まれるセル群が、設計図面上のセル配置可能領域に配置される。セル群が配置された結果を示すデータは、配置データＡＲＲと参照される。回路配置部１０５は、配置データＡＲＲを作成し、その配置データＡＲＲを記憶部１０３に格納する、また、セル間距離抽出部１０７に出力する。
【００３６】
（４）ステップＳ２０７：セル間距離抽出処理
次に、セル間距離抽出部１０７は、配置データＡＲＲが示すセル群の配置結果に基づいて、セル間の距離を算出し抽出する。具体的には、ネットリストＮＥＴにおいて相互に接続されているセル間の距離が算出される。１つのノードに３個以上のセルが接続されている場合、全てのセルを通過する最短パスが決定され、その距離がセル間距離として算出される。この算出において、例えば、Ｍｅｌｚａｋのアルゴリズムのような最小スタイナー木探索手法が利用される。セル間距離抽出部１０７は、算出されたセル間距離を示すセル距離データＤＩＳを、判断部１１１に出力する。
【００３７】
（５）ステップＳ２０９：故障解析容易性の算出・評価
次に、判断部１１１は、ステップＳ２０３で作成された故障候補データＣＡＮと、ステップＳ２０７で作成されたセル間距離データＤＩＳに基づいて、観測ポイントが挿入される対象ノードを決定する。まず、判断部１１１の故障解析容易性評価部１１９は、故障候補データＣＡＮで示される等価故障群の各々に関して、「故障解析容易性Ｍ」と呼ばれるパラメータを算出する。その際、故障解析容易性評価部１１９は、セル間距離データＤＩＳで示されるセル間の距離を参照する。
【００３８】
具体的な算出方法は次の通りである。ネットリストＮＥＴに示される回路内に存在する複数の等価故障群の数をＩとする。この場合、複数の等価故障群のそれぞれは、Ｇ１, Ｇ２…ＧＩ（Ｉは１以上の整数）と参照される。各々の等価故障群は、複数の等価故障ノード（以下、単にノードと参照される）を含んでいる。等価故障群Ｇｉ（ｉは１以上Ｉ以下の整数）含まれるノード数がＪｉである時、その等価故障群Ｇｉに含まれる複数のノードは、それぞれＮｉ１，Ｎｉ２…ＮｉＪｉと参照される。
【００３９】
また、複数のノードＮｉ１，Ｎｉ２…ＮｉＪｉのそれぞれの配線長は、Ｌｉ１,Ｌｉ２…ＬｉＪｉであるとする。ここでは、まだ回路の配線処理は行われていないので、正確な配線長は不明である。そこで、本実施の形態によれば、ステップＳ２０７で算出されたセル間距離が、各ノードの配線長として近似的に用いられる。つまり、判断部１１１の故障解析容易性評価部１１９は、上記セル間距離データＤＩＳを参照し、それで示されているセル間距離を配線長Ｌｉｊ（ｉは１以上Ｉ以下の整数；ｊは１以上Ｊｉ以下の整数）として設定する。従って、斜め配線が禁止されているというような半導体集積回路特有の制限がある場合、Ｓ２０７では斜め配線を使わないという前提でセル間距離が算出されるべきである。
【００４０】
ここで、回路に含まれる配線のうち任意の１箇所で「０縮退故障」あるいは「１縮退故障」が発生する場合を想定する。この時、その故障が等価故障群Ｇｉに含まれる確率Ｐｉは、次の式（１）で表される。
【００４１】
【数１】
0004711801.tif 000002
【００４２】
上記式（１）中のＬａｌｌは、全ての等価故障群Ｇｉに含まれる全配線の長さの合計であり、次の式（２）で表される。
【００４３】
【数２】
0004711801.tif 000003
【００４４】
上記式（１）の分子は、ある等価故障群Ｇｉに関する配線長Ｌｉｊの和である。判断部１１１は、その和に依存する量を、等価故障群Ｇｉに関する上記確率Ｐｉとして算出すると言える。尚、上述のＬａｌｌの代わりに、回路全体に含まれる全配線の長さの合計が用いられてもよい。
【００４５】
次に、あるチップに関して次の式（３）で表されるパラメータＭが算出される。式（３）に現れるパラメータＤｉは、式（４）により定義される。
【００４６】
【数３】
0004711801.tif 000004
【００４７】
【数４】
0004711801.tif 000005
【００４８】
式（４）に示されるように、ある等価故障群Ｇｉに関するパラメータＤｉは、その等価故障群Ｇｉに含まれるノード数Ｊｉと上述の確率Ｐｉから求められる。特に、パラメータＤｉがノード数Ｊｉに依存していることに留意されるべきである。また、式（３）に示されるように、パラメータＭは、全ての等価故障群Ｇ１〜ＧＩに対する上記パラメータＤｉの和として定義される。この和は、ある等価故障群Ｇｉで縮退故障が発生する場合において、その等価故障群Ｇｉに含まれる等価故障ノード数のチップ全体での平均値を表している。式（３）に示されるパラメータＭが大きいことは、等価故障ノード数（故障候補）が多数になることを意味している。故障候補が多数になると、故障診断ソフトウェアによる故障解析も困難になる。
【００４９】
逆に、パラメータＭが小さくなると、故障解析が容易になる。その意味で、パラメータＭは、「故障解析容易性」と参照される場合がある。パラメータＤｉは、等価故障群の各々の故障解析容易性を示し、パラメータＭは、全ての等価故障群の故障解析容易性の合計を示しているとも言える。本明細書において、故障解析容易性を向上させることとは、パラメータＭを減少させることと等価である。そのパラメータＭを減少させるためには、外部から観測可能な観測ポイントが適当な位置に挿入されればよい。なるべく少ない観測ポイント数でパラメータＭをなるべく小さくすることができれば、本発明の目的である、少ない観測ポイント挿入数による故障解析容易化が実現できると言える。その処理に関しては、次に説明される。
【００５０】
（６）ステップＳ２１１：観測ポイント挿入位置の決定
判断部１１１の挿入位置決定部１２１は、少なくとも１つの観測ポイントが挿入される位置（対象ノード）を選択・決定する。ここで、挿入位置決定部１２１は、上記パラメータＭが小さくなるように対象ノードを決定する。観測ポイントの挿入によるパラメータＭの減少量や減少率が大きいノードを選択することによって、効率よく等価故障ノード数を減少させることができる。好適には、挿入位置決定部１２１は、観測ポイントの挿入によるパラメータＭの減少率が最大となるように、対象ノードを決定する。
【００５１】
パラメータＭを効率よく減少させるための対象ノード決定方法の一例を、図６及び図７を参照して説明する。図６に示される回路例は、入力端子４０１、５個のインバータ素子４０３、及び出力端子４０５を有している。入力端子４０１から入力される信号は、インバータ素子４０３を次々と通過して、出力端子４０５に到達する。また、符号４０７（Ａ）〜４０７（Ｅ）は、素子間のノードを示しており、観測ポイントが挿入され得る位置を示している。なお、説明を簡略化するため、観測ポイントはインバータ素子４０３の出力に対して挿入されるとする。観測ポイントが配線の中間に挿入される場合は、ここでは取り扱われない。また、図６において素子間をつなぐ配線に隣接して描かれている数字は、各ノードの配線長を表している。
【００５２】
観測ポイントが挿入されていない状態において、図６に示された回路は、全体として１つの等価故障群を構成している。一方、観測ポイントが挿入されると、真の故障が観測ポイントより入力端子４０１側にあるか出力端子４０５側にあるかを、測定により確認できるようになる。すなわち、１つの等価故障群は、観測ポイントが挿入される位置を境に、２つの等価故障群に分割されると言える。１つの等価故障群が観測ポイントによって第１等価故障群と第２等価故障群に分割される場合、それら第１、第２等価故障群のそれぞれに対して上記パラメータＤｉが算出される（式（４）参照）。そして、それら２つのパラメータＤｉを合計することによって、パラメータＭが算出される。但し、図６に示された回路はインバータ素子のみで構成されているため、確率Ｐｉの算出には上記式（１）の代わりに下記の式（５）が用いられる。
【００５３】
【数５】
0004711801.tif 000006
【００５４】
式（１）と式（５）を比較すると、式（５）では定数項１／２が省かれている。これは、インバータ素子のみで構成された回路は、入力論理が０，１いずれの場合でも等価故障群となり得るためである。また、確率Ｐｉの算出に用いられるＬａｌｌは、図６を参照すると“１０”である。
【００５５】
図７は、観測ポイントが挿入されることによる上記パラメータＭ（故障解析容易性）の変化を示している。具体的には、観測ポイントが挿入されていない場合と、ノード４０７（Ａ）〜４０７（Ｅ）のいずれかに１つの観測ポイントが挿入された場合におけるパラメータＭの比較がなされている。図７から明らかなように、観測ポイントがノード４０７（Ｄ）に挿入された場合、パラメータＭは最小となる。観測ポイントがノード４０７（Ｄ）に挿入される場合、第１等価故障群に対するパラメータＤｉ（＝１．６）と、第２等価故障群に対するパラメータＤｉ（＝１．２）とが最も近くなっていることに留意されるべきである。つまり、ある１つの等価故障群Ｇｉに観測ポイントが挿入される場合、分割により得られる第１等価故障群と第２等価故障群に対して算出されるパラメータＤｉが最も近くなるように、対象ノードが決定されることが好適である。これにより、故障解析容易性を最も効率よく向上させることが可能となる。
【００５６】
また、他の例を、図８及び図９を参照しながら説明する。図８に示される回路例は、等価故障群４０９と等価故障群４１１を有している。等価故障群４０９は、図６と同様の回路構成を有している。等価故障群４１１は、入力端子４０１（２）と、３個のインバータ素子４０３と、出力端子４０５（２）を有している。また、符号４０７（Ｆ）〜４０７（Ｈ）は、素子間のノードを示しており、観測ポイントが挿入され得る位置を示している。図６と同様に、素子間をつなぐ配線に隣接して描かれている数字は、各ノードの配線長を表している。
【００５７】
本例における上述の図７と同様の比較結果が、図９に示されている。等価故障群４０９は、観測ポイントの挿入によって、２つの等価故障群４０９−１、４０９−２に分割されるとする。また、等価故障群４１１は、観測ポイントの挿入によって、２つの等価故障群４１１−１、４１１−２に分割されるとする。図９から明らかなように、観測ポイントがノード４０７（Ｄ）に挿入された場合、パラメータＭは最小となる。
【００５８】
更に、等価故障群４１１に含まれるノード４０７（Ｆ）〜４０７（Ｈ）のいずれかに観測ポイントが挿入されたとしても、故障解析容易性Ｍは大きく改善しないことがわかる。これは、等価故障群４１１に対するパラメータＤｉ（＝１．１４）が、等価故障群４０９に対するパラメータＤｉ（＝４．２９）より小さいためである。故障解析容易性ＭはパラメータＤｉの総和として算出されている。そのため、パラメータＤｉがもともと小さい等価故障群４１１に観測ポイントが挿入されても、パラメータＭはあまり小さくならない。逆に、比較的大きなパラメータＤｉを有する等価故障群４０９に観測ポイントが挿入されると、パラメータＭを大きく低減することが可能となる。即ち、故障解析容易性を効率よく向上させるためには、パラメータＤｉが大きい等価故障群に観測ポイントが挿入されるとよい。
【００５９】
好適には、判断部１１１は、最大のパラメータＤｉを有する１つの等価故障群Ｇｉから対象ノードを選択する。ここで、上記式（４）で示された通り、パラメータＤｉはノード数Ｊｉと確率Ｐｉに依存している。よって、判断部１１１は、最大のノード数Ｊｉを有する１つの等価故障群Ｇｉから対象ノードを選択してもよい。多くの等価故障ノードを有する等価故障群に観測ポイントを優先的に挿入することによって、故障解析容易性を効率よく向上させることが可能となる。また、判断部１１１は、最大の確率Ｐｉ、すなわち最大の配線長を有する１つの等価故障群Ｇｉから対象ノードを選択してもよい。セル間の距離が大きい回路領域では、セル間を接続する配線も長くなるため、故障が発生する確率が高くなる。そのような回路領域に観測ポイントを優先的に挿入することによって、故障解析容易性を効率よく向上させることが可能となる。
【００６０】
更に他の例を、図１０及び図１１を参照しながら説明する。図１０に示される回路例は、８入力のＮＡＮＤ素子８０１を含んでいる。このＮＡＮＤ素子８０１の入力端子の「０縮退故障」とその出力端子の「１縮退故障」は、等価故障の関係にある。この等価故障群は９つのノードを含むため、その等価故障群に対するパラメータＤｉは大きくなる。
【００６１】
本例における上述の図７と同様の比較結果が、図１１に示されている。図１１から明らかなように、どのノードに観測ポイントを挿入しても、パラメータＭを大きく減少させることはできない。これは、８入力ＮＡＮＤ素子の構造に起因しており、観測ポイントがどこに挿入されても、分割された２つの等価故障群に含まれるノード数の比率は１：８にしかならないためである。このような等価故障群には、観測ポイントは挿入しないほうが良い。このように、パラメータＤｉが大きくても観測ポイントの挿入による故障解析容易性の向上効果が小さい場合もあるので、注意が必要である。
【００６２】
以上に説明されたような手法を通して、判断部１１１は、観測ポイントが挿入される対象ノードを決定する。決定された対象ノードを示す観測ポイント挿入位置データＰＮＴは、観測ポイント挿入部１１３に出力される。
【００６３】
（７）ステップＳ２１３：観測ポイントの挿入
次に、観測ポイント挿入部１１３は、観測ポイント挿入位置データＰＮＴに応答して、記憶部１０３に格納されたネットリストＮＥＴ及び配置データＡＲＲを更新する。具体的には、観測ポイント挿入部１１３は、ネットリストＮＥＴを参照し、ステップＳ２１１で決定された位置（対象ノード）に実際に観測ポイントを挿入する。これにより、その対象ノードは、外部から観測可能な状態になる。
【００６４】
また、観測ポイント挿入部１１３は、セル配置を示す配置データＡＲＲに対しても、同様に観測ポイントを挿入する。このとき、観測したい回路領域と観測ポイントの間の距離が大きいと、その間を接続する配線の容量がセルの駆動負荷となってしまう。その駆動負荷は回路の遅延時間に影響を与えるので、観測ポイントはなるべく観測したい回路領域の近傍に配置されるべきである。観測したい回路領域の近傍に適当な配置領域がない場合は、周囲の回路素子を移動させることにより配置場所が確保される。
【００６５】
また、クリティカルパス（最大遅延パス）に観測ポイントが挿入されると、遅延の増大によって回路全体の動作速度が低下する場合がある。このことが問題になる場合、観測ポイント挿入部１１３は、クリティカルパスを避けて観測ポイントを挿入する。
【００６６】
観測ポイントとして、次の参考文献１で説明されているような「ＥＢ測定用テストパッド」を用いることが考えられる（参考文献１：久慈憲夫、「ＥＢテストパッドによる多層配線ＬＳＩの観測性向上手法」，電子情報通信学会技術研究報告，ＶＯＬ．１０３，ＮＯ．６４７（ＩＣＤ２００３），Ｐ．２３−２８，２００４年１月）。あるいは、次の参考文献２で説明されているような「ＬＶＰ測定用素子」が、観測ポイントとして用いられてもよい（参考文献２：野中淳平，和田慎一，「９０ｎｍデバイスのＬＶＰ測定容易性評価とＬＶＰ測定用素子の開発」，電子情報通信学会技術研究報告，ＶＯＬ．１０４，ＮＯ．６２８（ＩＣＤ２００４），Ｐ．７−１２，２００５年２月）。
【００６７】
また、可視光、Ｘ線、超音波等を使用した観察手法も考えられる。また、回路に含まれるゲート素子のトランジスタが、サイズの大きいトランジスタで置換され、それがＬＶＰ測定用素子として用いられてもよい。つまり、ＬＶＰ測定が可能な程度にサイズが大きいトランジスタが、対象ノードに接続されればよい。９０ｎｍ世代や６５ｎｍ世代といった先端的な集積回路においても、トランジスタサイズが大きいゲート素子に対するＬＶＰ測定は容易である。
【００６８】
また、対象ノードに該当する配線が、チップ表面まで引き出されてもよい。また、対象ノードが集積回路の入出力端子に、電気的に直接接続されてもよいし、マルチプレクサ等の切り替え回路を経由して接続されてもよい。この場合、回路の外部から当該ノードの電位波形を電気的に測定することが可能となる。
【００６９】
また、ＳＣＡＮ回路に用いられるシフトレジスタを用いることにより、観測ポイントの電位が外部に出力されてもよい。例えば、図１２に示される構成によれば、ゲート素子８０３で構成される回路８０５の内部電位が、シフトレジスタ回路により集積回路外部に出力されている。ゲート素子８０３間を接続する配線の電位は、マルチプレクサ８０７を経由してＤフリップフロップ８０９に印加されている。Ｄフリップフロップ８０９にクロックが供給されると、回路８０５内部の電位がＤフリップフロップ８０９に取り込まれる。次に、マルチプレクサを切り替えてクロックを印加すると、一群のＤフリップフロップ８０９がシフトレジスタとして動作し、Ｄフリップフロップ８０９に取り込まれた電位が、出力端子８１１に順に到達する。出力端子８１１の電位波形を測定することにより、回路８０５内部の電位を測定することが可能である。また、上記構成において、出力端子８１１の手前にデータ圧縮回路が追加されてもよい。その場合、外部に出力されるデータ量が削減され、好適である。
【００７０】
（８）ステップＳ２１５
次に、引き続き観測ポイントを挿入する必要があるか否かの判断が行われる。観測ポイントが更に追加される場合、処理はステップＳ２０３に戻り、同様の処理が繰り返される。それ以外の場合、処理はステップＳ２１７に進む。判断方法としては、様々な方法が考えられる。例えば、算出される故障解析容易性Ｍが所定の値以下になった時点で、観測ポイントの挿入が終了する。逆に言えば、算出される故障解析容易性Ｍが所定の値より小さくなるまで、観測ポイントの挿入が繰り返される。この場合、完成した回路のパラメータＭの値が一定の値になるため、故障解析容易性が常に同程度になるというメリットがある。
【００７１】
また、挿入される観測ポイントの数とパラメータＭは、図１３に示されるような関係を有している。図１３から、挿入される観測ポイントの数が増えるに従って、パラメータＭが減少しにくくなることが分かる。従って、観測ポイントの挿入によるパラメータＭの減少率が所定の値より小さくなるまで、観測ポイントの挿入が繰り返されてもよい。この場合、観測ポイント１個あたりの効果が小さくなった時点で、観測ポイントの挿入が打ち切られる。よって、観測ポイント１個あたりの故障解析容易性の向上効果が大きくなるというメリットがある。
【００７２】
また、挿入された観測ポイントの数が所定の値になるまで、観測ポイントの挿入が繰り返されてもよい。また、観測ポイントが占める面積とチップ面積との比率が所定の値に達した時点で、観測ポイントの挿入が終了してもよい。
【００７３】
（９）ステップＳ２１７：配線処理
次に、回路配線部１１５は、観測ポイントが挿入されたネットリストＮＥＴと配置データＡＲＲを、記憶部１０３から読み出す。そして、回路配線部１１５は、それらネットリストＮＥＴと配置データＡＲＲに基づいて、配線処理を実施する。この配線処理は、セルが配置された設計図面にセル間を接続する配線の形状データを追加するための処理である。セル間の接続は、ネットリストＮＥＴに従って行われる。これにより、回路のレイアウトを示すレイアウトデータＬＡＹが作成される。
【００７４】
（１０）ステップＳ２１９：レイアウトデータ出力
最後に、出力部１１７から、完成したレイアウトデータＬＡＹが出力される。そのレイアウトデータＬＡＹは、集積回路の製造装置に入力される。その結果、故障解析容易性が向上した集積回路が製造される。なお、観測ポイントとしてＥＢ測定用テストパッドやＬＶＰ測定用素子が用いられる場合、パッドの座標とノード名との対応関係を示す情報が、レイアウトデータと共に出力される。
【００７５】
以上に説明されたように、本実施の形態によれば、判断部１１１は、ノード数Ｊｉに基づいて対象ノードを決定する。例えば、最大のノード数Ｊｉを有する等価故障群Ｇｉで故障が発生する確率は、全ての等価故障群のうちで最も高い可能性がある。よって、判断部１１１は、最大のノード数Ｊｉを有する１つの等価故障群Ｇｉから対象ノードを選択することができる。多数の等価故障ノードを有する等価故障群に観測ポイントを優先的に挿入することによって、全体としての故障候補の数は“効率的に”低減する。すなわち、より少ない観測ポイントの挿入数で、故障解析の容易性を向上させることが可能となる。
【００７６】
より具体的には、判断部１１１は、等価故障群Ｇｉに関連するパラメータＤｉを算出する（式（４）参照）。そのパラメータＤｉは、ノード数Ｊｉと確率Ｐｉに依存している。そして、判断部１１１は、そのパラメータＤｉからパラメータＭ（式（３）参照）を算出し、そのパラメータＭが小さくなるように対象ノードを決定する。好適には、最大のパラメータＤｉを有する１つの等価故障群Ｇｉから、対象ノードが優先的に選択される。確率Ｐｉは、モデルに依存して様々に決定されるが、例えば等価故障群Ｇｉ中の配線長に依存する。最大の配線長を有する１つの等価故障群Ｇｉでは、故障発生確率Ｐｉが高いと考えられる。そのような等価故障群は、結局、大きなパラメータＤｉを有する等価故障群に相当する。よって、そのような等価故障群Ｇｉから、対象ノードが優先的に選択されればよい。
【００７７】
このように、本発明によれば、比較的大きなパラメータＤｉを有する等価故障群Ｇｉに、観測ポイントが優先的に挿入される。これにより、故障解析容易性が“効率よく”向上する。つまり、より少ない観測ポイントで、故障解析の容易性が向上する。言い換えれば、観測ポイント挿入位置を最適化することによって、少ない観測ポイント数で故障解析を容易化することが可能となる。
【００７８】
２．第２の実施の形態
図１４は、第２の実施の形態に係る回路設計システム（故障解析容易化設計システム）の構成を示すブロック図である。本実施の形態に係る回路設計システムは、入力部１０１、記憶部１０３、回路配置部１０５、故障候補抽出部１０９、判断部１１１、観測ポイント挿入部１１３、回路配線部１１５、及び出力部１１７を備えている。図１４において、第１の実施の形態における構成と同様の構成には同一の符号が付されており、重複する説明は適宜省略される。
【００７９】
第２の実施の形態と第１の実施の形態との間で異なる点は、セル間距離抽出部１０７が省略されていることである。また、第２の実施の形態において、回路配置部１０５は、全ての観測ポイントの挿入が終了した後に、セルの配置を行う。
【００８０】
図１５は、本実施の形態に係る回路設計方法を示すフローチャートである。図１５に示されるフローチャート及び図１４に示された構成を参照しながら、本実施の形態に係る処理を更に詳しく説明する。尚、第１の実施の形態における処理と同様の処理に関する説明は、適宜省略される。
【００８１】
まず、ネットリストＮＥＴが入力され、記憶部１０３に格納される（ステップＳ２０１）。次に、故障候補抽出部１０９は、第１の実施の形態と同様に、ネットリストＮＥＴから等価故障群Ｇｉを抽出し、故障候補データＣＡＮを判断部１１１に出力する（ステップＳ２０３）。セルの配置処理（ステップＳ２０５）は、後ほど実行される。セル間距離の抽出（ステップＳ２０７）は、行われない。次に、故障解析容易性Ｍの算出（ステップＳ２０９）が行われる。本実施の形態によれば、ある等価故障群Ｇｉに関する上述の確率Ｐｉを計算する際、次の式（６）が用いられる。
【００８２】
【数６】
0004711801.tif 000007
【００８３】
上記式（６）中のＪａｌｌは、全ての等価故障群Ｇｉに含まれるノード数Ｊｉの合計であり、次の式（７）で表される。
【００８４】
【数７】
0004711801.tif 000008
【００８５】
上記式（６）の分子は、ある等価故障群Ｇｉのノード数Ｊｉである。本実施の形態によれば、判断部１１１は、そのノード数Ｊｉに依存する量を、等価故障群Ｇｉに関する上記確率Ｐｉとして算出する。これは、第１の実施形態において各ノードの配線長Ｌｉｊが全て同じであると仮定された場合に相当する。尚、上述のＪａｌｌの代わりに、回路全体に含まれるノードの総数が用いられてもよい。
【００８６】
続いて、既出の式（４）に基づいてパラメータＤｉが算出され、既出の式（３）に基づいてパラメータＭ（故障解析容易性）が算出される。その後、判断部１１１の挿入位置決定部１２１は、第１の実施の形態と同様の手法で、観測ポイントが挿入される位置（対象ノード）を決定する（ステップＳ２１１）。そして、観測ポイント挿入部１１３も、第１の実施の形態と同様に、ネットリストＮＥＴに観測ポイントを挿入し、ネットリストＮＥＴを更新する（ステップＳ２１３）。
【００８７】
ステップＳ２１５を経て、全ての観測ポイントの挿入が完了した後、セルの配置処理が行われる（ステップＳ２０５）。この時、回路配置部１０５は、観測ポイントが挿入されたネットリストＮＥＴを用いて、回路に含まれるセル群の配置を行う。続いて、回路配線部１１５は、配線処理を実施する（ステップＳ２１７）。これらステップＳ２０５とステップＳ２１７を通して、ネットリストＮＥＴからレイアウトデータＬＡＹが作成される。完成したレイアウトデータＬＡＹは、出力部１１７から出力される（ステップＳ２１９）。
【００８８】
本実施の形態によれば、第１の実施の形態と同様の効果が得られる。すなわち、より少ない観測ポイント数で故障解析を容易化することが可能となる。更に、追加的な効果として、処理量が低減されるという効果が得られる。それは、パラメータＭの算出時にセル間距離に関する情報は使用されず、セル間距離を抽出するための処理が必要ないからである。
【００８９】
また、第１の実施形態では、観測ポイントの挿入時、観測対象領域の近傍に空き領域が無い場合には、セル配置を変更して領域を確保する必要があった。しかしながら、本実施形態ではセル配置処理の前に観測ポイントが挿入されるため、観測ポイントを挿入する度にセル配置を変更する必要が無い。よって、処理が簡単になる。
【００９０】
３．第３の実施の形態
図１６は、第３の実施の形態に係る回路設計システム（故障解析容易化設計システム）の構成を示すブロック図である。本実施の形態に係る回路設計システムは、入力部１０１、記憶部１０３、故障候補抽出部１０９、レイアウト部１３５、判断部１１１、観測ポイント挿入部１１３、及び出力部１１７を備えている。レイアウト部１３５は、回路配置部１０５と回路配線部１１５を含んでいる。また、判断部１１１は、故障解析容易性評価部１１９と挿入位置決定部１２１に加えて、構造抽出部１２３を有している。図１６において、第１の実施の形態における構成と同様の構成には同一の符号が付されており、重複する説明は適宜省略される。
【００９１】
第３の実施の形態と第１の実施の形態との間で異なる点は、セル間距離抽出部１０７が省略されている点である。その代わり、本実施の形態によれば、判断部１１１に構造抽出部１２３が設けられている。この構造抽出部１２３は、各等価故障群Ｇｉに含まれる拡散領域の面積、コンタクトやビアの数、ゲートポリ配線の長さ、メタル配線の長さなどの「構造情報」を抽出する。パラメータＭ（故障解析容易性）の算出には、セル間距離に関する情報の代わりに、その構造情報が用いられる。また、その構造情報の抽出には、回路のレイアウトを示すレイアウトデータＬＡＹが必要となる。そのため、レイアウト部１３５（回路配置部１０５と回路配線部１１５）は、構造抽出処理の前にレイアウトデータＬＡＹを生成し、そのレイアウトデータＬＡＹを判断部１１１（構造抽出部１２３）に出力する。
【００９２】
図１７は、本実施の形態に係る回路設計方法を示すフローチャートである。図１７に示されるフローチャート及び図１６に示された構成を参照しながら、本実施の形態に係る処理を更に詳しく説明する。尚、第１の実施の形態における処理と同様の処理に関する説明は、適宜省略される。
【００９３】
まず、ネットリストＮＥＴが入力され、記憶部１０３に格納される（ステップＳ２０１）。次に、故障候補抽出部１０９は、第１の実施の形態と同様に、ネットリストＮＥＴから等価故障群Ｇｉを抽出し、故障候補データＣＡＮを判断部１１１に出力する（ステップＳ２０３）。また、レイアウト部１３５は、記憶部１０３に格納されたネットリストＮＥＴを参照して、回路のレイアウトを決定する。具体的には、回路配置部１０５が回路に含まれるセル群の配置を行い（ステップＳ２０５）、続いて、回路配線部１１５がセル間の配線を決定する（ステップＳ２１７）。これにより生成されるレイアウトデータＬＡＹは、記憶部１０３に格納され、また、判断部１１１に出力される。
【００９４】
判断部１１１は、故障候補抽出部１０９から故障候補データＣＡＮを受け取り、レイアウト部１３５からレイアウトデータＬＡＹを受け取る。そして、まず、判断部１１１の構造抽出部１２３が、故障候補データＣＡＮ及びレイアウトデータＬＡＹを参照して、セル間接続構造の抽出処理を行う（ステップＳ２２１）。以下、ステップＳ２２１について詳しく説明する。
【００９５】
まず、複数種の構造Ｘ１〜ＸＫ（Ｋは１以上の整数）ごとの故障発生率Ｒ１〜ＲＫを示すデータが用意される。複数種の構造Ｘｋ（ｋは１以上Ｋ以下の整数）として、拡散領域、ゲートポリ配線、コンタクト、ビア、メタル配線などが挙げられる。例えば、図１８には、８種類の構造に対する故障発生率Ｒ１〜Ｒ８を示すデータが概念的に表されている。このデータは、過去の実績から統計的に求められる。例えば、テストにより不良品と判定されたサンプル数を母数として、不良の原因となった故障が上記各構造のうちどれに含まれるかが調査されればよい。このような故障発生率Ｒｋを示すデータは、記憶部１０３に予め格納されている。
【００９６】
次に、等価故障群Ｇｉに構造Ｘｋがどれだけ含まれているかを示すパラメータＳｋ，ｉが算出される。図１９には、図１８に示された構造に対するパラメータＳ１，ｉ〜Ｓ８，ｉが示されている。例えば、パラメータＳ１，ｉは、等価故障群Ｇｉに含まれる拡散層の面積である。パラメータＳ２，ｉは、等価故障群Ｇｉに含まれるゲートポリ配線の長さである。パラメータＳ３，ｉは、等価故障群Ｇｉに含まれるコンタクトの個数である。パラメータＳ４，ｉは、等価故障群Ｇｉに含まれる第１メタル配線の長さの合計である。例えば、等価故障群Ｇｉに含まれる各ノードのうち第１メタルで構成されている長さがＬｉ１，Ｌｉ２…ＬｉＪｉであるとき、パラメータＳ４，ｉは、次の式（８）で表される。
【００９７】
【数８】
0004711801.tif 000009
【００９８】
このようにして、構造抽出部１２３は、図１９に示されるようなパラメータＳｋ，ｉを示す構造データを作成する。次に、判断部１１１の故障解析容易性評価部１１９は、上記構造データを参照しながら、故障解析容易性Ｍの算出を行う（ステップＳ２０９）。本実施の形態によれば、ある等価故障群Ｇｉに関する確率Ｐｉは、上述のパラメータＳｋ，ｉに基づいて算出される。具体的には、確率Ｐｉは、次の式（９）によって算出される。
【００９９】
【数９】
0004711801.tif 000010
【０１００】
上記式（９）中のＳｋ，ａｌｌは、全ての等価故障群Ｇｉに対するパラメータＳｋ，ｉの合計であり、次の式（１０）で表される。
【０１０１】
【数１０】
0004711801.tif 000011
【０１０２】
上記式（９）の分子には、パラメータＳｋ，ｉと図１８に示された故障発生率Ｒｋとの積が現れている。その積が各構造Ｘｋに関して求められた後、全ての構造Ｘ１〜ＸＫに対する積の和が算出されている。本実施の形態によれば、判断部１１１は、その和に依存する量を、等価故障群Ｇｉに関する上記確率Ｐｉとして算出している。尚、上述のＳｋ，ａｌｌの代わりに、集積回路全体に含まれる構造Ｘｋの量の合計が用いられてもよい。
【０１０３】
続いて、既出の式（４）に基づいてパラメータＤｉが算出され、既出の式（３）に基づいてパラメータＭ（故障解析容易性）が算出される。その後、判断部１１１の挿入位置決定部１２１は、第１の実施の形態と同様の手法で、観測ポイントが挿入される位置（対象ノード）を決定する（ステップＳ２１１）。そして、観測ポイント挿入部１１３も、第１の実施の形態と同様に、ネットリストＮＥＴに観測ポイントを挿入し、ネットリストＮＥＴを更新する。また、観測ポイント挿入部１１３は、記憶部１０３に格納されたレイアウトデータＬＡＹにも観測ポイントを挿入し、レイアウトデータＬＡＹを更新する（ステップＳ２１３）。ステップＳ２１５を経て、全ての観測ポイントの挿入が完了した後、完成したレイアウトデータＬＡＹは、出力部１１７から出力される（ステップＳ２１９）。
【０１０４】
本実施の形態によれば、第１の実施の形態と同様の効果が得られる。すなわち、より少ない観測ポイント数で故障解析を容易化することが可能となる。更に、追加的な効果として、算出される故障解析容易性Ｍの精度が高くなるという効果が得られる。それは、確率Ｐｉが算出される際に、セル間の距離の影響だけでなく、セル間を接続する配線に含まれるビアやコンタクトの数などの影響も考慮されるからである。例えば、セル間の距離が同じであっても、そのセル間の配線が経由するビアの数は多い場合と少ない場合がある。そして、ビアの数の多少によって、故障が発生する確率も変化する。第１の実施形態では、故障解析容易性Ｍがセル間距離だけで評価されるので、ビアの数による故障発生率の変化を考慮することが出来ない。一方、本実施形態によれば、より故障が発生しやすい、多数のビアが含まれる配線に対して、優先的に観測ポイントを挿入することが可能となる。
【０１０５】
４．第４の実施の形態
本発明の第４の実施の形態によれば、１つの対象ノードに複数の観測ポイントが挿入される。第４の実施の形態は、既出の第１〜第３の実施の形態と併用することが可能である。既出の実施の形態と重複する説明は、適宜省略される。
【０１０６】
集積回路の中には数ｍｍ程度の長い配線長をもつノードも存在する。よって、故障ノードが特定されたとしても、その故障ノードの配線中のどこに故障の原因が存在するかを特定することが困難となる場合も多い。そこで、本実施形態において、観測ポイント挿入部１１３は、配線長が特に大きい対象ノードには複数の観測ポイントを挿入する。１つの対象ノードに挿入される観測ポイントの数は、例えば、その対象ノードの配線長に応じた数に設定される。あるいは、観測ポイント間の配線長が所定のリミット値を超えないように、観測ポイントが挿入されていってもよい。
【０１０７】
図２０Ａ〜図２０Ｃは、本実施の形態による観測ポイントの挿入処理（ステップＳ２１３）の一例を概念的に示している。まず、セル群（ＮＡＮＤ素子９０１、ＮＯＲ素子９０３）が、図２０Ａに示されるように配置されるとする。そして、ＮＡＮＤ素子９０１の出力が、ＮＯＲ素子９０３の入力に接続されるとする。これらセル間に２個の観測ポイント９０５が挿入されると、図２０Ｂに示される配置が得られる。図２０Ｂに示されるように、観測ポイント９０５は、なるべく等間隔で配置されることが好ましい。これにより、故障箇所の絞込みがより容易になる。更に、セル間の配線処理が行われると、図２０Ｃに示されるレイアウトが得られる。
【０１０８】
本実施の形態によれば、既出の実施の形態と同様の効果が得られる。更に、配線長が長く、配線内で故障箇所を特定することが困難な場合においても、複数の観測ポイントを設けることにより、故障の発見を容易にすることが可能となる。
【０１０９】
５．第５の実施形態
図２１は、第５の実施の形態に係る回路設計システム（故障解析容易化設計システム）の構成を示すブロック図である。本実施の形態に係る回路設計システムは、入力部１０１、記憶部１０３、回路配置部１０５、セル間距離抽出部１０７、故障候補抽出部１０９、判断部１１１、観測ポイント挿入部１１３、回路配線部１１５、出力部１１７、及び診断木作成部１２５を備えている。図２１において、第１の実施の形態における構成と同様の構成には同一の符号が付されており、重複する説明は適宜省略される。
【０１１０】
第５の実施の形態と第１の実施の形態との間で異なる点は、診断木作成部１２５が更に付け加えられていることである。診断木作成部１２５は、複数種のテストパタンを用いることによって、回路の「診断木」を作成する。作成された診断木を示す診断木データＤＩＡＧは、故障候補抽出部１０９に供給される。本実施の形態において、故障候補抽出部１０９は、その診断木データＤＩＡＧが示す診断木を参照することによって、ネットリストＮＥＴから等価故障群Ｇｉを抽出する。
【０１１１】
図２２は、本実施の形態に係る回路設計方法を示すフローチャートである。図２２に示されるフローチャート及び図２１に示された構成を参照しながら、本実施の形態に係る処理を更に詳しく説明する。尚、第１の実施の形態における処理と同様の処理に関する説明は、適宜省略される。
【０１１２】
まず、ネットリストＮＥＴが入力され、記憶部１０３に格納される（ステップＳ２０１）。また、回路のテストパタンが、診断木作成部１２５に入力される（ステップＳ２２３）。次に、診断木作成部１２５は、ネットリストＮＥＴと入力されるテストパタンから回路の診断木を作成する（ステップＳ２２５）。「診断木」とは、回路内に存在する全故障候補について、各テストベクトルでの検出・非検出の組み合わせをツリー構造で表現したものである。
【０１１３】
図２３には、診断木の一例が示されている。図２３に示される診断木の根には８個の故障候補ａ〜ｈが含まれている。この診断木には、テストベクトルｔ１によって、３個の故障ａ〜ｃが検出されるが、他の故障ｄ〜ｈは検出されないことが表されている。同様に、テストベクトルｔ２によって、３個の故障ａ，ｂ，ｄのみが検出され、他の故障は検出されないことが表現されている。よって、これらテストパタンｔ１、ｔ２によって故障箇所が特定されるのは、故障ｃとｄのみであることが分かる。故障ａ，ｂのいずれかに真の故障があった場合、故障箇所を特定することはできないので、故障ａ，ｂは等価故障となる。また、故障ｅ，ｆ，ｇ，ｈも同様に等価故障となる。
【０１１４】
このような診断木を示す診断木データＤＩＡＧが診断木作成部１２５によって作成される。次に、ステップＳ２０３において、故障候補抽出部１０９は、診断木データＤＩＡＧを参照することによって等価故障群Ｇ１〜ＧＩを抽出する。具体的には、図２３に示されたような診断木において、二つ以上の故障が含まれる「葉」が探索される。１つの葉に複数の故障が含まれる場合、外部からの測定では故障箇所を特定することはできない。つまり、それら複数の故障が等価故障群となる。このようにして、故障候補抽出部１０９は、等価故障群を抽出し、故障候補データＣＡＮを生成する。
【０１１５】
これ以降の手順は、第１の実施形態における手順と同じである。尚、本実施の形態を、第２〜第４の実施の形態と併用することも可能である。
【０１１６】
本実施の形態によれば、既出の実施の形態と同様の効果が得られる。更に、次のような効果が得られる。例えば図５に示されるように、ある等価故障群に含まれる故障ノードは、同じ等価故障群に含まれる別の故障ノードと、１個の素子を隔てて隣接している。結果として、故障ノード群は塊状に配置されている。しかし、遅延の削減等のために冗長回路が使われていると、同じ等価故障群に属する故障ノードでも隣接して配置されない場合がある。回路図から等価故障を抽出する方法では、隣接配置されていない等価故障を見つけることはできず、観測ポイントを挿入することも出来ない。これに対し本実施の形態によれば、診断木を用いることにより、隣接配置されていない等価故障をも見つけることが可能になる。そのような等価故障群に観測ポイントを挿入することで、故障解析をより容易化することが可能になる。
【０１１７】
尚、観測ポイント挿入位置の良し悪しはテストパタンにより変化する。故障をより細かく分解できるテストパタンを用いたほうが、故障解析容易性はより向上する。一般的に、選別に用いられるテストパタンに関しては、テスト時間短縮のためにパタン長が圧縮されており、故障分解能はそれほど高くない。パタン長を変えずに故障分解能を向上させる方法が、次の文献に紹介されている（Kohei Miyase and Seiji Kajihara, "XID: Don't Care Identification of Test Patterns for Combinational Circuits", IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 23, NO. 2, 2004）。このような方法でテストパタンの故障分解能を向上させるのも良い方法である。
【０１１８】
６．第６の実施形態
本発明の第６の実施の形態において、回路の設計は、フィジカル・シンセシス手法に基づいて行われる。つまり、フィジカル・シンセシス設計においても、回路に観測ポイントを挿入し故障解析を容易化することが可能になる。
【０１１９】
図２４は、第６の実施の形態に係る回路設計システム（故障解析容易化設計システム）の構成を示すブロック図である。この回路設計システムは、入力部１０１、記憶部１０３、回路配置部１０５、セル間距離抽出部１０７、故障候補抽出部１０９、判断部１１１、観測ポイント挿入部１１３、回路配線部１１５、出力部１１７、論理合成部１２７、及び遅延見積もり部１２９を備えている。図２４において、第１の実施の形態における構成と同様の構成には同一の符号が付されており、重複する説明は適宜省略される。
【０１２０】
この回路設計システムの入力は、回路の論理・機能を示すＲＴＬ記述である。ＲＴＬ記述は、ＨＤＬ（Hardware Description Language）で記述されている。入力部１０１により入力されたＲＴＬ記述は、論理合成部１２７に供給される。論理合成部１２７は、ＲＴＬ記述を論理合成することによってネットリストＮＥＴを作成し、そのネットリストＮＥＴを記憶部１０３に格納する。また、回路配置部１０５は、論理合成部１２７による論理合成の直後に、セル群の配置を行う。遅延見積もり部１２９は、セル間の距離情報から信号伝搬に要する時間を見積もる。見積もられた遅延時間を示す遅延時間データＤＬＹは、論理合成部１２７にフィードバックされる。そして、その遅延時間データＤＬＹは、論理合成により生成された回路が所望の遅延時間の範囲内で動作するか否かを検証するために用いられる。
【０１２１】
図２５は、本実施の形態に係る回路設計方法を示すフローチャートである。図２５に示されるフローチャート及び図２４に示された構成を参照しながら、本実施の形態に係る処理を更に詳しく説明する。尚、第１の実施の形態における処理と同様の処理に関する説明は、適宜省略される。
【０１２２】
まず、ＨＤＬで記述されたＲＴＬ記述（ＨＤＬソース）が入力される（ステップＳ２２７）。次に、論理合成部１２７は、そのＲＴＬ記述の論理合成を行う（ステップＳ２２９）。ここで、一般的にフィジカル・シンセシス手法がそうであるように、回路全体の論理合成は一度に行われない。１個ないし少数の回路素子の論理合成がなされた後、処理は次のステップＳ２０５（セル配置処理）に移る。このように、回路の一部のＲＴＬ記述を論理合成することによって得られるネットリストは、以下、「部分ネットリストＮＥＴ」と参照される。論理合成部１２７は、作成された部分ネットリストＮＥＴを回路配置部１０５に出力し、また、記憶部１０３に格納する。
【０１２３】
次に、回路配置部１０５は、部分ネットリストＮＥＴを参照し、上記一部の回路に含まれるセル群の配置を行う（ステップＳ２０５）。これにより、そのセル群の配置を示す配置データＡＲＲが生成され、記憶部１０３に格納される。その後、第１の実施の形態と同様に、セル間距離抽出部１０７は、配置データＡＲＲに基づいてセル間距離を抽出し、セル間距離データＤＩＳを生成する（ステップＳ２０７）。また、故障候補抽出部１０９は、部分ネットリストＮＥＴを参照して等価故障群Ｇｉを抽出し、故障候補データＣＡＮを生成する（ステップＳ２０３）。
【０１２４】
次に、判断部１１１の故障解析容易性評価部１１９は、上述の式（１）、（３）、（４）に基づいて確率Ｐｉ、パラメータＤｉ、及びパラメータＭを算出する（ステップＳ２０９）。パラメータＤｉは、等価故障群の各々の故障解析容易性を示し、パラメータＭは、全ての等価故障群の故障解析容易性の合計を示している。配線長Ｌｉｊは、第１の実施の形態と同様に、セル間距離データＤＩＳに基づいて概算される。一方、この時点では全ての回路の論理合成が完了していないため、式（１）に現れるＬａｌｌは確定していない。この長さＬａｌｌは、例えば、チップサイズ、メタル配線層の数及び配線幅といったパラメータから概算され得る。それらパラメータと長さＬａｌｌとの間には、概ね一意の関係が存在すると考えられる。チップサイズやメタル配線の層数が大きいとＬａｌｌは大きくなる。配線幅が狭くなってもＬａｌｌは大きくなる。そのため、過去に設計完了した製品から上記パラメータとＬａｌｌとの関係が予め分かっていれば、外挿によりＬａｌｌを求めることが可能である。あるいは、一度フィジカル・シンセシスを用いない通常の論理合成と配置配線が行われ、その結果からＬａｌｌが求められてもよい。ただし、最終的な観測ポイントの挿入数は、次のステップＳ２３１で調整可能なので、ここで求められるＬａｌｌの精度は低くても良い。
【０１２５】
次に、挿入位置決定部１２１は、各等価故障群Ｇｉに関して観測ポイントを挿入するか否かの判断を行う（ステップＳ２３１）。この判断は、上記ステップＳ２０９で求められたパラメータＤｉが所定のしきい値を超えているか否かに基づいてなされる。パラメータＤｉがしきい値を超えている場合（ステップＳ２３１；Ｙｅｓ）、第１の実施の形態と同様に、挿入位置決定部１２１は、観測ポイントが挿入される位置を決定し（ステップＳ２１１）、観測ポイント挿入部１１３は、決定された位置に観測ポイントを挿入する（ステップＳ２１３）。パラメータＤｉがしきい値を超えていない場合（ステップＳ２３１；Ｎｏ）、処理はステップＳ２３３に進む。
【０１２６】
上述のしきい値も、何らかの方法で事前に概算しておく必要がある。その概算のため、一度フィジカル・シンセシスを用いない通常の論理合成が行われてもよい。その後、第１の実施形態と同様に、セル群の配置が行われ、各等価故障群Ｇｉに対するパラメータＤｉが求められる。ここで、仮に挿入される観測ポイントの数がｎ個であるとする。この時、パラメータＤｉが大きい順にｎ個の等価故障群が抽出され、ｎ個のパラメータＤｉのうち最小値がしきい値に設定されればよい。また、最適なしきい値は、チップサイズ、メタル配線の層数及び配線幅と一意の関係になると推測されるので、過去に設計完了した製品のデータを用いた外挿により概算されてもよい。ただし、観測ポイントの挿入数は、故障解析容易性のほか、チップ面積や動作速度に与える影響も考慮して決定する必要があるので、しきい値の最適値はある程度試行錯誤して求める必要があると推測される。
【０１２７】
次に、遅延見積もり部１２９は、セル間距離データＤＩＳに基づいて信号の遅延時間を見積もり、見積もられた遅延時間を示す遅延時間データＤＬＹを生成する（ステップＳ２３３）。この機能は、フィジカル・シンセシス手法で回路設計を行うソフトウェアには標準的に含まれている機能であり、その詳しい説明は省略される。但し、ステップＳ２１３で観測ポイントが挿入された場合には、観測ポイント自体の負荷が遅延時間に与える影響も考慮する必要がある。
【０１２８】
次に、全てのＨＤＬソースの合成が完了したか否かの判断が行われる（ステップＳ２３５）。論理合成がなされていない回路の部分が存在する場合（ステップＳ２３５；Ｎｏ）、処理は上述のステップＳ２２９に戻る。ここで、上記ステップＳ２３３で生成された遅延時間データＤＬＹが、論理合成部１２７にフィードバックされる。論理合成部１２７は、論理合成処理時に、遅延時間データＤＬＹで示される遅延時間が所望の範囲に収まるか否か検証する。
【０１２９】
全てのＨＤＬソースの合成が完了すると（ステップＳ２３５；Ｙｅｓ）、回路配線部１１５は、ネットリストＮＥＴ及び配置データＡＲＲに基づいて配線処理を行う（ステップＳ２１７）。これにより生成されるレイアウトデータＬＡＹが、出力部１１７から出力される（ステップＳ２１９）。
【０１３０】
尚、本実施の形態に係る概念は、既出の実施の形態と併用可能である。
【０１３１】
このように、本発明に係る回路設計システムは、上記非特許文献２に記載されたフィジカル・シンセシス手法に基づいた回路設計にも適用され得る。比較として、上記非特許文献１に開示された技術によれば、回路内部の全ノードに観測ポイントが一旦挿入された後、観測ポイントが適宜除去されていく。従って、観測ポイントが挿入されるネットリストは、論理合成が全て完了したネットリストに限られる。よって、その従来技術を、論理合成とセル配置が同時に行われるフィジカル・シンセシス手法と併用することはできない。一方、本発明によれば、観測ポイントが挿入されるネットリストは、論理合成が全て完了したネットリストに限られない。一部だけ論理合成が行われたネットリストに対しても観測ポイントを挿入することが可能である。
【０１３２】
７．回路設計プログラム
上記実施の形態に係る回路設計システムは、コンピュータ上で実現される。コンピュータ上での回路設計システムは、当業者により適宜構成され得る。図２６には、そのシステム構成の一例が示されている。図２６に示される回路設計システム１は、演算処理装置２、主記憶装置３、入力装置４、出力装置５、通信装置６、補助記憶装置７を備えている。また、回路設計システム１は、演算処理装置２によって実行されるコンピュータプログラムである回路設計プログラム１０を含んでいる。
【０１３３】
主記憶装置３としてＲＡＭが例示される。主記憶装置３は上述の記憶部１０３に対応しており、この主記憶装置３にはネットリストＮＥＴやレイアウトデータＬＡＹが格納される。入力装置４としては、キーボードやマウスが例示される。入力装置４は上述の入力部１０１に対応しており、ユーザは、この入力装置４を用いることによってネットリストＮＥＴの入力やデータの編集を行うことができる。出力装置５としては、ディスプレイやプリンタが例示される。出力装置５は上述の出力部１１７に対応しており、レイアウトデータＬＡＹで示されるレイアウトは、ディスプレイに表示されたり、プリンタから出力されたりする。通信装置６としてはネットワークインターフェースカードが例示される。この通信装置６を介して、別のコンピュータシステムとの間でデータがやりとりされてもよい。補助記憶装置７として、光磁気ディスクや磁気テープが例示される。データ入出力は、この補助記憶装置７に対して行われてもよい。
【０１３４】
回路設計プログラム１０は、コンピュータが読み取り可能な記録媒体に記録されている。その回路設計プログラム１０は、既出の実施の形態で示された回路設計処理をコンピュータに実行させる。
【０１３５】
８．まとめ
本発明に係る回路設計システム及び回路設計プログラムによれば、観測ポイントが挿入される位置が最適化される。そのため、挿入される観測ポイント数が少なくても、故障解析の容易性が向上する。つまり、より少ない観測ポイントで、効率よく故障解析を容易化することが可能となる。また、本発明をフィジカル・シンセシス設計手法に適用することも可能である。すなわち、フィジカル・シンセシス設計手法の場合であっても、観測ポイントを挿入することにより、故障解析の容易化を実現することが可能となる。
【０１３６】
本発明は、例えば、半導体集積回路のうちＣＭＯＳ論理回路の故障解析容易性を向上させるために用いられる。また、バイポーラ、ＮＭＯＳ、化合物半導体素子等で構成された論理回路の場合にも、本発明を適用することが可能である。更に、本発明は、半導体集積回路以外にも、配線層の多層化が近年著しいプリント配線板の故障解析容易性を向上させるために用いられてもよい。更に、本発明は、光スイッチ素子を用いた光論理回路など、あらゆる種類の論理回路の故障解析容易化に適用され得る。
【図面の簡単な説明】
【０１３７】
【図１】図１は、従来の回路設計システムの構成を示すブロック図である。
【図２】図２は、一般的なフィジカル・シンセシス設計手法を示すフローチャートである。
【図３】図３は、本発明の第１の実施形態に係る回路設計システムの構成を示すブロック図である。
【図４】図４は、第１の実施の形態に係る回路設計方法を示すフローチャートである。
【図５】図５は、等価故障群を説明するための図である。
【図６】図６は、観測ポイントが挿入される位置を決定する方法を説明するための回路図である。
【図７】図７は、図６に示された回路に観測ポイントが挿入された際の故障解析容易性の変化を示す表である。
【図８】図８は、観測ポイントが挿入される位置を決定する方法を説明するための他の回路図である。
【図９】図９は、図８に示された回路に観測ポイントが挿入された際の故障解析容易性の変化を示す表である。
【図１０】図１０は、観測ポイントが挿入される位置を決定する方法を説明するための更に他の回路図である。
【図１１】図１１は、図１０に示された回路に観測ポイントが挿入された際の故障解析容易性の変化を示す表である。
【図１２】図１２は、回路内部の電位を外部に出力する方法の一例を説明するための回路図である。
【図１３】図１３は、挿入される観測ポイントの数と故障解析容易性Ｍとの関係を示すグラフである。
【図１４】図１４は、本発明の第２の実施形態に係る回路設計システムの構成を示すブロック図である。
【図１５】図１５は、第２の実施形態に係る回路設計方法を示すフローチャートである。
【図１６】図１６は、本発明の第３の実施形態に係る回路設計システムの構成を示すブロック図である。
【図１７】図１７は、第３の実施形態に係る回路設計方法を示すフローチャートである。
【図１８】図１８は、集積回路を構成する要素ごとに求められた故障発生確率を示す表である。
【図１９】図１９は、各等価故障群に図１８で示された構造がどれだけ含まれているかを示す表である。
【図２０Ａ】図２０Ａは、本発明の第４の実施形態に係る処理を説明するための回路図である。
【図２０Ｂ】図２０Ｂは、第４の実施形態に係る処理を説明するための回路図である。
【図２０Ｃ】図２０Ｃは、第４の実施形態に係る処理を説明するための回路図である。
【図２１】図２１は、本発明の第５の実施形態に係る回路設計システムの構成を示すブロック図である。
【図２２】図２２は、第５の実施形態に係る回路設計方法を示すフローチャートである。
【図２３】図２３は、回路の診断木の例を示す模式図である。
【図２４】図２４は、本発明の第６の実施形態に係る回路設計システムの構成を示すブロック図である。
【図２５】図２５は、第６の実施形態に係る回路設計方法を示すフローチャートである。
【図２６】図２６は、本発明に係る回路設計システムの一例を示すブロック図である。
【符号の説明】
【０１３８】
１  回路設計システム
２  演算処理装置
３  主記憶装置
４  入力装置
５  出力装置
６  通信装置
７  補助記憶装置
１０  回路設計プログラム
１０１  入力部
１０３  記憶部
１０５  回路配置部
１０７  セル間距離抽出部
１０９  故障候補抽出部
１１１  判断部
１１３  観測ポイント挿入部
１１５  回路配線部
１１７  出力部
１１９  故障解析容易性評価部
１２１  挿入位置決定部
１２３  構造抽出部
１２５  診断木作成部
１２７  論理合成部
１２９  遅延見積もり部
１３５  レイアウト部
３０１  ＮＯＲ素子
３０３  ＮＡＮＤ素子
３０５，３０７，３０９，３１１，３１３  ノード
４０１  入力端子
４０３  インバータ素子
４０５  出力端子
４０７  観測ポイント挿入位置
８０１  ＮＡＮＤ素子
８０３  ゲート素子
８０５  回路
８０７  マルチプレクサ
８０９  Ｄフリップフロップ
８１１  出力端子
９０１  ＮＡＮＤ素子
９０３  ＮＯＲ素子
９０５  観測ポイント
ＡＲＲ  配置データ
ＣＡＮ  故障候補データ
ＤＩＡＧ  診断木データ
ＤＩＳ  セル間距離データ
ＤＬＹ  遅延時間データ
ＬＡＹ  レイアウトデータ
ＮＥＴ  ネットリスト
ＰＮＴ  観測ポイント挿入位置データ
【図１】
0004711801.tif 000012
【図２】
0004711801.tif 000013
【図３】
0004711801.tif 000014
【図４】
0004711801.tif 000015
【図５】
0004711801.tif 000016
【図６】
0004711801.tif 000017
【図７】
0004711801.tif 000018
【図８】
0004711801.tif 000019
【図９】
0004711801.tif 000020
【図１０】
0004711801.tif 000021
【図１１】
0004711801.tif 000022
【図１２】
0004711801.tif 000023
【図１３】
0004711801.tif 000024
【図１４】
0004711801.tif 000025
【図１５】
0004711801.tif 000026
【図１６】
0004711801.tif 000027
【図１７】
0004711801.tif 000028
【図１８】
0004711801.tif 000029
【図１９】
0004711801.tif 000030
【図２０Ａ】
0004711801.tif 000031
【図２０Ｂ】
0004711801.tif 000032
【図２０Ｃ】
0004711801.tif 000033
【図２１】
0004711801.tif 000034
【図２２】
0004711801.tif 000035
【図２３】
0004711801.tif 000036
【図２４】
0004711801.tif 000037
【図２５】
0004711801.tif 000038
【図２６】
0004711801.tif 000039