(57)【要約】【課題】解析精度に応じた適切な回路モデルの簡略化を可能とする。【解決手段】設計支援装置ＣＰは、検出手段３と削除手段４とを有する。検出手段３は、回路を表す回路モデル１ａに含まれる抵抗Ｒ１〜Ｒ６から、１つの端子以外の端子が開放されており、かつ抵抗値が閾値以下の抵抗Ｒ５を検出する。削除手段４は、回路モデル１ａから検出された抵抗Ｒ５を削除する。【選択図】図１
2014182430.tif 000002
【特許請求の範囲】
【請求項１】
回路を表す回路モデルに含まれる抵抗から、１つの端子以外の端子が開放されており、かつ抵抗値が閾値以下の抵抗を検出する検出手段と、
前記回路モデルから検出された該抵抗を削除する削除手段と、
を有する設計支援装置。
【請求項２】
前記回路モデルを用いた前記回路の動作シミュレーションにおける解析精度に基づいて、閾値を決定する決定手段をさらに有することを特徴とする請求項１記載の設計支援装置。
【請求項３】
前記決定手段は、解析精度が高いほど、閾値を低くすることを特徴とする請求項２記載の設計支援装置。
【請求項４】
前記決定手段は、前記回路モデルに含まれる１または複数の部分回路ごとに、部分回路の回路構成に応じた閾値を決定し、
前記検出手段は、１つの端子以外の端子が開放されている抵抗であり、かつ該抵抗を含む部分回路の閾値以下の抵抗値を有する抵抗を検出することを特徴とする請求項２または３のいずれかに記載の設計支援装置。
【請求項５】
前記回路の動作シミュレーションにおいて求められる解析精度に応じた係数が定義されており、
前記決定手段は、部分回路内の抵抗値に基づいて算出した値に前記係数を乗算し、乗算結果を該部分回路の閾値とすることを特徴とする請求項４記載の設計支援装置。
【請求項６】
前記決定手段は、部分回路について、１つの端子以外の端子が開放されているすべての抵抗を削除した状態で、並列または直列接続された複数の抵抗の合成抵抗値と、並列または直列接続されていない抵抗の抵抗値とを比較し、比較された合成抵抗値および抵抗値のうちの最大の値に、前記係数を乗算し、乗算結果を該部分回路の閾値とすることを特徴とする請求項５記載の設計支援装置。
【請求項７】
コンピュータが、
回路を表す回路モデルに含まれる抵抗から、１つの端子以外の端子が開放されており、かつ抵抗値が閾値以下の抵抗を検出し、
前記回路モデルから検出された該抵抗を削除する、
設計支援方法。
【請求項８】
コンピュータに、
回路を表す回路モデルに含まれる抵抗から、１つの端子以外の端子が開放されており、かつ抵抗値が閾値以下の抵抗を検出し、
前記回路モデルから検出された該抵抗を削除する、
処理を実行させる設計支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路の設計を支援する設計支援装置、設計支援プログラム、および設計支援方法に関する。
【背景技術】
【０００２】
電子回路の開発では、多くの場合、設計段階で回路の解析が行われる。回路解析として、例えばタイミング解析がある。タイミング解析では、回路の動作シミュレーションが行われ、要求されたタイミングで回路が動作するかどうかが確認される。タイミング解析を行うことで、例えば配線遅延によるタイミングエラーを見つけ出し、タイミングエラーが発生しないように回路を修正することができる。しかも、回路の規模が大きくなるほどタイミングの制約を満たす回路設計が難しくなる。そのため、タイミング解析により、タイミングエラーの発生の有無を確認することは重要である。例えばクロック周波数が数ＧＨｚを超えるような超高速ＬＳＩ（Large Scale Integration）内部で使用されるマクロにおいては、非常に精度の高いタイミング解析が求められる。ここでマクロとは、ＬＳＩの機能ごとにブロック化したときの、１ブロックの回路である。
【０００３】
回路のタイミング解析の手法としては、例えばＳＰＩＣＥ（Simulation Program with Integrated Circuit Emphasis）と呼ばれるソフトウェアを用いたシミュレーションによる解析が知られている。ＳＰＩＣＥなどのソフトウェアを用いたシミュレーションにより、高精度のタイミング解析が可能である。ただし、高精度のタイミング解析には非常に長い処理時間が必要であり、例えばある程度以上の巨大マクロについては、実用的な時間でタイミング解析を終えることは困難となる。
【０００４】
そこで、回路を簡略化してシミュレーションを行う方法が考えられている。例えば、規模の大きな負荷回路を、仮想制御電圧源を用いて簡略化することが考えられている。
また回路シミュレーションの負荷を必要以上に重くせずかつ解析精度を向上させるように、開放端を持つ素子の開放端の解消や直流経路のないノードを解消する技術が考えられている。この技術では、開放端を有する付随素子の中で、全端子あるいは１つを除く全端子が開放端である付随素子をすべて削除することが提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−１４６５９５号公報
【特許文献２】特開平９−３２５９８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、従来の回路モデルの簡略化技術では、回路モデルの過度な簡略化により、タイミング解析の解析精度を悪化させることがある。例えば、全端子あるいは１つを除く全端子が開放端である素子をすべて削除すると、タイミング解析上影響の大きい素子までも削除される場合がある。タイミング解析上影響の大きい素子が削除されると、その素子が実際の回路の動作タイミングに与える影響の分だけ、タイミング解析の解析結果に誤差が生じ、解析精度が悪化してしまう。
【０００７】
なお、回路モデルの過度な簡略化により解析精度が悪化するという問題は、タイミング解析以外の解析においても同様に生じる問題である。
１つの側面では、本発明は、解析精度に応じた適切な回路モデルの簡略化を可能とすることを目的とする。
【課題を解決するための手段】
【０００８】
１つの側面では、回路を表す回路モデルに含まれる抵抗から、１つの端子以外の端子が開放されており、かつ抵抗値が閾値以下の抵抗を検出する検出手段と、前記回路モデルから検出された該抵抗を削除する削除手段と、を有する設計支援装置が提供される。
【発明の効果】
【０００９】
１つの側面によれば、解析精度に応じた適切な回路モデルの簡略化が可能となる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施の形態に係る設計支援装置の機能を示す図である。
【図２】抵抗の短絡の一例を示す図である。
【図３】抵抗の縮退の一例を示す図である。
【図４】オープンな配線抵抗を含む回路の一例を示す図である。
【図５】オープンな配線抵抗を含む回路の回路モデルの一例を示す図である。
【図６】回路モデルの簡略化の一例を示す図である。
【図７】閾値より大きな抵抗値を有するオープンな抵抗を残した回路モデルの簡略化の一例を示す図である。
【図８】回路モデルに含まれるネットリストの一例を示す図である。
【図９】第２の実施の形態に用いるコンピュータのハードウェアの一構成例を示す図である。
【図１０】第２の実施の形態におけるコンピュータが有する機能を示すブロック図である。
【図１１】回路モデルのデータ構造の一例を示す図である。
【図１２】解析精度と解析精度係数との関係の一例を示す図である。
【図１３】解析精度係数記憶部のデータ構造の一例を示す図である。
【図１４】回路情報記憶部内の回路情報のデータ構造の一例を示す図である。
【図１５】回路モデル簡略化処理の手順の一例を示すフローチャートである。
【図１６】オープン抵抗削減処理の手順の一例を示すフローチャートである。
【図１７】概算抵抗値の第１の決定例を示す図である。
【図１８】概算抵抗値の第２の決定例を示す図である。
【図１９】閾値の算出例を示す図である。
【図２０】ネットリスト内のオープンな抵抗の削減例を示す図である。
【図２１】抵抗の縮退処理の一例を示す図である。
【図２２】微小抵抗の短絡処理の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第１の実施の形態〕
まず第１の実施の形態について説明する。第１の実施の形態では、設計支援装置が、回路をモデル化した回路モデルに含まれる抵抗のうち、１つの端子以外の端子が開放されている抵抗を検出し、検出された抵抗の抵抗値が閾値以下の場合、回路モデルからその抵抗のデータを削除する。端子が開放されているとは、例えば端子が他の素子、電源、またはグランドに接続されていない状態である。以下、１つの端子以外の端子が開放されている抵抗を、オープンな抵抗と呼ぶ。第１の実施の形態によれば、許容できる解析精度が得られる範囲内での適切な回路モデルの簡略化が可能となる。
【００１２】
なお回路モデルでは、回路上の配線も、細かな区間ごとに抵抗などの素子に置き換えられている。そのため、回路モデルにおける抵抗といった場合、抵抗器などの電子部品の他、配線も含まれる。
【００１３】
図１は、第１の実施の形態に係る設計支援装置の機能を示す図である。設計支援装置ＣＰは、記憶手段１、決定手段２、検出手段３、および削除手段４を有する。
記憶手段１は、電子的な回路を表す回路モデル１ａを記憶する。回路モデル１ａには、例えば、複数の抵抗Ｒ１〜Ｒ６が含まれている。また回路モデル１ａには、各抵抗Ｒ１〜Ｒ６の抵抗値が設定されている。図１の例では、抵抗Ｒ１の抵抗値はｒ１Ω、抵抗Ｒ２の抵抗値はｒ２Ω、抵抗Ｒ３の抵抗値はｒ３Ω、抵抗Ｒ４の抵抗値はｒ４Ω、抵抗Ｒ５の抵抗値はｒ５Ω、抵抗Ｒ６の抵抗値はｒ６Ωである。
【００１４】
決定手段２は、回路モデル１ａを用いた回路の動作シミュレーションにおける解析精度に基づいて、閾値を決定する。例えば決定手段２は、解析精度が高いほど、閾値を低くする。また決定手段２は、回路モデル１ａに含まれる１または複数の部分回路ごとに、部分回路の回路構成に応じた閾値を決定する。そのために決定手段２は、例えば部分回路について、１つの端子以外の端子が開放されているすべての抵抗を削除した状態で、並列または直列接続された複数の抵抗の合成抵抗値を計算する。そして決定手段２は、合成抵抗を用いて、その部分回路に適用する閾値を決定する。
【００１５】
なお複数の部分回路ごと閾値を決定する場合において、例えば、回路の動作シミュレーションにおいて求められる解析精度に応じた係数を、予め定義しておくことができる。この場合、決定手段２は、部分回路内の抵抗値に基づいて算出した値に係数を乗算し、乗算結果を部分回路の閾値とする。例えば決定手段２は、部分回路について、１つの端子以外の端子が開放されているすべての抵抗を削除した状態で、並列または直列接続された複数の抵抗の合成抵抗値と、並列または直列接続されていない抵抗の抵抗値とを比較する。そして決定手段２は、比較された抵抗値のうちの最大の抵抗値に、係数を乗算し、乗算結果を部分回路の閾値とする。
【００１６】
検出手段３は、回路モデル１ａに含まれる抵抗Ｒ１〜Ｒ６から、１つの端子以外の端子が開放されており、かつ抵抗値が閾値以下の抵抗を検出する。なお複数の部分回路ごとに閾値が決定された場合、検出手段３は、例えば１つの端子以外の端子が開放されている抵抗であり、かつ該抵抗を含む部分回路の閾値以下の抵抗値を有する抵抗を検出する。
【００１７】
削除手段４は、回路モデル１ａから、検出手段３によって検出された抵抗を削除する。
このような設計支援装置ＣＰにより、回路モデル１ａの簡略化が行われる。例えば図１の例では、決定手段２において、閾値が決定される。例えば決定手段２により、回路モデル１ａ内のオープンなすべての抵抗を削除した状態で、複数の抵抗で接続された区間の合成抵抗値を計算する。図１の例では、回路モデル１ａ内の抵抗Ｒ１〜Ｒ６のうち、抵抗Ｒ５，Ｒ６がオープンな抵抗である。そこで例えば決定手段２により、回路モデル１ａのコピーが生成され、そのコピーから抵抗Ｒ５，Ｒ６が削除される。抵抗Ｒ２，Ｒ３は直列接続であるため、抵抗Ｒ２，Ｒ３は、抵抗Ｒ２，Ｒ３の抵抗値の合成抵抗値ｒ７（ｒ７＝ｒ２＋ｒ３）を有する抵抗Ｒ７に置き換えられる。そして、抵抗Ｒ１，Ｒ４，Ｒ７の抵抗値が比較され、最大の抵抗値が求められる。図１の例では、ｒ４＜ｒ１＜ｒ７であり、抵抗Ｒ７の抵抗値が最も大きい。そこで抵抗ｒ７に解析精度に応じた係数Ｋを乗算した値が、閾値となる。
【００１８】
閾値が決定すると、検出手段３により、回路モデル１ａの中から、削除の条件を満たす抵抗が検出される。削除の条件とは、抵抗値が閾値以下であること、かつオープンな抵抗であることである。図１の例では、抵抗値が閾値ｒ０以下なのは、抵抗Ｒ２，Ｒ４，Ｒ５である。またオープンな抵抗は、抵抗Ｒ５，Ｒ６である。すると、削除の条件を満たすのは、抵抗Ｒ５のみとなる。そこで検出手段３により、削除対象として抵抗Ｒ５が検出される。すると、削除手段４により、回路モデル１ａから抵抗Ｒ５が削除される。
【００１９】
このように、オープンな抵抗のうち、抵抗値が閾値以下の抵抗のみを回路モデル１ａから削除するようにすることで、過度な簡略化をせずに、回路モデル１ａの簡略化が可能となる。すなわち、回路モデル１ａを用いた回路の特性の解析における解析精度に応じて閾値を決定しておけば、解析精度に応じた回路モデル１ａの適切な簡略化が可能となる。このようにして簡略化した回路モデル１ａを用いて回路の特性を解析すれば、その解析に求められる精度を満しつつ、効率的な解析を行うことができる。
【００２０】
なお、第１の実施の形態では、閾値を決定手段２が計算によって算出しているが、ユーザが予め閾値を設定しておいてもよい。
なお、決定手段２、検出手段３、削除手段４は、例えば設計支援装置ＣＰが有するプロセッサにより実現することができる。また、記憶手段１は、例えば設計支援装置ＣＰが有するＲＡＭ（Random Access Memory）により実現することができる。
【００２１】
また、図１に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。
〔第２の実施の形態〕
次に第２の実施の形態について説明する。第２の実施の形態では、下記の２点を主な工夫とすることで、タイミング解析上の精度が高く、かつ、実用的な時間で解析可能な簡略回路モデルを生成可能にするものである。
・タイミング解析用の回路モデルを簡略化するために、まず一旦オープンな抵抗をすべて短絡させた状態での合成抵抗値を計算し、ネットリストごとの最大抵抗値を算出する。この最大抵抗値を元に、タイミング解析の精度に応じたネットリストごとの、抵抗削除の閾値を決定する。
・決定した閾値に基づいて、あらためてオリジナルの回路モデルを用いてオープンな抵抗の中でもタイミング解析上影響の少ない抵抗のみを短絡させる。
【００２２】
なおネットリストとは、回路モデル上で２つ以上のトランジスタをつなぐ一連の抵抗群である。このネットリストは、第１の実施の形態で説明した部分回路の一例である。
また第２の実施の形態では、閾値以下の抵抗値を有するオープンな抵抗の短絡と、他の回路モデル簡略化の手法とを組み合わせる。他の回路モデル簡略化の手法としては、モデルを抽象化する方法や、モデルを縮退する方法がある。
【００２３】
回路モデルの抽象化では、例えば、微小な抵抗の短絡、容量の除去、特定の回路形状を持つ抵抗の短絡が行われる。抵抗の短絡と抵抗の縮退とは、以下のように定義される。
・抵抗の短絡の定義：抵抗素子がないもの（０Ωである）とし、両端の頂点をつなぐ。
・抵抗の縮退の定義：オームの法則等に従い、合成抵抗に置き換える。
【００２４】
図２は、抵抗の短絡の一例を示す図である。図２では、上段に短絡前の回路を示し、下段に短絡後の回路を示している。
図２に示す短絡前の回路では、３つの抵抗Ｒ１１，Ｒ１２，Ｒ１３が直列に接続されている。抵抗Ｒ１１は、頂点２１と頂点２２との間に設けられている。抵抗Ｒ１２は、頂点２２と頂点２３との間に設けられている。抵抗Ｒ１３は、頂点２３と頂点２４との間に設けられている。
【００２５】
ここで抵抗Ｒ１２を短絡した場合を想定する。抵抗Ｒ１２を短絡する場合、抵抗Ｒ１２が消去され、頂点２２と頂点２３とが繋げられる。例えば頂点２３に接続されていた抵抗Ｒ１３は、頂点２３に代えて頂点２２に接続される。
【００２６】
このようにして、抵抗が短絡される。抵抗が短絡されると、回路上の抵抗の数が減り、タイミング解析における計算量が削減される。
モデルの抽象化は、タイミング解析の精度に対する影響が少ない素子を対象に行われる。例えば以下のような素子に対して、短絡等の処理が行われる。
・微小な抵抗値を持つ配線抵抗の短絡
・微小な容量値を持つ配線容量の除去
・オープンな抵抗のうち、抵抗値が閾値以下の抵抗の短絡
なお抵抗値が微小かどうかは、抵抗値が予め設定された値より小さいかどうかで判断される。容量値が微小かどうかは、容量値が予め設定された値より小さいかどうかで判断される。
【００２７】
回路モデルの簡略化方法としては、モデルの抽象化の他に、モデルの縮退がある。モデルの縮退とは、オームの法則に従って配線抵抗／配線容量などを縮退させることである。
図３は、抵抗の縮退の一例を示す図である。図３では、抵抗の縮退が２段階に分けて行われている。１回目の縮退は、並列抵抗の縮退であり、２回目の縮退は、直列抵抗の縮退である。図３では、上から順に、縮退前の回路、１回目の縮退後の回路、２回目の縮退後の回路が示されている。
【００２８】
縮退前は、回路が４つの抵抗Ｒ２１〜Ｒ２４で構成されている。抵抗Ｒ２１は、頂点３１と頂点３２との間に設けられている。抵抗Ｒ２２と抵抗Ｒ２３とは、頂点３２と頂点３３との間に並列接続で設けられている。抵抗Ｒ２４は、頂点３３と頂点３４との間に設けられている。
【００２９】
縮退前の回路に対して並列抵抗の縮退が行われると、抵抗Ｒ２３と抵抗Ｒ２４とが、１つの抵抗Ｒ２５に置き換えられる。抵抗Ｒ２５は、頂点３２と頂点Ｒ３３との間に設けられている。その結果、１回目の縮退後の回路は、抵抗Ｒ２１、抵抗Ｒ２５、および抵抗Ｒ２４の直列接続となる。抵抗Ｒ２５の抵抗値は、抵抗Ｒ２３と抵抗Ｒ２４との合成抵抗値である。並列接続の合成抵抗値は、並列接続されるすべての抵抗の抵抗値の乗算結果を、それらの抵抗の抵抗値の総和で除算した値である。
【００３０】
１回目の縮退後の回路に対して直列抵抗の縮退が行われると、抵抗Ｒ２１、抵抗Ｒ２５、および抵抗Ｒ２４が、１つの抵抗Ｒ２６に置き換えられる。抵抗Ｒ２６は、縮退前の回路の両端の２つの頂点３１，３４の間に設けられている。抵抗Ｒ２６の抵抗値は、抵抗Ｒ２６は、抵抗Ｒ２１、抵抗Ｒ２５、および抵抗Ｒ２４の合成抵抗である。直列接続の合成抵抗値は、直列接続されるすべての抵抗の抵抗値の総和である。
【００３１】
このようにして抵抗が縮退される。抵抗の縮退によっても、抵抗の短絡と同様に回路上の抵抗の数が減る。その結果、タイミング解析における計算量が削減される。
以上のように、回路モデルの抽象化や縮退により、回路モデルを簡略化することができる。特にオープンな配線抵抗は、配線抵抗の縮退を阻害する要因になりやすい。
【００３２】
図４は、オープンな配線抵抗を含む回路の一例を示す図である。図４に示す回路では、３つの配線４１〜４３を介して、２つのトランジスタＴＲ１，ＴＲ２が接続されている。トランジスタＴＲ１は配線４１に接続されており、トランジスタＴＲ２は配線４３に接続されている。そして配線４１と配線４３との間が、配線４２で接続されている。
【００３３】
このとき、回路モデルを作成する場合、配線４１〜４３を定義するために、配線上に頂点５１〜５８が設定される。例えば配線４１の両端に２つの頂点５１，５３が設定される。配線４２の両端に２つの頂点５６，５７が設定される。配線４３の両端に２つの頂点５２，５８が設定される。また配線４１と配線４２との交差部分の中心に頂点５４が設定される。さらに配線４３と配線４２との交差部分の中心に頂点５５が設定される。
【００３４】
配線上に設定した頂点間の配線抵抗が、回路モデルでは、抵抗を示す素子として表される。
図５は、オープンな配線抵抗を含む回路の回路モデルの一例を示す図である。図５には、図４に示した回路から生成した回路モデルが示されている。
【００３５】
回路モデルでは、頂点５１と頂点５４との間の配線が、抵抗Ｒ３１で表される。頂点５４と頂点５３との間の配線が、抵抗Ｒ３２で表される。頂点５４と頂点５５との間の配線が、抵抗Ｒ３３で表される。頂点５４と頂点５５との間の配線が、抵抗Ｒ３４で表される。頂点５５と頂点５７との間の配線が、抵抗Ｒ３５で表される。頂点５５と頂点５８との間の配線が、抵抗Ｒ３６で表される。頂点５２と頂点５５との間の配線が、抵抗Ｒ３７で表される。
【００３６】
図５では、トランジスタＴＲ１，ＴＲ２に接する頂点５１，５２は、黒丸で示している。また配線を抵抗に置き換えたときの抵抗同士の接する頂点５４，５５を、二重丸で示している。さらに開放されている頂点５３，５６〜５８を、白丸で示している。このような頂点の表記方法は、図１７〜図２２においても同様である。
【００３７】
図５に示した回路モデルは、開放されている頂点５３，５６〜５８に接続されている抵抗Ｒ３２，Ｒ３３，Ｒ３５，Ｒ３６が存在するため、縮退する余地がない。ここで、抵抗Ｒ３２，Ｒ３３，Ｒ３５，Ｒ３６を短絡して回路モデルを簡略化することができれば、さらに回路モデルの縮退が可能となる。
【００３８】
図６は、回路モデルの簡略化の一例を示す図である。開放されている頂点５３，５６〜５８に接続されている抵抗Ｒ３２，Ｒ３３，Ｒ３５，Ｒ３６を短絡させた場合、図６の上段のような回路モデルとなる。この回路モデルでは、３つの抵抗Ｒ３１，Ｒ３４，Ｒ３７が直列に接続されている。そこで、抵抗の縮退が可能となる。
【００３９】
図６の下段に、抵抗を縮退後の回路モデルが示されている。縮退によって、３つの抵抗Ｒ３１，Ｒ３４，Ｒ３７は、１つの抵抗Ｒ３８に置き換えられている。抵抗Ｒ３８の抵抗値は、３つの抵抗Ｒ３１，Ｒ３４，Ｒ３７の合成抵抗値である。
【００４０】
このように、オープンな抵抗をできるだけ短絡させ、その結果として回路モデルから削除することで、さらに回路モデルの簡略化が可能となる。しかし、タイミング解析の分野では高精度なシミュレーションが求められるため、回路モデルの過度な簡略化は、実測値との乖離を発生させる原因となる。例えば、回路中に抵抗があったとき、抵抗としての機能だけではなく、寄生容量と呼ばれる静電容量が現れる。すると、オープンな抵抗は直流の電流は流れないものの、微量な容量として回路の動作に作用する。そのため、タイミング解析を高精度で行う場合、オープンな抵抗であっても、安易に回路モデルから削除するのは適切ではない。
【００４１】
図４に示した回路では、オープンな抵抗に置き換えられた配線区間のうち、頂点５３と頂点５４との間の配線区間は、他よりも長く、抵抗値も大きい。タイミング解析に求める精度が低ければ、頂点５３と頂点５４との間の配線区間に対応する抵抗も、回路モデルから削除可能である。他方、高精度でタイミング解析を行う場合、ある程度以上の抵抗値の抵抗を回路モデルから削除してしまうと、その抵抗が存在することに起因する寄生容量などの影響がタイミング解析に反映されず、求められる解析精度が得られない可能性がある。そこで、第２の実施の形態では、抵抗の閾値を設定し、その閾値以下の抵抗値のオープンな抵抗について短絡し、それ以外のオープンな抵抗の短絡は抑止する。
【００４２】
図７は、閾値より大きな抵抗値を有するオープンな抵抗を残した回路モデルの簡略化の一例を示す図である。図７の例は、オープンな抵抗のうち、抵抗Ｒ３２だけが、抵抗値が閾値より大きかった場合である。図７の上段に、オープンな抵抗のうち、抵抗値が閾値以下の抵抗を短絡後の回路モデルが示されている。この例では、図５に示した抵抗Ｒ３３，Ｒ３５，Ｒ３６は削除されているが、抵抗Ｒ３２は短絡されずに回路モデルに残されている。また抵抗Ｒ３４と抵抗Ｒ３７は、直列接続となり縮退可能である。
【００４３】
図７の下段に、抵抗を縮退後の回路モデルが示されている。縮退によって、２つの抵抗Ｒ３４，Ｒ３７は、１つの抵抗Ｒ３９に置き換えられている。抵抗Ｒ３９の抵抗値は、２つの抵抗Ｒ３４，Ｒ３７の合成抵抗値である。
【００４４】
このように、所定の閾値よりも大きな抵抗値を有する抵抗は、オープンな抵抗であっても短絡の対象から除外することで、タイミング解析の精度の低下を抑止しつつ、十分な回路モデルの簡略化を図ることができる。
【００４５】
ここで、オープンな抵抗を短絡の対象とするか否かの閾値は、例えば、タイミング解析に求められる解析精度に応じて決定される。なお、タイミング解析に求められる解析精度は、回路全体で一定とは限らない。特に、大規模なＬＳＩ回路のタイミング解析を行う場合、回路内のネットリストごとに、異なる解析精度が求められる場合がある。そこで、第２の実施の形態では、オープンな抵抗を短絡の対象とするか否かの閾値を、ネットリストごとに決定するものとする。
【００４６】
図８は、回路モデルに含まれるネットリストの一例を示す図である。図８に示す回路モデルは、４つのトランジスタＴＲ３〜ＴＲ６を含んでいる。またトランジスタＴＲ３〜ＴＲ６には、頂点６１〜７０を介して、抵抗Ｒ４１〜Ｒ４８が接続されている。
【００４７】
トランジスタＴＲ３，ＴＲ４，ＴＲ６は、３つの抵抗Ｒ４１〜Ｒ４３を介して接続されている。そこで３つの抵抗Ｒ４１〜Ｒ４３と、抵抗Ｒ４１〜Ｒ４３によるトランジスタＴＲ３，ＴＲ４，ＴＲ６間の接続関係が、１つのネットリスト７１となる。同様に、図８に示す回路モデルには、ネットリスト７２〜７４が含まれる。
【００４８】
解析精度の低下を抑止させて回路モデルを簡略化する機能は、例えば、回路モデルの作成およびタイミング解析を行うコンピュータにソフトウェアによって実装することができる。
【００４９】
図９は、第２の実施の形態に用いるコンピュータのハードウェアの一構成例を示す図である。コンピュータ１００は、プロセッサ１０１によって装置全体が制御されている。プロセッサ１０１には、バス１０９を介してＲＡＭ１０２と複数の周辺機器が接続されている。プロセッサ１０１は、マルチプロセッサであってもよい。プロセッサ１０１は、例えばＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、またはＤＳＰ（Digital Signal Processor）である。プロセッサ１０１の機能の少なくとも一部を、ＡＳＩＣ（Application Specific Integrated Circuit）、ＰＬＤ（Programmable Logic Device）などの電子回路で実現してもよい。
【００５０】
ＲＡＭ１０２は、コンピュータ１００の主記憶装置として使用される。ＲＡＭ１０２には、プロセッサ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、プロセッサ１０１による処理に必要な各種データが格納される。
【００５１】
バス１０９に接続されている周辺機器としては、ＨＤＤ（Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５、光学ドライブ装置１０６、機器接続インタフェース１０７およびネットワークインタフェース１０８がある。
【００５２】
ＨＤＤ１０３は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。ＨＤＤ１０３は、コンピュータ１００の補助記憶装置として使用される。ＨＤＤ１０３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
【００５３】
グラフィック処理装置１０４には、モニタ１１が接続されている。グラフィック処理装置１０４は、プロセッサ１０１からの命令に従って、画像をモニタ１１の画面に表示させる。モニタ１１としては、ＣＲＴ（Cathode Ray Tube）を用いた表示装置や液晶表示装置などがある。
【００５４】
入力インタフェース１０５には、キーボード１２とマウス１３とが接続されている。入力インタフェース１０５は、キーボード１２やマウス１３から送られてくる信号をプロセッサ１０１に送信する。なお、マウス１３は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００５５】
光学ドライブ装置１０６は、レーザ光などを利用して、光ディスク１４に記録されたデータの読み取りを行う。光ディスク１４は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク１４には、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。
【００５６】
機器接続インタフェース１０７は、コンピュータ１００に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース１０７には、メモリ装置１５やメモリリーダライタ１６を接続することができる。メモリ装置１５は、機器接続インタフェース１０７との通信機能を搭載した記録媒体である。メモリリーダライタ１６は、メモリカード１７へのデータの書き込み、またはメモリカード１７からのデータの読み出しを行う装置である。メモリカード１７は、カード型の記録媒体である。
【００５７】
ネットワークインタフェース１０８は、ネットワーク１０に接続されている。ネットワークインタフェース１０８は、ネットワーク１０を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【００５８】
以上のようなハードウェア構成によって、第２の実施の形態の処理機能を実現することができる。なお、図１に示した設計支援装置ＣＰも、図９に示したコンピュータ１００と同様のハードウェアにより実現することができる。
【００５９】
コンピュータ１００は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第２の実施の形態の処理機能を実現する。コンピュータ１００に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、コンピュータ１００に実行させるプログラムをＨＤＤ１０３に格納しておくことができる。プロセッサ１０１は、ＨＤＤ１０３内のプログラムの少なくとも一部をＲＡＭ１０２にロードし、プログラムを実行する。またコンピュータ１００に実行させるプログラムを、光ディスク１４、メモリ装置１５、メモリカード１７などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ１０１からの制御により、ＨＤＤ１０３にインストールされた後、実行可能となる。またプロセッサ１０１が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【００６０】
次に、コンピュータ１００の機能について説明する。
図１０は、第２の実施の形態におけるコンピュータが有する機能を示すブロック図である。コンピュータ１００は、ＣＡＤ（Computer Aided Design）システム１１０、回路モデル記憶部１２０、解析精度係数記憶部１３０、設計支援部１４０、簡略モデル記憶部１５０、および解析部１６０を有する。
【００６１】
ＣＡＤシステム１１０は、ユーザからの入力に基づいて、ＣＡＤによりＬＳＩなどの回路を設計する。またＣＡＤシステム１１０は、ＬＳＩ内のマクロを設計することもある。ＣＡＤシステム１１０は、設計した回路に基づく回路モデルを生成し、回路モデル記憶部１２０に格納する。なお回路モデルの形式は、例えばＳＰＩＣＥフォーマットのテキストファイルが挙げられる。
【００６２】
回路モデル記憶部１２０は、ＬＳＩまたはＬＳＩ内のマクロなどの電子的な回路を示す回路モデルを記憶する。例えば、ＲＡＭ１０２またはＨＤＤ１０３の記憶領域の一部が、回路モデル記憶部１２０として使用される。
【００６３】
解析精度係数記憶部１３０は、設計した回路のタイミング解析に求められる精度に応じた係数（解析精度係数）を記憶する。解析精度係数は、例えば高いタイミング解析精度が求められるほど、小さい値が設定される。第２の実施の形態では、解析精度係数は、０より大きく、１より小さい実数とする。このような解析精度係数に基づいて、オープンな抵抗の短絡の要否判定に用いる閾値が決定される。なお、解析精度係数は、ユーザの操作により、解析精度係数記憶部１３０に格納される。例えばＲＡＭ１０２またはＨＤＤ１０３の記憶領域の一部が、解析精度係数記憶部１３０として使用される。
【００６４】
設計支援部１４０は、回路モデル記憶部１２０に格納されている回路モデルを簡略化し、簡略化した回路モデル（簡略モデル）を生成する。そして設計支援部１４０は、生成した簡略モデルを、簡略モデル記憶部１５０に格納する。
【００６５】
簡略モデル記憶部１５０は、簡略モデルを記憶する。例えばＲＡＭ１０２またはＨＤＤ１０３の記憶領域の一部が、簡略モデル記憶部１５０として使用される。
解析部１６０は、簡略モデル記憶部１５０に記憶された簡略モデルに基づいて、回路のタイミング解析を行う。例えば解析部１６０には、タイミング解析に求められる解析精度がユーザから指定される。そして解析部１６０は、簡略モデルによるタイミング解析を、指定された精度で実行する。タイミング解析により、回路の動作タイミングのずれが判定され、許容されるずれを超えた動作があれば、解析部１６０からタイミングエラーが出力される。
【００６６】
次に、設計支援部１４０の機能を詳細に説明する。設計支援部１４０は、モデル読み込み部１４１、回路情報記憶部１４２、オープン抵抗削減部１４３、縮退部１４４、微小抵抗短絡部１４５、微小容量除去部１４６、およびモデル出力部１４７を有する。
【００６７】
モデル読み込み部１４１は、回路モデル記憶部１２０から回路モデルを読み込む。モデル読み込み部１４１は、読み込んだ回路モデルを回路情報記憶部１４２に格納する。
回路情報記憶部１４２は、簡略化対象の回路モデルを記憶する。例えばＲＡＭ１０２またはＨＤＤ１０３の記憶領域の一部が、回路情報記憶部１４２として使用される。
【００６８】
オープン抵抗削減部１４３は、回路モデル内のオープンな抵抗のうち、抵抗値が閾値以下の抵抗を短絡する。短絡により、その抵抗は、回路モデルから削除される。例えばオープン抵抗削減部１４３は、解析精度係数記憶部１３０から、解析精度係数を取得する。次にオープン抵抗削減部１４３は、取得した解析精度係数に基づいて、ネットリストごとの閾値を決定する。さらにオープン抵抗削減部１４３は、回路情報記憶部１４２に格納された回路モデルに含まれるオープンな抵抗のうち、抵抗値が、その抵抗が含まれるネットリストの閾値以下の抵抗を、短絡対象とする。そしてオープン抵抗削減部１４３は、短絡対象のオープンな抵抗を短絡させるように、回路情報記憶部１４２に格納された回路モデルを更新する。
【００６９】
縮退部１４４は、閾値以下の抵抗値を有するオープンな抵抗を短絡後の回路モデルを縮退させる。例えば縮退部１４４は、オープンな抵抗の短絡処理が完了すると、回路情報記憶部１４２内の回路モデルから、縮退可能な抵抗・容量素子などの素子を検索する。そして縮退部１４４は、該当する素子を縮退させるように、回路情報記憶部１４２内の回路モデルを更新する。
【００７０】
微小抵抗短絡部１４５は、所定の値以下の微小な抵抗値を有する抵抗を短絡後の回路モデルを短絡させる。微小抵抗短絡部１４５は、微小な抵抗値であれば、その抵抗値がオープンな抵抗かどうかに関係なく短絡させる。抵抗値が微小か否かの判定基準となる所定の値は、オープンな抵抗を短絡させるか否かの閾値より小さな値である。例えば微小抵抗短絡部１４５は、縮退処理が完了すると、回路情報記憶部１４２内の回路モデルから、抵抗値が微小な抵抗を検索する。そして微小抵抗短絡部１４５は、該当する素子を縮退させるように、回路情報記憶部１４２内の回路モデルを更新する。
【００７１】
微小容量除去部１４６は、所定の値以下の微小な容量値を有する容量素子を除去後の回路モデルを除去させる。例えば微小容量除去部１４６は、微小な抵抗の短絡処理が完了すると、回路情報記憶部１４２内の回路モデルから、容量値が微小な容量素子を検索する。そして微小容量除去部１４６は、該当する素子を縮退させるように、回路情報記憶部１４２内の回路モデルを更新する。
【００７２】
モデル出力部１４７は、簡略化された回路モデル（簡略モデル）を出力する。例えばモデル出力部１４７は、回路情報記憶部１４２から簡略モデルを取得し、取得した簡略モデルを簡略モデル記憶部１５０に格納する。
【００７３】
以上のような機能により、回路モデルの作成、回路モデルの簡略化、および簡略モデルによるタイミング解析が可能となる。なお、図１０に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。またオープン抵抗削減部１４３は、図１に示した第１の実施の形態における決定手段２、検出手段３、削除手段４の機能を包含する要素の一例である。さらに回路情報記憶部１４２は、図１に示した第１の実施の形態における記憶手段１の一例である。
【００７４】
次に、ＣＡＤシステム１１０により作成され、回路モデル記憶部１２０に格納される回路モデルについて詳細に説明する。
図１１は、回路モデルのデータ構造の一例を示す図である。ＣＡＤシステム１１０は、ユーザからの操作入力に基づいて、ＬＳＩなどの回路を設計する。設計内容には、素子間の配線パターンも含まれる。ＣＡＤシステム１１０は、設計された回路は、回路モデルとしでデータ化される。またＣＡＤシステム１１０は、回路モデルに基づいて、回路図１１１を表示することができる。回路図１１１では、回路モデルに組み込まれた素子が記号で表されている。なお、回路モデルでは、素子間を接続する配線は、例えば抵抗に置き換えて表現されている。配線を置き換えた抵抗を含め、各素子の端子は、頂点の位置で表される。
【００７５】
ＣＡＤシステム１１０は、例えば、回路図１１１に示された回路モデルのデータを含む回路情報ファイル１２１を作成する。回路情報ファイル１２１は、例えば回路図をテキスト形式で書き表したデータが書き込まれたファイルである。そしてＣＡＤシステム１１０は、作成した回路情報ファイル１２１を、回路モデル記憶部１２０に格納する。
【００７６】
回路情報ファイル１２１には、例えば、トランジスタ情報１２１ａ、抵抗情報１２１ｂ、容量素子情報１２１ｃが含まれる。トランジスタ情報１２１ａには、回路モデルに含まれるトランジスタの識別情報、そのトランジスタの端子が接続される頂点の識別情報、駆動する電源種別（vdd,vssなど）、トランジスタの種類などが含まれる。トランジスタの種類は、例えばＭＯＳＦＥＴ（Metal-Oxide-Semiconductor Field-Effect Transistor）のｐ型か、ｎ型かなどの情報である。抵抗情報１２１ｂには、回路モデルに含まれる抵抗の識別情報、その抵抗の端子が接続される頂点の識別情報、抵抗値などが含まれる。容量素子情報１２１ｃには、回路モデルに含まれる容量素子の識別情報、その容量素子の端子が接続される頂点の識別情報、電気容量値などが含まれる。
【００７７】
なお、回路情報ファイル１２１には、図１１には示した情報以外にも、各頂点の位置を示す情報など、回路モデルの再現に使用する各種情報が含まれる。
次に、解析精度係数記憶部１３０に格納される解析精度係数について説明する。解析精度係数は、タイミング解析に求められる精度に応じて決定される。例えば、解析精度が高いほど、解析精度係数の値を小さくする。
【００７８】
図１２は、解析精度と解析精度係数との関係の一例を示す図である。図１２では、横軸にタイミング解析精度、縦軸に解析精度係数をとり、タイミング解析の精度に応じた解析精度係数の例を示している。なおタイミング解析精度は、例えば動作タイミングの遅延時間（秒）の解析精度である。解析可能な遅延時間の精度が短いほど、解析精度が高い。そこで図１２の例では、タイミング解析精度の値が小さいほど、解析精度係数は小さい値となる。
【００７９】
回路設計を行うユーザは、図１２に示すようなタイミング解析精度と精度解析係数との関係を考慮して、解析精度係数記憶部１３０に、回路モデルの簡略化に使用する解析精度係数を格納する。
【００８０】
図１３は、解析精度係数記憶部のデータ構造の一例を示す図である。解析精度係数記憶部１３０には、タイミング解析に求められる解析精度に応じた解析精度係数が設定されている。解析精度係数を設定することにより、ネットリストごとに、求められる解析精度に応じた適切なタイミング解析を実行することができる。
【００８１】
次に、設計支援部１４０による、解析精度係数を用いた回路モデルの簡略化について説明する。
設計支援部１４０は、まず、回路モデルをデータ化した回路情報ファイル１２１を回路モデル記憶部１２０から取得し、回路情報ファイル１２１を解釈して、簡略化に使用する回路情報を生成する。回路情報は、設計支援部１４０の内部データとして回路情報記憶部１４２に格納される。
【００８２】
図１４は、回路情報記憶部内の回路情報のデータ構造の一例を示す図である。回路情報には、各素子のデータが含まれる。素子のデータとしては、例えばＭＯＳリスト１４２ａ、抵抗リスト１４２ｂ、容量リスト１４２ｃなどがある。ＭＯＳリスト１４２ａは、回路モデルに含まれるトランジスタのリストである。ＭＯＳリスト１４２ａ内には、トランジスタの識別情報が設定されている。トランジスタの識別情報は、そのトランジスタの端子が接続される頂点の識別情報または電源種別に関連付けられている。抵抗リスト１４２ｂ内は、回路モデルに含まれる抵抗のリストである。抵抗リスト１４２ｂ内には、抵抗の識別情報が設定されている。抵抗の識別情報は、その抵抗の端子が接続されている頂点の識別情報または電源種別に関連付けられている。容量リスト１４２ｃは、回路モデルに含まれる容量素子のリストである。容量リスト１４２ｃには、容量素子の識別情報が設定されている。容量素子の識別情報は、その容量素子の端子が接続される頂点の識別情報または電源種別に関連付けられている。頂点リスト１４２ｄは、回路モデルに含まれる頂点と電源とのリストである。頂点リスト１４２ｄには、頂点の識別情報と電源の識別情報とが設定されている。頂点または電源の識別情報は、その頂点または電源に接続される素子の識別情報に関連付けられている。
【００８３】
なお、図１４では、関連付けられた情報同士を矢印で接続している。関連付けられた情報同士は、相互参照可能である。ここで、相互参照可能とは、一方の情報に基づいて、関連付けられた他の情報を参照できることである。
【００８４】
回路情報に示された素子や頂点の識別情報のうち、トランジスタの識別情報を介さずに、直接または間接的に関連付けられた識別情報の集合が、１つのネットリスト１４２ｅを表している。
【００８５】
次に、設計支援部１４０における回路モデルの簡略化処理の手順について説明する。
図１５は、回路モデル簡略化処理の手順の一例を示すフローチャートである。
［ステップＳ１０１］モデル読み込み部１４１は、回路モデル記憶部１２０から回路モデルを読み込む。例えば、モデル読み込み部１４１は、回路モデル記憶部１２０から回路情報ファイル１２１を読み出し、その回路情報ファイル１２１内のデータを取得する。モデル読み込み部１４１は、取得したデータに基づいて回路モデルを解釈し、内部データとして回路情報を生成する。そしてモデル読み込み部１４１は、生成した回路情報を、回路情報記憶部１４２に格納する。
【００８６】
［ステップＳ１０２］オープン抵抗削減部１４３は、回路モデルからオープンな抵抗を削減する。なお、この処理の詳細は後述する（図１６参照）。オープン抵抗削減部１４３は、オープン抵抗の削減結果に従って、回路情報記憶部１４２内の回路情報を更新する。
【００８７】
［ステップＳ１０３］縮退部１４４は、回路モデルにおいて、縮退可能な抵抗または容量素子を縮退する。抵抗の縮退処理は、図３に示した通りである。容量素子の縮退も、抵抗と同様に行うことができる。例えば並列接続された複数の容量素子を、複数の容量素子の合成容量を有する１つの容量素子に置き換えることができる。また直列接続された複数の容量素子を、複数の容量素子の合成容量を有する１つの容量素子に置き換えることができる。縮退部１４４は、抵抗・容量素子の縮退結果に従って、回路情報記憶部１４２内の回路情報を更新する。
【００８８】
［ステップＳ１０４］微小抵抗短絡部１４５は、回路モデルに含まれる抵抗のうち、抵抗値が微小な抵抗を短絡する。抵抗値が微小な抵抗とは、例えば予め設定された所定の値よりも抵抗値が低い抵抗である。微小抵抗短絡部１４５は、微小抵抗の短絡結果に従って、回路情報記憶部１４２内の回路情報を更新する。
【００８９】
［ステップＳ１０５］微小容量除去部１４６は、回路モデルに含まれる容量素子のうち、電気容量が微小な容量素子を除去する。電気容量が微小な容量素子とは、例えば予め設定された所定の値よりも電気容量が低い容量素子である。微小容量除去部１４６は、微小容量の容量素子の除去結果に従って、回路情報記憶部１４２内の回路情報を更新する。
【００９０】
［ステップＳ１０６］モデル出力部１４７は、オープン抵抗の削減、抵抗・容量素子の縮退、微小抵抗の短絡、および微小容量の除去の各処理が終了後に回路情報記憶部１４２に格納されている回路情報を、簡略モデルとして出力する。例えばモデル出力部１４７は、回路情報を、簡略モデル記憶部１５０に格納する。
【００９１】
このようにして、回路モデルを簡略化した簡略モデルが生成される。次に、オープン抵抗削減処理の手順について説明する。
図１６は、オープン抵抗削減処理の手順の一例を示すフローチャートである。
【００９２】
［ステップＳ１１１］オープン抵抗削減部１４３は、回路モデルを展開する。例えばオープン抵抗削減部１４３は、回路情報記憶部１４２から回路情報を取得し、ＲＡＭ１０２内の領域に回路モデルを再現する。
【００９３】
［ステップＳ１１２］オープン抵抗削減部１４３は、回路モデルから、未選択のネットリストを１つ選択する。
［ステップＳ１１３］オープン抵抗削減部１４３は、選択したネットリスト内の抵抗のうち、オープンな抵抗をすべて短絡する。例えばオープン抵抗削減部１４３は、選択したネットリストから抵抗を１つずつ選択する。そしてオープン抵抗削減部１４３は、選択した抵抗の一方が開放されているか否かを判定する。例えば回路情報の抵抗リスト内の抵抗の識別情報に、頂点の識別情報が１つしか関連付けられていない場合、その該当する抵抗はオープンな抵抗と判定される。オープン抵抗削減部１４３は、選択した抵抗がオープンな抵抗であれば、回路モデル上で、その抵抗を短絡する。このように、ステップＳ１１３は、オープンな抵抗であれば、抵抗値に関係なく、その抵抗の短絡処理が行われる。
【００９４】
［ステップＳ１１４］オープン抵抗削減部１４３は、選択したネットリストの抵抗の縮退、および容量素子の縮退を行う。
［ステップＳ１１５］オープン抵抗削減部１４３は、オープンな抵抗の短絡、および抵抗・容量素子を行った後のネットリストに基づいて、抵抗の閾値を決定する。例えばオープン抵抗削減部１４３は、ネットリストの概算抵抗値を求める。そしてオープン抵抗削減部１４３は、概算抵抗値を基準に、タイミング解析の精度に基づいた解析精度係数を乗算し、乗算結果を閾値とする。概算抵抗値は、例えば、ネットリストのオープンな抵抗のすべてを短絡および抵抗・容量素子の縮退を行った後にネットリスト内に残存する抵抗の、最大抵抗値である。
【００９５】
図１７は、概算抵抗値の第１の決定例を示す図である。図１７に示すオリジナルのネットリスト８１は、２箇所でトランジスタに接続されている（図中、トランジスタに接することを示す黒丸の頂点が２つある）。
【００９６】
閾値を決定する場合、まず、オリジナルのネットリスト８１に含まれる抵抗Ｒ５１〜Ｒ５５のうち、オープンな抵抗Ｒ５４，Ｒ５５が、抵抗値の大小に関係なく、すべて短絡される。次に、オープンな抵抗短絡後のネットリスト８２に対して抵抗の縮退処理が行われる。図１７の例では、ネットリスト８２に含まれる３つの抵抗Ｒ５１〜Ｒ５３は直列に接続されている。そこで、縮退処理により、３つの抵抗Ｒ５１〜Ｒ５３が、１つの抵抗Ｒ５６に置き換えられる。その結果、縮退後のネットリスト８３には、１つの抵抗Ｒ５６のみが存在する。
【００９７】
このように、ネットリスト８１内の抵抗Ｒ５１〜Ｒ５５が、１つの抵抗Ｒ５６に纏められた場合、Ｒ５６の抵抗値がネットリスト８１の概算抵抗値となる。なおＲ５６の抵抗値は、Ｒ５１〜Ｒ５３の合成抵抗値である。
【００９８】
また抵抗値を縮退させても複数の抵抗が残った場合、例えば、残存した各抵抗の抵抗値うち、最も大きな抵抗値（縮退後の抵抗であれば合成抵抗値）が、概略抵抗値となる。
図１８は、概算抵抗値の第２の決定例を示す図である。図１８に示すオリジナルのネットリスト８４は、３箇所でトランジスタに接続されている（図中、トランジスタに接することを示す黒丸の頂点が３つある）。
【００９９】
ネットリスト８４に対してオープンな抵抗の短絡処理が行われると、ネットリスト８１に含まれる抵抗Ｒ６１〜Ｒ６６のうち、オープンな抵抗Ｒ６５，Ｒ６６が短絡される。次に、オープンな抵抗短絡後のネットリスト８５に対して抵抗の縮退処理が行われる。図１８の例では、ネットリスト８５に含まれる２つの抵抗Ｒ６２〜Ｒ６３は直列に接続されている。そこで、縮退処理により、２つの抵抗Ｒ６２〜Ｒ６３が、１つの抵抗Ｒ６７に置き換えられる。その結果、縮退後のネットリスト８６には、３つの抵抗Ｒ６１，Ｒ６４，Ｒ６７が残される。ネットリスト８６は、これ以上縮退することができない。この場合、３つの抵抗Ｒ６１，Ｒ６４，Ｒ６７の抵抗値が比較され、最も高い抵抗値が、ネットリスト８４の概算抵抗値となる。
【０１００】
なお抵抗が１つに纏められなかった場合の概略抵抗値の決定方法は、他にも考えられる。例えば、ネットリストが、３つ以上のトランジスタと接続される場合、ネットリストには、トランジスタと接続される３つ以上の頂点が含まれる。この場合、３つ以上の頂点のうちの２つの頂点の対ごとに、頂点間の抵抗値を算出できる。そこで、頂点対ごとの頂点間の抵抗値のうち、最大となる抵抗値を、そのネットリストの概算抵抗値としてもよい。
【０１０１】
概算抵抗値が求められると、オープン抵抗削減部１４３は、選択したネットリストに適用する、オープンな抵抗を短絡するか否かの判断の閾値を算出する。例えばオープン抵抗削減部１４３は、ネットリストの概算抵抗値に対して、タイミング解析で要求される精度に基づいて決定された、そのネットリストの解析精度係数を乗算する。そして、オープン抵抗削減部１４３は、乗算結果を閾値とする。式で表すと、以下のような式となる。
閾値＝ネットリストの概算抵抗値×Ｋ
ここでＫ（０＜Ｋ＜１）は、ネットリストに適用される解析精度係数である。
【０１０２】
図１９は、閾値の算出例を示す図である。図１９では、概算抵抗値８７と閾値８８とを、抵抗の大きさに模式化している。解析精度係数は１未満の値であるため、概算抵抗値８７に解析精度係数を乗算することで得られる閾値８８は、概算抵抗値８７よりも小さな値となる。そして解析精度係数が小さいほど閾値８８も小さくなる。閾値８８が小さくなれば、オープンな抵抗のうち、短絡対象となる抵抗が少なくなり、高精度のタイミング解析が可能となる。一方、解析精度係数が大きいほど閾値８８も大きくなり、多くの抵抗を短絡させ、タイミング解析の処理の効率化を図ることができる。
【０１０３】
このようにして、選択したネットリストについても、オープン抵抗の短絡の要否判定の閾値が決定される。閾値が決定すると、オープン抵抗削減部１４３は、決定した閾値を、選択したネットリストに対応付けて、ＲＡＭ１０２などの記憶媒体に格納する。
【０１０４】
以下、図１６の説明に戻る。
［ステップＳ１１６］オープン抵抗削減部１４３は、未選択のネットリストがあるか否かを判断する。未選択のネットリストがある場合、処理がステップＳ１１２に進められる。またすべてのネットリストが選択済みであれば、オープン抵抗削減部１４３は、すべてのネットリストを未選択の状態に戻す。その後、処理がステップＳ１１７に進められる。
【０１０５】
［ステップＳ１１７］オープン抵抗削減部１４３は、回路モデルを再展開する。例えばオープン抵抗削減部１４３は、ステップＳ１１１で展開した回路モデルをＲＡＭ１０２から削除する。そしてオープン抵抗削減部１４３は、回路情報記憶部１４２から回路情報を読み込み、ＲＡＭ１０２に、回路モデルを再度展開する。
【０１０６】
［ステップＳ１１８］オープン抵抗削減部１４３は、未選択のネットリストのうちの１つを選択する。
［ステップＳ１１９］オープン抵抗削減部１４３は、選択したネットリスト内の抵抗を１つ選択する。
【０１０７】
［ステップＳ１２０］オープン抵抗削減部１４３は、選択した抵抗の抵抗値と、選択したネットリストに適用する閾値とを比較する。そしてオープン抵抗削減部１４３は、抵抗の抵抗値が閾値以下か否かを判断する。抵抗値が閾値以下であれば、処理がステップＳ１２１に進められる。また抵抗値が閾値を超えていれば、処理がステップＳ１２３に進められる。
【０１０８】
［ステップＳ１２１］オープン抵抗削減部１４３は、選択した抵抗の抵抗値が閾値以下であれば、その抵抗がオープンな抵抗か否かを判断する。オープンな抵抗であれば、処理がステップＳ１２２に進められる。オープンな抵抗でなければ、処理がステップＳ１２３に進められる。
【０１０９】
［ステップＳ１２２］オープン抵抗削減部１４３は、選択した抵抗を短絡させる。
［ステップＳ１２３］オープン抵抗削減部１４３は、選択しているネットリスト内に未選択の抵抗があるか否かを判断する。未選択の抵抗があれば、処理がステップＳ１１９に進められる。未選択の抵抗がなければ、処理がステップＳ１２４に進められる。
【０１１０】
ステップＳ１１９〜Ｓ１２３により、選択したネットリスト内の抵抗のうち、抵抗値が閾値以下のオープンな抵抗の短絡が完了する。
図２０は、ネットリスト内のオープンな抵抗の削減例を示す図である。図２０には、図１８に示したネットリスト８４についてオープンな抵抗を削減した場合の例が示されている。図１８に示した用に、閾値算出のために抵抗の短絡などの処理が行われたネットリスト８４は、回路情報記憶部１４２内のオリジナルの回路情報から、再度、ＲＡＭ１０２に展開される。そして、短絡条件に合致する抵抗が短絡される。短絡条件とは、抵抗値が閾値以下であること、およびオープンな抵抗であることである。
【０１１１】
ネットリスト８４では、抵抗値が閾値以下なのは、抵抗Ｒ６２，Ｒ６４，Ｒ６５である。これらの抵抗Ｒ６２，Ｒ６４，Ｒ６５のうち、オープンな抵抗は、抵抗Ｒ６５だけである。その結果、抵抗Ｒ６５が短絡され、ネットリスト８４から削除される。そして、短絡後のネットリスト８９が生成される。
【０１１２】
以下、図１６の説明に戻る。
［ステップＳ１２４］オープン抵抗削減部１４３は、選択したネットリスト内のすべての抵抗について短絡の要否判定が完了した場合、未選択のネットリストがあるか否かを判断する。未選択のネットリストがあれば、処理がステップＳ１１８に進められる。未選択のネットリストがなければ、処理がステップＳ１２５に進められる。
【０１１３】
［ステップＳ１２５］オープン抵抗削減部１４３は、すべてのネットリストについて、閾値以下の抵抗値のオープンな抵抗の短絡が完了した場合、展開していた回路モデルの内容を、回路情報記憶部１４２内の回路情報に反映する。
【０１１４】
このようにして、各ネットリストからオープンな抵抗が削減される。その後、回路モデル全体に対して、抵抗や容量素子の縮退や微小抵抗の短絡などが行われる。
図２１は、抵抗の縮退処理の一例を示す図である。図２１に示すように、抵抗がオームの法則に従って縮退される。例えば直列接続の抵抗Ｒ７１，Ｒ７２は、それらの合成抵抗値を有する抵抗Ｒ７５に縮退される。同様に、直列接続の抵抗Ｒ７３，Ｒ７４は、それらの合成抵抗値を有する抵抗Ｒ７６に縮退される。図２１の例では、直列抵抗の縮退によって生成された抵抗Ｒ７５，Ｒ７６は、並列接続となる。そこで並列抵抗の縮退処理により、抵抗Ｒ７５，Ｒ７６は、それらの合成抵抗を有する抵抗Ｒ７７に縮退される。
【０１１５】
図２２は、微小抵抗の短絡処理の一例を示す図である。図２２の例では、３つの抵抗Ｒ８１〜Ｒ８３のうち、Ｒ８２のみが、所定値以下の抵抗値を有する微小抵抗であるものとする。この場合、抵抗Ｒ８２が短絡される。なお、抵抗Ｒ８２はオープンな抵抗ではなく、抵抗Ｒ８２の端子が接続された２つの頂点９１，９２のうち、一方の頂点９１はトランジスタに接続されている。抵抗Ｒ８２を短絡すると、頂点９２があった位置に、頂点９１が移動することとなる。
【０１１６】
なお図２２には微小抵抗の短絡処理を示したが、微小容量素子の短絡処理も同様である。以上のような回路モデルの簡略化処理が完了すると、簡略後の回路モデルに従って回路情報記憶部１４２内の回路情報が更新される。そして、その回路情報が、簡略モデル記憶部１５０に出力される。例えば、回路情報ファイル１２１（図１１参照）と同じデータ形式のファイルが、簡略モデル記憶部１５０に格納される。
【０１１７】
このように、第２の実施の形態では、ネットリストの短絡要否判定の閾値が計算され、その閾値以下の抵抗値のオープンな抵抗が短絡される。その結果、タイミング解析に求められる解析精度に応じた、適切な回路モデルの簡略化が行われる。すなわちオープンな抵抗の短絡により、縮退率を向上させ、タイミング解析時間を短縮させながらも、タイミング解析上影響の大きいオープンな抵抗は回路モデルに残される。これにより、タイミング解析の精度低下が抑止される。
【０１１８】
また第２の実施の形態では、オープンな回路の短絡の要否判定に用いる閾値を、解析精度係数と回路の概算抵抗値とから算出している。これにより、ユーザは、回路内の抵抗値の大小を意識せずに、解析精度係数をするだけで、適切な閾値を設定することができる。そのため、ユーザの負担が軽減される。
【０１１９】
特に、第２の実施の形態では、ネットリストごとに閾値をすることで、ネットリストごとに解析精度が異なる場合でも、各ネットリストに適切な閾値の設定が可能となっている。このようなネットリストごとの閾値の設定を個別にユーザが行ったのでは、ユーザの負担が過大となる。しかし、第２の実施の形態では、解析精度係数を指令するだけで、各ネットリストに適切な閾値が設定できるため、ユーザの負担は非常に少なくてすむ。
【０１２０】
なお第２の実施の形態では、タイミング解析を行う場合の回路モデルの簡略化について説明したが、タイミング解析以外の解析を行う場合でも、同様の回路モデルの簡略化を行うことができる。タイミング解析以外の解析を行う場合も、その解析の精度に応じた解析精度係数を設定することで、適切な回路モデルの簡略化が可能となる。
【０１２１】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【符号の説明】
【０１２２】
１  記憶手段
１ａ  回路モデル
２  決定手段
３  検出手段
４  削除手段
ＣＰ  設計支援装置
【図１】
2014182430.tif 000003
【図２】
2014182430.tif 000004
【図３】
2014182430.tif 000005
【図４】
2014182430.tif 000006
【図５】
2014182430.tif 000007
【図６】
2014182430.tif 000008
【図７】
2014182430.tif 000009
【図８】
2014182430.tif 000010
【図９】
2014182430.tif 000011
【図１０】
2014182430.tif 000012
【図１１】
2014182430.tif 000013
【図１２】
2014182430.tif 000014
【図１３】
2014182430.tif 000015
【図１４】
2014182430.tif 000016
【図１５】
2014182430.tif 000017
【図１６】
2014182430.tif 000018
【図１７】
2014182430.tif 000019
【図１８】
2014182430.tif 000020
【図１９】
2014182430.tif 000021
【図２０】
2014182430.tif 000022
【図２１】
2014182430.tif 000023
【図２２】
2014182430.tif 000024