(57)【要約】【課題】内部ブロックの動作による電源変動によっても外部出力クロックの出力に影響を及ぼさないことにより、より安定したクロック信号を供給することの可能な半導体装置を提供する。【解決手段】発振源１０２から出力されるクロックを基準として外部回路１１８とデータの授受を実行する半導体装置１００において、発振源から出力されるクロックを半導体装置に備わる内部回路１１４へ分配するクロック分配手段１１２と、クロックを外部回路に供給するクロック供給手段１０４と、外部回路に供給されるクロックとクロック分配手段の終端におけるクロックとの位相差を検出する位相差検出手段１０６と、位相差検出手段で検出された位相差のデータを元にクロック供給手段から出力されるクロックの遅延を調整するクロック遅延調整手段１１０と、を含むことを特徴とする。【選択図】図１
2007193658.tif 000002
【特許請求の範囲】
【請求項１】
発振源から出力されるクロックを基準として外部回路とデータの授受を実行する半導体装置において、
前記発振源から出力されるクロックを前記半導体装置に備わる内部回路へ分配するクロック分配手段と、
前記クロックを前記外部回路に供給するクロック供給手段と、
前記外部回路に供給されるクロックと前記クロック分配手段の終端におけるクロックとの位相差を検出する位相差検出手段と、
前記位相差検出手段で検出された前記位相差のデータを元に前記クロック供給手段から出力されるクロックの遅延を調整するクロック遅延調整手段と、
を含むことを特徴とする半導体装置。
【請求項２】
前記内部回路は、前記外部回路とのインターフェイスをとるフリップフロップを備え、
前記クロック分配手段の終端から前記位相差検出手段への入力ノードは、前記フリップフロップの前記クロックの入力点を入力ノードとすることを特徴とする請求項１に記載の半導体装置。
【請求項３】
前記クロック遅延調整手段により前記クロックの遅延を調整する際に、前記内部回路に備わる前記フリップフロップのデータ入力端子および出力端子に相当する部分が静的であることを特徴とする請求項１または２に記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置に関し、特に、クロックの遅延値を調整する機能を備える半導体装置に関する。
【背景技術】
【０００２】
ＬＳＩ（ large scale integrated ）等の半導体装置は、微細化が進み、それに伴い、従来では、複数のＬＳＩで構成されていたシステムがこれら複数のＬＳＩの機能を一括して１つのＬＳＩに入れて構成されるようになってきた。また、ＬＳＩの微細化に伴って、ＬＳＩの処理可能な動作スピードも向上し、従来に比べ、ＬＳＩでの処理機能を増加させるために、より高速動作が要求されるようになってきた。
【０００３】
かかるＬＳＩの設計段階にあたっては、ＬＳＩとしての設計の容易性、クロック・スキューの調整等の検証の容易性から外部の発振子や内部または外部のＰＬＬ（ Phase Locked Loop ；位相同期ループ ）出力を基本クロックとしたクロックツリーを用いた同期回路設計が主流となっている。この回路設計を実行するに際しては、外部ブロックとの情報授受においては、内部ブロックと外部ブロックで情報を授受するためクロックを同期化する必要がある。クロックの同期化する方法として、外部ブロックへ供給するクロックをクロックツリーの内の１つとして扱う方法（以下、第１の方法と称する）や、クロックツリーの終端のクロックをフィードバックさせて、内部ブロックのクロックを外部出力クロックに合わせる方法（以下、第２の方法と称する）があった。
【０００４】
しかしながら、ＬＳＩが大規模化され、高速動作も要求されてきたことにより、外部ブロックとの情報の授受も高速化されることにより、情報授受の際に生じるクロックに対するセットアップ時間、ホールド時間の確保が難しくなってきた。
【０００５】
また、例えば、ＤＤＲ（ Double Data Rate ）のように外部ブロックも提供されるクロックをそのまま使用するのではなく、外部ブロックがＰＬＬやＤＬＬ（ Delay-Locked Loop ）を有し、かかる機能を元に動作しているものもある。供給するクロックがジッタを有する場合、ＰＬＬやＤＬＬに関して言えば、参照信号となるリファレンスクロックが安定しないことになり、外部ブロックの誤動作の原因となることがあった。また、誤動作の発生にまで至らない場合でも、ジッタを持つクロックによって、相互間の情報授受においてセットアップ、ホールド時間等のＡＣ（ Alternating Current ）タイミングに対して悪影響を与える。
【０００６】
一方、外部ブロックへの供給源のクロックについては、ＬＳＩが大規模化、高速化されてきたことにより、クロックツリーの始点から内部フリップフロップへの到達時間が、発振源周波数と同等または発信周波数を超えるような状況となってきた。
【０００７】
クロック信号の供給を自動的に最適なタイミングに調整する半導体装置として、システムクロックＳＣを複数のバッファからなるバッファ列ＢＲで遅延させ、いくつかのバッファ出力をフリップフロップ等からなるセレクタへ接続して異なる遅延量のクロックパスを形成するクロック遅延調整方法が特許文献１に開示されている。かかる特許文献１に開示されている半導体装置のクロック遅延調整する同期回路の構成および動作について図面を使用しながら以下説明する。
【０００８】
図５は、上記特許文献１に開示されている半導体装置のクロック遅延調整する同期回路１０の構成を簡潔に説明するための概略図であり、図６は、図５に示す同期回路におけるクロック遅延の動作を説明するためのタイミングチャートである。なお、図５、図６において同期回路を構成するバッファの数を７段の構成で説明するが、かかる同期回路の動作説明を簡単化するための例示である。また、以下の説明でクロックの絶対遅延値とクロック周期を同じとしたが、これも簡単化するための例である。例えば、絶対遅延値がクロック周期より大きい場合では、２つ後のクロックに対して影響を与えることもあり得るものとする。
【０００９】
図５に示すように、上記の同期回路１０は、７段のバッファで発信源の周波数と同一周波数となるような構成となっている。かかる同期回路１０は、データ処理のために、一時的に利用されるメモリ領域として機能することにより、同期回路１０の構成からクロックの同時性を満たすためにバッファ１１〜１７が７つ挿入され、ＬＳＩ中の動作モジュールのひとつのモデルであるフリップフロップ（以下Ｆ／Ｆと略）１８に接続されて構成される。この仮定のもとでのタイミングチャートを示した図が図６である。なお、図６の「始点」は、発信源のクロック波形に該当し、図５に示す各バッファ１１〜１７の出力に該当する波形が図６に示す「遅延１」〜「終点」に該当する。
【００１０】
図６に示す「始点」において発生したクロックＣＫ１Ｓは、各バッファ１１〜１７を通過しながら遅延して、図６に示す「終点」のクロックＣＫ１Ｅに到達する。「終点」に到達したクロックＣＫ１Ｅは、図５に示す各Ｆ／Ｆ１８を駆動することになる。かかる駆動により、電源に対して変動を与える。この変動は、その時間に駆動される素子の数、各「終点」へのクロック到達時間のバラツキ、および電源インピーダンスに依存するリンギングによって、その大きさ、時間が異なってくる。かかる変動の大きさ、時間の差異のモデルが図６の期間Ｔ６０で示される。
【００１１】
図６に示す期間Ｔ６０には、図５に示すバッファ１１、１２、１３（図６に示す遅延１、遅延２、遅延３）はスイッチング中であり、トランジスタは動作点領域にあって、電源の変動を受けることになる。この電源変動を受けるクロックは、図６に示すクロックＣＫ２Ｓに発生したクロックに対してであり、変動の影響は図６に示すクロックＣＫ２Ｅにジッタ６１の形で現れる。最悪の場合にハザードとなる各素子へのクロック到達時間のバラツキ、電源のインピーダンスについては、設計によって固定となり、全クロックに共通に与えられるが、駆動される素子からの影響は時間毎のクロック間で異なってくる。このジッタ６１により、図５のＦ／Ｆ１８の感知する周波数は、クロック発生源の発生周期をＴ（ｓ）、ジッタの大きさをj（ｓ）とすると、１／（Ｔ±j）（Ｈｚ）となる。
【００１２】
従来の第１の方法に従えば、このクロックを外部ブロックへ供給することになり、外部ブロックへ対する要求動作周波数は、１／（Ｔ−ｊ）（Ｈｚ）となり、より厳しい要求基準となる。また、外部ブロックに供給されるクロックを元に、ＰＬＬやＤＬＬを使用して動作していた場合、クロックがロックレンジを外れ、誤動作の原因となる恐れがある。また、クロックがロックレンジ内にあって、誤動作を起こさない場合でも、内部ブロックと外部ブロック間の情報授受においてセットアップタイムやホールドタイム等のＡＣタイミングのマージンを少なくする要因となる。
【００１３】
また、高速化され、部品点数の削減の面からも、加えて、ＤＤＲのように差動信号でのインターフェイスも増えてきたことから、内部、外部ブロックの基準となるクロックの生成もＰＬＬなどで内蔵されるケースも増えてきた。この場合、回路規模削減のためにこのＰＬＬへのフィードバックをクロックツリー終端でのクロックを用いた場合、図５、図６で説明したようにフィードバック信号が外来ノイズにより確実にジッタを持ってしまうため、系が安定せず、ＰＬＬが本来持つ実力以上のジッタが出力クロックに上乗せされる。従って、発振源のＰＬＬへのフィードバックはＰＬＬの出力から作成し、その後段に別途、ＰＬＬ若しくはＤＬＬを作る必要がある。これが従来の第２の方法である。
【特許文献１】特開２０００−２３５５１７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
上述した従来の第２の方法に従えば、発振源の出力をそのまま外部ブロックへの出力に使用すれば、外部への出力クロックは発振源のジッタだけに削減可能となる。しかし、内部クロックへのジッタは、ＰＬＬ若しくはＤＬＬを別途設けた場合、図５、図６で説明したようにフィードバック信号にジッタが発生するため、系が安定せず、本来の実力以上のジッタを持つことになる。
【００１５】
また、かかる従来の第２の方法において、ＤＬＬを用いて半導体装置が定常状態での遅延値を測定し、その遅延値を固定値で使用することによって、フィードバックを切る手法によれば、フィードバックで発生するジッタはなくなる。しかしながら、ＤＬＬに入力される発振源のクロックとクロックツリー終端のクロックを考慮すると、図６において、発振源のリファレンスとなるクロックは「始点」に相当し、クロックツリー終端のクロックは「終点」となる。例えば、リファレンスのクロックが図６に示す「ＣＫ３Ｓ」の場合、比較対照となるフィードバックされるクロックツリーの終端のクロックは、「ＣＫ２Ｅ」となる。図６に示すように、「ＣＫ２Ｅ」は、リファレンスクロックで言えば、「ＣＫ２Ｓ」に相当することになる。すなわち、発振源自身もジッタ成分を持つので、発振源のジッタを含んだ遅延値が測定されることになってしまう。換言すると、内部ブロックの動作による電源変動から外部出力クロックの出力に影響を及ぼし、ジッタを含んだクロックを出力することとなり、かかる半導体装置の製造プロセスの特性にバラツキが生じてしまう。
【００１６】
そこで、本発明は、従来の半導体装置が有する上記問題点に鑑みてなされたものであり、本発明の目的は、内部ブロックの動作による電源変動によっても外部出力クロックの出力に影響を及ぼさないことにより、より安定したクロック信号を供給することの可能な、新規かつ改良された半導体装置を提供することである。
【課題を解決するための手段】
【００１７】
上記課題を解決するために、本発明のある実施の態様によれば、発振源から出力されるクロックを基準として外部回路とデータの授受を実行する半導体装置において、発振源から出力されるクロックを半導体装置に備わる内部回路へ分配するクロック分配手段と、クロックを外部回路に供給するクロック供給手段と、外部回路に供給されるクロックとクロック分配手段の終端におけるクロックとの位相差を検出する位相差検出手段と、位相差検出手段で検出された位相差のデータを元にクロック供給手段から出力されるクロックの遅延を調整するクロック遅延調整手段と、を含むことを特徴とする半導体装置が提供される。
【００１８】
このような構成とすることにより、外部機能ブロック等の外部回路への出力クロックが内部ブロック等の内部回路の動作による電源変動から分離されることにより、ジッタを低減して出力可能となる。このため、ジッタ低減されたクロックを出力することで、外部機能ブロックとの送受信マージンを拡大して、外部機能ブロックに対する要求スペックを軽減することができ、外部機能ブロックとの送受信のＡＣタイミング特性も緩和することが可能になる。
【００１９】
また、位相を比較する２つのクロックの遅延値を同じにすることで発振源が固有に持つジッタを相殺でき、正確な位相合わせが可能となるので、製造プロセス特性バラツキを吸収することができる。すなわち、クロック遅延調整手段が位相差検出手段による位相差のデータを元にクロックの遅延を調整する設定シーケンスを実行することによって、出力クロックとクロックツリーの配置配線のルートで発生するプロセス特性の違いや電源の相違により発生する遅延値が吸収される。
【００２０】
このとき、上記実施の態様において、内部回路は、外部回路とのインターフェイスをとるフリップフロップを備え、クロック分配手段の終端から位相差検出手段への入力ノードは、フリップフロップのクロックの入力点を入力ノードとすることとしてもよい。
【００２１】
このような構成とすることにより、例えば、一のフリップフロップの出力と、かかるフリップフロップの出力を受信する他のフリップフロップの入力との間で論理演算が行なわれて、遅延値がついた場合、他のフリップフロップへのクロックは、一のフリップフロップのクロックに比べて、かかる遅延値を持っても構わないことになる。このため、クロック分配手段の生成に際して、クロック分配手段の終端から位相差検出手段への入力とするノードを内部回路の外部回路とインターフェイスをとるフリップフロップのクロック入力点を入力ノードとするような条件が成立したところで、クロック分配手段の生成が完了する。すなわち、クロック分配手段の終端の全てにおいて、同時間であることはなくなるので、上述したクロックの遅延調整をより正確に実行できるようになる。
【００２２】
さらに、このとき、上記実施の態様において、クロック遅延調整手段により前記クロックの遅延を調整する際に、内部回路に備わるフリップフロップのデータ入力端子および出力端子に相当する部分が静的であることとしてもよい。
【００２３】
このような構成とすることにより、初期段階のかかる設定シーケンスを非動作状態に近い状態で実行されるので、内部ブロックに対して遅延クロックが影響を与えなくなり、遅延設定の変更を簡略化した構成で設計可能となる。
【発明の効果】
【００２４】
以上説明したように本発明によれば、外部へ供給するクロックと内部ブロックとの電源電圧を別とすることが可能となることより、内部ブロックによる電源電圧変動の影響を受けずにジッタの少ないクロックが供給することができ、発振源のジッタに関しても、吸収した外部に送信すべきクロックの正確な遅延設定を行なうことが可能となる。また、遅延調整を行なうことで、配置配線ルートの違いから来るプロセス起因の遅延差を吸収することができ、設計面で言えば、設計スペックの緩和、生産面で言えば、歩留まりの向上が可能となる。
【発明を実施するための最良の形態】
【００２５】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２６】
まず、本発明の半導体装置の第１の実施の形態の構成について図面を参照しながら説明する。図１は、本実施の形態における半導体装置の基本構成の概略を示す回路ブロック図である。
【００２７】
図１に示すように、本実施の形態における半導体装置１００は、発振源１０２、出力端子１０４、位相差検出部１０６、制御部１０８、遅延調整部１１０、クロックツリー１１２、内部ブロック１１４、および入出力端子１１６を備える。
【００２８】
発振源１０２は、本実施の形態の半導体装置１００とメモリ等の外部回路である外部機能ブロック１１８との間のデータの授受を行なうための基本クロックを発生させるクロック発生手段である。かかる発振源１０２として、例えば、水晶発振子やセラミック発振子やＰＬＬ回路が使用されるものとする。ここでは、ＰＬＬ回路について言えば、半導体装置１００に内蔵されているものであっても、外付けのものであっても構わないこととする。
【００２９】
出力端子１０４は、発振源１０２によって発生するクロックを外部機能ブロック１１８に対して供給するクロック供給手段である。外部機能ブロック１１８と本実施の形態の半導体装置１００は、このクロックを基準としてデータの授受を行なうものとする。また、出力端子１０４がクロックを供給する方法としては、正相クロックのみであっても、逆相クロックのみであっても、正相と逆相のペアで供給する差動供給であっても良いものとし、クロックの波高値についても、フルスイングのものであっても、フルスイングでないものであっても良いものとする。
【００３０】
位相差検出部１０６は、外部へ供給するクロックと後述するクロックツリー１１２の終端（図５に示す「終点」に相当）とのクロックの位相差を検出するクロック位相差検出手段である。かかる検出部１０６による検出値は、カウンタのような複数ビットで構成されているものであっても、「早い／遅い」のように１ビットで構成されているものであっても良いものとする。また、位相差検出部１０６に入力されるクロックツリー１１２からのクロックおよび発振源１０２からのクロックは、必要に応じて分周しても構わないものとする。かかる分周段自体は、位相差検出部１０６内に設けられていても、その外に配置されていても構わないものとする。
【００３１】
制御部１０８は、位相差検出部１０６から検出されたデータを元に後述の遅延調整部１１０の制御を行なう。かかる制御部１０８は、専用の制御装置を設けてハード的に実行される制御のものであっても、ＣＰＵ経由でソフト的に実行される制御のものであっても良いものとする。また、制御部１０８は、少なくとも、後述する遅延調整部１１０への遅延値設定を行なう機能と、位相差検出部１０６からのフィードバック機能を無効とする機能と、を具備するものとする。
【００３２】
遅延調整部１１０は、制御部１０８の制御に応じて、発振源１０２から出力するクロックの遅延値を決定するクロック遅延調整手段であり、例えば、ＤＬＬの遅延素子群のようなもので構成されている。なお、遅延調整部１１０を構成するブロックの電源は、後述する内部ブロック１１４とは、少なくとも半導体装置１００の内部では別のものとし、十分にノイズ対策をとったものとする。
【００３３】
クロックツリー１１２は、本実施の形態の半導体装置１００の内部ブロック１１４を動作させるための基本クロックを発振源１０２から後述する内部ブロック１１４へ分配するクロック分配手段である。かかるクロックツリー１１２では、クロックの同時性を満たすように、レイアウト時にクロックツリー１１２に備わるラッチ等の配置、段数が調整される。かかるクロックツリー１１２の終端からの出力の１つは、位相差検出部１０６の入力となる。このとき、入力とするノードは、好ましくは、内部ブロック１１４の外部機能ブロック１１８とインターフェイスをとるフリップフロップ（図示せず）のクロック入力点を入力ノードとすることで、より正確な遅延調整が可能となる。
【００３４】
このようにクロックツリー１１２を張る場合、一のフリップフロップの出力と、かかるフリップフロップの出力を受信する他のフリップフロップの入力との間で論理演算が行なわれ、遅延値tがつく。このとき、実際には、セットアップ／ホールドマージンを確保する必要があるが、かかる他のフリップフロップへのクロックは、一のフリップフロップのクロックに比べて、絶対時間ｔの遅延値を持っても構わないことになる。このため、クロックツリー１１２の生成に際して、上記のクロックツリー１１２の終端から位相差検出部１０６への入力とするノードを内部ブロック１１４の外部機能ブロック１１８とインターフェイスをとるフリップフロップのクロック入力点を入力ノードとするような条件（セットアップ／ホールドマージンを確保）が成立したところで、クロックツリー１１２の生成が完了する。すなわち、クロックツリー１１２の終端の全てにおいて、同時間であることはなくなるので、実際にインターフェイスを取るフリップフロップのクロックで位相差を検出することが望ましい。
【００３５】
内部ブロック１１４は、本実施の形態の半導体装置１００の機能を実現する内部回路であり、クロックツリー１１２からクロックが供給される機能ブロックを少なくとも１つ以上持っている。かかる機能ブロックは、例えば、ＣＰＵやメモリや特定用途向けのロジックを含むものとする。
【００３６】
入出力端子１１６は、本実施の形態の半導体装置１００と後述の外部機能ブロック１１８とのデータの授受を行なう入出力（ input/output ；Ｉ／Ｏ ）バッファである。かかる入出力端子１１６は、例えば、データバスやアドレスライン等であり、１つ以上の情報授受のポートが存在する。
【００３７】
外部機能ブロック１１８は、本実施の形態の半導体装置１００と出力端子１０４から供給されるクロックを基準に、入出力端子１１６を通して情報の授受を行なうメモリ等の外部回路である。
【００３８】
次に、上述した構成をした本実施の形態の半導体装置１００の動作、および遅延調整部１１０でクロックの遅延を調整するクロック遅延値設定の制御シーケンスについて説明する。
【００３９】
まず、初期状態において、位相調整部１１０内の遅延調整値を０と仮定すると、クロックツリー１１２によって出力されるクロックは遅延があるので、位相差検出部１０６は、出力端子１０４から外部機能ブロック１１８等を含む外部へ供給されるクロックと、内部ブロック１１４へ供給される内部クロックとの間に位相差があると判定する。
【００４０】
制御部１０８は、ハードウェアによって直接的に位相差検出部１０６から検出されたデータ等の情報を取得するか、若しくはソフトウェアによって間接的にかかるデータ等の情報を取得して、遅延調整部１１０の遅延設定値をより遅延する方向に変更する。なお、本実施の形態では、初期遅延値を０としたので、遅延をつける方向のみが変更可能となる。このとき、１回の設定で遅らせる遅延値は、遅延素子１つ分であっても、複数個分であっても良いものとし、また、位相差検出部１０６が絶対値を検出する手段を有する検出器であれば、かかる検出された絶対値の値分であっても良いものとする。
【００４１】
上記の位相差検出部１０６の判定において、位相差検出部１０６に入力された外部へ供給するクロックとクロックツリー１１２の終端から出力されるクロックとの双方のクロック入力の位相差の符号の逆転したポイントが２つの入力クロックが同位相である遅延設定値となる。ここでは、位相差検出部１０６内の初期遅延値を０と設定したが、初期遅延値を最大遅延値として、クロックの遅延値を設定する際に、遅延値を小さくしていく方法をとってもよいものとする。例えば、外部へ供給する出力クロックと内部クロックの位相を同じにしたい場合は、位相差検出部１０６から読み出せる「進み／遅れ」が逆転した検出値を元にして、制御部１０８は遅延調整部１１０へクロック遅延値の設定を行なう。また、出力クロックと内部クロックの位相をずらしたい場合には、一定の値を加算した設定値を元にクロック調整を遅延調整部１１０で行なってもよく、例えば、正確に半周期ずらす場合においては、２回目の「進み／遅れ」を検出し、演算した結果から遅延調整部１１０のクロック調整の設定を決定しても良いものとする。
【００４２】
この遅延調整部１１０のクロック調整の設定値を決定する設定シーケンスは、例えば、電源投入時等の初期段階での設定シーケンスに１回行うこととして、制御部１０８は、常時、かかるシーケンス中以外においては、遅延調整部１１０のかかる設定値の更新を行なわないものとする。かかる設計シーケンスを初期段階に実行することにより、出力クロックとクロックツリーの配置配線のルートで発生するプロセス特性の違いや電源の相違により発生する遅延値を吸収できる。
【００４３】
すなわち、従来のように、かかる設定シーケンスを実行しないで、出力クロックとクロックツリーの終端の位相を合わせる場合は、特定プロセス条件の特定電圧の場合に一致するだけとなり、遅延段を用いて構成された出力クロックとクロックツリーでは、構造上、必然的にバッファ段数が異なってしまう。このため、設定シーケンスを実行しない場合、プロセスや電圧の差異によって、出力クロックとクロックツリーの遅延値に差が生じてしまう。これに対し、本実施の形態では、上述の設定シーケンスを実行することにより、出力クロックとクロックツリーの配置配線のルートで発生するプロセス特性の違いや電源の相違により発生する遅延値を吸収できる。
【００４４】
また、上記のシーケンス中においては、内部ブロック１１４は、フリップフロップのデータ端子および出力端子に相当する部分が静的であることが好ましい。このように、初期の設定シーケンスを、非動作状態に近い状態で行なうことで内部ブロックに対して遅延クロックが影響を与えないようになるので、遅延設定の変更を簡略化した構成で設計できる。
【００４５】
次に、本実施の形態の半導体装置１００において、クロック供給の動作タイミングについて、前述した従来の第１の方法でのクロック供給の動作タイミングと比較しながら図面を用いて説明する。図２（ａ）は、前述した従来の第１の方法によるクロック供給のタイミングチャートを示し、図２（ｂ）は、本発明の第１の実施の形態の半導体装置１００によるクロック供給のタイミングチャートを示し、両図とも、上から順に、外部クロック、リターンデータ、および内部クロックのタイミングチャートを示す。なお、両図において、図５および図６で説明した以外の要因によるジッタ成分（例えば、ＰＬＬがその中に持つPhase Detectorの不感帯に起因するＰＬＬ自身のジッタ等）は、かかる第１の方法および本実施の形態によるクロック供給の両手法に共通に当てはまるので、ここでは無視するものとする。
【００４６】
図２（ａ）に示す「外部クロック」は、従来の第１の方法のよってクロックツリーの終端と同じ遅延値を持って出力されたクロックであることより、ＬＳＩの内部動作によって電源からの影響を受け、ジッタを持った状態で出力される。図２（ａ）に示す「リターンデータ」は、図１に示す外部機能ブロック１１８から本実施の形態の半導体装置１００であるＬＳＩに向けて「外部クロック」若しくは「外部クロック」を用いて生成されるクロックを基準に発生する情報であり、例えば、外部機能ブロック１１８であれば、メモリのリードデータ等に該当する。図２（ａ）に示す第１の方法においては、「外部クロック」がジッタを持つため、かかる外部クロックを基準に生成される「リターンデータ」もジッタを持つことになる。「内部クロック」は、本実施の形態の半導体装置１００の内部クロックと同様であり、図２（ａ）においては、「外部クロック」の元になるので、「リターンデータ」を受けるクロックでもある。
【００４７】
図２（ｂ）に示す「外部クロック」は、本実施の形態の半導体装置１００におけるクロック供給によって、内部ブロック１１４からの影響を考慮して、その影響を受けないように出力されるクロックであるため、半導体装置１００の内部動作によるジッタを持たずに出力される。図２（ｂ）に示す「リターンデータ」は、図１に示す外部機能ブロック１１８から本実施の形態の半導体装置１００に向けて「外部クロック」若しくは「外部クロック」を用いて生成されるクロックを基準に発生する情報であり、例えば、外部機能ブロック１１８であれば、メモリのリードデータ等に該当する。図２（ｂ）においては、「外部クロック」が内部ブロック１１４の動作によるという意味において、ジッタを持たないので、かかる外部クロックを基準に生成される「リターンデータ」もジッタを持たないことになる。図２（ｂ）に示す「内部クロック」は、本実施の形態の半導体装置１００の内部のクロックであり、「リターンデータ」を受けるクロックでもある。かかる「内部クロック」は、内部ブロック１１４の動作に影響を受け、従来の第１の方法と同様にしてジッタを持つことになる。
【００４８】
図２（ａ）、図２（ｂ）において、符号Ｔｃｋｓ１、Ｔｃｋｓ２は、受信の時のセットアップ時間に該当し、符号Ｔｃｋｈ１、Ｔｃｋｈ２は、受信時のホールド時間に該当する。図５、図６においても説明したが、図２で言えば、ジッタは、内部クロックＣＫＩ（ｎ−１）での動作の影響が外部クロックＣＫＯ（ｎ）および内部クロックＣＫＩ（ｎ）に現れる。従って、各クロックエッジの周期はジッタの量に依存することになる。「リターンデータ」の受信において、外部クロックＣＫＯ（ｎ−１）で発生したデータを内部クロックＣＫＩ（ｎ）で受信するので、従来の第１の方法によりジッタを持つ外部クロックを出力するより、本実施の形態の半導体装置１００により、外部クロックに対してジッタを取り除いてインターフェイスを取る方が受信マージンを大きくすることが可能となる。図２（ａ）と図２（ｂ）との比較において、受信時のセットアップ時間Ｔｃｋｓ１、Ｔｃｋｓ２は、本実施の形態での受信時のセットアップ時間の方が大きくなる。すなわち、Ｔｃｋｓ２＞Ｔｃｋｓ１の関係となる。
【００４９】
なお、図２による動作説明においては、全ての動作トリガをクロックの立ち上がりとしたが、かかる動作トリガをクロックの立ち下りにしても同様の効果が得られる。また、図２においては、本実施の形態の半導体装置１００がデータ等を受信する場合の説明を行なったが、送信時においても送信情報は従来と同じようにジッタを含むが、送信クロックのジッタが低減でき、このジッタ分のＡＣタイミングマージンを拡大できる。また、図１に示す位相差検出部１０６内の遅延値の設定において、外部出力クロックと内部クロックを同位相になるように調整して説明したが、回路構成によっては、逆位相で調整しても、中間的位置に調整しても良いものとする。また、遅延値の調整の判定に位相比較の結果の符号を用いたが、かかる遅延値の調整の判定において、オフセット値を加えることや、実験的に調べた固定値に調整することで実行しても良いものとする。
【００５０】
次に、本実施の形態の半導体装置１００において、クロック供給の動作タイミングについて、前述した従来の第２の方法でのクロック供給の動作タイミングと比較しながら図面を用いて説明する。図３は、前述した従来の第２の方法によるクロック供給のタイミングチャートを示し、図４は、本発明の第１の実施の形態の半導体装置１００によるクロック供給のタイミングチャートを示す。なお、図３は、上から順に、発振源クロック、出力クロック、ＤＬＬ出力クロック、およびクロックツリーの終端クロックのタイミングチャートを示し、図４は、上から順に、発振源クロック、出力クロック、およびクロックツリーの終端クロックのタイミングチャートを示す。
【００５１】
前述したように、従来の第２の方法によれば、発振源より生成されるクロックは、そのまま出力され、外部への出力クロックとなる。発振源で生成されたクロックは、更にＰＬＬ若しくはＤＬＬをもう１つ経由してからクロックツリーに供給されて、内部ブロックに配給される。ＰＬＬ若しくはＤＬＬの入力は、出力クロックおよびクロックツリーの終端クロックとなる。このとき、ＤＬＬを使用した場合に限り、本発明と同様のシーケンス制御を行なえば、電源を通して発生する内部ブロックからのジッタ要因を排除可能となる。しかしながら、従来の第１の方法の説明では、発振源のジッタ成分を無視して説明したが、従来の第２の方法では、発振源自体にジッタはある。そこで、従来の第２の方法と本発明の第１の実施の形態による発振源１０２のジッタの影響を以下で説明する。
【００５２】
従来の第２の方法では、発振源の後段に接続されるＤＬＬは、クロックツリーの終端クロックと発振源クロックの位相を検出するように動作する。位相を一致させる場合、クロックツリーで遅延が発生する以上、図３に示すように、クロックツリーの終端クロックは一周期以上遅れ、かつ、周期単位の位置にクロックのエッジが存在することになる。なお、図３においては、発振源後段に接続されるＤＬＬの調整において、一周期分で位相が合うように調整された例を示している。
【００５３】
一方、外部への出力クロックは、発振源のクロックが直接出力される。このため、後段に接続されたＤＬＬは、出力クロックとクロックツリーの終端クロックの２つのクロックの位相差を検出することになる。このとき、ＤＬＬが比較しているこれら２つのクロックを発振源でのクロックに番号を振って考えると、出力クロックＣＫＯ（ｎ）に対して、クロックツリーの終端クロックは、クロックＣＫＥ（ｎ−１）を比較することになる。発振源のクロックで言い換えると、クロックＣＫＳ（ｎ）とクロックＣＫＳ（ｎ−１）を比較していることになる。発振源のクロックにもジッタは存在しており、クロックＣＫＳ（ｎ）とクロックＣＫＳ（ｎ−１）のジッタ値は等しくはならない。従って、従来の第２の方法でのクロック調整を行なった場合では、発振源のジッタに依存した誤差が生じる結果となってしまう。また、遅延設定を変更する制御部もクロックツリーのクロックを使用している可能性が高くなるので、クロックにハザードが発生しないように遅延部を制御する手段を別途設ける必要があり、ＬＳＩが複雑な構成となってしまう。
【００５４】
これに対し、本実施の形態の半導体装置１００によるクロック供給では、発振源１０２のクロックはジッタを持って出力され、クロックツリー１１２による遅延を経てから内部ブロック１１４に含まれる各フリップフロップに供給される。一方、外部機能ブロック１１８への出力クロックは、遅延調整部１１０を通って、クロックツリー１１２の終端と同じ遅延値を持つように設定される。位相差検出部１０６は、これら２つのクロックの位相差を検出する。位相差検出部１０６が検出する２つの入力クロックの時間的な関係は、外部への出力クロックＣＫＯ（ｎ）に対してクロックツリー終端クロックＣＫＣ（ｎ）が対応し、発振源１０２のクロックに変換すると、どちらもクロックＣＫＳ（ｎ）である。従って、本実施の形態の手法に従えば、発振源１０２が持つジッタは相殺されることになり、外部への出力クロックとクロックツリー１１２の終端クロックの位相差を正確に測定することが可能となる。
【００５５】
また、内部ブロック１１４に対しては、発振源１０２のクロックの形がクロックツリー１１２による遅延を経てからそのまま伝送されるので、遅延調整部１１０の遅延設定を変更しても影響はない。外部機能ブロック１１８に対しては、ハザードが発生しても初期に設定シーケンスを行なうことを考えると、例えば、リセット動作することで誤動作を回避することは可能である。従って、遅延設定値の変更タイミングを複雑な構成とする必要はない。もちろん、遅延設定値の変更タイミングを複雑な構成にして、ハザードを発生させないようにしても良いものとする。
【００５６】
以上説明したように、本発明の半導体装置１００によれば、発振源１０２から外部出力ブロック１１８への出力クロックが内部ブロック１１４の動作による電源変動から分離されることにより、外部機能ブロック１１８へ供給する出力クロックのジッタを低減できる。また、かかるジッタの低減により、外部機能ブロック１１８との送受信マージンを拡大すると共に、発振源１０２が持つジッタを外部機能ブロック１１８へ供給するクロックと内部ブロック１１４で使用するクロックとで同時性を持たせることでも送受信マージンを拡大し、外部機能ブロック１１８に対する要求スペックを軽減することができ、外部機能ブロック１１８との送受信のＡＣタイミング特性も緩和することが可能になる。また、遅延調整部１１０の遅延値調整によって、位相を比較する２つのクロックの遅延値を同じにすることで発振源１０２が固有に持つジッタを相殺でき、正確な位相合わせが可能となるので、半導体装置の製造プロセスにおける特性バラツキを吸収できる。
【００５７】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【産業上の利用可能性】
【００５８】
本発明は、クロックツリーを用いて設計されるデジタル回路であって、外部に対してクロックを供給し、そのクロックを基準に外部機能ブロックと情報を授受する半導体装置に適用可能であり、特に外部に供給するクロックの構成方法、および調整方法に適用可能である。
【図面の簡単な説明】
【００５９】
【図１】本発明の第１の実施の形態における半導体装置の基本構成の概略を示す回路ブロック図である。
【図２】本発明の第１の実施の形態の半導体装置において、従来例と比較しながらクロック供給の動作タイミングを説明するタイミングチャートであり、（ａ）は、従来の第１の方法によるクロック供給のタイミングチャートを示し、（ｂ）は、同実施の形態の半導体装置によるクロック供給のタイミングチャートを示す。
【図３】従来の第２の方法によるクロック供給のタイミングチャートである。
【図４】本発明の第１の実施の形態の半導体装置によるクロック供給のタイミングチャートである。
【図５】従来の半導体装置のクロック遅延調整する同期回路の構成を簡潔に説明するための概略図である。
【図６】図５に示す同期回路におけるクロック遅延の動作を説明するためのタイミングチャートである。
【符号の説明】
【００６０】
１００      半導体装置
１０２      発振源
１０４      クロック供給手段（出力端子）
１０６      位相差検出手段（位相差検出部）
１０８      制御部
１１０      クロック遅延調整手段（遅延調整部）
１１２      クロック分配手段（クロックツリー）
１１４      内部回路（内部ブロック）
１１６      入出力端子
１１８      外部回路（外部機能ブロック）
【図１】
2007193658.tif 000003
【図２】
2007193658.tif 000004
【図３】
2007193658.tif 000005
【図４】
2007193658.tif 000006
【図５】
2007193658.tif 000007
【図６】
2007193658.tif 000008