(57)【要約】【課題】チップ内での電圧のばらつきを抑え、電圧降下を小さくする。【解決手段】ＬＳＩ設計における論理素子をセル配置領域に配置し、セル配置領域の各セル行に電源配線処理を行う際、電力消費量の高いフリップフロップとフリップフロップ以外の論理素子をそれぞれ別のセル行に配置し（ＳＴ２，ＳＴ３）、フリップフロップの電源への電圧供給とフリップフロップ以外の論理素子の電源への電圧供給を別にして電源配線処理を行う（ＳＴ６）。また、フリップフロップを配置するセル行の電圧降下を計算し、この電圧降下分からセル行に供給する電源の電源幅を決定する（ＳＴ４，ＳＴ５）。これにより、電力消費量が多いセルを１箇所にまとめて配置し、同箇所に対して電源を強化することで、局所的な電圧降下や周期的な電圧降下を回避することができる。【選択図】　　　　図１
2004055872.tif 000002
【特許請求の範囲】
【請求項１】
ＬＳＩ設計における論理素子をセル配置領域に配置し、前記セル配置領域の各セル行に電源配線処理を行う電源回路設計方法であって、電力消費量の高い高駆動セルと高駆動セル以外の論理素子をそれぞれ別のセル行に配置し、前記高駆動セルの電源への電圧供給と前記高駆動セル以外の論理素子の電源への電圧供給を別にして電源配線処理を行うことを特徴とする電源回路設計方法。
【請求項２】
高駆動セルはフリップフロップである請求項１記載の電源回路設計方法。
【請求項３】
高駆動セルを配置するセル行の電圧降下を計算し、この電圧降下分から前記セル行に供給する電源の電源幅を決定する請求項１または２記載の電源設計方法。
【請求項４】
ＬＳＩ設計における論理素子をセル配置領域に配置し、前記セル配置領域の各セル行に電源配線処理を行う電源回路設計方法であって、クロックバッファを第一のセル行に配置し、前記第一のセル行に隣接する第二のセル行にフリップフロップを配置し、前記第一のセル行と第二のセル行以外のセル行に他の論理素子を配置し、前記第一のセル行と第二のセル行に、前記他の論理素子の電源と別の電源から電圧を供給するように電源配線処理を行うことを特徴とする電源回路設計方法。
【請求項５】
第一のセル行および第二のセル行に供給する電源の電源幅を決定する際、前記第一のセル行および第二のセル行の電圧降下を計算し、前記電圧降下分から前記第一のセル行および第二のセル行の電源幅を決定する請求項４記載の電源回路設計方法。
【請求項６】
ＬＳＩ設計における論理素子をセル配置領域に配置する電源回路設計方法であって、前記セル配置領域のセル行毎に配置する電力消費量の高い高駆動セルの数を指定することを特徴とする電源回路設計方法。
【請求項７】
論理素子の仮配置処理後に各セル行の電圧降下を見積もり、この見積もり結果を基に各セル行に配置する高駆動セルの数を、電圧降下の大きさの逆数に比例して配分させる請求項６記載の電源回路設計方法。
【請求項８】
ＬＳＩ設計における論理素子をチップに配置し、前記論理素子に電源配線処理を行う電源回路設計方法であって、前記チップの中央部に電圧を供給する第一の電源と、前記チップの周辺部に電圧を供給する第二の電源への電圧供給を別電源として電源配線処理を行うことを特徴とする電源回路設計方法。
【請求項９】
第一の電源と第二の電源の仮配置処理後に電圧降下を見積もり、この見積もり結果を基にして前記第一の電源の幅と前記第二の電源の幅を決める請求項８記載の電源回路設計方法。
【請求項１０】
第一の電源と第二の電源の電源幅を決定する際、チップ上の電圧降下が一様になるように、前記電源幅を決定する請求項９記載の電源回路設計方法。
【請求項１１】
チップのセル配置領域に配置された論理素子と、前記セル配置領域の各セル行への電源とを備えた電源回路であって、電力消費量の高い高駆動セルを一つ以上の予め決定したセル行に並べて配置し、前記セル行への電源と、前記高駆動セル以外の素子が配置されたセル行への電源とは電圧供給源を別にしたことを特徴とする電源回路。
【請求項１２】
高駆動セルが配置されたセル行への電源の電源幅を、前記高駆動セル以外の素子が配置されたセル行への電源の電源幅より広げた請求項１１記載の電源回路。
【請求項１３】
チップのセル配置領域に配置された論理素子と、前記セル配置領域の各セル行への電源とを備えた電源回路であって、フリップフロップとほぼ同じタイミングで動作する素子であるクロックバッファを第一のセル行に、前記フリップフロップを第一のセル行に隣接した第二のセル行にそれぞれ並べて配置し、前記第一のセル行と第二のセル行の電源を、他の論理素子が配置されるセル行の電源と別電源としたことを特徴とする電源回路。
【請求項１４】
チップのセル配置領域に配置された論理素子と、前記セル配置領域の各セル行への電源とを備えた電源回路であって、前記チップ中央部のセル行より、前記チップ周辺部のセル行に配置する高駆動セルの数を多く配置したことを特徴とする電源回路。
【請求項１５】
チップに論理素子が配置された電源回路であって、前記チップ中央部へ電圧を供給する第一の電源と、前記チップ周辺部へ電圧を供給する第二の電源とを備え、前記第一の電源と前記第二の電源の電圧供給源を別にしたことを特徴とする電源回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ＬＳＩ設計における論理素子配置方法および、クロック設計方法などの手法を用いて設計する電源回路設計方法および電源回路に関する。
【０００２】
【従来の技術】
近年微細化技術が進歩し、配線が薄膜化されることにより、配線の抵抗が増大し、寄生容量も増大してきている。またＬＳＩ規模も益々増加している。そのため、配線の寄生素子や、ＬＳＩ中の論理素子（以下セルと記す）による電力消費量も増大してきている。そのためＬＳＩにおいて、局所的な電圧降下や、クロックの周期でフリップフロップが動作した直後の一時的な電圧降下が発生していた。
【０００３】
これらは、チップ誤動作の原因や、設計マージンを増やす原因となってきている。同問題に対し、従来の第１の手法としては、図１６に示すように、電力消費量の高いフリップフロップ等のセル３００を、セル配置領域のセル行３０１に均等に配置する手法がある。また、第２の手法としては、図１７に示すように、電源配線層とは別の配線層において均等にメッシュ状に電源配線を施す方法が一般に行われている。
【０００４】
図１７（Ａ）にチップの上から見た電源メッシュ配線を、（Ｂ）に横から見た電源メッシュ配線の例を示す。図１７の（Ａ）および（Ｂ）において２０１は電源メッシュ配線を示す。２０４はビア、２０３は各セル行に配置されたセルへ電源を供給する電源ラインの配線層、２０２は電源ライン２０３へ電源を供給する電源幹線の配線層、２０１は電源幹線２０２に電源を供給するメッシュ電源の配線層を表す。
【０００５】
このように電源メッシュ配線２０１から、ビア２０４を通して、電源幹線２０２へ電圧を供給することで、電源幹線２０２の電圧降下を防止することで、チップ内の電圧降下防止を図っていた。
また、特開平０８−２７２８３６号公報に示すように、論理素子の配置処理後、各セル行の消費電力を評価し、消費電力に応じて電源幅を調整することで、チップ上の電圧ばらつきを抑える方法、特開平１１−２３８８０２号公報に示すように、回路を論理素子群に分け、各論理素子群の消費電力が一様になるように調整しながら配置処理を行うことで、チップ上の電圧ばらつきを抑える方法等があった。
【０００６】
【発明が解決しようとする課題】
しかしながら上記従来の手法では、図１８（Ａ）に示すような局所的な電圧降下や、図１８（Ｂ）に示すような、フリップフロップがクロック周期で動作することに起因する一時的な電圧降下を防止することが不可能であった。
【０００７】
従来の第一の手法を用いて、電力消費量が高いセルを、チップ上に分散させて配置させても、チップ中心部分の電圧が、チップ周辺部分に比べて下がってしまうという問題が残った。更に、フリップフロップはクロック周期で同時に動作するため、クロックの周期でフリップフロップの動作直後に電圧が降下するという問題も解決することができなかった。
【０００８】
また、従来の第二の手法を用いて、メッシュ状電源配線により、電源を強化した場合も、一様にメッシュ配線を施すために、第一の手法を用いた場合と同様、チップ中心部の電源が、周辺部分に比べて下がるという問題が残った。更に、クロックの周期でフリップフロップが動作すると、その動作直後に電圧が降下するという問題も解決することができなかった。
【０００９】
また、特開平０８−２７２８３６号公報に示す方法では、消費電力の高いフリップフロップ等のセルの配置に制限がない。そのため、フリップフロップとそれ以外の論理素子が一つのセル行内に隣接して配置されることになる。従って、フリップフロップ以外の論理素子が、フリップフロップが動作することによって生じる電圧降下の影響を受け、動作スピードの劣化を受ける可能性があり、効率的な電源の強化が困難である。
【００１０】
また、特開平１１−２３８８０２号公報に示す方法では、チップの電圧降下の位置依存性を考慮していない。そのため、従来の第一の手法と同様、電力消費を分散させるだけに留まり、結果としてチップ中央の電圧が周辺に比べて低くなる結果となる。
【００１１】
したがって、この発明の目的は、チップ内での電圧のばらつきを抑え、電圧降下を小さくすることができる電源回路設計方法および電源回路を提供することである。
【００１２】
【課題を解決するための手段】
上記課題を解決するために、この発明の請求項１記載の電源回路設計方法は、ＬＳＩ設計における論理素子をセル配置領域に配置し、前記セル配置領域の各セル行に電源配線処理を行う電源回路設計方法であって、電力消費量の高い高駆動セルと高駆動セル以外の論理素子をそれぞれ別のセル行に配置し、前記高駆動セルの電源への電圧供給と前記高駆動セル以外の論理素子の電源への電圧供給を別にして電源配線処理を行う。
【００１３】
このように、電力消費量の高い高駆動セルと高駆動セル以外の論理素子をそれぞれ別のセル行に配置し、高駆動セルの電源への電圧供給と高駆動セル以外の論理素子の電源への電圧供給を別にして電源配線処理を行うので、電力消費量が多いセルを１箇所にまとめて配置し、同箇所に対して電源を強化することで、局所的な電圧降下や周期的な電圧降下を回避することができる。
【００１４】
請求項２記載の電源回路設計方法は、請求項１記載の電源回路設計方法において、高駆動セルはフリップフロップである。このように、高駆動セルはフリップフロップであるので、高駆動セルとしてフリップフロップを配置するセル行を特定すると、前記セル行を予めチップ内で電力消費が大きい部分として容易に特定できる。そのために、同セル行に対し電源を効率良く強化することが可能になる。電源を効率的に強化することで、フリップフロップの動作スピード劣化を防止することが可能である。また、フリップフロップ以外の論理セルも、フリップフロップが動作することによる電圧降下の影響を受けずにすむので、電圧降下によるスピードの劣化を防ぐことができる。これにより、クロック周期で発生する電圧降下と、チップ中央部の電圧降下の両方を回避することが可能となる。
【００１５】
請求項３記載の電源回路設計方法は、請求項１または２記載の電源回路設計方法において、高駆動セルを配置するセル行の電圧降下を計算し、この電圧降下分から前記セル行に供給する電源の電源幅を決定する。このように、高駆動セルを配置するセル行の電圧降下を計算し、この電圧降下分からセル行に供給する電源の電源幅を決定するので、電圧降下が発生しない電源幅を見積もり、フリップフロップ等への電源を強化することができる。
【００１６】
請求項４記載の電源回路設計方法は、ＬＳＩ設計における論理素子をセル配置領域に配置し、前記セル配置領域の各セル行に電源配線処理を行う電源回路設計方法であって、クロックバッファを第一のセル行に配置し、前記第一のセル行に隣接する第二のセル行にフリップフロップを配置し、前記第一のセル行と第二のセル行以外のセル行に他の論理素子を配置し、前記第一のセル行と第二のセル行に、前記他の論理素子の電源と別の電源から電圧を供給するように電源配線処理を行う。
【００１７】
このように、クロックバッファを第一のセル行に配置し、第一のセル行に隣接する第二のセル行にフリップフロップを配置し、第一のセル行と第二のセル行以外のセル行に他の論理素子を配置し、第一のセル行と第二のセル行に、他の論理素子の電源と別の電源から電圧を供給するように電源配線処理を行うので、電力消費量が多いセルを１箇所にまとめて配置し、同箇所に対して電源を強化することで、局所的な電圧降下や周期的な電圧降下を回避することができる。
【００１８】
すなわち、フリップフロップとクロックバッファの双方の、電圧降下に起因するスピード劣化を防ぐことが可能になる。また、クロックバッファとフリップフロップが隣接するセル行に配置され、両者の距離が近いため、クロックツリーの配線長が短くてすみ、従って消費電力削減の効果がある。更に、クロックツリー作成の際にバッファから複数のフリップフロップまでの距離を等しくすることが容易になるので、クロックスキューの削減の効果も期待できる。
【００１９】
請求項５記載の電源回路設計方法は、請求項４記載の電源回路設計方法において、第一のセル行および第二のセル行に供給する電源の電源幅を決定する際、前記第一のセル行および第二のセル行の電圧降下を計算し、前記電圧降下分から前記第一のセル行および第二のセル行の電源幅を決定するので、電圧降下が発生しない電源幅を見積もり、フリップフロップとクロックバッファへの電源を強化することができる。
【００２０】
請求項６記載の電源回路設計方法は、ＬＳＩ設計における論理素子をセル配置領域に配置する電源回路設計方法であって、前記セル配置領域のセル行毎に配置する電力消費量の高い高駆動セルの数を指定する。
【００２１】
このように、セル配置領域のセル行毎に配置する電力消費量の高い高駆動セルの数を指定することで、チップ中央のセル行などの電圧降下が大きいセル行に配置するフリップフロップ等の個数を少なくし、電圧降下の起こりにくいチップ周辺のセル行のフリップフロップ数を多くすることが可能になるので、チップ全体の電圧のばらつきを抑えることが可能になる。従って設計時マージン削減が可能になる。
【００２２】
請求項７記載の電源回路設計方法は、請求項６記載の電源回路設計方法において、論理素子の仮配置処理後に各セル行の電圧降下を見積もり、この見積もり結果を基に各セル行に配置する高駆動セルの数を、電圧降下の大きさの逆数に比例して配分させる。このように、論理素子の仮配置処理後に各セル行の電圧降下を見積もり、この見積もり結果を基に各セル行に配置する高駆動セルの数を、電圧降下の大きさの逆数に比例して配分させるので、予め電圧降下が起こりやすいセル行への、フリップフロップ等の個数を予め減らすことが可能になる。
【００２３】
請求項８記載の電源回路設計方法は、ＬＳＩ設計における論理素子をチップに配置し、前記論理素子に電源配線処理を行う電源回路設計方法であって、前記チップの中央部に電圧を供給する第一の電源と、前記チップの周辺部に電圧を供給する第二の電源への電圧供給を別電源として電源配線処理を行う。
【００２４】
このように、チップの中央部に電圧を供給する第一の電源と、チップの周辺部に電圧を供給する第二の電源への電圧供給を別電源として電源配線処理を行うので、チップ中央部の論理セルはチップ周辺部の論理セルが動作することによる電圧降下の影響を受けなくて済む。また、チップ中央部とチップ周辺部に供給する電源の電源供給元を別にし、電圧降下が大きく、消費電力量も大きいチップ中央部への論理セルに供給する電源の電源幅を太くし、電圧降下が小さいチップ周辺部への供給電源の電源幅を細くすることが可能であるので、チップ全体の電圧のばらつきを抑えることが可能である。従って設計時のマージン削減が可能になる。
【００２５】
請求項９記載の電源回路設計方法は、請求項８記載の電源回路設計方法において、第一の電源と第二の電源の仮配置処理後に電圧降下を見積もり、この見積もり結果を基にして前記第一の電源の幅と前記第二の電源の幅を決める。このように、電源配線の仮配置処理後に電圧降下を見積もり、この見積もり結果を基にして第一の電源の幅と第二の電源の幅を決めるので、電圧降下が発生しない電源幅を見積もり、電源を強化することができる。
【００２６】
請求項１０記載の電源回路設計方法は、請求項９記載の電源回路設計方法において、電圧降下の見積もり結果を基にチップ上の電圧降下が一様になるように、第一の電源幅および第二の電源幅を決定する。このように、電圧降下の見積もり結果を基にチップ上の電圧降下が一様になるように、第一の電源幅および第二の電源幅を決定するので、チップ内の電圧を一様にすることが可能となる。
【００２７】
請求項１１記載の電源回路は、チップのセル配置領域に配置された論理素子と、前記セル配置領域の各セル行への電源とを備えた電源回路であって、電力消費量の高い高駆動セルを一つ以上の予め決定したセル行に並べて配置し、前記セル行への電源を、前記高駆動セル以外の素子が配置されたセル行への電源とは別に設けた。
【００２８】
このように、電力消費量の高い高駆動セルを一つ以上の予め決定したセル行に並べて配置し、前記セル行への電源を、高駆動セル以外の素子が配置されたセル行への電源とは別に設けたので、クロック周期で同じタイミングで動作するフリップフロップ等を特定のセル行にまとめて配置し、他のセルと電源系統を分けることにより、チップ上電圧降下によるセルのスピード劣化を防ぐことが可能となる。
【００２９】
請求項１２記載の電源回路は、請求項１１記載の電源回路において、高駆動セルが配置されたセル行への電源の電源幅を、前記高駆動セル以外の素子が配置されたセル行への電源の電源幅より広げた。このように、高駆動セルが配置されたセル行への電源の電源幅を、前記高駆動セル以外の素子が配置されたセル行への電源の電源幅より広げたので、フリップフロップ等への電源を強化することができる。
【００３０】
請求項１３記載の電源回路は、チップのセル配置領域に配置された論理素子と、前記セル配置領域の各セル行への電源とを備えた電源回路であって、フリップフロップとほぼ同じタイミングで動作する素子であるクロックバッファを第一のセル行に、前記フリップフロップを第一のセル行に隣接した第二のセル行にそれぞれ並べて配置し、前記第一のセル行と第二のセル行の電源を、他の前記論理素子が配置されるセル行の電源と別電源とした。
【００３１】
このように、フリップフロップとほぼ同じタイミングで動作する素子であるクロックバッファを第一のセル行に、フリップフロップを第一のセル行に隣接した第二のセル行にそれぞれ並べて配置し、第一のセル行と第二のセル行の電源を、他の論理素子が配置されるセル行の電源と別電源としたので、クロックバッファを一つのセル行にまとめて配置し、セル行に隣接させてフリップフロップを配置するセル行を設け、電源系統を分けることで、チップ上電圧降下によるセルのスピード劣化を防ぐことが可能となるだけでなく、クロックにおける等長配線が容易になり、スキュー削減の効果もある。また、クロック配線長が短くなるので、消費電力削減の効果もある。
【００３２】
請求項１４記載の電源回路は、チップのセル配置領域に配置された論理素子と、前記セル配置領域の各セル行への電源とを備えた電源回路であって、チップ中央部のセル行より、チップ周辺部のセル行に配置するフリップフロップの数を多く配置した。
【００３３】
このように、チップ中央部のセル行より、チップ周辺部のセル行に配置するフリップフロップの数を多く配置したので、チップ中央のセル行の電圧降下が大きいセル行に配置するフリップフロップの個数を少なくし、電圧降下の起こりにくいチップ周辺のセル行のフリップフロップ数を多くすることで、チップ全体の電圧のばらつきを抑えることが可能になる。
【００３４】
請求項１５記載の電源回路は、チップに論理素子が配置された電源回路であって、前記チップ中央部へ電圧を供給する第一の電源と、前記チップ周辺部へ電圧を供給する第二の電源とを備え、前記第一の電源と前記第二の電源の電圧供給源を別にした。
【００３５】
このように、チップ中央部へ電圧を供給する第一の電源と、チップ周辺部へ電圧を供給する第二の電源とを備え、第一の電源と第二の電源の電圧供給源を別にしたので、電圧降下が大きく、消費電力量も大きいチップ中央部への論理セルに供給する電源の電源幅を太くし、電圧降下が小さいチップ周辺部への供給電源の電源幅を細くすることが可能となり、チップ全体の電圧のばらつきを抑えることが可能である。
【００３６】
【発明の実施の形態】
この発明の第１の実施の形態を図１〜図４に基づいて説明する。図１はこの発明の第１の実施の形態の電源回路設計方法に関わるセルの自動配置配線および電源配線強化方法の処理手順を示すフローチャートであって、電圧降下を防ぐためのセル配置、電源配線が完了するまでの処理手順を主に示す。
【００３７】
ＬＳＩ設計における論理素子をセル配置領域に配置し、セル配置領域の各セル行に電源配線処理を行う際、電力消費量の高い高駆動セルと高駆動セル以外の論理素子をそれぞれ別のセル行に配置し（ＳＴ２，ＳＴ３）、高駆動セルの電源への電圧供給と高駆動セル以外の論理素子の電源への電圧供給を別にして電源配線処理を行う（ＳＴ６）。また、高駆動セルを配置するセル行の電圧降下を計算し、この電圧降下分からセル行に供給する電源の電源幅を決定する（ＳＴ４，ＳＴ５）。
【００３８】
この場合、図１に示すように、まず、ステップＳＴ１において、回路の接続情報、セルのライブラリ、設計制約、電圧降下を計算するために必要なデータを読み込む。図２は、セルを配置する領域である、セル行を示す。図２における２１から２６は、セル行である。
【００３９】
次にステップＳＴ２において、ステップＳＴ１で読み込んだ回路の接続情報を基に高駆動セルとしてフリップフロップを配置する一つ以上の専用のセル行の数を決定し、選択する。
【００４０】
次にステップＳＴ３において図２に示す領域にセルの配置処理を行う。図３は、セルの配置方法を示す。ステップＳＴ３で、図２に示すセル行の中から、セル行２１と２５を選択し、フリップフロップを配置するためのセル行とする。図３において、２７はフリップフロップ、２８はフリップフロップ以外のセルを表す。
図３に示すように、セル行２１と２５にフリップフロップ２７を配置し、その他のセル行２２，２３，２４，２６にはフリップフロップ以外のセル２８を配置する。
【００４１】
次にステップＳＴ４において、ステップＳＴ３での配置結果から、各セル行の消費電力を見積もる。例えば、図３に示すように６つのセル行がある場合で、図３中のセル行２１および２５を、フリップフロップ２７を配置するセル行として選択し、セル行２２，２３，２４，２６をフリップフロップ以外のセル２８を配置するセル行とした場合を例に説明する。
【００４２】
各セル行（ｎ＝２１，２２，２３，２４，２５，２６）の消費電力を、セル行に配置されたセルの消費電力Ｐｇａｔｅの和として（式１）の式により見積もることが可能である。
Ｐｒｏｗ（ｎ）＝ΣＰｇａｔｅ　…（式１）
次にステップＳＴ５において、ステップＳＴ４での消費電力見積もり結果を基にして、フリップフロップ２７を配置するセル行２１，２５の電源ラインの太さＷ（２１），Ｗ（２５）を決定する。例えば、フリップフロップ以外のセル２８を配置する４つのセル行２２，２３，２４，２６の平均消費電力を計算し、前記セル行の電源幅を１とした場合に、（式２）により決定する。
Ｗ（ｉ）＝α（Ｐｒｏｗ（ｉ）／（ΣＰｒｏｗ（ｊ）／４））　…（式２）
ｉ＝２１，２５、ｊ＝２２，２３，２４，２６、αは定数
（式２）により、以下の（式３）で、配線幅が求められたとする。
Ｗ（２１）＝α×１．５　…（式３−１）
Ｗ（２５）＝α×１．７　…（式３−２）
Ｗ（２２）＝Ｗ（２３）＝Ｗ（２４）＝Ｗ（２６）＝α　…（式３−３）
次にステップＳＴ６で、（式３）に示すようにステップＳＴ５で決定した配線幅に基づき電源配線処理を行う。図４は電源配線を施した結果を示す。
【００４３】
次にステップＳＴ７でクロックツリーを生成する。
【００４４】
次にステップＳＴ８で詳細配線処理を行う。上記設計方法により設計された電源回路は、フリップフロップ２７が配置されたセル行２１，２５への電源の電源幅を、フリップフロップ２７以外の素子が配置されたセル行２２，２３，２４，２６への電源の電源幅より広げた構成となる。
【００４５】
このようにフリップフロップを特定のセル行にまとめて配置し、更に他の論理セルと電源を分けることで、他のセルはフリップフロップが原因である電圧降下の影響を受けることがない。
【００４６】
また、フリップフロップ専用のセル行への供給電源幅を調整することで、フリップフロップがクロック周期で動作する時に発生する周期的な電圧降下も防ぐことが可能になる。
【００４７】
従って、回路全体において、電圧降下を効率良く防ぐことが可能になり、誤動作やスピードの劣化を回避することができる。
【００４８】
この発明の第２の実施の形態を図５〜図７に基づいて説明する。図５はこの発明の第２の実施の形態の電源回路設計方法に関わるセルの自動配置配線および電源配線強化方法の処理手順を示すフローチャートである。
【００４９】
ＬＳＩ設計における論理素子をセル配置領域に配置し、セル配置領域の各セル行に電源配線処理を行う際、クロックバッファを第一のセル行に配置し、第一のセル行に隣接する第二のセル行にフリップフロップを配置し、第一のセル行と第二のセル行以外のセル行に他の論理素子を配置し（ＳＴ５２〜ＳＴ５４）、第一のセル行と第二のセル行に、他の論理素子の電源と別の電源から電圧を供給するように電源配線処理を行う（ＳＴ５７）。また、第一のセル行および第二のセル行に供給する電源の電源幅を決定する際、第一のセル行および第二のセル行の電圧降下を計算し、電圧降下分から第一のセル行および第二のセル行の電源幅を決定する（ＳＴ５５，ＳＴ５６）。
【００５０】
この場合、ステップＳＴ５１において、第１の実施形態と同様に、回路の接続情報、セルのライブラリ、設計制約、電圧降下を計算するために必要なデータを読み込む。
【００５１】
次にステップＳＴ５２において、クロックバッファを配置するセル行を予め決定する。
【００５２】
次にステップＳＴ５３において、クロックバッファを配置したセル行に隣接したセル行を、フリップフロップを配置するセル行として選択する。
【００５３】
次にステップＳＴ５４において、セルを配置する。図６は、図２におけるセル行２３をクロックバッファ配置用のセル行として選択し、前記セル行に隣接するセル行２２、セル行２４を、フリップフロップを配置用セル行として選択した場合において、セルを配置した例を示す。図６において、２９はクロックバッファを示し、２７はフリップフロップ、２８はクロックバッファとフリップフロップ以外の論理セルを示す。なお、クロックバッファ２９はフリップフロップ２７とほぼ同じタイミングで動作する素子である。
【００５４】
次にステップＳＴ５５において、電源降下を見積もる。電圧降下の見積もりとしては、例えば（式１）で示した方法により見積もる。
【００５５】
次にステップＳＴ５６で、クロックバッファ配置用のセル行、フリップフロップ配置用のセル行の電源幅を（式４）で決定する。
Ｗ（ｉ）＝α×（Ｐｒｏｗ（ｉ）／（ΣＰｒｏｗ（ｊ）／３））　…（式４）
ｉ＝２２，２３，２４、ｊ＝２１，２５，２６、αは定数
（式４）により計算された結果が、以下の（式５）であるとする。
Ｗ（２２）＝α×１．５　…（式５−１）
Ｗ（２３）＝α×１．７　…（式５−２）
Ｗ（２４）＝α×１．６　…（式５−３）
Ｗ（２１）＝Ｗ（２５）＝Ｗ（２６）＝α…（式５−４）
次にステップＳＴ５７で、電源配線処理を行う。図７は、電源配線処理を施した結果を示す。
【００５６】
次に、ステップＳＴ５８で、クロックツリーを生成する。
【００５７】
次に、ステップＳＴ５９で、詳細配線処理を行う。上記設計方法により設計された電源回路は、クロックバッファ２９、フリップフロップ２７が配置されたセル行２２，２３，２４への電源の電源幅を広げた構成となる。
【００５８】
この実施の形態では、第１の実施の形態と同様の効果に加えて、クロックツリー作成の際に、クロックバッファからフリップフロップへのツリー構造を容易に作ることができ、また、双方が特定のセル行に一列に配置されているために、一つのクロックバッファから複数のフリップフロップまでの距離を等しくすることが容易になる。それによって、スキューを削減することができる。また、クロックの総配線長が短くなるため、消費電力も削減される。
【００５９】
この発明の第３の実施の形態を図８〜図１０に基づいて説明する。図８はこの発明の第３の実施の形態の電源回路設計方法に関わるセルの自動配置方法の処理手順を示すフローチャートである。
【００６０】
ＬＳＩ設計における論理素子をセル配置領域に配置する際、セル配置領域のセル行毎に配置する電力消費量の高い高駆動セルの数を指定する（ＳＴ８４，ＳＴ８５）。また、論理素子の仮配置処理後に各セル行の電圧降下を見積もり、この見積もり結果を基に各セル行に配置する高駆動セルの数を、電圧降下の大きさの逆数に比例して配分させる（ＳＴ８２〜ＳＴ８４）。
【００６１】
この実施の形態では、セルの配置領域が図２に示す領域である場合を例にとって説明する。また、回路中には高駆動セルとして２０個のフリップフロップが含まれているものとする。ステップＳＴ８１において、回路の接続情報、セルのライブラリ、設計制約、電圧降下を計算するために必要なデータを読み込む。
【００６２】
次にステップＳＴ８２において、図２に示すセルの配置領域に対し、電圧降下を考慮せずにセルの配置処理を行う。配置結果を図９に示す。図９に示す配置結果では、フリップフロップ２７がセル配置領域上に一様に分布している。
【００６３】
次にステップＳＴ８３において、チップ上の電圧降下の大きさを見積もり、各セル行に、電圧降下の平均値を計算する。表１に見積もった電圧降下の大きさの結果を示す。
【００６４】
【表１】
2004055872.tif 000003
【００６５】
表１に示すようにチップの中心に近いセル行２３，２４は、電圧降下が最大で、チップの外側のセル行２１，２６の電圧降下は小さい。
【００６６】
次にステップＳＴ８４において、電圧降下の見積もり結果に応じて各セル行に配置するフリップフロップの数を決定する。例えば、（式６）によって、各セル行に配置するフリップフロップの個数ＦＮを指定する。
ＦＮ（ｎ）＝２０×（Ｄｒｏｐ（ｎ）／Σｎ　Ｄｒｏｐ（ｎ））　　…（式６）
ｎ＝２１，２２，２３，２４，２５，２６
ここで、Ｄｒｏｐ（ｎ）は、電圧供給先である、ｎ番目のセル行の電圧降下値であり、Σｎ　Ｄｒｏｐ（ｎ）は、電圧供給先である、全てのセル行の電圧降下値の和を表す。
【００６７】
表２に、（式６）で計算した、各セル行に配置するフリップフロップの個数を示す。
【００６８】
【表２】
2004055872.tif 000004
【００６９】
次にステップＳＴ８５において、表２で決定したフリップフロップの数に基づき、セルの配置を行う。図１０は配置結果を示す。
【００７０】
次に、ステップＳＴ８６においてクロック生成を行い、ステップＳＴ８７において詳細配線を行う。上記設計方法により設計された電源回路は、チップ中央部のセル行より、チップ周辺部のセル行に配置する高駆動セルの数を多く配置した構成となる。
【００７１】
これにより、チップ上の電圧のばらつきを抑えることが可能になるので、設計時のマージンを抑えることが可能になる。
【００７２】
この発明の第４の実施の形態を図１１〜図１５に基づいて説明する。図１１はこの発明の第４の実施の形態の電源回路設計方法に関わる電源配線処理手順を示すフローチャートである。
【００７３】
ＬＳＩ設計における論理素子をチップに配置し、論理素子に電源配線処理を行う際、チップの中央部に電圧を供給する第一の電源と、チップの周辺部に電圧を供給する第二の電源への電圧供給を別電源として電源配線処理を行う（ＳＴ１１６）。また、第一の電源と第二の電源の仮配置処理後に電圧降下を見積もり（ＳＴ１１２〜ＳＴ１１４）、この見積もり結果を基にしてチップ上の電圧降下が一様になるように、第一の電源幅および第二の電源幅を決定する（ＳＴ１１５〜ＳＴ１１８）。
【００７４】
この場合、ステップＳＴ１１１において、回路の接続情報、セルのライブラリ、設計制約、電圧降下を計算するために必要なデータを読み込む。
【００７５】
次にステップＳＴ１１２において、マクロセル等も含む回路中のセルを配置する。
【００７６】
次にステップＳＴ１１３において、電源配線処理を行う。図１２はＳＴ１１３で電源配線を行った結果を示す。図１２において、１０１はマクロセル以外へのセルへ供給するの電源の電源配線、１０２はマクロセルへ供給する電源の電源配線を示しており、両者の電源幅は等しいものとする。１０３はマクロセルである。また、電源配線１０１と１０２への電源の供給元は異なるものとする。
【００７７】
次にステップＳＴ１１４において、ステップＳＴ１１３で電源配線した結果から、電圧降下を見積もる。図１３は、チップの大きさは１０ミリ平方メートルの場合の、ステップＳＴ１１４でのチップ電圧の見積もり結果の例を示す。図１３のグラフにおいて、横軸はチップの左下を原点としたときのＸ座標、縦軸は、見積もった電圧の値を示している。図１３において（Ａ）はチップの左下を原点としたときのＹ座標が０の場合の電圧見積もり結果、（Ｂ）はＹ座標が５の時の電圧見積もり結果を示している。図１３に示す結果において、点線はチップ中の電圧の平均値を示す。
【００７８】
図１３（Ａ）からわかるように、チップの外側であれば、電圧降下の値は小さく、平均の電圧値よりも電圧は高くなっている。また、図１３（Ｂ）から分かるように、チップの内側ほど、電圧降下の値が大きく、平均の電圧値よりも電圧は低くなっている。
【００７９】
次にステップＳＴ１１５において、ＳＴ１１４で見積もった電圧降下の値を基に、電源配線幅を決定する。例えば（式７）により、電源配線１０１および１０２の太さを見積もる。
Ｗ（Ｎ）＝もとの電源幅×（平均電圧／電圧供給先の電圧）　…（式７）
Ｎ＝１０１，１０２
ステップＳＴ１１５では、図１２に示す電圧の見積もり結果から、（式７）を使って電源幅を決定すると、電圧降下が大きいチップ中央へ供給する電源はもとの電源幅よりも太く、電圧降下が小さいチップ周辺の電源幅はもとの電源幅よりも細くなる。
【００８０】
次にステップＳＴ１１６において、ステップＳＴ１１５で決定した電源幅に基づき電源処理を行う。図１４は、電源配線幅変更後のチップ上の電圧を示す。図１５に示すように、電圧はチップ上で平均化されたことがわかる。
【００８１】
次にステップＳＴ１１７において、再度電圧降下および電圧を見積もる。ステップＳＴ１１７で見積もった結果がステップＳＴ１１８において判定され、許容範囲内であれば、電源配線処理を終了する。許容範囲内でなければステップＳＴ１１５に戻り、電源配線幅を再度決定する。
【００８２】
以上によれば、特にチップ中央部への供給電源幅を変更することで、チップ上の電圧のばらつきを抑えることが可能である。
【００８３】
【発明の効果】
この発明の請求項１記載の電源回路設計方法によれば、電力消費量の高い高駆動セルと高駆動セル以外の論理素子をそれぞれ別のセル行に配置し、高駆動セルの電源への電圧供給と高駆動セル以外の論理素子の電源への電圧供給を別にして電源配線処理を行うので、電力消費量が多いセルを１箇所にまとめて配置し、同箇所に対して電源を強化することで、局所的な電圧降下や周期的な電圧降下を回避することができる。
【００８４】
請求項２では、高駆動セルはフリップフロップであるので、高駆動セルとしてフリップフロップを配置するセル行を特定すると、前記セル行を予めチップ内で電力消費が大きい部分として容易に特定できる。そのために、同セル行に対し電源を効率良く強化することが可能になる。電源を効率的に強化することで、フリップフロップの動作スピード劣化を防止することが可能である。また、フリップフロップ以外の論理セルも、フリップフロップが動作することによる電圧降下の影響を受けずにすむので、電圧降下によるスピードの劣化を防ぐことができる。これにより、クロック周期で発生する電圧降下と、チップ中央部の電圧降下の両方を回避することが可能となる。
【００８５】
請求項３では、高駆動セルを配置するセル行の電圧降下を計算し、この電圧降下分からセル行に供給する電源の電源幅を決定するので、電圧降下が発生しない電源幅を見積もり、フリップフロップ等への電源を強化することができる。
【００８６】
この発明の請求項４記載の電源回路設計方法によれば、クロックバッファを第一のセル行に配置し、第一のセル行に隣接する第二のセル行にフリップフロップを配置し、第一のセル行と第二のセル行以外のセル行に他の論理素子を配置し、第一のセル行と第二のセル行に、他の論理素子の電源と別の電源から電圧を供給するように電源配線処理を行うので、電力消費量が多いセルを１箇所にまとめて配置し、同箇所に対して電源を強化することで、局所的な電圧降下や周期的な電圧降下を回避することができる。
【００８７】
すなわち、フリップフロップとクロックバッファの双方の、電圧降下に起因するスピード劣化を防ぐことが可能になる。また、クロックバッファとフリップフロップが隣接するセル行に配置され、両者の距離が近いため、クロックツリーの配線長が短くてすみ、従って消費電力削減の効果がある。更に、クロックツリー作成の際にバッファから複数のフリップフロップまでの距離を等しくすることが容易になるので、クロックスキューの削減の効果も期待できる。
【００８８】
請求項５では、第一のセル行および第二のセル行に供給する電源の電源幅を決定する際、第一のセル行および第二のセル行の電圧降下を計算し、電圧降下分から第一のセル行および第二のセル行の電源幅を決定するので、電圧降下が発生しない電源幅を見積もり、フリップフロップとクロックバッファへの電源を強化することができる。
【００８９】
この発明の請求項６記載の電源回路設計方法によれば、セル配置領域のセル行毎に配置する電力消費量の高い高駆動セルの数を指定することで、チップ中央のセル行などの電圧降下が大きいセル行に配置するフリップフロップ等の個数を少なくし、電圧降下の起こりにくいチップ周辺のセル行のフリップフロップ数を多くすることが可能になるので、チップ全体の電圧のばらつきを抑えることが可能になる。従って設計時マージン削減が可能になる。
【００９０】
請求項７では、論理素子の仮配置処理後に各セル行の電圧降下を見積もり、この見積もり結果を基に各セル行に配置する高駆動セルの数を、電圧降下の大きさの逆数に比例して配分させるので、予め電圧降下が起こりやすいセル行への、フリップフロップ等の個数を予め減らすことが可能になる。
【００９１】
この発明の請求項８記載の電源回路設計方法によれば、チップの中央部に電圧を供給する第一の電源と、チップの周辺部に電圧を供給する第二の電源への電圧供給を別電源として電源配線処理を行うので、チップ中央部の論理セルはチップ周辺部の論理セルが動作することによる電圧降下の影響を受けなくて済む。また、チップ中央部とチップ周辺部に供給する電源の電源供給元を別にし、電圧降下が大きく、消費電力量も大きいチップ中央部への論理セルに供給する電源の電源幅を太くし、電圧降下が小さいチップ周辺部への供給電源の電源幅を細くすることが可能であるので、チップ全体の電圧のばらつきを抑えることが可能である。従って設計時のマージン削減が可能になる。
【００９２】
請求項９では、電源配線の仮配置処理後に電圧降下を見積もり、この見積もり結果を基にして第一の電源の幅と第二の電源の幅を決めるので、電圧降下が発生しない電源幅を見積もり、電源を強化することができる。
【００９３】
請求項１０では、電圧降下の見積もり結果を基にチップ上の電圧降下が一様になるように、第一の電源幅および第二の電源幅を決定するので、チップ内の電圧を一様にすることが可能となる。
【００９４】
この発明の請求項１１記載の電源回路によれば、電力消費量の高い高駆動セルを一つ以上の予め決定したセル行に並べて配置し、前記セル行への電源を、高駆動セル以外の素子が配置されたセル行への電源とは別に設けたので、クロック周期で同じタイミングで動作するフリップフロップ等を特定のセル行にまとめて配置し、他のセルと電源系統を分けることにより、チップ上電圧降下によるセルのスピード劣化を防ぐことが可能となる。
【００９５】
請求項１２では、高駆動セルが配置されたセル行への電源の電源幅を、前記高駆動セル以外の素子が配置されたセル行への電源の電源幅より広げたので、フリップフロップ等への電源を強化することができる。
【００９６】
この発明の請求項１３記載の電源回路によれば、フリップフロップとほぼ同じタイミングで動作する素子であるクロックバッファを第一のセル行に、フリップフロップを第一のセル行に隣接した第二のセル行にそれぞれ並べて配置し、第一のセル行と第二のセル行の電源を、他の論理素子が配置されるセル行の電源と別電源としたので、クロックバッファを一つのセル行にまとめて配置し、セル行に隣接させてフリップフロップを配置するセル行を設け、電源系統を分けることで、チップ上電圧降下によるセルのスピード劣化を防ぐことが可能となるだけでなく、クロックにおける等長配線が容易になり、スキュー削減の効果もある。また、クロック配線長が短くなるので、消費電力削減の効果もある。
【００９７】
この発明の請求項１４記載の電源回路によれば、電圧降下が大きいセル行より、電圧降下が小さいセル行に配置する高駆動セルの数を多く配置したので、チップ中央のセル行などの電圧降下が大きいセル行に配置するフリップフロップの個数を少なくし、電圧降下の起こりにくいチップ周辺のセル行のフリップフロップ数を多くすることで、チップ全体の電圧のばらつきを抑えることが可能になる。
【００９８】
この発明の請求項１５記載の電源回路によれば、チップ中央部へ電圧を供給する第一の電源と、チップ周辺部へ電圧を供給する第二の電源とを備え、第一の電源と第二の電源の電圧供給源を別にしたので、電圧降下が大きく、消費電力量も大きいチップ中央部への論理セルに供給する電源の電源幅を太くし、電圧降下が小さいチップ周辺部への供給電源の電源幅を細くすることが可能となり、チップ全体の電圧のばらつきを抑えることが可能である。
【図面の簡単な説明】
【図１】この発明の第１の実施の形態の電源回路設計方法の処理手順を示すフローチャートである。
【図２】この発明の第１の実施の形態においてセルを配置するためのセル行を示す説明図である。
【図３】この発明の第１の実施の形態においてフリップフロップを配置した結果を示す説明図である。
【図４】この発明の第１の実施の形態において電源配線を施した説明図である。
【図５】この発明の第２の実施の形態の電源回路設計方法の処理手順を示すフローチャートである。
【図６】この発明の第２の実施の形態においてクロックバッファ、フリップフロップおよび他のセルを配置した説明図である。
【図７】この発明の第２の実施の形態において電源配線を施した説明図である。
【図８】この発明の第３の実施の形態の電源回路設計方法の処理手順を示すフローチャートである。
【図９】この発明の第３の実施の形態において制限無にセルを配置した結果を示す説明図である。
【図１０】この発明の第３の実施の形態においてフリップフロップの数に制限を設けて配置した結果を示す説明図である。
【図１１】この発明の第４の実施の形態の電源回路設計方法の処理手順を示すフローチャートである。
【図１２】この発明の第４の実施の形態において電源配線処理結果を示す説明図である。
【図１３】この発明の第４の実施の形態において再電源配線処理前の電圧降下見積もり結果で、（Ａ）はチップ上のＹ座標＝０における電圧降下見積もり結果、（Ｂ）はチップ上のＹ座標＝５における電圧降下見積もり結果を示すグラフである。
【図１４】この発明の第４の実施の形態において再電源配線処理結果を示す説明図である。
【図１５】この発明の第４の実施の形態において再電源配線処理後の電圧降下見積もり結果で、（Ａ）はチップ上のＹ座標＝０における電圧降下見積もり結果、（Ｂ）はチップ上のＹ座標＝５における電圧降下見積もり結果を示すグラフである。
【図１６】従来の局所的な電圧降下防止のためのセル配置説明図である。
【図１７】従来の電圧降下防止のための電源配線で、（Ａ）はメッシュ状の電源配線を上から見た概略図、（Ｂ）はメッシュ上の電源配線を横から見た概略図である。
【図１８】従来の電圧の分布で、（Ａ）はチップ上の位置と電圧の関係、（Ｂ）はクロックの周期と電圧の関係を示すグラフである。
【符号の説明】
２１，２２，２３，２４，２５，２６　セル行
２７　フリップフロップ
２８　配置制約のないセル
２９　クロックバッファ
１０１　チップ周辺への供給電源
１０２　チップ中央のマクロセルへの供給電源
【図１】
2004055872.tif 000005
【図２】
2004055872.tif 000006
【図３】
2004055872.tif 000007
【図４】
2004055872.tif 000008
【図５】
2004055872.tif 000009
【図６】
2004055872.tif 000010
【図７】
2004055872.tif 000011
【図８】
2004055872.tif 000012
【図９】
2004055872.tif 000013
【図１０】
2004055872.tif 000014
【図１１】
2004055872.tif 000015
【図１２】
2004055872.tif 000016
【図１３】
2004055872.tif 000017
【図１４】
2004055872.tif 000018
【図１５】
2004055872.tif 000019
【図１６】
2004055872.tif 000020
【図１７】
2004055872.tif 000021
【図１８】
2004055872.tif 000022