(57)【特許請求の範囲】
【請求項１】
自動的に半導体集積回路のレイアウトを生成する方法であって、半導体集積回路情報からファンイン・ファンアウトチェックによりＮ個以上のファンアウトを有する回路を抽出する第１のステップと、この第１のステップにより抽出されたデータを前記半導体集積回路情報に追加して前記Ｎ個以上のファンアウトを有する回路に関してコンデンサを有する回路情報を生成する第２のステップと、この第２のステップに基づいて生成された回路情報より自動レイアウトを実施する第３のステップと、前記半導体集積回路のレイアウトの電源配線に自動的にバイパスコンデンサを生成する第４のステップを含む半導体集積回路のレイアウト方法。
【請求項２】
自動的に半導体集積回路のレイアウトを生成する方法であって、ある指定されたテストパターンに基づいて所定の時間幅における信号の状態が変化した回数を求め所定の回数を超えて変化した素子を抽出し、前記抽出された素子に関してコンデンサを配置した回路情報を生成する第１のステップと、この第１のステップに基づいて生成された回路情報より自動レイアウトを実施する第２のステップと、前記半導体集積回路のレイアウトの電源配線に自動的にバイパスコンデンサを配置する第３のステップを含む半導体集積回路のレイアウト方法。
【請求項３】
トランジスタサイズ情報を有する論理セルライブラリを用いた半導体集積回路を設計する設計システムであって、前記論理セルライブラリ１つに対して複数のバイパスコンデンサ情報を有する論理セルライブラリを用いて、前記トランジスタサイズ情報を有する論理セルを、その論理セルのトグル率に応じて前記複数のバイパスコンデンサ情報のうちから１つを選択して、前記バイパスコンデンサ情報を有する論理セルで置き換え、自動レイアウトを行うことを特徴とする半導体集積回路の設計システム。
【請求項４】
バイパスコンデンサ容量の大きいレイアウトセルをグループ化するステップと、バイパスコンデンサ容量の小さいレイアウトセルをクループ化するステップと、バイパスコンデンサのないレイアウトセルをグループ化するステップと、バイパスコンデンサ容量が大きいレイアウトセルの横幅の合計を算出するステップと、バイパスコンデンサ容量が小さいレイアウトセルの横幅の合計を算出するステップと、バイパスコンデンサのないレイアウトセルの横幅の合計を算出するステップと、前記横幅の合計を用いてバイパスコンデンサ容量が大きいレイアウトセルのグループを配置する領域の形状と位置とを算出して電源配線の近くに置くようにするステップと、前記横幅の合計を用いてバイパスコンデンサ容量が小さいレイアウトセルのグループを配置する領域の形状と位置とを算出して前記横幅の合計を用いてバイパスコンデンサ容量が大きい前記レイアウトセルのグループの次に前記電源配線の近くに置くようにするステップと、前記横幅の合計を用いてバイパスコンデンサのないレイアウトセルのグループを配置する領域の形状と位置とを算出して前記電源配線から最も遠くなるようにするステップとを含む半導体集積回路のレイアウト方法。
【請求項５】
バイパスコンデンサ情報を有するレイアウトセルライブラリを用いて、ブロック外へ出力するレイアウトセルであってバイパスコンデンサ容量が大きいものを抽出するステップと、このステップにより抽出した前記レイアウトセルの出力負荷を抽出するステップと、前記出力負荷に見合った出力能力を算出するステップと、前記レイアウトセルのトランジスタサイズが前記出力能力より大きい場合前記バイパスコンデンサ容量が小さいレイアウトセルで置き換えるステップとを含む半導体集積回路のレイアウト方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路のレイアウト方法および設計システムに関するものである。
【０００２】
【従来の技術】
従来の半導体集積回路におけるノイズ対策として電源配線とグラウンド配線の間にコンデンサを配置する方法について特願平１１−１００１０号に記載されたものが知られている。
【０００３】
図６は従来のコンデンサを配置するフローチャートを示しており、以下に各ステップごとに内容を説明する。
【０００４】
ステップＳＴ１１にてグランド配線に基板コンタクトを有するレイアウトを生成する。
【０００５】
次にステップＳＴ１２にて半導体集積回路のデザインルールを取り込み、電源配線
の抽出を行う。
【０００６】
ステップＳＴ１３にてデザインルールによりコンデンサを配置する為のテクノロジの算出を行う。
【０００７】
ステップＳＴ１４にてステップＳＴ１３で算出したテクノロジに基づき電源配線間にコンデンサの配置を行う。
【０００８】
図７は従来のコンデンサを配置したレイアウトで、１５は半導体基板、９はグランド配線、８は電源配線、１０はポリシリコン電極であり、容量絶縁膜及び電極により構成されるコンデンサを有しており、１６の回路ブロックに電源を供給している。１７は自動レイアウト装置により自動生成された回路ブロックである。
【０００９】
従来は、半導体集積回路のレイアウト工程によりセルの配置や配線の生成が終了しているレイアウトに関して、基板上の電源配線とグラウンド配線パターンにコンデンサを接続している。
【００１０】
【発明が解決しようとする課題】
しかしながら、従来のバイパスコンデンサの配置は、レイアウトが生成された後に電源配線およびグランド配線に実施するものであったため、レイアウトの修正無しに電源ノイズ源となっている電源変動の大きい場所にコンデンサを配置することができないという問題点があった。
【００１１】
本発明は、このような問題点を解決するもので、半導体集積回路のレイアウトを生成する前に電源変動の大きいトランジスタ等の素子を検出し、その素子の電源にコンデンサを配置し、効率的に電源ノイズ成分を吸収する半導体集積回路のレイアウト方法および設計システムを提供することを目的とする。
【００１２】
【課題を解決するための手段】
請求項１記載の半導体集積回路のレイアウト方法は、自動的に半導体集積回路のレイアウトを生成する方法であって、半導体集積回路情報からファンイン・ファンアウトチェックによりＮ個以上のファンアウトを有する回路を抽出する第１のステップと、この第１のステップにより抽出されたデータを前記半導体集積回路情報に追加して前記Ｎ個以上のファンアウトを有する回路に関してコンデンサを有する回路情報を生成する第２のステップと、この第２のステップに基づいて生成された回路情報より自動レイアウトを実施する第３のステップと、前記半導体集積回路のレイアウトの電源配線に自動的にバイパスコンデンサを生成する第４のステップを含むものである。
【００１３】
請求項１記載の半導体集積回路のレイアウト方法によれば、レイアウト生成前にデザインルールからファンイン・ファンアウトチェックを実施するステップと、Ｎ以上のファンアウトの素子を抽出し、抽出した素子にコンデンサを配置するステップを有するため、半導体集積回路のレイアウトを生成する前に電源変動の大きいトランジスタ等の素子を検出でき、その素子の電源にコンデンサを配置して効率的に電源ノイズ成分を吸収することができる。
【００１４】
請求項２記載の半導体集積回路のレイアウト方法は、自動的に半導体集積回路のレイアウトを生成する方法であって、ある指定されたテストパターンに基づいて所定の時間幅における信号の状態が変化した回数を求め所定の回数を超えて変化した素子を抽出し、前記抽出された素子に関してコンデンサを配置した回路情報を生成する第１のステップと、この第１のステップに基づいて生成された回路情報より自動レイアウトを実施する第２のステップと、前記半導体集積回路のレイアウトの電源配線に自動的にバイパスコンデンサを配置する第３のステップを含むものである。
【００１５】
請求項２記載の半導体集積回路のレイアウト方法によれば、請求項１と同様な効果がある。
【００１６】
請求項３記載の半導体集積回路の設計システムは、トランジスタサイズ情報を有する論理セルライブラリを用いた半導体集積回路を設計する設計システムであって、前記論理セルライブラリ１つに対して複数のバイパスコンデンサ情報を有する論理セルライブラリを用いて、前記トランジスタサイズ情報を有する論理セルを、その論理セルのトグル率に応じて前記複数のバイパスコンデンサ情報のうちから１つを選択して、前記バイパスコンデンサ情報を有する論理セルで置き換え、自動レイアウトを行うことを特徴とするものである。
【００１７】
請求項３記載の半導体集積回路の設計システムによれば、ノイズの発生源であるセルそのものにバイパスコンデンサを内蔵しているので確実にノイズの発生源にバイパスコンデンサを置くことができる。また、トグル率に応じてバイパスコンデンサの容量を選択するので、電流消費に最適なバイパスコンデンサ容量値を実現できる。
【００１８】
請求項４記載の半導体集積回路のレイアウト方法は、バイパスコンデンサ容量の大きいレイアウトセルをグループ化するステップと、バイパスコンデンサ容量の小さいレイアウトセルをクループ化するステップと、バイパスコンデンサのないレイアウトセルをグループ化するステップと、バイパスコンデンサ容量が大きいレイアウトセルの横幅の合計を算出するステップと、バイパスコンデンサ容量が小さいレイアウトセルの横幅の合計を算出するステップと、バイパスコンデンサのないレイアウトセルの横幅の合計を算出するステップと、前記横幅の合計を用いてバイパスコンデンサ容量が大きいレイアウトセルのグループを配置する領域の形状と位置とを算出して電源配線の近くに置くようにするステップと、前記横幅の合計を用いてバイパスコンデンサ容量が小さいレイアウトセルのグループを配置する領域の形状と位置とを算出して前記横幅の合計を用いてバイパスコンデンサ容量が大きい前記レイアウトセルのグループの次に前記電源配線の近くに置くようにするステップと、前記横幅の合計を用いてバイパスコンデンサのないレイアウトセルのグループを配置する領域の形状と位置とを算出して前記電源配線から最も遠くなるようにするステップとを含むものである。
【００１９】
請求項４記載の半導体集積回路のレイアウト方法によれば、バイパスコンデンサ容量の大きなセルすなわち電源電流の消費が大きなセルほど電源幹線に近く配置されるため、電流が流れることによる電源配線の電圧降下を最小限にして電源ノイズを抑えることができる。
【００２０】
請求項５記載の半導体集積回路のレイアウト方法は、バイパスコンデンサ情報を有するレイアウトセルライブラリを用いて、ブロック外へ出力するレイアウトセルであってバイパスコンデンサ容量が大きいものを抽出するステップと、このステップにより抽出した前記レイアウトセルの出力負荷を抽出するステップと、前記出力負荷に見合った出力能力を算出するステップと、前記レイアウトセルのトランジスタサイズが前記出力能力より大きい場合前記バイパスコンデンサ容量が小さいレイアウトセルで置き換えるステップとを含むものである。
【００２１】
請求項５記載の半導体集積回路のレイアウト方法によれば、ブロック間に跨る出力セルを見直すことで、不要なバイパスコンデンサを削減でき、レイアウト面積の最適化が達成される。
【００２２】
【発明の実施の形態】
（実施の形態１）
本発明の第１の実施の形態の半導体集積回路のレイアウト方法について説明する。
【００２３】
図１は半導体集積回路の設計工程におけるバイパスコンデンサ配置の手順を示すフローチャートである。以下、図１のフローチャートに沿って半導体集積回路のレイアウトにコンデンサを配置する工程を説明する。
【００２４】
まず、ステップＳＴ１  にてゲートレベルの回路情報を生成する。次にステップＳＴ２〜ＳＴ５で、電源配線および回路ブロック内にバイパスコンデンサを生成する。このとき、ステップＳＴ７  のデザインルールによりファンアウトをステップＳＴ２  にて算出し、その結果をステップＳＴ３  に取り込みコンデンサを有する回路情報を生成する。次に生成された回路情報からステップＳＴ４  で半導体のレイアウトを自動レイアウトツールを用いて生成した後、ステップＳＴ５で電源配線にコンデンサを生成し、最終的にステップＳＴ６  で回路ブロック内のファンアウトの大きい素子と、電源配線にコンデンサが配置された半導体のレイアウトを生成する。
【００２５】
ステップＳＴ２  にて半導体集積回路のゲートレベル情報を取り込み、この回路情報に基づいて、各素子の出力端子が他の素子の入力端子に何本接続されているのかをステップＳＴ７  のデザインルールを用いて算出する。
【００２６】
ステップＳＴ３  で、ステップＳＴ２  で算出したデータよりＮ以上のファンアウトを有する素子に関して、ステップＳＴ８  よりコンデンサを有する素子データを入力して、コンデンサを有する素子のデータへ置換し、コンデンサを有する回路情報を生成する。
【００２７】
図２は、上記ステップで算出された素子にコンデンサを配置した回路図である。
【００２８】
１は抽出された素子、２は抽出された素子に接続されている素子、３は電源配線、４はグランド配線、５はコンデンサであり、６は抽出された素子にコンデンサを配置した素子枠である。電源配線３とグランド配線４より素子１に電源が供給されている。図３は上記回路に接続するコンデンサのレイアウト図であり、７はコンデンサのセル枠、８は電源配線、９はグランド配線、１０はポリシリコン電極、１１はｐ型の拡散層、１２はｎ型の拡散層でありＭＯＳトランジスタと同じ構成をとる。そのため、自動レイアウトツールで配置する素子のセル枠と共通に扱うことができ、素子とコンデンサを接合が容易に行えるようになっている。また、図４は素子にコンデンサを配置したレイアウトであり、１３は抽出された素子のレイアウト、１４はコンデンサを配置した状態で１つのセルとして扱えるようにしてある。
【００２９】
次にステップＳＴ４  にて、ステップＳＴ３の回路情報から自動レイアウト生成ツールを用いて半導体集積回路のレイアウトパターンを生成する。図５  はＳＴ３  にて生成したレイアウトで、１７は自動レイアウト装置により自動生成された回路ブロックである。３の電源配線と４のグランド配線より電源が供給されている。
【００３０】
ステップＳＴ５  にて、ファンアウトの大きい素子にコンデンサの配置を終了したレイアウトパターンより、ステップＳＴ６  にて電源配線にコンデンサを配置する。なお、電源配線へのコンデンサの生成は、特願平１１−１００１０号に開示されている方法を使用することができる。
【００３１】
（実施の形態２）
図５は、本発明の第２の実施の形態におけるレイアウト方法のフローチャート
である。
【００３２】
本実施の形態においては、ステップＳＴ９  において論理シミュレーションを実施し所定の時間における素子の変化回数を算出する。
【００３３】
次にステップＳＴ１０にて、所定の変化回数を超えた素子に対してコンデンサを配置する。
【００３４】
その後、第１の実施の形態のステップＳＴ４  以降と同様のステップを実施することによりコンデンサを配置した半導体集積回路のレイアウトを生成することが出来る。
【００３５】
なお、本発明の実施の形態によれば特定の素子にＭＯＳトランジスタを用いたコンデンサを配置しているが、配線を用いたコンデンサで実現してもよいものとする。
【００３６】
（実施の形態３）
本発明の第３の実施の形態である半導体集積回路の設計システムについて図８から図１９を用いて説明する。
【００３７】
最初に、図８は半導体集積回路の設計の手順を示すフローチャートである。図８に沿って半導体集積回路の設計手順の全体を説明する。Ｓｔｅｐ−８０１にて機能記述８１１を論理合成し、トランジスタサイズ情報の入った論理回路を生成する。Ｓｔｅｐ−８０２で、シミュレーションを実施し、各論理セルのトグル率を得る。Ｓｔｅｐ−８０３では、Ｓｔｅｐ−８０２の結果であるトグル率を用いて、トランジスタサイズ情報を有する論理セルを、バイパスコンデンサ容量情報を有する論理セルに置き換える。Ｓｔｅｐ−８０４にて、バイパスコンデンサ容量情報を有する論理セルに対応するバイパスコンデンサを有するレイアウトセルを自動配置配線する。このとき、バイパスコンデンサ容量の大きいセルほど電源幹線の近くになるように自動配置配線を実施する。Ｓｔｅｐ−８０５において、機能ブロック間にまたがる配線接続を見直す。Ｓｔｅｐ−８０６にてバイパスコンデンサ容量の大きいセルを用いてクロックツリー作成を行なう。
【００３８】
次に図８のＳｔｅｐ−８０１〜８０６までの各ステップについて図９から図１９を用いて説明する。
【００３９】
図９は機能記述８１１である。図１０は図９の機能記述８１１を論理合成して得られるトランジスタサイズ情報を有する論理回路である。図８のＳｔｅｐ−８０１では、論理合成により、図９の機能記述８１１から図１０のトランジスタサイズ情報を有する論理回路８１２を得る。
【００４０】
図１１は、図８のＳｔｅｐ−８０２で行なうトグル率算出のシミュレーション結果を用いてＳｔｅｐ−８０３のバイパスコンデンサ情報を有する論理セルに置き換えるアルゴリズムである。図１２は図１０の論理回路に対して、入力としてリセット信号ｒｅｓｅｔを１パルス加えた後、クロック信号ｃｌｋを加えて得られる信号ａ［３］、ａ［２］、ａ［１］、ａ［０］  の波形図と各論理セル１０４２、１０４１、１０３２、１０３１、１０２３、１０２２、１０２１、１０１３、１０１２、１０１１、１００２、１００１の出力の波形図である。図１３はトランジスタサイズ情報を有するセルライブラリとバイパスコンデンサ容量情報を有するセルライブラリの表である。図１３の縦方向は、各論理セルをその機能とトランジスタサイズによって並べている。図１３の縦方向の例として、トランジスタサイズ情報を有する論セルライブラリ１３００、１３０１、１３０２、１３０３、１３０４について説明する。１３００はトランジスタサイズの小さいインバータ、１３０１はトランジスタサイズの大きいインバータ、１３０２はＤ−フリップフロップ、１３０３は排他的論理和、１３０４は論理積である。図１３の横方向は、トランジスタサイズ情報を有する論理セルライブラリ１つに対してバイパスコンデンサ容量の大きさの順番に並べている。ここで、バイパスコンデンサとは各論理セルの電源ＶＤＤとグランドＶＳＳに電源ノイズを低減するために設けるコンデンサである。図１３の横方向の例として、トランジスタサイズの小さいインバータ１３００、１３１０、１３２０、１３３０で説明する。トランジスタサイズの小さいインバータ１３００は、通常のトランジスタ情報を有するトランジスタサイズの小さいインバータのセルである。トランジスタサイズの小さいインバータ１３１０、１３２０、１３３０はバイパスコンデンサ容量情報を有するインバータのセルである。バイパスコンデンサ容量情報を有するインバータセル１３１０、１３２０、１３３０のうち、１３１０はバイパスコンデンサがないインバータセル、１３２０、１３３０はバイパスコンデンサがあるインバータセルである。バイパスコンデンサがあるインバータセル１３２０、１３３０は、１３２０がバイパスコンデンサ容量の小さいインバータセル、１３３０はバイパスコンデンサ容量の大きいインバータセルである。トランジスタサイズの小さいインバータ１３００の名前としてＩＮＶ０とつける。バイパスコンデンサ容量情報を有するトランジスタサイズの小さいインバータ１３１０、１３２０、１３３０には、バイパスコンデンサの容量の大きさに応じて、バイパスコンデンサ容量の無いセルにはＣ０、バイパスコンデンサ容量の小さいセルにはＣ１、バイパスコンデンサ容量の大きいセルにはＣ２と末尾につける。バイパスコンデンサのないトランジスタサイズの小さいインバータ１３１０にはＩＮＶ０Ｃ０、バイパスコンデンサ容量の小さいトランジスタサイズの小さいインバータ１３２０にはＩＮＶ０Ｃ１、バイパスコンデンサ容量の大きいトランジスタサイズの小さいインバータ１３３０にはＩＮＶ０Ｃ２と名前を付ける。同様に、他の論セルにも図１３の表のようにバイパスコンデンサ容量に応じて名前を付ける。また、図���３の各セルライブラリに１対１に対応するバイパスコンデンサを有するレイアウトセルライブラリを準備し、同じ名前を付ける。図１４は図１０の論理回路のシミュレーション結果であるトグル率から、図１０の各論理セル１０４２、１０４１、１０３２、１０３１、１０２３、１０２２、１０２１、１０１３、１０１２、１０１１、１００２、１００１を、バイパスコンデンサ容量情報を有する論理セル１４４２、１４４１、１４３２、１４３１、１４２３、１４２２、１４２１、１４１３、１４１２、１４１１、１４０２、１４０１に置き換えた論理回路である。
【００４１】
図１１から図１４を用いて図８のＳｔｅｐ−８０２とＳｔｅｐ−８０３を説明する。図１１のＳｔｅｐ−１１０１で図１０の論理回路に対してシミュレーションを実施する。図１０の各信号の波形図、そして、各論理セルの出力波形図として図１２を得る。ここで、各信号のレベルがＨレベルからＬレベルに変化する、又は、ＬレベルからＨレベルに変化する回数をトグル回数と呼ぶ。クロックのトグル回数に対する各信号、又は各論理セル出力のトグル回数の割合をトグル率と呼ぶ。たとえば、図１２のようにクロックＣＬＫの３２回のトグル回数に対して、信号ａ［０］のようにトグル回数１６回のものはトグル率５０％である。図１１のＳｔｅｐ−１１０２では、トグル率の高いものとして５０％以上の論理セルを図１０の論理回路から抽出する。図１０のＤ−フリップフロップ１００１、インバータ１００２、１０４１、１０４２が該当する。図１１のＳｔｅｐ−１１０３で図１３のバイパスコンデンサ容量情報を有するセルライブラリ表から容量の大きいＤ−フリップフロップ１３３２、インバータ１３３０、１３３１、１３３０を各々選択し、図１４のＤ−フリップフロップ１４０１、インバータ１４０２、１４４１、１４４２に置き換える。図１１のＳｔｅｐ−１１０４では、トグル率１５％以下の論理セルを抽出する。図１０の論理回路においてＤ−フリップフロップ  １０３１、排他的論理和１０３２が該当する。図１１のＳｔｅｐ−１１０５として図１３のバイパスコンデンサ容量情報を有するセルライブラリ表からバイパスコンデンサ容量のないＤ−フリップフロップ１３１２、排他的論理和１３１３を各々選択し、図１４のＤ−フリップフロップ１４３１、排他的論理和１４３２に置き換える。図１１のＳｔｅｐ−１１０６にて、トグル率が５０％より小さく、かつ１５％より大きい論理セル、つまり、図１１のＳｔｅｐ−１１０２、Ｓｔｅｐ−１１０４で該当しなかった論理セルＤ−フリップフロップ１０１１、１０２１、排他的論理和１０１２、１０２２、論理積１０１３、１０２３について、図１３のバイパスコンデンサ容量が小さい論理セルＤ−フリップフロップ１３２２、１３２２、排他的論理和１３２３、１３２３、論理積１３２４、１３２４を各々選択し、図１４のＤ−フリップフロップ１４１１、１４２１、排他的論理和１４１２、１４２２、論理積１４１３、１４２３に置き換える。以上により、バイパスコンデンサ容量情報を有する論理回路８１３  である図１４を得る。
【００４２】
図１５は、４つの機能ブロックをまとめて自動配置配線を実施したチップ全体を示す。図１５の１５００が電源配線（  幹線）  であり、１５１０、１５２０、１５３０、１５４０は機能ブロックである。図１５では模式的にブロック間の境界を示したが、チップ全体では実際はお互いのセルが混在している。図１３の表のバイパスコンデンサ情報を有する論理セルライブラリに１対１に対応するバイパスコンデンサを有するレイアウトセルがあり、図８の８１４  のレイアウトＡが得られるＳｔｅｐ−８０４では、図１１のアルゴリズムを用いて図８のＳｔｅｐ−８０３で選ばれたバイパスコンデンサ情報を有する論理セルに１対１に対応するレイアウトセル群を自動配置配線する。この図８のＳｔｅｐ−８０４の自動配置配線では、電流が流れる電源配線はノイズ発生源となるので、電流が大きく流れる電源配線が短くなるようにセルを配置、配線する。図８のＳｔｅｐ−８０３でトグル率が高いもの、つまり、電流が大きく流れるものにはバイパスコンデンサ容量の大きいセルが選択されている。よって、図１５の電源配線１５００に対して近いブロック１５１１にはバイパスコンデンサ容量の大きいレイアウトセルを、電源配線１５００に対してブロック１５１１の次に近いブロック１５１２にはバイパスコンデンサ容量の小さいレイアウトセルを、電源配線１５００（  幹線）  から最も遠いブロック１５１３に対してはバイパスコンデンサのないレイアウトセルを配置する。
【００４３】
図１６は、図８のＳｔｅｐ−８０４のブロック内での自動配置配線のアルゴリズムである。図１３の表に対応するバイパスコンデンサを有する各レイアウトセルには、バイパスコンデンサ容量の大きい順に名前の末尾にＣ２、Ｃ１、Ｃ０と付けてある。Ｓｔｅｐ−１６１１では名前にＣ２があるセルをグループ２とする。Ｓｔｅｐ−１６１２では名前にＣ１があるセルをグループ１とする。Ｓｔｅｐ−１６１３では名前にＣ０があるセルをグループ０とする。Ｓｔｅｐ−１６２１で名前にＣ２があるセルの幅の合計Ｗ２を計算する。Ｓｔｅｐ−１６２２で名前にＣ１があるセルの幅の合計Ｗ１を計算する。Ｓｔｅｐ−１６２３で名前にＣ０があるセルの幅の合計Ｗ０を計算する。Ｓｔｅｐ−１６３０  でブロック横幅をｗ＝（Ｗ２＋Ｗ１＋Ｗ０）／Ｎで計算する。Ｎは自動配置配線時の縦に並べるセルの段数である。Ｓｔｅｐ−１６３１でグループ２の横幅をｗ２＝Ｗ２／Ｎで計算する。Ｓｔｅｐ−１６３２でグループ１の横幅をｗ１＝Ｗ１／Ｎで計算する。Ｓｔｅｐ−１６３３でグループ０の横幅をｗ０＝Ｗ０／Ｎで計算する。Ｓｔｅｐ−１６４０でブロックの高さをｈ＝Ｈ＊Ｎで計算する。Ｈはレイアウトセルの高さである。図１７は７１１  のブロック内でのグループ２、７１２  のグループ１、７１３  のグループ０の各領域を示した図である。図１７のように図１６におけるＳｔｅｐ−１６５１でグループ２の領域を場所（Ｘ２  、Ｙ２）＝（０、０）  、横幅ｗ２、高さＨ＊Ｎと指定する。Ｓｔｅｐ−１６５２でグループ１の領域を場所（Ｘ１  、Ｙ１）＝（ｗ２、０）、  横幅ｗ１、高さＨ＊Ｎと指定する。Ｓｔｅｐ−１６５３でグループ０の領域を場所（Ｘ０  、Ｙ０）＝（ｗ２＋ｗ１、０）  、横幅ｗ０、高さＨ＊Ｎと指定する。Ｓｔｅｐ−１６６０で、各領域にセルをしきつめて自動配置配線を終了する。
【００４４】
図１８はブロック間の接続の図であり、ブロック間にまたがる信号を出力するセルの見直しを要するブロック間の接続の図である。図１８のブロック１８００から他のブロック１８０３へ出る信号１８０２に出力するレイアウトセルは、図８のＳｔｅｐ−８０４で自動配置配線において、デフォルトでトランジスタサイズの大きいレイアウトセル１８０１が選択される。図１８のブロック１８００では、インバータ１８０１はバイパスコンデンサ容量が大きいとし、この信号１８０２がブロック１８０３のトランジスタサイズの小さくかつ距離の近いインバータ１８０４に接続されることを示しているのが図１８（ａ）である。このとき、配線容量とゲート容量との合計が小さいのでインバータ１８０１の電源電流は小さくなる。そのため、インバータ１８０１のバイパスコンデンサは小さくても構わない。図８のＳｔｅｐ−８０５で、図１８（ｂ）に示すようにインバータ１８０１からインバータ１８１１へとバイパスコンデンサ容量を小さくする置き換えを行ない、図８の８１５  のレイアウトＢを得る。
【００４５】
図１９は図８のＳｔｅｐ−８０５のアルゴリズムを示した図である。Ｓｔｅｐ−１９０１でブロック外への出力信号を抽出する。Ｓｔｅｐ−１９０２では、Ｓｔｅｐ−１９０１で抽出された信号を出力するレイアウトセルを１つ抽出する。Ｓｔｅｐ−１９０３では、Ｓｔｅｐ−１９０２で抽出されたセルのバイパスコンデンサ容量の大きさを見る。大きくない時にはＳｔｅｐ−１９０８へ進み、大きい時にはＳｔｅｐ−１９０４へ進む。Ｓｔｅｐ−１９０４では、信号の配線容量とゲート容量の合計を抽出する。Ｓｔｅｐ−１９０５で再度、ランクを計算する。ここで、ランクとは出力負荷である配線容量とゲート容量の合計から必要とされる出力能力に準じたトランジスタサイズをさす。Ｓｔｅｐ−１９０６で現行ランクと比較する。再度計算したランクと現行ランクが同じとき、Ｓｔｅｐ−１９０８へ進む。再度計算したランクが現行ランクより小さい時には、Ｓｔｅｐ−１９０７へ進む。Ｓｔｅｐ−１９０７では、バイパスコンデンサ容量の小さいレイアウトセルに置き換える。Ｓｔｅｐ−１９０８では、Ｓｔｅｐ−１９０１で抽出されたブロック外への出力信号を出力したレイアウトセルにおいて全て処理したかどうか判断する。全て処理した場合にはＳｔｅｐ−１９０９に進み、終了する。全て処理していない場合には、Ｓｔｅｐ−１９０２に戻る。図１８において、図１９のアルゴリズムを用いる。Ｓｔｅｐ−１９０１において、信号１８０２が抽出される。Ｓｔｅｐ−１９０２においてバイパスコンデンサ容量の大きくトランジスタサイズの大きいインバータ１８０１が抽出される。Ｓｔｅｐ−１９０３でバイパスコンデンサ容量が大きいので、ハイとなり、Ｓｔｅｐ−１９０４に進む。Ｓｔｅｐ−１９０４で配線容量・ゲート容量の合計を計算し、Ｓｔｅｐ−１９０５で再度ランクを計算すると、現行ランクより小さくなる。Ｓｔｅｐ−１９０６で現行ランクより小さいに当てはまり、Ｓｔｅｐ−１９０７でバイパスコンデンサ容量の大きいインバータ１８０１からバイパスコンデンサ容量の小さいインバータ１８１１に置き換える。Ｓｔｅｐ−１９０８で全て処理が終わったと判断すると、Ｓｔｅｐ−１９０９で終了となる。
【００４６】
図８の８１６のレイアウトＣを生成するＳｔｅｐ−８０６のクロックツリーの作成においては、まず、既存のアルゴリズムを用いてクロックツリーの作成をする。さらに、クロックツリーの作成実施後には、クロックツリーの各レイアウトセルはトグル率が高いので、容量の大きなセルを割り当てる。
【００４７】
以上、本発明の第３の実施の形態においては、図１１のＳｔｅｐ−１１０２のトグル率を５０％としたが、他の数字でも構わない。また、図１１のＳｔｅｐ−１１０４のトグル率１５％についても同様に他の数字に設定しても構わない。また、バイパスコンデンサ容量を、バイパスコンデンサがない、バイパスコンデンサ容量が小さい、バイパスコンデンサ容量が大きいの３段階に分けたが、分け方は何段階でも構わない。なお第２の実施の形態の請求項４、５に対応するレイアウト方法は第１、第２の実施の形態に適用することができる。
【００４８】
【発明の効果】
請求項１記載の半導体集積回路のレイアウト方法によれば、レイアウト生成前にデザインルールからファンイン・ファンアウトチェックを実施するステップと、Ｎ以上のファンアウトの素子を抽出し、抽出した素子にコンデンサを配置するステップを有するため、半導体集積回路のレイアウトを生成する前に電源変動の大きいトランジスタ等の素子を検出でき、その素子の電源にコンデンサを配置して効率的に電源ノイズ成分を吸収することができる。
【００４９】
請求項２記載の半導体集積回路のレイアウト方法によれば、請求項１と同様な効果がある。
【００５０】
請求項３記載の半導体集積回路の設計システムによれば、ノイズの発生源であるセルそのものにバイパスコンデンサを内蔵しているので確実にノイズの発生源にバイパスコンデンサを置くことができる。また、トグル率に応じてバイパスコンデンサの容量を選択するので、電流消費に最適なバイパスコンデンサ容量値を実現できる。
【００５１】
請求項４記載の半導体集積回路のレイアウト方法によれば、バイパスコンデンサ容量の大きなセルすなわち電源電流の消費が大きなセルほど電源幹線に近く配置されるため、電流が流れることによる電源配線の電圧降下を最小限にして電源ノイズを抑えることができる。
【００５２】
請求項５記載の半導体集積回路のレイアウト方法によれば、ブロック間に跨る出力セルを見直すことで、不要なバイパスコンデンサを削減でき、レイアウト面積の最適化が達成される。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態におけるコンデンサ配置の手順を示すフローチャートである。
【図２】ファンアウトの大きい素子にコンデンサの配置を終了した回路図である。
【図３】素子に配置するコンデンサのレイアウト図である。
【図４】ファンアウトの大きい素子にコンデンサを配置したレイアウト図である。
【図５】本発明の第２の実施の形態におけるコンデンサ配置の手順を示すフローチャートである。
【図６】従来のコンデンサを配置するフローチャート図である。
【図７】従来の半導体集積回路にコンデンサを配置したレイアウトである。
【図８】本発明の第３の実施の形態における設計の手順を示すフローチャートである。
【図９】本発明の第３の実施の形態で使用する４ビットカウンタの機能記述である。
【図１０】本発明の第３の実施の形態で、図９の４ビットカウンタの機能記述を図８のＳｔｅｐ−８０１で論理合成によって得られる論理回路である。
【図１１】図８のＳｔｅｐ−８０２、Ｓｔｅｐ−８０３のアルゴリズムを示すフローチャートである。
【図１２】図１０の論理回路をシミュレーションした各信号の波形と各論理セルの出力波形である。
【図１３】トランジスタサイズ情報を有する論理セルライブラリとバイパスコンデンサ容量情報を有する論理セルライブラリの表である。
【図１４】バイパスコンデンサ容量情報を有する論理セルライブラリを用いた論理回路図である。
【図１５】１チップレイアウトの図である。
【図１６】ブロックに対する図８のＳｔｅｐ−８０４における自動配置配線のアルゴリズムである。
【図１７】図１６の自動配置配線の説明図である。
【図１８】ブロック間の接続の図である。
【図１９】図８のＳｔｅｐ−８０５におけるブロック間接続のセルの見直しにおけるアルゴリズムである。
【符号の説明】
１            素子
２            素子
３            電源
４            グランド
５            コンデンサ
６            基本セル
７            基本セル
８            電源配線
９            グランド配線
１０        ポリシリコン電極
１１        コンタクトホール
１２        コンタクトホール
１３        基本セル
１４        基本セル
１５        半導体基板
１６        基板コンタクト
１７        回路ブロック
８１１      機能記述
８１２      トランジスタ情報を有する論理回路
８１３      バイパスコンデンサ容量情報を有する論理回路
８１４      レイアウトＡ
８１５      レイアウトＢ
８１６      レイアウトＣ
１００１、１０１１、１０２１、１０３１    Ｄ−フリップフロップ
１００２、１０４２  トランジスタサイズの小さいインバータ
１０１２、１０２２、１０３２  排他的論理和
１０１３、１０２３    論理積
１３００、１３１０、１３２０、１３３０  トランジスタサイズの小さいインバータ
１３０１、１３１１、１３２１、１３３１  トランジスタサイズの大きいインバータ
１３０２、１３１２、１３２２、１３３２    Ｄ−フリップフロップ
１３０３、１３１３、１３２３、１３３３  排他的論理和
１３０４、１３１４、１３２４、１３３４  論理積
１３１０、１３１１、１３１２、１３１３、１３１４  バイパスコンデンサのない論理セル
１３２０、１３２１、１３２２、１３２３、１３２４  バイパスコンデンサ容量の小さい論理セル１３３０、１３３１、１３３２、１３３３、１３３４  バイパスコンデンサ容量の大きい論理セル
１４０１  バイパスコンデンサ容量の大きいＤ−フリップフロップ
１４１１、１４２１  バイパスコンデンサ容量の小さいＤ−フリップフロップ
１４３１  バイパスコンデンサ容量のないＤ−フリップフロップ
１４０２、１４４２  バイパスコンデンサ容量の大きいトランジスタサイズの小さいインバータ
１４１２、１４２２  バイパスコンデンサ容量の小さい排他的論理和
１４３２  バイパスコンデンサのない排他的論理和
１４１３、１４２３  バイパスコンデンサ容量の小さい論理積
１５００  電源幹線
１５１０、１５２０、１５３０、１５４０  機能ブロック
１５１１  電源幹線に近い領域（グループ２の領域）
１５１２  電源幹線から１５１１の次に近い領域（グループ１の領域）
１５１３  電源幹線から遠い領域（グループ０の領域）
１７１１  グループ２の領域（電源幹線に近い領域）
１７１２  グループ１の領域（電源幹線からグループ２の次に近い領域）
１７１３  グループ０の領域（電源幹線から遠い領域）
１８００、１８０３  機能ブロック
１８０１  バイパスコンデンサ容量が大きいトランジスタサイズの大きいインバータ
１８０２  機能ブロック外への出力信号
１８０４  トランジスタサイズの小さいインバータ
１８１０、１８１３  機能ブロック
１８１１  バイパスコンデンサ容量が小さいトランジスタサイズの大きいインバータ
１８１２  ブロック外への出力信号
１８１４  トランジスタサイズの小さいインバータ
【図１】
0003544356.tif 000002
【図２】
0003544356.tif 000003
【図３】
0003544356.tif 000004
【図４】
0003544356.tif 000005
【図５】
0003544356.tif 000006
【図６】
0003544356.tif 000007
【図７】
0003544356.tif 000008
【図８】
0003544356.tif 000009
【図９】
0003544356.tif 000010
【図１０】
0003544356.tif 000011
【図１１】
0003544356.tif 000012
【図１２】
0003544356.tif 000013
【図１３】
0003544356.tif 000014
【図１４】
0003544356.tif 000015
【図１５】
0003544356.tif 000016
【図１６】
0003544356.tif 000017
【図１７】
0003544356.tif 000018
【図１８】
0003544356.tif 000019
【図１９】
0003544356.tif 000020