(57)【特許請求の範囲】
【請求項１】
多相クロックを用いて動作する集積回路であって、
クロック周波数が同一で位相の互いに異なる複数相のクロックからなる多相クロックを生成して前記集積回路内に分配するクロック供給手段と、
前記クロック供給手段によって供給された前記多相クロックに同期して前記クロック周波数よりも高い動作周波数で動作する少なくとも１つの論理回路とを有し、
前記論理回路は、２以上の整数Ｎに対し、入力データ信号を第１番目のクロックから第Ｎ番目のクロックを用いて、該入力データ信号よりも低速な２個以上のデータ信号に一時的に分割する信号分割回路と、前記分割されたデータ信号を、第２のクロックから第Ｎ番目のクロックおよび第１番目のクロックを用いて１つの信号に合成する信号合成回路とを含み、前記信号分割回路と前記信号合成回路とに入力される多相クロックは同一のクロック供給手段で分配されることを特徴とする、
集積回路。
【請求項２】
前記クロック供給手段は、
前記多相クロックを生成するクロック生成回路と、
前記クロック生成回路で生成された前記多相クロックを前記集積回路内に分配するクロック分配手段とを有する、請求項１記載の集積回路。
【請求項３】
前記クロック供給手段は、
基準信号として１相あるいは２相の前記クロック周波数のクロックを生成するクロック生成回路と、
前記クロック生成回路で生成された前記基準信号を前記集積回路内に分配し、分配された該基準信号を前記多相クロックに変換して前記論理回路に与えるクロック分配手段とを有する、請求項１記載の集積回路。
【請求項４】
前記クロック分配手段は、
前記クロック生成回路で生成された前記基準信号を前記集積回路内に分配する第１のクロック分配回路と、
前記第１のクロック分配回路によって分配された前記基準信号を前記多相クロックに変換するクロック変換回路と、
前記クロック変換回路で得られた前記多相クロックを前記論理回路に与える第２のクロック分配回路とを有する、請求項３記載の集積回路。
【請求項５】
前記論理回路は、前記多相クロックに含まれる２つ以上のクロックに同期することにより前記クロック周波数の２倍以上の動作周波数で動作するデータ保持回路を有する、請求項１〜４のいずれか１項に記載の集積回路。
【請求項６】
前記データ保持回路は、２つ以上の前記クロックの各々に同期してデータを保持する複数のデータ保持素子を並列に備える、請求項５記載の集積回路。
【請求項７】
前記データ保持回路は、
データによって決まる値を少なくとも２つの前記クロックに同期して所定期間出力する少なくとも１つのラッチ回路と、
前記各ラッチ回路から前記所定期間出力された値を順次出力する合成回路とを有する、請求項１〜４のいずれか１項に記載の集積回路。
【請求項８】
前記論理回路は、少なくとも１つのダイナミック回路を有し、前記多相クロックに含まれる２つ以上のクロックを用いて該ダイナミック回路がリセットと論理動作を交互に繰り返す、請求項１〜４のいずれか１項に記載の集積回路。
【請求項９】
前記論理回路の各々は、前記多相クロックから該論理回路毎に選択された所定数のクロックに同期して、独立した動作周波数で動作する、請求項１〜８のいずれか１項に記載の集積回路。
【請求項１０】
前記クロック供給手段は、
前記多相クロックを生成するクロック生成回路と、
前記クロック生成回路で生成された前記多相クロックを前記集積回路内に分配し、分配された前記多相クロックを前記クロック周波数よりも高い周波数の１相クロックに変換して前記論理回路に与えるクロック分配手段とを有する、請求項１記載の集積回路。
【請求項１１】
前記クロック分配手段は、
前記クロック生成回路で生成された前記多相クロックを前記集積回路内に分配する第１のクロック分配回路と、
前記第１のクロック分配回路によって分配された前記多相クロックを前記１相クロックに変換するクロック変換回路と、
前記クロック変換回路で得られた前記１相クロックを前記論理回路に与える第２のクロック分配回路とを有する、請求項１０記載の集積回路。
【請求項１２】
前記クロック供給手段は、前記多相クロックを調整する調整回路を有する、請求項１〜１１のいずれか１項に記載の集積回路。
【請求項１３】
前記調整回路は、前記多相クロックに含まれる前記クロック相互のスキューを補正する、請求項１２記載の集積回路。
【請求項１４】
前記調整回路は、前記多相クロックに含まれる前記クロックの波形を変換する、請求項１２記載の集積回路。
【請求項１５】
前記調整回路は、前記クロックの波形をパルス状に変換する、請求項１４記載の集積回路。
【請求項１６】
前記クロック供給手段は、
前記論理回路が同期すべきクロックを、該論理回路の動作時および待機時において変更可能に前記多相クロックから選択するクロック選択回路を有する、請求項１〜１５のいずれか１項に記載の集積回路。
【請求項１７】
多相クロックを用いて動作する集積回路であって、
クロック周波数が同一で位相の互いに異なる複数相のクロックからなる多相クロックを生成して前記集積回路内に分配するクロック供給手段と、
前記クロック供給手段によって供給された前記多相クロックに同期して前記クロック周波数よりも高い動作周波数で動作する少なくとも１つの論理回路とを有し、
前記論理回路は、２以上の整数Ｎに対し、入力データ信号を第１番目のクロックから第Ｎ番目のクロックを用いて、該入力データ信号よりも低速な２個以上のデータ信号に一時的に分割する信号分割回路と、前記分割されたデータ信号を１つの信号に合成する信号合成回路とを含み、前記信号分割回路と前記信号合成回路とに入力される多相クロックは同一のクロック供給手段で分配されることを特徴とする、
集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路におけるクロック分配に関し、特に、高速動作を必要とする集積回路におけるクロック分配に関する。
【背景技術】
【０００２】
半導体集積回路の分野では動作の高速化が強く要求され、様々な手法により動作の高速化が図られている。
【０００３】
半導体集積回路では、クロックが論理回路の動作タイミングを決定するので、クロック周波数により集積回路の動作速度が決定される。集積回路を高速化するために、最も単純な手法としては、論理回路に分配するクロックの周波数を上げればよい。
【０００４】
しかし、クロック周波数が１０ＧＨｚを超えると、寄生インダクタンスや表皮効果によりクロック分配配線の抵抗値が上昇する。そのため、クロック波形の劣化や、分配されるクロックの遅延時間の増大が顕著になり、クロックスキュー（クロック到達時間のばらつき）の増大につながるというクロックに関する問題があった。
【０００５】
さらに、立ち上がり・立ち下がりの遅延時間の増大や、デューティー比（クロック波形のハイレベルの時間とローレベルの時間との比）の崩れなどが加わると、クロック波形が劣化し、クロックが喪失することもある。そのため、論理回路の動作マージンを確保する必要性から動作周波数の高速化が阻害されていた。
【０００６】
図３６は、従来の半導体集積回路におけるクロック分配の構成を示す図である。図３６を参照すると、集積回路１０１は１相クロック生成回路３３０２、クロック分配回路１０３、および論理回路１０４を有している。
【０００７】
１相クロック生成回路３３０２は１相のクロックＣＫ１を生成する。クロック分配回路３３０３は、１相クロック生成回路３３０２で生成されたクロックＣＫ１を論理回路３３０４内に分配する。論理回路３３０４は複数のフリップフロップ３３０５および組み合わせ回路１０６を有している。論理回路３３０４内のフリップフロップ３３０５はクロックＣＫ１の立ち上がりまたは立ち下がりのタイミングでデータを取り込む。このように集積回路１０１の動作周波数はクロックの周波数と同一となる。
【０００８】
このようにしてクロックを分配する従来の半導体集積回路を高速化するには、クロックの周波数をそれと同等に高速化する必要がある。そのため、上述したクロックスキュー等の問題が不可避となる。
【０００９】
また、現在では、高速クロックを分配するためにＨツリー方式が広く用いられている。図３７は、Ｈツリー方式を用いたクロック分配構成を示す図である。図３７の半導体集積回路は１相クロック生成回路３４０２、バッファ３４０３、３４０５、３４０７、３４０９、およびクロック配線３４０４、３４０６、３４０８を有している。
【００１０】
１相クロック生成回路３４０２は１相のクロックを生成する。１段目のバッファ３４０３は１相クロック生成回路３４０２で生成されたクロックをクロック配線３４０４の中央から両端に向けて２つに分岐する。クロック配線３４０４の両端には２段目のバッファ３４０５が接続されており、クロック配線３４０６の両端に向けてクロックをさらに分岐する。同様に、バッファ３４０７がクロック配線３４０８の両端のバッファ３４０９に向けてクロックを分岐する。
【００１１】
Ｈツリー方式は、図３７に示した様にバッファでクロックをＨ型のツリーに分岐し、クロック配線を等長かつ等負荷にすることによりクロックスキューを抑制するクロック分配構成である。しかし、Ｈツリー方式では、１段目のバッファ３４０３によって駆動されるクロック配線３４０４が長いため、これが高速クロックの分配を困難にする要因となっていた。
【００１２】
また、高速クロックを分配する従来の他の手法としてＳＰＩＮＥ方式が用いられている。図３８は、ＳＰＩＮＥ方式を用いたクロック分配構成を示す図である。図３８の半導体集積回路は、１相クロック生成回路３５０２、クロック分配回路３５０３、ＳＰＩＮＥ３５０４、バッファ３５０５、およびクロック配線３５０６を有している。
【００１３】
１相クロック生成回路３５０２は１相のクロックを生成する。クロック分配回路３５０３は複数のバッファを有しており、１相クロック生成回路３５０２で生成されたクロックを基幹となる複数のＳＰＩＮＥ３５０４に分岐する。ＳＰＩＮＥ３５０４には複数のバッファ３５０５が接続されている。バッファ３５０５は、ＳＰＩＮＥ３５０４のクロックを、例えばグリッド状に配置されたクロック配線３５０６に分配する。クロック配線３５０６によってクロックは半導体集積回路全体に分配される。このＳＰＩＮＥ方式には、バッファ配置位置が図３８のように一直線かつ規則的になり、設計が容易になるという利点がある。
【００１４】
しかし、ＳＰＩＮＥ方式では、上述したような動作周波数の問題がクロック分配回路３５０３において発生することに加え、基幹となるＳＰＩＮＥ３５０４の配線長も高速クロック分配を阻害する要因となっていた。
【００１５】
上述したように従来の高速クロックの分配には様々な問題があったが、クロック以外の高速な信号の伝送にも同様の問題があった。
【００１６】
また、クロックスキューの問題を緩和するためにｎ相クロック（ｎは２以上の自然数）を用いる手法が従来から用いられている。図３９は、ｎ相クロックを用いた従来の半導体集積回路の構成を示す図である。図４０は、図３９の半導体集積回路の動作を示すタイミング図である。
【００１７】
図３９を参照すると、従来の半導体集積回路は多相クロック生成回路３６０１、フリップフロップ３６０２、３６０３、３６０４、および組み合わせ回路３６０５、３６０６を有している。多相クロック生成回路３６０１は、図４０に示したように、周波数が同一で位相の異なる複数のクロックＣＫ１、ＣＫ２、ＣＫ３を生成する。フリップフロップ３６０２、３６０３、３６０４は互いに異なるタイミングでデータを取り込むべきフリップフロップである。フリップフロップ３６０２はクロックＣＫ１でデータを取り込み、フリップフロップ３６０３はクロックＣＫ２でデータを取り込み、フリップフロップ３６０４はクロックＣＫ３でデータを取り込む。このように、各組み合わせ回路３６０５、３６０６を挟むフリップフロップ３６０２、３６０３、３６０３は順に動作する。これにより、図４０に示したように、半導体集積回路のデータ（図３９、４０中のデータ２、３）がクロックの周波数よりも高速に伝達されることとなる。
【００１８】
また、従来の他の手法として、多相クロックをダイナミック回路に適用する手法がある（特許文献１参照）。図４１は、多相クロックをダイナミック回路に適用した従来の半導体集積回路の構成を示す図である。
【００１９】
図４１を参照すると、多相クロック生成回路３６０１、フリップフロップ５００１、およびダイナミック論理回路５００２を有している。多相クロック生成回路３６０１は図３９に示したものと同じものであり、図４０のように周波数が同一で位相の異なる複数のクロックＣＫ１、ＣＫ２、ＣＫ３を生成し、フリップフロップ５００１およびダイナミック論理回路５００２に分配する。
【００２０】
フリップフロップ５００１はクロックＣＫ１に同期してデータを取り込み、出力する。
【００２１】
ダイナミック論理回路５００２は、多相クロックのいずれかのクロック（図４１ではクロックＣＫ２、ＣＫ３）の分配を受け、分配されたクロックに同期して動作する。
【００２２】
これにより、図３９のものと同様に、予備充電時間による信号のブロッキングが無くなり、データがクロック周波数よりも高速に伝達されることとなる。
【００２３】
このように、ｎ相クロックを用いることによりクロックのタイミングをずらすことでクロックスキューによるデータ突き抜けを防止しつつ、データを高速に伝達することができる。この構成によれば、データが高速で伝達されるので、入力信号が出力に反映されるまでにかかる時間は短縮されるが、フリップフロップの動作周波数はクロック周波数と同じであるため、データとデータの間隔はクロック周波数と同じであり、スループットとしての動作周波数は高速化されない。また、ｎ相クロックを用いた従来の手法では、組み合わせ回路３６０５、３６０６の動作周波数は高速となるため、信号に配線長の長い部分があれば、上述したように波形が劣化して信号が喪失するという問題が生じる。
【００２４】
一方、消費電力を低減するためにクロックの周波数を切り替え可能な半導体集積回路が従来から用いられてきた（例えば特許文献２参照）。図４２は、クロックの周波数を切り替え可能な従来の半導体集積回路の構成を示す図である。図４３は、図４２に示した半導体集積回路がクロック周波数を切り替える際の動作を示すタイミング図である。
【００２５】
図４２を参照すると、従来の半導体集積回路は、動作周波数制御回路３８０１、クロック生成回路３８０２、および論理回路３８０３を有している。動作周波数制御回路３８０１からの制御に従って、クロック生成回路３８０２が論理回路３８０３に供給するクロックの周波数を切り替える。このクロック周波数の切り替えには、図４３に示したように所定の時間３９０１を要する。そのため、従来の半導体集積回路はクロック周波数の切り替えが終わるまで、論理回路３８０３の動作を停止しておく必要があり、高速動作が要求される半導体集積回路にとって無駄な時間となっていた。
【特許文献１】特開平１１−２１２６６４号公報
【特許文献２】特開平５−９４２２７号公報
【発明の開示】
【発明が解決しようとする課題】
【００２６】
上述したように、半導体集積回路の動作を高速化するには様々な問題があり、特に、１０ＧＨｚを越えるクロックの分配ではクロックスキューに起因する問題や、波形の劣化によるクロック喪失などが顕著となり、高速化の要求が満たさせる状況に至っていない。
【００２７】
本発明の目的は、高速動作可能な半導体集積回路を提供することである。
【課題を解決するための手段】
【００２８】
上記目的を達成するために、本発明の集積回路は、多相クロックを用いて動作する集積回路であって、
クロック周波数が同一で位相の互いに異なる複数相のクロックからなる多相クロックを生成して集積回路内に分配するクロック供給手段と、
クロック供給手段によって供給された多相クロックに同期してクロック周波数よりも高い動作周波数で動作する少なくとも１つの論理回路とを有している。
【００２９】
したがって、各論理回路が複数のクロックに同期することによりクロック周波数の複数倍の周波数で動作し、クロック周波数を抑えてクロックに関する問題を低減しつつ、論理回路の動作周波数を高めることができる。例えば、ｎ（ｎは２以上の整数）相クロックのうちｊ（ｊは２以上、ｎ以下の整数）に同期して論理回路が動作すると、論理回路の動作周波数はクロック周波数ｆのｊ倍となる。また、論理回路の所望の動作周波数がｆｃｈｉｐであれば、各クロック周波数をｆｃｈｉｐ／ｊに抑えることができる。
【００３０】
本発明の一態様によれば、クロック供給手段は、
多相クロックを生成するクロック生成回路と、
クロック生成回路で生成された多相クロックを集積回路内に分配するクロック分配手段とを有している。
【００３１】
本発明の他の態様によれば、クロック供給手段は、
基準信号として１相あるいは２相の前記クロック周波数のクロックを生成するクロック生成回路と、
クロック生成回路で生成された基準信号を集積回路内に分配し、分配されたその基準信号を多相クロックに変換して論理回路に与えるクロック分配手段とを有している。
【００３２】
その場合、クロック分配手段は、
クロック生成回路で生成された基準信号を集積回路内に分配する第１のクロック分配回路と、
第１のクロック分配回路によって分配された基準信号を多相クロックに変換するクロック変換回路と、
クロック変換回路で得られた多相クロックを論理回路に与える第２のクロック分配回路とを有することとしてもよい。
【００３３】
本発明の一態様によれば、論理回路は、多相クロックに含まれる２つ以上のクロックに同期することによりクロック周波数の２倍以上の動作周波数で動作するデータ保持回路を有している。その場合、前記データ保持回路は、２つ以上の前記クロックの各々に同期してデータを保持する複数のデータ保持素子を並列に備えることとしてもよい。
【００３４】
したがって、論理回路は、例えばクロック周波数がｆでｎ相の多相クロックのうち任意のｋ個（ｋは２以上、ｎ以下の整数）のクロックに同期してデータを保持すれば動作周波数ｆ×ｋで動作することができる。
【００３５】
また、データ保持回路は、
データによって決まる値を少なくとも２つのクロックに同期して所定期間出力する少なくとも１つのラッチ回路と、
各ラッチ回路から所定期間出力された値を順次出力する合成回路とを有していてもよい。
【００３６】
また、論理回路は、少なくとも１つのダイナミック回路を有し、多相クロックに含まれる２つ以上のクロックを用いてダイナミック回路がリセットと論理動作を交互に繰り返す。
【００３７】
したがって、論理回路は、例えばクロック周波数がｆでｎ相の多相クロックのうち任意のｋ個（ｋは２以上、ｎ以下の整数）のクロックを用いてダイナミック回路のリセットおよび論理動作を交互に繰り返せば動作周波数（ｆ×ｋ／２）で動作することができる。
【００３８】
また、論理回路の各々は、多相クロックから論理回路毎に選択された所定数のクロックに同期して、独立した動作周波数で動作することとしてもよい。
【００３９】
したがって、各論理回路に用いるクロックの相数を任意に選択できるので、高速動作が必要な論理回路では高速の動作周波数を実現し、高速動作を必要としない論理回路では配線長などの設計条件を緩和することができる。
【００４０】
また、前記クロック供給手段は、
前記多相クロックを生成するクロック生成回路と、
前記クロック生成回路で生成された前記多相クロックを前記集積回路内に分配し、分配された前記多相クロックを前記クロック周波数よりも高い周波数の１相クロックに変換して前記論理回路に与えるクロック分配手段とを有することとしてもよい。
【００４１】
本発明の一態様によれば、前記クロック分配手段は、
前記クロック生成回路で生成された前記多相クロックを前記集積回路内に分配する第１のクロック分配回路と、
前記第１のクロック分配回路によって分配された前記多相クロックを前記１相クロックに変換するクロック変換回路と、
前記クロック変換回路で得られた前記１相クロックを前記論理回路に与える第２のクロック分配回路とを有している。
【００４２】
したがって、配線長が長く帯域条件の厳しい部分では、周波数の低い多相クロックで分配し、それを１相クロックに変換して論理回路に与えるので、クロックに関する問題を緩和しつつ、論理回路の動作周波数を高くすると共に、従来から用いられている１相クロック用の論理回路を用いることができる。
【００４３】
また、前記クロック供給手段は、前記多相クロックを調整する調整回路を有することとしてもよい。
【００４４】
その調整回路は、前記多相クロックに含まれる前記クロック相互のスキューを補正するものであってよい。
【００４５】
したがって、多相クロックのクロック間のスキューが適正に補正され、論理回路の動作マージンを最大にとることができる。
【００４６】
あるいは、その調整回路は、前記多相クロックに含まれる前記クロックの波形を変換するものであってよい。さらに、その調整回路は、前記クロックの波形をパルス状に変換するものであってよい。
【００４７】
したがって、例えば論理回路の回路形式に合わせてクロック波形を適当に変換することにより、論理回路の構成が簡単化され、また高速動作が可能となる。
【００４８】
また、前記クロック供給手段は、
前記論理回路が同期すべきクロックを、該論理回路の動作時および待機時において変更可能に前記多相クロックから選択するクロック選択回路を有することとしてもよい。
【００４９】
したがって、生成するクロックの周波数を変更することなく、論理回路の動作周波数を変更することができる。
【００５０】
また、前記論理回路は、信号で送信されるデータを時間的に２つ以上の信号に分割することにより周波数を低減して送る信号分割回路を有することとしてもよい。
【００５１】
その場合、前記論理回路は、前記信号分割回路により分割された２つ以上の信号を１つに合成することにより復元する信号合成回路を有することとしてもよい。
【００５２】
したがって、信号分割回路によって高速信号のデータが複数の低速な信号に分割されて長距離伝送された後に信号合成回路によって１つの高速信号に合成される。
【発明の効果】
【００５３】
本発明によれば、各論理回路が複数のクロックに同期することによりクロック周波数の複数倍の周波数で動作し、クロック周波数を抑えてクロックに関する問題を低減しつつ、論理回路の動作周波数を高めることができるので、集積回路の高速化を実現することができる。
【００５４】
また、各論理回路に用いるクロックの相数を任意に選択できるので、高速動作が必要な論理回路では高速の動作周波数を実現し、高速動作を必要としない論理回路では配線長などの設計条件を緩和することにより、所望の動作速度の半導体集積回路を構成することができる。
【００５５】
また、配線長が長く帯域条件の厳しい部分では、周波数の低い多相クロックで分配し、それを１相クロックに変換して論理回路に与えるので、クロックに関する問題を緩和しつつ、論理回路の動作周波数を高くすると共に、従来から用いられている１相クロック用の論理回路を用いることができるため設計が容易である。
【００５６】
また、多相クロックのクロック間のスキューが適正に補正され、論理回路の動作マージンを最大にとることができるので、高速動作の半導体集積回路を実現することができる。
【００５７】
また、生成するクロックの周波数を変更することなく、論理回路の動作周波数を変更することができるので、消費電力低減のために動作周波数を低くする際に、論理回路を停止しなくとも動作周波数の切り替えが可能であり、無駄な時間が生じない。
【００５８】
また、信号分割回路によって高速信号のデータが複数の低速な信号に分割されて長距離伝送された後に信号合成回路によって１つの高速信号に合成されるので、高速な信号の伝送に伴う問題を緩和し、長距離配線が可能となる。
【発明を実施するための最良の形態】
【００５９】
本発明の実施形態について図面を参照して詳細に説明する。
【００６０】
（第１の実施形態）
本発明の第１の実施形態は、多相のクロックを用いることにより論理回路の動作周波数をクロックの周波数のｎ倍にした半導体集積回路である。図１は、第１の実施形態の半導体集積回路の構成を示す図である。図１を参照すると、半導体集積回路１０１は、多相クロック生成回路１０２、クロック分配部１０３、および論理回路１０４を有している。通常、半導体集積回路は、クロック供給部から論理回路にクロックが供給され、論理回路がそのクロックに同期して動作する。ここでは、多相クロック生成回路１０２およびクロック分配部１０３によりクロック供給部が構成されている。
【００６１】
多相クロック生成回路１０２は、周波数が同一で位相の異なるｎ相（ｎは２以上の整数）のクロックＣＫ１〜ＣＫｎを生成する。クロックＣＫ１〜ＣＫｎの周波数はｆであるとする。クロック分配部１０３は、クロックＣＫ１〜ＣＫｎ毎の複数のクロックを分配する回路からなり、ｎ相のクロックＣＫ１〜ＣＫｎを半導体集積回路全体に分配する。なお、クロック分配部１０３のクロック配線は互いに等長かつ等負荷とされ、クロック分配部１０３で生じるクロックスキューが低減されている。
【００６２】
論理回路１０４は、フリップフロップ１０５および組み合わせ回路１０６を有している。フリップフロップ１０５は、クロック分配部１０３によって分配されたｎ相のクロックＣＫ１〜ＣＫｎによってデータを取り込む。フリップフロップ１０５は、ｎ相全てのクロックＣＫ１〜ＣＫｎを用いてもよく、またその一部を用いることとしてもよい。これにより、半導体集積回路はｎ相のクロックＣＫ１〜ＣＫｎに同期して動作する。
【００６３】
多相クロック生成回路１０２にて生成された周波数ｆのｎ相クロックをクロック分配部１０３により論理回路１０４のフリップフロップ１０５に供給し、フリップフロップ１０５がｎ相クロックＣＫ１〜ＣＫｎのうち複数に同期して周波数ｆより高速な周波数で動作するので、クロックに関する問題が緩和され、半導体集積回路の論理回路を高速動作させることができる。
【００６４】
論理回路１０４は必ずしもｎ相クロックの全てのクロックに同期して動作する必要はない。論理回路１０４は、２つ以上のクロックに同期して動作すれば、クロック周波数よりも高い動作周波数で動作することができる。例えば、ｎ相クロックのうちｊ（ｊは２以上、ｎ以下の整数）に同期して論理回路１０４が動作すると、論理回路１０４の動作周波数はクロック周波数ｆのｊ倍となる。また、論理回路１０４の所望の動作周波数がｆｃｈｉｐであれば、多相クロック生成回路１２の生成する各クロック周波数をｆｃｈｉｐ／ｊに抑えることができる。
【００６５】
（第１の実施例）
第１の実施形態における第１の実施例について説明する。
【００６６】
図２は、図１に示されたフリップフロップの構成例を示す図である。第１の実施例では、図１に示されたフリップフロップ１０５は、図２に示すように、異なるクロックに同期してデータを保持する複数のデータ保持素子２０３〜２０６が並列に配置された構成である。フリップフロップ１０５はｎ相（図２の例では４相）のクロックに同期して動作するデータ保持回路である。
【００６７】
図２を参照すると、フリップフロップ１０５は、入力インバータ２０１、出力インバータ２０２、およびスイッチ回路２０７〜２１４を有している。マスター側のスイッチ回路２０７とスレーブ側のスイッチ回路２１１が直列接続されている。同様に、マスター側のスイッチ回路２０８とスレーブ側のスイッチ回路２１２が、マスター側のスイッチ回路２０９とスレーブ側のスイッチ回路２１３が、マスター側のスイッチ回路２１０とスレーブ側のスイッチ回路２１４がそれぞれ直列接続されている。そして、これら２つのスイッチが直列接続された回路が、入力インバータ２０１と出力インバータ２０２の間に、互いに並列に接続されている。
【００６８】
マスター側のスイッチ回路２０７はクロックＣＫ１がハイレベルのときに導通する。スイッチ回路２０８はクロックＣＫ２がハイレベルのときに導通する。スイッチ回路２０９はクロックＣＫ３がハイレベルのときに導通する。スイッチ回路２１０はクロックＣＫ４がハイレベルのときに導通する。
【００６９】
また、スレーブ側のスイッチ回路２１１はクロックＣＫ２とクロックＣＫ３が共にハイレベルのときに導通する。スイッチ回路２１２はクロックＣＫ３とクロックＣＫ４が共にハイレベルのときに導通する。スイッチ回路２１３はクロックＣＫ４とクロックＣＫ１が共にハイレベルのときに導通する。スイッチ回路２１４はクロックＣＫ１とクロックＣＫ２が共にハイレベルのときに導通する。
【００７０】
図３は、図２に示されたフリップフロップの動作を示すタイミング図である。図３を参照すると、区間３０１ではクロックＣＫ１とＣＫ４がハイレベルであり、他のクロックはローレベルである。
【００７１】
そのため、マスター側では、スイッチ回路２０７とスイッチ回路２１０が導通する。これにより、スイッチ回路２０７とスイッチ回路２１１の接続点である中間ノード２１５と、スイッチ回路２１０とスイッチ回路２１４の接続点である中間ノード２１８まで入力信号が伝達され、そこに入力信号の値が格納される。
【００７２】
また、スレーブ側では、スイッチ回路２１３が導通する。このときスイッチ回路２１３以外のスレーブ側のスイッチ回路は導通していないため、スイッチ回路２０９とスイッチ回路２１３の接続点である中間ノード２１７に格納された値が出力インバータ２０２から出力される。また、このときマスター側のスイッチ回路２０９は導通していないので、スイッチ回路２０９とスイッチ回路２１３の接続点である中間ノード２１７に入力信号が入り込んで信号が衝突することがない。
【００７３】
図３における区間３０２では、クロックＣＫ１とＣＫ２がハイレベルであり、他のクロックはローレベルである。
【００７４】
そのため、マスター側では、スイッチ回路２０７とスイッチ回路２０８が導通する。これにより、中間ノード２１５および中間ノード２１６まで信号が伝達され、そこに入力信号の値が格納される。
【００７５】
また、スレーブ側では、スイッチ回路２１４が導通する。このときスイッチ回路２１４以外のスレーブ側のスイッチ回路は導通していないため、中間ノード２１８に格納された値が出力インバータ２０２から出力される。また、このときマスター側のスイッチ回路２１０は導通していないので、中間ノード２１８に入力信号が入り込んで信号が衝突することがない。
【００７６】
このように、クロックＣＫ１〜ＣＫ４のうち、いずれか１つが立ち上がる毎に、図１のフリップフロップ１０５はデータを取り込み、それを出力する。
【００７７】
図４は、図１に示されたフリップフロップの他の構成例を示す図である。この構成例では、図４に示すように、フリップフロップ１０５は、異なるクロックに同期してデータを保持する複数のパルスラッチ回路４００１、４００２と、パルスラッチ回路４００１、４００２の出力に応じてフリップフロップ１０５の出力Ｑの値を決定するプッシュプル回路４００３で構成される。
【００７８】
図５は、図４に示されたパルスラッチ回路の構成を示す図であり、図６は、その動作を示すタイミング図である。パルスラッチ回路４００１、４００２は同じ構成であり、図５にはパルスラッチ回路４００１が示されている。図５を参照すると、パルスラッチ回路４００１は、予備充電回路４１０１、４１０２、判定回路４１０３、および遅延クロック生成回路４１０４を有している。
【００７９】
遅延クロック生成回路４１０４は、図６に示されたように、クロックＣＫ１を反転し遅延させたクロックＣＫ１Ｄと、クロックＣＫ３を反転し遅延させたクロックＣＫ３Ｄとを生成し、予備充電回路４１０１、４１０２および評価回路４１０３に与える。
【００８０】
図６において、クロックＣＫ１が立ち上がってからクロックＣＫ１Ｄが立ち下がるまでの期間は、判定回路４１０３が導通し、予備充電回路４１０１、４１０２がは非導通となる。そのため、入力信号Ｄの値によってパルスラッチ回路４００１の出力ＲＢ、ＳＢの値が決まる。この期間は評価期間である。
【００８１】
一方、クロックＣＫ１Ｄが立ち下がってからクロックＣＫ３が立ち上がるまでの期間は、予備充電回路４１０１は導通し、判定回路４１０３は非導通となる。そのため、入力信号Ｄの値によらずパルスラッチ回路４００１の出力ＲＢ、ＳＢの値はハイレベルとなる。この期間は予備充電期間である。
【００８２】
それ以降も同様に動作することにより、パルスラッチ回路４００１は、クロックＣＫ１〜ＣＫ４のうち、いずれか１つが立ち上がる毎に、一定期間、いずれかのパルスラッチ回路が評価期間となる。
【００８３】
プッシュプル回路４００３はパルスラッチ回路４００１、４００２が評価期間のときに動作して信号ＱＢの値を変化させ、各パルスラッチ回路４００１、４００２の評価期間に得られた値を順次出力する合成回路である。フリップフロップ１０５の出力信号Ｑには信号ＱＢの反転値が出力される。一方、パルスラッチ回路４００１、４００２が予備充電期間のときにはプッシュプル回路４００３は導通せず、信号ＱＢおよび出力信号Ｑの値は保持される。以上より、クロックＣＫ１〜ＣＫ４のうち、いずれか１つが立ち上がる毎に、本構成例のフリップフロップ１０５はデータを取り込み、それを出力する。
【００８４】
本実施形態では、クロック分配部１０３のクロック配線に、一例としてＳＰＩＮＥ方式が適用されている。図７は、図１に示されたクロック分配回路の一構成例を示す図である。
【００８５】
図７を参照すると、クロック分配部１０３は、クロック分岐回路４０３、多相ＳＰＩＮＥ４０４、バッファ群４０５、およびクロック配線群４０６を有している。
【００８６】
多相クロック生成回路１０２で生成されたｎ相のクロックを分配できるように、多相ＳＰＩＮＥ４０４としてｎ個のＳＰＩＮＥが設けられている。
【００８７】
ｎ本の配線を設けるためにＳＰＩＮＥの配線の占有する面積が増加し、バッファ数が増加することが考えられる。しかし、多相化することで各クロックの周波数を低くできるため、配線幅を狭くし、またバッファを小さくできるので、多相化による面積や消費電力の増加を抑えることができる。例えば、半導体集積回路を１０ＧＨｚで動作させるために４相クロックの周波数は２．５ＧＨｚでよい。
【００８８】
クロック分岐回路４０３は複数のバッファを有しており、多相クロック生成回路１０２で生成されたｎ相のクロックＣＫ１〜ＣＫｎの各々を基幹となる多相ＳＰＩＮＥ４０４の各ＳＰＩＮＥに分岐する。多相ＳＰＩＮＥ４０４の各々のＳＰＩＮＥには複数のバッファ群４０５が接続されている。バッファ群４０５はｎ個のバッファからなり、各ＳＰＩＮＥのクロックを、ｎ個のクロック配線からなるクロック配線群４０６に分配する。クロック配線群４０６によってｎ相のクロックＣＫ１〜ＣＫｎは半導体集積回路全体に分配される。
【００８９】
本実施形態のクロック分配部１０３は、ＳＰＩＮＥ方式でなく、Ｈツリー方式が適用されたものであってもよい。図８は、Ｈツリー方式を適用したクロック分配部の構成を示す図である。図８を参照すると、他の構成のクロック分配部１０３は、バッファ群５０２、５０４、５０６、５０８、およびクロック配線群５０３、５０５、５０７を有している。
【００９０】
１段目のバッファ群５０２は多相クロック生成回路１０２で生成されたｎ相のクロックＣＫ１〜ＣＫｎをクロック配線群５０３の各々のクロック配線の中央から両端に向けて２つに分岐する。クロック配線群５０３のクロック配線の両端には２段目のバッファ群５０４の各バッファが接続されており、クロック配線群５０５の各々のクロック配線の両端に向けてクロックをさらに分岐する。同様に、バッファ群５０６の各バッファがクロック配線群５０５の各クロック配線の両端のバッファ群５０８に向けてクロックを分岐する。
【００９１】
（第２の実施例）
本実施形態では、クロック分配部１０３として様々な構成をとりうる。クロック分配部１０３はクロックを単に分配するだけでなく、位相や波形を調整する調整回路を含んでもよい。例えば、第２の実施例として、クロック分配部１０３は、クロックスキューを補正するスキュー補正回路を含む構成である。
【００９２】
図９は、クロック分配部にスキュー補正回路を含む半導体集積回路の構成を示す図である。図９を参照すると、クロック分配部６０４はクロック分配回路６０２、６０３の他にスキュー補正回路６０１を有している。
【００９３】
スキュー補正回路６０１は、多相クロック生成回路１０２で生成されたｎ相クロックをクロック分配回路６０２を介して受信し、そのｎ相クロック間のスキューを補正し、補正後のｎ相クロックをクロック分配回路６０３を介して論理回路１０４のフリップフロップ１０５に供給する。
【００９４】
図１０は、図９に示されたスキュー補正回路の構成例を示す図である。ここでは４相クロックが例示されている。図１０を参照すると、クロックスキュー補正回路６０１は、位相補間回路７０１〜７０４を有している。位相補間回路７０１〜７０４は全て同じ構成であり、２つのクロックが入力されると、その２つのクロックの中央の位相のクロックを出力する。
【００９５】
位相補間回路７０１にはクロックＣＫ１とクロックＣＫ２が、位相補間回路７０２にはクロックＣＫ２とクロックＣＫ３が、位相補間回路７０３にはクロックＣＫ３とクロックＣＫ４が、位相補間回路７０４にはクロックＣＫ４とクロックＣＫ１が与えられている。
【００９６】
図１１は、位相補間回路の動作を示すタイミング図である。位相補間回路７０１を例示すると、クロックＣＫ１とクロックＣＫ２が入力されている。クロックＣＫ１は立上りタイミング８０１で立ち上がる。クロックＣＫ２は立上りタイミング８０３で立ち上がる。したがって、位相補間回路７０１の出力は、クロックＣＫ１の立上りタイミング８０１から出力クロックＯＵＴ１の立ち上がりタイミング８０４までの時間差Ｔ１と、クロックＣＫ２の立上りタイミング８０４から出力クロックＯＵＴ１の立上りタイミング８０３までの時間差Ｔ２とが等しくなるように出力クロックＯＵＴ１を出力する。
【００９７】
図１２は、図１０のスキュー補正回路によるクロックスキュー補正動作を示すタイミング図である。ここでは、４相クロックにおいてクロックＣＫ１とクロックＣＫ３の時間差は理想的（クロック周波数の半分（＝Ｔｃｌｋ／２））であるが、クロックＣＫ２の立ち上がりタイミングがずれている。
【００９８】
出力クロックＯＵＴ１は、クロックＣＫ１の立上りタイミング９０１とクロックＣＫ２との立ち上がりタイミング９０２との中間（補間）タイミングである立上りタイミング９０４で立ち上がる。
【００９９】
一方、出力クロックＯＵＴ２は、クロックＣＫ２の立ち上がりタイミング９０２とクロックＣＫ３の立ち上がりタイミング９０３との中間タイミングである立上りタイミング９０５で立ち上がる。このとき、立上りタイミング９０４と立上りタイミング９０５の時間差は各クロックの周期をＴｃｌｋとすると、
Ｔ１／２＋Ｔ２／２＝Ｔｃｌｋ／４
となり、理想的なクロック間隔に補正されることが分かる。
【０１００】
スキュー補正回路は図１０に示した以外の構成も可能である。図１３は、図９に示されたスキュー補正回路の他の構成例を示す図である。図１３を参照すると、スキュー補正回路６０１は、位相補間回路７０１〜７０４および遅延回路１００１〜１００４を有している。位相補間回路７０１〜７０４は図１０と同じものである。
【０１０１】
図１３のスキュー補正回路は、位相補間回路７０１に与えられるクロックＣＫ１は遅延回路１００１で遅延され、位相補間回路７０２に与えられるクロックＣＫ２は遅延回路１００２で延され、位相補間回路７０３に与えられるクロックＣＫ３は遅延回路１００３で遅延され、位相補間回路７０４に与えられるクロックＣＫ４は遅延回路１００４で遅延されたものである点が図１０のものと異なる。
【０１０２】
図１４は、図１０および図１３に示された位相補間回路の位相補間特性を示すグラフである。ここで位相補間特性とは、入力クロックの位相差に対する出力クロックの位相差の特性のことである。
【０１０３】
図１４を参照すると、位相補間回路により補間が可能な位相差には一定の範囲があることが分かる。例えば、入力クロックＣＫ１の位相を０とし、入力クロックＣＫ２の位相を横軸に、出力クロックＯＵＴ１の位相を縦軸にとっている。位相補間回路は２つの入力クロックの位相差の中間値を出力するため、図１４に示すように、出力クロックの位相差は入力クロックの位相差の２分の１となる。
【０１０４】
位相補間特性１１０１となるのが理想的であるが、図１０のスキュー補間回路では、一定の位相差以上のとき、実際の位相補間特性１１０２は理想的な位相補間特性１１０１から外れてしまい、位相補間によるスキュー調整機能が劣化してしまう。
【０１０５】
図１３のスキュー補間回路は、遅延素子１００１〜１００４を追加することにより、位相補間に入力する２つのクロック間の位相差を縮めている。図１５は、図１３のスキュー補間回路のクロックスキュー補正動作を示すタイミング図である。
【０１０６】
図１５を参照すると、入力クロックＣＫ１は遅延素子１００１によって遅延時間ＴＤだけ遅延されて位相補間回路７０１に入力される。入力クロックＣＫ２はそのまま位相補間回路７０１に入力される。位相の進んでいる入力クロックＣＫ１が遅延されることにより、クロックＣＫ１とクロックＣＫ２の位相差は、位相差Ｔ０から位相差Ｔ１に減少する。これは図１４において、２つの入力クロックの関係をプロット１１０２からプロット１１０３に移動することを意味するので、位相補間特性が理想的な特性に近づくこととなる。
【０１０７】
位相補間回路７０１は、遅延されたクロックＣＫ１の立上りタイミング１２０２と、クロックＣＫ２の立上りタイミングとの中央の立上りタイミング１２０４で立ち上がる出力クロックＯＵＴ１を出力する。
【０１０８】
以上説明したようにしてｎ相クロック間のスキューを適正に補正すれば、論理回路の動作マージンを最大にとることができ、高速動作の半導体集積回路を実現することができる。
【０１０９】
（第３の実施例）
第３の実施例として、本実施形態のクロック分配部は調整回路として波形変換回路を含む構成である。
【０１１０】
図１６は、クロック分配部に波形変換回路を含む半導体集積回路の構成を示す図である。図１６を参照すると、クロック分配部１３０２は、スキュー補正回路６０１の代わりに波形変換回路１３０１を有している点で図９のものと異なる。
【０１１１】
波形変換回路１３０１は、多相クロック生成回路１０２で生成されクロック分配回路６０２で分配されたｎ相クロックＣＫ１〜ＣＫｎの末端部に接続される。波形変換回路１３０１は、クロック分配回路６０２から与えられる入力クロックの波形を変換し、クロック分配回路６０３を介して論理回路１０４のフリップフロップ１０５に与える。
【０１１２】
波形変換回路１３０１は、ｎ相クロックの各ＣＫ１〜ＣＫｎを論理回路１０４のフリップフロップ１０５が正しく認識できる波形に変換する。波形変換の方法は、論理回路１０４内のフリップフロップ１０５の回路形式に依存して様々な構成が可能である。
【０１１３】
図１７は、図１６に示された波形変換回路の一構成例を示す図である。図１８は、図１７に示された波形変換回路の動作を示すタイミング図である。
【０１１４】
図１７を参照すると、波形変換回路１３０１は遅延回路１４０２およびＡＮＤ回路１４０３を有している。遅延回路１４０２は、入力クロック１４０１を所定の遅延時間だけ遅延させ、反転させた信号１４０４をＡＮＤ回路１４０３に与える。ＡＮＤ回路１４０３は、入力クロック１４０１と信号１４０４のＡＮＤをとって所定のデューティ比（ハイレベルの時間とローレベルの時間の比）の出力クロック１４０５として出力する。
【０１１５】
図１８に示したように、出力クロック１４０５の立上りタイミング１５０２は入力クロック１４０１の立上りタイミング１５０１によって決まり、出力クロック１４０５の立ち下がりタイミング１５０４は信号１４０４の立下りタイミング１５０３によって決まる。したがって、遅延回路１４０２の遅延時間を調整することにより所望のデューティ比を得ることができる。
【０１１６】
図１９は、図１６に示された波形変換回路の他の構成例を示す図である。図２０は、図１９に示された波形変換回路の動作を示すタイミング図である。
【０１１７】
図１９を参照すると、波形変換回路１３０１は、ＡＮＤ回路１６０１〜１６０４およびインバータ１６０５〜１６０８を有している。インバータ１６０５は入力クロックＣＫ１を反転してＡＮＤ回路１６０１に与え、インバータ１６０６は入力クロックＣＫ２を反転してＡＮＤ回路１６０２に与え、インバータ１６０７は入力クロックＣＫ３を反転してＡＮＤ回路１６０３に与え、インバータ１６０８は入力クロックＣＫ４を反転してＡＮＤ回路１６０８に与える。
【０１１８】
ＡＮＤ回路１６０１はインバータ１６０５の出力とクロックＣＫ２のＡＮＤをとって出力クロックＯＵＴ１として出力する。ＡＮＤ回路１６０２はインバータ１６０６の出力とクロックＣＫ３のＡＮＤをとって出力クロックＯＵＴ２として出力する。ＡＮＤ回路１６０３はインバータ１６０７の出力とクロックＣＫ３のＡＮＤをとって出力クロックＯＵＴ３として出力する。ＡＮＤ回路１６０４はインバータ１６０８の出力とクロックＣＫ４のＡＮＤをとって出力クロックＯＵＴ４として出力する。
【０１１９】
図２０に示すように、例えば出力クロックＯＵＴ１の立上りタイミングはインバータ１６０５の出力の立上りタイミング１７０１によって決まり、出力クロックＯＵＴ１の立下りタイミングは入力クロックＣＫ２の立下りタイミング１７０２によって決まる。これにより出力クロックＯＵＴ１のハイレベルの時間ＴＷは、
ＴＷ＝Ｔｃｌｋ／４−Ｔｄ
となる。クロックＯＵＴ１〜４は、互いにハイレベルが重ならない波形となる。これらのクロックＯＵＴ１〜４を用いれば、図２に示したフリップフロップの回路を簡単化することができる。
【０１２０】
図２１は、図２に示したものに代わるフリップフロップの構成を示す図である。図２１のフリップフロップは、スレーブ側のスイッチ回路２１１〜２１４がスイッチ回路１８０１〜１８０４となっている点で図２のものと異なる。スレーブ側のスイッチ回路１８０１はクロックＣＫ２がハイレベルのときに導通する。スレーブ側のスイッチ回路１８０２はクロックＣＫ３がハイレベルのときに導通する。スレーブ側のスイッチ回路１８０３はクロックＣＫ４がハイレベルのときに導通する。スレーブ側のスイッチ回路１８０４はクロックＣＫ１がハイレベルのときに導通する。
【０１２１】
図２の回路では、スレーブ側のスイッチ回路を導通させる条件を作成するのに２つのクロックのＡＮＤ論理をとる必要があったが、図２１の回路ではその必要が無く、回路構成が簡単である。このように、論理回路内のフリップフロップの回路形式に合わせてクロック波形を適当に変換することにより、論理回路の構成が簡単化され、また高速動作が可能となる。
【０１２２】
（第４の実施例）
本実施形態の半導体集積回路では、多相クロック生成回路１０２でｎ相のクロックを生成し、クロック分配回路１０３によって論理回路１０４に供給する構成を例示してきたが、これに限定されるものではない。例えば、第４の実施例として、１相クロック生成回路で生成した１相のクロックを分配した後に、クロック分配回路の末端部でｎ相クロックに変換して論理回路１０４に供給することとしてもよい。
【０１２３】
図２２は、１相クロックをｎ相クロックに変換して論理回路に供給する半導体集積回路の構成を示す図である。図２２を参照すると、多相クロック生成回路１０２の代わりに１相クロック生成回路１９０１があり、クロック分配部１０３の代わりにクロック分配部１９０４がある点で図１のものと異なる。
【０１２４】
１相クロック生成回路１９０１は１相のクロックを生成し、クロック分配部１９０４のクロック分配回路１９０２を介して１相／ｎ相クロック変換回路１９０４に送る。１相クロック生成回路１９０１で生成されるクロックの周波数はｆである。１相／ｎ相クロック変換回路１９０４はクロック配線の末端部にあり、基準信号である１相クロックからｎ相クロックを生成してクロック分配回路６０３を介して論理回路１０４のフリップフロップ１０５に与える。１相／ｎ相クロック変換回路１９０４からフリップフロップ１０５に与えられるｎ相クロックＣＫ１〜ＣＫｎは、周波数が全て同一のｆであり位相が互いに異なっている。
【０１２５】
これによっても、クロック分配回路１９０２およびクロック分配回路６０３のクロックの周波数をｆとし、論理回路１０４の動作周波数を（ｆ×ｎ）することができる。なお、この場合でも論理回路１０４として上述と同様の回路を用いることができる。
【０１２６】
また、ここでは１相クロックを生成し、それを基準信号としてｎ相クロックに変換する例を示したが、本発明はそれに限定されるものではない。他の例として、２相のクロックを生成し、それをｎ相クロックに変換することとしてもよい。
【０１２７】
（第５の実施例）
第５の実施例として、本実施形態の半導体集積回路は、多相クロック生成回路１０２で生成されたｎ相クロックを分配した後に、１相クロックに変換して論理回路１０４に供給することとしてもよい。
【０１２８】
図２３は、ｎ相クロックを１相クロックに変換して論理回路に供給する半導体集積回路の構成を示す図である。図２３の半導体集積回路は、クロック分配部１０３の代わりにクロック分配部２００４があり、論理回路１０４の代わりに論理回路２００５がある点で図１に示したものと異なる。
【０１２９】
多相クロック生成回路１０２で生成されたｎ相のクロックＣＫ１〜ＣＫｎは、配線長が長く帯域条件の厳しい部分はｎ相のままクロック分配回路２００２で分配される。ｎ相のクロックＣＫ１〜ＣＫｎの周波数はｆであるとする。そして、ｎ相のクロックＣＫ１〜ＣＫｎは、クロック分配回路２００２の末端部にてｎ相／１相クロック変換回路２００１により周波数（ｆ×ｎ）の１相クロックＣＬＫに変換される。ｎ相／１相クロック変換回路２００１は論理回路２００５の近くに備えられている。１相のクロックＣＬＫは、配線長が比較的短い、ｎ相／１相クロック変換回路２００１と論理回路２００５の間をクロック分配回路２００３で分配される。論理回路２００５のフリップフロップ２００６は一般的なフリップフロップであり、クロックＣＬＫに同期してデータを取得する。
【０１３０】
これによれば、配線長が長く帯域条件の厳しい部分では、周波数の低いｎ相クロックで分配し、論理回路２００５の直前にあるｎ相／１相クロック変換回路２００１で論理回路２００５に与えるので、論理回路２００５の動作周波数を（ｆ×ｎ）とｎ相クロックのクロック周波数ｆのｎ倍とすることができる。また、各論理回路２００５は従来の１相クロック用の回路を用いることができるため設計が容易である。
【０１３１】
（第１の回路例）
第５の実施例の第１の回路例として、図２３に示した半導体集積回路は、クロック分配部２００４にＳＰＩＮＥ方式を用いることとしてもよい。図２４は、図２３に示したクロック分配部にＳＰＩＮＥ方式を適用した場合の例を示す図である。図２４を参照すると、図２３のクロック分配部２００４に対応して、クロック分岐回路２１０３、多相ＳＰＩＮＥ２１０４、ｎ相／１相変換回路２１０７、およびクロック配線２１０６を有している。
【０１３２】
クロック分岐回路２１０３は複数のバッファを有しており、多相クロック生成回路１０２で生成されたｎ相のクロックＣＫ１〜ＣＫｎの各々を基幹となる多相ＳＰＩＮＥ２１０４の各ＳＰＩＮＥに分岐する。多相ＳＰＩＮＥ２１０４には複数のｎ相／１相クロック変換回路２１０７が接続されている。配線長が長くクロック周波数帯域の制限が厳しい多相クロック生成回路１０２から多相ＳＰＩＮＥ２１０４までクロックはｎ相のまま分配される。
【０１３３】
ｎ相／１相クロック変換回路２１０７は、図２３のｎ相／１相クロック変換回路２００１に対応しておりｎ相クロックを１相クロックに変換する。周波数帯域の制限が比較的緩やかなグリッド状のクロック配線２１０６以降は１相クロックが分配される。
【０１３４】
この構成によれば、周波数帯域の制限が厳しい部分では周波数の低いｎ相でクロックを分配し、周波数帯域の制限が緩やかな部分では周波数の高い１相のクロックを分配することにより、高速クロック分配の問題を解決しつつ、従来の一般的なフリップフロップを用いて論理回路を構成することを可能とし、高速動作の半導体集積回路の設計が容易となる。
【０１３５】
（第２の回路例）
第５の実施例の第２の回路例として、図２３に示した半導体集積回路は、クロック分配部２００４にＨツリー方式を用いることとしてもよい。図２５は、図２３に示したクロック分配部にＨツリー方式を適用した場合の例を示す図である。図２５を参照すると、図２３のクロック分配部２００４に対応して、バッファ群２２０２、２２０４、クロック配線群２２０３、２２０５、ｎ相／１相クロック変換回路２２０６、クロック配線２２０７、およびバッファ２２０８を有している。
【０１３６】
１段目のバッファ群２２０２は多相クロック生成回路１０２で生成されたｎ相のクロックをクロック配線群２２０３の各々のクロック配線の中央から両端に向けて２つに分岐する。クロック配線群２２０３のクロック配線の両端には２段目のバッファ群２２０４の各バッファが接続されており、クロック配線群２２０５の各々のクロック配線の両端に向けてクロックをさらに分岐する。
【０１３７】
クロック配線群２２０５の両端にはｎ相／１相クロック変換回路２００６が接続されている。ｎ相／１相クロック変換回路２００６はｎ相クロックを１相クロックに変換し、クロック配線２２０７の中央から両端に向けて２つに分岐する。クロック配線２２０７の両端にはバッファ２２０８が接続されており、１相クロックを論理回路に分配する。
【０１３８】
この構成によれば、図２４の構成と同様に、周波数帯域の制限が厳しい部分では周波数の低いｎ相でクロックを分配し、周波数帯域の制限が緩やかな部分では周波数の高い１相のクロックを分配することにより、高速クロック分配の問題を解決しつつ、従来の一般的なフリップフロップを用いて論理回路を構成することを可能とし、高速動作の半導体集積回路の設計が容易となる。
【０１３９】
なお、ここでは、ｎ相／１相クロック変換回路２２０６により３段目以降のクロックを１相としたが、本発明はこれに限定されるものではない。何段目のクロックから１相クロックとするかはクロックの周波数や配線長に応じて決めればよい。
【０１４０】
（第２の実施形態）
本発明の第２の実施形態について説明する。第２の実施形態の半導体集積回路は、図１と同様の構成であるが、論理回路１０４の代わりにダイナミック論理回路を有する点で異なっている。図２５は、第２の実施形態による半導体集積回路のダイナミック論理回路周辺の構成を示す図である。
【０１４１】
図２６を参照すると、ダイナミック論理回路２３０１は複数のダイナミック回路２３０２からなっている。クロック分配部１０３からのｎ相クロックＣＫ１〜ＣＫｎはダイナミック論理回路２３０１のダイナミック回路２３０２に与えられている。
【０１４２】
図２７は、図２６に示したダイナミック回路の構成を示す図である。ここでは４相クロックＣＫ１〜ＣＫ４を用いた場合を例示している。ダイナミック回路２３０２は、ｎ相クロックに同期して予備充電段階と評価段階を交互に繰り返す回路であり、予備充電用スイッチ２４０４、評価段階用スイッチ２４０６、および論理ブロック２４０８を有している。予備充電段階では、論理ブロックの予備充電および論理のリセットが行われる。評価段階では、入力信号に応じた論理動作が行われる。論理ブロック２４０８には出力端子２４０２と中間端子２４０５がある。
【０１４３】
予備充電用スイッチ２４０４は、クロックＣＫ１とクロックＣＫ４が共にハイレベル、またはクロック２とクロック３が共にハイレベルのときに、論理ブロック２４０８の出力端子２４０２を電源電圧レベル２４０３に導通する。これが予備充電段階である。
【０１４４】
評価段階用スイッチ２４０５は、クロックＣＫ１とクロックＣＫ２が共にハイレベル、またはクロック３とクロック４が共にハイレベルのときに、中間端子２４０５をグランド（接地）レベルに導通する。これが評価段階である。
【０１４５】
図２８は、ダイナミック回路の動作を示すタイミング図である。図２８を参照すると、区間２５０１では、クロックＣＫ１とクロックＣＫ４がハイレベルなので、予備充電用スイッチ２４０４が導通し、評価段階用スイッチ２４０６が非導通となる。これにより、出力端子２４０２は入力信号によらずハイレベルに固定され、ダイナミック回路２３０２は予備充電段階２５０５となる。
【０１４６】
次に、区間２５０２に移行すると、クロックＣＫ４がローレベルになり、クロックＣＫ２がハイレベルに変化するので、予備充電用スイッチ２４０４が非導通となり、評価段階用スイッチ２４０６が導通となる。このとき、論理ブロック２４０８が導通状態になるか非導通状態になるかに応じて出力端子２４０２のレベルが決まる評価段階２５０６となる。
【０１４７】
同様に、区間２５０３では予備充電段階となり、区間２５０４では評価段階となる。このように、ダイナミック回路２３０２は、ｎ相クロックのうちいずれか１相のクロックが立ち上がる毎に予備充電段階と評価段階を交互に繰り返す。そのため、ｎ相クロックの各クロックの周波数をｆとすると、このダイナミック回路２３０２の動作周波数は（ｎ×ｆ÷２）となる。例えば、ダイナミック回路２３０４を４相クロックで用いれば、ダイナミック回路２３０４の動作周波数は２×ｆとなり、各クロックの周波数の２倍の動作周波数となる。
【０１４８】
本構成によれば、ｎ相のクロックのいずれかが立ち上がる毎にダイナミック回路における予備充電段階と評価段階を交互に繰り返すことにより、ｎ相クロックを用いてクロックの周波数より高速の周波数で論理回路を動作させることができる。
【０１４９】
（第３の実施形態）
本発明の第３の実施形態について説明する。第３の実施形態の半導体集積回路は、図１と同様の構成であるが、動作周波数の異なる論理回路が混載されている点で異なっている。図２９は、第３の実施形態による半導体集積回路の論理回路周辺の構成を示す図である。ここでは４相クロックＣＫ１〜ＣＫ４を用いた場合を例示している。各クロックの周波数をｆとする。
【０１５０】
各論理回路２６０２、２６０４は１個からｎ個までの任意数のクロックに同期することができるが、ここでは、論理回路２６０２に４相全てのクロックＣＫ１〜ＣＫ４が与えられており、論理回路２６０４に２相のクロックＣＫ１、ＣＫ３が与えられている。
【０１５１】
半導体集積回路の高速化が要求されているとはいえ、必ずしも全ての部分で高速動作が必要とされるわけではない。本構成によれば、各論理回路に用いるクロックの相の数を任意に選択できるので、高速動作が必要な論理回路では高速の動作周波数を実現し、高速動作を必要としない論理回路では配線長などの設計条件を緩和することにより、所望の動作速度の半導体集積回路を構成することができる。
【０１５２】
（第４の実施形態）
本発明の第４の実施形態について説明する。第４の実施形態の半導体集積回路は、クロック分配部と論理回路の間にクロック選択回路を備え、クロック選択回路により論理回路の動作周波数を切り替え可能なものである。
【０１５３】
図３０は、第４の実施形態による半導体集積回路の論理回路周辺の構成を示す図である。図３０を参照すると、クロック分配部１０３からｎ相（ここでは４相）クロックがクロック選択回路２７０１、２７０３に与えられている。
【０１５４】
クロック選択回路２７０１は、制御信号２７０５による指示に従ってｎ相クロックのうち任意のクロックを選択し、論理回路２７０２に与える。同様に、クロック選択回路２７０３は、制御信号２７０６による指示に従ってｎ相クロックのうち任意のクロックを選択し、論理回路２７０４に与える。クロック選択回路２７０１、２７０３は、その選択を論理回路２７０２、２７０４の待機中のみならず動作中にも切り替えることができる。これにより、各論理回路２７０２、２７０４の動作周波数を任意に変更することができる。
【０１５５】
本構成によれば、多相クロック生成回路１０２の発生するクロックの周波数を変更する必要がないので、論理回路２７０２、２７０４の動作を停止しなくとも、論理回路の動作周波数を切り替えることができ、無駄な時間が生じない。
【０１５６】
（第５の実施形態）
本発明の第５の実施形態について説明する。第５の実施形態の半導体集積回路は、クロック以外の高速信号の長距離配線を可能にしたものである。図３１は、第５の実施形態の半導体集積回路における高速信号の配線周辺の構成を示す図である。第５の実施形態の半導体集積回路は、論理回路と論理回路の間に信号分割回路２８０２、信号配線２８０３、および信号合成回路２８０４を有している。
【０１５７】
信号分割回路２８０２は前段の論理回路（不図示）からの入力信号２８０１を複数（ここではｎ個）の信号に分割し、その複数の信号を複数の信号配線２８０３を介して信号合成回路２８０４に送る。信号配線２８０３は、周波数制限の厳しいバス配線などの長距離の配線である。信号合成回路２８０４は信号配線２８０３から受信した複数の信号を合成して出力信号２８０５として後段の論理回路（不図示）に送る。
【０１５８】
信号分割回路２８０２は、動作周波数ｆで動作する前段の論理回路から周波数ｆの入力信号２８０１を受信し、ｎ個に分割することにより各信号の周波数をｆ／ｎに低減する。図３２は、図３１に示した信号分割回路の構成を示す図である。図３２を参照すると、信号分割回路２８０２は、複数（ｎ個、図１２では３つを図示）のフリップフロップ２９０１〜２９０３を有している。
【０１５９】
各フリップフロップ２９０１〜２９０３・・・には入力信号２８０１が入力されている。各フリップフロップ２９０１〜２９０３・・・は、対応するクロックＣＫ１〜ＣＫ３・・・でデータを取り込み、それぞれ信号ＯＵＴ１〜３・・・を出力する。
【０１６０】
図３３は、信号分割回路の動作を示すタイミング図である。図３３を参照すると、クロックＣＫ１の立上りタイミング３００１で、フリップフロップ２９０１が入力信号２８０１のデータＡを取り込む。次に、クロックＣＫ２の立上りタイミング３００４で、フリップフロップ２９０２が入力信号２８０１のデータＢを取り込む。各フリップフロップがこの動作を繰り返すことにより、入力信号は、各フリップフロップから出力されるｎ個の信号Ｍ１〜Ｍｎに分割される。また、分割された各信号Ｍ１〜Ｍｎの動作周波数は、入力信号ＩＮの動作周波数のｎ分の１となる。
【０１６１】
図３４は、図３１に示した信号合成回路の構成を示す図である。図３４を参照すると、信号合成回路２８０４は、複数（ｎ個、図３４では３つを図示）のスイッチ３１０１〜３１０３・・・を有している。
【０１６２】
ｎ個の信号Ｍ１〜Ｍｎを１つに合成するために、各スイッチ３１０１〜３１０３・・・は順に、いずれか１つが導通状態となる。スイッチ３１０１はクロックＣＫｎとクロックＣＫ１のいずれもがハイレベルのときに導通する。スイッチ３１０２はクロックＣＫ１とクロックＣＫ２のいずれもがハイレベルのときに導通する。スイッチ３１０３はクロックＣＫ２とクロックＣＫ３のいずれもがハイレベルのときに導通する。
【０１６３】
図３５は、信号合成回路の動作を示すタイミング図である。図３５を参照すると、区間３２０１では、クロックＣＫｎとクロックＣＫ１がハイレベルなのでスイッチ３１０１が導通し、信号Ｍ１の区間３２０５にあるデータＡが出力信号の区間３２０２に現れる。区間３２０３では、クロックＣＫ１とクロックＣＫ２がハイレベルなのでスイッチ３１０２が導通し、信号Ｍ２の区間３２０６にあるデータＢが出力信号の区間３２０４に現れる。このようにして、ｎ個の信号Ｍ１〜Ｍｎが１つの信号ＯＵＴに合成される。
【０１６４】
本実施形態の構成によれば、信号分割回路２８０２によって高速信号が複数の低速な信号に分割され、分割された信号が長距離の信号配線２８０３によって伝送され、信号合成回路２８０４によって１つの高速信号に合成されるので、高速信号の長距離配線が可能である。
【０１６５】
以上、本発明の第１〜第５の実施形態について説明したが、本発明はこれら各実施形態または各実施例に限定されるものではなく、本発明の技術思想の範囲内において、各実施形態または実施例は適宜変更され得ることは言うまでもない。
【図面の簡単な説明】
【０１６６】
【図１】第１の実施形態の半導体集積回路の構成を示す図である。
【図２】図１に示されたフリップフロップの構成を示す図である。
【図３】図２に示されたフリップフロップの動作を示すタイミング図である。
【図４】図１に示されたフリップフロップの他の構成例を示す図である。
【図５】図４に示されたパルスラッチ回路の構成を示す図である。
【図６】図４に示されたパルスラッチ回路の動作を示すタイミング図である。
【図７】図１に示されたクロック分配回路の一構成例を示す図である。
【図８】Ｈツリー方式を適用したクロック分配部の構成を示す図である。
【図９】クロック分配部にスキュー補正回路を含む半導体集積回路の構成を示す図である。
【図１０】図９に示されたスキュー補正回路の構成例を示す図である。
【図１１】位相補間回路の動作を示すタイミング図である。
【図１２】図１０のスキュー補正回路によるクロックスキュー補正動作を示すタイミング図である。
【図１３】図９に示されたスキュー補正回路の他の構成例を示す図である。
【図１４】図１０および図１３に示された位相補間回路の位相補間特性を示すグラフである。
【図１５】図１３のスキュー補間回路のクロックスキュー補正動作を示すタイミング図である。
【図１６】クロック分配部に波形変換回路を含む半導体集積回路の構成を示す図である。
【図１７】図１６に示された波形変換回路の一構成例を示す図である。
【図１８】図１７に示された波形変換回路の動作を示すタイミング図である。
【図１９】図１６に示された波形変換回路の他の構成例を示す図である。
【図２０】図１９に示された波形変換回路の動作を示すタイミング図である。
【図２１】図２に示したものに代わるフリップフロップの構成を示す図である。
【図２２】１相クロックをｎ相クロックに変換して論理回路に供給する半導体集積回路の構成を示す図である。
【図２３】ｎ相クロックを１相クロックに変換して論理回路に供給する半導体集積回路の構成を示す図である。
【図２４】図２３に示したクロック分配部にＳＰＩＮＥ方式を適用した場合の例を示す図である。
【図２５】図２３に示したクロック分配部にＨツリー方式を適用した場合の例を示す図である。
【図２６】第２の実施形態による半導体集積回路のダイナミック論理回路周辺の構成を示す図である。
【図２７】図２６に示したダイナミック回路の構成を示す図である。
【図２８】ダイナミック回路の動作を示すタイミング図である。
【図２９】第３の実施形態による半導体集積回路の論理回路周辺の構成を示す図である。
【図３０】第４の実施形態による半導体集積回路の論理回路周辺の構成を示す図である。
【図３１】第５の実施形態の半導体集積回路における高速信号の配線周辺の構成を示す図である。
【図３２】図３１に示した信号分割回路の構成を示す図である。
【図３３】信号分割回路の動作を示すタイミング図である。
【図３４】図３１に示した信号合成回路の構成を示す図である。
【図３５】信号合成回路の動作を示すタイミング図である。
【図３６】従来の半導体集積回路におけるクロック分配の構成を示す図である。
【図３７】Ｈツリー方式を用いたクロック分配構成を示す図である。
【図３８】ＳＰＩＮＥ方式を用いたクロック分配構成を示す図である。
【図３９】ｎ相クロックを用いた従来の半導体集積回路の構成を示す図である。
【図４０】図３９の半導体集積回路の動作を示すタイミング図である。
【図４１】多相クロックをダイナミック回路に適用した従来の半導体集積回路の構成を示す図である。
【図４２】クロックの周波数を切り替え可能な従来の半導体集積回路の構成を示す図である。
【図４３】図４２に示した半導体集積回路がクロック周波数を切り替える際の動作を示すタイミング図である。
【符号の説明】
【０１６７】
１０１    半導体集積回路
１０２    多相クロック生成回路
１０３、６０４、１３０２、１９０４、２００４    クロック分配部
１０４、２００５、２６０２、２６０４、２７０２、２７０４    論理回路
１０５、２００６、２９０１〜２９０３    フリップフロップ
１０６    組み合わせ回路
２０１    入力インバータ
２０２    出力インバータ
２０３〜２０６    データ保持素子
２０７〜２１４、１８０１〜１８０４    スイッチ回路
３０１、３０２、２５０１〜２５０４、３２０１、３２０３    区間
４０３、２１０３    クロック分岐回路
４０４、２１０４    多相ＳＰＩＮＥ
４０５    バッファ群
４０６，５０３、５０５、５０７、２２０３、２２０５    クロック配線群
５０２、５０４、５０６、５０８、２２０２、２２０４    バッファ群
６０１    スキュー補正回路
６０２、６０３、１９０２、２００２、２００３    クロック分配回路
７０１〜７０４    位相補間回路
８０１、８０３、８０４、９０１〜９０５、１５０１、１５０２、１７０１、３００１、３００４、    立上りタイミング
１００１〜１００４、１２０１〜１２０４    遅延回路
１１０１    位相補間特性
１３０１    波形変換回路
１４０２    遅延回路
１４０３、１６０１〜１６０４    ＡＮＤ回路
１４０４    信号
１４０５    出力クロック
１５０３、１５０４、１７０２    立下りタイミング
１６０５〜１６０８    インバータ
１９０１    １相クロック生成回路
１９０３    １相／ｎ相クロック変換回路
２００１、２１０７、２２０６    ｎ相／１相クロック変換回路
２１０６、２２０７    クロック配線
２２０８    バッファ
２３０１    ダイナミック論理回路
２３０２    ダイナミック回路
２４０２    出力端子
２４０３    電源電圧レベル
２４０４    予備充電用スイッチ
２４０５    中間端子
２４０６    評価段階用スイッチ
２４０７    グランド（接地）レベル
２４０８    論理ブロック
２５０５    予備充電段階
２５０６    評価段階
２６０２    論理回路
２７０１、２７０２    クロック選択回路
２７０５、２７０６    制御信号
２８０１    入力信号
２８０２    信号分割回路
２８０３    信号配線
２８０４    信号合成回路
２８０５    出力信号
３００２、３００３、３００５、３００６、３２０２、３２０４、３２０５、３２０６    データ
３１０１〜３１０３    スイッチ
４００１、４００２    パルスラッチ回路
４００３    プッシュプル回路
４００４  インバータ
４１０１、４１０２    予備充電回路
４１０３    判定回路
４１０４    遅延クロック生成回路
【図１】
0004613483.tif 000002
【図２】
0004613483.tif 000003
【図３】
0004613483.tif 000004
【図４】
0004613483.tif 000005
【図５】
0004613483.tif 000006
【図６】
0004613483.tif 000007
【図７】
0004613483.tif 000008
【図８】
0004613483.tif 000009
【図９】
0004613483.tif 000010
【図１０】
0004613483.tif 000011
【図１１】
0004613483.tif 000012
【図１２】
0004613483.tif 000013
【図１３】
0004613483.tif 000014
【図１４】
0004613483.tif 000015
【図１５】
0004613483.tif 000016
【図１６】
0004613483.tif 000017
【図１７】
0004613483.tif 000018
【図１８】
0004613483.tif 000019
【図１９】
0004613483.tif 000020
【図２０】
0004613483.tif 000021
【図２１】
0004613483.tif 000022
【図２２】
0004613483.tif 000023
【図２３】
0004613483.tif 000024
【図２４】
0004613483.tif 000025
【図２５】
0004613483.tif 000026
【図２６】
0004613483.tif 000027
【図２７】
0004613483.tif 000028
【図２８】
0004613483.tif 000029
【図２９】
0004613483.tif 000030
【図３０】
0004613483.tif 000031
【図３１】
0004613483.tif 000032
【図３２】
0004613483.tif 000033
【図３３】
0004613483.tif 000034
【図３４】
0004613483.tif 000035
【図３５】
0004613483.tif 000036
【図３６】
0004613483.tif 000037
【図３７】
0004613483.tif 000038
【図３８】
0004613483.tif 000039
【図３９】
0004613483.tif 000040
【図４０】
0004613483.tif 000041
【図４１】
0004613483.tif 000042
【図４２】
0004613483.tif 000043
【図４３】
0004613483.tif 000044