(57)【特許請求の範囲】
【請求項１】
論理回路に含まれる複数のセルにクロック信号を供給するためのツリー状の階層構造を持つ複数のクロックバッファを配置するクロックバッファ配置方法であって、
前記階層構造の階層ごとに、一の階層に属するクロックバッファを、該一の階層の前の階層である他の階層に属するクロックバッファが配置されている電源線と隣り合う電源線に沿って、且つ、前記一の階層に属するクロックバッファと前記他の階層に属する複数のクロックバッファとの各マンハッタン距離がいずれも同一となるように配置する配置工程を備えていることを特徴とするクロックバッファ配置方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路の論理回路におけるクロック供給用のクロックバッファ配置方法に関する。
【０００２】
【従来の技術】
論理回路にクロック信号を供給するクロック設計にあっては、クロック信号の同期ずれであるクロックスキューを低減させるためにクロックバッファをどのように配置するかが問題となる。この問題を解決するため、従来は、クロック信号パッドからフリップフロップ等のクロック入力端子までのクロックバッファの段数をそれぞれ等しくするクロックツリー方式と呼ばれる方法がある。また、この方法を進化させた方式であって、各クロックバッファから次段のクロックバッファまでの配線長又は各クロックバッファからフリップフロップ等のクロック入力端子までの配線長がそれぞれ等しくなる位置にクロックバッファを配置することにより、クロック信号パッドからセルまでのクロック配線ごとの寄生素子（抵抗、容量及びインダクタンス）の量を大まかに合わせるバランスドクロックツリー方式と呼ばれる方法がある。
【０００３】
【発明が解決しようとする課題】
しかしながら、半導体プロセスの微細化及び配線層の多層化に伴い、該配線層を構成するメタル配線がますます薄膜化されることによって配線抵抗が増大し、該配線抵抗が信号配線だけでなく電源配線においても重要な設計要素となっており、従来のクロックバッファ配置方式では対応できない問題が発生している。
【０００４】
すなわち、集積回路の回路ブロックに電源電位を供給する電源配線の設計においては、回路の消費電流と電源配線の寄生素子とにより電源配線の電圧変動が発生する。特に、動作周波数が数百ＭＨｚを超える集積回路においては、配線抵抗に起因する電圧降下と該電圧降下に起因する遅延の劣化とが顕著になる。
【０００５】
一般に、クロックバッファはゲート幅が大きいトランジスタを用いて構成されているため、その消費電流も大きく、電源配線の抵抗による電圧降下も大きくなるので、クロックバッファと同一の電源配線に接続されている他の回路は電源電圧降下の影響によって遅延が大きくなる。また、クロックバッファ自体も電源電圧降下の影響を受けるため、各クロックバッファ間で動作速度にばらつきが生じ、従来のクロックツリー方式では十分にクロックスキューを防止できないという問題がある。
【０００６】
本発明は、前記従来の問題を解決し、電源配線の電圧降下量を低減できると共にクロックスキューを防止できるようにすることを目的とする。
【０００７】
【課題を解決するための手段】
前記の目的を達成するため、本発明は、クロックバッファを電源線に沿って配置すると共に、クロックツリー構造を採用する場合には、クロックバッファ間の配線長を同一とするように配置する構成とする。
【０００８】
本発明に係る第１のクロックバッファ配置方法は、論理回路に含まれる複数のセルにクロック信号を供給するためのクロックバッファを配置するクロックバッファ配置方法であって、クロックバッファを複数のセルのいずれのセルよりも電源線に近い位置に配置する配置工程を備えている。
【０００９】
第１のクロックバッファ配置方法によると、消費電流が相対的に大きいクロックバッファを複数のセルのいずれのセルよりも電源線に近い位置に配置するため、複数のクロックバッファを配置する際にはクロックバッファ間で遅延時間の差が生じない。
【００１０】
本発明に係る第２のクロックバッファ配置方法は、論理回路に含まれる複数のセルにクロック信号を供給するためのツリー状の階層構造を持つ複数のクロックバッファを配置するクロックバッファ配置方法であって、階層構造の階層ごとに、複数のクロックバッファを、一の階層に属するクロックバッファと該一の階層の前の階層である他の階層に属する複数のクロックバッファとの各マンハッタン距離がいずれも同一となるように電源線に沿ってそれぞれ配置する配置工程を備えている。
【００１１】
第２のクロックバッファ配置方法によると、ツリー状の階層構造の階層ごとに、複数のクロックバッファを、一の階層に属するクロックバッファと該一の階層の前の階層である他の階層に属する複数のクロックバッファとの各マンハッタン距離がいずれも同一となるように電源線に沿ってそれぞれ配置するため、各クロックバッファ間の配線長が等しくなることからクロックスキューを低減でき、各クロックバッファが電源線の近傍に配置されることから電圧降下を抑制できる。
【００１２】
本発明に係る第３のクロックバッファ配置方法は、論理回路に含まれる複数のセルにクロック信号を供給するためのツリー状の階層構造を持つ複数のクロックバッファを配置するクロックバッファ配置方法であって、階層構造の階層ごとに、一の階層に属するクロックバッファを、該一の階層の前の階層である他の階層に属するクロックバッファが配置されている電源線と隣り合う電源線に沿って、且つ、一の階層に属するクロックバッファと他の階層に属する複数のクロックバッファとの各マンハッタン距離がいずれも同一となるように配置する配置工程を備えている。
【００１３】
第３のクロックバッファ配置方法によると、ツリー状の階層構造の階層ごとに、一の階層に属するクロックバッファを、該一の階層の前の階層に属するクロックバッファが配置されている電源線と隣り合う電源線に沿って配置するため、クロックバッファを特定の電源線に集中することなくレイアウト面の全体に分散させることができる。また、各クロックバッファ間の配線長を等しくできると共に、各クロックバッファが電源線の近傍に配置されるので電圧降下を抑制できる。
【００１４】
【発明の実施の形態】
（第１の実施形態）
本発明の第１の実施形態を図面に基づいて説明する。
【００１５】
なお、各実施形態においては説明を簡単にするため、電源配線の寄生素子を抵抗成分のみとして考える。
【００１６】
まず、クロックバッファ等の標準セル（＝スタンダードセル）の消費電流と電源配線の電圧降下との関係について説明する。図１は電源配線に接続された３つの標準セルの等価回路を示している。各標準セル間に敷設されている電源配線はそれぞれ同一の配線長及び配線幅を有しているとし、これにより各配線抵抗は等しいとする。
【００１７】
図１に示すように、電源幹線の電圧をＶ0 とし、各標準セルの電源配線の接続点の電圧を電源幹線側から順にＶ1 ，Ｖ2 ，Ｖ3 とすると、これらは以下に示す式（１），（２）及び（３）のように表わされる。
【００１８】
0003703285.tif 000002
式（１）に示すように、電源幹線近傍の接続点の電位Ｖ1 は、各標準セルの消費電流の総和に比例して電圧降下が発生することが分かり、一方、式（３）に示すように、電源幹線から最も離れた位置にある接続点の電位Ｖ3 は、Ｉ2 及びＩ3 に示す消費電流が大きくなるほど電圧降下が大きくなり、その結果遅延時間の劣化が大きくなることが分かる。これにより、電源幹線から離れて配置されたセルの電流量ほど電源配線の電圧降下に与える影響が大きくなるため、逆に、消費電流が相対的に大きいセルを電源幹線の近傍に配置すれば電源線の電圧降下が小さくなって、一の電源線に接続された回路の遅延時間の劣化を抑制することができる。
【００１９】
標準セルにクロック信号を供給するためのクロックバッファには、フリップフロップやラッチのクロック入力端子及び配線等の大きな容量負荷や大きな抵抗負荷が接続されており、その充放電のためにクロックバッファの消費電流は必然的に大きくなる。図１に示す電源配線の電圧降下とセル配置との関係から、同一の駆動能力、同一の容量又は同一の抵抗負荷が接続されていたとしても、電源幹線からの距離によって各クロックバッファ間の遅延時間に差が生じるためクロックスキューが発生する。クロックバッファの電圧降下による遅延変動とクロックスキューの増加とを回避するためには、クロックバッファを標準セルよりも電源幹線側に配置した方がよい。また、このようにすると、クロックバッファよりも消費電流が小さい標準セルが電源幹線から遠くなるため、電源線の電圧降下の影響を受けにくくなるので、回路遅延の変動を小さくできる。
【００２０】
図２は本発明の第１の実施形態に係るクロックバッファ配置方法を用いたセルの部分レイアウトを示している。図２に示すように、レイアウト上に設けられた電源線及び接地線からなる電源幹線１１と、該電源幹線１１と直交し電源線及び接地線からなる第１の電源配線１２及び第２の電源配線１３とが配置されている。第１の電源配線１２には第１のセル列１４が配置され、第２の電源配線１３には第２のセル列１５が配置されている。第１のセル列１４は、電源幹線１１側からクロックバッファ１、セル１及びセル２の順に第１の電源配線１２と接続されており、第２のセル列１５は、電源幹線１１側からクロックバッファ２、セル３及びセル４の順に第２の電源配線１３と接続されている。ここで、第１の電源配線１２と第２の電源配線１３とは標準セル中の電源配線敷設領域を用いている。
【００２１】
以上説明したように、本実施形態によると、消費電流が相対的に大きいクロックバッファをいずれのセルよりも電源幹線側に配置するため、各電源配線の電圧降下による回路遅延変動を回避することができるので、クロックスキューの発生を抑制できる。また、クロックバッファ以外の標準セルに供給する電源配線の電圧降下量が少なくなるため、回路全体の遅延時間変動を小さくできる。
【００２２】
（第２の実施形態）
以下、本発明の第２の実施形態を図面に基づいて説明する。
【００２３】
図３は本発明の第２の実施形態に係るクロックバッファ配置方法の処理フローを表わしている。本実施形態においては、各クロックバッファ間の配線長を均等にしてクロックスキューの発生をさらに減少させる。ここでは、レイアウトの対象とする論理回路ブロックに対するクロック信号の供給方式に、第０段から第ｎ−１段までのｎ段（但し、ｎは正の整数とする。）のクロックバッファからなるツリー状の階層構造を持つクロックツリーを用いる。
【００２４】
まず、図３に示すように、クロックバッファ初期配置工程Ｓ０１において、階層構造の第０段のクロックバッファを電源幹線に隣接する位置に配置した後、クロックバッファ配置工程Ｓ０２において、２段目以降（第１段から第ｎ−１段まで）のクロックバッファを配置する。クロックバッファ配置工程Ｓ０２はマンハッタン距離計算工程Ｓ０２ａと対象クロックバッファ配置工程Ｓ０２ｂとからなる。マンハッタン距離計算工程Ｓ０２ａは、前段のクロックバッファの出力端子と処理の対象である当該クロックバッファの入力端子とのマンハッタン距離を計算する。すなわち、レイアウト平面をｘｙ座標にとると、前段のクロックバッファの出力端子のｘ座標及び当該クロックバッファの入力端子のｘ座標の差の絶対値と、前段のクロックバッファの出力端子のｙ座標及び当該クロックバッファの入力端子のｙ座標の差の絶対値との和が均等となる座標列を計算し、その後、対象クロックバッファ配置工程Ｓ０２ｂは、この座標列の中から電源配線と隣接する位置を求めて配置する。
【００２５】
これにより、前段のクロックバッファの出力端子からの各マンハッタン距離が同一で且つ電源幹線と隣接する位置が決定される。
【００２６】
次に、終了判定工程Ｓ０３において、クロックツリーの段数を判定し、最後の第ｎ−１段になるまでクロックバッファ配置工程Ｓ０２の処理を繰り返す。
【００２７】
図４は本実施形態に係るクロックバッファ配置方法を用いたクロックバッファの部分レイアウトを示している。図４に示すように、一例として、ｎ段のクロックツリーのうちの３段までを示し、第１の電源幹線２１、第２の電源幹線２２及び第２の電源幹線２３が所定の間隔をおいて互いに平行に配置されている。なお、各電源幹線２１〜２３に垂直な方向に配置される電源配線は、標準セル中の電源配線敷設領域を用いているため図示していない。
【００２８】
以下、クロックバッファの配置方法とクロックツリーの構成方法とを具体的に説明する。まず、初期クロックバッファ配置工程Ｓ０１において、第０段のクロックバッファ３０を回路ブロックの中央部付近に位置する第１の電源幹線２１の近傍に配置する。次に、クロックバッファ配置工程Ｓ０２において、第０段のクロックバッファ３０からのマンハッタン距離がそれぞれ同一の距離となり且つ各電源幹線２２，２３と隣接する位置に、処理の対象段である４つの第１段のクロックバッファ３１をそれぞれ配置する。ここで、図４に示す破線２４は、第０段のクロックバッファ３０から第１段のクロックバッファ３１までの各マンハッタン距離が同一となる位置を表わしている。
【００２９】
次に、対象段を第２段のクロックバッファ３２とし、第１段のクロックバッファ３１からのマンハッタン距離が一定で且つ電源幹線２２，２３と隣接する位置に、第２段のクロックバッファ３２を配置する。
【００３０】
以下同様に、クロックバッファ配置工程Ｓ０２を繰り返し、最後に第ｎ−１段の各クロックバッファの出力端子から入力端子までの各マンハッタン距離が同一となるようにフリップフロップなどの標準セルを配置する。
【００３１】
以上説明したように、階層構造のクロックツリーの各階層ごとに、各クロックバッファのマンハッタン距離が同一となるように電源幹線と隣接させて配置するため、電源配線の電圧降下による回路遅延変動を回避できると共にクロックスキューを抑制できる。また、クロックバッファ以外の標準セルに電源電圧を供給する電源配線の電圧降下も小さくなるため、回路全体の遅延時間変動を小さくできる。
【００３２】
（第３の実施形態）
以下、本発明の第３の実施形態を図面に基づいて説明する。
【００３３】
図５は本発明の第３の実施形態に係るクロックバッファ配置方法の処理フローを表わしている。本実施形態においては、階層構造のクロックツリーの階層間においても、クロック信号の配線長を均等化することによりクロックスキューをさらに低減する。第２の実施形態と同様に、レイアウトの対象とする論理回路ブロックに対するクロック信号の供給を、第０段から第ｎ−１段までのｎ段のクロックバッファからなるクロックツリーを用いることとする。
【００３４】
まず、図５に示すように、クロックバッファ初期配置工程Ｓ１１において、階層構造の第０段のクロックバッファを電源幹線の近傍に配置した後、クロックバッファ配置工程Ｓ１２において、２段目以降（第１段から第ｎ−１段まで）のクロックバッファを配置する。クロックバッファ配置工程Ｓ１２はマンハッタン距離計算工程Ｓ１２ａと電源幹線指定工程Ｓ１２ｂと対象クロックバッファ配置工程Ｓ１２ｃとからなる。
【００３５】
マンハッタン距離計算工程Ｓ１２ａは、前段のクロックバッファの出力端子と処理の対象である当該クロックバッファの入力端子とのマンハッタン距離を計算し、電源幹線指定工程Ｓ１２ｂは、前段のクロックバッファがその近傍に配置された電源幹線と隣接する電源幹線を指定し、対象クロックバッファ配置工程Ｓ０２ｂは、電源幹線指定工程Ｓ１２ｂにより指定された対象のクロックバッファを電源幹線と隣接するように配置する。
【００３６】
これにより、前段のクロックバッファの出力端子からの各マンハッタン距離が同一で且つ電源幹線と隣接する位置が決定される。その上、クロックツリーの各階層ごとに、前段の階層に属するクロックバッファが配置されている一の階層の電源幹線と隣接する他の電源幹線にクロックバッファを配置するため、特定の電源幹線にクロックバッファが集中することがない。
【００３７】
図６は本実施形態に係るクロックバッファ配置方法を用いたクロックバッファの部分レイアウトを示している。図６に示すように、第１の電源幹線４１、第２の電源幹線４２、第３の電源幹線４３及び第４の電源幹線４４が所定の間隔をおいて互いに平行に配置されている。なお、各電源幹線４１〜４４に垂直な方向に配置される電源配線は、標準セル中の電源配線敷設領域を用いているため図示していない。
【００３８】
以下、クロックバッファの配置方法とクロックツリーの構成方法とを具体的に説明する。まず、初期クロックバッファ配置工程Ｓ１１において、第０段のクロックバッファ５０を回路ブロックの中央部付近に位置する第１の電源幹線４１と隣接するように配置する。なお、図６において第１の電源幹線４１に対する第２の電源幹線４２と反対側の配置領域を省略している。
【００３９】
次に、クロックバッファ配置工程Ｓ１２のマンハッタン距離計算工程Ｓ１２ａにおいて、第０段のクロックバッファ５０からのマンハッタン距離ｄ1 がそれぞれ同一の距離となる位置を算出した後、電源幹線指定工程Ｓ１２ｂにおいて、第１の電源幹線４１と隣接する第２の電源幹線４２を選択し、配置対象である第１段のクロックバッファ５１を第２の電源幹線４２と隣接するように配置する。
【００４０】
次に、新たな配置対象である第２段のクロックバッファ５２Ａ〜５２Ｄを第１段のクロックバッファ５１からのマンハッタン距離ｄ2 が同一で且つ第２の電源幹線４２とそれぞれ隣接する第１の電源幹線４１の近傍及び第３の電源幹線４３に沿って配置する。
【００４１】
次に、第３段のクロックバッファ５３Ａ〜５３Ｌも同様に配置する。例えば、第２段のクロックバッファ５２Ａが配置されている第１の電源幹線４１に着目すると、第３段のクロックバッファ５３Ａ，５３Ｂを第２段のクロックバッファ５２Ａからの各マンハッタン距離ｄ3 が同一で、且つ、第１の電源幹線４１と隣接する第２の電源幹線４２に配置する。
【００４２】
以下同様に、クロックバッファ配置工程Ｓ１２を繰り返し、最後に第ｎ−１段の各クロックバッファの出力端子から入力端子までの各マンハッタン距離が同一となるようにフリップフロップなどの標準セルを配置する。
【００４３】
この結果、図６に示すように、レイアウト平面内において一の階層に属するクロックバッファは、該一の階層の前の階層に属するクロックバッファが配置された電源幹線と隣接する電源幹線に沿って各マンハッタン距離が同一となるようにＸ字状に配置されるため、特定の電源幹線にクロックバッファが集中しないので電源配線の電圧降下を小さくできる。
【００４４】
従って、消費電流が相対的に大きいクロックバッファを電源幹線の近傍に、且つ、特定の電源幹線に集中することなくレイアウト平面全体に分散させて配置するため、電源配線の電圧降下による回路遅延変動を回避することができ、その上、クロックバッファ間の配線長も等しくできるので、クロックスキューを低減できる。また、クロックバッファ以外の標準セルに供給する電源配線の電圧降下も小さくなるため、回路全体の遅延時間変動を小さくできる。
【００４５】
【発明の効果】
本発明に係る第１のクロックバッファ配置方法によると、複数のクロックバッファを配置する際にはクロックバッファ間で遅延時間の差が生じないため、電源配線の電圧降下による回路遅延変動を回避することができ、クロックスキューを低減できる。また、クロックバッファ以外の標準セルに供給する電源配線の電圧降下も小さくなるため、回路全体の遅延時間変動を小さくできる。
【００４６】
本発明に係る第２のクロックバッファ配置方法によると、ツリー状の各階層ごとに、各クロックバッファ間の配線長を等しく且つ各クロックバッファを電源線に沿って配置するため、クロックスキューを低減できると共に電源配線の電圧降下が小さくなって回路遅延変動を回避できる。また、クロックバッファ以外の標準セルに供給する電源配線の電圧降下も小さくなるため、回路全体の遅延時間変動を小さくすることができる。
【００４７】
本発明に係る第３のクロックバッファ配置方法によると、第２のクロックバッファ配置方法と同様の効果を得られる上に、クロックバッファを特定の電源線に集中することなくレイアウト全体に分散させることができるため、電源配線の電圧降下による回路遅延変動をさらに低減することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態に係る論理回路であって、電源配線に接続された標準セルの等価回路を示す図である。
【図２】本発明の第１の実施形態に係るクロックバッファ配置方法を用いたセル配置を示す部分レイアウト図である。
【図３】本発明の第２の実施形態に係るクロックバッファ配置方法の処理フロー図である。
【図４】本発明の第２の実施形態に係るクロックバッファ配置方法を用いた部分レイアウト図である。
【図５】本発明の第３の実施形態に係るクロックバッファ配置方法の処理フロー図である。
【図６】本発明の第３の実施形態に係るクロックバッファ配置方法を用いた部分レイアウト図である。
【符号の説明】
１１      電源幹線
１２      第１の電源配線
１３      第２の電源配線
１４      第１のセル列
１５      第２のセル列
Ｓ０１    クロックバッファ初期配置工程
Ｓ０２    クロックバッファ配置工程
Ｓ０２ａ  マンハッタン距離計算工程
Ｓ０２ｂ  対象クロックバッファ配置工程
Ｓ０３    終了判定工程
２１      第１の電源幹線
２２      第２の電源幹線
２３      第２の電源幹線
３０      第０段のクロックバッファ
３１      第１段のクロックバッファ
３２      第２段のクロックバッファ
３３      第３段のクロックバッファ
Ｓ１１    初期クロックバッファ配置工程
Ｓ１２    クロックバッファ配置工程
Ｓ１２ａ  マンハッタン距離計算工程
Ｓ１２ｂ  電源幹線指定工程
Ｓ１２ｃ  対象クロックバッファ配置工程
Ｓ１３    終了判定工程
４１      第１の電源幹線
４２      第２の電源幹線
４３      第３の電源幹線
４４      第４の電源幹線
５０      第０段のクロックバッファ
５１      第１段のクロックバッファ
５２Ａ    第２段のクロックバッファ
５２Ｂ    第２段のクロックバッファ
５２Ｃ    第２段のクロックバッファ
５２Ｄ    第２段のクロックバッファ
５３Ａ    第３段のクロックバッファ
５３Ｂ    第３段のクロックバッファ
５３Ｃ    第３段のクロックバッファ
５３Ｄ    第３段のクロックバッファ
５３Ｅ    第３段のクロックバッファ
５３Ｆ    第３段のクロックバッファ
５３Ｇ    第３段のクロックバッファ
５３Ｈ    第３段のクロックバッファ
５３Ｉ    第３段のクロックバッファ
５３Ｊ    第３段のクロックバッファ
５３Ｋ    第３段のクロックバッファ
５３Ｌ    第３段のクロックバッファ
【図１】
0003703285.tif 000003
【図２】
0003703285.tif 000004
【図３】
0003703285.tif 000005
【図４】
0003703285.tif 000006
【図５】
0003703285.tif 000007
【図６】
0003703285.tif 000008