(57)【要約】【課題】電源抵抗を共有するトランジスタまたはダミー素子を含む回路の遅延時間の解析処理時間を短縮すること。【解決手段】複数のトランジスタと、電源と前記複数のトランジスタとの間の共通の経路に配置された第１の抵抗と、を有する回路の遅延を解析する回路遅延解析装置であって、前記回路から前記第１の抵抗が削除された回路が分割された複数の部分回路の各々について、前記第１の抵抗が複製された前記第１の抵抗の複製を前記複数の部分回路にそれぞれ追加し、前記第１の抵抗の複製がそれぞれ追加された前記複数の部分回路の遅延を解析する。【選択図】図４
2018120259.tif 000002
【特許請求の範囲】
【請求項１】
複数のトランジスタと、電源と前記複数のトランジスタとの間の共通の経路に配置された第１の抵抗と、を有する回路の遅延を解析する回路遅延解析装置であって、
前記回路から前記第１の抵抗が削除された回路が分割された複数の部分回路の各々について、前記第１の抵抗が複製された第１の抵抗の複製を前記複数の部分回路にそれぞれ追加する抵抗複製部と、
前記第１の抵抗の複製がそれぞれ追加された前記複数の部分回路の遅延を解析する解析部と、
を備える回路遅延解析装置。
【請求項２】
前記回路は、前記電源と前記複数のトランジスタとの間のそれぞれの経路のうち共通しない位置に複数の第２の抵抗を含み、
前記抵抗複製部は、前記回路から前記複数の第２の抵抗が削除された回路が分割され、前記複数の第２の抵抗が複製された複数の第２の抵抗の複製がそれぞれ追加された、複数の部分回路から前記複数の第２の抵抗の複製のうち端子の一方が解放されている複製を削除することを特徴とする請求項１記載の回路遅延解析装置。
【請求項３】
複数のトランジスタと、前記複数のトランジスタの入出力の論理に影響を与えないダミー素子と、を有する回路の遅延を解析する回路遅延解析装置であって、
前記回路から前記ダミー素子が削除された回路が分割された複数の部分回路のうち、前記ダミー素子と接続していたトランジスタを含む部分回路に、前記ダミー素子が複製されたダミー素子の複製を追加するダミー素子複製部と、
前記ダミー素子の複製が追加された前記複数の部分回路の遅延を解析する解析部と、
を備える回路遅延解析装置。
【請求項４】
前記ダミー素子は、トランジスタであり、
前記ダミー素子複製部は、前記部分回路に追加された前記複製の一方の端子をグランドに接続することを特徴とする請求項３記載の回路遅延解析装置。
【請求項５】
複数のトランジスタと、電源と前記複数のトランジスタとの間の共通の経路に配置された第１の抵抗と、を有する回路の遅延を解析する回路遅延解析方法であって、
回路遅延解析装置が
前記回路から前記第１の抵抗が削除された回路が分割された複数の部分回路の各々について、前記第１の抵抗が複製された第１の抵抗の複製を前記複数の部分回路にそれぞれ追加し、
前記第１の抵抗の複製がそれぞれ追加された前記複数の部分回路の遅延を解析する
処理を備える回路遅延解析方法。
【請求項６】
複数のトランジスタと、前記複数のトランジスタの入出力の論理に影響を与えないダミー素子と、を有する回路の遅延を解析する回路遅延解析方法であって、
回路遅延解析装置が
前記回路から前記ダミー素子が削除された回路が分割された複数の部分回路のうち、前記ダミー素子と接続していたトランジスタを含む部分回路に、前記ダミー素子が複製されたダミー素子の複製を追加し、
前記ダミー素子の複製が追加された前記複数の部分回路の遅延を解析する
処理を備える回路遅延解析方法。
【請求項７】
複数のトランジスタと、電源と前記複数のトランジスタとの間の共通の経路に配置された第１の抵抗と、を有する回路の遅延を解析するコンピュータに、
前記回路から前記第１の抵抗が削除された回路が分割された複数の部分回路の各々について、前記第１の抵抗が複製された第１の抵抗の複製を前記複数の部分回路にそれぞれ追加し、
前記第１の抵抗の複製がそれぞれ追加された前記複数の部分回路の遅延を解析する
処理を実行させる回路遅延解析プログラム。
【請求項８】
複数のトランジスタと、前記複数のトランジスタの入出力の論理に影響を与えないダミー素子と、を有する回路の遅延を解析するコンピュータに、
前記回路から前記ダミー素子が削除された回路が分割された複数の部分回路のうち、前記ダミー素子と接続していたトランジスタを含む部分回路に、前記ダミー素子が複製されたダミー素子の複製を追加し、
前記ダミー素子の複製が追加された前記複数の部分回路の遅延を解析する
処理を実行させる回路遅延解析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路遅延解析装置、回路遅延解析方法、および回路遅延解析プログラムに関する。
【背景技術】
【０００２】
近年のプロセッサの開発には、従来よりも高性能なカスタムマクロが使用されている。カスタムマクロとは、半導体内部において、配置配線済みのトランジスタ又は複数のトランジスタを含むセルを内部に有する機能ブロックをいう。カスタムマクロは、高速化と複雑化が年々進み、回路規模が巨大となり、回路全体での遅延解析を行うことは難しい。
【０００３】
そのため、回路の遅延解析を高速に行う方法として、回路全体を部分回路に分割する方法や、回路を簡略化する方法が知られている。
【０００４】
ネットリストを単位ブロックに分割した後に、これらの単位ブロックを所定の条件に従って結合することによって所定の規模の回路ブロックを形成し、各回路ブロックについて動的タイミング解析を行う解析方法が知られている（例えば、特許文献１参照）。また、出力負荷を近似して行うためのシミュレーション方法が知られている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−２１５７１０号公報
【特許文献２】特開２００６−１４６５９５号公報
【特許文献３】特開平３−２５２７７０号公報
【特許文献４】特開２０００−３３１０４３号公報
【特許文献５】特開２０１４−１８２４３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
回路の複雑化が進み、電源抵抗を共有するトランジスタが回路に含まれるようになっている。また、回路の微細化と共に回路を構成する素子形状のばらつきが生じるため、素子形状のばらつきを軽減するために、対象となる素子の近傍にダミーとなる素子（ダミー素子）が配置されている。
【０００７】
従来の遅延解析方法は、電源抵抗を共有するトランジスタまたはダミー素子を含む回路の遅延時間の解析精度と処理時間との両立が困難であるという問題がある。
【０００８】
本発明の課題は、電源抵抗を共有するトランジスタまたはダミー素子を含む回路の遅延時間の解析処理時間を短縮することである。
【課題を解決するための手段】
【０００９】
実施の形態に係る回路遅延解析装置は、複数のトランジスタと、電源と前記複数のトランジスタとの間の共通の経路に配置された第１の抵抗と、を有する回路の遅延を解析する。
【００１０】
前記回路遅延解析装置は、抵抗複製部と、解析部と、を備える。
【００１１】
前記抵抗複製部は、前記回路から前記第１の抵抗を削除が削除された回路が分割された複数の部分回路の各々について、前記第１の抵抗が複製された第１の抵抗の複製を前記複数の部分回路にそれぞれ追加する。
【００１２】
前記解析部と、前記第１の抵抗の複製がそれぞれ追加された前記複数の部分回路の遅延を解析する。
【発明の効果】
【００１３】
実施の形態に係る回路遅延解析装置によれば、電源抵抗を共有するトランジスタまたはダミー素子を含む回路の遅延時間の解析処理時間を短縮することができる。
【図面の簡単な説明】
【００１４】
【図１】電源抵抗を共有しないトランジスタを含む回路の回路図である。
【図２】電源抵抗を共有するトランジスタを含む回路の回路図である。
【図３】ダミートランジスタを含む回路の回路図である。
【図４】実施の形態に係る回路遅延解析装置の構成図である。
【図５】実施の形態に係る回路遅延解析方法のフローチャートである。
【図６】回路分割処理の詳細なフローチャートである。
【図７Ａ】電源抵抗網複製処理の詳細なフローチャートである。
【図７Ｂ】電源抵抗網複製処理の詳細なフローチャートである。
【図８】電源抵抗網複製処理の対象の回路の回路図である。
【図９】電源抵抗網が除去された回路の回路図である。
【図１０】電源抵抗網が複製された回路の回路図である。
【図１１】不要な抵抗が除去された回路の回路図である。
【図１２】ダミートランジスタ複製処理の詳細なフローチャートである。
【図１３】ダミートランジスタ複製処理の対象の回路の回路図である。
【図１４】ダミートランジスタが除去された回路の回路図である。
【図１５】ダミートランジスタが複製された回路の回路図である。
【図１６】情報処理装置（コンピュータ）の構成図である。
【発明を実施するための形態】
【００１５】
最初に従来の遅延解析方法の問題点について説明する。
【００１６】
図１は、電源抵抗を共有しないトランジスタを含む回路の回路図である。
【００１７】
図１に示す回路５１は、抵抗Ｒ１〜Ｒ３、トランジスタＴｒ１〜Ｔｒ６、電源Ｖｄｄ、およびグランドＧＮＤを含む。また、トランジスタＴｒ１，Ｔｒ３，Ｔｒ５と電源Ｖｄｄとの間に配置される抵抗Ｒ１〜Ｒ３は、電源抵抗Ｒ１〜Ｒ３と表記する場合がある。また、電源抵抗の集合を電源抵抗網と呼ぶ。回路５１は、解析対象であるカスタムマクロまたはカスタムマクロを含む回路（プロセッサ）の一例である。回路５１は、１入力１出力の回路である。
【００１８】
トランジスタＴｒ１，Ｔｒ３，Ｔｒ５は、ｐＭＯＳトランジスタであり、トランジスタＴｒ２，Ｔｒ４，Ｔｒ６は、ｎＭＯＳトランジスタである。トランジスタＴｒ１とトランジスタＴｒ２の組み合わせ、トランジスタＴｒ３とトランジスタＴｒ４の組み合わせ、およびトランジスタＴｒ５とトランジスタＴｒ６の組み合わせにより、それぞれインバータ回路を構成している。
【００１９】
回路５１の入力端子は、トランジスタＴｒ１，Ｔｒ２のゲートに接続している。トランジスタＴｒ１、Ｔｒ３，Ｔｒ５のソースは、電源抵抗Ｒ１，Ｒ２，Ｒ３とそれぞれ接続している。トランジスタＴｒ１、Ｔｒ３，Ｔｒ５のドレインは、トランジスタＴｒ２，Ｔｒ４，Ｔｒ６のドレインとそれぞれ接続している。トランジスタＴｒ２、Ｔｒ４，Ｔｒ６のソースは、グランドＧＮＤと接続している。
【００２０】
トランジスタＴｒ１のドレインおよびトランジスタＴｒ２のドレインは、トランジスタＴｒ３，Ｔｒ４のゲートに接続している。トランジスタＴｒ３のドレインおよびトランジスタＴｒ４のドレインは、トランジスタＴｒ５，Ｔｒ６のゲートに接続している。トランジスタＴｒ５のドレインとトランジスタＴｒ６のドレインは、回路５１の出力端子と接続している。
【００２１】
図１に示す回路５１は、３つの部分回路に分割することができる。部分回路１〜３は、それぞれ２個のトランジスタを含んでいる。電源抵抗を共有しないトランジスタを含む回路は、部分回路の規模を小さくすることができ、解析時間を少なくすることができる。
【００２２】
近年、電源抵抗網が複雑化し、電源抵抗を共有するトランジスタが回路に含まれる場合がある。
【００２３】
図２は、電源抵抗を共有するトランジスタを含む回路の回路図である。
【００２４】
図２に示す回路５２は、抵抗Ｒ１〜Ｒ４、トランジスタＴｒ１〜Ｔｒ６、電源Ｖｄｄ、およびグランドＧＮＤを含む。また、トランジスタＴｒ１，Ｔｒ３，Ｔｒ５と電源Ｖｄｄとの間に配置される抵抗Ｒ１〜Ｒ４は、電源抵抗Ｒ１〜Ｒ４と表記する場合がある。回路５２は、解析対象であるカスタムマクロまたはカスタムマクロを含む回路（プロセッサ）の一例である。回路５２は、１入力１出力の回路である。
【００２５】
トランジスタＴｒ１，Ｔｒ３，Ｔｒ５は、ｐＭＯＳトランジスタであり、トランジスタＴｒ２，Ｔｒ４，Ｔｒ６は、ｎＭＯＳトランジスタである。トランジスタＴｒ１とトランジスタＴｒ２の組み合わせ、トランジスタＴｒ３とトランジスタＴｒ４の組み合わせ、およびトランジスタＴｒ５とトランジスタＴｒ６の組み合わせにより、それぞれインバータ回路を構成している。
【００２６】
回路５２の入力端子は、トランジスタＴｒ１，Ｔｒ２のゲートに接続している。トランジスタＴｒ１、Ｔｒ３，Ｔｒ５のソースは、電源抵抗Ｒ２，Ｒ３，Ｒ４とそれぞれ接続している。電源抵抗Ｒ２，Ｒ３は、電源抵抗Ｒ１と接続している。電源抵抗Ｒ１、Ｒ４は、電源Ｖｄｄと接続している。トランジスタＴｒ１、Ｔｒ３，Ｔｒ５のドレインは、トランジスタＴｒ２，Ｔｒ４，Ｔｒ６のドレインとそれぞれ接続している。トランジスタＴｒ２、Ｔｒ４，Ｔｒ６のソースは、グランドＧＮＤとそれぞれ接続している。
【００２７】
トランジスタＴｒ１のドレインおよびトランジスタＴｒ２のドレインは、トランジスタＴｒ３，Ｔｒ４のゲートに接続している。トランジスタＴｒ３のドレインおよびトランジスタＴｒ４のドレインは、トランジスタＴｒ５，Ｔｒ６のゲートに接続している。トランジスタＴｒ５のドレインとトランジスタＴｒ６のドレインは、回路５２の出力端子と接続している。
【００２８】
図２において、トランジスタＴｒ１は、電源抵抗Ｒ１，Ｒ２を介して電源Ｖｄｄと接続している。トランジスタＴｒ３は、電源抵抗Ｒ１，Ｒ３を介して電源Ｖｄｄと接続している。
【００２９】
このように、トランジスタＴｒ１とトランジスタＴｒ３は、電源Ｖｄｄとの間の経路に共通の経路を有しており、共通の経路に配置された電源抵抗Ｒ１を共有している。このような電源抵抗を共有するトランジスタは、分割して解析することが難しく、１度に解析することが望ましい。トランジスタＴｒ１〜Ｔｒ４は、ソース−ドレイン経由で接続しているため、分割することが難しい。トランジスタＴｒ３，Ｔｒ４のドレインは、トランジスタＴｒ５，Ｔｒ６のゲートと接続しているため、トランジスタＴｒ３，Ｔｒ４とトランジスタＴｒ５，Ｔｒ６は、分割することが可能である。回路５２を部分回路に分割すると、部分回路１，２が得られる。
【００３０】
部分回路１は、４個のトランジスタＴｒ１〜Ｔｒ４を含んでいる。解析時間は、トランジスタ数に対して指数関数的に増加する。そのため、電源を共有するトランジスタがある場合、異なる部分回路に分割することが難しく、１つの部分回路に含まれるトランジスタ数が多くなるため、解析時間が増加する。
【００３１】
回路の微細化と共に、回路を構成するトランジスタ等の素子形状のばらつきが生じる。通常、光学近接効果による素子形状のばらつきを軽減するために、対象となる素子の近傍に、ダミーとなるトランジスタ（ダミートランジスタ）が配置される。ダミートランジスタは、信号を通さず、ダミートランジスタによる遅延を考慮しないときに回路（詳細には回路内のトランジスタ等の素子）の入出力の論理に影響を与えない素子である。ダミートランジスタは、ダミー素子の一例であり、回路の入出力の論理に影響を与えなければ、ダミートランジスタ以外のダミー素子を用いてもよい。ダミートランジスタでつながれたトランジスタは、分けて解析することが困難であり、一度に解析することが望ましい。
【００３２】
図３は、ダミートランジスタを含む回路の回路図である。
【００３３】
図３に示す回路５３は、トランジスタＴｒ１〜Ｔｒ８、ダミートランジスタＤ１〜Ｄ４、電源Ｖｄｄ、およびグランドＧＮＤを含む。回路５３は、解析対象であるカスタムマクロまたはカスタムマクロを含む回路（プロセッサ）の一例である。回路５３は、２入力２出力の回路である。
【００３４】
トランジスタＴｒ１，Ｔｒ３，Ｔｒ５，Ｔｒ７、ダミートランジスタＤ１〜Ｄ４は、ｐＭＯＳトランジスタであり、トランジスタＴｒ２，Ｔｒ４，Ｔｒ６，Ｔｒ８は、ｎＭＯＳトランジスタである。トランジスタＴｒ１とトランジスタＴｒ２の組み合わせ、トランジスタＴｒ３とトランジスタＴｒ４の組み合わせ、トランジスタＴｒ５とトランジスタＴｒ６の組み合わせ、およびトランジスタＴｒ７とトランジスタＴｒ８の組み合わせにより、それぞれインバータ回路を構成している。
【００３５】
回路５３の第１の入力端子は、トランジスタＴｒ１，Ｔｒ２のゲートに接続している。回路５３の第２の入力端子は、トランジスタＴｒ３，Ｔｒ４のゲートに接続している。トランジスタＴｒ１、Ｔｒ３，Ｔｒ５，Ｔｒ７のソースは、電源Ｖｄｄとそれぞれ接続している。トランジスタＴｒ１、Ｔｒ３，Ｔｒ５，Ｔｒ７のドレインは、トランジスタＴｒ２，Ｔｒ４，Ｔｒ６、Ｔｒ８のドレインとそれぞれ接続している。トランジスタＴｒ２、Ｔｒ４，Ｔｒ６、Ｔｒ８のソースは、それぞれグランドＧＮＤと接続している。
【００３６】
トランジスタＴｒ１のドレインおよびトランジスタＴｒ２のドレインは、トランジスタＴｒ５，Ｔｒ６のゲートに接続している。トランジスタＴｒ３のドレインおよびトランジスタＴｒ４のドレインは、トランジスタＴｒ７，Ｔｒ８のゲートに接続している。トランジスタＴｒ５のドレインとトランジスタＴｒ６のドレインは、回路５２の第１の出力端子と接続している。トランジスタＴｒ７のドレインとトランジスタＴｒ８のドレインは、回路５２の第２の出力端子と接続している。
【００３７】
ダミートランジスタＤ１〜Ｄ４のゲートは、電源Ｖｄｄにそれぞれ接続している。ダミートランジスタＤ１のソースは、トランジスタＴｒ１、Ｔｒ２のドレインおよびトランジスタＴｒ５，Ｔｒ６のゲートと接続している。ダミートランジスタＤ１のドレインは、トランジスタＴｒ３、Ｔｒ４のドレインおよびトランジスタＴｒ７，Ｔｒ８のゲートと接続している。ダミートランジスタＤ１は、信号を通さず、ダミートランジスタＤ１による遅延を考慮しないときにトランジスタＴｒ１，Ｔｒ２の出力の論理およびトランジスタＴｒ５，Ｔｒ６の入力の論理に影響を与えない。
【００３８】
ダミートランジスタＤ２のソースは、トランジスタＴｒ５，Ｔｒ６のドレイン、第１の出力端子、およびダミートランジスタＤ４のドレインと接続している。ダミートランジスタＤ２のドレインは、トランジスタＴｒ７，Ｔｒ８のドレイン、第２の出力端子、およびダミートランジスタＤ３のソースと接続している。ダミートランジスタＤ２は、信号を通さず、ダミートランジスタＤ２による遅延を考慮しないときにトランジスタＴｒ５〜Ｔｒ８の出力の論理に影響を与えない。
【００３９】
ダミートランジスタＤ３のソースは、トランジスタＴｒ７，Ｔｒ８のドレイン、第２の出力端子、およびダミートランジスタＤ２のドレインと接続している。ダミートランジスタＤ３のドレインは、トランジスタＴｒ３，Ｔｒ４のドレインおよびダミートランジスタＤ１のドレインと接続している。ダミートランジスタＤ３は、信号を通さず、ダミートランジスタＤ３による遅延を考慮しないときにトランジスタＴｒ３，Ｔｒ４、Ｔｒ７，Ｔｒ８の出力の論理に影響を与えない。
【００４０】
ダミートランジスタＤ４のソースは、トランジスタＴｒ５のソースおよび電源Ｖｄｄと接続している。ダミートランジスタＤ４のドレインは、トランジスタＴｒ５，Ｔｒ６のドレイン、第１の出力端子、およびダミートランジスタＤ２のソースと接続している。ダミートランジスタＤ４は、信号を通さず、ダミートランジスタＤ４による遅延を考慮しないときにトランジスタＴｒ５、Ｔｒ６の出力の論理に影響を与えない。
【００４１】
図３に示す回路５３において、トランジスタＴｒ１〜Ｔｒ８はダミートランジスタＤ１〜Ｄ４を介して接続されているため、部分回路に分割して解析することが難しい。そのため、８個のトランジスタＴｒ１〜Ｔｒ８と４個のダミートランジスタＤ１〜Ｄ４を含む回路５３が１度に解析され、処理時間が長くなる。
【００４２】
このように、ダミートランジスタが原因で一度に解析するトランジスタ数が増えて、指数関数的に処理時間が長くなる。
【００４３】
回路から電源抵抗網やダミートランジスタを除去し、電源抵抗網やダミートランジスタが除去された回路を部分回路に分割することで、部分回路の規模（すなわち、各部分回路に含まれるトランジスタ数）を小さくし、解析時間を短縮することができる。しかしながら、実回路と比較した際に、電源抵抗網やダミートランジスタが除去された回路の解析結果は、精度が悪くなる。すなわち、解析に際して、電源抵抗網やダミートランジスタを考慮しないと、解析精度を得ることは困難である。
【００４４】
このように、従来の遅延解析方法は、遅延時間の解析精度と処理時間との両立が困難である。
【００４５】
以下、図面を参照しながら実施の形態について説明する。
【００４６】
図４は、実施の形態に係る回路遅延解析装置の構成図である。
【００４７】
回路遅延解析装置１０１は、処理部２０１および記憶部３０１を備える。
【００４８】
処理部２０１は、電源抵抗網複製部２１１、ダミートランジスタ複製部２２１、回路分割部２３１、動的タイミング解析部２４１、および静的タイミング解析部２５１を備える。尚、回路遅延解析装置１０１は、電源抵抗網複製部２１１またはダミートランジスタ複製部２２１のいずれか一方のみを含んでもよい。
【００４９】
電源抵抗網複製部２１１は、電源抵抗網複製処理を行い、複数のトランジスタに共有された電源抵抗が複製された回路を作成する。
【００５０】
ダミートランジスタ複製部２２１は、ダミートランジスタ複製処理を行い、ダミートランジスタが複製された回路を作成する。
【００５１】
回路分割部２３１は、対象の回路を複数の部分回路に分割する。
【００５２】
動的タイミング解析部２４１は、動的タイミング解析を行う。詳細には、動的タイミング解析部２４１は、複数の部分回路それぞれに対して、遅延時間を考慮したシミュレーションを行って信号の伝播時間を測定する。動的タイミング解析部２４１は、動的タイミング解析の結果を動的タイミング解析結果３５１として記憶部３０１に記憶する。
【００５３】
静的タイミング解析部２５１は、静的タイミング解析を行い、信号の遅延時間を解析する。詳細には、静的タイミング解析部２５１は、動的タイミング解析結果３５１を基に遅延時間を算出する。静的タイミング解析部２５１は、静的タイミング解析の結果をタイミング解析ライブラリ３４１として記憶部３０１に記憶する。
【００５４】
記憶部３０１は、回路遅延解析装置１０１で使用されるデータを記憶する記憶装置である。記憶部３０１は、ネットリスト３１１、修正ネットリスト３２１、動的タイミング解析結果３３１、およびタイミング解析ライブラリ３４１記憶する。
【００５５】
ネットリスト３１１は、解析対象のカスタムマクロやカスタムマクロを含む回路等のネットリストである。ネットリストは、回路に含まれる素子の端子間の接続情報を含む。
【００５６】
修正ネットリスト３２１は、電源抵抗網複製処理およびダミートランジスタ複製処理の少なくとも一方が行われた回路のネットリストである。
【００５７】
動的タイミング解析結果３３１は、動的タイミング解析の結果である。
【００５８】
タイミング解析ライブラリ３４１は、静的タイミング解析の結果である。
【００５９】
図５は、実施の形態に係る回路遅延解析方法のフローチャートである。
【００６０】
ステップＳ５０１において、電源抵抗網複製部２１１は、電源抵抗網複製処理を行う。電源抵抗網複製処理の詳細は後述する。
【００６１】
ステップＳ５０２において、ダミートランジスタ複製部２２１は、ダミートランジスタ複製処理を行う。ダミートランジスタ複製処理の詳細は後述する。
【００６２】
尚、ステップＳ５０１またはステップＳ５０２のいずれか一方は省略してもよい。
【００６３】
ステップＳ５０３において、回路分割部２３１は、修正ネットリスト３２１を用いて回路分割処理を行い、電源抵抗網複製処理およびダミートランジスタ複製処理の少なくとも一方が行われた回路を複数の部分回路に分割する。回路分割処理の詳細は後述する。
【００６４】
ステップＳ５０４において、動的タイミング解析部２４１は、ステップＳ５０３で作成された複数の部分回路それぞれに対して、遅延時間を考慮したシミュレーションを行って信号の伝播時間を測定する。動的タイミング解析部２４１は、動的タイミング解析の結果を動的タイミング解析結果３５１として記憶部３０１に記憶する。
【００６５】
ステップＳ５０５において、静的タイミング解析部２５１は、動的タイミング解析結果３３１に基づいて、静的タイミング解析を行い、静的タイミング解析の結果をタイミング解析ライブラリ３４１として記憶部３０１に記憶する。
【００６６】
図６は、回路分割処理の詳細なフローチャートである。
【００６７】
図６は、図５のステップＳ５０３に相当する。また、回路分割処理は、後述の電源抵抗網複製処理およびダミートランジスタ複製処理においても行われる。
【００６８】
ステップＳ５１１において、回路分割部２３１は、回路分割処理の対象の回路において、分割回路処理が行われていない（すなわち、部分回路ＩＤが付与されていない）トランジスタを１つ選択する。尚、電源抵抗網複製処理およびダミートランジスタ複製処理が行われた回路に対して回路分割処理を行う場合は、回路分割部２３１は、修正ネットリスト３２１を読み出して、当該回路の情報を取得する。電源抵抗網複製処理の中で回路分割処理を行う場合は、回路分割部２３１は、回路分割処理の対象の回路の情報を電源抵抗網複製部２１１から取得する。ダミートランジスタ複製処理の中で回路分割処理を行う場合は、回路分割部２３１は、回路分割処理の対象の回路の情報をダミートランジスタ複製処理部２２１から取得する。また、分割回路処理が行われていないトランジスタが無い場合、回路分割部２３１は、何も選択せず、制御はステップＳ５１２に進む。
【００６９】
ステップＳ５１２において、回路分割部２３１は、回路分割処理の対象の回路の全ての素子を処理済であるか（すなわち、部分回路ＩＤが付与されているか）判定する。全ての素子を処理済が処理済みである場合、制御はステップＳ５２８に進み、全ての素子が処理済でない場合、制御はステップＳ５１３に進む。
【００７０】
ステップＳ５１３において、回路分割部２３１は、選択したトランジスタをトレース対象に追加する。
【００７１】
ステップＳ５１４において、回路分割部２３１は、部分回路ＩＤを作成する。尚、作成される部分回路ＩＤは、以前に作成された部分回路ＩＤとは異なる。例えば、n回目に作成された部分回路ＩＤは、部分回路ＩＤ＝ｎとする。以前に作成された部分回路ＩＤは、今回作成された部分回路ＩＤで更新される。
【００７２】
ステップＳ５１５において、回路分割部２３１は、トレース対象の素子のうち、未選択の素子を１つ選択する。以下、選択された素子は、処理対象素子と表記する。
【００７３】
ステップＳ５１６において、回路分割部２３１は、トレース対象の素子が全てトレース済み（選択済み）であるか判定する。トレース対象の素子が全てトレース済み（選択済み）である場合、制御はステップＳ５１１に戻る。トレース対象の素子が全てトレース済み（選択済み）でない場合、制御はステップＳ５１７に進む。
【００７４】
ステップＳ５１７において、回路分割部２３１は、処理対象素子に部分回路ＩＤを付与する。
【００７５】
ステップＳ５１８において、回路分割部２３１は、処理対象素子が抵抗であるか判定する。
【００７６】
ステップＳ５１９において、回路分割部２３１は、抵抗の両端の端子（２端子）をチェック端子として設定する。
【００７７】
ステップＳ５２０において、回路分割部２３１は、処理対象素子がトランジスタであるか判定する。処理対象素子がトランジスタである場合、制御はステップＳ５２１に進み、処理対象素子がトランジスタでない場合、制御はステップＳ５１５に戻る。
【００７８】
ステップＳ５２１において、回路分割部２３１は、トランジスタのソースに接続する端子およびドレインに接続する端子をチェック端子として設定する。
【００７９】
ステップＳ５２２において、回路分割部２３１は、チェック端子のうち未選択の端子を１つ選択する。以下、選択された端子は、処理対象端子と表記する。
【００８０】
ステップＳ５２３において、回路分割部２３１は、処理対象素子のチェック端子の全てを処理済み（選択済み）であるか判定する。処理対象素子のチェック端子の全てが処理済み（選択済み）である場合、制御はステップＳ５１５に戻る。処理対象素子のチェック端子の全てが処理済み（選択済み）でない場合、制御はステップＳ５２４に進む。
【００８１】
ステップＳ５２４において、回路分割部２３１は、処理対象端子が電源またはグランドのいずれかに接続されているか判定する。処理対象端子が電源またはグランドいずれかに接続されている場合、制御はステップＳ５２２に戻り、処理対象端子が電源またはグランドいずれかに接続されていない場合、制御はステップＳ５２５に進む。
【００８２】
ステップＳ５２５において、回路分割部２３１は、処理対象端子に接続している素子（接続素子）を取得（検出）する。
【００８３】
ステップＳ５２６において、回路分割部２３１は、接続素子がトレース済みであるか判定する。接続素子がトレース済みである場合、制御はステップＳ５２２に戻り、接続素子がトレース済みでない場合、制御はステップＳ５２７に進む。回路分割部２３１は、接続素子がトレース対象に含まれている場合、トレース済みであると判定し、接続素子がトレース対象に含まれていない場合、トレース済みでないと判定する。
【００８４】
ステップＳ５２７において、回路分割部２３１は、接続素子をトレース対象に追加する。
【００８５】
ステップＳ５２８において、回路分割部２３１は、付与したＩＤ毎に部分回路にまとめる。すなわち、回路分割部２３１は、同一のＩＤを付与された素子を同じ部分回路とすることで、複数の部分回路を作成する。
【００８６】
図７Ａ、７Ｂは、電源抵抗網複製処理の詳細なフローチャートである。
【００８７】
ここでは、図８に示す回路６１−１を処理する場合を説明する。回路６１−１は、解析対象であるカスタムマクロまたはカスタムマクロを含む回路の一例である。尚、回路６１−１の構成は、図２の回路５２と同様であるため詳細な説明は省略する。また、回路６１−１は、解析対象の回路の一例であり、ダミートランジスタをさらに含んでいてもよい。
【００８８】
ステップＳ５３１において、電源抵抗網複製部２１１は、解析対象の回路のネットリスト３１１を読み出し、電源抵抗網複製処理の対象の回路において、電源またはグランドに接続している抵抗（接続抵抗）を１つ選択する。
【００８９】
ステップＳ５３２において、電源抵抗網複製部２１１は、回路内の全ての素子が処理済み（すなわち、グループＩＤが付与済み）であるか判定する。全ての素子が処理済みである場合、制御はステップＳ５４４に進み、全ての素子が処理済みで無い場合、制御はステップＳ５３３に進む。
【００９０】
ステップＳ５３３において、電源抵抗網複製部２１１は、ステップＳ５３１において選択した抵抗をトレース対象に追加する。
【００９１】
ステップＳ５３４において、電源抵抗網複製部２１１は、グループＩＤを作成する。尚、グループＩＤは、以前に作成されたグループＩＤとは異なる。例えば、n回目に作成されたグループＩＤは、グループＩＤ＝ｎとする。以前に作成されたグループＩＤは、今回作成されたグループＩＤで更新される。
【００９２】
ステップＳ５３５において、電源抵抗網複製部２１１は、トレース対象の素子のうち、未選択の素子を１つ選択する。以下、選択された素子は、処理対象素子と表記する。
【００９３】
ステップＳ５３６において、電源抵抗網複製部２１１は、トレース対象の素子が全てトレース済み（選択済み）であるか判定する。トレース対象の素子が全てトレース済み（選択済み）である場合、制御はステップＳ５３１に戻る。トレース対象の素子が全てトレース済み（選択済み）でない場合、制御はステップＳ５３７に進む。
【００９４】
ステップＳ５３７において、電源抵抗網複製部２１１は、処理対象素子にグループＩＤを付与する。尚、グループＩＤは、最新のグループＩＤである。
【００９５】
ステップＳ５３８において、電源抵抗網複製部２１１は、処理対象素子の両端の端子のうち未選択の端子を１つ選択する。以下、選択された端子は、処理対象端子と表記する。
【００９６】
ステップＳ５３９において、電源抵抗網複製部２１１は、処理対象素子の両端の端子を全て処理済みであるか判定する。処理対象素子の両端の端子が全て処理済みである場合、制御はステップＳ５３５に戻り、処理対象素子の両端の端子が全て処理済みでない場合、制御はステップＳ５４０に進む。
【００９７】
ステップＳ５４０において、電源抵抗網複製部２１１は、処理対象端子が電源またはグランドに接続しているか判定する。処理対象端子が電源またはグランドに接続している場合、制御はステップＳ５３８に戻り、処理対象端子が電源またはグランドに接続していない場合、制御はステップＳ５４１に進む。
【００９８】
ステップＳ５４１において、電源抵抗網複製部２１１は、処理対象端子に接続している抵抗（接続抵抗）を取得する。
【００９９】
ステップＳ５４２において、電源抵抗網複製部２１１は、接続抵抗がトレース済み（すなわち、グループＩＤが付与済み）であるか判定する。接続抵抗がトレース済みの場合、制御はステップＳ５３８に戻り、接続抵抗がトレース済みでない場合、制御はステップＳ５４３に進む。
【０１００】
ステップＳ５４３において、電源抵抗網複製部２１１は、接続抵抗をトレース対象に登録する。
【０１０１】
ステップＳ５４４において、電源抵抗網複製部２１１は、グループＩＤ毎に部分回路にまとめる。詳細には、電源抵抗網複製部２１１は、下記（１）〜（６）の処理を行う。
（１）未選択の電源抵抗のうち、同じグループＩＤが付与された複数の電源抵抗を選択する。同じグループＩＤが付与された複数の電源抵抗を電源抵抗グループと表記する。図８において、電源抵抗Ｒ１〜Ｒ３は、第１の電源抵抗グループに含まれ、電源抵抗Ｒ４は、第２の電源抵抗グループに含まれる。
（２）選択された電源抵抗にソースまたはドレインを接続しているトランジスタを取得する
（３）（２）の処理で取得したトランジスタにソースまたはドレインを接続しているトランジスタを取得する
（４）（３）の処理で新たなトランジスタを取得した場合は、そのトランジスタに対して（３）の処理を行い、（３）と（４）の処理を繰り返す。
（５）（２）〜（４）の処理で取得したトランジスタに、（１）で選択した電源抵抗に付与されているグループＩＤと同じグループＩＤを付与する
(６)全ての電源抵抗グループに対して、（２）〜（５）の処理を繰り返す。
【０１０２】
ステップＳ５４４の処理により、同じグループＩＤが付与された素子がまとめられた部分回路が作成される。
【０１０３】
図８の回路６１−１において、電源抵抗Ｒ１〜Ｒ３、トランジスタＴｒ１〜Ｔｒ４には、同じグループＩＤが付与される。
【０１０４】
ステップＳ５４５において、電源抵抗網複製部２１１は、回路から電源抵抗を除去する。図７において、電源抵抗網複製部２１１は、回路６１−１から電源抵抗Ｒ１〜Ｒ４を除去する。
【０１０５】
ステップＳ５４６において、電源抵抗網複製部２１１は、同じグループＩＤが付与された素子を有する部分回路毎に回路分割処理を行う。回路分割処理は、図６で述べたとおりである。回路分割処理により、図９に示す回路６１−２は、３つの部分回路１〜３に分割される。
【０１０６】
ステップＳ５４７において、電源抵抗網複製部２１１は、未選択の電源抵抗グループうち１つを選択する。選択された電源抵抗グループは、処理対象電源抵抗グループと表記する。
【０１０７】
ステップＳ５４８において、電源抵抗網複製部２１１は、全ての電源抵抗グループを処理済み（選択済み）であるか判定する。全ての電源抵抗グループが処理済みである場合、制御はステップＳ５５３に進み、全ての電源抵抗グループが処理済みで無い場合、制御はステップＳ５４９に進む。
【０１０８】
ステップＳ５４９において、電源抵抗網複製部２１１は、処理対象電源抵抗グループに含まれる電源抵抗のうち、未選択の電源抵抗を１つ選択する。選択された電源抵抗は、処理対象電源抵抗と表記する。
【０１０９】
ステップＳ５５０において、電源抵抗網複製部２１１は、処理対象電源抵抗グループに含まれる全ての電源抵抗が処理済みであるか判定する。処理対象電源抵抗グループに含まれる全ての電源抵抗が処理済みである場合、制御はステップＳ５４７に戻り、処理対象電源抵抗グループに含まれる全ての電源抵抗が処理済みで無い場合、制御はステップＳ５５１に進む。
【０１１０】
ステップＳ５５１において、電源抵抗網複製部２１１は、処理対象電源抵抗と接続するトランジスタを取得する。
【０１１１】
ステップＳ５５２において、電源抵抗網複製部２１１は、処理対象電源抵抗グループに接続する部分回路ＩＤ数を算出する。電源抵抗Ｒ１〜Ｒ３を含む第１の電源抵抗グループは、２つの部分回路１、２に接続するため、第１の電源抵抗グループに接続する部分回路ＩＤ数は２である。また、電源抵抗Ｒ４を含む第２の電源抵抗グループは、１つの部分回路３に接続するため、第２の電源抵抗グループに接続する部分回路ＩＤ数は１である。
【０１１２】
ステップＳ５５３において、電源抵抗網複製部２１１は、各電源抵抗グループにおいて、電源抵抗グループに接続する部分回路ＩＤ数分の電源抵抗グループの複製を作成する。電源抵抗Ｒ１，Ｒ２，Ｒ３を含む電源抵抗グループは、部分回路１，２の２つの部分回路に接続するので、２つの電源抵抗グループの複製が作成される。複製した第１の電源抵抗グループは、電源抵抗Ｒ１’、Ｒ２’、Ｒ３’を含み、複製した第２の電源抵抗グループは、電源抵抗Ｒ１’’、Ｒ２’’、Ｒ３’’を含む。電源抵抗Ｒ４を含む電源抵抗グループは、１つの部分回路３に接続するため、１つの電源抵抗グループの複製が作成される。
【０１１３】
ステップＳ５５４において、電源抵抗網複製部２１１は、各部分回路に対し複製した電源抵抗グループを繋げ各部分回路ＩＤ毎の電源抵抗網を生成する。図９において、電源抵抗網複製部２１１は、複製した電源抵抗Ｒ１’、Ｒ２’、Ｒ３’を含む第１の電源抵抗グループを部分回路１に繋げる。電源抵抗網複製部２１１は、複製した電源抵抗Ｒ１’’、Ｒ２’’、Ｒ３’’を含む第２の電源抵抗グループを部分回路２に繋げる。電源抵抗Ｒ４を含む電源抵抗グループは、１つの部分回路３に繋げる。それにより、図１０に示す回路６１−３が作成される。
【０１１４】
ステップＳ５５５において、電源抵抗網複製部２１１は、不要な抵抗を除去する。不要な抵抗は、例えば、端子の一方がどこにも繋がれていない解放状態の抵抗である。図１０の回路６１−３において、電源抵抗Ｒ３’、Ｒ２’’は、端子の一方がどこにも繋がれておらず、不要な抵抗であるので電源抵抗網複製部２１１は、電源抵抗Ｒ３’、Ｒ２’’を除去する。それにより、図１１に示す回路６１−４が作成される。不要な抵抗を削除することにより、回路は簡略化され、解析時間が短縮できる。図８の回路６１−１において、電源抵抗Ｒ２、Ｒ３は、電源ＶｄｄとトランジスタＴｒ１，Ｔｒ３とのそれぞれの間の経路において、共通しない位置に配置されている。このような電源抵抗Ｒ２、Ｒ３は、複製されて各部分回路に繋がれたときに、複製されたうちの一方（電源抵抗Ｒ３’、Ｒ２’’）の端子は解放状態となって、削除される。
【０１１５】
電源抵抗網複製部２１１は、修正された回路６１−４のネットリストをダミートランジスタ複製部２２１に出力する。また、電源抵抗網複製部２１１は、修正された回路６１−４のネットリストを修正ネットリスト３２１として記憶部３０１に記憶してもよい。
【０１１６】
図１２はダミートランジスタ複製処理の詳細なフローチャートである。
【０１１７】
ここでは、図１３に示す回路７１−１を処理する場合を説明する。回路７１−１は、解析対象であるカスタムマクロまたはカスタムマクロを含む回路の一例である。尚、回路７１−１の構成は、図３の回路５３と同様であるため詳細な説明は省略する。尚、説明を簡単にするため、電源抵抗網複製処理の説明で用いた回路６１−１とは異なる回路７１−１を用いて説明するが、実際の処理では、電源抵抗網複製処理により電源抵抗網が複製された回路に対してダミートランジスタ複製処理を行ってもよい。
【０１１８】
ステップＳ５６１において、ダミートランジスタ複製部２２１は、ダミートランジスタ複製処理の対象の回路からダミートランジスタを除去する。トランジスタがダミートランジスタであるか否かは、回路のネットリストに記載されており、ダミートランジスタ複製部２２１は、ネットリストを参照して、ダミートランジスタを特定して除去する。ダミートランジスタ複製部２２１は、回路７１−１からダミートランジスタＤ１〜Ｄ４を除去する。尚、ダミートランジスタ複製部２２１は、ダミートランジスタ複製処理の対象の回路の情報（ネットリスト）を、電源抵抗網複製処理が行われた場合は、電源抵抗網複製部２１１から受信する。また、電源抵抗網複製処理が行われない場合は、ダミートランジスタ複製処理の対象の回路のネットリスト３１１を記憶部３０１から読み出す。
【０１１９】
ステップＳ５６２において、ダミートランジスタ複製部２２１は、ダミートランジスタを除去した回路に対して回路分割処理を行う。回路分割処理は、図６で述べたとおりである。回路分割処理により、図１４に示す回路７１−２は、４つの部分回路１〜４に分割される。
【０１２０】
ステップＳ５６３において、ダミートランジスタ複製部２２１は、ダミートランジスタのうち未選択のダミートランジスタを１つ選択する。以下、選択されたダミートランジスタは、処理対象ダミートランジスタと表記する。
【０１２１】
ステップＳ５６４において、ダミートランジスタ複製部２２１は、全てのダミートランジスタが処理済みであるか判定する。全てのダミートランジスタが処理済みである場合、処理は終了し、全てのダミートランジスタが処理済みで無い場合、制御はステップＳ５６５に進む。ダミートランジスタ複製部２２１は、全てのダミートランジスタに対して、ステップＳ５６５の判定を行っていた場合、全てのダミートランジスタが処理済みと判定する。
【０１２２】
ステップＳ５６５において、ダミートランジスタ複製部２２１は、処理対象ダミートランジスタのソースとドレインが同じ部分回路に接続しているか判定する。処理対象ダミートランジスタのソースとドレインが同じ部分回路に接続している場合、制御はステップＳ５６６に進み、処理対象ダミートランジスタのソースとドレインがそれぞれ異なる部分回路に接続している場合、制御はステップＳ５６７に進む。ダミートランジスタ複製部２２１は、処理対象ダミートランジスタがダミートランジスタＤ１〜Ｄ３のいずれかである場合、異なる部分回路に接続していると判定する。ダミートランジスタ複製部２２１は、処理対象ダミートランジスタがダミートランジスタＤ４である場合、同じ部分回路に接続していると判定する。
【０１２３】
ステップＳ５６６において、ダミートランジスタ複製部２２１は、処理対象ダミートランジスタを除去前の状態に復元する。すなわち、ダミートランジスタ複製部２２１は、処理対象ダミートランジスタを部分回路の元の位置に繋げる。ダミートランジスタＤ４のソースとドレインは、部分回路２に接続されていたため、ダミートランジスタ複製部２２１は、ダミートランジスタＤ４を除去前の状態に復元、すなわち部分回路２の元の位置に繋げる。
【０１２４】
ステップＳ５６７において、ダミートランジスタ複製部２２１は、処理対象ダミートンラジスタの複製を２つ作成する。ダミートランジスタ複製部２２１は、ダミートランジスタＤ１の複製であるダミートランジスタＤ１’、Ｄ１’’を作成する。ダミートランジスタＤ２の複製であるダミートランジスタＤ２’、Ｄ２’’を作成する。ダミートランジスタＤ３の複製であるダミートランジスタＤ３’、Ｄ３’’を作成する。
【０１２５】
ステップＳ５６８において、ダミートランジスタ複製部２２１は、２つの複製のうちの第１の複製を処理対象ダミートランジスタのソースとドレインがそれぞれ接続していた異なる部分回路のうち一方の部分回路の元の位置に接続し、第１の複製の端子のうち部分回路と接続していない端子は、グランドに接続する。ダミートランジスタ複製部２２１は、ダミートランジスタＤ１’を部分回路１の元の位置に繋げ、ダミートランジスタＤ１’の部分回路に接続していない端子はグランドに接続する。ダミートランジスタ複製部２２１は、ダミートランジスタＤ２’を部分回路２の元の位置に繋げ、ダミートランジスタＤ２’の部分回路に接続していない端子はグランドに接続する。ダミートランジスタ複製部２２１は、ダミートランジスタＤ３’を部分回路４の元の位置に繋げ、ダミートランジスタＤ３’の部分回路に接続していない端子はグランドに接続する。
【０１２６】
ステップＳ５６９において、ダミートランジスタ複製部２２１は、２つの複製のうちの第２の複製を処理対象ダミートランジスタのソースとドレインがそれぞれ接続していた異なる部分回路のうち他方の部分回路の元の位置に接続し、第２の複製の端子のうち部分回路と接続していない端子は、グランドに接続する。また、ダミートランジスタ複製部２２１は、修正された回路のネットリストを修正ネットリスト３２１として記憶部３０１に記憶する。
【０１２７】
ダミートランジスタ複製部２２１は、ダミートランジスタＤ１’ ’を部分回路２の元の位置に繋げ、ダミートランジスタＤ１’’の部分回路に接続していない端子はグランドに接続する。ダミートランジスタ複製部２２１は、ダミートランジスタＤ２’ ’を部分回路４の元の位置に繋げ、ダミートランジスタＤ２’’の部分回路に接続していない端子はグランドに接続する。ダミートランジスタ複製部２２１は、ダミートランジスタＤ３’’を部分回路３の元の位置に繋げ、ダミートランジスタＤ３’ ’の部分回路に接続していない端子はグランドに接続する。これにより、図１５に示すような回路７１−３が作成される。上記処理により、部分回路の規模は縮小され、ダミートランジスタの影響も部分回路毎に計算することができる。
【０１２８】
実施の形態に係る回路遅延解析装置によれば、電源抵抗を共有するトランジスタを含む回路または素子を含む回路の遅延時間の解析処理時間を短縮することができる。
【０１２９】
実施の形態に係る回路遅延解析装置によれば、電源抵抗網は同じ電源内の電源抵抗網のトランジスタを識別できるグループＩＤ、および同じグループＩＤ内の部分回路ＩＤ数に応じて複製した電源抵抗グループによりトランジスタ数を減じた各部分回路ＩＤ毎に生成した電源抵抗網に分けて遅延解析することで、処理時間と精度との両立を実現する効果を奏する。
【０１３０】
実施の形態に係る回路遅延解析装置によれば、ダミートランジスタ回路は各々のダミートランジスタに分けて遅延解析することで、処理時間と精度との両立を実現する効果を奏する。
【０１３１】
図１６は、情報処理装置（コンピュータ）の構成図である。
【０１３２】
実施の形態の回路遅延解析装置１０１は、例えば、図１６に示すような情報処理装置（コンピュータ）１１によって実現可能である。
【０１３３】
情報処理装置１１は、ＣＰＵ１２、メモリ１３、入力装置１４、出力装置１５、記憶部１６、記録媒体駆動部１７、及びネットワーク接続装置１８を備え、それらはバス１９により互いに接続されている。
【０１３４】
ＣＰＵ１２は、情報処理装置１１全体を制御する中央処理装置である。ＣＰＵ１２は、電源抵抗網複製部２１１、ダミートランジスタ複製部２２１、回路分割部２３１、動的タイミング解析部２４１、および静的タイミング解析部２５１として動作する。
【０１３５】
メモリ１３は、プログラム実行の際に、記憶部１６（あるいは可搬記録媒体２０）に記憶されているプログラムあるいはデータを一時的に格納するRead Only Memory(ＲＯＭ)やRandom Access Memory(ＲＡＭ)等のメモリである。ＣＰＵ１２は、メモリ１３を利用してプログラムを実行することにより、上述した各種処理を実行する。
【０１３６】
この場合、可搬記録媒体２０等から読み出されたプログラムコード自体が実施の形態の機能を実現する。
【０１３７】
入力装置１４は、ユーザ又はオペレータからの指示や情報の入力、情報処理装置１１で用いられるデータの取得等に用いられる。入力装置１４は、例えば、キーボード、マウス、タッチパネル、カメラ、またはセンサ等である。
【０１３８】
出力装置１５は、ユーザ又はオペレータへの問い合わせや処理結果を出力したり、ＣＰＵ１２による制御により動作する装置である。出力装置１５は、例えば、ディスプレイ、またはプリンタ等である。
【０１３９】
記憶部１６は、例えば、磁気ディスク装置、光ディスク装置、テープ装置等である。情報処理装置１１は、記憶部１６に、上述のプログラムとデータを保存しておき、必要に応じて、それらをメモリ１３に読み出して使用する。メモリ１３および記憶部１６は、記憶部３０１に対応する。
【０１４０】
記録媒体駆動部１７は、可搬記録媒体２０を駆動し、その記録内容にアクセスする。可搬記録媒体としては、メモリカード、フレキシブルディスク、Compact Disk Read Only Memory(ＣＤ−ＲＯＭ)、光ディスク、光磁気ディスク等、任意のコンピュータ読み取り可能な記録媒体が用いられる。ユーザは、この可搬記録媒体２０に上述のプログラムとデータを格納しておき、必要に応じて、それらをメモリ１３に読み出して使用する。
【０１４１】
ネットワーク接続装置１８は、Local Area Network（ＬＡＮ）やWide Area Network（ＷＡＮ）等の任意の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インターフェースである。ネットワーク接続装置１８は、通信ネットワークを介して接続された装置へデータの送信または通信ネットワークを介して接続された装置からデータを受信する。
【０１４２】
以上の実施の形態に関し、さらに以下の付記を開示する。
（付記１）
複数のトランジスタと、電源と前記複数のトランジスタとの間の共通の経路に配置された第１の抵抗と、を有する回路の遅延を解析する回路遅延解析装置であって、
前記回路から前記第１の抵抗を削除が削除された回路が分割された複数の部分回路の各々について、前記第１の抵抗が複製された第１の抵抗の複製を前記複数の部分回路にそれぞれ追加する抵抗複製部と、
前記第１の抵抗の複製がそれぞれ追加された前記複数の部分回路の遅延を解析する解析部と、
を備える回路遅延解析装置。
（付記２）
前記回路は、前記電源と前記複数のトランジスタとの間のそれぞれの経路のうち共通しない位置に複数の第２の抵抗を含み、
前記抵抗複製部は、前記回路から前記複数の第２の抵抗が削除された回路が分割され、前記複数の第２の抵抗が複製された複数の第２の抵抗の複製がそれぞれ追加された、複数の部分回路から前記複数の第２の抵抗の複製のうち端子の一方が解放されている複製を削除することを特徴とする付記１記載の回路遅延解析装置。
（付記３）
複数のトランジスタと、前記複数のトランジスタの入出力の論理に影響を与えないダミー素子と、を有する回路の遅延を解析する回路遅延解析装置であって、
前記回路から前記ダミー素子が削除された回路が分割された複数の部分回路のうち、前記ダミー素子と接続していたトランジスタを含む部分回路に、前記ダミー素子が複製されたダミー素子の複製を追加するダミー素子複製部と、
前記ダミー素子の複製が追加された前記複数の部分回路の遅延を解析する解析部と、
を備える回路遅延解析装置。
（付記４）
前記ダミー素子は、トランジスタであり、
前記ダミー素子複製部は、前記部分回路に追加された前記複製の一方の端子をグランドに接続することを特徴とする付記３記載の回路遅延解析装置。
（付記５）
複数のトランジスタと、電源と前記複数のトランジスタとの間の共通の経路に配置された第１の抵抗と、を有する回路の遅延を解析する回路遅延解析方法であって、
回路遅延解析装置が
前記回路から前記第１の抵抗が削除された回路が分割された複数の部分回路の各々について、前記第１の抵抗が複製された第１の抵抗の複製を前記複数の部分回路にそれぞれ追加し、
前記第１の抵抗の複製がそれぞれ追加された前記複数の部分回路の遅延を解析する
処理を備える回路遅延解析方法。
（付記６）
前記回路は、前記電源と前記複数のトランジスタとの間のそれぞれの経路のうち、共通しない位置に複数の第２の抵抗を含み、
前記回路遅延解析方法は、
前記回路から前記複数の第２の抵抗が削除された回路が分割され、前記複数の第２の抵抗が複製された複数の第２の抵抗の複製がそれぞれ追加された、複数の部分回路から前記複数の第２の抵抗の複製のうち端子の一方が解放されている複製を削除する
処理をさらに備えることを特徴とする付記５記載の回路遅延解析方法。
（付記７）
複数のトランジスタと、前記複数のトランジスタの入出力の論理に影響を与えないダミー素子と、を有する回路の遅延を解析する回路遅延解析方法であって、
回路遅延解析装置が
前記回路から前記ダミー素子が削除された回路が分割された複数の部分回路のうち、前記ダミー素子と接続していたトランジスタを含む部分回路に、前記ダミー素子が複製されたダミー素子の複製を追加し、
前記ダミー素子の複製が追加された前記複数の部分回路の遅延を解析する
処理を備える回路遅延解析方法。
（付記８）
前記ダミー素子は、トランジスタであり、
前記部分回路に追加された前記複製の一方の端子をグランドに接続する処理をさらに備えることを特徴とする付記７記載の回路遅延解析方法。
（付記９）
複数のトランジスタと、電源と前記複数のトランジスタとの間の共通の経路に配置された第１の抵抗と、を有する回路の遅延を解析するコンピュータに、
前記回路から前記第１の抵抗が削除された回路が分割された複数の部分回路の各々について、前記第１の抵抗が複製された第１の抵抗の複製を前記複数の部分回路にそれぞれ追加し、
前記第１の抵抗の複製がそれぞれ追加された前記複数の部分回路の遅延を解析する
処理を実行させる回路遅延解析プログラム。
（付記１０）
前記回路は、前記電源と前記複数のトランジスタとの間のそれぞれの経路のうち共通しない位置に複数の第２の抵抗を含み、
前記コンピュータに、
前記回路から前記複数の第２の抵抗が削除された回路が分割され、前記複数の第２の抵抗が複製された複数の第２の抵抗の複製がそれぞれ追加された、複数の部分回路から前記複数の第２の抵抗の複製のうち端子の一方が解放されている複製を削除する
処理をさらに実行させることを特徴とする付記９記載の回路遅延解析プログラム。
（付記１１）
複数のトランジスタと、前記複数のトランジスタの入出力の論理に影響を与えないダミー素子と、を有する回路の遅延を解析するコンピュータに、
前記回路から前記ダミー素子が削除された回路が分割された複数の部分回路のうち、前記ダミー素子と接続していたトランジスタを含む部分回路に、前記ダミー素子が複製されたダミー素子の複製を追加し、
前記ダミー素子の複製が追加された前記複数の部分回路の遅延を解析する
処理を実行させる回路遅延解析プログラム。
（付記１２）
前記ダミー素子は、トランジスタであり、
前記部分回路に追加された前記複製の一方の端子をグランドに接続する処理を前記コンピュータにさらに備える実行させることを特徴とする付記１１記載の回路遅延解析プログラム。
【符号の説明】
【０１４３】
１０１    回路遅延解析装置
２０１    処理部
２１１    電源抵抗網複製部
２２１    ダミートランジスタ複製部
２３１    回路分割部
２４１    動的タイミング解析部
２５１    静的タイミング解析部
３０１    記憶部
３１１    ネットリスト
３２１    修正ネットリスト
３３１    動的タイミング解析結果
３４１    タイミング解析ライブラリ
【図１】
2018120259.tif 000003
【図２】
2018120259.tif 000004
【図３】
2018120259.tif 000005
【図４】
2018120259.tif 000006
【図５】
2018120259.tif 000007
【図６】
2018120259.tif 000008
【図７Ａ】
2018120259.tif 000009
【図７Ｂ】
2018120259.tif 000010
【図８】
2018120259.tif 000011
【図９】
2018120259.tif 000012
【図１０】
2018120259.tif 000013
【図１１】
2018120259.tif 000014
【図１２】
2018120259.tif 000015
【図１３】
2018120259.tif 000016
【図１４】
2018120259.tif 000017
【図１５】
2018120259.tif 000018
【図１６】
2018120259.tif 000019