(57)【特許請求の範囲】
【請求項１】
所定の信号を出力する信号源回路ユニットと、前記信号に従って動作する少なくとも１つ以上の論理回路ユニットと、前記論理回路ユニットと前記信号源回路ユニットとの間に形成された遅延調整回路素子を有する半導体集積回路装置において、前記信号源回路ユニットに予め接続された遅延調整回路素子の第１の出力ノードが第１の論理回路ユニットに接続され、第２の出力ノードが第２の論理回路ユニットに接続され、
前記遅延調整回路素子が、ｍ個のＮチャネル型トランジスタと、ｎ個のＰチャネル型トランジスタ（ｍ、ｎは共に整数、かつｎ＞ｍ）とを並列に接続したトランスミッションゲートにより構成され、前記遅延回路素子を少なくとも１段以上直列に接続して構成されることを特徴とする半導体集積回路装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は半導体集積回路装置に関し、特に所定の信号に従って動作する論理回路ユニットと前記信号源との間に形成された遅延調整回路に関するものである。
【０００２】
【従来の技術】
一般に大規模集積回路は様々な機能を持つ回路モジュールによって構成されており、通常これらの回路モジュールには１つ以上のクロック信号が分配され、回路モジュール内のフリップフロップ等の論理回路ユニットは前記クロック信号に同期して動作している。
【０００３】
図８は前記回路モジュールにおいて、クロック信号が分配され、終端の複数のフリップフロップに接続しているクロックツリー構造を持った回路モジュールの配置図の従来例である。
【０００４】
ここで、クロック信号源セル８０１が終端に位置する全てのフリップフロップセルを駆動することは、例えば駆動するフリップフロップセルが数百から数千個以上あった場合、クロック信号源セルの駆動能力不足と接続する配線長の増大によりクロック信号源から終端に位置するフリップフロップセルまでの伝達遅延が増大し、また終端フリップフロップセル間のクロックスキューを調整することが非常に困難となってくる。このため前記８０１の信号源セルから終端に位置する、例えばフリップフロップセル８０８、８０９の間の伝達時間が均等になるように、クロック信号を分配する為のクロックバッファセル８０２から８０７を挿入する。例えば、８０１のクロック信号をクロックバッファセル８０２、８０３にそれぞれ分配し、更に、前記８０２、８０３の信号も各々同様にクロックバッファセル８０４と８０５、８０６と８０７に各々駆動するセルが均等になるように分配する。以上のように最終的に終端に接続するフリップフロップセル８０８、８０９間のクロックスキューがゼロとなるようにクロックツリーを構成して配置配線を行う。
【０００５】
しかし上記に示したクロックツリーの構成では、クロックバッファセルの段数が均一となるように回路を構成したとしても、例えば、クロックバッファセル８０３と８０６を接続する素子間配線８１０、８０３と８０７を接続する素子間配線８１１の間に、また、クロックバッファセル８０７とフリップフロップセル８０８を接続する素子間配線８１２、８０７と８０９を接続する素子間配線８１３の間に配置配線後の配線長の差が発生する。この配線長の差により各素子間配線８１０、８１１、８１２、８１３の配線容量、配線抵抗がばらつき、８０３と８０６、８０７間、８０７と８０８、８０９間に各々伝達時間の遅延差が生じる。この結果としてクロック信号源セル８０１から最終段フリップフロップセルまでの伝達時間に差が生じ、これら複数のフリップフロップ間でクロックスキューが発生する。このクロックスキューによりフリップフロップが同時動作しなくなり、この回路モジュールの次段の回路が正常に動作しないという現象が生じていた。
【０００６】
このような場合のクロックスキューを防止する為の従来例を図９に示す。上述した配置配線後の配線長の差によって生じる伝達遅延差を調整する為に、クロックバッファセル９０３と９０６の間に遅延調整用バッファセル９１０を、クロックバッファセル９０７とフリップフロップセル９０９の間に遅延調整用バッファセル９１１を挿入する。そして、９１０、９１１の遅延調整用のバッファセルの挿入によりクロックバッファセル９０３と９０６、９０３と９０７の間、クロックバッファセル９０７とフリップフロップセル９０９、９０７と９０８の間の伝達遅延差を調整して、最終的にクロック信号源９０１から終端フリップフロップセル９０８、９０９への伝達時間差をなくし、クロックスキューを防止していた。
【０００７】
【発明が解決しようとする課題】
しかし、上述した従来の半導体集積回路装置では、特に、近年クロックサイクルが短くなり、クロックサイクルにおけるスキューの占める割合が大きくなってくると、複数のバッファ挿入によるスキュー防止では、終端に接続した論理ユニット間のスキューは低減するものの、第１に消費電力が増加する、第２に信号源から終端論理ユニットへの伝達時間が増大する、第３に遅延調整用バッファセルのセル遅延以下のスキューに対する調整が不可能であるという問題点があった。
【０００８】
また、バッファセルのＰチャネル型トランジスタとＮチャネル型トランジスタの能力比により立ち上がり遅延と立ち下がり遅延に差が生じ、両者間のデューティ比が崩れるという問題点があった。
【０００９】
更に、回路の微細化と高集積化が進んでくると、一度行なった配置配線の結果に対してバッファセルを挿入する為の空きスペースが少なくなり挿入が困難となることや、再度配置配線を実行してレイアウトを大幅に変更したとしても他の箇所でスキューが発生したり、影響がそれ以外の範囲に及ぶ為に目的とする修正が行なえない場合が生じ、クロックスキューを改善する為に多大な時間を費やすという問題があった。
【００１０】
【課題を解決するための手段】
本発明の半導体集積回路装置は第１に、所定の信号を出力する信号源回路ユニットと、前記信号に従って動作する少なくとも１つ以上の、たとえばフリップフロップセルやクロックバッファセルのような論理回路ユニットと、前記論理回路ユニットと信号源回路ユニットとの間に形成された遅延調整回路素子を有する半導体集積回路装置において、前記信号源回路ユニットに予め接続された遅延調整回路素子の第１の出力ノードが第１の論理回路ユニットに接続し、第２の出力ノードが第２の論理回路ユニットに接続することを特徴とする。
【００１１】
第２に、上記記載の遅延調整回路素子が、少なくとも１つ以上のＮチャネル型トランジスタと、少なくとも１つ以上のＰチャネル型トランジスタとを並列に接続したトランスミッションゲートにより遅延回路素子を構成し、前記遅延回路素子を少なくとも１段以上直列に接続して構成されていることを特徴とする。
【００１２】
第３に、上記記載の遅延調整回路素子が、ｍ個のＮチャネル型トランジスタと、ｎ個のＰチャネル型トランジスタ（ｍ、ｎは共に整数、かつｎ＞ｍ）とを並列に接続したトランスミッションゲートにより遅延回路素子を構成し、前記遅延回路素子を少なくとも１段以上直列に接続して構成されていることを特徴とする。
【００１３】
第４に、半導体集積回路装置において、クロック信号を発生あるいは、分配するクロックバッファセルのような論理回路ユニットに、上記記載の遅延調整回路素子を予め少なくとも１つ以上直列に接続した回路ユニットを構成し、前記回路ユニットを少なくとも１つ以上と、その終端に複数のフリップフロップセルのような論理回路ユニットを接続してクロックツリーを構成することを特徴とする。
【００１４】
【作用】
本発明の上記構成によれば、信号源回路ユニット及び、前記信号を分配する論理回路ユニットに調整可能な遅延調整回路素子を接続し、前記遅延調整回路素子の任意の出力ノードを介して、信号を次段の各論理回路ユニットに転送することで、信号源回路ユニットから各論理回路ユニットまでの伝達時間をバッファセルのセル遅延よりも小さい遅延差で調整が可能である。
【００１５】
また、前記遅延調整回路素子の出力信号の立ち上がり遅延と立ち下がり遅延が同等になるように調整が可能である。
【００１６】
【発明の実施の形態】
次に本発明の実施例について図面を参照して説明する。
【００１７】
図１は、本発明の第１の実施例を示す配置図である。クロック信号を出力するクロック信号源セル１０１と、それに接続する遅延回路素子１０３、１０４、１０５、１０６によって構成される遅延調整回路１０２と、クロック信号を遅延回路調整素子を介して接続する各々所定の位置に配置された複数のフリップフロップセル１０７、１０８、１０９、１１０と、クロック信号とフリップフロップセル間の素子間配線１１１、１１２、１１３、１１４によって構成されている。
【００１８】
図２は、本発明の第１の実施例の配置配線直後の配置図を示す一例である。例えば、クロック信号を出力するクロック信号源セル２０１に接続する遅延回路素子２０４の出力ノードを介して、クロック信号が複数のフリップフロップセル２０７、２０８、２０９、２１０に分配されており、２０４の出力ノードと各フリップフロップセルが素子間配線２１１、２１２、２１３、２１４によって接続されているものとする。今、例えば遅延回路素子２０３、２０４、２０５、２０６の素子遅延が８０ｐｓであり、素子間配線２１１から２１４の各々配線長に差が生じ、素子間配線２１１が１０ｍｍ、２１２が６ｍｍ、２１３が８ｍｍ、２１４が１２ｍｍで、配線遅延時間が４０ｐｓ／ｍｍとすると、この配線長の差によりフリップフロップセル２０８と２１０間に最大の２４０ｐｓのクロックスキューが存在する。
【００１９】
ここで、以上のクロックスキューを防止する為の本発明の実施例を図２を例に説明する。クロック信号を出力するクロック信号源セル２０１には各々８０ｐｓの素子遅延を持つ遅延調整回路素子２０３、２０４、２０５、２０６が４段直列に接続されている為、任意の遅延調整回路素子の出力ノードをフリップフロップセルに接続することにより、再度配置配線、あるいはセルの挿入を行なわずに素子間配線により生ずる遅延差を吸収することが可能である。例えば今、素子間配線２１１、２１２、２１３、２１４が遅延調整回路素子２０４の出力ノードを介してフリップフロップに接続し、かつ各々の素子間配線に配線長の差が生じている状態において、第１の遅延調整回路素子２０３の出力ノードを介して素子間配線が１２ｍｍの２１４を第１のフリップフロップセル２１０に接続し、第２の遅延調整回路素子２０４の出力ノードを介して素子間配線が１０ｍｍの２１１を第２のフリップフロップセル２０７に接続する。同様に２０５の出力ノードを介して２１３を２０９に、２０６の出力ノードを介して２１２を２０８にそれぞれ接続する。このように、遅延調整回路素子の接続ノードを変更することにより、セルの挿入や再配置配線を行うことなく素子間配線によるフリップフロップセル間のクロックスキューを防止することが可能となる。以上の変更を行なった配置図が図１の実施例である。
【００２０】
また、図３は本発明の第２の実施例を示す配置図である。クロック信号源セル３０１が遅延調整回路３０２の各々の素子の出力ノードを介して接続する論理回路ユニットがクロック信号を分配するクロックバッファセル３０７、３０８、３０９、３１０によって構成された配置図である。図１に示した第１の実施例との相違点は、クロック信号源が分配する接続先がクロックツリー終端のフリップフロップセルではなく、クロック信号を分配するクロックバッファセルとなっていることである。
【００２１】
ここで、図１及び、図３の実施例においては、遅延調整回路素子を４つ直列に接続した遅延調整回路までしか図示していないが、これらはこれに限定されるものではなく、１つ以上の遅延調整回路素子が直列に接続した構成であった場合には全く同様の効果が得られることは明らかである。
【００２２】
図４は、本発明の第１及び、第２の実施例の遅延調整回路の第１の具体例を示す回路図である。クロック信号源あるいは、クロックを分配するクロックバッファセル４０１に、Ｐチャネル型トランジスタとＮチャネル型トランジスタとを並列に接続したトランスミッションゲートにより遅延調整回路素子４０３、４０４、４０５、４０６を構成し、これらを直列に接続して遅延調整回路４０２とする。一般にＰチャネル型トランジスタとＮチャネル型トランジスタを能動状態にする為に、  Ｐチャネル型トランジスタのゲートにＶＳＳを、Ｎチャネル型トランジスタのゲートにＶＤＤをそれぞれ印加しておく。ここで、４０１の素子遅延を１２０ｐｓ、４０３から４０６の素子遅延を８０ｐｓとすると、４０１に入力されるクロック信号に対して、１２０ｐｓ、２００ｐｓ、２８０ｐｓ、３６０ｐｓ、４４０ｐｓの遅延を持ったクロック信号が、出力ノード４０７、４０８、４０９、４１０、４１１から各々抽出可能となる。
【００２３】
また、図５は本発明の第１及び、第２の実施例の遅延調整回路の第２の具体例を示す回路図である。クロック信号源あるいは、クロックを分配するクロックバッファセル５０１に、２つのＰチャネル型トランジスタと２つのＮチャネル型トランジスタとを並列に接続したトランスミッションゲートにより遅延調整回路素子５０３、５０４、５０５、５０６を構成し、これらを直列に接続して遅延調整回路５０２を構成した実施例である。上記と同様にＰチャネル型トランジスタとＮチャネル型トランジスタを能動状態にする為に、  Ｐチャネル型トランジスタのゲートにＶＳＳを、Ｎチャネル型トランジスタのゲートにＶＤＤをそれぞれ印加しておく。ここで、５０１の素子遅延を１２０ｐｓ、５０３から５０６の素子遅延を５０ｐｓとすると、５０１に入力されるクロック信号に対して、１２０ｐｓ、１７０ｐｓ、２２０ｐｓ、２７０ｐｓ、３２０ｐｓの遅延を持ったクロック信号が、出力ノード５０７、５０８、５０９、５１０、５１１から各々抽出可能となる。
【００２４】
尚、図４及び、図５の具体例においては２つのトランジスタの並列接続までしか図示していないが、これらはこれに限定されるものではなく、２つ以上のトランジスタを直列あるいは、並列に接続した構成であっても同様の効果が得られるのは明らかである。
【００２５】
図６は、本発明の第１及び、第２の実施例の遅延調整回路の第３の具体例を示す回路図である。例えば、Ｐチャネル型トランジスタのオン抵抗がＮチャネル型トランジスタに比べて２倍あるようなトランジスタ特性を持っている場合、例えば、２つのＰチャネル型トランジスタと１つのＮチャネル型トランジスタを並列に接続して遅延調整回路素子６０３、６０４、６０５、６０６を構成し、これらを直列に接続して遅延調整回路６０２とする。そして前記６０２をクロック信号源あるいは、クロックを分配するクロックバッファセル６０１に接続する構成とする。一般にＰチャネル型トランジスタとＮチャネル型トランジスタを能動状態にする為に、  Ｐチャネル型トランジスタのゲートにＶＳＳを、Ｎチャネル型トランジスタのゲートにＶＤＤをそれぞれ印加しておく。ここで、例えば、Ｐチャネル型トランジスタ１つとＮチャネル型トランジスタ１つを並列に接続して遅延調整回路素子を構成した場合の、立ち上がり及び、立ち下がり遅延がそれぞれ、１００ｐｓ、６０ｐｓであった場合、上述した遅延回路素子の構成をとることで、立ち上がり、立ち下がり遅延が共に８０ｐｓとなるように調整することが可能である。以上より、６０１の素子遅延が立ち上がり、立ち下がり共に１２０ｐｓ、６０３から６０６の素子遅延が立ち上がり、立ち下がり共に８０ｐｓとすると、６０１に入力されるクロック信号に対して、１２０ｐｓ、２００ｐｓ、２８０ｐｓ、３６０ｐｓ、４４０ｐｓの立ち上がり、立ち下がり遅延を持ったデューティ比５０％のクロック信号が、出力ノード６０７、６０８、６０９、６１０、６１１から各々抽出可能となる。
【００２６】
ここで、図６の具体例においては２つのＰチャネル型トランジスタと１つのＮチャネル型トランジスタの並列接続までしか図示していないが、これらはこれに限定されるものではなく、ｍ個のＮチャネル型トランジスタと、ｎ個のＰチャネル型トランジスタ（ｍ、ｎは共に整数、かつｎ＞ｍ）とを並列に接続した構成であっても同様の効果が得られることは明らかである。
【００２７】
図７は本発明の第３の実施例を示す配置図である。ここでは図８に示した従来例に対して、上記図１及び、図３の実施例を用いて、クロック信号源とそれに接続する遅延調整回路７０１と、クロック信号を分配するセルとそれに接続する遅延調整回路７０２から７０７を用いて、クロック信号源から終端のフリップフロップセル７０８、７０９に伝達する遅延が均一になるようにクロックツリーを構成した場合の配置図である。
【００２８】
【発明の効果】
以上説明したように本発明は、信号源回路ユニット及び、前記信号を分配する論理回路ユニットに遅延調整回路素子を複数直列に接続し、これらの任意の出力ノードから信号を抽出して各論理回路ユニットに転送する。また、遅延調整回路素子をトランスミッションゲートによって構成することにより、消費電力を増大することなく、バッファセルの素子遅延よりも小さい遅延差でクロック信号源から終端フリップフロップセルへの伝達時間が調整可能となり、クロックスキューをなくすことができるという効果がある。
【００２９】
また、立ち上がり、立ち下がり遅延が同等になるよう調整することでデューティ比５０％のクロック信号を転送することができるという効果がある。
【００３０】
更に、これら配置配線後のクロックスキューの調整が、セルの挿入あるいは、再配置配線等のレイアウト変更を行なわずに容易に実行可能であるという効果がある。
【図面の簡単な説明】
【図１】本発明の第１の実施例を示す配置図。
【図２】本発明の第１の実施例の配置配線直後の配置図。
【図３】本発明の第２の実施例を示す配置図。
【図４】本発明の第１及び、第２の実施例の遅延調整回路の第１の具体例を示す回路図。
【図５】本発明の第１及び、第２の実施例の遅延調整回路の第２の具体例を示す回路図。
【図６】本発明の第１及び、第２の実施例の遅延調整回路の第３の具体例を示す回路図。
【図７】本発明の第３の実施例を示す配置図。
【図８】従来のクロックツリーを構成した半導体集積回路装置の一例を示す配置図。
【図９】従来のクロックスキュー対策の為にバッファセル挿入を施した半導体集積回路装置の一例を示す配置図。
【符号の説明】
１０１・・・クロック信号源セル
１０２・・・遅延調整回路
１０３、１０４、１０５、１０６・・・遅延調整回路素子
１０７、１０８、１０９、１１０・・・フリップフロップセル
１１１、１１２、１１３、１１４・・・素子間配線
２０１・・・クロック信号源ァセル
２０２・・・遅延調整回路
２０３、２０４、２０５、２０６・・・遅延調整回路素子
２０７、２０８、２０９、２１０・・・フリップフロップセル
２１１、２１２、２１３、２１４・・・素子間配線
３０１・・・クロック信号源セル
３０２・・・遅延調整回路
３０３、３０４、３０５、３０６・・・遅延調整回路素子
３０７、３０８、３０９、３１０・・・フリップフロップセル
３１１、３１２、３１３、３１４・・・素子間配線
４０１・・・クロックバッファセル
４０２・・・遅延調整回路
４０３、４０４、４０５、４０６・・・遅延調整回路素子
４０７、４０８、４０９、４１０、４１１・・・出力ノード
５０１・・・クロックバッファセル
５０２・・・遅延調整回路
５０３、５０４、５０５、５０６・・・遅延調整回路素子
５０７、５０８、５０９、５１０、５１１・・・出力ノード
６０１・・・クロックバッファセル
６０２・・・遅延調整回路
６０３、６０４、６０５、６０６・・・遅延調整回路素子
６０７、６０８、６０９、６１０、６１１・・・出力ノード
７０１・・・クロック信号源とそれに接続する遅延調整回路
７０２、７０３、７０４、７０５、７０６、７０７・・・クロック信号を分配するセルとそれに接続する遅延調整回路
７０８、７０９・・・フリップフロップセル
８０１・・・クロック信号源セル
８０２、８０３、８０４、８０５、８０６、８０６、８０７・・・クロックバッファセル
８０８、８０９・・・フリップフロップセル
８１０、８１１、８１２、８１３・・・素子間配線
９０１・・・クロック信号源セル
９０２、９０３、９０４、９０５、９０６、９０６、９０７・・・クロックバッファセル
９０８、９０９・・・フリップフロップセル
９１０、９１１・・・遅延調整用バッファセル
【図１】
0003562226.tif 000002
【図２】
0003562226.tif 000003
【図３】
0003562226.tif 000004
【図４】
0003562226.tif 000005
【図５】
0003562226.tif 000006
【図６】
0003562226.tif 000007
【図７】
0003562226.tif 000008
【図８】
0003562226.tif 000009
【図９】
0003562226.tif 000010