(57)【特許請求の範囲】
【請求項１】
複数のセルを横方向に配置可能なセル列を縦方向に複数並べた配置ブロックにおいて、前記複数のセル列内の横方向に周期的に配置された複数の電源供給用セルのうち、いずれかの前記電源セルの近傍に配置され、クロック信号が入力される第１の負極性のバッファと、
前記複数のセル列における前記複数の電源供給用セルの近傍に配置された複数の第２の負極性のバッファと、
前記第１の負極性のバッファの出力端子と前記複数の第２の負極性のバッファの入力端子を接続する第１の配線と、
前記第２の負極性のバッファの左右いずれか次に配置された他の前記第２の負極性バッファと当該第２の負極性のバッファとの間に配置されたフリップフロップのクロック端子と、前記複数の第２の負極性のバッファの出力端子とを接続する第２の配線と、を有することを特徴とする半導体装置のクロック分配回路。
【請求項２】
前記第１の負極性のバッファは、前記第２の負極性のバッファの数に応じたドライブ能力のものを使用することを特徴とする請求項１記載のクロック分配回路。
【請求項３】
前記第２の負極性のバッファは、駆動するフリップフロップの数に応じた負荷を接続することを特徴とする請求項１記載のクロック分配回路。
【請求項４】
前記複数のセル列内の横方向に周期的に配置された複数の電源供給用セルのうち、所定の間隔よりも短い間隔で配置された前記電源供給用セル間における前記第２の負極性のバッファは、前記短い間隔に応じた負荷を接続することを特徴とする請求項１記載のクロック分配回路。
【請求項５】
前記第１の配線は、電源配線によってシールドされることを特徴とする請求項１記載のクロック分配回路。
【請求項６】
前記第２の配線は、電源配線によってシールドされることを特徴とする請求項１記載のクロック分配回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、集積回路におけるクロック分配回路に関するものである。
【０００２】
【従来の技術】
従来の集積回路においては、クロック設計を行うとき、ｎ個のフリップフロップを１個のクロックバッファで駆動することにより、クロックスキューを抑えていた。
【０００３】
【発明が解決しようとする課題】
しかしながら、近年、プロセッサのクロック周波数は飛躍的に増加しているため、クロックスキューを抑えることは困難になってきている。半導体技術の進歩により、ゲート単位におけるクロックの遅延は減少しているが、配線における寄生容量及び寄生抵抗によって引き起こされる伝搬遅延は減少の割合が少ない。このため、全体の遅延に対して相対的に配線における伝搬遅延の比重が増えている。
【０００４】
このような状況において、クロックの設計を行うとき、従来のように、ｎ個のフリップフロップを１個のクロックバッファで駆動するだけでは、クロックスキューを抑え、周波数に対応したクロックスキューを実現することは困難であった。
また、集積回路においては、電源配線に対するエレクトロマイグレーションといった問題も発生している。この問題は電流を絶えず消費するクロック回路における電源配線で特に問題となる。
【０００５】
本発明は、標準セルを配置、配線することによりレイアウトされる集積回路のブロックにおいて、ブロック内部のクロックスキューを抑制し、かつ、ブロック間のクロックスキューを抑制することを目的とするものである。
また、本発明は、標準セルを配置、配線することによりレイアウトされる集積回路のブロックにおいて、エレクトロマイグレーションの発生を抑制することを目的とするものである。
【０００６】
【課題を解決するための手段】
本発明は上記目的を達成するためなされたものである。
本発明の半導体装置のクロック分配回路は、上記目的を達成するために、複数のセルを横方向に配置可能なセル列を縦方向に複数並べた配置ブロックにおいて、前記複数のセル列内の横方向に周期的に配置された複数の電源供給用セルのうち、いずれかの前記電源セルの近傍に配置され、クロック信号が入力される第１の負極性のバッファと、前記複数のセル列における前記複数の電源供給用セルの近傍に配置された複数の第２の負極性のバッファと、前記第１の負極性のバッファの出力端子と前記複数の第２の負極性のバッファの入力端子を接続する第１の配線と、前記第２の負極性のバッファの左右いずれか次に配置された他の前記第２の負極性バッファと当該第２の負極性のバッファとの間に配置されたフリップフロップのクロック端子と、前記複数の第２の負極性のバッファの出力端子とを接続する第２の配線と、を有する。
【０００８】
以上の構成により、クロックスキューを抑えると共に、エレクトロマイグレーションの発生が抑制される。
また、本発明においては、第１のバッファとして、ブロックのセル列の段数に応じたドライブ能力のバッファを使用することにより、各ブロック間のクロックスキューを抑えることができる。
【０００９】
本発明においては、第２のバッファに、駆動するフリップフロップの数に応じて、負荷調整用のゲートを負荷として接続することにより、各第２のバッファが駆動するフリップフロップの数に起因するクロックスキューを抑えることができる。
本発明においては、各電源ブリッジセルは指定された間隔で配置されるが、ブロックのサイズにより指定された間隔より短い間隔で電源ブリッジセルが配置されることがある。この短い間隔の電源ブリッジセル間においては、第２のバッファは、その短い間隔に応じた負荷調整用のゲートを負荷として接続する。これにより、電源ブリッジセル間隔の違いによるクロックスキューの発生を抑えることができる。
【００１０】
本発明においては、前記第１の配線及び前記第２の配線を、電源線によってシールドして配線することにより、電源線との関係により発生するクロックスキューを抑えることができ、更に、クロストークなどのノイズに対して強いものとすることができる。
【００１１】
【発明の実施の形態】
本発明の実施形態について図を用いて説明する。
図１は、集積回路のブロックの配置図である。
図１において、１は、標準セルを配置、配線することによりレイアウトされたブロックである。集積回路上には、図１のようなブロックが複数配置される。ＲＯＷは複数のセルを横列配置したセル列である。図示の例では、セル列ＲＯＷは、ＲＯＷ０〜ＲＯＷ４の５段設けられている。
【００１２】
３は、電源ブリッジセルで、各セル列ＲＯＷに対して縦方向に等間隔Ｌ１ごとに配置される。この間隔Ｌ１は例えば４００μｍである。しかしながら、ブロック１の横方向の寸法によって、右端の電源ブリッジセル３とその左側の電源ブリッジセル３との間隔Ｌ２が短くなることがある。間隔Ｌ２は例えば２００μｍとなる。
【００１３】
４は、セル列２上に配置されたフリップフロップである。
５は、第１のバッファで、最上段のセル列ＲＯＷ０上で、各電源ブリッジセル３ごとに電源ブリッジセル３に近接して配置される。なお、この第１のバッファ５は、最下段のセル列ＲＯＷ４に配置することも、又は、最上段及び最下段のセル列ＲＯＷ０及びＲＯＷ４に配置することもできる。
【００１４】
６は、第２のバッファで、各セル列２において、各電源ブリッジセル３の下に配置される。
７は、右端の電源ブリッジセル３の下に配置されたダミー負荷である。
図２に、図１のブロック１の回路を示す。
外部より供給されるクロックは、入力端子ＣＫＩＮ１〜ｎから第１のバッファ５に供給される。第１のバッファ５は、近接する電源ブリッジセル３の下に配置された、縦１列の第２のバッファ６を駆動する。８は第１のバッファ５と第２のバッファ６の間を接続する第１の配線である。第２のバッファ６は、同一セル列ＲＯＷ上にあり、次の縦１列の第２のバッファ６までに存在するフリップフロップ４のクロック端子ＣＫを駆動する。９は第２のバッファ６とフリップフロップ４の間を接続する第２の配線である。
【００１５】
ここで、第１のバッファ５は、ＲＯＷの段数に応じたドライブ能力のセルを選択して使用する。これは、他のブロックとの間で発生するクロックスキューを抑えるためのものである。セルの選択例を図３に示す。
図３（ａ）はＲＯＷ段数が１〜２の場合、（ｂ）はＲＯＷ段数が３〜５の場合、（ｃ）はＲＯＷ段数が６〜１０の場合、（ｄ）はＲＯＷ段数が１１〜１９の場合、（ｅ）はＲＯＷ段数が２０〜２８の場合を示す。（ｂ）〜（ｅ）はＲＯＷ段数に応じたドライブ能力のバッファが使用されている状態を示す。また、（ａ）は、最小のドライブ能力のバッファを複数直列に接続して、遅延量を調整している。
【００１６】
また、ＲＯＷ段数が２９以上となった場合は、縦方向に配置されたセル列の最上段セル列ＲＯＷ０及び最下段のセル列ＲＯＷ４の両方に第１のバッファ５を配置する。この場合、各第１のバッファ５は、図３に示した基準によりセルを選択する。
このように第１のバッファのセルを選択することにより、同一集積回路上に配置された各ブロック１における第１のバッファによる遅延量を揃えることができる。したがって、第１のバッファによるクロックスキューを減少できる。
【００１７】
第２のバッファについては、駆動するフリップフロップ４の数に応じて、負荷調整用のゲート（ダミー負荷）を含んだセルを使用する。これは、駆動するフリップフロップ４の数に応じて発生するクロックスキューを抑える。選択基準の１例を図４に示す。
図４（ａ）はフリップフロップが８個の場合で、ダミー負荷を含まない。（ｂ）〜（ｉ）は、駆動するフリップフロップの数の減少に伴って、ダミー負荷の容量を増加させている。（ｂ）はフリップフロップが７個の場合、（ｃ）はフリップフロップが６個の場合、（ｄ）はフリップフロップが５個の場合、（ｅ）はフリップフロップが４個の場合、（ｆ）はフリップフロップが３個の場合、（ｇ）はフリップフロップが２個の場合、（ｈ）はフリップフロップが１個の場合、（ｉ）はフリップフロップが０個の場合を示す。
【００１８】
第２のバッファ６の場合、更に、電源ブリッジセル３間の距離により、負荷調整用のセルを使用する必要がある。電源ブリッジセル３の間隔Ｌ１は等間隔に指定されるが、ブロック１の横方向の寸法によっては、右端の電源ブリッジセル３とその左側の電源ブリッジセル３との間隔（図１のＬ２）は、他の間隔よりも短くなることがある。このため、短い間隔Ｌ２内にあるフリップフロップ４のクロック端子７へのクロックスキューが大きくなる。
【００１９】
これを回避するため、最右端の電源ブリッジセル３とその左側の電源ブリッジセル３との間隔に応じたダミー負荷７を右端の電源ブリッジセル３の下に配置して、第２のバッファの負荷とする。このダミー負荷の選択基準の１例を図５に示す。
図５（ａ）は間隔が２００〜３００μｍの場合で、（ｂ）は間隔が１００〜２００μｍの場合で、（ｃ）は間隔が〜１００μｍの場合で、間隔が短いほど、容量の大きいダミー負荷を使用する。図４及び図５のダミー負荷は、ＭＯＳトランジスタを容量Ｃとして使用している。
【００２０】
本例は、更に、クロック配線によるクロックスキューを抑える手段を有している。本例では、クロック配線は電源線によりシールドされて配線される。
図６は、図２のＡ−Ａ線の断面図で、第１のバッファ５と第２のバッファを接続する第１の配線８のシールド構成を示すものである。なお、図６では、理解を容易にするため、絶縁層等の図示は省略している。図６において、１１はＭＯＳトランジスタ、１２は１層目の配線、１３は２層目の配線、１４は３層目の配線である。２層目の配線には、電源線１５と１６の間に、第１のバッファ５と第２のバッファ６との間のクロック配線８が配置される。
【００２１】
図７は、図２のＢ−Ｂ線の断面を示したもので、第２のバッファ６とフリップフロップ４を接続する第２の配線９のシールド構成を示すものである。図７において、２１はＭＯＳトランジスタ、２２は１層目の配線、２３は２層目の配線、２４は３層目の配線である。３層目の配線には、電源線２５と２６の間に、第２のバッファ５とフリップフロップ４との間のクロック配線９が配置される。
【００２２】
クロック配線８，９は、同一層１３，２３で電源線１５，１６，２５，２６に平行で走ることにより、電源線１５，１６，２５，２６との間の容量が一定になる。これにより配線によるクロックスキューが低減される。また、クロック配線８，９は、電源線１５，１６，２５，２６によりシールドされるため、クロストークなどのノイズに対して強いものとなる。
【００２３】
次に、第２のバッファ６のクロックセルは、電源ブリッジセル３と共用して使用されている。このため、ブロックにおける標準セル中で最も電流を消費するクロックセルを電源ブリッジセルの直下に置くこととなる。したがって、エレクトロマイグレーションの発生を抑えることが可能となる。
図８を用いて、本クロック分配回路を実現するための自動配置配線システムについて説明する。
【００２４】
ステップＳ１で、設計のための論理情報を格納したネットリストを用意する。ステップＳ２で、フリップフロップなどのゲートの配置を行う。ステップＳ３で、電源ブリッジセルの本数を決定する。ステップＳ４で、電源ブリッジセルの配置に応じて第１及び第２のバッファを追加していくことにより、ネットリストを更新していく。このとき、第１のバッファのドライブ能力は、前に図３を用いて説明したように、ＲＯＷ段数により決定される。
【００２５】
ステップＳ５〜８で、通常の設計と同様に、配置、配置改善、配線を決定して行く。ステップＳ９で、前に図４，図５を用いて説明したように、ダミー負荷の追加を行い、ステップＳ１０でレイアウトデータを得る。この自動配置配線システムにより均一なクロックスキューが実現できるので、設計者はクロックスキューを意識せずにレイアウトを設計することができる。
【００２６】
【発明の効果】
本発明によれば、標準セルを配置、配線することによりレイアウトされる集積回路のブロックにおいて、ブロック内部のクロックスキューを抑制し、かつ、ブロック間のクロックスキューを抑制することが可能となる。
また、本発明によれば、標準セルを配置、配線することによりレイアウトされる集積回路のブロックにおいて、エレクトロマイグレーションの発生を抑制することが可能となる。
【図面の簡単な説明】
【図１】本発明の実施形態のクロック分配回路の配置図。
【図２】図１のクロック分配回路の回路図。
【図３】図１，２の第１のバッファのセルの選択基準例を示す図。
【図４】図１，２の第２のバッファのセルの選択基準例を示す図。
【図５】図１，２の右端の第２のバッファのセルの選択基準例示す図。
【図６】図２のＡ−Ａ線における断面図。
【図７】図２のＢ−Ｂ線における断面図。
【図８】図１，２のクロック分配回路の自動設計システムを示すフローチャート。
【符号の説明】
１…ブロック
３…電源ブリッジセル
４…フリップフロップ
５…第１のバッファ
６…第２のバッファ
７…ダミー負荷
８…第１の配線
９…第２の配線
１１，２１…ＭＯＳトランジスタ
１２，２２…１層目の配線
１３，２３…２層目の配線
１４，２４…３層目の配線
１５，１６，２５，２６…電源線
ＣＫＩＮ…クロック端子
ＲＯＷ…セル列
【図１】
0003925960.tif 000002
【図２】
0003925960.tif 000003
【図３】
0003925960.tif 000004
【図４】
0003925960.tif 000005
【図５】
0003925960.tif 000006
【図６】
0003925960.tif 000007
【図７】
0003925960.tif 000008
【図８】
0003925960.tif 000009