(57)【特許請求の範囲】
【請求項１】
複数のサブクロックツリーを含むクロック分配回路を有する半導体装置であって、
第１のサブクロックツリーと、
第２のサブクロックツリーと、
参照クロックと第１のサブクロックツリーに含まれる第１末端クロックドライバの出力クロックとを比較する位相同期回路と、
上記第１末端クロックドライバの出力クロックと第２のサブクロックツリーに含まれる第２末端クロックドライバの出力クロックとを比較する第１の位相比較器と、
上記第２のサブクロックツリーに対応して設けられる第１の可変遅延素子とを有し、
上記クロック分配回路には、上記位相同期回路で位相調整されたクロックが入力され、
上記第２のサブクロックツリーには、上記第１の可変遅延素子で遅延されたクロックが入力され、
上記第１の可変遅延素子の遅延量は、上記第１の位相比較器によって上記第１末端クロックドライバの出力クロックの位相と上記第２末端クロックドライバの出力クロックの位相とが等しくなるように制御され、
上記第２サブクロックツリーの末端クロックドライバにおける上記第２末端クロックドライバの相対位置は、上記第１サブクロックツリーの末端クロックドライバにおける上記第１末端クロックドライバの相対位置に等しい半導体装置。
【請求項２】
請求項１において、
第３のサブクロックツリーと、
上記第２末端クロックドライバの出力クロックと上記第３のサブクロックツリーに含まれる第３末端クロックドライバの出力クロックとを比較する第２の位相比較器と、
上記第３のサブクロックツリーに対応して設けられる第２の可変遅延素子とを有し、
上記第３のサブクロックツリーには、上記第２の可変遅延素子で遅延されたクロックが入力され、
上記第２の可変遅延素子の遅延量は、上記第２の位相比較器によって上記第２末端クロックドライバの出力クロックの位相と上記第３末端クロックドライバの出力クロックの位相とが等しくなるように制御され、
上記第３サブクロックツリーの末端クロックドライバにおける上記第３末端クロックドライバの相対位置は、上記第２サブクロックツリーの末端クロックドライバにおける上記第２末端クロックドライバの相対位置に等しい半導体装置。
【請求項３】
請求項１において、
上記クロック分配回路はＨツリー型のクロック分配回路である半導体装置。
【請求項４】
請求項３において、
上記クロック分配回路は複数段のクロックドライバを含んで構成し、
上記第１のサブクロックツリーと上記第２のサブクロックツリーとは同じ段数のクロックドライバを含む半導体装置。
【請求項５】
複数のサブクロックツリーを含むクロック分配回路を有する半導体装置であって、
第１のサブクロックツリーと、
第２のサブクロックツリーと、
参照クロックと第１のサブクロックツリーに含まれる第１末端クロックドライバの出力クロックとを比較する位相同期回路と、
上記第２のサブクロックツリーに対応して設けられる第１の遅延素子とを有し、
上記クロック分配回路には、上記位相同期回路で位相調整されたクロックが入力され、
上記第２のサブクロックツリーには、上記第１の遅延素子により第１の所定遅延量だけ遅延されたクロックが入力され、
上記第１の所定遅延量は、上記第１末端クロックドライバの出力クロックの位相と上記第２のサブクロックツリーに含まれる第２末端クロックドライバの出力クロックの位相とが等しくなるように求められ、
上記第２サブクロックツリーの末端クロックドライバにおける上記第２末端クロックドライバの相対位置は、上記第１サブクロックツリーの末端クロックドライバにおける上記第１末端クロックドライバの相対位置に等しい半導体装置。
【請求項６】
請求項５において、
上記第１の所定遅延量は、不揮発素子に記憶される半導体装置。
【請求項７】
請求項５において、
第３のサブクロックツリーと、
上記第３のサブクロックツリーに対応して設けられる第２の遅延素子とを有し、
上記第３のサブクロックツリーには、上記第２の遅延素子により第２の所定遅延量だけ遅延されたクロックが入力され、
上記第２の所定遅延量は、上記第２末端クロックドライバの出力クロックの位相と上記第３のサブクロックツリーに含まれる第３末端クロックドライバの出力クロックの位相とが等しくなるように求められ、
上記第３サブクロックツリーの末端クロックドライバにおける上記第３末端クロックドライバの相対位置は、上記第２サブクロックツリーの末端クロックドライバにおける上記第２末端クロックドライバの相対位置に等しい半導体装置。
【請求項８】
請求項７において、
上記第２の所定遅延量は、不揮発素子に記憶される半導体装置。
【請求項９】
請求項５において、
上記クロック分配回路はＨツリー型のクロック分配回路である半導体装置。
【請求項１０】
請求項９において、
上記クロック分配回路は複数段のクロックドライバを含んで構成し、
上記第１のサブクロックツリーと上記第２のサブクロックツリーとは同じ段数のクロックドライバを含む半導体装置。
【請求項１１】
請求項５において、
上記第１末端クロックドライバの出力クロックと上記第２末端クロックドライバの出力クロックとを比較する第１の位相比較器を有し、
上記第１の位相比較器は、制御信号により動作停止可能とされる半導体装置。
【請求項１２】
請求項７において、
上記第２末端クロックドライバの出力クロックと上記第３末端クロックドライバの出力クロックとを比較する第２の位相比較器を有し、
上記第２の位相比較器は、制御信号により動作停止可能とされる半導体装置。
【請求項１３】
複数のサブクロックツリーを含むクロック分配回路を有する半導体装置であって、
第１のサブクロックツリーと、
第２のサブクロックツリーと、
上記第２のサブクロックツリーに対応して設けられる遅延素子とを有し、
上記第２のサブクロックツリーには、上記遅延素子により所定遅延量だけ遅延されたクロックが入力され、
上記所定遅延量は、上記第１のサブクロックツリーに含まれる第１末端クロックドライバの出力クロックの位相と上記第２のサブクロックツリーに含まれる第２末端クロックドライバの出力クロックの位相とが等しくなるように求められ、
上記第２サブクロックツリーの末端クロックドライバにおける上記第２末端クロックドライバの相対位置は、上記第１サブクロックツリーの末端クロックドライバにおける上記第１末端クロックドライバの相対位置に等しい半導体装置。
【請求項１４】
請求項１３において、
上記所定遅延量は、不揮発素子に記憶される半導体装置。
【請求項１５】
請求項１３において、
上記クロック分配回路はＨツリー型のクロック分配回路である半導体装置。
【請求項１６】
請求項１５において、
上記クロック分配回路は複数段のクロックドライバを含んで構成し、
上記第１のサブクロックツリーと上記第２のサブクロックツリーとは同じ段数のクロックドライバを含む半導体装置。
【請求項１７】
請求項１３において、
上記第１末端クロックドライバの出力クロックと上記第２末端クロックドライバの出力クロックとを比較する位相比較器を有し、
上記位相比較器は、制御信号により動作停止可能とされる半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置に関し、特にクロック信号の遅延時間調整回路に関する。
【背景技術】
【０００２】
クロック信号に同期して動作する順序回路を含む大規模集積回路（ＬＳＩ）において、ＬＳＩ内の異なる場所でのクロック信号のずれ（以下クロックスキューという）はＬＳＩの動作周波数を直接低減させる要因の一つである。ＬＳＩの高速化に伴い、1マシンサイクルに占めるクロックスキューの割合が大きくなってきており、ＬＳＩの高速動作を実現するためには、クロックスキュー制御、低減が必須である。しかしながら、近年の半導体技術の微細化、ウェハの大口径化に伴い、半導体チップ内の製造ばらつき(On chip variation, ＯＣＶ)によるクロックスキューが無視できなくなってきた。
【０００３】
非特許文献１は、ＬＳＩに発生するＯＣＶについて記載した文献である。非特許文献１スライド２０に示されるように、ＯＣＶにはチップ内でランダムに生じるランダム成分と、チップ内で空間的に相関を持つシステマティック成分とが含まれ、両者をあわせたものがチップ内ばらつきとして観測される。
【０００４】
また、特許文献１はチップ内の特性ばらつきを考慮してクロック分配を行う従来技術を開示する。図２に、特許文献１に開示されているクロックスキュー調整方法について示す。特許文献１ではＬＳＩチップ１１００内をクロック供給領域１１４０、１１４１、１１４２に分割し、前記領域の境界付近に配置された位相比較器１１３１により、境界付近のクロックの位相を比較、クロックツリーの上流に設けた可変遅延回路１１１０、１１２０により位相を合わせる。その後、位相を合わせた領域１１４１のクロックを基準として、これと隣接する未調整領域１１４２のクロックを位相比較器１１３２により比較、可変遅延回路１１２２により調整する。
【０００５】
【非特許文献１】西口信行「システムLSIにおけるプロセスフレンドリー設計へのチャレンジ」、[online]、2006年７月７日、株式会社半導体理工学研究センター、[2007年３月３０日検索]、インターネット＜URL: http://www.starc.jp/download/forum2006/03_nishiguchi.pdf＞
【特許文献１】特開平４−０７６６１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本願発明者は本願に先立って、Ｈツリー型のクロック分配回路（以下、Ｈツリークロックという）について検討を行った。図３に半導体チップ４０１内に形成したＨツリークロックを示す。また、この半導体チップ４０１では、チップ内左下から右上へ行くに従いデバイス速度が一様に速くなるシステマティック成分を持つＯＣＶを含むものとする。Ｈツリークロックは分岐する毎に、クロック分配経路が分かれ、下層のクロックツリー（以下サブクロックツリーと呼ぶ）が、それぞれ分割された領域にクロックを分配する。図３の例では、初段クロックドライバ４１０は４つの第２段クロックドライバ４２０ａ〜ｄに分岐し、さらに第２段クロックドライバ４２０ａは４つの第３段クロックドライバ４３０ａ〜ｄに分岐する。ここで、第３段クロックドライバ４３０を始点とするサブクロックツリー４５０に着目し、半導体チップ４０１に含まれる１６個のサブクロックツリー４５０ａ〜ｐでのクロックスキューの発生状況を示したものが図４である。
【０００７】
Ｈツリークロックは、チップの一点から開始し、長距離配線を経てチップ全面へ供給されるため、ＯＣＶのランダム成分は伝送中にキャンセルされ、主にＯＣＶのシステマティック成分がサブクロックツリー内クロックスキュー、および、サブクロックツリーよりも上位のクロックドライバ間での遅延時間差に起因するチップ内クロックスキューを発生させる。サブクロックツリー内スキューは、当該サブクロックツリーが供給するクロックがフリップフロップＦＦに到達する時間ばらつきである。一方、チップ内クロックスキューは、クロックドライバ４２０ｄ−４３０ｈ−末端クロックドライバＤ−４から供給される経路とクロックドライバ４２０ａ−４３０ａ−末端クロックドライバＡ−１から供給される経路の遅延時間差に起因して生じ、サブクロックツリー内クロックスキューよりも大きい値をもつ。
【０００８】
このようにＯＣＶのシステマティック成分に起因して大きなチップ内クロックスキューをもつとすると、例えば、ＯＣＶがないとすれば1GHz動作するＬＳＩにおいて、ばらつき量が20％(±10％)、分岐後のクロックの遅延が1nsとすると、もっとも単純には末端でのクロックは200ps(±100ps)ばらつくことになる。このため、実ＬＳＩの動作周波数は1/1.1ns=910MHzと、10％も動作速度が低下してしまう。逆に、実ＬＳＩで1GHzの動作周波数を保証するためには、クロックスキューによる周波数劣化を補償するために、より高速での設計（上記例の場合は1.1GHz動作）が必要となり、クロックスキューによる回路のホールド違反にも対策する必要があることから、設計収束に時間がかかり、設計生産性を低下させている。
【０００９】
また、特許文献１は、チップ内の特性ばらつきをその課題としているものの、非特許文献１に示されるようなＬＳＩ内に一様なＯＣＶ（システマティック成分）によってクロックスキューが生じている場合には、分割された領域内のばらつきが考慮されておらず、これを調整することは不可能である。
【００１０】
本発明はこのような背景を鑑みてなされたものであり、特にＯＣＶ（システマティック成分）により生じるクロックスキューを低減するのに好適な調整回路、方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の代表的なものの一例を示せば以下の通りである。すなわち、複数のサブクロックツリーを含むクロック分配回路を有する半導体装置であって、第１のサブクロックツリーと、第２のサブクロックツリーと、参照クロックと第１のサブクロックツリーに含まれる第１末端クロックドライバの出力クロックとを比較する位相同期回路と、第１末端クロックドライバの出力クロックと第２のサブクロックツリーに含まれる第２末端クロックドライバの出力クロックとを比較する第１の位相比較器と、第２のサブクロックツリーに対応して設けられる第１の可変遅延素子とを有し、クロック分配回路には、位相同期回路で位相調整されたクロックが入力され、第２のサブクロックツリーには、第１の可変遅延素子で遅延されたクロックが入力され、第１の可変遅延素子の遅延量は、第１の位相比較器によって第１末端クロックドライバの出力クロックの位相と第２末端クロックドライバの出力クロックの位相とが等しくなるように制御され、第２サブクロックツリーの末端クロックドライバにおける第２末端クロックドライバの相対位置は、第１サブクロックツリーの末端クロックドライバにおける第１末端クロックドライバの相対位置に等しい。
【００１２】
あるいは、複数のサブクロックツリーを含むクロック分配回路を有する半導体装置であって、第１のサブクロックツリーと、第２のサブクロックツリーと、第２のサブクロックツリーに対応して設けられる遅延素子とを有し、第２のサブクロックツリーには、遅延素子により所定遅延量だけ遅延されたクロックが入力され、所定遅延量は、第１のサブクロックツリーに含まれる第１末端クロックドライバの出力クロックの位相と第２のサブクロックツリーに含まれる第２末端クロックドライバの出力クロックの位相とが等しくなるように求められ、第２サブクロックツリーの末端クロックドライバにおける第２末端クロックドライバの相対位置は、第１サブクロックツリーの末端クロックドライバにおける第１末端クロックドライバの相対位置に等しい。
【発明の効果】
【００１３】
クロックスキュー、特にＯＣＶのシステマティック成分に起因して生じるチップ内クロックスキューを低減することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施例を、図面を用いて詳細に説明する。但し、本発明は図示した形態に限られるものではない。
【実施例１】
【００１５】
図１は本発明の第一の実施例である半導体装置を示したものである。本実施例の半導体チップ１０１は、チップ内左下から右上へ行くに従いデバイス速度が一様に速くなるシステマティック成分を持つＯＣＶを含むものとする。Ｈツリークロックは分岐する毎に、クロック分配経路が分かれ、下層のクロックツリー（以下サブクロックツリーと呼ぶ）が、それぞれ分割された領域にクロックを分配する。図１の例では、初段クロックドライバ１１０は４つの第２段クロックドライバ１２０に分岐し、第２段クロックドライバ１２０のそれぞれは４つの第３段クロックドライバ１３０に分岐する。本実施例のＨツリークロックは、半導体チップ内左下の末端クロック信号（図１の例では、サブクロックツリー１５０ａの末端クロックドライバＡ−１から供給されるクロック信号）を帰還クロックとするＰＬＬにより生成されたクロックを、半導体チップ内の全面へ供給するように構成されている。
【００１６】
本実施例では、半導体チップを１６個に分割する第３段クロックドライバ１３０のサブクロックツリー１５０ａ〜pを単位として、サブクロックツリー１５０間でクロックの位相を調整する機構を有する。以下、詳細に説明する。
【００１７】
サブクロックツリー１５０のそれぞれの始点クロックドライバ１３０（図１の例では第３段クロックドライバ１３０）に、後述する位相比較器での位相比較結果が制御信号として入力されるアップダウンカウンタ付き可変遅延素子を設ける。また、隣接サブクロックツリー間には、サブクロックツリー内での相対位置がPLLへの帰還クロックと同じ末端クロックの位相を、隣接するサブクロックツリー間で比較し、位相比較結果を前述のアップダウンカウンタ付き可変遅延素子へ出力する位相比較器ＰＣ１、ＰＣ２、ＰＣ３を設ける。
【００１８】
まずPLLへの帰還クロックを出力するサブクロックツリー１５０ａを基準サブクロックツリーとし、PLLへの帰還クロックを基準クロックとする。位相比較器ＰＣ１は、基準クロックと基準サブクロックツリーと隣接するサブクロックツリー（被比較サブクロックツリーと呼ぶ）のクロックとを比較する位相比較器である。ここで、位相比較器ＰＣ１に入力するクロックは、被比較サブクロックツリー内での相対位置が基準クロックを出力する末端ドライバと同じ末端ドライバが出力するクロックを被比較クロックとする。これは、システマティック成分を持つＯＣＶの影響を考慮したためである。なお、ここでいう「相対位置」の等しい末端クロックドライバを例示して説明しておく。サブクロック１５０ａは末端クロックドライバＡ−１〜４をもつ。末端クロックドライバＡ−１はその中で最も左下に位置する。また、サブクロック１５０ｆは末端クロックドライバＢ−１〜４をもつ。末端クロックドライバＢ−１はその中で最も左下に位置する。したがって、サブクロックツリー１５０ａの末端クロックドライバにおける末端クロックドライバＡ−１の相対位置は、サブクロックツリー１５０ｆの末端クロックドライバにおける末端クロックドライバＢ−１の相対位置に等しい、といえる。同様に、サブクロックツリー１５０ａの末端クロックドライバにおける末端クロックドライバＡ−２，３，４の相対位置は、それぞれサブクロックツリー１５０ｆの末端クロックドライバにおける末端クロックドライバＢ−２，３，４の相対位置に等しい。
【００１９】
さらに、「末端クロックドライバ」とは、本願明細書においては、クロック分配回路の最終段クロックドライバに限定されず、所定段のクロックドライバとする。例えば、サブクロックツリー１５０ａ，ｂ，ｅ，ｆからなるサブクロック（ここで、「拡張サブブロック」と称する）において、「末端」クロックドライバ１３０ａは、サブクロックツリー１５０ｋ，ｌ，ｏ，ｐからなる拡張サブクロックにおいて、「末端」クロックドライバ１３０ｋと相対位置が等しい、という。
【００２０】
本例では、サブクロックツリー１５０ａにおけるサブクロックドライバ１４０ａは、ＯＣＶのシステマティック成分の影響を受け、サブクロックツリー１５０ａにおける他の末端ドライバと比較してデバイス速度が遅くなる。同様に、サブクロックツリー１５０ｂにおけるサブクロックドライバ１４０ｂは、ＯＣＶのシステマティック成分の影響を受け、サブクロックツリー１５０ｂにおける他の末端ドライバと比較してデバイス速度が遅くなる。このようにサブクロックツリー内において相対位置が同じ末端ドライバを比較対象とすることで、サブクロックツリー内で、相対的に同じ特性をもつ末端ドライバを比較対象とすることができ、それによってＯＣＶのシステマティック成分の影響を小さくすることができるのである。また、位相比較器ＰＣ１は、伝搬遅延の影響を小さくするため、クロック末端から位相比較器までの距離を等距離かつ短距離になるように配置することが望ましい。位相比較器１６１は基準クロックを出力するドライバ１４０ａ出力とドライバ１４０ｂ出力とを比較し、位相比較器１６２はドライバ１４０ａ出力とドライバ１４０ｅ出力とを比較し、位相比較器１６３はドライバ１４０ａ出力とドライバ１４０ｆ出力とを比較する。このように、位相比較器ＰＣ１は、基準クロックの位相と被比較クロックの位相とを比較し、その位相比較結果は被比較サブクロックツリーの可変遅延素子へ入力され、位相比較器PC1での基準クロックの位相と被比較クロックの位相とが合うように、可変遅延素子の遅延量を調整する。図１の例では、位相比較器１６１の出力はクロックドライバ１３０ｂの可変遅延素子に、位相比較器１６２の出力はクロックドライバ１３０ｅの可変遅延素子に、位相比較器１６３の出力はクロックドライバ１３０ｆの可変遅延素子に入力される。
【００２１】
次に、基準クロックと位相を合わせた被比較クロックを次段の基準クロック、次段の基準クロックとなる被比較クロックを出力するサブクロックツリーを次段の基準サブクロックツリーとする。次段の基準サブクロックツリーと隣接するサブクロックツリー（次段の被比較サブクロックツリーと呼ぶ）内での相対位置が基準クロックと同じクロックを次段の被比較クロックとする。この理由は、基準クロックと位相比較を行う位相比較器ＰＣ１の場合と同じである。位相比較器ＰＣ２は、次段の基準クロックの位相と次段の被比較クロックの位相とを比較する。図１の例では、位相比較器１７１はドライバ１４０ｂ出力とドライバ１４０ｃ出力とを比較し、位相比較器１７２はドライバ１４０ｆ出力とドライバ１４０ｇ出力とを比較し、位相比較器１７３はドライバ１４０ｆ出力とドライバ１４０ｋ出力とを比較し、位相比較器１７４はドライバ１４０ｆ出力とドライバ１４０ｊ出力とを比較し、位相比較器１７５はドライバ１４０ｅ出力とドライバ１４０ｉ出力とを比較する。位相比較器ＰＣ２での位相比較結果は次段の被比較サブクロックツリーの可変遅延素子へ入力され、位相比較器ＰＣ２での次段の基準クロックの位相と次段の被比較クロックの位相とが合うように、可変遅延素子の遅延量を調整する。位相比較器１７１の出力はクロックドライバ１３０ｃの可変遅延素子に、位相比較器１７２の出力はクロックドライバ１３０ｇの可変遅延素子に、位相比較器１７３の出力はクロックドライバ１３０ｋの可変遅延素子に、位相比較器１７４の出力はクロックドライバ１３０ｊの可変遅延素子に、位相比較器１７５の出力はクロックドライバ１３０ｉの可変遅延素子に入力される。
【００２２】
以降、前記のクロック遅延時間調整動作を、全サブクロックツリーについて繰り返す。すなわち、図１の例では、サブクロックツリー１５０ｃ、１５０ｇ、１５０ｋ、１５０ｊ、１５０ｉのいずれかを基準サブクロックツリーとし、サブクロックツリー１５０ｄ、１５０ｈ、１５０ｌ、１５０ｐ、１５０ｏ、１５０ｎ、１５０ｍを被比較サブクロックツリーとして、位相比較器ＰＣ３を設ける。これにより、１６個のサブクロックツリー全ての位相を基準クロックに合わせることができる。
【００２３】
図５に、本発明を実施した場合のクロックスキュー抑制原理を示す。図５に示すように、位相比較器ＰＣ１を基準クロック及びクロック１から等距離に配置することにより、位相比較器ＰＣ１までの基準クロックの配線遅延とクロック１（図１の例では、末端ドライバ１４０ｂ、１４０ｅ、１４０ｆのいずれかの出力に相当）の配線遅延は等しくなる。従って位相比較器ＰＣ１での位相が合うようにクロック１の可変遅延素子での遅延量を調整することで、クロックをそろえたい遅延時間に、クロック１を合わせることができる。
【００２４】
次に位相比較器ＰＣ２を、次段の基準クロックであるクロック１及びクロック２（図１の例では、末端ドライバ１４０ｃ、１４０ｇ、１４０ｋ、１４０ｊ、１４０ｉのいずれかの出力に相当）から等距離に配置することにより、位相比較器ＰＣ２までのクロック１の配線遅延とクロック２の配線遅延は等しくなる。従って位相比較器ＰＣ２での位相が合うようにクロック２の可変遅延素子での遅延量を調整することで、クロックをそろえたい遅延時間に、クロック２を合わせることができる。以下前記のクロック遅延時間調整動作を繰り返すことで、被比較クロックの位相を基準クロックに合わせることができる。
【００２５】
図６に、本発明を実施した場合のクロックスキュー抑制例を示す。図６に示すように、位相比較器と可変遅延素子によりサブクロックツリー間のスキューを抑制できるため、チップ全体でのクロックスキューをサブクロックツリー内のクロックスキュー程度に抑制することができる。
【００２６】
なお、本実施例では半導体チップ内左下の末端クロック信号を帰還クロックとするＰＬＬにより生成されたクロックを、半導体チップ内の全面へ供給するHツリークロックを示したが、他のクロック分配回路を用いてもよい。
【００２７】
また、クロック分配回路が、クロックを半導体チップ全面に供給するものではなく、半導体チップ内の一部のみへに供給するものであってもよい。
【００２８】
また、ＰＬＬの帰還クロック信号はクロックツリーの末端クロック信号ではなく、クロックツリーの任意の場所のクロック信号とすることもできる。
【００２９】
また、サブクロックツリーの始点クロックドライバに可変遅延素子を設けることに代えて、サブクロックツリーの全末端クロックの遅延時間を調整できる一つまたは複数の点に可変遅延素子を設けてもよい。
【００３０】
なお、本実施例では可変遅延素子をアップダウンカウンタ付き可変遅延素子としたが、アップダウンカウンタ付き可変遅延素子に代えて、位相比較器からの位相比較結果を入力し、位相比較器での位相が合うようにクロックの遅延量を調整可能な任意の回路形式の可変遅延素子を用いることができる。
【００３１】
図７に、本発明を適用した半導体装置の第一の実施例のブロック図を示す。本実施例では、各サブクロックツリーの始点に、アップダウンカウンタ付き可変遅延素子を備える。また、隣接サブクロックツリー間には、位相比較器(ＰＣ１、ＰＣ２)を設ける。アップダウンカウンタ付き可変遅延素子の出力は各サブクロックツリーを経由しフリップフロップへ供給されるが、末端クロックの一つが被比較クロックとして、隣接するサブクロックツリーの基準クロックとともに、位相比較器へ入力される。位相比較器での位相比較結果はアップダウンカウンタ付き可変遅延素子へ送信される。アップダウンカウンタ付き可変遅延素子は位相比較器での位相比較結果に基づき、位相比較器での位相が合うように遅延を調整する。
【００３２】
図１との対応を示すと、サブクロックツリー８０１は、サブクロックツリー１５０ａに、サブクロックツリー８０２は、サブクロックツリー１５０ｂ、１５０ｆ、１５０ｅに、サブクロックツリー８０３は、サブクロックツリー１５０ｃ、１５０ｇ、１５０ｋ、１５０ｊ、１５０ｉに対応する。また、可変遅延素子８０４は、クロックドライバ１３０ｂ、１３０ｆ、１３０ｅに設けられる可変遅延素子に対応し、可変遅延素子８０５は、クロックドライバ１３０ｃ、１３０ｇ、１３０ｋ、１３０ｊ、１３０ｉに設けられる可変遅延素子に対応している。サブクロックツリー８０１に入力される可変遅延素子８０８は、可変遅延素子８０４・８０５と同じ回路構成である。これは、可変遅延素子を介してクロックCKOUTが入力される他のサブクロックツリーとの間で遅延時間差が生じないように設けられるものである。したがって、遅延量は可変範囲の中心に固定し、遅延量を制御することはない。
【００３３】
デスキューイネーブル信号DSKENは、位相比較器を動作させて位相調整を実施するかどうかを指示する制御信号である。デスキューイネーブル信号DSKENがＨ（第１の状態）のときは位相調整を実施する。位相調整を含む半導体装置の製造工程については実施例２として説明する。一方、半導体装置は、各アップダウンカウンタの遅延量を半導体装置の不揮発素子（図示しない）に記憶しておく。半導体装置のパワーオンリセットシーケンスにおいて、不揮発素子から各アップダウンカウンタに遅延量を書き込み、各可変遅延素子は入力されるクロックCKINを書き込まれた遅延量だけ遅延させてサブクロックツリーに入力する。デスキューイネーブル信号DSKENはＬ（第２の状態）とし、位相調整は実施しない。半導体装置が不揮発素子を有しない場合は、例えば外部装置に各アップダウンカウンタに記憶しておき、その値をパワーオンリセットシーケンスにおいて半導体装置が読み込むような構成にすることも可能である。この場合、位相比較器は動作する必要がない。そのため、デスキューイネーブル信号DSKENがＬの場合は、位相比較器の動作を止めるように制御することにより、無駄な電力消費を抑えることができる。
【００３４】
図８に、第一の実施例に示した位相比較器の回路図を示す。図８に示す位相比較器９００は、位相比較部９０１と、ローパスフィルタ９０２と、微分回路９０３と、レイテンシ調整回路９０４とを備える。なお、位相比較器ＰＣ１、ＰＣ２、ＰＣ３で共通の構成である。
【００３５】
位相比較部９０１は、基準クロックREFCKと被比較クロックFBCKの位相が一致している場合は動作しないが、基準クロックREFCKと被比較クロックFBCKとの間に位相のずれが発生すると、これを検出する。ローパスフィルタ９０２は、位相比較部９０１による、ノイズ等の一時的な位相ずれの検出結果を遮断し、定常的な位相ずれの検出結果のみを通過させる。微分回路９０３は、ローパスフィルタ９０２を通過した位相比較結果から、カウンタアップ信号(UP)パルス、又はダウン信号(DOWN)パルスを発生する。レイテンシ調整回路９０４は、あらかじめ定めたクロックサイクル数の間、UPパルス、又はDOWNパルスを保持し、次のUP/DOWN信号生成を抑止することができる。このクロックサイクル数を、UPパルス、又はDOWNパルスが出力され、可変遅延素子にて位相を調整された被比較クロックFBCKが再度位相比較器に到達するために要するクロックサイクル数以上としておくことにより、可変遅延素子での、単位可変遅延時間ずつの遅延時間調整と、位相比較器での位相比較とを繰り返すことができる。
【００３６】
なお、ローパスフィルタ９０２と、微分回路９０３と、レイテンシ調整回路９０４に用いられるフリップフロップには、履歴をクリアするためにリセット付きフリップフロップが用いられている。
【００３７】
図９に、第一の実施例で示したアップダウンカウンタ付き可変遅延素子の回路図を示す。図９に示した可変遅延素子１０００は、３ビットアップダウンカウンタ１００１と、可変遅延素子部１００２とを備える。３ビットアップダウンカウンタ１００１は、可変遅延素子部の現在の遅延量をカウンタ値として記録し、位相比較器から出力された位相比較結果に従い、カウンタ値を増加、又は減少する。可変遅延素子部１００２は、３ビットアップダウンカウンタ値に応じて、クロックを遅延させる。
【００３８】
図１０に、基準クロックに対し被比較クロックが遅くなった場合を例に、第一の実施例の動作のタイムチャートを示す。
【００３９】
以下、本タイムチャートに従い、実施例の動作と効果を時間順に説明する。
(0)基準クロックREFCKと被比較クロックFBCKとの位相が一致している場合は動作しない。
(1) 基準クロックREFCKと被比較クロックFBCKとの間に位相のずれが発生すると、位相比較器９００の位相比較部９０１で検出する。
(2)位相比較器９００のローパスフィルタ９０２により、ノイズ等による一時的な位相のずれの検出を抑止し、定常的な位相のずれのみを検出する。
(3)位相比較器９００の微分回路９０３により、DOWNパルスを生成する。
(4)位相比較器９００のレイテンシ調整回路９０４により、UP信号 又はDOWN信号により被比較クロックFBCKの位相が更新されるまで信号を保持し、次のUP/DOWN信号生成を抑止する。
(5) DOWN信号を可変遅延素子１０００の３ビットアップダウンカウンタ１００１へ入力し、S0、S1、S2の３ビットで表されるカウンタ値Ｄを１減少する。
(6)カウンタ値に従い、可変遅延素子部１００２の遅延を、可変遅延素子部１００２の単位遅延時間分減少し、被比較クロックFBCKの位相を1レベル調整する。
(7)位相比較器９００のレイテンシ調整回路９０４により保持されていたDOWN信号をリセットする。基準クロックREFCK−被比較クロックFBCK間の位相のずれが解消していない場合、再度、微分回路９０３にてDOWNパルスを生成、上記動作を繰り返す。
(8)基準クロックREFCK−被比較クロックFBCKの位相が再び一致すると、レイテンシ調整回路９０４によるDOWN信号リセット後もDOWNパルスは生成されない。これにより位相が揃った状態を保持する。
【００４０】
なお、本実施例では可変遅延素子を３ビットアップダウンカウンタ付き可変遅延素子としたが、アップダウンカウンタが３ビットであること、アップダウンカウンタ付きであることは必須の構成要素ではなく、位相比較器からの位相比較結果を入力し、位相比較器での位相が合うようにクロックの遅延量を調整する可変遅延素子であれば、任意の回路形式の可変遅延素子でよい。
【００４１】
また、本実施例では位相比較器を、位相比較部と、ローパスフィルタと、微分回路と、レイテンシ調整回路より構成したが、複数のクロックを入力し、それらの位相を比較、可変遅延素子での遅延調整可能な形式での位相比較結果を出力可能な位相比較器であれば、任意の回路形式の位相比較器でよい。
【００４２】
図１１に、90nmプロセス、18段Hツリークロック（クロックツリーでのクロック遅延2.2ns）の例を元に、本発明の効果を示す。ＯＣＶがない場合(ＯＣＶ=0%)でも、設計ばらつきにより37psのクロックスキューが発生する。さらに10%のOCVを仮定すると、本発明を実施しない場合、クロック段毎に遅延時間とクロックバッファ間距離に応じて、OCVによるクロックスキューが生じる。これを18段分積算すると、最も速いクロックと最も遅いクロックとの間で182psのクロックスキューとなる。これに対し本発明を適用し、クロックツリーの10段目に可変遅延素子を付加した場合、1〜10段目までのクロックスキュー62psが調整され0psとなり、クロックスキューを残り11〜18段目で生じる120psに低減することができる。本発明を適用しない場合に1GHz(クロック周期:1000ps)動作を仮定した場合、本発明を実施することにより、動作周波数は1.066GHz(クロック周期:1000-62=938ps)となり、66MHz、動作周波数を向上させることができる。
【実施例２】
【００４３】
図１２に、本発明を適用した半導体装置の設計・製造フローを示す。
（設計工程）
実施例１に示したクロックスキュー調整回路を備えたクロック分配回路を含むＬＳＩを設計する(S101)。この際、設計するＬＳＩにより、オンチップメモリやマクロセルなどを含む場合がある。この場合、クロック分配回路はこれらを避けて配置、配線される(S102)。その後、クロック以外の論理回路を設計する(S103)。
（製造工程）
ＬＳＩの設計データ(S１０４)に基づくＬＳＩを製造する(前工程：S105)。製造後、ＬＳＩテスタによる選別を行い、良品、不良品の判定を行う(S106−S108)。クロックスキュー調整回路を動作させ、ＯＣＶ等によるクロックスキューを補償するように可変遅延素子の遅延量を設定し、クロックスキューを最小化する(S109)。さらに決定した各可変遅延素子での遅延量をフューズ回路（不揮発素子）に記録する(S110)。
【００４４】
なお、ＬＳＩ製造後、クロックスキュー調整回路を動作させて遅延量を設定するに代わり、ＬＳＩ製造前のＬＳＩ設計段階にて、シミュレーション等により、各可変遅延素子での遅延量を決定してもよい。この場合、図１３に示すように構成することも可能である。図７の構成と比較して、位相比較器が不要となっている。不揮発素子1409に所定の遅延量が記憶され、各可変遅延素子の遅延量を規定する各レジスタに格納される。もちろん、不揮発素子1409に代えて、外部装置から各レジスタに遅延量を読み込むようにしてもよい。
【００４５】
また、遅延量をフューズ回路（不揮発素子）に記録するに代えて、前述のように一度設定した各可変遅延素子での遅延量を外部装置に記録してもよい。また、遅延量の記録は行わず、常にクロックスキュー調整回路を動作させ、遅延量を更新し続けることも可能である。
【図面の簡単な説明】
【００４６】
【図１】実施例１にかかる半導体装置のクロックスキュー調整回路の構成を示す図である。
【図２】特許文献１に示されるクロックスキュー調整方法を説明する図である。
【図３】Ｈツリークロックの構成を示す図である。
【図４】従来のクロック分配回路でのクロックスキューの発生例を示す図である。
【図５】実施例１による、クロックスキュー調整回路の動作原理を説明する図である。
【図６】実施例１による、クロックスキューの抑制例を示す図である。
【図７】実施例１のクロックスキュー調整回路のブロック図である。
【図８】位相比較器の一構成例を示す回路図である。
【図９】可変遅延素子の一構成例を示す回路図である。
【図１０】実施例１による、クロックスキュー調整回路の動作を説明するタイミングチャートである。
【図１１】本発明によるクロックスキュー調整効果を示すグラフである。
【図１２】実施例２にかかる半導体装置の設計・製造方法を示すフローチャートである。
【図１３】クロックスキュー調整回路の別の構成例である。
【符号の説明】
【００４７】
ＬＳＩ…大規模集積回路、ＯＣＶ…チップ内製造ばらつき、ＰＣ…位相比較器、Ａ１〜Ａ４、Ｂ１〜Ｂ４、Ｃ１〜Ｃ４、Ｄ１〜Ｄ４…サブクロックツリーの末端クロックドライバ、ＰＬＬ…位相同期回路、ＦＦ…フリップフロップ回路、Ｓ０、Ｓ１、Ｓ２…アップダウンカウンタ値、ＣＫＩＮ…入力クロック、ＣＫＯＵＴ…出力クロック。
【図１】
0004919909.tif 000002
【図２】
0004919909.tif 000003
【図３】
0004919909.tif 000004
【図４】
0004919909.tif 000005
【図５】
0004919909.tif 000006
【図６】
0004919909.tif 000007
【図７】
0004919909.tif 000008
【図８】
0004919909.tif 000009
【図９】
0004919909.tif 000010
【図１０】
0004919909.tif 000011
【図１１】
0004919909.tif 000012
【図１２】
0004919909.tif 000013
【図１３】
0004919909.tif 000014