(57)【要約】【課題】ＩＲドロップによる動作障害を引き起こしているクロックバッファに対して、スキュー再調整工程を省くことができる半導体集積回路の設計方法を提供することを目的とする。【解決手段】ＣＴＳのバッファ同士がＩＲドロップの主因になっているとき、枝分かれツリーを構成するツリーずらし、その後ろのバッファを温度ばらつきを吸収する方向でずらして修復するもので、消費電流値のピーク時刻がＴｚ遅くなったときの総電流量の最大値が希望電流量になるズレ時間計算工程（３００）と、前記Ｔｚと複数の配線ＮＡｎの抵抗成分データと容量成分データを有するレイアウト修正前初段配線情報ＮＡｎＲＣ０（３０２）とに基づいてレイアウト修正後初段配線情報（３０４）を計算するＮＡ計算工程（３０３）と、前記素子の出力端子までの区間を伝搬する信号の伝達遅延がＴｚだけ早くなるために必要な抵抗成分データと容量成分データＮＢ２ＲＣからなるレイアウト修正後次段配線情報ＮＢｎＲＣ（３０６）を計算するＮＢ計算工程（３０５）とを有する。【選択図】　　　図３
2004030086.tif 000002
【特許請求の範囲】
【請求項１】
出力端子Ｓｏｕｔを有する素子Ｓと、
入力端子ＡｎＩＮおよび出力端子ＡｎＯＵＴを有する複数の素子Ａｎ［ｎ＝１，２］と、
ノードＮＯＤＥ０と、
前記ノードＮＯＤＥ０と前記出力端子Ｓｏｕｔを繋ぐ配線Ｎ０と、
前記ノードＮＯＤＥ０と前記入力端子ＡｎＩＮを繋ぐ複数の配線ＮＡｎと、
入力端子ＢｎＩＮおよび出力端子ＢｎＯＵＴを有する複数の素子Ｂｎ［ｎ＝１，２］と、
前記出力端子ＡｎＯＵＴと前記入力端子ＢｎＩＮを繋ぐ複数の配線ＮＢｎを有する半導体集積回路において、
前記複数の素子Ａｎで消費される電流量の総和であり、ＩＲドロップ等を原因とした回路動作不良を回避できる希望電流量を入力し、前記複数の素子Ａｎのうちの素子Ａ２が消費する電流値が最大値になる時刻であるピーク時刻が（２＊Ｔｚ）だけ遅くなったときの前記複数の素子Ａｎの総電流量の最大値が、前記希望電流量になるようなを出力するズレ時間計算工程と、
前記Ｔｚと前記複数の配線ＮＡｎの抵抗成分データと容量成分データを有するレイアウト修正前初段配線情報ＮＡｎＲＣ０とに基づいて計算できる、前記素子Ａｎのうちの素子Ａ１が前記Ｔｚだけ早く動作する抵抗成分データと容量成分データＮＡ１ＲＣならびに前記素子Ａｎのうちの素子Ａ２が前記Ｔｚだけ遅く動作する抵抗成分データと容量成分データＮＡ２ＲＣとから、前記ＮＡ１ＲＣのうちの容量成分と前記ＮＡ２ＲＣのうちの容量成分との和が、前記ＮＡｎＲＣ０に含まれている容量値の和に等しい場合の抵抗成分データと容量成分データであるレイアウト修正後初段配線情報を計算するＮＡ計算工程と、
前記素子Ａ１の入力端子Ａ１ＩＮから前記素子Ｂｎのうちの素子Ｂ１の出力端子Ｂ１ＯＵＴでの区間を伝搬する信号の伝達遅延が前記Ｔｚだけ遅くなるために必要な抵抗成分データと容量成分データＮＢ１ＲＣと、前記素子Ａ２の入力端子Ａ２ＩＮから前記素子Ｂｎのうちの素子Ｂ２の出力端子Ｂ２ＯＵＴまでの区間を伝搬する信号の伝達遅延がズレ時間Ｔｚだけ早くなるために必要な抵抗成分データと容量成分データＮＢ２ＲＣからなるレイアウト修正後次段配線情報ＮＢｎＲＣを計算するＮＢ計算工程と
を有する半導体集積回路の設計方法。
【請求項２】
出力端子Ｓｏｕｔを有する素子Ｓと
入力端子ＡｎＩＮおよび出力端子ＡｎＯＵＴを有する素子Ａｎ［ｎ＝１，２］と
ノードＮＯＤＥ０と、
前記ノードＮＯＤＥ０と前記出力端子Ｓｏｕｔを繋ぐ配線Ｎ０と、
前記ノードＮＯＤＥ０と前記入力端子ＡｎＩＮを繋ぐ配線ＮＡｎと、
入力端子ＢｎＩＮおよび出力端子ＢｎＯＵＴを有する素子Ｂｎ［ｎ＝１，２］と、
前記出力端子ＡｎＯＵＴと前記入力端子ＢｎＩＮを繋ぐ配線ＮＢｎと、
入力端子ＣｎＩＮおよび出力端子ＣｎＯＵＴを有する素子Ｃｎと、
入力端子ＤｎＩＮおよび出力端子ＤｎＯＵＴを有する素子ＤＮと
前記ＢｎＯＵＴと前記ＣｎＩＮを繋ぐ配線ＮＢｎと、
前記ＣｎＯＵＴと前記ＤｎＩＮを繋ぐ配線ＮＣｎを有する
半導体集積回路ＫＡＩＲＯ０において、
温度係数ＴＥＭＰは、計算する工程で使用される温度係数であり、値ＭＡＸ、値ＭＩＮ、いずれかの値をとり、前記ＫＡＩＲＯ０の中の、前記出力端子Ｓｏｕｔから前記ＢｎＯＵＴまでの信号伝達時間は前記ＴＥＭＰを変数とする関数ＴＡＢｎ０（ＴＥＭＰ）であり、前記ＢｎＯＵＴから前記ＤｎＯＵＴまでの信号伝達時間は前記温度係数ＴＥＭＰを変数とする関数ＴＢＤｎ０（ＴＥＭＰ）であり、前記ＴＡＢｎ０（ＭＡＸ）および、前記ＴＢＤｎ０（ＭＡＸ）、および前記ＴＡＢｎ０（ＭＩＮ）、および前記ＴＢＤｎ０（ＭＩＮ）を計算して前記ＫＡＩＲＯ０の遅延時間を計算するＫＡＩＲＯ０遅延時間計算工程と、
前記半導体集積回路について、請求項１記載の半導体集積回路の設計方法を用いて回路修正を行い前記ＫＡＩＲＯ０の素子Ａ、素子Ｂを修正した半導体集積回路ＫＡＩＲＯ１として出力するＫＡＩＲＯ１作成工程と、
前記ＫＡＩＲＯ１の中の前記出力端子Ｓｏｕｔから前記ＢｎＯＵＴまでの信号伝達時間は前記ＴＥＭＰを変数とする関数ＴＡＢｎ１（ＴＥＭＰ）　、前記ＢｎＯＵＴから前記ＤｎＯＵＴまでの信号伝達時間は前記ＴＥＭＰを変数とする関数ＴＢＤｎ１（ＴＥＭＰ）であり、前記ＴＡＢｎ１（ＭＡＸ）および前記ＴＡＢｎ１（ＭＩＮ）を計算して前記ＫＡＩＲＯ１の遅延時間を計算するＫＡＩＲＯ１遅延時間計算工程と、
ＴＡＢｎ０（ＴＥＭＰ）　＋　ＴＣＤｎ０（ＴＥＭＰ）　＝　ＴＡＢｎ１（ＴＥＭＰ）　＋　ＴＣＤｎ１（ＴＥＭＰ）がすべての前記ＴＥＭＰで満たされるためのＴＢＤｎ１　（ＴＥＭＰ）を計算しＴＢＤｎ＿ＴＡＲＧＥＴ（ＴＥＭＰ）として出力するＴＢＤｎ１計算工程と、
前記配線ＮＣｎの信号伝達時間は、前記ＴＥＭＰを変数とする関数ＴＮＣｎ（ＴＥＭＰ）であり、前記配線ＮＤｎの信号伝達時間は、前記ＴＥＭＰを変数とする関数ＴＮＤｎ（ＴＥＭＰ）であり、前記ＴＢＤｎ１（ＴＥＭＰ）は、前記ＴＮＣｎ（ＴＥＭＰ）および前記ＴＮＤｎ（ＴＥＭＰ）を変数として有し、
ＴＢＤｎ１（ＴＥＭＰ）　＝　ＴＢＤｎ＿ＴＡＲＧＥＴ（ＴＥＭＰ）　　　（式１）
を満足する前記ＴＮＣｎ（ＴＥＭＰ）および前記ＴＮＤｎ（ＴＥＭＰ）を計算するＴＮＣ＆ＴＮＤ計算工程と、
前記配線ＮＣｎにおける寄生容量を変えずに、前記ＮＣｎにおける信号の伝達時間が、ＴＮＣｎ（ＴＥＭＰ）になるような抵抗値ＲＮＣｎ（ＴＥＭＰ）および前記配線ＮＤｎにおける寄生容量を変えずに、前記ＮＤｎにおける信号の伝達時間がＴＮＤｎ（ＴＥＭＰ）になるような抵抗値ＲＮＤｎ（ＴＥＭＰ）を計算し、前記ＲＮＣｎ（ＴＥＭＰ）をレイアウト修正後ＮＣｎ配線情報として出力し、前記ＲＮＤｎ（ＴＥＭＰ）をレイアウト修正後ＮＤｎ配線情報として出力するＲＮＣ＆ＲＮＤ計算工程と
を有する半導体集積回路の設計方法。
【請求項３】
前記ＴＮＣ＆ＴＮＤ計算工程は、
前記（式１）は、前記ＴＮＣｎ（ＭＡＸ）および前記ＴＮＤｎ（ＭＡＸ）とする複数の二次多項式で表現され、前記二次多項式を満たす前記ＴＣｎ（ＭＡＸ）および前記ＴＤｎ（ＭＡＸ）を計算し、解Ｃａｎｓｗｅｒおよび解Ｄａｎｓｗｅｒを出力する多項式計算工程と、
素子Ｃｎが正常に動作するＴＣｎ（ＭＡＸ）の範囲である範囲条件Ｃｃｏｎｄおよび素子Ｄｎが正常に動作するＴＤｎ（ＭＩＮ）の範囲である範囲条件Ｄｃｏｎｄを前記Ｃａｎｓｗｅｒおよび前記Ｄａｎｓｗｅｒが満たすか否かを判定し、満たさなければ処理を終了し、満たしていれば前記Ｃａｎｓｗｅｒを前記ＴＮＣｎ（ＴＥＭＰ）として出力し、前記Ｄａｎｓｗｅｒを前記ＴＮＤｎ（ＴＥＭＰ）として出力する判断工程と
を有する請求項２記載の半導体集積回路の設計方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路の設計において、クロックツリーのバッファの動作タイミングを、短い工数で修正する方法に関するものである。
【０００２】
【従来の技術】
従来の半導体集積回路の設計方法においては、クロックツリー（ＣＴＳ）は、バッファーバッファ間の負荷バランスが同じ枝同士で均一になるように設計される。これは、温度条件が変化しても、最終段のＦＦで生じるスキューが変動しないようにするためである。
【０００３】
ただ、この場合、同一段のクロックバッファは同期的に動作するため、クロックバッファがスイッチングする時刻には、このクロックバッファを含む回路は大きな電流を必要とする。この電流がＩＲドロップを誘発しやすいという問題がある。
【０００４】
この問題に対して、従来の半導体集積回路の設計方法においてはＩＲドロップ解析ツールを使用して、ＩＲドロップを誘発しているクロックバッファを特定し、電源配線強化やセル配置変更などのレイアウト修正を行い、その後に再度のタイミング修正を行っている。
【０００５】
【発明が解決しようとする課題】
しかしながら、この従来の修正方法では、レイアウト修正によりクロックバッファの移動や配線経路の変更を行ってしまうと、クロックツリーの枝ごとの負荷バランスが崩れてしまう。
【０００６】
負荷バランスが崩れることで、クロックポートから各フリップフロップに到るまでの、ゲート遅延量と配線遅延量の比率が、フリップフロップごとにばらつくことになる。
【０００７】
この状態だと、たとえタイミング調整を行っても、温度変化に伴うスキューの変化が発生してしまうので、レイアウト修正前と比較すると、最終的なスキューが悪化する。
【０００８】
このようなスキュー悪化によるタイミングマージンの低下は、チップの高速化に対する大きな障害となるため、再びスキューを調整し直さなければならず、それには大きな工数がかかるという問題がある。
【０００９】
本発明は上記問題を解決し、ＩＲドロップによる動作障害を引き起こしているクロックバッファに対して、ＩＲドロップ修正時のスキュー再調整工程を省くことができる半導体集積回路の設計方法を提供することを目的とする。
【００１０】
【課題を解決するための手段】
本発明の半導体集積回路の設計方法は、ＣＴＳのバッファ同士がＩＲドロップの主因になっているとき、枝分かれツリーを構成するツリーずらし、その後ろのバッファを温度ばらつきを吸収する方向でずらして修復するものである。
【００１１】
まず、ＩＲドロップにより動作障害をおこしているクロックバッファＡ１，Ａ２（以下、素子Ａ１，Ａ２と称す）と、そのバッファを含むバッファ群をドライブするクロックバッファＳを含むクロックツリーＣＴＳ＿αについて、クロックバッファＳ（以下、素子Ｓと称す）から素子Ａ１に到るまでの配線ＮＡ１の負荷を増やし、かつ、素子Ｓから素子Ａ２に到るまでの配線ＮＡ２の負荷を減らし、かつ、これらの変更量の総和が０になるようなＮＡｎの寄生成分に関する配線情報を出力する。
【００１２】
この配線条件を用いることで素子Ａ１と素子Ａ２のタイミングをずらすことができる。
そのずらす時間の量は、素子Ａ１および素子Ａ２の電流波形の半値幅の中から最大値が使用される。
【００１３】
ただし、このままでは、次の段以降の素子の動作タイミングがずれているので次の工程で修正する。
次に、Ａｎ［ｎ＝１，２］がドライブする素子Ｂｎに到るまでの配線ＮＢｎについて、Ａ１からＢ１に到るまでの配線負荷を減らし、かつ、Ａ２からＢ２に到るまでの配線負荷を増やし、かつ、ＳからＢｎに到るまでの信号の到達時間が、ＣＴＳ＿αにおける値が同じになるように、ＮＢｎの信号の伝達時間を調整した上で、その状態でのＮＢｎの寄生成分に関する配線情報を出力する。この調整を行った際の温度条件が最大値だったとする。
【００１４】
ただし、このとき、温度条件が別の最小値になったときには、ＳからＢｎに到るまでの信号の到達時間が、ＣＴＳ＿αにおける値が同じにならないので、次の工程で修正する。
【００１５】
次に、Ｂｎが配線ＮＣｎを介してドライブする素子Ｃｎおよび、Ｃｎが配線ＮＤｎを介してドライブする素子Ｄｎについて、温度条件が最大であるときに、ＳからＤｎに到るまでの信号到達時間が一致し、かつ温度条件が最小であるときに、ＳからＤｎに到るまでの信号到達時間が一致するための配線ＮＣｎの信号の伝達時間ＴＮＣｎおよび破線ＮＤｎの信号の伝達時間ＴＮＤｎを計算し、配線ＮＣｎにおいて、前の段の出力端子容量を変えずに、伝達時間がＴＮＣｎになるようなＮＣｎの配線抵抗ＲＮＣｎおよび配線ＮＤｎにおいて、前の段の出力端子容量を変えずに、伝達時間がＴＮＤｎになるようなＮＤｎの配線抵抗ＲＮＤｎを配線ＮＣｎの配線情報、および配線ＮＤｎの配線情報としてを出力する。
【００１６】
これらの配線情報を各配線の制約条件に反映させた上で、レイアウトＣＴＳ＿αをレイアウト修正することにより、ＩＲドロップによる動作障害を引き起こしているクロックバッファに対して、複数の温度条件について、スキューを変えることなくタイミングをずらし、ピーク電流を低減することにより、ＩＲドロップによる動作障害を取り除くことができる。これにより、ＩＲドロップ修正時のスキュー再調整工程を省くことができるので、工数を大幅に削減することが可能である。
【００１７】
【発明の実施の形態】
以下に本発明の実施の形態について、図を用いて説明する。
（実施の形態１）
図１は本発明の（実施の形態１）の半導体集積回路のレイアウトである。
【００１８】
１０１，１０３１，１０３２，１０４１，１０４２は素子、１０３１１，１０３２１，１０４１１，１０４２１は各素子の入力端子、１０１２，１０３１２，１０３２２，１０４１２，１０４２２は各素子の出力端子である。
【００１９】
１０７１，１０７２は配線で、それぞれ出力端子１０３１２と入力端子１０４１１および、出力端子１０３２２と入力端子１０４２１を接続している。
１０６１，１０６２は配線であり、それぞれノード１０４と入力端子１０３１１、およびノード１０４と入力端子１０３２１を接続している。また配線１０５は、出力端子１０１２とノード１０４を接続している。
【００２０】
この図１のレイアウトでは、ＩＲドロップを考慮せずにタイミング検証を行うと、タイミング違反がおきない状態であり、ＩＲドロップを考慮すると、素子１０３１，１０３２がスイッチングするときにＩＲドロップを生じ、タイミング違反が発生する状態になっている。
【００２１】
素子１０３１，１０３２の電流波形の模式図を図７（ａ）〜（ｃ）に示す。
図７（ａ）〜（ｃ）は、縦軸が電流、横軸が時間の電流波形図であり、７０１１が素子１０３１の電流波形、その半値幅が７０１２である。同様に７０２１が、素子１０３２の電流波形、その半値幅が７０２２である。素子１０３１と素子１０３２が消費する電流の総和の波形が７０３１である。
【００２２】
このように、素子１０３１，１０３２は、互いに同期的に動作しており、素子１０３１，１０３２を有する回路全体は、波形７０３１の波形ピークのタイミングで大量の電流を消費する。
【００２３】
図３は、図１に示した半導体集積回路の設計方法のフローチャートの模式図である。
ズレ時間計算工程３００では、以下の処理を行う。
【００２４】
前記素子Ａ１，Ａ２の総電流量の最大値が、希望電流量であるとき、ＩＲドロップによる前記Ａ１，Ａ２の動作障害が生じないような値を設計者が設定する。まず、希望電流量３０７を入力する。次に、素子Ａ２の動作タイミングが、素子Ａ１と比較し（２＊Ｔｚ）だけずれた状態における、素子Ａｎが消費する総消費電流量を計算したとき、その最大値が、希望電流量３０７になるようなＴｚを計算し、ズレ時間Ｔｚとして出力する。
【００２５】
以下に、具体的な例を示す。
図１３（ａ）（ｂ）は、ズレ時間計算工程３００を説明するための模式図である。
【００２６】
図１３（ａ）は初期状態での素子Ａ１，Ａ２の電流波形である。横軸が時刻であり、縦軸が電流量である。各電流波形は説明の簡略のため三角波であるとする。１３０２は素子Ａ１の電流波形、１３０３は素子Ａ２の電流波形であり、１３０２と１３０３は同一の形状の波形であるとする。１３０４は素子Ａ１，Ａ２の総電流量の波形であり、１３０２と１３０３を加算したものであり、最大値をＩｍａｘ０とする。１３０５は素子Ａ１，Ａ２の電流波形の半値幅Ｗ（単位は秒）である。
【００２７】
また、図１３（ｂ）は素子Ａ２の電流波形１３０３が、（２＊Ｔｚ）だけ右に移動したときの総電流量の波形である。
このとき、総電流量１３０４の最大値の、Ｔｚに関する関数　Ｉｍａｘ（２＊Ｔｚ）は、以下のように定義できる。
【００２８】
Ｉｍａｘ（２＊Ｔｚ）　＝　（（２＊Ｗ）−（２＊Ｔｚ））　／　Ｗ　＊　Ｉｍａｘ０
この式を用いることで、Ｉｍａｘ（２＊Ｔｚ）が、前記希望電流量になるようなＴｚを容易に計算することができる。このように、希望電流量３０７からズレ時間Ｔｚを計算することができる。
【００２９】
図３におけるＮＡ計算工程３０３では、以下の計算を行う。
配線１０６１，１０６２の抵抗成分データと容量成分のデータＣｓを有する、レイアウト修正前初段配線情報ＮＡｎＲＣ０である３０２を用意する。
【００３０】
まず、配線１０６１の抵抗成分Ｒ１と容量成分Ｃ１の積を（Ｒ１＊Ｃ１）と定義する。そして、素子１０３１がズレ時間Ｔｚだけ早く動作するためのＲ１＊Ｃ１を算出する（式３０１−１）を立てる。
【００３１】
具体的には、配線１０６１を伝達する信号の遅延は、その信号の傾きに依存する。また、その配線が接続している素子１０３１の動作遅延は、やはりその信号の傾きに依存する。
【００３２】
信号の傾きは、配線の時定数（Ｒ１＊Ｃ１）の関数で与えることができるので、遅延時間は、すべて（Ｒ１＊Ｃ１）の関数として与えることができる。
たとえば、ノード１０４に信号が伝達されるタイミングを時刻０とし、レイアウト変更前の、ノード１０４から出力端子１０３１２まで信号が伝達する伝達時間をＴ１ｏｌｄとすると、（式３０１−１）は、
Ｔ１ｏｌｄ　−　Ｆ１（Ｒ１＊Ｃ１）　＝　ズレ時間３０１　　　（式３０１−１）
で示される。ここでＦ１は、レイアウト変更後の、ノード１０４から素子の出力１０３１２まで信号が伝達する伝達時間についての関数である。次に、配線１０６２の抵抗成分Ｒ２と容量成分Ｃ２の積を（Ｒ２＊Ｃ２）と定義する。そして、素子１０３２が、ズレ時間Ｔｚだけ遅く動作するための、（Ｒ２＊Ｃ２）を算出するための（式３０１−２）を立てる。
【００３３】
たとえば、ノード１０４に信号が伝達されるタイミングを時刻０とし、レイアウト変更前の、ノード１０４から出力端子１０３２２まで信号が伝達する伝達時間をＴ２ｏｌｄとすると、（式３０１−２）は、
Ｆ２（Ｒ２＊Ｃ２）　−　Ｔ２ｏｌｄ　＝　ズレ時間３０１　　　（式３０１−２）
で示される。ここでＦ２は、レイアウト変更後の、ノード１０４から素子の出力１０３１２まで信号が伝達する伝達時間についての関数である。
【００３４】
そして、Ｃ１とＣ２の和と、レイアウト修正前初段配線情報３０２に含まれるＣ値の和が等しくなる条件式（式３０１−３）を立て、（式３０１−１）（式３０１−２）（式３０１−３）を連立して、それを満たすＲ１，Ｃ１，Ｒ２，Ｃ２を計算し、レイアウト修正後の配線１０６１および１０６２の寄生抵抗および寄生容量情報データを有するレイアウト修正後初段配線情報３０４として出力する。
【００３５】
Ｃ１　＋　Ｒ２　＝　Ｃｓ　　　　　　　　　　　　　　　　　（式３０１−３）
次に、ＮＢ計算工程３０５について説明する。
ＮＢ計算工程３０５では以下のような計算を行う。
【００３６】
まず、配線１０７１の抵抗成分Ｒ３と容量成分Ｃ３の積を、（Ｒ３＊Ｃ３）と定義する。
そして、素子１０４１がズレ時間３０１だけ遅く動作するための、（Ｒ３＊Ｃ３）を算出するための（式３０３−１）を立てる。
【００３７】
たとえば、レイアウト変更前の、出力端子１０３１２から、次の段の素子の出力端子１０４１２まで信号が伝達する伝達時間を、Ｔ３ｏｌｄとすると、（式３０３−１）は、
Ｆ３（Ｒ３＊Ｃ３）　−　Ｔ３ｏｌｄ　＝　ズレ時間３０１　　（式３０３−１）で示される。ここでＦ３は、レイアウト変更後の、出力端子１０３１２から、次の段の素子の出力端子１０４１２まで信号が伝達する伝達時間についての関数である。
【００３８】
次に、配線１０７２の抵抗成分Ｒ４と、容量成分Ｃ４の積を、（Ｒ４＊Ｃ４）と定義する。そして、素子１０４２がズレ時間３０１だけ遅く動作するための、（Ｒ４＊Ｃ４）を算出するための（式３０３−２）を立てる。
【００３９】
たとえば、レイアウト変更前の、出力端子１０３２２から、次の段の素子の出力端子１０４２２まで信号が伝達する伝達時間をＴ４ｏｌｄとすると、（式３０３−２）は、
Ｔ４ｏｌｄ　−　Ｆ４（Ｒ４＊Ｃ４）　＝　ズレ時間３０１　　（式３０３−２）
で示される。ここでＦ４は、レイアウト変更後の出力端子１０３２２から次の段の素子の出力端子１０４２２まで信号が伝達する伝達時間についての関数である。
【００４０】
そして、Ｃ３，Ｃ４は定数とした状態で、（式３０３−１）および（式３０３−２）を連立して、それを満たすＲ３，Ｒ４を計算し、ここで得られたＲ３，Ｃ３，Ｒ４，Ｃ４を、レイアウト修正後の配線１０７１，１０７２の寄生抵抗および寄生容量情報データを有するレイアウト修正後次段配線情報３０６として出力する。
【００４１】
図２は上記の設計方法により、レイアウト修正後初段配線情報３０４，レイアウト修正後次段配線情報３０６に記載の寄生容量情報および寄生抵抗情報を配線１０６１，１０６２，１０７１，１０７２に配線制約として反映し、レイアウト修正を行った半導体集積回路の模式図である。
【００４２】
図８（ａ）〜（ｃ）は、図２記載の素子１０３１および素子１０３２の電流波形と総電流波形の模式図である。縦軸が電流、横軸が時間の電流波形の図であり、８０１１が素子１０３１の電流波形、その半値幅が８０１２であり、同様に８０２１が素子１０３２の電流波形、その半値幅が８０２２である。
【００４３】
素子１０３１，１０３２のスイッチングのタイミングは図１の状態を示している図７（ｃ）と比較すると、図８（ｃ）ではずれ時間３０１だけ動作タイミングが前後にずれているため、電流の総和の波形の最大値が抑制されている。
【００４４】
このことにより、素子１０３１が動作する時刻、および素子１０３２が動作する時刻における電流消費量を低減して、これらの時刻でのＩＲドロップの発生を抑えることができる。
【００４５】
しかも、二段目のバッファの出力端子における出力信号の出力時刻は、レイアウト修正前と後ではかわらないので、図１の回路を含む配線に対してタイミング修正を行う必要は無く、工数を削減することができる。
【００４６】
（実施の形態２）
図６は、（実施の形態１）の半導体集積回路の設計方法を用いて回路修正を行う半導体集積回路の設計方法のフローの模式図である。
【００４７】
６０１はレイアウトデータである。このレイアウトデータの模式図を図４（ａ）に示す。
４０１１，４０１２は素子、４０１１１，４０１２１は入力端子、４０１１２，４０１２２は出力端子、配線４０１３は、入力端子４０１１１と図１に示した出力端子１０４１２を接続している。配線４０１４は、入力端子４０１２１と出力端子４０１１２を接続している。図１の出力端子１０４２２に接続されている配線、および素子については説明の簡略化のため省く。
【００４８】
６０２は、ＫＡＩＲＯ０遅延計算工程で、レイアウトデータ６０１を入力し、出力端子１０１２から出力端子１０４１２（素子１０４１の出力端子）までの信号の伝達時間ＴＡＢｎ０（ＴＥＭＰ）［ｎ＝１，２］、および出力端子１０４１２から出力端子４０１１２（素子４０１２の出力端子）までの信号の伝達時間ＴＢＤｎ０（ＴＥＭＰ）を求め、出力する。
【００４９】
なお、ＴＥＭＰは変数であり、値ＭＡＸ若しくは値ＭＩＮの何れかをとり、時間の計算を行う際には、引数ＴＥＭＰに記載された温度条件に沿って計算を行うものとする。
【００５０】
ＴＡＢｎ０（ＭＡＸ）およびＴＢＤｎ０（ＭＡＸ）を説明するための、時間に関する一次元グラフの模式図が、図５（ａ）の５０１１である。
５１１は、出力端子１０１２から入力端子１０３１１に到るまでの信号の伝達時間であり、５１２は、入力端子１０３１１から出力端子１０３１２に到るまでの信号の伝達時間であり、５１３は、出力端子１０３１２から入力端子１０４１１に到るまでの信号の伝達時間、５１５は、出力端子１０４１２から入力端子４０１１１に到るまでの信号の伝達時間、５１６は、入力端子４０１１１から出力端子４０１１２に到るまでの信号の伝達時間、５１７は、出力端子４０１１２から入力端子４０１２１に到るまでの信号の伝達時間、５１８は、入力端子４０１２１から出力端子４０１２２に到るまでの信号の伝達時間、５１１から５１８は、ＴＥＭＰ＝ＭＡＸの条件でレイアウトデータ６０１から計算された値であり、
ＴＡＢｎ０（ＭＡＸ）　　＝　５１１　＋　５１２　＋　５１３　＋　５１４
ＴＢＤｎ０（ＭＡＸ）　　＝　５１５　＋　５１６　＋　５１７　＋　５１８
で定義されるＴＡＢｎ０（ＭＡＸ）、ＴＢＤｎ０（ＭＡＸ）を出力する。
【００５１】
また、ＴＡＢｎ０（ＭＩＮ）およびＴＢＤｎ０（ＭＩＮ）を説明するための、時間に関する一次元グラフの模式図が図５（ｂ）の５０２１である。
５２１は出力端子１０１２から入力端子１０３１１に到るまでの信号の伝達時間、５２２は入力端子１０３１１から出力端子１０３１２に到るまでの信号の伝達時間、５２３は出力端子１０３１２から入力端子１０４１１に到るまでの信号の伝達時間、５２４は入力端子１０４１１から出力端子１０４１２に到るまでの信号の伝達時間、５２５は出力端子１０４１２から入力端子４０１１１に到るまでの信号の伝達時間、５２６は入力端子４０１１１から出力端子４０１１２に到るまでの信号の伝達時間、５２７は出力端子４０１１２から入力端子４０１２１に到るまでの信号の伝達時間、５２８は入力端子４０１２１から出力端子４０１２２に到るまでの信号の伝達時間、５２１から５２８はＴＥＭＰ＝ＭＩＮの条件で、レイアウトデータ６０１から計算された値であり、
ＴＡＢｎ０（ＭＩＮ）　＝　５２１　＋　５２２　＋　５２３　＋　５２４
ＴＢＤｎ０（ＭＩＮ）　＝　５２５　＋　５２６　＋　５２７　＋　５２８
で定義されるＴＡＢｎ０（ＭＩＮ）、ＴＢＤｎ０（ＭＩＮ）を出力する。
【００５２】
６０３はＫＡＩＲＯ１作成工程であり、レイアウトデータ６０１を入力し、（実施の１）の半導体設計装置の設計方法を実施し、出力されたレイアウト修正後初段配線情報３０４、およびレイアウト修正後次段配線情報３０６をレイアウトに配線制約として与えてレイアウト修正を行い、レイアウトデータ６０４として出力する工程である。６０３のＫＡＩＲＯ１作成工程で得られたレイアウトデータ６０４の模式図を図４の（ｂ）に示す。
【００５３】
６０５はＫＡＩＲＯ１遅延時間計算工程であり、レイアウトデータ６０４を入力し、出力端子１０１２から出力端子１０４１２（素子１０４１の出力端子）までの信号の伝達時間ＴＡＢｎ１（ＴＥＭＰ）を計算し出力する工程である。
【００５４】
ＴＡＢｎ１（ＭＡＸ）を説明するための、時間に関する一次元グラフの模式図が、図５（ａ）の５０１２である。
５１１１は、出力端子１０１２から入力端子１０３１１に到るまでの信号の伝達時間、５１２１は、入力端子１０３１１から出力端子１０３１２に到るまでの信号の伝達時間、５１３１は、出力端子１０３１２から入力端子１０４１１に到るまでの信号の伝達時間、５１４１は、入力端子１０４１１から出力端子１０４１２に到るまでの信号の伝達時間であり、伝達時間５１１１から伝達時間５１８１は、ＴＥＭＰ＝ＭＡＸの条件でレイアウトデータ６０４から計算された値であり、ＴＡＢｎ１（ＭＡＸ）は、
ＴＡＢｎ１（ＭＡＸ）　　＝　５１１１　＋　５１２１　＋　５１３１　＋　５１４１
である。
【００５５】
ＴＡＢｎ１（ＭＩＮ）を説明するための、時間に関する一次元グラフの模式図が、図５（ｂ）の５０２２である。
５２１１は、出力端子１０１２から入力端子１０３１１に到るまでの信号の伝達時間、５２２１は、入力端子１０３１１から出力端子１０３１２に到るまでの信号の伝達時間、５２３１は、出力端子１０３１２から入力端子１０４１１に到るまでの信号の伝達時間、５２４１は、入力端子１０４１１から出力端子１０４１２に到るまでの信号の伝達時間、５２１１から５２８１は、ＴＥＭＰ＝ＭＩＮの条件でレイアウトデータ６０４から計算された値であり、ＴＡＢｎ１（ＭＩＮ）は、
ＴＡＢｎ１（ＭＩＮ）　　＝　５２１１　＋　５２２１　＋　５２３１　＋　５２４１
である。６０６は、ＴＢＤｎ１計算工程であり、
ＴＡＢｎ０（ＴＥＭＰ）　＋　ＴＣＤｎ０（ＴＥＭＰ）　＝　ＴＡＢｎ１（ＴＥＭＰ）　＋　ＴＣＤｎ１（ＴＥＭＰ）
がすべての前記ＴＥＭＰで満たされるためのＴＢＤｎ１（ＴＥＭＰ）を計算し、ＴＢＤｎ＿ＴＡＲＧＥＴ（ＴＥＭＰ）として出力する工程である。
【００５６】
６０７は、ＴＮＣ＆ＴＮＤ計算工程である。このＴＮＣ＆ＴＮＤ計算工程６０７を説明するための、時間に関する一次元グラフの模式図が、図５（ａ）の５０１３および図５（ｂ）の５０２３である。
【００５７】
５１５１は出力端子１０４１２から入力端子４０１１１に到るまでの信号の伝達時間変数ＴＮＣｎ（ＭＡＸ）であり、５１６１は入力端子４０１１１から出力端子４０１１２に到るまでの信号の伝達時間関数であり、ＴＮＣｎ（ＭＡＸ）を変数として有する関数ＴＣｎ（ＭＡＸ、ＴＮＣｎ（ＭＡＸ））で定義される。
【００５８】
５１７１は、出力端子４０１１２から入力端子４０１２１に到るまでの信号の伝達時間変数ＴＮＤｎ（ＭＡＸ）であり、５１８１は、入力端子４０１２１から出力端子４０１２２に到るまでの信号の伝達時間関数であり、ＴＮＤｎ（ＭＡＸ）を変数として有する関数ＴＤｎ（ＭＡＸ、ＴＮＤｎ（ＭＡＸ））で定義される。
【００５９】
５２５１は、出力端子１０４１２から入力端子４０１１１に到るまでの信号の伝達時間変数ＴＮＣｎ（ＭＩＮ）であり、５２６１は、入力端子４０１１１から出力端子４０１１２に到るまでの信号の伝達時間関数であり、ＴＮＣｎ（ＭＩＮ）を変数として有する関数ＴＣｎ（ＭＩＮ、ＴＮＣｎ（ＭＩＮ））で定義される。
【００６０】
５２７１は、出力端子４０１１２から入力端子４０１２１に到るまでの信号の伝達時間変数ＴＮＤｎ（ＭＩＮ）であり、５２８１は、入力端子４０１２１から出力端子４０１２２に到るまでの信号の伝達時間関数であり、ＴＮＤｎ（ＭＩＮ）を変数として有する関数ＴＤｎ（ＭＩＮ、ＴＮＤｎ１（ＭＩＮ））で定義される。
【００６１】
まず、ＴＢＤｎ＿ＴＡＲＧＥＴ（ＴＥＭＰ）を入力する。次に、
ＴＢＤｎ＿ＴＡＲＧＥＴ（ＭＡＸ）＝　５１５１　＋　５１６１　＋　５１７１　＋　５１８１
ＴＢＤｎ＿ＴＡＲＧＥＴ（ＭＩＮ）＝　５２５１　＋　５２６１　＋　５２７１　＋　５２８１
を満たすＴＣｎ（ＴＥＭＰ）、およびＴＤｎ（ＴＥＭＰ）を計算し、
ＴＣｎ（ＴＥＭＰ）である６０７１と、ＴＤｎ（ＴＥＭＰ）である６０７２として出力する。
【００６２】
６０８はＲＮＣ＆ＲＮＤ計算工程である。
配線遅延は、波形の傾きをパラメータとする関数で記述され、波形の傾きは配線の寄生容量成分と寄生抵抗成分の積Ｒ＊Ｃの関数で示される。配線遅延は、Ｒ＊Ｃの関数で記述することができる。
【００６３】
従って、この関数を解くことで、ある配線遅延を実現するためのＲ＊Ｃを求めることができる。
本工程６０８では、寄生容量成分Ｃは一定とする。なぜなら、寄生容量成分を一定にすることで、その前の段の素子における出力端子容量を固定することができるため、前段の素子遅延を変化させることがないためである。
【００６４】
そこで、まず、前記配線ＮＣｎにおける寄生容量を変えずに、前記ＮＣｎにおける信号の伝達時間が、ＴＮＣｎ（ＴＥＭＰ）になるような抵抗値ＲＮＣｎ（ＴＥＭＰ）および前記配線ＮＤｎにおける寄生容量を変えずに、前記ＮＤｎにおける信号の伝達時間が、ＴＮＤｎ（ＴＥＭＰ）になるような抵抗値ＲＮＤｎ（ＴＥＭＰ）を計算し、次に、前記ＲＮＣｎ（ＴＥＭＰ）をレイアウト修正後ＮＣｎ配線情報６０８１として出力し、前記ＲＮＤｎ（ＴＥＭＰ）をレイアウト修正後ＮＤｎ配線情報６０８２として出力する。
【００６５】
なお、この図６では、説明の簡単のために、素子１０３１に対する修正方法に注目して説明を行ったが、素子１０３２についても同様の修正方法を実施する。
このように、（実施の形態２）の半導体集積回路の設計方法を用いることで、ＩＲドロップにより動作障害のある素子１０３１および１０３２を有する回路４０１に対して、素子１０３１，１０３２の動作タイミングをずらさない、かつ、ＴＥＭＰ＝ＭＡＸで最終段の素子の出力端子４０１２２までの動作タイミングをずらさない、かつ、ＴＥＭＰ＝ＭＩＮで最終段の素子の出力端子４０１２２までの動作タイミングをずらさない、という条件を満たすための、各配線の寄生抵抗成分および寄生容量成分の制約条件３０４，３０５，６０８１，６０８２が得られる。
【００６６】
なお、これらの制約条件をレイアウトに反映させれば、レイアウト修正を行う事ができる。その模式図が、図４（ｃ）である。
なお、これらの制約条件を実際の配線に反映させるには、たとえば、信号配線の周囲をシールド配線で取り囲み、抵抗値は信号配線の幅と長さで、容量値は信号配線とシールド配線との間隔で制御することで、制約を満たしてやればよい。
【００６７】
図１２は、信号配線をシールド配線で取り囲んだときの断面の様子を示した模式図である。
１２０１は信号配線であり、幅はＷ、高さはＨである。１２０２はシールド配線であり、信号配線１２０１と同じ配線層に層に作成されており、シールド配線１２０２と信号配線１２０１の間隔はｄ１である。１２０３はシールド配線であり、信号配線１２０１のある配線層の一つ上の層に作成されており、シールド配線１２０３と信号配線１２０１の間隔はｄ２である。
【００６８】
１２０４はシールド配線であり、信号配線１２０１のある配線層の一つ下の層に作成されており、シールド配線１２０４と信号配線１２０１の間隔はｄ２である。
【００６９】
このとき、信号配線１２０１の単位長さあたりの抵抗値Ｒ０と容量値Ｃ０は、以下の通りある。なお、ρは抵抗率、ε１，ε２は誘電率である。
Ｒ０　＝　ρ　／　（Ｗ＊Ｈ）　　　［Ω／ｍ］
Ｃ０　＝　２＊ε１（Ｈ／ｄ１）　＋　２＊ε２（Ｗ／ｄ２）　　　［Ｃ／ｍ］
Ｒ０を変えるにはＷを変化させればよい。Ｃ０を変えるにはｄ１を変化させればよい。このとき、Ｗ／ｄ２が充分小さければ、Ｗの項は無視してよい。
【００７０】
さらに、この配線構造を採用した配線の長さを増減させることで、配線全体の容量値及び抵抗値を変更することができる。
なお、ここまで説明してきた回路は、ファンアウトが２の回路であったが、ファンアウトが３以上であった場合も、適用可能である。
【００７１】
一例として、ファンアウトが４である場合を説明する。
図１１は、ファンアウトが４の半導体集積回路の模式図である。
１１０１，１１０２１〜１１０２４が素子であり、そのうち１１０２１〜１１０２４が、同期的に動作するためにＩＲドロップを生じてしまい、正常に動作しない素子である。
【００７２】
１１０４１〜１１０４３がノードであり、１１０３１〜１１０３４が配線であり、素子とノードを接続している。
このとき、１１０３１〜１１０３４を、ふたつのグループＧｒｏｕｐＡ１、ＧｒｏｕｐＡ２に分け、ＧｒｏｕｐＡ１に含まれている各配線を（実施の形態１）の配線ＮＡ１として取り扱い、ＧｒｏｕｐＡ２に含まれている各配線を、（実施の形態１）の配線ＮＡ２として取り扱うことで、（実施の形態２）の半導体集積回路の設計方法で得られる効果を、それぞれの配線および、その配線に繋がっている素子に対して与えることができる。
【００７３】
（実施の形態３）
（実施の形態３）は、（実施の形態２）前記ＴＮＣ＆ＴＮＤ計算工程６０７を示す。
【００７４】
図９に示すように、ＴＮＣ＆ＴＮＤ計算工程６０７は、
ＴＢＤｎ１（ＴＥＭＰ）　＝　ＴＢＤｎ＿ＴＡＲＧＥＴ（ＴＥＭＰ）
は、前記ＴＮＣｎ（ＭＡＸ）および前記ＴＮＤｎ（ＭＡＸ）とする複数の二次多項式で表現され、前記二次多項式を満たす前記ＴＣｎ（ＭＡＸ）および前記ＴＤｎ（ＭＡＸ）を計算し、解Ｃａｎｓｗｅｒおよび解Ｄａｎｓｗｅｒを出力する多項式計算工程９０１と、素子Ｃｎが正常に動作するＴＣｎ（ＭＡＸ）の範囲である範囲条件Ｃｃｏｎｄおよび素子Ｄｎが正常に動作するＴＤｎ（ＭＩＮ）の範囲である範囲条件Ｄｃｏｎｄを前記Ｃａｎｓｗｅｒおよび前記Ｄａｎｓｗｅｒが満たすか否かを判定し、満たさなければ処理を終了し、満たしていれば前記Ｃａｎｓｗｅｒを前記ＴＮＣｎ（ＴＥＭＰ）として出力し、前記Ｄａｎｓｗｅｒを前記ＴＮＤｎ（ＴＥＭＰ）として出力する判断工程９０４とを有している。
【００７５】
多項式計算工程９０１は、以下のような計算を行う。
まず、配線の信号伝達時間を以下のように定義しする。これによりＭＡＸ条件時の配線伝達時間で、ＭＩＮ条件時の伝達時間を記述できる。なお、Ｋｎｅｔは定数である。
【００７６】
ＴＮＣｎ（ＭＩＮ）　＝　Ｋｎｅｔ　＊　ＴＮＣｎ（ＭＡＸ）
ＴＮＤｎ（ＭＩＮ）　＝　Ｋｎｅｔ　＊　ＴＮＤｎ（ＭＡＸ）
次に、素子内部の信号伝達時間について、ＭＡＸ条件は以下のように定義する。
【００７７】
これにより、ＭＡＸ条件では、素子の信号伝達時間は、入力端子に接続されている配線の伝達時間の関数として記述することができる。なお、ａ，ｂ，ｃ，ｅ，ｆは定数である。なお、　ＴＮＣｎ（ＭＡＸ）＾２　は　　ＴＮＣｎ（ＭＡＸ）　　を二乗することを意味する。
【００７８】
ＴＣｎ（ＭＡＸ）　＝　ａ　＋　ｂ　＊　ＴＮＣｎ（ＭＡＸ）　＋　ｃ　＊　ＴＮＣｎ（ＭＡＸ）＾２
ＴＤｎ（ＭＡＸ）＝　ｄ　＋　ｅ　＊　ＴＮＤｎ（ＭＡＸ）　＋　ｆ　＊　ＴＮＤｎ（ＭＡＸ）＾２
また、ＭＩＮ条件は、以下のように定義する。これによりＭＡＸ条件時の素子内部の伝達時間で、ＭＩＮ条件時の素子の内部の伝達時間を記述できる。なお、Ｋｃｅｌｌは定数である。
【００７９】
ＴＣｎ（ＭＩＮ）　＝　Ｋｃｅｌｌ　＊　ＴＣｎ（ＭＡＸ）
ＴＤｎ（ＭＩＮ）　＝　Ｋｃｅｌｌ　＊　ＴＤｎ（ＭＡＸ）
以上のことから、ＴＢＤｎ１（ＴＥＭＰ）は、以下のように記述できる。このように、ＴＢＤｎ（ＴＥＭＰ）は、ＴＮＣｎ（ＭＡＸ）およびＴＮＤｎ（ＭＡＸ）の二次多項式として記述できる。
【００８０】
2004030086.tif 000003
したがって、式１は、以下のように、二本の二次多項式として記述できる。
【００８１】
ＴＢＤｎ（ＭＡＸ）　＝　ＴＢＤｎ＿ＴＡＲＧＥＴ（ＭＡＸ）　　・・・（式９−１）
ＴＢＤｎ（ＭＩＮ）　＝　ＴＢＤｎ＿ＴＡＲＧＥＴ（ＭＩＮ）　　・・・（式９−２）
つぎに、この二本の二次多項式、（式９−１）と（式９−２）を満たすＴＮＣｎ（ＭＡＸ）、ＴＮＤｎ（ＭＡＸ）を計算する。この計算の過程に関する模式図が、図１０であり、Ｘ軸がＴＮＣｎ（ＭＡＸ）、Ｙ軸がＹＮＤｎ（ＭＡＸ）の二次元グラフである。
【００８２】
１００１は、（式９−１）を図示したものであり、１００２は（式９−２）を図示したものである。
１００５は、１００１と１００２の交点であり、この交点が、（式９−１）と（式９−２）の両方を満たすＴＮＣｎ（ＭＡＸ）、ＴＮＤｎ（ＭＡＸ）となる。
【００８３】
そして、この交点の座標を、多項式の解Ｃａｎｓｗｅｒである９０２、多項式の解Ｄａｎｓｗｅｒである９０３として出力する。
なお、この交点の座標に負の値が含まれている場合は、本工程で処理を中断する。
この場合、配線の負荷をコントロールしたたけでは、タイミング修正を収束させることができない。
【００８４】
９０４は判断工程であり、多項式計算工程９０１で得られた解がレイアウト上で作成可能であることを確認する工程である。
９０５はＮＣｎ制約条件Ｃｃｏｎｄであり、配線ＮＣｎ４０１３の信号伝達時間の上限値および下限値を有する。
【００８５】
上限値は、ライブラリ精度保証範囲、波形がなまることによる信号の対ノイズ耐性などにより決定される。下限値は、配線負荷が最も小さくなるように配線ＮＣｎをレイアウト上に敷設したときの、ＮＣｎの信号伝達時間である。
【００８６】
９０６はＮＤｎ制約条件Ｄｃｏｎｄであり、配線ＮＤｎ４０１４の配線伝達時間の上限値および下限値を有する。
上限値および下限値は、ＮＣｎ制約条件Ｃｃｏｎｄ９０５で、それを決定した方法を配線ＮＤｎに対して当てはめることで決定される。
【００８７】
まず、前記多項式計算工程９０１から出力された解Ｃａｎｓｗｅｒ９０２、Ｄａｎｓｗｅｒ９０３、ＮＣｎ制約条件Ｃｃｏｎｄ９０５、ＮＤｎ制約条件Ｄｃｏｎｄ９０６を入力する。
【００８８】
次に、「解Ｃａｎｓｗｅｒ９０２が、ＮＣｎ制約条件Ｃｃｏｎｄ９０５を満たし、かつ、解Ｄａｎｓｗｅｒ９０３が、ＮＤｎ制約条件Ｄｃｏｎｄ９０６を満たす」を判断し、偽であれば、処理を終了する。この場合、解は存在するが、現在のレイアウトでは実現することができない。
【００８９】
真であれば、ＣａｎｓｗｅｒをＴＮＣｎ（ＭＡＸ）６０７１として出力し、ＤａｎｓｗｅｒをＴＮＤｎ（ＭＡＸ）６０７２として出力する。
以上のように、（実施の形態２）の半導体集積回路の設計方法を用いることで、ＩＲドロップによる動作障害を引き起こしているクロックバッファに対して、複数の温度条件について、スキューを変えることなくタイミングをずらし、ピーク電流を低減することにより、ＩＲドロップによる動作障害を取り除くことができる。これにより、ＩＲドロップ修正時のスキュー再調整工程を省くことができるので、工数を大幅に削減することが可能である。
【００９０】
また以上のように、（実施の形態３）の半導体集積回路の設計方法を用いることで、実際にレイアウト修正を行う前に、（実施の形態２）の半導体集積回路の設計方法の実施可能性を吟味することができるので、実施不可能なレイアウト修正工程を実施して失敗することが無くなり、工数面で効率的な設計作業を行うことが可能である。
【００９１】
【発明の効果】
以上のように本発明によると、クロックツリーのバッファの動作タイミングを、修正の対象となるクロックバッファの動作タイミングをずらすことで、このクロックバッファがスイッチングするときの総消費電流量を抑制することでＩＲドロップによる回路誤動作を防ぎ、さらに、クロックツリー全体の負荷バランスの再調整を自動的に行うことで、ＩＲドロップ調整に伴うスキューの悪化を防ぎ、スキュー再調整の工数を省くことにより、工数を削減し、チップの動作速度を犠牲にすることなく、回路の完成度を向上させることができ、ＩＲドロップによる動作障害を引き起こしているクロックバッファに対して、複数の温度条件について、スキューを変えることなくタイミングをずらし、ピーク電流を低減することにより、ＩＲドロップによる動作障害を取り除くことができる。これにより、ＩＲドロップ修正時のスキュー再調整工程を省くことができるので、工数を大幅に削減することが可能である。
【図面の簡単な説明】
【図１】本発明の（実施の形態１）における半導体集積回路のレイアウトの模式図
【図２】レイアウト修正を行った半導体集積回路の模式図
【図３】本発明の（実施の形態１）における半導体集積回路の設計方法のフローチャートの模式図
【図４】レイアウトデータの模式図
【図５】ＭＡＸ条件での時間に関する一次元グラフとＭＩＮ条件での時間に関する一次元グラフの模式図
【図６】本発明の（実施の形態２）における半導体集積回路の設計方法のフローの模式図
【図７】図１の素子１０３１および素子１０３２の電流波形の模式図
【図８】図２の素子１０３１および素子１０３２の電流波形の模式図
【図９】本発明の（実施の形態３）における半導体集積回路の設計方法のフローの模式図
【図１０】多項式計算工程での計算過程に関する模式図
【図１１】ファンアウトが４の半導体集積回路の模式図
【図１２】信号配線をシールド配線で取り囲んだときの断面の様子を示した模式図
【図１３】本発明の（実施の形態１）のズレ時間計算工程を説明するための模式図
【符号の説明】
１０１，１０３１，１０３２，１０４１，１０４２　　素子
１０４　　ノード
１０３１１，１０３２１，１０４１１，１０４２１　　入力端子
１０３１２，１０３２２，１０４１２，１０４２２，１０１２　　出力端子
１０５，１０６１，１０６２，１０７１，１０７２　　配線
３０１　　ズレ時間
３０２　　レイアウト修正前初段配線情報ＮＡｎＲＣ０
３０３　　ＮＡ計算工程
３０４　　レイアウト修正後初段配線情報
３０５　　ＮＢ計算工程
３０６　　レイアウト修正後次段配線情報
４０１１，４０１２　　素子
４０１１１，４０１２１　　入力端子
４０１１２，４０１２２　　出力端子
４０１３，４０１４　　配線
５０１１　　ＴＡＢｎ０（ＭＡＸ）およびＴＢＤｎ０（ＭＡＸ）を説明するための，時間に関する一次元グラフの模式図
５１１　　出力端子１０１２から入力端子１０３１１に到るまでの信号の伝達時間
５１２　　入力端子１０３１１から出力端子１０３１２に到るまでの信号の伝達時間
５１３　　出力端子１０３１２から入力端子１０４１１に到るまでの信号の伝達時間
５１４　　入力端子１０４１１から出力端子１０４１２に到るまでの信号の伝達時間
５１５　　出力端子１０４１２から入力端子４０１１１に到るまでの信号の伝達時間
５１６　　入力端子４０１１１から出力端子４０１１２に到るまでの信号の伝達時間
５１７　　出力端子４０１１２から入力端子４０１２１に到るまでの信号の伝達時間
５１８　　入力端子４０１２１から出力端子４０１２２に到るまでの信号の伝達時間
５０１２　　ＴＡＢｎ１（ＭＡＸ）を説明するための，時間に関する一次元グラフの模式図
５１１１　　出力端子１０１２から入力端子１０３１１に到るまでの信号の伝達時間
５１２１　　入力端子１０３１１から出力端子１０３１２に到るまでの信号の伝達時間
５１３１　　出力端子１０３１２から入力端子１０４１１に到るまでの信号の伝達時間
５１４１　　入力端子１０４１１から出力端子１０４１２に到るまでの信号の伝達時間
５０２２　　ＴＡＢｎ１（ＭＩＮ）を説明するための，時間に関する一次元グラフの模式図
５２１１　　出力端子１０１２から入力端子１０３１１に到るまでの信号の伝達時間
５２２１　　入力端子１０３１１から出力端子１０３１２に到るまでの信号の伝達時間
５２３１　　出力端子１０３１２から入力端子１０４１１に到るまでの信号の伝達時間
５２４１　　入力端子１０４１１から出力端子１０４１２に到るまでの信号の伝達時間
５０１３　　ＭＡＸ条件でのＴＮＣ＆ＴＮＤ計算工程を説明するための時間に関する一次元グラフの模式図
５１５１　出力端子１０４１２から入力端子４０１１１に到るまでの信号の伝達時間変数
５１６１　入力端子４０１１１から出力端子４０１１２に到るまでの信号の伝達時間関数
５１７１　出力端子４０１１２から入力端子４０１２１に到るまでの伝達時間変数
５１８１　入力端子４０１２１から出力端子４０１２２に到るまでの伝達時間関数
５０２３　ＭＩＮ条件でのＴＮＣ＆ＴＮＤ計算工程を説明するための時間に関する一次元グラフの模式図
５２５１　出力端子１０４１２から入力端子４０１１１に到るまでの伝達時間変数
５２６１　入力端子４０１１１から出力端子４０１１２に到るまでの伝達時間関数
５２７１　出力端子４０１１２から入力端子４０１２１に到るまでの伝達時間変数
５２８１　入力端子４０１２１から出力端子４０１２２に到るまでの伝達時間関数
５０２１　ＴＡＢｎ０（ＭＩＮ）およびＴＢＤｎ０（ＭＩＮ）を説明するための時間に関する一次元グラフの模式図
５２１　出力端子１０１２から入力端子１０３１１に到るまでの伝達時間
５２２　入力端子１０３１１から出力端子１０３１２に到るまでの伝達時間
５２３　出力端子１０３１２から入力端子１０４１１に到るまでの伝達時間
５２４　入力端子１０４１１から出力端子１０４１２に到るまでの伝達時間
５２５　出力端子１０４１２から入力端子４０１１１に到るまでの伝達時間
５２６　入力端子４０１１１から出力端子４０１１２に到るまでの伝達時間
５２７　出力端子４０１１２から入力端子４０１２１に到るまでの伝達時間
５２８　入力端子４０１２１から出力端子４０１２２に到るまでの伝達時間
６０１　レイアウトデータ
６０２　ＫＡＩＲＯ０遅延計算工程
６０３　ＫＡＩＲＯ１作成工程
６０４　レイアウトデータ
６０５　ＫＡＩＲＯ１遅延時間計算工程
６０６　ＴＢＤｎ１計算工程
６０７　ＴＮＣ＆ＴＮＤ計算工程
６０８　ＲＮＣ＆ＲＮＤ計算工程
７０１１　素子１０３１の電流波形図
７０１２　素子１０３１の電流波形の半値幅
７０２１　素子１０３２の電流波形図
７０２２　素子１０３２の電流波の半値幅
７０３１　素子１０３１と素子１０３２が消費する電流の総和の波形図
８０１１　素子１０３１の電流波形図
８０１２　素子１０３１の電流波形の半値幅
８０２１　素子１０３２の電流波形図
８０２２　素子１０３２の電流波形の半値幅
８０３１　素子１０３１と素子１０３２が消費する電流の総和の波形図
９０１　　多項式計算工程
９０２　　多項式の解Ｃａｎｓｗｅｒ
９０３　　多項式の解Ｄａｎｓｗｅｒ
９０４　　判断工程
９０５　　ＮＣｎ制約条件Ｃｃｏｎｄ
９０６　　ＮＤｎ制約条件Ｄｃｏｎｄ
１００１　（式９−１）を図示した図
１００２　（式９−２）を図示した図
１００５　１００１と１００２の交点
１１０１，１１０２１，１１０２２，１１０２３，１１０２４　素子
１１０４１，１１０４２，１１０４３　ノード
１１０３１，１１０３２，１１０３３，１１０３４　配線
１２０１　信号配線
１２０２，１２０３，１２０４　シールド配線
１３０２　素子Ａ１の電流波形図
１３０３　素子Ａ２の電流波形図
１３０４　素子Ａｎの総電流量の波形図
１３０５　素子Ａｎの電流波形の半値幅Ｗ
【図１】
2004030086.tif 000004
【図２】
2004030086.tif 000005
【図３】
2004030086.tif 000006
【図４】
2004030086.tif 000007
【図５】
2004030086.tif 000008
【図６】
2004030086.tif 000009
【図７】
2004030086.tif 000010
【図８】
2004030086.tif 000011
【図９】
2004030086.tif 000012
【図１０】
2004030086.tif 000013
【図１１】
2004030086.tif 000014
【図１２】
2004030086.tif 000015
【図１３】
2004030086.tif 000016