(57)【要約】【課題】クリティカルパス（セットアップ遅延マージンが小さい回路領域）に観測ポイントを配置する。【解決手段】集積回路の故障解析を実行するときの解析容易性改善効果の高い部分を観測点位置として特定する観測点特定部を備える回路設計支援装置を構成する。その回路設計支援装置は、前記観測点位置に関する情報に基づいて、前記観測点位置に配置される素子を、故障解析装置による前記故障解析を適切に行うことが可能な解析対象素子に置換する素子置換実行部を具備する。【選択図】図４
2010205145.tif 000002
【特許請求の範囲】
【請求項１】
集積回路の故障解析を実行するときの解析容易性改善効果の高い部分を観測点位置として特定する観測点特定部と、
前記観測点位置に関する情報に基づいて、前記観測点位置に配置される素子を、故障解析装置による前記故障解析を適切に行うことが可能な解析対象素子に置換する素子置換実行部と
を具備する
回路設計支援装置。
【請求項２】
請求項１に記載の回路設計支援装置において、
前記素子置換実行部は、
ネットリストに示される集積回路のタイミング解析を行うタイミング解析部と、
前記タイミング解析部が前記タイミング解析を実行した実行結果と前記ネットリストとに基づいて前記集積回路の遅延を計算する遅延計算部と、
前記集積回路の素子のうち、前記観測点位置に配置される微細素子を、置換候補素子として特定する置換素子決定部と、
前記ネットリストを更新して新たなネットリストを構成する素子置換部と
を備え、
前記遅延計算部は、
前記集積回路に配置される前記素子を前記解析対象素子に置換したときの遅延変動を算出し、
前記置換素子決定部は、
前記置換候補素子を前記解析対象素子に置換したときの前記遅延変動が、予め設定されたタイミングマージンの範囲内のとき、前記置換候補素子を前記解析対象素子に置き換えるように、前記素子置換部に指示を出し、
前記素子置換部は、
前記置換素子決定部からの前記指示に応答して、前記置換候補素子を前記解析対象素子に置き換えて前記新たなネットリストを構成する
回路設計支援装置。
【請求項３】
請求項２に記載の回路設計支援装置において、
前記置換素子決定部は、
前記遅延変動が、予め設定されたタイミングマージンの範囲を超えるとき、前記置換候補素子の前記解析対象素子への置換を禁止する
回路設計支援装置。
【請求項４】
請求項３に記載の回路設計支援装置において、
前記置換素子決定部は、
前記観測点位置に前記置換候補素子が複数個含まれるときに、前記複数個の前記置換候補素子の少なくとも１つを前記解析対象素子に置換したときの前記遅延変動が、予め設定されたタイミングマージンの範囲内のとき、前記置換候補素子を前記解析対象素子に置き換えるように、前記素子置換部に指示を出す
回路設計支援装置。
【請求項５】
請求項２から４の何れか１項に記載の回路設計支援装置において、さらに、
前記ネットリストに基づいて素子レイアウトデータを生成する素子配置部を備え、
前記タイミング解析部は、
前記ネットリストと前記素子レイアウトデータとに基づいて構成される集積回路のタイミング解析を実行する
回路設計支援装置。
【請求項６】
請求項２から５の何れか１項に記載の回路設計支援装置において、さらに、
配線レイアウトを実行する配線部を備え、
前記配線部は、
前記ネットリストと、前記素子レイアウトデータとに基づいて構成される集積回路の配線レイアウトを決定し、
前記観測点特定部は、
前記配線部によって構成された前記配線レイアウトを参照し、前記ネットリストと前記素子レイアウトデータと前記配線レイアウトに基づいて前記解析容易性効果を高い部分を前記観測点位置として特定する
回路設計支援装置。
【請求項７】
請求項２から６の何れか１項に記載の回路設計支援装置において、
前記素子置換実行部は、さらに、置換候補素子抽出部を備え、
前記置換候補素子抽出部は、
前記タイミング解析部が出力するセットアップ・タイミング違反の経路を示すタイミング違反経路情報と、前記遅延計算部が出力する素子置換による遅延変動の情報とに基づいて、
前記セットアップ・タイミング違反の経路上に存在し、かつ、素子サイズを増大させることにより前記セットアップ・タイミング違反を解消または軽減できる素子を特定置換候補素子として抽出し、前記抽出された前記特定置換候補素子の一覧を含む特定置換候補素子情報を、前記素子置換決定部に供給し、
前記置換素子決定部は、
前記特定置換候補素子を前記解析対象素子に置換したときの前記遅延変動が、予め設定されたタイミングマージンの範囲内のとき、前記特定置換候補素子を前記解析対象素子に置き換えるように、前記素子置換部に指示を出す
回路設計支援装置。
【請求項８】
請求項２から７の何れか１項に記載の回路設計支援装置において、さらに、素子移動部を含み、
前記素子移動部は、
前記置換候補素子と隣接する素子と、前記解析対象素子とに重なりが発生する場合に、前記解析対象素子を、空き領域に移動する
回路設計支援装置。
【請求項９】
請求項８に記載の回路設計支援装置において、
前記素子移動部は、
前記解析対象素子と前記空き領域との距離が、規定値を超える場合には、前記解析対象素子を置換前の置換候補素子に戻す
回路設計支援装置。
【請求項１０】
請求項１から９の何れか１項に記載の回路設計支援装置において、
前記観測点特定部は、
回路中で外部測定では故障箇所の特定ができない部分である等価故障群Ｇ１〜ＧＩ（Ｉは、１以上の整数）を前記ネットリストから抽出し、前記等価故障群Ｇｉ（ｉ＝１〜Ｉ）に含まれるネット数がＪｉ（ｉ＝１〜Ｉ）であり、前記等価故障群Ｇｉに故障が含まれる確率がＰｉ（ｉ＝１〜Ｉ）であるとき、
前記等価故障群Ｇｉに対するパラメータＤｉ（ｉ＝１〜Ｉ）が、次式：
Ｄｉ＝Ｊｉ・Ｐｉ
で定義され、前記パラメータＤｉの和が解析困難度Ｍと定義され、観測点挿入による前記解析困難度Ｍの減少率が前記解析容易性改善効果と定義されるとき、
前記解析容易性改善効果に基づいて、前記観測点を挿入する位置を前記観測点位置とする
回路設計支援装置。
【請求項１１】
請求項１０に記載の回路設計支援装置において、
前記観測点特定部は、
前記等価故障群Ｇｉに故障が含まれる前記確率Ｐｉを、
前記等価故障群Ｇｉに含まれる配線の総延長、前記配線に隣接する隣接配線と前記配線との距離、前記配線と前記隣接配線との並走距離、および、前記等価故障群Ｇｉに含まれるビア数の少なくとも１つに基づいて算出する
回路設計支援装置。
【請求項１２】
集積回路の故障解析を実行するときの解析容易性改善効果の高い部分を観測点位置として特定する観測点特定ステップと、
前記観測点位置に関する情報に基づいて、前記観測点位置に配置される素子を、故障解析装置による前記故障解析を適切に行うことが可能な解析対象素子に置換する素子置換実行ステップと
を具備し、
前記素子置換実行ステップは、
（ａ）ネットリストに示される集積回路のタイミング解析を行なうステップと、
（ｂ）前記タイミング解析を実行した実行結果と前記ネットリストとに基づいて前記集積回路の遅延を計算するステップと、
（ｃ）前記集積回路の素子のうち、前記観測点位置に配置される微細素子を、置換候補素子として特定するステップと、
（ｄ）前記ネットリストを更新して新たなネットリストを構成するステップと
を備え、
前記（ｂ）ステップは、
前記集積回路に配置される前記素子を前記解析対象素子に置換したときの遅延変動を算出するステップを含み、
前記（ｃ）ステップは、
前記置換候補素子を前記解析対象素子に置換したときの前記遅延変動が、予め設定されたタイミングマージンの範囲内のとき、前記置換候補素子を前記解析対象素子に置き換えるように、前記素子置換部に指示を出すステップを含み、
前記（ｄ）ステップは、
前記置換素子決定部からの前記指示に応答して、前記置換候補素子を前記解析対象素子に置き換えて前記新たなネットリストを構成するステップを含む
回路設計支援方法。
【請求項１３】
請求項１２に記載の回路設計支援方法において、
前記（ｃ）ステップは、
前記遅延変動が、予め設定されたタイミングマージンの範囲を超えるとき、前記置換候補素子の前記解析対象素子への置換を禁止するステップを含む
回路設計支援方法。
【請求項１４】
請求項１３に記載の回路設計支援方法において、
前記（ｃ）ステップは、
前記観測点位置に前記置換候補素子が複数個含まれるときに、前記複数個の前記置換候補素子の少なくとも１つを前記解析対象素子に置換したときの前記遅延変動が、予め設定されたタイミングマージンの範囲内のとき、前記置換候補素子を前記解析対象素子に置き換えるように、前記素子置換部に指示を出すステップを含む
回路設計支援方法。
【請求項１５】
請求項１２から１４の何れか１項に記載の回路設計支援方法において、さらに、
前記ネットリストに基づいて素子レイアウトデータを生成する素子配置部を備え、
前記タイミング解析部は、
前記ネットリストと前記素子レイアウトデータとに基づいて構成される集積回路のタイミング解析を実行する
回路設計支援方法。
【請求項１６】
請求項１２から１５の何れか１項に記載の回路設計支援方法において、さらに、
前記ネットリストと、前記素子レイアウトデータとに基づいて構成される集積回路の配線レイアウトを決定するは配線レイアウト実行ステップを含み、
前記観測点特定ステップは、
前記配線レイアウト実行ステップによって構成された前記配線レイアウトを参照し、前記ネットリストと前記素子レイアウトデータと前記配線レイアウトに基づいて前記解析容易性効果を高い部分を前記観測点位置として特定するステップを含む
回路設計支援方法。
【請求項１７】
請求項１２から１６の何れか１項に記載の回路設計支援方法において、
前記素子置換実行ステップは、さらに、
（ｅ）置換候補素子を抽出するステップを備え、
前記（ｅ）ステップは、
前記タイミング解析部が出力するセットアップ・タイミング違反の経路を示すタイミング違反経路情報と、前記遅延計算部が出力する素子置換による遅延変動の情報とに基づいて、前記セットアップ・タイミング違反の経路上に存在し、かつ、素子サイズを増大させることにより前記セットアップ・タイミング違反を解消または軽減できる素子を特定置換候補素子として抽出するステップと、
前記抽出された前記特定置換候補素子の一覧を含む特定置換候補素子情報を、前記素子置換決定部に供給するステップ
を含み、
前記（ｃ）ステップは、
前記特定置換候補素子を前記解析対象素子に置換したときの前記遅延変動が、予め設定されたタイミングマージンの範囲内のとき、前記特定置換候補素子を前記解析対象素子に置き換えるように、前記素子置換部に指示を出すステップを含む
回路設計支援方法。
【請求項１８】
請求項１２から１７の何れか１項に記載の回路設計支援方法において、さらに、
前記置換候補素子と隣接する素子と、前記解析対象素子とに重なりが発生する場合に、前記解析対象素子を、空き領域に移動する素子移動ステップを含む
回路設計支援方法。
【請求項１９】
請求項１８に記載の回路設計支援方法において、
前記素子移動ステップは、
前記解析対象素子と前記空き領域との距離が、規定値を超える場合には、前記解析対象素子を置換前の置換候補素子に戻すステップを含む
回路設計支援方法。
【請求項２０】
コンピュータを集積回路の設計を支援する回路設計支援装置として機能させるための手順を示す回路設計支援プログラムであって、
前記回路設計支援プログラムは、前記コンピュータを、
集積回路の故障解析を実行するときの解析容易性改善効果の高い部分を観測点位置として特定する観測点特定手段として機能させる観測点特定ステップと、
前記観測点位置に関する情報に基づいて、前記観測点位置に配置される素子を、故障解析装置による前記故障解析を適切に行うことが可能な解析対象素子に置換する素子置換実行手段として機能させる素子置換実行ステップと
を具備し、
前記素子置換実行ステップは、
（ａ）タイミング解析手段がネットリストに示される集積回路のタイミング解析を行うステップと、
（ｂ）遅延計算手段が、前記タイミング解析手段が前記タイミング解析を実行した実行結果と前記ネットリストとに基づいて前記集積回路の遅延を計算するステップと、
（ｃ）置換素子決定手段が、前記集積回路の素子のうち、前記観測点位置に配置される微細素子を、置換候補素子として特定するステップと、
（ｄ）素子置換手段が、前記ネットリストを更新して新たなネットリストを構成するステップと
を備え、
前記（ｂ）ステップは、
前記遅延計算手段が、前記集積回路に配置される前記素子を前記解析対象素子に置換したときの遅延変動を算出するステップを含み、
前記（ｃ）ステップは、
前記置換素子決定手段が、前記置換候補素子を前記解析対象素子に置換したときの前記遅延変動が、予め設定されたタイミングマージンの範囲内のとき、前記置換候補素子を前記解析対象素子に置き換えるように、前記素子置換手段に指示を出すステップを含み、
前記（ｄ）ステップは
前記素子置換手段が、前記置換素子決定手段からの前記指示に応答して、前記置換候補素子を前記解析対象素子に置き換えて前記新たなネットリストを構成するステップを含む
回路設計支援プログラム。
【請求項２１】
請求項２０に記載の回路設計支援プログラムにおいて、
前記（ｃ）ステップは、
前記置換素子決定手段が、前記遅延変動が、予め設定されたタイミングマージンの範囲を超えるとき、前記置換候補素子の前記解析対象素子への置換を禁止するステップを含む
回路設計支援プログラム。
【請求項２２】
請求項２１に記載の回路設計支援プログラムにおいて、
前記（ｃ）ステップは、
前記置換素子決定手段が、前記観測点位置に前記置換候補素子が複数個含まれるときに、前記複数個の前記置換候補素子の少なくとも１つを前記解析対象素子に置換したときの前記遅延変動を参照するステップと、
前記参照によって得られた前記遅延変動が、予め設定されたタイミングマージンの範囲内のとき、前記置換候補素子を前記解析対象素子に置き換えるように、前記素子置換手段に指示を出すステップを含む
回路設計支援プログラム。
【請求項２３】
請求項２０から２２の何れか１項に記載の回路設計支援プログラムにおいて、さらに、
前記コンピュータを、前記ネットリストに基づいて素子レイアウトデータを生成する素子配置手段として機能させるための素子配置ステップを備え、
前記（ａ）ステップは、
タイミング解析手段が、前記ネットリストと前記素子レイアウトデータとに基づいて構成される集積回路のタイミング解析を実行するステップを含む
回路設計支援プログラム。
【請求項２４】
請求項２０から２３の何れか１項に記載の回路設計支援プログラムにおいて、さらに、
前記コンピュータを、配線レイアウトを実行する配線手段として機能させる配線レイアウトステップを備え、
前記配線レイアウトステップは、
前記配線手段が、前記ネットリストと、前記素子レイアウトデータとに基づいて構成される集積回路の配線レイアウトを決定するステップを含み、
前記観測点特定ステップは、
前記観測点特定手段が、前記配線手段によって構成された前記配線レイアウトを参照するステップと
前記ネットリストと前記素子レイアウトデータと前記配線レイアウトに基づいて前記解析容易性効果を高い手段分を前記観測点位置として特定するステップとを含む
回路設計支援プログラム。
【請求項２５】
請求項２０から２４の何れか１項に記載の回路設計支援プログラムにおいて、
前記素子置換実行ステップは、
（ｅ）前記素子置換実行手段が、さらに、置換候補素子抽出手段を備えるステップを含み、
前記（ｅ）ステップは、
前記置換候補素子抽出手段が、
前記タイミング解析手段が出力するセットアップ・タイミング違反の経路を示すタイミング違反経路情報と、前記遅延計算手段が出力する素子置換による遅延変動の情報とに基づいて、前記セットアップ・タイミング違反の経路上に存在し、かつ、素子サイズを増大させることにより前記セットアップ・タイミング違反を解消または軽減できる素子を特定置換候補素子として抽出するステップと、
前記抽出された前記特定置換候補素子の一覧を含む特定置換候補素子情報を、前記素子置換決定手段に供給するステップと
を含み、
前記（ｃ）ステップは、
前記置換素子決定手段が、前記特定置換候補素子を前記解析対象素子に置換したときの前記遅延変動が、予め設定されたタイミングマージンの範囲内のとき、前記特定置換候補素子を前記解析対象素子に置き換えるように、前記素子置換手段に指示を出すステップを含む
回路設計支援プログラム。
【請求項２６】
請求項２０から２５の何れか１項に記載の回路設計支援プログラムにおいて、さらに、
前記コンピュータを、素子移動手段として機能させる素子移動ステップを含み、
前記素子移動ステップは、
前記素子移動手段が、前記置換候補素子と隣接する素子と、前記解析対象素子とに重なりが発生する場合に、前記解析対象素子を、空き領域に移動するステップを含む
回路設計支援プログラム。
【請求項２７】
請求項２６に記載の回路設計支援プログラムにおいて、
前記素子移動ステップは、
前記素子移動手段が、前記解析対象素子と前記空き領域との距離が、規定値を超える場合には、前記解析対象素子を置換前の置換候補素子に戻すステップを含む
回路設計支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、論理回路設計に用いられる回路設計支援装置、回路設計支援方法及び回路設計支援プログラムに関し、特に、故障解析に用いられる回路設計支援装置、回路設計支援方法及び回路設計支援プログラム（ＣＡＤプログラム）に関する。
【背景技術】
【０００２】
一般的な半導体集積回路の製造工程では、生産された集積回路に一定の割合で不良品が含まれるため、テスト工程で不良品が除去され良品のみが出荷される。このときの良品率は「歩留まり」と呼ばれる。歩留まりが低いと、製造原価が上昇して収益が圧迫される。そこで、故障解析（ｆａｉｌｕｒｅ  ａｎａｌｙｓｉｓ）により故障の原因を明らかにし、製造工程を改善することにより歩留まりを向上させる必要がある（例えば、特許文献１参照）。
【０００３】
特許文献１には、信号電圧の振幅減少及び、素子サイズの縮小化への対応を可能とし、レーザ電圧プローブによる電位波形の測定を容易化する技術が開示されている。特許文献１の技術では、電子波形の観測対象領域とＬＶＰ測定用素子を接続し、ＬＶＰ測定用素子をレーザ照射位置としてＬＶＰ測定を行うことで、電位波形を測定している。このとき、ＬＶＰ測定用素子は、ＭＯＳキャパシタ構造を有し、そのドレイン拡散領域とソース拡散領域には、メタル配線により観測領域の電位波形が印加されている。また、ゲートには観測領域と逆論理の電位波形が印加されている。それによって、ＬＶＰ測定用素子のチャネル面のバンドギャップは、観測領域の論理遷移に伴って変化し、これによりフランツ・ケルディッシュ効果が発生し光吸収率が変化する様子がＬＶＰ測定により観測されている。
【０００４】
しかしながら、回路の集積度が増大するにつれ、その故障解析は困難になってきている。例えば、電子ビーム装置による電位波形測定（ＥＢ測定）は、配線層数が８層前後まで増加している現状では、測定したい配線が露出していない場合が多いため困難である。また、レーザ電圧プローブ測定法（以下、ＬＶＰ（Ｌａｓｅｒ  Ｖｏｌｔａｇｅ  Ｐｒｏｂｅ）と参照される）は、チップ裏面からのレーザ照射により電位波形を測定する手法であり、配線層数が多くても利用可能である。しかし、分解能の不足により、９０ｎｍ世代以降では全てのトランジスタを測定することは不可能である。
【０００５】
また、集積回路内部の電位波形を測定する方法として、次の方法も挙げられる。すなわち、ＦＩＢ（収束イオンビーム）装置によって配線露出加工が実施された後、ＥＢ測定が行われる。ただし、この方法は非常に多くの作業時間を要する。そのため、まず故障診断ソフトウェアにより故障箇所のおおよその目安をつけ、その結果に基づいて測定により故障箇所を特定する必要がある。ここで、故障診断ソフトウェアは、集積回路の回路図とテスト結果をもとに、故障箇所の“推測”を行うソフトウェアである。また、その推測によって抽出される故障箇所は、「故障候補」と呼ばれている。
【０００６】
ここで、所望の回路の構造によっては、上記故障診断ソフトウェアにより推測される「故障候補」の数が非常に多くなる場合がある。どの故障候補が真の故障かを確認するための測定が必要であり、その測定においては、上述の通りＦＩＢ装置による配線露出加工が行われる。そのため、故障候補の数が多くなるにつれ測定時間が長くなり、故障解析に要する作業時間は増大してしまう。
【０００７】
非特許文献１には、少ない観測ポイントで故障解析の容易性を向上させるための観測ポイント選択方法が説明されている。その方法によれば、まず、ゲートレベルの回路接続情報（ネットリスト）を参照することにより、回路内部の全ノードに観測ポイントが挿入される。次に、外部からの観測では場所を特定することができない故障（等価故障）の数Ｎｐが算出される。この時点では、回路内の全ノードが観測可能なので、Ｎｐは０である。次に、観測ポイントが除去されてもＮｐが増大しないノードや、観測ポイントの除去によるＮｐの増大量が小さいノードから、観測ポイントが除去される。すなわち、Ｎｐの増大を最小限に抑えながら観測ポイントが除去される。これにより、少ない観測ポイント数で故障解析容易性が向上することが期待される。
【０００８】
非特許文献１によれば、観測ポイントの挿入位置が決定される際、回路のネットリストだけが用いられており、ノード毎の故障発生確率が考慮されていない。そのため、故障発生確率が低いノードに対して観測ポイントが無駄に挿入される可能性がある。より少ない観測ポイントで効率よく故障解析を容易化することができる回路設計システムに関する技術が知られている（例えば、特許文献２参照）。
【０００９】
特許文献２では、記憶部１０３と、故障候補抽出部１０９と、判断部１１１と、観測ポイント挿入部１１３とを備える回路設計システムが開示されている。図１は、特許文献２に開示される回路設計システムの構成を示すブロック図である。図１を参照すると、記憶部１０３には、ネットリストＮＥＴが格納される。故障候補抽出部１０９は、そのネットリストＮＥＴから等価故障群Ｇ１〜ＧＩ（Ｉは、１以上の整数）を抽出し、その等価故障群Ｇｉ（ｉは１以上Ｉ以下の整数）を示す故障候補データＣＡＮを生成する。
【００１０】
等価故障群Ｇｉには、複数のノードＮｉ１〜ＮｉＪｉ（Ｊｉは等価故障群Ｇｉに含まれるノード数）が含まれる。判断部１１１は、複数のノードＮｉ１〜ＮｉＪｉから、故障解析に用いられる観測ポイントが挿入される対象ノードを決定する。ここで、判断部１１１は、ノード数Ｊｉに基づいて対象ノードを決定する。観測ポイント挿入部１１３は、その対象ノードに１つ以上の観測ポイントを挿入することによって、ネットリストＮＥＴを更新する。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００６−１３３１２２号公報
【特許文献２】特開２００７−１２２４２２号公報
【非特許文献】
【００１２】
【非特許文献１】Irith  Pomeranz,  Srikanth  Venkataraman,  and  Sudhakar  M.Reddy、  「Z-DFD:  Design-for-Diagnosability  based  on  the  concept  of  z-detection」、  International  Test  Conference  2004  講演予稿集、２００４年１１月．
【発明の概要】
【発明が解決しようとする課題】
【００１３】
従来の回路設計システムにおいて、判断部は、複数のノードＮｉ１〜ＮｉＪｉから、故障解析に用いられる少なくとも１つの観測ポイントが挿入される対象ノードを決定する。観測ポイント挿入部は、その対象ノードに少なくとも１つの観測ポイントを挿入することによって、ネットリストを更新している。図２は、特許文献２に記載の回路設計システムによって設計された回路のレイアウトを示すレイアウト図である。図２に示されているように、その回路には、観測ポイントにレーザ電圧プローブ測定法で解析可能な素子（以下、ＬＶＰ＿ＰＡＤと記載する場合も有る。）を新たに追加挿入している。しかしながら、クリティカルパス（最大遅延パス）に観測ポイントが挿入されると、遅延の増大によって回路全体の動作速度が低下する場合がある。このことが問題になる場合、従来の技術では、このとき、クリティカルパス（最大遅延パス）に該当しない箇所に選択的に、ＬＶＰ＿ＰＡＤを挿入している。
【課題を解決するための手段】
【００１４】
以下に、［発明を実施するための形態］で使用される番号を用いて、［課題を解決するための手段］を説明する。これらの番号は、［特許請求の範囲］の記載と［発明を実施するための形態］との対応関係を明らかにするために付加されたものである。ただし、それらの番号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１５】
上記の課題を解決するために、集積回路の故障解析を実行するときの解析容易性改善効果の高い部分を観測点位置として特定する観測点特定部と、前記観測点位置に関する情報に基づいて、前記観測点位置に配置される素子を、故障解析装置による前記故障解析を適切に行うことが可能な解析対象素子に置換する素子置換実行部とを具備する回路設計支援装置を構成する。その素子置換実行部の作用によって、元々の回路の観測点位置に含まれる素子が、故障解析装置では解析困難な微細化素子の場合、その素子をトランジスタサイズの大きいものに置換する。
【発明の効果】
【００１６】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、クリティカルパス（セットアップ遅延マージンが小さい回路領域）に観測ポイントを配置することが可能となる。
【図面の簡単な説明】
【００１７】
【図１】図１は、従来の回路設計システムの構成を示すブロック図である。
【図２】図２は、従来の回路設計システムによって設計された回路のレイアウトを示すレイアウト図である。
【図３】図３は、第１実施形態の回路設計支援装置１の構成を例示するブロック図である。
【図４】図４は、第１実施形態の回路設計支援装置１の接続関係を例示するブロック図である。
【図５Ａ】図５Ａは、第１実施形態の回路設計支援機能ブロック２４の具体的な動作の前半部分を例示するフローチャートである。
【図５Ｂ】図５Ｂは、第１実施形態の回路設計支援機能ブロック２４の具体的な動作の後半部分を例示するフローチャートである。
【図６】図６は、回路設計支援装置１で設計される集積回路１３の構成を例示する回路図である。
【図７】図７は、第２実施形態の回路設計支援装置１の構成を例示するブロック図である。
【図８】図８は、第２実施形態の回路設計支援装置１の接続関係を例示するブロック図である。
【図９Ａ】図９Ａは、第２実施形態の回路設計支援機能ブロック２４の具体的な動作の前半部分を例示するフローチャートである。
【図９Ｂ】図９Ｂは、第２実施形態の回路設計支援機能ブロック２４の具体的な動作の後半部分を例示するフローチャートである。
【図１０】図１０は、第３実施形態の回路設計支援装置１の構成を例示するブロック図である。
【図１１】図１１は、第３実施形態の回路設計支援装置１の接続関係を例示するブロック図である。
【図１２Ａ】図１２Ａは、第３実施形態の回路設計支援機能ブロック２４の具体的な動作の前半部分を例示するフローチャートである。
【図１２Ｂ】図１２Ｂは、第３実施形態の回路設計支援機能ブロック２４の具体的な動作の後半部分を例示するフローチャートである。
【図１３】図１３は、第３実施形態の素子移動部４２の動作を概念的に例示する平面図である。
【発明を実施するための形態】
【００１８】
［第１実施形態］
以下、本発明の実施の形態を図面に基づいて説明する。なお、実施の形態を説明するための図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００１９】
図３は、本実施形態の回路設計支援装置１の構成を例示するブロック図である。回路設計支援装置１は、情報処理装置２と、入力装置３と、出力装置４とを含んでいる。情報処理装置２は、入力装置３と出力装置４とに接続されている。情報処理装置２は、コンピュータプログラムに示される手順に従って動作し、高速に情報処理を行う装置である。情報処理装置２は、入力、記憶、演算、制御および出力の５つの基本機能を備えている。入力装置３は、情報処理装置２へデータを入力するマンマシンインターフェースである。出力装置４は、情報処理装置２の処理結果を外部に出力するマンマシンインターフェースである。
【００２０】
情報処理装置２は、ＣＰＵ（中央演算処理装置）５と、メモリ６と、大容量記憶領域（ＨＤＤ）７とを備え、それらは、バス８を介して接続されている。情報処理装置２は、ＣＰＵ（中央演算処理装置）５と、メモリ６と、大容量記憶領域（ＨＤＤ）７とを含み、それらはバス８を介して接続されている。ＣＰＵ（中央演算処理装置）５は、情報処理装置２に備えられた各種装置の制御やデータの処理を行う。ＣＰＵ（中央演算処理装置）５は、入力装置３などから受け取ったデータを解釈して演算し、結果を出力装置などで出力する。メモリ６は、ＲＡＭなどに代表されるデータを記憶する記憶装置である。メモリ６は、ＣＰＵ（中央演算処理装置）５が演算処理を実行するときに使用される。大容量記憶領域（ＨＤＤ）７は、ＨＤＤ（ハードディスクドライブ）に代表される記憶装置であり、本実施形態に関連する情報やデータを記憶している。
【００２１】
大容量記憶領域（ＨＤＤ）７は、データ記憶領域１１と、プログラム記憶領域１２とを備えている。データ記憶領域１１は、ネットリスト２１と、素子レイアウトデータ２２と、ライブラリ２３とを格納することが可能なように構成されている。プログラム記憶領域１２は、素子配置部３１と、故障確率算出部３２と、故障抽出部３３と、解析容易性評価部３４と、タイミング解析部３５と、遅延計算部３６と、置換素子決定部３７と、素子置換部３８と、配線部３９とを格納することが可能なように構成されている。
【００２２】
以下に、図面を参照して、本実施形態を構成する各機能ブロックの接続関係について説明を行う。図４は、本実施形態の回路設計支援装置１の接続関係を例示するブロック図である。回路設計支援装置１は、回路設計支援機能ブロック２４と、その回路設計支援機能ブロック２４の前段に設けられた入力部２７と、その回路設計支援機能ブロック２４の後段に設けられた出力部２８とを含んでいる。また、本実施形態の回路設計支援装置１において、出力部２８と回路設計支援機能ブロック２４との間には、配線部３９が設けられている。
【００２３】
また、回路設計支援機能ブロック２４は、観測点特定部２５と、素子置換実行部２６とを含んでいる。観測点特定部２５は、ネットリスト２１と素子レイアウトデータ２２とに基づいて、観測点挿入による解析容易性改善効果が高い回路素子を選出する。その観測点特定部２５は、故障確率算出部３２と、故障抽出部３３と、解析容易性評価部３４とを含んでいる。
【００２４】
素子置換実行部２６は、ネットリスト２１と素子レイアウトデータ２２とに基づいて、解析装置による解析が困難な回路素子を、解析可能な回路素子に置換する。その素子置換実行部２６は、タイミング解析部３５と、遅延計算部３６と、置換素子決定部３７と、素子置換部３８とを含んでいる。
【００２５】
図４を参照すると、回路設計支援機能ブロック２４の素子配置部３１は、ネットリスト２１の読み出しが可能なように構成されている。素子配置部３１は、を読み出したネットリスト２１に基づいて、素子配置処理を実行して、その実行結果である素子レイアウトデータ２２を生成する。素子配置部３１は、データ記憶領域１１に格納されたネットリストを参照し、設計対象の回路に含まれるセル群の配置を行う。そして、素子配置部３１は、そのセル群の配置を示す素子レイアウトデータ２２を生成する。素子レイアウトデータ２２は、データ記憶領域１１に格納され、また、素子レイアウトデータ２２は、セル間距離抽出部（図示されず）に出力される。セル間距離抽出部（図示されず）は、受け取った素子レイアウトデータ２２が示すセル群の配置を基に、セル間の距離情報を抽出・算出する。そして、セル間距離抽出部（図示されず）は、得られたセル間距離を示すセル間距離データを生成する。そのセル間距離データは、観測点特定部２５に出力される。
【００２６】
故障確率算出部３２は、解析容易性評価部３４に接続されている。また、故障確率算出部３２は、素子レイアウトデータ２２の読み出しが可能なように構成されている。故障確率算出部３２は、その算出した故障確率を解析容易性評価部３４に供給する。
【００２７】
故障抽出部３３は、解析容易性評価部３４に接続されている。また、故障抽出部３３は、ネットリスト２１の読み出しが可能なように構成されている。故障抽出部３３は、等価故障を解析容易性評価部３４に供給する。故障抽出部３３は、ネットリストを参照して所望の回路中の「故障候補群」を抽出し、その故障候補群を示す故障候補データを生成する。ここで、故障候補とは、外部からの測定では場所を特定できない故障を意味し、故障診断ソフトウェアを用いてもその故障箇所を特定することはできない。場所を特定できない故障の集合である故障候補群は、「等価故障群、あるいは等価故障集合（ｅｑｕｉｖａｌｅｎｔ  ｆａｕｌｔ  ｃｌａｓｓ）」と参照される場合もある。故障抽出部３３は、ネットリストから等価故障群を抽出し、その等価故障群を示す故障候補データを生成するとも言える。その故障候補データは、解析容易性評価部３４に出力される。
【００２８】
故障候補群の各々は、複数のノードを含んでいる。故障解析に用いられる観測ポイントは、その複数のノードのうち少なくとも１つのノード（以下、「対象ノード」と参照される）に挿入される。その対象ノードを決定するのが、観測点特定部２５である。観測点特定部２５は、故障候補データとセル間距離データを受け取る。そして、観測点特定部２５は、故障候補データで示される等価故障群に含まれる複数のノードのうち、どのノードに少なくとも１つの観測ポイントが挿入されるべきかを判断する。ここで、本実施の形態によれば、観測点特定部２５は、セル間距離抽出部（図示されず）によって生成されたセル間距離データを参照しながら、少なくとも１つの対象ノードを選択・決定する。
【００２９】
より詳細には、観測点特定部２５は、解析容易性評価部３４を含んでいる。解析容易性評価部３４は、素子置換実行部２６の置換素子決定部３７に接続されている。解析容易性評価部３４は、故障確率算出部３２と故障抽出部３３とから供給される情報に基づいて、解析容易性を評価し、観測点挿入により解析容易性の改善効果が高い回路素子を選出する。また、解析容易性評価部３４は、セル間距離データが示すセル間距離を参照することにより、等価故障群に含まれる複数のノードの「故障解析容易性」を算出・評価する。
【００３０】
このようにして、観測点特定部２５は、少なくとも１つの対象ノードを決定し、その決定された対象ノードを示す観測ポイント挿入位置データを生成する。その観測ポイント挿入位置データは、素子置換実行部２６に出力される。素子置換実行部２６の置換素子決定部３７は、得られた故障解析容易性に基づいて、複数のノードから対象ノードを選択・決定する。素子置換実行部２６は、データ記憶領域１１に格納されたネットリストを参照し、回路に含まれる対象ノードに少なくとも１つの観測ポイントを置換する。これにより、素子置換実行部２６は、データ記憶領域１１に格納されたネットリストを更新する。
【００３１】
タイミング解析部３５は、ネットリスト２１と素子レイアウトデータ２２を読み出すことが可能なように構成されている。タイミング解析部３５は、読み出したネットリスト２１と素子レイアウトデータ２２とに基づいて、タイミング解析を実行する。また、タイミング解析部３５は、遅延計算部３６と置換素子決定部３７とに接続されている。タイミング解析部３５は、タイミング解析の実行結果を、遅延計算部３６または置換素子決定部３７に供給する。
【００３２】
遅延計算部３６は、置換素子決定部３７に接続されている。遅延計算部３６は、ネットリスト２１を読み出すことが可能なように構成されている。遅延計算部３６は、読み出したネットリスト２１と、寄生容量や波形鈍りに関する情報に基づいて、遅延変動を計算する。
【００３３】
置換素子決定部３７は、素子置換部３８に接続されている。置換素子決定部３７は、遅延計算部３６から供給される遅延変動に関する情報と、タイミング解析部３５から供給されるクリティカルパス、タイミングマージン、タイミング違反経路などに関する情報と、解析容易性評価部３４から供給される解析容易性の改善効果が高い回路素子に関する情報を受け取る。
【００３４】
置換素子決定部３７は、解析容易性の改善効果が高い回路素子（置換候補素子）を、解析可能な大きさの回路素子（解析対象素子）に置換した場合の遅延変動を、遅延計算部３６から受け取った情報を参照して抽出する。素子置換処理を実行したときの遅延変動が、タイミングマージンの範囲内にある場合、置換素子決定部３７は、素子置換部３８に素子置換指示情報を供給する。
【００３５】
素子置換部３８は、置換素子決定部３７から受け取った素子置換指示情報に基づいて、ネットリスト２１に対して実際に置換処理を実行する。素子配置部３１は、置換処理を実行した後の新たなネットリスト２１に対して、素子配置処理を実行し、新たに素子レイアウトデータ２２を生成する。
【００３６】
回路設計支援機能ブロック２４は、その新たなネットリスト２１と新たな素子レイアウトデータ２２を配線部３９に供給する。配線部３９は、その新たなネットリスト２１と新たな素子レイアウトデータ２２に対して、配線処理を実行し、配線レイアウトを構成する。
【００３７】
必要に応じて、上述の処理が繰り返される。必要な観測ポイントの置換処理が終了すると、配線部３９は、データ記憶領域１１からネットリスト２１と素子レイアウトデータ２２を読み出す。そして、配線部３９は、ネネットリスト２１及び素子レイアウトデータ２２に基づいて、回路の配線、すなわち、セル間の配線を決定する。これにより、回路のレイアウトを示す配線レイアウトデータが作成される。作成された配線レイアウトデータは、出力部２８から出力される。
【００３８】
以下に、本実施形態の回路設計支援機能ブロック２４の動作について、説明を行う。図５Ａは、第１実施形態の回路設計支援機能ブロック２４の具体的な動作の前半部分を例示するフローチャートである。図５Ｂは、第１実施形態の回路設計支援機能ブロック２４の具体的な動作の後半部分を例示するフローチャートである。ステップＳ１０１において、回路設計支援機能ブロック２４の素子配置部３１は、データ記憶領域１１からネットリスト２１を読み出して素子配置処理を実行する。素子配置部３１は、その実行結果である素子レイアウトデータ２２を生成して、データ記憶領域１１に格納する。
【００３９】
ステップＳ１０２において、観測点特定部２５の故障確率算出部３２は、読み出した素子レイアウトデータ２２に基づいて、回路の故障確率をネットごとに算出する。また、故障抽出部３３は、読み出したネットリスト２１に基づいて、等価故障を抽出する。そして、解析容易性評価部３４は、等価故障数が多く、且つ、故障確率が高いネットを、故障解析困難と判断し、解析容易性を評価する。解析容易性評価部３４は、評価した解析容易性に基づいて、観測点挿入により解析容易性の改善効果が高い回路素子（以下、置換候補素子と記載する場合もある）を選出する。
【００４０】
ステップＳ１０３において、タイミング解析部３５は、タイミング解析を実行する。タイミング解析部３５は、そのタイミング解析によって、寄生容量、波形鈍り、クリティカルパス、タイミングマージン、タイミング違反経路などに関する情報を得る。タイミング解析部３５は、寄生容量や波形鈍りに関する情報を、遅延計算部３６に供給する。また、タイミング解析部３５は、クリティカルパス、タイミングマージン、タイミング違反経路などに関する情報を置換素子決定部３７に供給する。
【００４１】
ステップＳ１０４において、遅延計算部３６は、ネットリスト２１に示される、解析装置による解析が困難な、微細な回路素子を、解析可能な大面積回路素子に置換した場合の、遅延変動を計算する。このとき、遅延計算部３６は、ネットリスト２１に含まれる全ての微細な回路素子に対し、大面積回路素子（以下、解析対象素子と記載する場合もある）に置換した場合の遅延変動を、各々について計算する。遅延計算部３６は、計算によって得られた遅延変動に関する情報を置換素子決定部３７に供給する。
【００４２】
ステップＳ１０５において、置換素子決定部３７は、観測点特定部２５の解析容易性評価部３４から供給される情報に基づいて、置換候補素子を特定する。置換素子決定部３７は、置換候補素子を解析対象素子に置換した場合の遅延変動を、遅延計算部３６からの情報に基づいて求める。
【００４３】
ステップＳ１０６において、置換素子決定部３７は、特定した置換候補素子を解析対象素子に置換したときの遅延変動が、タイミング解析部３５から供給されるタイミングマージンに収まっているかの否かの判断を実行する。その判断の結果、タイミングマージンの範囲内の収まっているときは、処理はステップＳ１０７に進み、特定した置換候補素子を解析対象素子に置換させるための指示情報（置換指示情報）を生成する。また、タイミングマージンの範囲内の収まっていないときは、処理はステップＳ１０８に進む。このとき、タイミングマージンの範囲内の収まっていない素子を記録し、その素子に対する置換処理を動的に禁止しても良い。
【００４４】
ステップＳ１０８において、置換素子決定部３７は、解析容易性評価部３４から受け取った情報に基づいて全ての置換候補素子に対する検証が終了したか否かの判断を実行する。その判断の結果、検証が終了していない素子がある場合には、処理はステップＳ１１０に進み、新たな置換候補素子を特定した後、ステップＳ１０５に戻る。また、全ての置換候補素子に対する検証が終了している場合には、処理はステップＳ１０９に進む。
【００４５】
ステップＳ１０９において、素子置換部３８は、置換素子決定部３７が生成した置換指示情報を、受け取る。素子置換部３８は、その置換指示情報に基づいて、データ記憶領域１１に保持されているネットリスト２１に対し、置換処理の実行可能な置換候補素子を、解析対象素子に置換して新たなネットリスト２１とする。
【００４６】
図６は、本実施形態の回路設計支援装置１の効果を概念的に例示する回路図である。図６は、本実施形態の回路設計支援装置１によって設計される集積回路１３の部分を例示している。図６の（ａ）は、解析容易性に基づいて、観測ポイント１４に含まれる解析容易性の改善効果が高い回路素子（置換対象素子１５）を特定したときの状態を例示している。図６の（ｂ）は、その置換対象素子１５を、解析装置による解析が可能な大面積回路素子（解析対象素子１６）に置換したときの集積回路１３を例示している。
【００４７】
従来の技術のように、新たな解析用素子（ＬＶＰ＿ＰＡＤ）を挿入すると、回路の動作速度が低下する。そのため、セットアップ・タイミングマージンの小さいクリティカルパスに解析用素子（ＬＶＰ＿ＰＡＤ）を挿入するのが困難であった。図６の（ａ）、図６の（ｂ）に示されているように、本実施形態の回路設計支援装置１は、集積回路１３に新たな解析用素子（ＬＶＰ＿ＰＡＤ）を挿入するのではなく、置換対象素子１５を解析対象素子１６に置換する。トランジスタサイズの大きい素子に置換を行うと、多くの場合、回路動作が高速化する。これによって、集積回路１３のクリティカルパスにも解析対象素子１６を設けることが可能となる。
また、本実施形態の回路設計支援装置１は、新たな素子（ＬＶＰ＿ＰＡＤ）を追加するのではなく、トランジスタサイズの大きい素子に置換することによって、解析容易化を実現している。素子のトランジスタサイズが大きくなっているため、新たな素子（ＬＶＰ＿ＰＡＤ）の追加による新たなタイミング違反の発生を抑制することができる。
【００４８】
なお、上述の実施形態においては、本願発明の理解を容易にするために、観測ポイント１４に１つの置換対象素子１５が配置されている場合を例示している。本実施形態の回路設計支援装置１において、観測ポイント１４に複数の置換対象素子１５がある場合、その少なくとも１つを解析対象素子１６に置換することが好ましい。また、複数の置換対象素子１５が配置され、１つの置換対象素子１５を解析対象素子１６に置換した場合に、タイミング違反を発生させるとき、その二つ以上を置換することで、そのタイミング違反が解消する場合、複数の置換対象素子１５を解析対象素子１６に置換することが好ましい。
また、別の観測ポイント１４−１に置換対象素子１５−１が存在する場合で、観測ポイント１４に存在する１個の置換対象素子１５を解析対象素子１６に置換した場合にタイミング違反を発生させるとき、置換対象素子１５とともに置換対象素子１５−１を置換することでそのタイミング違反が解消する場合は、置換対象素子１５と置換対象素子１５−１の両方に対して置換を行うことが好ましい。
【００４９】
［第２実施形態］
以下に、本発明の回路設計支援装置１の第２実施形態について説明を行う。図７は、第２実施形態の回路設計支援装置１の構成を例示するブロック図である。第２実施形態の回路設計支援装置１は、特定置換候補素子決定部４１を備えている。特定置換候補素子決定部４１は、セットアップ・タイミング違反経路に存在する微細な回路素子のうち、解析対象素子に置換することによって、タイミング違反を解消または軽減するものを特定置換候補素子とする。
【００５０】
図８は、第２実施形態の回路設計支援装置１の接続関係を例示するブロック図である。図８に示されているように、特定置換候補素子決定部４１は、素子置換実行部２６に含まれるように配置される。特定置換候補素子決定部４１は、タイミング解析部３５と、遅延計算部３６と、置換素子決定部３７とに接続されている。特定置換候補素子決定部４１は、タイミング解析部３５からタイミング違反経路情報を受け取る。また、特定置換候補素子決定部４１は、遅延計算部３６から遅延変動に関する情報を受け取る。特定置換候補素子決定部４１は、タイミング違反経路情報と遅延変動に関する情報に基づいて、上述の特定置換候補素子を抽出する。
【００５１】
置換素子決定部３７は、その特定置換候補素子に関する情報（特定置換候補素子情報）を受け取り、セットアップ・タイミング違反経路と、解析容易性の改善効果が高い回路素子とに対する置換処理を実行する。
【００５２】
以下に、第２実施形態の回路設計支援装置１の回路設計支援機能ブロック２４の動作を説明する。図９Ａは、第２実施形態の回路設計支援機能ブロック２４の具体的な動作の前半部分を例示するフローチャートである。図９Ｂは、第２実施形態の回路設計支援機能ブロック２４の具体的な動作の後半部分を例示するフローチャートである。
【００５３】
ステップＳ１０１からステップＳ１０４までの動作は第１実施形態と同様である。ステップＳ２０１において、特定置換候補素子決定部４１は、タイミング解析部３５からタイミング違反経路情報を受け取り、また、遅延計算部３６から遅延変動に関する情報を受け取る。特定置換候補素子決定部４１は、タイミング違反経路情報に基づいて、セットアップ・タイミング違反経路に存在する微細な回路素子を抽出する。特定置換候補素子決定部４１は、抽出した回路素子のうち、解析対象素子に置換することによって、タイミング違反を解消、または、軽減するもの特定する。特定置換候補素子決定部４１は、特定した回路素子を、特定置換候補素子とし、それらの一覧を含む情報（特定置換候補素子情報）を生成する。
【００５４】
ステップＳ２０２において、置換素子決定部３７は、特定置換候補素子決定部４１から受け取った特定置換候補素子情報と、遅延計算部３６から受け取った遅延変動に関する情報に基づいて、特定置換候補素子を解析対象素子に置換した場合の遅延変動を求める。
【００５５】
ステップＳ２０３において、置換素子決定部３７は、特定置換候補素子を解析対象素子に置換したときの遅延変動が、タイミング解析部３５から供給されるタイミングマージンに収まっているかの否かの判断を実行する。その判断の結果、タイミングマージンの範囲内の収まっているときは、処理はステップＳ２０４に進み、特定置換候補素子を解析対象素子に置換させるための指示情報（置換指示情報）を生成する。また、タイミングマージンの範囲内の収まっていないときは、処理はステップＳ２０５に進む。
【００５６】
ステップＳ２０５において、置換素子決定部３７は、全ての特定置換候補素子に対する検証が終了したか否かの判断を実行する。その判断の結果、検証が終了していない素子がある場合には、処理はステップＳ２０６に進み、新たな特定置換候補素子を特定した後、ステップＳ２０２に戻る。また、全ての特定置換候補素子に対する検証が終了している場合には、特定置換候補素子に対する処理は終了する。
【００５７】
回路設計支援機能ブロック２４は、その後、特定置換候補素子以外で、解析容易性の改善効果が高い回路素子（置換候補素子）を、解析可能な大きさの回路素子（解析対象素子）に置換するための処理を行う。
【００５８】
第２実施形態の回路設計支援装置１は、セットアップ・タイミング違反を有する経路があった場合、そのタイミング違反の解消を行いつつ、解析容易性の改善効果が高い回路素子（置換候補素子）を、解析可能な大きさの回路素子（解析対象素子）に置換することが可能である。また、一般的な設計フローでは、タイミング違反を修正する場合、レイアウト技術者が違反経路上の素子を、解析容易性の改善効果に関わらず抽出している。そのため、解析容易性の改善効果の低い素子を選んでしまうことがあった。第２実施形態の回路設計支援装置１は、自動的に解析容易性の改善効果の高い素子と、タイミング違反経路上の素子とを照合してから選択することが可能である。これによって、作業の効率を向上させることが可能となり、集積回路の設計に係る時間やコストを低減させることができる。
【００５９】
［第３実施形態］
以下に、本発明の回路設計支援装置１の第３実施形態について説明を行う。図１０は、第３実施形態の回路設計支援装置１の構成を例示するブロック図である。第３実施形態の回路設計支援装置１は、第１実施形態の回路設計支援装置１に、さらに、素子移動部４２を備えている。素子移動部４２は、置換候補素子を解析対象素子に置換した後の素子レイアウトを検証する。
【００６０】
図１１は、第３実施形態の回路設計支援装置１の接続関係を例示するブロック図である。図１１に示されているように、素子移動部４２は、素子レイアウトデータ２２の読み出しが可能なように構成されている。具体的には、第３実施形態の素子移動部４２は、第１実施形態の動作を実行したことによって生成される、新たな素子レイアウトデータ２２を読み出す。その新たな素子レイアウトデータ２２に対し、素子の重なりが発見された場合、解析対象素子を移動させて、素子レイアウトデータ２２を修正する。
【００６１】
図１２Ａは、第３実施形態の回路設計支援機能ブロック２４の具体的な動作の前半部分を例示するフローチャートである。図１２Ｂは、第３実施形態の回路設計支援機能ブロック２４の具体的な動作の後半部分を例示するフローチャートである。第３実施形態の回路設計支援機能ブロック２４は、ステップＳ１０１〜ステップＳ１０８まで、第１実施形態の回路設計支援機能ブロック２４と同様に動作する。
【００６２】
ステップＳ３０１において、素子置換部３８は、置換素子決定部３７が生成した置換指示情報を受け取り、その置換指示情報に基づいて、データ記憶領域１１に保持されているネットリスト２１に対し、置換処理の実行可能な置換候補素子を、解析対象素子に置換して、新たなネットリスト２１とする。その新たなネットリスト２１に対し、素子配置部３１は、素子配置処理を実行する。素子配置部３１は、その実行結果である新たな素子レイアウトデータ２２を生成して、データ記憶領域１１に格納する。
【００６３】
ステップＳ３０２において、素子移動部４２は、データ記憶領域１１に保持されている新たな素子レイアウトデータ２２を読み出し、素子に重なりがあるか否かの判断を実行する。その判断の結果、重なりを発見した場合、処理はステップＳ３０３に進み、解析対象素子を移動させて重なりを解消する。また、その判断の結果、重なりがなかった場合には、処理は終了する。
【００６４】
図１３は、第３実施形態の素子移動部４２の動作を概念的に例示する平面図である。図１３の（ａ）は、集積回路１３における置換対象素子１５を特定時の状態を例示している。図１３の（ｂ）は、その置換対象素子１５を解析対象素子１６に置換したときの集積回路１３の状態を例示している。図１３の（ｃ）は、解析対象素子１６の移動が完了したときの集積回路１３の状態を例示している。
【００６５】
図１３の（ｂ）を参照すると、置換対象素子１５として特定された第１インバータＩＮＶ１を解析対象素子１６に置換したとき、重なり領域１７に重なりが発生している。素子移動部４２は、その重なり領域１７の重なりを解消するために、空き領域を探す。素子移動部４２は、見つけた空き領域に、その解析対象素子１６を移動させる。
【００６６】
第３実施形態の回路設計支援装置１は、素子置換によって素子の重なりが発生した場合に、その素子の重なりを解消することが可能である。これによって、正常に動作するように回路レイアウトを構成することができる。
【００６７】
さらに、第３実施形態の回路設計支援装置１において、素子移動部４２は、置換対象素子１５の移動距離が所定の値よりも大きい場合に、その解析対象素子１６を置換対象素子１５に戻し、かつ、元の位置に配置する機能を備えていても良い。
【００６８】
解析対象素子１６の移動距離が大きい場合に、配線長が長くなり、それによって寄生容量が増加することがある。その寄生容量の増加によって、回路の動作速度が遅くなると、タイミング違反が発生してしまう場合がある。素子移動部４２は、タイミング違反が発生する場合、その置換対象素子１５を解析対象素子１６に置換することなく、集積回路１３に配置する。
【００６９】
以下に、素子移動部４２が、置換した素子をもとに戻すか否かの判断に関する動作を例示する。素子移動部４２は、まず、素子の移動距離をＬ、配線の単位長あたりの寄生容量をＣｕｎｉｔとする。このとき、配線の寄生容量の増大分ＣＷＩＲＥは、次式となる。
ＣＷＩＲＥ＝Ｃｕｎｉｔ×Ｌ
そして、素子移動部４２は、寄生容量の増大分ＣＷＩＲＥが置換した素子の入出力ネットに追加された場合の遅延変動が、タイミングマージンを上回っている場合は，当該素子を置換前の座標・素子に戻す処理を行う。
【００７０】
遅延変動の計算は、遅延計算部３６で行っている計算と同様である。また、素子の移動距離Ｌの計算は、直線距離を利用するもの他に、マンハッタン距離を利用するものなどでもよい。素子の移動距離が大きいほど、寄生容量の増大分ＣＷＩＲＥも大きくなり、タイミング違反が発生しやすくなる。従って、素子置換のキャンセル処理が行われる可能性も高くなる。また、素子の移動によって、タイミング違反が発生する場合のみ、素子置換のキャンセル処理が行われる。そのため、素子移動によるタイミング違反の発生を回避する技術として有効である。
【００７１】
以上、本願発明の実施の形態を具体的に説明した。本願発明は上述の実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。また、上述の複数の実施形態は、その構成・動作に矛盾が生じない範囲において、組み合わせて実施することが可能である。
【符号の説明】
【００７２】
１…回路設計支援装置
２…情報処理装置
３…入力装置
４…出力装置
５…ＣＰＵ（中央演算処理装置）
６…メモリ
７…大容量記憶領域（ＨＤＤ）
８…バス
１１…データ記憶領域
１２…プログラム記憶領域
１３…集積回路
１４…観測ポイント
１５…置換対象素子
１６…解析対象素子
１７…重なり領域
２１…ネットリスト
２２…素子レイアウトデータ
２３…ライブラリ
２４…回路設計支援機能ブロック
２５…観測点特定部
２６…素子置換実行部
２７…入力部
２８…出力部
３１…素子配置部
３２…故障確率算出部
３３…故障抽出部
３４…解析容易性評価部
３５…タイミング解析部
３６…遅延計算部
３７…置換素子決定部
３８…素子置換部
３９…配線部
４１…特定置換候補素子決定部
４２…素子移動部
【図１】
2010205145.tif 000003
【図２】
2010205145.tif 000004
【図３】
2010205145.tif 000005
【図４】
2010205145.tif 000006
【図５Ａ】
2010205145.tif 000007
【図５Ｂ】
2010205145.tif 000008
【図６】
2010205145.tif 000009
【図７】
2010205145.tif 000010
【図８】
2010205145.tif 000011
【図９Ａ】
2010205145.tif 000012
【図９Ｂ】
2010205145.tif 000013
【図１０】
2010205145.tif 000014
【図１１】
2010205145.tif 000015
【図１２Ａ】
2010205145.tif 000016
【図１２Ｂ】
2010205145.tif 000017
【図１３】
2010205145.tif 000018