(57)【要約】【課題】各ローカルＰＬＬ回路から出力されるＰＬＬクロックを分周したクロックの位相を複数のデータ転送ブロックで同じにすることができない。【解決手段】ローカルＰＬＬ回路３０３ａは、共通の外部クロックを逓倍したＰＬＬクロックを出力する。分周器３０４ａは、ＰＬＬクロックを分周したフィードバッククロックをローカルＰＬＬ回路３０３ａに出力する。ＦＩＦＯバッファ３０２ａは、外部から入力されるデータを一時的に保持する。ＦＩＦＯバッファは、分周ＰＬＬクロックに基づいて、保持したデータを出力する。クロック生成器３０５ａは、ＰＬＬクロックを分周した分周ＰＬＬクロックを生成する。クロック生成器３０５ａは、共通の始動信号に基づいて、分周ＰＬＬクロックの位相を制御する。【選択図】図１
2015192158.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータ転送ブロックを有する半導体装置であって、
各データ転送ブロックには、共通の外部クロックと、共通の始動信号が供給され、
前記共通の外部クロックを逓倍したＰＬＬクロックを出力するローカルＰＬＬ回路と、
前記ＰＬＬクロックを分周したフィードバッククロックを前記ローカルＰＬＬ回路に出力する分周器と、
外部から入力されるデータを一時的に保持するＦＩＦＯバッファと、
前記ＰＬＬクロックを分周した分周ＰＬＬクロックを生成するクロック生成器と、
前記ＦＩＦＯバッファは、前記分周ＰＬＬクロックに基づいて、保持したデータを出力し、
前記クロック生成器は、前記共通の始動信号に基づいて、前記分周ＰＬＬクロックの位相を制御する、半導体装置。
【請求項２】
前記半導体装置は、さらに、
前記共通の始動信号が伝送される経路に設けられ、前記フィードバッククロックに同期する第１ラッチ回路と、
前記第１ラッチ回路の後段に設けられ、前記ＰＬＬクロックに同期する第２ラッチ回路とを備え、
前記クロック生成器は、前記第２ラッチ回路の出力に基づいて、前記分周ＰＬＬクロックの位相を制御する、請求項１記載の半導体装置。
【請求項３】
前記半導体装置は、さらに、
前記第１ラッチ回路の前段に設けられ、前記共通の外部クロックに同期する第３ラッチ回路を備える、請求項２記載の半導体装置。
【請求項４】
前記クロック生成器は、前記第２ラッチ回路の出力のレベルが変化したことに応じて、カウントを開始し、前記ＰＬＬクロックに同期してカウント値を更新するダウンカウンタを含み、前記クロック生成器は、前記カウント値に基づく前記分周ＰＬＬクロックを前記ＦＩＦＯバッファに出力する、請求項２記載の半導体装置。
【請求項５】
前記クロック生成器は、さらに、前記カウント値に基づくリードポインタを前記ＦＩＦＯバッファに出力し、
前記ＦＩＦＯバッファは、前記リードポインタで指定される箇所に保持されたデータを出力する、請求項４記載の半導体装置。
【請求項６】
前記始動信号に基づいて、ライトポインタを生成するメモリ制御回路を備え、
前記外部から入力されるデータは、前記ＦＩＦＯバッファ内の前記ライトポインタで指定される箇所に入力される、請求項５記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置に関し、たとえば複数のデータ転送ブロックを有する半導体装置に関する。
【背景技術】
【０００２】
従来から、メモリコントローラとＤＲＡＭ（Dynamic Random Access Memory）の間のインタフェースであるＤＤＲ＿ＰＨＹ（Double Data Rate_ PHYsical interface）が知られている（たとえば、非特許文献１を参照）。
【０００３】
このＤＤＲ−ＰＨＹは、メモリコントローラからのパラレルデータをシリアルデータに変換してＤＲＡＭに送信し、ＤＲＡＭから受信したシリアルデータをパラレルデータに変換してメモリコントローラに送信する。
【０００４】
このＤＤＲ−ＰＨＹでは、クロックスキューが問題となることがあるが、クロックスキュー対策として、たとえば特許文献１には、クロックの異なる２つの回路系間でのデータ転送時に、クロックＡでラッチした信号をクロックＢでラッチし直す構成が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−２６１４１９号公報
【非特許文献】
【０００６】
【非特許文献１】http://www.synopsys.com/IP/InterfaceIP/DDRn/Pages/default.aspx
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、ＤＤＲ端子配置の自由度を高めるため、ＤＤＲ−ＰＨＹを複数のデータ転送ブロックに分割し、複数のデータ転送ブロックを分散して配置する場合がある。このような場合には、データ転送ブロック間の距離が開くと、各データ転送ブロックに供給されるクロックのツリー長が長くなり、クロックジッタが大きくなるという問題がある。クロックジッタを低減するために、各データ転送ブロックがローカルＰＬＬ回路を有する構成を採用することが有効である。
【０００８】
しかしながら、各ローカルＰＬＬ回路から出力されるＰＬＬクロックを分周したクロックの位相を複数のデータ転送ブロックで同じにすることができないという問題がある。
【０００９】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかであろう。
【課題を解決するための手段】
【００１０】
本発明の一実施形態の半導体装置によれば、クロック生成器は、複数のデータ転送ブロックに共通に入力される始動信号に基づいて、分周ＰＬＬクロックの位相を制御する。
【発明の効果】
【００１１】
本発明の一実施形態によれば、複数のデータ転送ブロックにローカルＰＬＬが設けられ、各ローカルＰＬＬから出力されるＰＬＬクロックを分周したクロックの位相を複数のデータ転送ブロックで同じにすることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１の実施形態の半導体装置の構成を表わす図である。
【図２】本発明の第２の実施形態の半導体装置の構成を表わす図である。
【図３】ＤＤＲ−ＰＨＹに含まれる参考例１の書込みインタフェースの構成を表わす図である。
【図４】参考例１の第１の問題点を説明するための図である。
【図５】参考例１の第２の問題点を説明するための図である。
【図６】第２の実施形態におけるＤＤＲ−ＰＨＹに含まれる書き込みインタフェースの構成を表わす図である。
【図７】第２の実施形態のクロック生成器の構成を表わす図である。
【図８】ＦＩＦＯバッファおよびＰ／Ｓ変換部の構成を表わす図である。
【図９】第２の実施形態のタイミングチャートである。
【図１０】参考例２のＰＨＹブロックの構成を表わす図である。
【図１１】参考例２のＰＨＹブロックの問題点を説明するための図である。
【図１２】参考例３のＰＨＹブロックの構成を表わす図である。
【図１３】第３の実施形態のクロック生成器の構成を表わす図である。
【図１４】第３の実施形態のタイミングチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態について図面を用いて説明する。
［第１の実施形態］
図１は、本発明の第１の実施形態の半導体装置の構成を表わす図である。
【００１４】
この半導体装置３００は、単一の半導体チップ上に集積回路が形成されたものである。
この半導体装置３００は、複数のデータ転送ブロック３０１ａ，３０１ｂを有する。
２つのデータ転送ブロック３０１ａ、３０１ｂは、分散配置されている。たとえば、データ転送ブロック３０１ａが、平面視で矩形形状をなす半導体チップの４つの辺のうちの一つに沿って隣接配置されているのに対し、データ転送ブロック３０１ｂが、半導体チップの対向する辺を含む他の３辺のいずれかに沿って隣接配置されている。
【００１５】
データ転送ブロック３０１ａ，３０１ｂには、共通の外部クロックと、共通の始動信号（ヒント信号ともいう）が供給される。
【００１６】
データ転送ブロック３０１ａは、ローカルＰＬＬ（phase locked loop）回路３０３ａと、分周器３０４ａと、クロック生成器３０５ａと、ＦＩＦＯ（First In First Out）バッファ３０２ａとを備える。
【００１７】
ローカルＰＬＬ回路３０３ａは、共通の外部クロックを逓倍したＰＬＬクロックを出力する。
【００１８】
分周器３０４ａは、ＰＬＬクロックを分周したフィードバッククロックをローカルＰＬＬ回路３０３ａに出力する。
【００１９】
ＦＩＦＯバッファ３０２ａは、外部から入力されるデータを一時的に保持する。ＦＩＦＯバッファ３０２ａは、分周ＰＬＬクロックに基づいて、保持したデータを出力する。
【００２０】
クロック生成器３０５ａは、ＰＬＬクロックを分周した分周ＰＬＬクロックを生成する。クロック生成器３０５ａは、共通の始動信号に基づいて、分周ＰＬＬクロックの位相を制御する。
【００２１】
データ転送ブロック３０１ｂの構成は、データ転送ブロック３０１ａの構成と同様である。
【００２２】
以上のように、本実施の形態によれば、共通の始動信号に基づいて分周ＰＬＬクロックの位相が制御されるので、データ転送ブロック３０１ａとデータ転送ブロック３０１ｂで
分周ＰＬＬクロックの位相を同じにすることができる。
【００２３】
［第２の実施形態］
図２は、本発明の第２の実施形態の半導体装置の構成を表わす図である。
【００２４】
この半導体装置１０１は、単一の半導体チップ上に集積回路が形成されたものである。また、図２に示すＤＲＡＭ（Dynamic Random Access Memory）は、半導体装置１０１とは別体の半導体チップで構成される。
【００２５】
この半導体装置１０１は、たとえば、マイクロコンピュータ、携帯端末機に内蔵されるベースバンドＩＣ、またはアプリケーションプロセッサを構成するＳｏＣ（システムオンチップ）である。
【００２６】
図２に示すように、この半導体装置１０１は、ＣＰＵ（Central Processing Unit）１０３と、ＰＬＬ回路１０６と、クロック生成器１０７と、ＭＥＭＣ（Memory Controller）１０４と、ＤＤＲ−ＰＨＹ１０５とを備える。
【００２７】
ＤＤＲ−ＰＨＹ１０５は、外部のＤＲＡＭ１０２と接続される。ＤＤＲ−ＰＨＹ１０５は、ＤＲＡＭ１０２にダブルレートでアクセスするための物理インタフェースである。ＤＤＲ−ＰＨＹ１０５は、ＤＲＡＭ１０２に向けて、クロック、コマンド、アドレス、データマスク信号を出力する。さらに、ＤＤＲ−ＰＨＹ１０５は、ＤＲＡＭ１０２との間で、データ信号およびデータストローブ信号の入出力を行なう。
【００２８】
ＤＤＲ−ＰＨＹ１０５は、ＤＲＡＭ１０２からのデータの読み出しのためのインタフェース（以下、読み出しインタフェースという）と、ＤＲＡＭ１０２へのデータの書込みのためのインタフェース（以下、書き込みインタフェースという）とを含む。ＤＤＲ−ＰＨＹ１０５を構成する部品は、D半導体チップのそれぞれ異なる２辺に分散して配置されている。
【００２９】
ＭＥＭＣ１０４は、ＤＤＲ−ＰＨＹ１０５に接続されるとともに、バス１０８を介してＣＰＵ１０３と接続される。ＭＥＭＣ１０４は、ＣＰＵ１０３の指令に従って、ＤＤＲ−ＰＨＹ１０５の動作を制御する。ＭＥＭＣ１０４は、ＤＤＲ−ＰＨＹ１０５に向けて、コマンド、アドレス、書込データ、動作設定のための信号を出力し、ＤＤＲ−ＰＨＹ１０５から読出データを受ける。
【００３０】
ＰＬＬ回路１０６は、基準クロックを生成する。クロック生成器１０７は、ＰＬＬ回路１０６から出力された基準クロックに基づいて、リファレンスクロックＲＣＬＫを生成する。ＰＬＬ回路１０６およびクロック生成器１０７は、ＣＰＵ１０３からの制御信号によって制御される。生成されたリファレンスクロックＲＣＬＫは、半導体装置１０１の各部に供給される。
【００３１】
ＭＥＭＣ１０４は、ヒント信号発生回路１０４Ａを含む。ヒント信号発生回路１０４Ａは、半導体装置１０１のパワーオンリセット時に、リファレンスクロックＲＣＬＫに同期して、ヒント信号ＣＬＫＩＮＩＴのレベルをロウベルに変化させる。
【００３２】
また、ＭＥＭＣ１０４は、ヒント信号ＣＬＫＩＮＩＴに基づいて、ライトポインタＷＰを生成して、ＤＤＲ−ＰＨＹ１０５へ出力する。具体的には、ＭＥＭＣ１０４は、ヒント信号ＣＬＫＩＮＩＴがロウレベルに変化したタイミングで、ライトポインタＷＰの初期値からの変更を開始する。ＭＥＭＣ１０４は、リファレンスクロックＲＣＬＫが立ち上るタイミングで、ライトポインタＷＰの値を変化させる。
【００３３】
（参考例１）
図３は、ＤＤＲ−ＰＨＹ１０５に含まれる参考例１の書込みインタフェースの構成を表わす図である。
【００３４】
この書き込みインタフェースは、ライトコマンドおよびアドレスをＤＲＡＭ１０２に出力するデータ転送ブロックであるＰＨＹブロック５０１ａと、データ信号をＤＲＡＭ１０２に出力するデータ転送ブロックであるＰＨＹブロック５０１ｂとを備える。
【００３５】
２つのＰＨＹブロック５０１ａ、５０１ｂは、分散配置されている。たとえば、ＰＨＹブロック５０１ａが、平面視で矩形形状をなす半導体チップの４つの辺のうちの一つに沿って隣接配置されているのに対し、ＰＨＹブロック５０１ｂが、半導体チップの対向する辺を含む他の３辺のいずれかに沿って隣接配置されている。
【００３６】
以下の説明では、リファレンスクロックＲＣＬＫの周波数を２６７ＭＨｚとする。
ＰＨＹブロック５０１ａは、ＦＩＦＯバッファ８ａ＿０〜８ａ＿Ｍと、Ｐ／Ｓ変換部９ａ＿０〜９ａ＿Ｍと、ローカルＰＬＬ回路２ａと、分周器（ｄｉｖ８）４ａと、クロック生成器（ＣＬＫＧＥＮ）３ａとを備える。
【００３７】
ローカルＰＬＬ回路２ａは、リファレンスクロックＲＣＬＫと、フィードバッククロックＦＢＣＬＫａとを受け、リファレンスクロックＲＣＬＫの位相に同期し、かつリファレンスクロックＲＣＬＫの周波数を８逓倍した周波数を有するＰＬＬクロックＩＮＴＣＬＫａ（２１３３ＭＨｚ）を出力する。
【００３８】
分周器４ａは、ＰＬＬクロックＩＮＴＣＬＫａを８分周して、フィードバッククロックＦＢＣＬＫａ（２６７ＭＨｚ）を出力する。
【００３９】
クロック生成器３ａは、ＰＬＬクロックＩＮＴＣＬＫａを８分周した分周ＰＬＬクロックＤＶ＿ＩＮＴＣＬＫａを生成して、ＦＩＦＯバッファ８ａ＿０〜８ａ＿Ｍへ出力する。また、クロック生成器３ａは、ＰＬＬクロックＩＮＴＣＬＫａにしたがって、リードポインタＲＰａを生成して、ＦＩＦＯバッファ８ａ＿０〜８ａ＿Ｍへ出力する。
【００４０】
ＦＩＦＯバッファ８ａ＿ｉ（ｉ＝０〜Ｍ）は、ＭＥＭＣ１０４から送られるデータ（コマンドまたはアドレスを表わすデータ）を先入れ先出しで保持する。ＦＩＦＯバッファ８ａ＿ｉは、ＭＥＭＣ１０４から送られるライトポインタＷＰで指定される箇所にＭＥＭＣ１０４から送られるデータを入力する（書き込む）。また、ＦＩＦＯバッファ８ａ＿ｉは、クロック生成器３ａから送られるリードポインタＲＰａで指定される箇所のデータを出力する（読み出す）。ＦＩＦＯバッファ８ａ＿ｉ（ｉ＝０〜Ｍ）には、リファレンスクロックＲＣＬＫが供給される。
【００４１】
Ｐ／Ｓ変換部９ａ＿ｉ（ｉ＝０〜Ｍ）は、ＦＩＦＯバッファ８ａ＿ｉから出力されるパラレルデータをシリアルデータに変換して、出力端子（コマンドアドレス出力端子）ＣＡｉへ出力する。
【００４２】
ＰＨＹブロック５０１ｂの構成も、ＰＨＹブロック５０１ａの構成と同様である。
ただし、ＰＨＹブロック５０１ｂには、ＭＥＭＣ１０４からコマンドまたはアドレスではなく、データ信号が送られてくる。それゆえ、ＦＩＦＯバッファ８ｂ＿ｉ（ｉ＝０〜Ｎ）は、ＭＥＭＣ１０４から送られるデータ（データ信号）を先入れ先出しで保持する。ＦＩＦＯバッファ８ｂ＿ｉは、ＭＥＭＣ１０４から送られるライトポインタＷＰで指定される箇所にＭＥＭＣ１０４から送られるデータを入力する（書き込む）。また、ＦＩＦＯバッファ８ｂ＿ｉは、クロック生成器３ｂから送られるリードポインタＲＰｂで指定される箇所のデータを出力する（読み出す）。
【００４３】
Ｐ／Ｓ変換部９ｂ＿ｉ（ｉ＝０〜Ｎ）は、ＦＩＦＯバッファ８ｂ＿ｉから出力されるパラレルデータをシリアルデータに変換して、出力端子ＤＱｉ（データ信号出力端子）へ出力する。
【００４４】
（参考例１の第１の問題点）
図４は、参考例１の第１の問題点を説明するための図である。
【００４５】
図４に示すように、ＤＲＡＭ規格が要求するコマンド・データ間隔が４ｔＣＫであるとする。すなわち、ＤＤＲ−ＰＨＹ１０５からＤＲＡＭ１０２へ送られるライトコマンドＷＲとデータ信号Ｄ０〜Ｄ７が送られる場合に、ライトコマンドＷＲがＤＲＡＭ１０２へ送られるタイミングと、先頭のデータ信号Ｄ０がＤＲＡＭ１０２に送られるタイミングとが４ｔＣＫだけずれることが要求されるとする。ここで、１ｔＣＫは、ＤＲＡＭ１０２の１サイクルの時間を表わす。
【００４６】
ＰＨＹブロック５０１ａでは、分周ＰＬＬクロックＤＶ＿ＩＮＴＣＬＫａの立ち上りに基づいて、ＦＩＦＯバッファ８ａからライトコマンドＷＲが出力され、ライトコマンドＷＲがＰ／Ｓ変換部９ａを経て出力端子ＣＡから出力される。
【００４７】
一方、ＰＨＹブロック５０１ｂでは、分周ＰＬＬクロックＤＶ＿ＩＮＴＣＬＫｂの立ち上りに基づいて、ＦＩＦＯバッファ８ｂから先頭のデータ信号Ｄ０が出力され、データ信号Ｄ０がＰ／Ｓ変換部９ｂを経て出力端子ＤＱから出力される。
【００４８】
ＰＨＹブロック５０１ａのクロック生成器３ａと、ＰＨＹブロック５０１ｂのクロック生成器３ｂは、別個のタイミングで、高い周波数のクロックパルスを選択することによって、それぞれ分周ＰＬＬクロックＤＶ＿ＩＮＴＣＬＫａ、分周ＰＬＬクロックＤＶ＿ＩＮＴＣＬＫｂを生成するため、これらの分周クロックの位相が相違する。そのため、図４の例では、ＤＤＲ−ＰＨＹ１０５からＤＲＡＭ１０２へ送られるライトコマンドＷＲと先頭のデータ信号Ｄ０がＤＲＡＭ１０２に送られるタイミングとが４ｔＣＫ＋１ｔＣＫだけずれてしまうため、ＤＲＡＭ規格が要求するコマンド・データ間隔「４ｔＣＫ」を達成できない。
【００４９】
（参考例１の第２の問題点）
図５は、参考例１の第２の問題点を説明するための図である。
【００５０】
図５に示すように、ＦＩＦＯバッファ８ａ内のライトポインタＷＰで指定される箇所に、ＭＥＭＣ１０４から送られるデータＣ０〜Ｃ７が入力される。ＦＩＦＯバッファ８ｂ内のライトポインタＷＰで指定される箇所に、ＭＥＭＣ１０４から送られるデータＤ０〜Ｄ７が入力される。
【００５１】
その後、ＰＨＹブロック５０１ａでは、ＦＩＦＯバッファ８ａのリードポインタＲＰａで指定される箇所からデータＣ０〜Ｃ７が出力される。ＰＨＹブロック５０１ｂでは、ＦＩＦＯバッファ８ｂのリードポインタＲＰｂで指定される箇所からデータＤ０〜Ｄ７が出力される。
【００５２】
ＰＨＹブロック５０１ａのクロック生成器３ａと、ＰＨＹブロック５０１ｂのクロック生成器３ｂは、互いに独立してそれぞれリードポインタＲＰ、ＲＰｂを生成するため、これらのポインタの更新されるタイミングが相違する。そのため、図５の例では、ＤＤＲ−ＰＨＹ１０５からＤＲＡＭ１０２へ送られるデータＣ０〜Ｃ７と、Ｄ０〜Ｄ７のタイミングが相違することになる。その結果、ＤＲＡＭ規格が要求するコマンド・データ間隔を達成できなくなる。
【００５３】
（本実施の形態の構成）
図６は、第２の実施形態におけるＤＤＲ−ＰＨＹ１０５に含まれる書き込みインタフェースの構成を表わす図である。
【００５４】
この書き込みインタフェースは、ライトコマンドおよびアドレスをＤＲＡＭ１０２に出力するＰＨＹブロック１ａと、データ信号をＤＲＡＭ１０２に出力するＰＨＹブロック１ｂとを備える。
【００５５】
２つのＰＨＹブロック１ａ、１ｂは、分散配置されている。たとえば、ＰＨＹブロック１ａが、平面視で矩形形状をなす半導体チップの４つの辺のうちの一つに沿って隣接配置されているのに対し、ＰＨＹブロック１ｂが、半導体チップの対向する辺を含む他の３辺のいずれかに沿って隣接配置されている。
【００５６】
ＰＨＹブロック１ａが、図３のＰＨＹブロック５０１ａと相違する点は、ＰＨＹブロック１ａが、フリップフロップ５ａ，６ａ，７ａを備える点と、クロック生成器３ａがフリップフロップ７ａから出力されるクロックＣＬＫＩＮＩＴ＿ＩＮａを受ける点である。
【００５７】
フリップフロップ５ａは、リファレンスクロックＲＣＬＫの立ち上りのタイミングで、ロウレベルのヒント信号ＣＬＫＩＮＩＴを取り込み（ラッチし）、クロックＳＣＬＫａを出力する。
【００５８】
フリップフロップ６ａは、フィードバッククロックＦＢＣＬＫａの立ち上りのタイミングで、ロウレベルのクロックＳＣＬＫａを取り込み（ラッチし）、クロックＴＣＬＫａを出力する。
【００５９】
フリップフロップ７ａは、ＰＬＬクロックＩＮＴＣＬＫａの立ち上りのタイミングで、ロウレベルのクロックＴＣＬＫａを取り込み（ラッチし）、クロックＣＬＫＩＮＩＴ＿ＩＮａを出力する。
【００６０】
以上のようにして、ヒント信号ＣＬＫＩＮＩＴは、リファレンスクロックＲＣＬＫに同期するフリップフロップ５ａ、フィードバッククロックＦＢＣＬＫａに同期するフリップフロップ６ａ、ＰＬＬクロックＩＮＴＣＬＫａに同期するフリップフロップ７ａの順に同期転送される。
【００６１】
フィードバッククロックＦＢＣＬＫａの周波数およびリファレンスクロックＲＣＬＫの周波数を低くすることで、リファレンスクロックＲＣＬＫのジッタが大きくなっても、リファレンスクロックＲＣＬＫに同期したヒント信号ＣＬＫＩＮＩＴをフィードバッククロックＦＢＣＬＫａに同期するフリップフロップ６ａに同期転送することができる。
【００６２】
ＰＨＹブロック１ｂの構成も、ＰＨＹブロック１ａの構成と同様である。
図７は、第２の実施形態のクロック生成器（ＣＬＫＧＥＮ）３ａの構成を表わす図である。
【００６３】
クロック生成器３ａは、ダウンカウンタ１０ａと、フリップフロップ１２ａ，１２ｂ，１２ｃとを備える。
【００６４】
ダウンカウンタ１０ａは、ＣＬＫＩＮＩＴ＿ＩＮａがロウレベルのときに、ＰＬＬクロックＩＮＴＣＬＫａ（２１３３ＭＨｚ）の立ち上りのタイミングでカウント値を減少する。ダウンカウンタ１０ａの初期値は、クロックＣＬＫＩＮＩＴ＿ＩＮａと、分周ＰＬＬクロックＤＶ＿ＩＮＴＣＬＫａのタイミングに応じて設定される。
【００６５】
フリップフロップ１２ａは、ＰＬＬクロックＩＮＴＣＬＫａの立ち上りのタイミングで、ダウンカウンタ１０ａのカウント値の０ビット目（Least Significant Bit：ＬＳＢ）を取り込んで（ラッチして）、カウント信号ｃｎｔａ［０］を出力する。
【００６６】
フリップフロップ１２ｂは、ＰＬＬクロックＩＮＴＣＬＫａの立ち上りのタイミングで、ダウンカウンタ１０ａのカウント値の１ビット目（ＬＳＢから１つ上のビット）を取り込んで（ラッチして）、カウント信号ｃｎｔａ［１］を出力する。
【００６７】
フリップフロップ１２ｃは、ＰＬＬクロックＩＮＴＣＬＫａの立ち上りのタイミングで、ダウンカウンタ１０ａのカウント値の２ビット目（ＬＳＢから２つ上のビット）を取り込んで（ラッチして）、カウント信号ｃｎｔａ［２］を出力する。フリップフロップ１２ｃから出力される信号が、分周ＰＬＬクロックＤＶ＿ＩＮＴＣＬＫａ（２６７ＭＨｚ）となる。
【００６８】
図８は、ＦＩＦＯバッファ８ａ＿０およびＰ／Ｓ変換部９ａ＿０の構成を表わす図である。
【００６９】
ＦＩＦＯバッファ８ａ＿０には、パラレルデータＤ０〜Ｄ７が入力される。
ＦＩＦＯバッファ８ａ＿０は、第０保持部５１＿０〜第７保持部５１＿７を備える。
【００７０】
第ｉ保持部５１＿ｉ（ｉ＝０〜７）は、入力データＤｉを受けるセレクタＳＬｉ＿１と、セレクタＳＬｉ＿１の出力を受けるフリップフロップ１５＿ｉ＿０〜１５＿ｉ＿３と、フリップフロップ１５＿ｉ＿０〜１５＿ｉ＿３の出力を受けるセレクタＳＬｉ＿２とを含む。
【００７１】
セレクタＳＬｉ＿１は、ライトポインタＷＰに従って、入力データＤｉをフリップフロップ１５＿ｉ＿０〜１５＿ｉ＿３のいずれかに出力する。セレクタＳＬｉ＿１は、ライトポインタＷＰが「０」のときには、入力データＤｉをフリップフロップ１５＿ｉ＿０へ出力する。セレクタＳＬｉ＿１は、ライトポインタＷＰが「１」のときには、入力データＤｉをフリップフロップ１５＿ｉ＿１へ出力する。セレクタＳＬｉ＿１は、ライトポインタＷＰが「２」のときには、入力データＤｉをフリップフロップ１５＿ｉ＿２へ出力する。セレクタＳＬｉ＿１は、ライトポインタＷＰが「３」のときには、入力データＤｉをフリップフロップ１５＿ｉ＿３へ出力する。
【００７２】
フリップフロップ１５＿ｉ＿ｊ（ｊ＝０〜３）は、リファレンスクロックＲＣＬＫの立ち上りのタイミングで、セレクタＳＬｉ＿１から出力されるデータを取り込んで（ラッチして）、セレクタＳＬｉ＿２へ出力する。
【００７３】
セレクタＳＬｉ＿２は、リードポインタＲＰａに従って、フリップフロップ１５＿ｉ＿０〜１５＿ｉ＿３の出力のいずれかを選択して、Ｐ／Ｓ変換部９ａ＿０へ出力する。
【００７４】
セレクタＳＬｉ＿２は、リードポインタＲＰａが「０」のときには、フリップフロップ１５＿ｉ＿０の出力を選択して、Ｐ／Ｓ変換部９ａ＿０へ出力する。  セレクタＳＬｉ＿２は、リードポインタＲＰａが「１」のときには、フリップフロップ１５＿ｉ＿１の出力を選択して、Ｐ／Ｓ変換部９ａ＿０へ出力する。セレクタＳＬｉ＿２は、リードポインタＲＰａが「２」のときには、フリップフロップ１５＿ｉ＿２の出力を選択して、Ｐ／Ｓ変換部９ａ＿０へ出力する。セレクタＳＬｉ＿３は、リードポインタＲＰａが「３」のときには、フリップフロップ１５＿ｉ＿３の出力を選択して、Ｐ／Ｓ変換部９ａ＿０へ出力する。
【００７５】
Ｐ／Ｓ変換部９ａ＿０は、フリップフロップ１６＿０〜１６＿７と、選択信号生成器１８と、セレクタＳＬ３と、フリップフロップ１７とを備える。
【００７６】
フリップフロップ１６＿ｉ（ｉ＝０〜７）は、クロック生成器３ａから出力される分周ＰＬＬクロックＤＶ＿ＩＮＴＣＬＫａの立ち上りのタイミングで、セレクタＳＬｉ＿２から出力されるデータを取り込んで（ラッチして）、セレクタＳＬ３へ出力する。
【００７７】
選択信号生成器１８は、フリップフロップ１６＿０〜１６＿７の出力のうちいずれを選択するかを表わす選択信号ＳＥを生成して、セレクタＳＬ３へ出力する。
【００７８】
選択信号生成器１８は、ＰＬＬクロックＩＮＴＣＬＫａのタイミングで、フリップフロップ１６＿０、１６＿１、・・・、１６＿７の順に選択が切り替わるような選択信号ＳＥを生成する。
【００７９】
セレクタＳＬ３は、選択信号ＳＥに従って、フリップフロップ１６＿０〜１６＿７の出力のいずれかをフリップフロップ１７へ出力する。
【００８０】
フリップフロップ１７は、ＰＬＬクロックＩＮＴＣＬＫａの立ち上りのタイミングで、セレクタＳＬ３の出力を取り込んで（ラッチして）、出力端子ＣＡ０へ出力する。ＰＬＬクロックＩＮＴＣＬＫａに同期して、フリップフロップ１７からデータがＤ０、Ｄ１、・・・、Ｄ７の順番に出力される。
【００８１】
図９は、第２の実施形態のタイミングチャートである。
ＭＥＭＣ１０４内のヒント信号発生回路１０４Ａは、パワーオンリセット時に、リファレンスクロックＲＣＬＫの立ち上りのタイミングで、ヒント信号ＣＬＫＩＮＩＴをロウレベルに立ち下げる。
【００８２】
ＰＨＹブロック１ａにおいて、以下のようにして内部信号のレベルが変化する。
ローカルＰＬＬ回路２ａは、リファレンスクロックＲＣＬＫの位相に同期し、かつリファレンスクロックＲＣＬＫの周波数を８逓倍した周波数を有するＰＬＬクロックＩＮＴＣＬＫａ（２１３３ＭＨｚ）を出力する。
【００８３】
分周器４ａは、ＰＬＬクロックＩＮＴＣＬＫａを８分周して、フィードバッククロックＦＢＣＬＫａ（２６７ＭＨｚ）を出力する。
【００８４】
フリップフロップ５ａは、リファレンスクロックＲＣＬＫの立ち上りのタイミングで、ロウレベルのヒント信号ＣＬＫＩＮＩＴを取り込み（ラッチし）、クロックＳＣＬＫａを出力する。
【００８５】
フリップフロップ６ａは、フィードバッククロックＦＢＣＬＫａの立ち上りのタイミングで、ロウレベルのクロックＳＣＬＫａを取り込み（ラッチし）、クロックＴＣＬＫａを出力する。
【００８６】
フリップフロップ７ａは、ＰＬＬクロックＩＮＴＣＬＫａの立ち上りのタイミングで、ロウレベルのクロックＴＣＬＫａを取り込み（ラッチし）、クロックＣＬＫＩＮＩＴ＿ＩＮａを出力する。
【００８７】
クロック生成器３ａは、クロックＣＬＫＩＮＩＴ＿ＩＮａがロウレベルに変化した後、３ビットのカウント信号ｃｎｔａ［０：２］を初期値「６」からＰＬＬクロックＩＮＴＣＬＫａの立ち上りのタイミングで、１ずつ減少させる。
【００８８】
分周ＰＬＬクロックＤＶ＿ＩＮＴＣＬＫａ（２６７ＭＨｚ）は、カウント信号ｃｎｔａ［２］に相当するため、分周ＰＬＬクロックＤＶ＿ＩＮＴＣＬＫａのレベルが変化するタイミングが、フィードバッククロックＦＢＣＬＫａおよびリファレンスクロックＲＣＬＫのレベルが変化するタイミングと同一となる。
【００８９】
ＰＨＹブロック１ｂでも、ＰＨＹブロック１ａと同様にして、内部信号のレベルが変化する。
【００９０】
クロック生成器３ｂから出力される分周ＰＬＬクロックＤＶ＿ＩＮＴＣＬＫｂ（２６７ＭＨｚ）は、カウント信号ｃｎｔｂ［２］に相当するため、分周ＰＬＬクロックＤＶ＿ＩＮＴＣＬＫｂのレベルが変化するタイミングが、フィードバッククロックＦＢＣＬＫｂおよびリファレンスクロックＲＣＬＫのレベルが変化するタイミングと同一となる。
【００９１】
以上のように、ＰＨＹブロック１ａで生成される分周ＰＬＬクロックＤＶ＿ＩＮＴＣＬＫａの位相と、ＰＨＹブロック１ｂで生成される分周ＰＬＬクロックＤＶ＿ＩＮＴＣＬＫｂの位相は、いずれもリファレンスクロックＲＣＬＫの位相と同一となる。
【００９２】
したがって、ＰＨＹブロック１ａ内のＦＩＦＯバッファ８ａからデータが出力されるタイミングと、ＰＨＹブロック１ｂ内のＦＩＦＯバッファ８ｂからデータが出力されるタイミングが同一となる。それゆえ、図４で説明したような、ＤＲＡＭ規格が要求するコマンド・データ間隔を達成できなくなるという問題を回避できる。
【００９３】
（参考例２）
図１０は、参考例２のＰＨＹブロック６０１ａの構成を表わす図である。
【００９４】
図１０では、ＦＩＦＯバッファおよびＰ／Ｓ変換部については、ＦＩＦＯバッファ８ａ＿０およびＰ／Ｓ変換部９ａ＿０のみを記載し、他は記載を省略している。
【００９５】
参考例２のＰＨＹブロック６０１ａは、図６のＰＨＹブロック１ａに含まれているフリップフロップ６ａを含まない。
【００９６】
フィードバッククロックＦＢＣＬＫａで動作するフリップフロップ６ａが省略されると、リファレンスクロックＲＣＬＫに同期するフリップフロップ５ａからＰＬＬクロックＩＮＴＣＬＫａに同期するフリップフロップ７ａにヒント信号ＣＬＫＩＮＩＴが転送される。その結果、図１１に示すように、リファレンスクロックＲＣＬＫのジッタや，リファレンスクロックＲＣＬＫとＰＬＬクロックＩＮＴＣＬＫａの間のスキューの影響で、同期転送が困難になる。
【００９７】
これに対して、図６のＰＨＹブロック１ａでは、フィードバッククロックＦＢＣＬＫａは、ＰＬＬクロックＩＮＴＣＬＫａを分周したクロックなので、フィードバッククロックＦＢＣＬＫａに同期するフリップフロップ６ａと、ＰＬＬクロックＩＮＴＣＬＫａに同期するフリップフロップ７ａの間で同期転送が実現できる。
【００９８】
（参考例３）
図１２は、参考例３のＰＨＹブロック７０１ａの構成を表わす図である。
【００９９】
図１２では、ＦＩＦＯバッファおよびＰ／Ｓ変換部については、ＦＩＦＯバッファ８ａ＿０およびＰ／Ｓ変換部９ａ＿０のみを記載し、他は記載を省略している。
【０１００】
参考例３のＰＨＹブロック６０１ａは、図６のＰＨＹブロック１ａに含まれているフリップフロップ５ａ，６ａを含まず、代わりに、ＰＬＬクロックＩＮＴＣＬＫａに同期するフリップフロップ２０１ａを含む。
【０１０１】
参考例３では、ヒント信号ＣＬＫＩＮＩＴがフリップフロップ２０１ａへ非同期転送される。非同期転送によって、ＰＨＹブロック７０１ａと、他のＰＨＹブロック７０１ｂとの間でタイミングがずれる恐れがある。
【０１０２】
また、非同期転送の受け側のフリップフロップ２０１ａが同期するクロックＩＮＴＣＬＫａが高速なため、メタステーブルが収束しないおそれがある。
【０１０３】
［第３の実施形態］
図１３は、第３の実施形態のクロック生成器（ＣＬＫＧＥＮ）３ａの構成を表わす図である。
【０１０４】
クロック生成器３ａは、ダウンカウンタ１０ａと、フリップフロップ１２ａ，１２ｂ，１２ｃ，１２ｄ，１２ｅを備える。
【０１０５】
ダウンカウンタ１０ａ、およびフリップフロップ１２ａ，１２ｂ，１２ｃは、第２の実施形態のクロック生成器３ａに含まれるものと同一なので、説明を繰り返さない。
【０１０６】
フリップフロップ１２ｄは、ＰＬＬクロックＩＮＴＣＬＫａの立ち上りのタイミングで、ダウンカウンタ１０ａのカウント値の３ビット目（ＬＳＢから３つ上のビット）を取り込んで（ラッチして）、カウント信号ｃｎｔａ［３］を出力する。
【０１０７】
フリップフロップ１２ｅは、ＰＬＬクロックＩＮＴＣＬＫａの立ち上りのタイミングで、ダウンカウンタ１０ａのカウント値の４ビット目（ＬＳＢから４つ上のビット）を取り込んで（ラッチして）、カウント信号ｃｎｔａ［４］を出力する。
【０１０８】
フリップフロップ１２ｄから出力される信号が、リードポインタＲＰａの０ビット目（ＬＳＢ）ＲＰａ［０］となり、フリップフロップ１２ｅから出力される信号が、リードポインタＲＰａの１ビット目（ＬＳＢから１つ上のビット）ＲＰａ［１］となる。
【０１０９】
図１４は、第３の実施形態のタイミングチャートである。
ＭＥＭＣ１０４内のヒント信号発生回路１０４Ａは、パワーオンリセット時に、リファレンスクロックＲＣＬＫの立ち上りのタイミングで、ヒント信号ＣＬＫＩＮＩＴをロウレベルに立ち下げる。
【０１１０】
ＰＨＹブロック１ａにおいて、以下のようにして内部信号のレベルが変化する。
ローカルＰＬＬ回路２ａは、リファレンスクロックＲＣＬＫの位相に同期し、かつリファレンスクロックＲＣＬＫの周波数を８逓倍した周波数を有するＰＬＬクロックＩＮＴＣＬＫａ（２１３３ＭＨｚ）を出力する。
【０１１１】
分周器４ａは、ＰＬＬクロックＩＮＴＣＬＫａを８分周して、フィードバッククロックＦＢＣＬＫａ（２６７ＭＨｚ）を出力する。
【０１１２】
フリップフロップ５ａは、リファレンスクロックＲＣＬＫの立ち上りのタイミングで、ロウレベルのヒント信号ＣＬＫＩＮＩＴを取り込み（ラッチし）、クロックＳＣＬＫａを出力する。
【０１１３】
フリップフロップ６ａは、フィードバッククロックＦＢＣＬＫａの立ち上りのタイミングで、ロウレベルのクロックＳＣＬＫａを取り込み（ラッチし）、クロックＴＣＬＫａを出力する。
【０１１４】
フリップフロップ７ａは、ＰＬＬクロックＩＮＴＣＬＫａの立ち上りのタイミングで、ロウレベルのクロックＴＣＬＫａを取り込み（ラッチし）、クロックＣＬＫＩＮＩＴ＿ＩＮａを出力する。
【０１１５】
クロック生成器３ａは、クロックＣＬＫＩＮＩＴ＿ＩＮａがロウレベルに変化した後、５ビットのカウント信号ｃｎｔａ［０：４］を初期値「１Ｅ」（１６進数表示）からＰＬＬクロックＩＮＴＣＬＫａの立ち上りのタイミングで、１ずつ減少させる。
【０１１６】
第２の実施形態と同様に、分周ＰＬＬクロックＤＶ＿ＩＮＴＣＬＫａ（２６７ＭＨｚ）は、カウント信号ｃｎｔａ［２］に相当するため、分周ＰＬＬクロックＤＶ＿ＩＮＴＣＬＫａのレベルが変化するタイミングが、フィードバッククロックＦＢＣＬＫａおよびリファレンスクロックＲＣＬＫのレベルが変化するタイミングと同一となる。
【０１１７】
リードポインタＲＰａは、２ビットのカウント信号ｃｎｔａ［３：４］に相当するため、リードポインタＲＰａは、初期値「３」から分周ＰＬＬクロックＤＶ＿ＩＮＴＣＬＫａが立ち上るタイミングで、１ずつ減少する。
【０１１８】
ＰＨＹブロック１ｂでも、ＰＨＹブロック１ａと同様にして、内部信号のレベルが変化する。
【０１１９】
本実施の形態では、第２の実施形態と同様に、クロック生成器３ｂから出力される分周ＰＬＬクロックＤＶ＿ＩＮＴＣＬＫｂ（２６７ＭＨｚ）は、カウント信号ｃｎｔｂ［２］に相当するため、分周ＰＬＬクロックＤＶ＿ＩＮＴＣＬＫｂのレベルが変化するタイミングが、フィードバッククロックＦＢＣＬＫｂおよびリファレンスクロックＲＣＬＫのレベルが変化するタイミングと同一となる。また、リードポインタＲＰｂは、初期値「３」から分周ＰＬＬクロックＤＶ＿ＩＮＴＣＬＫｂが立ち上るタイミングで、１ずつ減少する。
【０１２０】
以上のように、本実施の形態でも、第２の実施形態と同様に、ＰＨＹブロック１ａで生成される分周ＰＬＬクロックＤＶ＿ＩＮＴＣＬＫａの位相と、ＰＨＹブロック１ｂで生成される分周ＰＬＬクロックＤＶ＿ＩＮＴＣＬＫｂの位相は、いずれもリファレンスクロックＲＣＬＫの位相と同一となる。
【０１２１】
したがって、本実施の形態では、第２の実施形態と同様に、ＰＨＹブロック１ａ内のＦＩＦＯバッファ８ａからデータが出力されるタイミングと、ＰＨＹブロック１ｂ内のＦＩＦＯバッファ８ｂからデータが出力されるタイミングが同一となる。それゆえ、図４で説明したような、ＤＲＡＭ規格が要求するコマンド・データ間隔を達成できなくなるという問題を回避できる。
【０１２２】
また、本実施の形態では、ＰＨＹブロック１ａで生成されるリードポインタＲＰａの変化するタイミングと、ＰＨＹブロック１ｂで生成されるリードポインタＲＰｂの変化するタイミングが同一となる。それゆえ、図５で説明したような、ＤＲＡＭ規格が要求するコマンド・データ間隔を達成できなくなるという問題を回避できる。
【０１２３】
また、ライトポインタＷＰも、ヒント信号ＣＬＫＩＮＩＴに基づいて生成される。すなわち、ＭＥＭＣ１０４は、ＭＥＭＣ１０４は、ヒント信号ＣＬＫＩＮＩＴがロウレベルに変化したタイミングで、ライトポインタＷＰの初期値からの変更を開始し、リファレンスクロックＲＣＬＫが立ち上るタイミングで、ライトポインタＷＰの値を変化させるので、ライトポインタＷＰとリードポインタＲＰａ，ＲＰｂとのタイミング差を正確に制御することができる。
【０１２４】
（変形例）
本発明は、上記の実施形態に限定されるものではなく、たとえば以下のような変形例も含む。
【０１２５】
（１）ヒント信号ＣＬＫＩＮＩＴの制御
定期的にＣＬＫＩＮＩＴをＬレベルに立ち下げることとしてもよい。
【０１２６】
本発明の実施形態では、ヒント信号発生回路１０４Ａは、半導体装置１０１のパワーオンリセット時に、リファレンスクロックＲＣＬＫに同期して、ヒント信号ＣＬＫＩＮＩＴのレベルをロウベルに変化させたが、これに限定するものではない。
【０１２７】
たとえば、半導体装置１０１が低消費電力モード（スリープモードなど）への遷移が可能な場合には、ヒント信号発生回路１０４Ａは、低消費電力モードからの復帰時に、リファレンスクロックＲＣＬＫに同期して、ヒント信号ＣＬＫＩＮＩＴのレベルをロウベルに変化させるものとしてもよい。あるいは、ヒント信号発生回路１０４Ａは、定期的に、リファレンスクロックＲＣＬＫに同期して、ヒント信号ＣＬＫＩＮＩＴのレベルをロウベルに変化させるものとしてもよい。
【０１２８】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【符号の説明】
【０１２９】
２ａ，２ｂ  ローカルＰＬＬ回路、３ａ，３ｂ，１０７  クロック生成器、４ａ，４ｂ  分周器、５ａ，５ｂ，６ａ，６ｂ，７ａ，７ｂ，１２ａ，１２ｂ，１２ｃ，１２ｄ，１２ｅ，１５＿０＿０〜１５＿７＿０，１５＿０＿１〜１５＿７＿１，１５＿０＿２〜１５＿７＿２，１５＿０＿３〜１５＿７＿３，１６＿０〜１６＿７，１７，２０１ａ  フリップフロップ、８ａ＿０〜８ａ＿Ｍ，８ｂ＿０〜８ｂ＿Ｎ  ＦＩＦＯバッファ、９ａ＿０〜９ａ＿Ｍ，９ｂ＿０〜９ｂ＿Ｎ  Ｐ／Ｓ変換部、選択信号生成器、１８  選択信号生成器、１０ａ  ダウンカウンタ、５１＿０〜５１＿７  保持部、１０１  半導体装置、１０２  ＤＲＡＭ、１０３  ＣＰＵ、１０４  ＭＥＭＣ、１０４Ａ  ヒント信号発生回路、１０５  ＤＤＲ−ＰＨＹ、１０６  ＰＬＬ回路、１ａ，１ｂ，５０１ａ，５０１ｂ，６０１ａ，６０１ｂ  ＰＨＹブロック、ＳＬ０＿１〜ＳＬ７＿１，ＳＬ０＿２〜ＳＬ７＿２  ＳＬ３  セレクタ，ＣＡ０〜ＣＡＭ，ＤＱ０〜ＤＱＮ  出力端子。
【図１】
2015192158.tif 000003
【図２】
2015192158.tif 000004
【図３】
2015192158.tif 000005
【図４】
2015192158.tif 000006
【図５】
2015192158.tif 000007
【図６】
2015192158.tif 000008
【図７】
2015192158.tif 000009
【図８】
2015192158.tif 000010
【図９】
2015192158.tif 000011
【図１０】
2015192158.tif 000012
【図１１】
2015192158.tif 000013
【図１２】
2015192158.tif 000014
【図１３】
2015192158.tif 000015
【図１４】
2015192158.tif 000016