(57)【要約】【課題】通信相手の半導体集積回路に位相比較回路および位相調整回路を設けなくとも、通信相手の半導体集積回路がデータ信号の取り込みタイミングを知らせるクロック信号を元にデータ信号を良好に受信することができるようにした半導体集積回路を提供する。【解決手段】タイミング最適化回路５１により、ＤＱ０送受信回路４８、ＤＱ１送受信回路４９およびＤＱ２送受信回路５０における送信タイミングを調整し、メモリ４２が、メモリコントローラ４１が送信するデータ信号ＤＱ０〜ＤＱ２の各ビットのデータ信号をセンターポイントで受信できるようにする。【選択図】図１
2008226374.tif 000002
【特許請求の範囲】
【請求項１】
データ信号と該データ信号の取り込みタイミングを知らせるクロック信号の送受信を行う半導体集積回路装置であって、
タイミング調整用の受信データ信号と受信クロック信号の位相を比較し、該比較結果を元に、送信データ信号の送信クロック信号に対する位相を調整するタイミング最適化回路を備えることを特徴とする半導体集積回路。
【請求項２】
前記タイミング最適化回路は、前記送信データ信号および前記送信クロック信号の送信先において前記送信クロック信号のエッジが前記送信データ信号の各ビットのデータ信号のセンターポイントに位置するように送信回路を制御することを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
前記タイミング最適化回路は、
複数のバッファを縦列接続し、前記受信クロック信号を遅延する遅延回路を有する内部クロック信号生成回路と、
前記複数のバッファ内の所定の複数のバッファを１つずつ選択し、該選択したバッファの入力信号および出力信号を第１の内部クロック信号および第２の内部クロック信号として出力させるように前記内部クロック信号生成回路を制御する制御回路と、
前記タイミング調整用の受信データ信号を前記第１の内部クロック信号と前記第２の内部クロック信号とで取り込んで、前記タイミング調整用の受信データ信号のエッジを検出するエッジ検出回路を有する
ことを特徴とする請求項１又は２に記載の半導体集積回路。
【請求項４】
前記制御回路は、前記エッジ検出回路によるエッジ検出結果を元に、前記タイミング調整用の受信データ信号と前記受信クロック信号の位相を比較し、該比較結果を元に、前記送信先において前記送信クロック信号のエッジが前記送信データ信号の各ビットのデータ信号のセンターポイントに位置するために必要なタイミング調整用の内部クロック信号を前記送信回路に供給するように前記内部クロック信号生成回路を制御する
ことを特徴とする請求項３に記載の半導体集積回路。
【請求項５】
前記エッジ検出回路は、
前記タイミング調整用の受信データ信号を前記第１の内部クロック信号で取り込む第１のフリップフロップと、
前記タイミング調整用の受信データ信号を前記第２の内部クロック信号で取り込む第２のフリップフロップと、
前記第１のフリップフロップの出力信号を反転した信号と前記第２のフリップフロップの出力信号とをＡＮＤ処理して前記タイミング調整用の受信データ信号のエッジを検出するＡＮＤ回路を備える
ことを特徴とする請求項３又は４に記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ信号を該データ信号の取り込みタイミングを知らせるクロック信号とともに送受信する半導体集積回路に関する。
【背景技術】
【０００２】
（第１従来例）
図２０は第１従来例の電子装置の一部分の回路図である。図２０中、１、２は半導体集積回路、３はデータ信号ＤＱ０の伝送に使用されるＤＱ０信号線、４はデータ信号ＤＱ１の伝送に使用されるＤＱ１信号線、５はデータ信号ＤＱ２の伝送に使用されるＤＱ２信号線、６はデータ信号ＤＱ０〜ＤＱ２の取り込みタイミングを知らせるクロック信号であるデータストローブ信号ＤＱＳの伝送に使用されるＤＱＳ信号線、７、８は制御信号の伝送に使用される制御信号線である。
【０００３】
また、半導体集積回路１において、９は半導体集積回路２に対してデータ信号ＤＱ０〜ＤＱ２およびデータストローブ信号ＤＱＳを送信する送信回路、１０は送信回路９に設けられた位相調整回路、１１は半導体集積回路２が送信したデータ信号ＤＱ０〜ＤＱ２およびデータストローブ信号ＤＱＳを受信する受信回路、１２は受信回路１１に設けられた位相比較回路である。
【０００４】
また、半導体集積回路２において、１３は半導体集積回路１が送信したデータ信号ＤＱ０〜ＤＱ２およびデータストローブ信号ＤＱＳを受信する受信回路、１４は受信回路１３に設けられた位相比較回路、１５は半導体集積回路１に対してデータ信号ＤＱ０〜ＤＱ２およびクロック信号ＤＳＱを送信する送信回路、１６は送信回路１５に設けられた位相調整回路である。
【０００５】
第１従来例の電子装置では、タイミング調整時に、半導体集積回路１から半導体集積回路２にタイミング調整用のデータ信号ＤＱ０〜ＤＱ２およびデータストローブ信号ＤＱＳが送信され、半導体集積回路２の位相比較回路１４において、データ信号ＤＱ０〜ＤＱ２とデータストローブ信号ＤＱＳの位相が比較され、その比較結果が制御信号線７を介して半導体集積回路１の位相調整回路１０に渡され、位相調整回路１０において、半導体集積回路２の受信回路１３がデータストローブ信号ＤＱＳを元にデータ信号ＤＱ０〜ＤＱ２の各ビットのデータ信号をセンターポイントで取り込むことができるように、半導体集積回路１の送信回路９が送信するデータ信号ＤＱ０〜ＤＱ２の位相調整が行われる。
【０００６】
次に、半導体集積回路２から半導体集積回路１にタイミング調整用のデータ信号ＤＱ０〜ＤＱ２およびデータストローブ信号ＤＱＳが送信され、半導体集積回路１の位相比較回路１２において、データ信号ＤＱ０〜ＤＱ２とデータストローブ信号ＤＱＳの位相が比較され、その比較結果が制御信号線８を介して半導体集積回路２の位相調整回路１６に渡され、位相調整回路１６において、半導体集積回路１の受信回路１１がデータストローブ信号ＤＱＳを元にデータ信号ＤＱ０〜ＤＱ２の各ビットのデータ信号をセンターポイントで取り込むことができるように、半導体集積回路２の送信回路１５が送信するデータ信号ＤＱ０〜ＤＱ２の位相調整が行われる。
【０００７】
（第２従来例）
図２１は第２従来例の電子装置の一部分の回路図である。図２１中、２１、２２は半導体集積回路、２３はデータ信号ＤＱ０の伝送に使用されるＤＱ０信号線、２４はデータ信号ＤＱ１の伝送に使用されるＤＱ１信号線、２５はデータ信号ＤＱ２の伝送に使用されるＤＱ２信号線、２６はデータストローブ信号ＤＱＳの伝送に使用されるＤＱＳ信号線である。
【０００８】
また、半導体集積回路２１において、２７は半導体集積回路２２に対してデータ信号ＤＱ０〜ＤＱ２およびデータストローブ信号ＤＱＳを送信する送信回路、２８は半導体集積回路２２が送信したデータ信号ＤＱ０〜ＤＱ２およびデータストローブ信号ＤＱＳを受信する受信回路、２９は受信回路２８に設けられた位相比較回路、３０は受信回路２８に設けられた位相調整回路である。
【０００９】
また、半導体集積回路２２において、３１は半導体集積回路２１が送信したデータ信号ＤＱ０〜ＤＱ２およびデータストローブ信号ＤＱＳを受信する受信回路、３２は受信回路３１に設けられた位相比較回路、３３は受信回路３１に設けられた位相調整回路、３４は半導体集積回路２１に対してデータ信号ＤＱ０〜ＤＱ２およびデータストローブ信号ＤＱＳを送信する送信回路である。
【００１０】
第２従来例の電子装置では、タイミング調整時に、半導体集積回路２１から半導体集積回路２２にデータ信号ＤＱ０〜ＤＱ２およびデータストローブ信号ＤＱＳが送信され、半導体集積回路２２の位相比較回路３２において、データ信号ＤＱ０〜ＤＱ２とデータストローブ信号ＤＱＳの位相が比較され、その比較結果を元に、位相調整回路３３において、受信回路３１がデータストローブ信号ＤＱＳを元にデータ信号ＤＱ０〜ＤＱ２の各ビットのデータ信号をセンターポイントで取り込むことができるように、データ信号ＤＱ０〜ＤＱ２の位相調整が行われる。
【００１１】
次に、半導体集積回路２２から半導体集積回路２１にデータ信号ＤＱ０〜ＤＱ２およびデータストローブ信号ＤＱＳが送信され、半導体集積回路２１の位相比較回路２９において、データ信号ＤＱ０〜ＤＱ２とデータストローブ信号ＤＱＳの位相が比較され、その比較結果を元に、位相調整回路３０において、受信回路２８がデータストローブ信号ＤＱＳを元にデータ信号ＤＱ０〜ＤＱ２の各ビットのデータ信号をセンターポイントで取り込むことができるように、データ信号ＤＱ０〜ＤＱ２の位相調整が行われる。
【特許文献１】特開平７−８４９４６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
図２０に示す第１従来例の電子装置においては、２個の位相比較回路１２、１４と２個の位相調整回路１０、１６が必要となり、また、位相比較回路１４による比較結果を位相調整回路１０にフィードバックするための制御信号線７と、位相比較回路１２による比較結果を位相調整回路１６にフィードバックするための制御信号線８が必要となる。
【００１３】
図２１に示す第２従来例の電子装置においては、図２０に示す第１従来例の電子装置が必要としている制御信号線７、８を必要としないが、２個の位相比較回路２９、３２と２個の位相調整回路３０、３３が必要となる。
【００１４】
本発明は、かかる点に鑑み、通信相手の半導体集積回路に位相比較回路および位相調整回路を設けなくとも、通信相手の半導体集積回路がデータ信号の取り込みタイミングを知らせるクロック信号を元にデータ信号を良好に受信することができるようにした半導体集積回路を提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明の半導体集積回路は、データ信号と該データ信号の取り込みタイミングを知らせるクロック信号の送受信を行うものであり、受信データ信号と受信クロック信号の位相を比較し、該比較結果を元に、送信データ信号の送信クロック信号に対する位相を調整するタイミング最適化回路を備えるものである。
【発明の効果】
【００１６】
本発明の半導体集積回路によれば、受信データ信号と受信クロック信号の位相を比較し、該比較結果を元に、送信データ信号の送信クロック信号に対する位相を調整するタイミング最適化回路を備えているので、通信相手の半導体集積回路に位相比較回路および位相調整回路を設けなくとも、通信相手の半導体集積回路は、クロック信号を元にデータ信号を良好に受信することができる。
【発明を実施するための最良の形態】
【００１７】
図１は本発明の一実施形態であるメモリコントローラを備える電子装置の一例の一部分の回路図である。図１中、４１は本発明の一実施形態であるメモリコントローラ、４２はメモリ、４３はデータ信号ＤＱ０の伝送に使用するＤＱ０信号線、４４はデータ信号ＤＱ１の伝送に使用するＤＱ１信号線、４５はデータ信号ＤＱ２の伝送に使用するＤＱ２信号線、４６はデータ信号ＤＱ０〜ＤＱ２の取り込みタイミングを知らせるクロック信号であるデータストローブ信号ＤＱＳの伝送に使用するＤＱＳ信号線である。
【００１８】
本例では、データストローブ信号ＤＱＳは、Ｈレベル期間（１レベル期間）とＬレベル期間（０レベル期間）を同一長とする周期が一定の信号とされ、メモリコントローラ４１およびメモリ４２においては、データ信号ＤＱ０〜ＤＱ２の各ビットのデータ信号の取り込みは、データストローブ信号ＤＱＳの立ち上がりタイミングと立ち下がりタイミングとで行われる。
【００１９】
メモリコントローラ４１において、４７はデータストローブ信号ＤＱＳの送受信を行うＤＱＳ送受信回路、４８はデータ信号ＤＱ０の送受信を行うＤＱ０送受信回路、４９はデータ信号ＤＱ１の送受信を行うＤＱ１送受信回路、５０はデータ信号ＤＱ２の送受信を行うＤＱ２送受信回路、５１はタイミング最適化回路であり、その他の回路部は図示を省略している。
【００２０】
タイミング最適化回路５１は、ＤＱ０送受信回路４８、ＤＱ１送受信回路４９およびＤＱ２送受信回路５０における受信タイミングおよび送信タイミングを調整するものであるが、受信タイミング調整は、メモリ４２が送信したデータ信号ＤＱ０〜ＤＱ２の各ビットのデータ信号をセンターポイントで取り込むことができるようにするものであり、送信タイミング調整は、メモリ４２が、メモリコントローラ４１が送信したデータ信号ＤＱ０〜ＤＱ２の各ビットのデータ信号をデータストローブ信号ＤＱＳを元にセンターポイントで取り込むことができるようにするものである。
【００２１】
また、５２はデータストローブ信号ＤＱＳを入出力するためのＤＱＳ入出力端子、５３はデータ信号ＤＱ０を入出力するためのＤＱ０入出力端子、５４はデータ信号ＤＱ１を入出力するためのＤＱ１入出力端子、５５はデータ信号ＤＱ２を入出力するためのＤＱ２入出力端子である。
【００２２】
メモリ４２において、５６はデータストローブ信号ＤＱＳの送受信を行うＤＱＳ送受信回路、５７はデータ信号ＤＱ０の送受信を行うＤＱ０送受信回路、５８はデータ信号ＤＱ１の送受信を行うＤＱ１送受信回路、５９はデータ信号ＤＱ２の送受信を行うＤＱ２送受信回路であり、その他の回路部は図示を省略している。
【００２３】
また、６０はデータストローブ信号ＤＱＳを入出力するためのＤＱＳ入出力端子、６１はデータ信号ＤＱ０を入出力するためのＤＱ０入出力端子、６２はデータ信号ＤＱ１を入出力するためのＤＱ１入出力端子、６３はデータ信号ＤＱ２を入出力するためのＤＱ２入出力端子である。
【００２４】
図２はＤＱＳ送受信回路４７の回路図である。ＤＱＳ送受信回路４７は、バッファ７１と、セレクタ７２と、スリーステイトバッファ７３を備えている。バッファ７１は、メモリ４２が送信したデータストローブ信号ＤＱＳを入力して増幅するものであり、その入力端子をＤＱＳ入出力端子５２に接続している。
【００２５】
セレクタ７２は、メモリ４２に送信するデータストローブ信号ＤＱＳを生成するものであり、第１の入力端子に０レベル信号（Ｌレベル信号）が与えられ、第２の入力端子に１レベル信号（Ｈレベル信号）が与えられ、選択制御端子に内部クロック信号ＴＣ１が与えられ、内部クロック信号ＴＣ１＝“１”のときは、第１の入力端子に与えられる０レベル信号を選択し、内部クロック信号ＴＣ１＝“０”のときは、第２の入力端子に与えられる１レベル信号を選択する。
【００２６】
スリーステイトバッファ７３は、セレクタ７２が出力するデータストローブ信号ＤＱＳを増幅してメモリ４２に送信するものであり、その入力端子をセレクタ７２の出力端子に接続し、その出力端子をＤＱＳ入出力端子５２に接続し、制御端子に制御信号ＳＣが与えられる。
【００２７】
制御信号ＳＣは、メモリ４２からのデータリード時には“０”、メモリ４２へのデータライト時には“１”となるものであり、スリーステイトバッファ７３は、制御信号ＳＣ＝“１”のときは、セレクタ７２が出力するデータストローブ信号ＤＱＳを増幅して出力し、制御信号ＳＣ＝“０”のときは、出力状態をフローティング（高インピーダンス）とする。
【００２８】
図３はＤＱ０送受信回路４８の回路図である。ＤＱ０送受信回路４８は、ＤＱ０受信回路８１とＤＱ０送信回路８２を備えている。ＤＱ０受信回路８１は、メモリ４２が送信したデータ信号ＤＱ０を受信するものであり、バッファ８３と、Ｄフリップフロップ８４、８５を備えている。バッファ８３は、メモリ４２が送信したデータ信号ＤＱ０を入力して増幅するものであり、その入力端子をＤＱ０入出力端子５３に接続している。
【００２９】
Ｄフリップフロップ８４は、バッファ８３が出力するデータ信号ＤＱ０を内部クロック信号ＴＣ１の立ち上がりタイミングに同期して取り込むものであり、データ入力端子Ｄをバッファ８３の出力端子に接続し、Ｈアクティブのクロック入力端子ＣＫに内部クロック信号ＴＣ１が与えられ、正相出力端子Ｑに内部クロック信号ＴＣ１の立ち上がりタイミングで取り込んだ受信データ信号ＲＤＱ０＿ＲＩＳＥを出力するように構成されている。
【００３０】
Ｄフリップフロップ８５は、バッファ８３が出力するデータ信号ＤＱ０を内部クロック信号ＴＣ１の立ち下がりタイミングに同期して取り込むものであり、データ入力端子Ｄをバッファ８３の出力端子に接続し、Ｌアクティブのクロック入力端子ＣＫに内部クロック信号ＴＣ１が与えられ、正相出力端子Ｑに内部クロック信号ＴＣ１の立ち下がりタイミングで取り込んだ受信データ信号ＲＤＱ０＿ＦＡＬＬを出力するように構成される。
【００３１】
ＤＱ０送信回路８２は、メモリ４２に対してデータ信号ＤＱ０を送信するものであり、Ｄフリップフロップ８６、８７と、セレクタ８８と、スリーステイトバッファ８９を備えている。
【００３２】
Ｄフリップフロップ８６は、所定の内部回路が出力する送信データ信号ＷＤＱ０＿ＲＩＳＥを内部クロック信号ＴＣ２の立ち上がりタイミングに同期して取り込むものであり、データ入力端子Ｄに送信データ信号ＷＤＱ０＿ＲＩＳＥが与えられ、Ｈアクティブのクロック入力端子ＣＫに内部クロック信号ＴＣ２が与えられ、正相出力端子Ｑに内部クロック信号ＴＣ２の立ち上がりタイミングで取り込んだ送信データ信号ＷＤＱ０＿ＲＩＳＥを出力するように構成される。
【００３３】
Ｄフリップフロップ８７は、所定の内部回路が出力する送信データ信号ＷＤＱ０＿ＦＡＬＬを内部クロック信号ＴＣ２の立ち下がりタイミングに同期して取り込むものであり、データ入力端子Ｄに送信データ信号ＷＤＱ０＿ＦＡＬＬが与えられ、Ｌアクティブのクロック入力端子ＣＫに内部クロック信号ＴＣ２が与えられ、正相出力端子Ｑに送信データ信号ＷＤＱ０＿ＦＡＬＬを出力するように構成される。
【００３４】
セレクタ８８は、Ｄフリップフロップ８６が出力する送信データ信号ＷＤＱ０＿ＲＩＳＥとＤフリップフロップ８７が出力する送信データ信号ＷＤＱ０＿ＦＡＬＬとを交互に選択して、メモリ４２に送信するデータ信号ＤＱ０を生成するものであり、第１の入力端子をＤフリップフロップ８６の正相出力端子Ｑに接続し、第２の入力端子をＤフリップフロップ８７の正相出力端子Ｑに接続し、選択制御端子に内部クロック信号ＴＣ２が与えられるように構成される。
【００３５】
セレクタ８８は、内部クロック信号ＴＣ２＝“１”の場合には、Ｄフリップフロップ８６が出力する送信データ信号ＷＤＱ０＿ＲＩＳＥを選択し、内部クロック信号ＴＣ２＝“０”の場合には、Ｄフリップフロップ８７が出力する送信データ信号ＷＤＱ０＿ＦＡＬＬを選択する。
【００３６】
スリーステイトバッファ８９は、セレクタ８８が出力するデータ信号ＤＱ０を増幅してＤＱ０入出力端子５３を介してメモリ４２に送信するものであり、その入力端子をセレクタ８８の出力端子に接続し、その出力端子をＤＱ０入出力端子５３に接続し、制御端子に制御信号ＳＣが与えられ、制御信号ＳＣ＝“１”のとき（ライト時）は、セレクタ８８が出力するデータ信号ＤＱ０を増幅して出力し、制御信号ＳＣ＝“０”のとき（リード時）は、出力状態をフローティングとする。
【００３７】
図４はＤＱ１送受信回路４９の回路図である。ＤＱ１送受信回路４９は、ＤＱ１受信回路９１とＤＱ１送信回路９２を備えている。ＤＱ１受信回路９１は、メモリ４２が送信したデータ信号ＤＱ１を受信するものであり、バッファ９３と、Ｄフリップフロップ９４、９５を備えている。バッファ９３は、メモリ４２が送信したデータ信号ＤＱ１を入力して増幅するものであり、その入力端子をＤＱ１入出力端子５４に接続している。
【００３８】
Ｄフリップフロップ９４は、バッファ９３が出力するデータ信号ＤＱ１を内部クロック信号ＴＣ３の立ち上がりタイミングに同期して取り込むものであり、データ入力端子Ｄをバッファ９３の出力端子に接続し、Ｈアクティブのクロック入力端子ＣＫに内部クロック信号ＴＣ３が与えられ、正相出力端子Ｑに内部クロック信号ＴＣ３の立ち上がりタイミングで取り込んだ受信データ信号ＲＤＱ１＿ＲＩＳＥを出力するように構成されている。
【００３９】
Ｄフリップフロップ９５は、バッファ９３が出力するデータ信号ＤＱ１を内部クロック信号ＴＣ３の立ち下がりタイミングに同期して取り込むものであり、データ入力端子Ｄをバッファ９３の出力端子に接続し、Ｌアクティブのクロック入力端子ＣＫに内部クロック信号ＴＣ３が与えられ、正相出力端子Ｑに内部クロック信号ＴＣ３の立ち下がりタイミングで取り込んだ受信データ信号ＲＤＱ１＿ＦＡＬＬを出力するように構成される。
【００４０】
ＤＱ１送信回路９２は、メモリ４２に対してデータ信号ＤＱ１を送信するものであり、Ｄフリップフロップ９６、９７と、セレクタ９８と、スリーステイトバッファ９９を備えている。
【００４１】
Ｄフリップフロップ９６は、所定の内部回路が出力する送信データ信号ＷＤＱ１＿ＲＩＳＥを内部クロック信号ＴＣ４の立ち上がりタイミングに同期して取り込むものであり、データ入力端子Ｄに送信データ信号ＷＤＱ１＿ＲＩＳＥが与えられ、Ｈアクティブのクロック入力端子ＣＫに内部クロック信号ＴＣ４が与えられ、正相出力端子Ｑに内部クロック信号ＴＣ４の立ち上がりタイミングで取り込んだ送信データ信号ＷＤＱ１＿ＲＩＳＥを出力するように構成される。
【００４２】
Ｄフリップフロップ９７は、所定の内部回路が出力する送信データ信号ＷＤＱ１＿ＦＡＬＬを内部クロック信号ＴＣ４の立ち下がりタイミングに同期して取り込むものであり、データ入力端子Ｄに送信データ信号ＷＤＱ１＿ＦＡＬＬが与えられ、Ｌアクティブのクロック入力端子ＣＫに内部クロック信号ＴＣ４が与えられ、正相出力端子Ｑに送信データ信号ＷＤＱ１＿ＦＡＬＬを出力するように構成される。
【００４３】
セレクタ９８は、Ｄフリップフロップ９６が出力する送信データ信号ＷＤＱ１＿ＲＩＳＥとＤフリップフロップ９７が出力する送信データ信号ＷＤＱ１＿ＦＡＬＬとを交互に選択して、メモリ４２に送信するデータ信号ＤＱ１を生成するものであり、第１の入力端子をＤフリップフロップ９６の正相出力端子Ｑに接続し、第２の入力端子をＤフリップフロップ９７の正相出力端子Ｑに接続し、選択制御端子に内部クロック信号ＴＣ４が与えられるように構成される。
【００４４】
セレクタ９８は、内部クロック信号ＴＣ４＝“１”の場合には、Ｄフリップフロップ９６が出力する送信データ信号ＷＤＱ１＿ＲＩＳＥを選択し、内部クロック信号ＴＣ４＝“０”の場合には、Ｄフリップフロップ９７が出力する送信データ信号ＷＤＱ１＿ＦＡＬＬを選択する。
【００４５】
スリーステイトバッファ９９は、セレクタ９８が出力するデータ信号ＤＱ１を増幅してＤＱ１入出力端子５４を介してメモリ４２に送信するものであり、その入力端子をセレクタ９８の出力端子に接続し、その出力端子をＤＱ１入出力端子５４に接続し、制御端子に制御信号ＳＣが与えられ、制御信号ＳＣ＝“１”のとき（ライト時）は、セレクタ９８が出力するデータ信号ＤＱ１を増幅して出力し、制御信号ＳＣ＝“０”のとき（リード時）は、出力状態をフローティングとする。
【００４６】
図５はＤＱ２送受信回路５０の回路図である。ＤＱ２送受信回路５０は、ＤＱ２受信回路１０１とＤＱ２送信回路１０２を備えている。ＤＱ２受信回路１０１は、メモリ４２が送信したデータ信号ＤＱ２を受信するものであり、バッファ１０３と、Ｄフリップフロップ１０４、１０５を備えている。バッファ１０３は、メモリ４２が送信したデータ信号ＤＱ２を入力して増幅するものであり、その入力端子をＤＱ２入出力端子５５に接続している。
【００４７】
Ｄフリップフロップ１０４は、バッファ１０３が出力するデータ信号ＤＱ２を内部クロック信号ＴＣ５の立ち上がりタイミングに同期して取り込むものであり、データ入力端子Ｄをバッファ１０３の出力端子に接続し、Ｈアクティブのクロック入力端子ＣＫに内部クロック信号ＴＣ５が与えられ、正相出力端子Ｑに内部クロック信号ＴＣ５の立ち上がりタイミングで取り込んだ受信データ信号ＲＤＱ２＿ＲＩＳＥを出力するように構成されている。
【００４８】
Ｄフリップフロップ１０５は、バッファ１０３が出力するデータ信号ＤＱ２を内部クロック信号ＴＣ５の立ち下がりタイミングに同期して取り込むものであり、データ入力端子Ｄをバッファ１０３の出力端子に接続し、Ｌアクティブのクロック入力端子ＣＫに内部クロック信号ＴＣ５が与えられ、正相出力端子Ｑに内部クロック信号ＴＣ５の立ち下がりタイミングで取り込んだ受信データ信号ＲＤＱ２＿ＦＡＬＬを出力するように構成される。
【００４９】
ＤＱ２送信回路１０２は、メモリ４２に対してデータ信号ＤＱ２を送信するものであり、Ｄフリップフロップ１０６、１０７と、セレクタ１０８と、スリーステイトバッファ１０９を備えている。
【００５０】
Ｄフリップフロップ１０６は、所定の内部回路が出力する送信データ信号ＷＤＱ２＿ＲＩＳＥを内部クロック信号ＴＣ６の立ち上がりタイミングに同期して取り込むものであり、データ入力端子Ｄに送信データ信号ＷＤＱ２＿ＲＩＳＥが与えられ、Ｈアクティブのクロック入力端子ＣＫに内部クロック信号ＴＣ６が与えられ、正相出力端子Ｑに内部クロック信号ＴＣ６の立ち上がりタイミングで取り込んだ送信データ信号ＷＤＱ２＿ＲＩＳＥを出力するように構成される。
【００５１】
Ｄフリップフロップ１０７は、所定の内部回路が出力する送信データ信号ＷＤＱ２＿ＦＡＬＬを内部クロック信号ＴＣ６の立ち下がりタイミングに同期して取り込むものであり、データ入力端子Ｄに送信データ信号ＷＤＱ２＿ＦＡＬＬが与えられ、Ｌアクティブのクロック入力端子ＣＫに内部クロック信号ＴＣ６が与えられ、正相出力端子Ｑに送信データ信号ＷＤＱ２＿ＦＡＬＬを出力するように構成される。
【００５２】
セレクタ１０８は、Ｄフリップフロップ１０６が出力する送信データ信号ＷＤＱ２＿ＲＩＳＥとＤフリップフロップ１０７が出力する送信データ信号ＷＤＱ２＿ＦＡＬＬとを交互に選択して、メモリ４２に送信するデータ信号ＤＱ２を生成するものであり、第１の入力端子をＤフリップフロップ１０６の正相出力端子Ｑに接続し、第２の入力端子をＤフリップフロップ１０７の正相出力端子Ｑに接続し、選択制御端子に内部クロック信号ＴＣ６が与えられるように構成される。
【００５３】
セレクタ１０８は、内部クロック信号ＴＣ６＝“１”の場合には、Ｄフリップフロップ１０６が出力する送信データ信号ＷＤＱ２＿ＲＩＳＥを選択し、内部クロック信号ＴＣ６＝“０”の場合には、Ｄフリップフロップ１０７が出力する送信データ信号ＷＤＱ２＿ＦＡＬＬを選択する。
【００５４】
スリーステイトバッファ１０９は、セレクタ１０８が出力するデータ信号ＤＱ２を増幅してＤＱ２入出力端子５５を介してメモリ４２に送信するものであり、その入力端子をセレクタ１０８の出力端子に接続し、その出力端子をＤＱ２入出力端子５５に接続し、制御端子に制御信号ＳＣが与えられ、制御信号ＳＣ＝“１”のとき（ライト時）は、セレクタ１０８が出力するデータ信号ＤＱ２を増幅して出力し、制御信号ＳＣ＝“０”のとき（リード時）は、出力状態をフローティングとする。
【００５５】
図６はタイミング最適化回路５１の回路図である。タイミング最適化回路５１は、セレクタ１１１と、ＤＬＬ（遅延同期ループ）回路１１２と、ＤＱ０エッジ検出回路１１３と、ＤＱ１エッジ検出回路１１４と、ＤＱ２エッジ検出回路１１５と、制御回路１１６を備えている。
【００５６】
セレクタ１１１は、ＤＱＳ送受信回路４７のバッファ７１が出力するデータストローブ信号ＤＱＳ又はメモリコントローラ４１の内部クロック信号ＩＣＬＫを選択して出力するものであり、第１の入力端子にバッファ７１が出力するデータストローブ信号ＤＱＳが与えられ、第２の入力端子に内部クロック信号ＩＣＬＫが与えられ、選択制御端子に制御信号ＳＣが与えられる。内部クロック信号ＩＣＬＫは、データストローブ信号ＤＱＳと同一周波数、同一波形のクロック信号である。
【００５７】
セレクタ１１１は、制御信号ＳＣ＝“０”のとき（リード時）には、第１の入力端子に与えられるデータストローブ信号ＤＱＳを選択し、制御信号ＳＣ＝“１”のとき（ライト時）には、第２の入力端子に与えられる内部クロック信号ＩＣＬＫを選択する。
【００５８】
ＤＬＬ回路１１２は、セレクタ１１１が出力するデータストローブ信号ＤＱＳ又は内部クロック信号ＩＣＬＫを入力し、制御回路１１６に制御されて、タイミング調整用の内部クロック信号ＴＣ１〜ＴＣ６を出力するものである。
【００５９】
ＤＬＬ回路１１２において、１１７はセレクタ１１１が出力するデータストローブ信号ＤＱＳ又は内部クロック信号ＩＣＬＫを入力するためのＤＱＳ／ＩＣＬＫ入力端子、１１８は制御回路１１６が出力するＤＬＬ制御信号ＤＬＬＣを入力するためのＤＬＬＣ入力端子群である。
【００６０】
また、１１９は内部クロック信号ＴＣ１が出力されるＴＣ１出力端子、１２０は内部クロック信号ＴＣ２が出力されるＴＣ２出力端子、１２１は内部クロック信号ＴＣ３が出力されるＴＣ３出力端子、１２２は内部クロック信号ＴＣ４が出力されるＴＣ４出力端子、１２３は内部クロック信号ＴＣ５が出力されるＴＣ５出力端子、１２４は内部クロック信号ＴＣ６が出力されるＴＣ６出力端子である。
【００６１】
ＤＱ０エッジ検出回路１１３は、受信したタイミング調整用のデータ信号ＤＱ０のエッジを検出するものであり、ＤＱ０受信回路８１が備えるバッファ８３およびＤフリップフロップ８４をＤＱ０受信回路８１とで共有すると共に、Ｄフリップフロップ１２５と、ＡＮＤ回路１２６を設けて構成されている。
【００６２】
Ｄフリップフロップ１２５は、バッファ８３が出力するデータ信号ＤＱ０を内部クロック信号ＴＣ２の立ち上がりタイミングに同期して取り込むものであり、データ入力端子Ｄをバッファ８３の出力端子に接続し、Ｈアクティブのクロック入力端子ＣＫをＤＬＬ回路１１２のＴＣ２出力端子１２０に接続している。
【００６３】
ＡＮＤ回路１２６は、Ｄフリップフロップ８４、１２５の出力信号を入力して、データ信号ＤＱ０のエッジを検出してＤＱ０エッジ検出信号ＥＤ０を出力するものであり、Ｌアクティブの入力端子をＤフリップフロップ８４の正相出力端子Ｑに接続し、Ｈアクティブの入力端子をＤフリップフロップ１２５の正相出力端子Ｑに接続し、エッジ検出信号ＥＤ０を制御回路１１６に与えるように構成される。
【００６４】
ＤＱ１エッジ検出回路１１４は、受信したタイミング調整用のデータ信号ＤＱ１のエッジを検出するものであり、ＤＱ１受信回路９１が備えるバッファ９３およびＤフリップフロップ９４をＤＱ１受信回路９１とで共有すると共に、Ｄフリップフロップ１２７と、ＡＮＤ回路１２８を設けて構成されている。
【００６５】
Ｄフリップフロップ１２７は、バッファ９３が出力するデータ信号ＤＱ１を内部クロック信号ＴＣ４の立ち上がりタイミングに同期して取り込むものであり、データ入力端子Ｄをバッファ９３の出力端子に接続し、Ｈアクティブのクロック入力端子ＣＫをＤＬＬ回路１１２のＴＣ４出力端子１２２に接続している。
【００６６】
ＡＮＤ回路１２８は、Ｄフリップフロップ９４、１２７の出力信号を入力して、データ信号ＤＱ１のエッジを検出してＤＱ１エッジ検出信号ＥＤ１を出力するものであり、Ｌアクティブの入力端子をＤフリップフロップ９４の正相出力端子Ｑに接続し、Ｈアクティブの入力端子をＤフリップフロップ１２７の正相出力端子Ｑに接続し、エッジ検出信号ＥＤ１を制御回路１１６に与えるように構成される。
【００６７】
ＤＱ２エッジ検出回路１１５は、受信したタイミング調整用のデータ信号ＤＱ２のエッジを検出するものであり、ＤＱ２受信回路１０１が備えるバッファ１０３およびＤフリップフロップ１０４をＤＱ２受信回路１０１とで共有すると共に、Ｄフリップフロップ１２９と、ＡＮＤ回路１３０を設けて構成されている。
【００６８】
Ｄフリップフロップ１２９は、バッファ１０３が出力するデータ信号ＤＱ２を内部クロック信号ＴＣ６の立ち上がりタイミングに同期して取り込むものであり、データ入力端子Ｄをバッファ１０３の出力端子に接続し、Ｈアクティブのクロック入力端子ＣＫをＤＬＬ回路１１２のＴＣ６出力端子１２４に接続している。
【００６９】
ＡＮＤ回路１３０は、Ｄフリップフロップ１０４、１２９の出力信号を入力して、データ信号ＤＱ２のエッジを検出してＤＱ２エッジ検出信号ＥＤ２を出力するものであり、Ｌアクティブの入力端子をＤフリップフロップ１０４の正相出力端子Ｑに接続し、Ｈアクティブの入力端子をＤフリップフロップ１２９の正相出力端子Ｑに接続し、エッジ検出信号ＥＤ２を制御回路１１６に与えるように構成される。
【００７０】
図７はＤＬＬ回路１１２の回路図である。ＤＬＬ回路１１２は、遅延回路１４１と選択回路１４２を備えている。遅延回路１４１は、ＤＱＳ／ＩＣＬＫ入力端子１１７から入力されるデータストローブ信号ＤＱＳ又は内部クロック信号ＩＣＬＫを遅延するものであり、遅延値を同一とするバッファ１４４−１〜１４４−ｎを縦列接続し、バッファ１４４−１の入力端子をＤＱＳ／ＩＣＬＫ入力端子１１７に接続して構成されている。
【００７１】
なお、図７では、バッファ１４４−２、１４４−ｍ間に縦列接続されているバッファ１４４−３〜１４４−（ｍ−１）およびバッファ１４４−ｍ、１４４−ｎ間に縦列接続されているバッファ１４４−（ｍ＋１）〜１４４−（ｎ−１）は図示を省略している。また、遅延回路１４１は、バッファ１４４−ｍから出力されるクロック信号Ｓmの位相がＤＱＳ／ＩＣＬＫ入力端子１１７から入力されるデータストローブ信号ＤＱＳ又は内部クロック信号ＩＣＬＫよりも３６０°遅れるように遅延回路１４１は構成される。
【００７２】
選択回路１４２は、ＤＱＳ／ＩＣＬＫ入力端子１１７から入力されるデータストローブ信号ＤＱＳ又は内部クロック信号ＩＣＬＫと、バッファ１４４−１〜バッファ１４４−ｎが出力するクロック信号Ｓ1〜Ｓnを入力し、制御回路１１６が出力するＤＬＬ制御信号ＤＬＬＣにより制御されて、データストローブ信号ＤＱＳ又は内部クロック信号ＩＣＬＫおよびクロック信号Ｓ1〜Ｓnの中から、内部クロック信号ＴＣ１〜ＴＣ６として選択すべきクロック信号を選択するものである。
【００７３】
このように構成されたメモリコントローラ４１は、例えば、図１に示すように、メモリ４２を相手に使用されるが、この場合、図１に示す電子装置を通常動作ノードで動作させる前に、メモリコントローラ４１においては、メモリ４２を相手にタイミング調整が行われる。
【００７４】
メモリコントローラ４１におけるタイミング調整は、タイミング最適化回路５１によりＤＱ０送受信回路４８、ＤＱ１送受信回路４９およびＤＱ２送受信回路５０における受信タイミングおよび送信タイミングを調整することであるが、これらは、メモリ４２にタイミング調整用のデータをライトし、その後、メモリ４２からタイミング調整用のデータをリードし、タイミング調整用のデータに係る受信データ信号ＤＱ０〜ＤＱ２と受信データストローブ信号ＤＱＳの位相を比較し、この比較結果を元に行われる。
【００７５】
前述したように、受信タイミング調整は、メモリ４２が送信したデータ信号ＤＱ０〜ＤＱ２の各ビットのデータ信号をセンターポイントで受信できるようにするための調整であり、送信タイミング調整は、メモリ４２が、メモリコントローラ４１が送信したデータ信号ＤＱ０〜ＤＱ２の各ビットのデータ信号をデータストローブ信号ＤＱＳを元にセンターポイントで受信できるようにするための調整である。
【００７６】
図８〜図１９はメモリコントローラ４１で行われるタイミング調整動作を説明するための図である。図８はタイミング調整用のデータ例を示す図であり、図１に示す電子装置において、メモリ４２を相手にメモリコントローラ４１でタイミング調整を行う場合には、まず、メモリコントローラ４１にメモリ４２に対するライト動作を実行させ、図８に示すように、メモリ４２のメモリ領域１４６の、例えば、アドレス０ｘ０〜０ｘ７にそれぞれ“０００”をライトし、アドレス０ｘ８〜０ｘＦにそれぞれ“１１１”をライトする。
【００７７】
ここで、メモリ４２のアドレス０ｘ０〜０ｘＦの１桁目のデータｂ０は、メモリコントローラ４１からデータ信号ＤＱ０としてメモリ４２に伝送されたデータであり、リード時にはデータ信号ＤＱ０としてメモリコントローラ４１に伝送されるデータである。
【００７８】
また、２桁目のデータｂ１は、メモリコントローラ４１からデータ信号ＤＱ１としてメモリ４２に伝送されたデータであり、リード時にはデータ信号ＤＱ１としてメモリコントローラ４１に伝送されるデータである。
【００７９】
また、３桁目のデータｂ２は、メモリコントローラ４１からデータ信号ＤＱ２としてメモリ４２に伝送されたデータであり、リード時にはデータ信号ＤＱ２としてメモリコントローラ４１に伝送されるデータである。
【００８０】
次に、メモリコントローラ４１においては、制御回路１１６は、制御信号ＳＣ＝“０”とし、ＤＱＳ送受信回路４７、ＤＱ０送受信回路４８、ＤＱ１送受信回路４９およびＤＱ２送受信回路５０を受信可能状態にする。
【００８１】
そして、制御回路１１６は、選択回路１４２を制御し、内部クロック信号ＴＣ１、ＴＣ３、ＴＣ５として、バッファ１４４−ｋが出力するクロック信号Ｓkを選択させると共に、内部クロック信号ＴＣ２、ＴＣ４、ＴＣ６として、バッファ１４４−（ｋ＋１）が出力するクロック信号Ｓk+1を選択させて、メモリ４２のアドレス０ｘ０〜０ｘＦからの１回目のリードを実行する。
【００８２】
次に、制御回路１１６は、選択回路１４２を制御し、内部クロック信号ＴＣ１、ＴＣ３、ＴＣ５として、バッファ１４４−（ｋ＋１）が出力するクロック信号Ｓk+1を選択させると共に、内部クロック信号ＴＣ２、ＴＣ４、ＴＣ６として、バッファ１４４−（ｋ＋２）が出力するクロック信号Ｓk+2を選択させて、メモリ４２のアドレス０ｘ０〜０ｘＦからの２回目のリードを実行する。
【００８３】
以後、制御回路１１６は、選択回路１４２を制御し、内部クロック信号ＴＣ１、ＴＣ３、ＴＣ５として、バッファ１４４−（ｋ＋２）、１４４−（ｋ＋３）、…、１４４−ｐが出力するクロック信号Ｓk+2、Ｓk+3、…、Ｓpを順に選択させると共に、内部クロック信号ＴＣ２、ＴＣ４、ＴＣ６として、バッファ１４４−（ｋ＋３）、１４４−（ｋ＋４）、…、１４４−（ｐ＋１）が出力するクロック信号Ｓk+3、Ｓk+4、…、Ｓp+1を順に選択させて、内部クロック信号ＴＣ１〜ＴＣ６を１バッファ分だけ遅延させる毎に、メモリ４２のアドレス０ｘ０〜０ｘＦからのリードを実行する。なお、前記「ｋ」および「ｐ」の値は、バッファ１４４−１〜１４４−ｎの遅延時間を考慮して任意に決定される。
【００８４】
図９は、ｋ＝ｍ−２、ｐ＝ｍとした場合における選択回路１４２内の接続状態を示しており、（Ａ）はメモリ４２のアドレス０ｘ０〜０ｘＦからの１回目のリード時、（Ｂ）はメモリ４２のアドレス０ｘ０〜０ｘＦからの２回目のリード時、（Ｃ）はメモリ４２のアドレス０ｘ０〜０ｘＦからの３回目のリード時である。
【００８５】
また、図１０は、ｋ＝ｍ−２、ｐ＝ｍとした場合のデータストローブ信号ＤＱＳと内部クロック信号ＴＣ１〜ＴＣ６との関係を示しており、（Ａ）はデータストローブ信号ＤＱＳ、（Ｂ）はメモリ４２のアドレス０ｘ０〜０ｘＦからの１回目のリード時の内部クロック信号ＴＣ１〜ＴＣ６、（Ｃ）はメモリ４２のアドレス０ｘ０〜０ｘＦからの２回目のリード時の内部クロック信号ＴＣ１〜ＴＣ６、（Ｄ）はメモリ４２のアドレス０ｘ０〜０ｘＦからの３回目のリード時の内部クロック信号ＴＣ１〜ＴＣ６を示している。
【００８６】
すなわち、メモリ４２のアドレス０ｘ０〜０ｘＦからの１回目のリード時には、制御回路１１６は、選択回路１４２を制御し、図９（Ａ）および図１０（Ｂ）に示すように、内部クロック信号ＴＣ１、ＴＣ３、ＴＣ５として、バッファ１４４−（ｍ−２）が出力するクロック信号Ｓm-2を選択させると共に、内部クロック信号ＴＣ２、ＴＣ４，ＴＣ６として、バッファ１４４−（ｍ−１）が出力するクロック信号Ｓm-1を選択させる。
【００８７】
また、メモリ４２のアドレス０ｘ０〜０ｘＦからの２回目のリード時には、制御回路１１６は、選択回路１４２を制御し、図９（Ｂ）および図１０（Ｃ）に示すように、内部クロック信号ＴＣ１、ＴＣ３、ＴＣ５として、バッファ１４４−（ｍ−１）が出力するクロック信号Ｓm-1を選択させると共に、内部クロック信号ＴＣ２、ＴＣ４、ＴＣ６として、バッファ１４４−ｍが出力するクロック信号Ｓmを選択させる。
【００８８】
また、メモリ４２のアドレス０ｘ０〜０ｘＦからの３回目のリード時には、制御回路１１６は、選択回路１４２を制御し、図９（Ｃ）および図１０（Ｄ）に示すように、内部クロック信号ＴＣ１、ＴＣ３、ＴＣ５として、バッファ１４４−ｍが出力するクロック信号Ｓmを選択させると共に、内部クロック信号ＴＣ２、ＴＣ４、ＴＣ６として、バッファ１４４−（ｍ＋１）が出力するクロック信号Ｓm+1を選択させる。
【００８９】
図１１〜図１７はメモリコントローラ４１で行われるタイミング調整動作を具体的に説明するための図であるが、これら図１１〜図１７では、説明の都合上、バッファ１１４−１〜１１４−ｎの各遅延時間は、データストローブ信号ＤＱＳおよび内部クロック信号ＩＣＬＫの１周期の１／８としている。
【００９０】
図１１はＤＱ０エッジ検出回路１１３におけるデータ信号ＤＱ０のエッジ検出動作例を示しており、（Ａ）はデータストローブ信号ＤＱＳ、（Ｂ）はデータ信号ＤＱ０、（Ｃ）はメモリ４２のアドレス０ｘ０〜０ｘＦからの１回目のリード時の内部クロック信号ＴＣ１、ＴＣ２、Ｄフリップフロップ８４、１２５の出力信号およびＤＱ０エッジ検出信号ＥＤ０、（Ｄ）はメモリ４２のアドレス０ｘ０〜０ｘＦからの２回目のリード時の内部クロック信号ＴＣ１、ＴＣ２、Ｄフリップフロップ８４、１２５の出力信号およびＤＱ０エッジ検出信号ＥＤ０、（Ｅ）はメモリ４２のアドレス０ｘ０〜０ｘＦからの３回目のリード時の内部クロック信号ＴＣ１、ＴＣ２、Ｄフリップフロップ８４、１２５の出力信号およびＤＱ０エッジ検出信号ＥＤ０を示している。
【００９１】
図１１に示す例は、メモリ４２が送信したデータ信号ＤＱ０の到達がデータストローブ信号ＤＱＳよりも遅延回路１４１のバッファで１バッファ分の遅延時間だけ早い場合（受信データ信号ＤＱ０の位相が受信データストローブ信号ＤＱＳに対して４５°進んでいる場合）を示しており、この場合には、図１１（Ｃ）に示すように、内部クロック信号ＴＣ１＝クロック信号Ｓm-2、内部クロック信号ＴＣ２＝クロック信号Ｓm-1とした場合、すなわち、メモリ４２のアドレス０ｘ０〜０ｘＦの１回目のリード時に、１レベル信号からなるＤＱ０エッジ検出信号ＥＤ０を得ることができる。
【００９２】
換言すれば、内部クロック信号ＴＣ１＝クロック信号Ｓm-2、内部クロック信号ＴＣ２＝クロック信号Ｓm-1とした場合に、ＤＱ０エッジ検出信号ＥＤ０を得た場合には、制御回路１１６は、メモリ４２が送信したデータ信号ＤＱ０の到達がデータストローブ信号ＤＱＳよりも遅延回路１４１のバッファで１バッファ分の遅延時間だけ早い（受信データ信号ＤＱ０の位相が受信データストローブ信号ＤＱＳに対して４５°進んでいる）ということを知ることができ、このようにして、データストローブ信号ＤＱＳとデータ信号ＤＱ０の位相差を検出することができる。
【００９３】
図１２はＤＱ１エッジ検出回路１１４におけるデータ信号ＤＱ１のエッジ検出動作例を示しており、（Ａ）はデータストローブ信号ＤＱＳ、（Ｂ）はデータ信号ＤＱ１、（Ｃ）はメモリ４２のアドレス０ｘ０〜０ｘＦからの１回目のリード時の内部クロック信号ＴＣ３、ＴＣ４、Ｄフリップフロップ９４、１２７の出力信号およびＤＱ１エッジ検出信号ＥＤ１、（Ｄ）はメモリ４２のアドレス０ｘ０〜０ｘＦからの２回目のリード時の内部クロック信号ＴＣ３、ＴＣ４、Ｄフリップフロップ９４、１２７の出力信号およびＤＱ１エッジ検出信号ＥＤ１、（Ｅ）はメモリ４２のアドレス０ｘ０〜０ｘＦからの３回目のリード時の内部クロック信号ＴＣ３、ＴＣ４、Ｄフリップフロップ９４、１２７の出力信号およびＤＱ１エッジ検出信号ＥＤ１を示している。
【００９４】
図１２に示す例は、メモリ４２が送信したデータ信号ＤＱ１の到達がデータストローブ信号ＤＱＳと同時（受信データ信号ＤＱ１の位相が受信データストローブ信号ＤＱＳの位相と同相）の場合を示しており、この場合には、図１２（Ｄ）に示すように、内部クロック信号ＴＣ３＝クロック信号Ｓm-1、内部クロック信号ＴＣ４＝クロック信号Ｓmとした場合、すなわち、メモリ４２のアドレス０ｘ０〜０ｘＦの２回目のリード時に、１レベル信号からなるＤＱ１エッジ検出信号ＥＤ１を得ることができる。
【００９５】
換言すれば、内部クロック信号ＴＣ３＝クロック信号Ｓm-1、内部クロック信号ＴＣ４＝クロック信号Ｓmとした場合に、ＤＱ１エッジ検出信号ＥＤ１を得た場合には、制御回路１１６は、メモリ４２が送信したデータ信号ＤＱ１の到達がデータストローブ信号ＤＱＳと同時（受信データ信号ＤＱ１の位相が受信データストローブ信号ＤＱＳの位相と同相）ということを知ることができ、このようにして、データストローブ信号ＤＱＳとデータ信号ＤＱ１の位相差を検出することができる。
【００９６】
図１３はＤＱ２エッジ検出回路１１５におけるデータ信号ＤＱ２のエッジ検出動作例を示しており、（Ａ）はデータストローブ信号ＤＱＳ、（Ｂ）はデータ信号ＤＱ２、（Ｃ）はメモリ４２のアドレス０ｘ０〜０ｘＦからの１回目のリード時の内部クロック信号ＴＣ５、ＴＣ６、Ｄフリップフロップ１０４、１２９の出力信号およびＤＱ２エッジ検出信号ＥＤ２、（Ｄ）はメモリ４２のアドレス０ｘ０〜０ｘＦからの２回目のリード時の内部クロック信号ＴＣ５、ＴＣ６、Ｄフリップフロップ１０４、１２９の出力信号およびＤＱ２エッジ検出信号ＥＤ２、（Ｅ）はメモリ４２のアドレス０ｘ０〜０ｘＦからの３回目のリード時の内部クロック信号ＴＣ５、ＴＣ６、Ｄフリップフロップ１０４、１２９の出力信号およびＤＱ２エッジ検出信号ＥＤ２を示している。
【００９７】
図１３に示す例は、メモリ４２が送信したデータ信号ＤＱ２の到達がデータストローブ信号ＤＱＳよりも遅延回路１４１のバッファで１バッファ分の遅延時間だけ遅い場合（受信データ信号ＤＱ２の位相が受信データストローブ信号ＤＱＳに対して４５°遅れている場合）を示しており、この場合には、図１３（Ｅ）に示すように、内部クロック信号ＴＣ５＝クロック信号Ｓm、内部クロック信号ＴＣ６＝クロック信号Ｓm+1とした場合、すなわち、メモリ４２のアドレス０ｘ０〜０ｘＦの３回目のリード時に、ＤＱ２エッジ検出信号ＥＤ２を得ることができる。
【００９８】
換言すれば、内部クロック信号ＴＣ５＝クロック信号Ｓm、内部クロック信号ＴＣ６＝クロック信号Ｓm+1とした場合に、ＤＱ２エッジ検出信号ＥＤ２を得た場合には、制御回路１１６は、メモリ４２が送信したデータ信号ＤＱ２の到達がデータストローブ信号ＤＱＳよりも遅延回路１４１のバッファで１バッファ分の遅延時間だけ遅い（受信データ信号ＤＱ２の位相が受信したデータストローブ信号ＤＱＳに対して４５°遅れている）ということを知ることができ、このようにして、データストローブ信号ＤＱＳとデータ信号ＤＱ２の位相差を検出することができる。
【００９９】
なお、図１１〜図１３に示す例の場合には、ＤＱ０信号線４３、ＤＱ１信号線４４、ＤＱ２信号線４５およびＤＱＳ信号線４６の長さは、ＤＱ０信号線４３＜ＤＱ１信号線４４＝ＤＱＳ信号線４６＜ＤＱ２信号線４５となっていることになる。
【０１００】
図１４および図１５は、図１１〜図１３に示すタイミング調整用のデータ信号ＤＱ０〜ＤＱ２のエッジ検出例を前提とした場合に、メモリコントローラ４１で行われる受信タイミング調整を説明するための回路図および波形図である。
【０１０１】
図１５において、（Ａ）はメモリコントローラ４１がメモリ４２から受信したデータストローブ信号ＤＱＳ、（Ｂ）はメモリコントローラ４１がメモリ４２から受信したデータ信号ＤＱ０、（Ｃ）はＤＬＬ回路１１２が出力する内部クロック信号ＴＣ１、（Ｄ）はメモリコントローラ４１がメモリ４２から受信したデータ信号ＤＱ１、（Ｅ）はＤＬＬ回路１１２が出力する内部クロック信号ＴＣ３、（Ｆ）はメモリコントローラ４１がメモリ４２から受信したデータ信号ＤＱ２、（Ｇ）はＤＬＬ回路１１２が出力する内部クロック信号ＴＣ５を示している。
【０１０２】
ここで、図１１〜図１３に示す例においては、メモリ４２が送信したタイミング調整用のデータ信号ＤＱ０〜ＤＱ２のうち、データ信号ＤＱ０は、データストローブ信号ＤＱＳよりも遅延回路１４１のバッファで１バッファ分の遅延時間だけ早くメモリコントローラ４１に到達し、データ信号ＤＱ１は、データストローブ信号ＤＱＳと同時にメモリコントローラ４１に到達し、データ信号ＤＱ２は、データストローブ信号ＤＱＳよりも遅延回路１４１のバッファで１バッファ分の遅延時間だけ遅くメモリコントローラ４１に到達したことが検出されている。
【０１０３】
そこで、この場合には、通常動作モード時におけるメモリ４２からのリード時には、制御回路１１６は、内部クロック信号ＴＣ１＝クロック信号Ｓm+1、内部クロック信号ＴＣ３＝クロック信号Ｓm+2、内部クロック信号ＴＣ５＝クロック信号Ｓm+3となるように、選択回路１４２を制御し、ＤＱ０受信回路８１、ＤＱ１受信回路９１およびＤＱ２受信回路１０１における受信タイミングを調整する。
【０１０４】
このようにすると、図１５に示すように、データ信号ＤＱ０の各ビットのデータ信号については、内部クロック信号ＴＣ１の立ち上がりタイミングと立ち下がりタイミングとで交互にセンターポイントで取り込むことができ、データ信号ＤＱ１の各ビットのデータ信号については、内部クロック信号ＴＣ３の立ち上がりタイミングと立ち下がりタイミングとで交互にセンターポイントで取り込むことができ、データ信号ＤＱ２の各ビットのデータ信号については、内部クロック信号ＴＣ５の立ち上がりタイミングと立ち下がりタイミングとで交互にセンターポイントで取り込むことができる。
【０１０５】
一般的には、データストローブ信号ＤＱＳとデータ信号ＤＱ０の位相差がＷ°（但し、データ信号ＤＱ０が進んでいる場合には、Ｗ°＞０、データ信号ＤＱ０が遅れている場合には、Ｗ°＜０とする。）である場合には、制御回路１１６は、内部クロック信号ＴＣ１として、クロック信号Ｓ1〜Ｓnの中から、データストローブ信号ＤＱＳに対する位相差Ｚ°が、Ｚ°＝９０−Ｗ°（但し、Ｚ°＞０の場合は、内部クロック信号ＴＣ１が進み、Ｚ°＜０の場合は、内部クロック信号ＴＣ１が遅れとする。）を満足するようなクロック信号を選択するように選択回路１４２を制御する。内部クロック信号ＴＣ３、ＴＣ５についても同様である。
【０１０６】
図１６および図１７は、図１１〜図１３に示すタイミング調整用のデータ信号ＤＱ０〜ＤＱ２のエッジ検出例を前提とした場合に、メモリコントローラ４１で行われる送信タイミング調整を説明するための回路図および波形図である。
【０１０７】
図１７において、（Ａ）はメモリコントローラ４１の内部クロック信号ＩＣＬＫ、（Ｂ）はＤＬＬ回路１１２が出力する内部クロック信号ＴＣ１、（Ｃ）はメモリコントローラ４１が送信するデータストローブ信号ＤＱＳ、（Ｄ）はＤＬＬ回路１１２が出力する内部クロック信号ＴＣ２、（Ｅ）はメモリコントローラ４１が送信するデータ信号ＤＱ０、（Ｆ）はＤＬＬ回路１１２が出力する内部クロック信号ＴＣ４、（Ｇ）はメモリコントローラ４１が送信するデータ信号ＤＱ１、（Ｈ）はＤＬＬ回路１１２が出力する内部クロック信号ＴＣ６、（Ｉ）はメモリコントローラ４１が送信するデータ信号ＤＱ２を示している。
【０１０８】
ここで、図１１〜図１３に示す例を前提とする場合には、通常動作モード時におけるメモリ４２へのライト時には、制御回路１１６は、内部クロック信号ＴＣ１＝クロック信号Ｓm、内部クロック信号ＴＣ２＝クロック信号Ｓm+3、内部クロック信号ＴＣ４＝クロック信号Ｓm+2、内部クロック信号ＴＣ６＝クロック信号Ｓm+1となるように選択回路１４２を制御し、ＤＱ０送信回路８２、ＤＱ１送信回路９２およびＤＱ２送信回路１０２における送信タイミングを調整する。
【０１０９】
このようにすると、図１７に示すように、データストローブ信号ＤＱＳとして、内部クロック信号ＩＣＬＫと逆相の信号を得ることができる。また、データ信号ＤＱ０として、データストローブ信号ＤＱＳよりも遅延回路１４１のバッファで１バッファ分の遅延時間だけ早いデータ信号、すなわち、データストローブ信号ＤＱＳよりも位相が４５°だけ進んだデータ信号ＤＱ０を得ることができる。
【０１１０】
また、データ信号ＤＱ１として、データストローブ信号ＤＱＳよりも遅延回路１４１のバッファで２バッファ分の遅延時間だけ早いデータ信号ＤＱ１、すなわち、データストローブ信号ＤＱＳよりも位相が９０°だけ進んだデータ信号ＤＱ１を得ることができる。
【０１１１】
また、データ信号ＤＱ２として、データストローブ信号ＤＱＳよりも遅延回路１４１のバッファで３バッファ分の遅延時間だけ早いデータ信号ＤＱ２、すなわち、データストローブ信号ＤＱＳよりも位相が１３５°だけ進んだデータ信号ＤＱ２を得ることができる。
【０１１２】
ここで、図１１〜図１３に示す例を前提とする場合には、データ信号ＤＱ０は、データストローブ信号ＤＱＳよりも遅延回路１４１のバッファで１バッファ分の遅延時間だけ短い時間でメモリ４２に到達するので、メモリ４２では、データ信号ＤＱ０は、データストローブ信号ＤＱＳに対して９０°だけ位相が進んだものとなり、メモリ４２は、データ信号ＤＱ０の各ビットのデータ信号をデータストローブ信号ＤＱＳの立ち上がりタイミングと立ち下がりタイミングとで交互にセンターポイントで取り込むことができることになる。
【０１１３】
また、データ信号ＤＱ１は、データストローブ信号ＤＱＳと同一時間でメモリ４２に到達するので、メモリ４２では、データ信号ＤＱ１は、データストローブ信号ＤＱＳに対して９０°だけ位相が進んだものとなり、メモリ４２は、データ信号ＤＱ１の各ビットのデータ信号をデータストローブ信号ＤＱＳの立ち上がりタイミングと立ち下がりタイミングとで交互にセンターポイントで取り込むことができることになる。
【０１１４】
また、データ信号ＤＱ２は、データストローブ信号ＤＱＳよりも遅延回路１４１のバッファで１バッファ分の遅延時間だけ長い時間をかけてメモリ４２に到達するので、メモリ４２においては、データ信号ＤＱ２は、データストローブ信号ＤＱＳに対して９０°だけ位相が進んだものとなり、メモリ４２は、データ信号ＤＱ２の各ビットのデータ信号をデータストローブ信号ＤＱＳの立ち上がりタイミングと立ち下がりタイミングとで交互にセンターポイントで取り込むことができることになる。
【０１１５】
一般的には、データストローブ信号ＤＱＳとデータ信号ＤＱ０の位相差がＷ°（但し、データ信号ＤＱ０が進んでいる場合には、Ｗ°＞０、データ信号ＤＱ０が遅れている場合には、Ｗ°＜０とする。）である場合には、制御回路１１６は、内部クロック信号ＴＣ１として、クロック信号Ｓ1〜Ｓnの中から、内部クロック信号ＴＣ１のデータストローブ信号ＤＱＳに対する位相差Ｙ°が、Ｙ°＝９０°＋Ｗ°（但し、Ｙ°＞０の場合には、内部クロック信号ＴＣ１が進み、Ｙ°＜０の場合には、内部クロック信号ＴＣ１が遅れとする。）を満足するようなクロック信号を選択するように選択回路１４２を制御する。内部クロック信号ＴＣ３、ＴＣ５についても同様である。
【０１１６】
以上では、ＤＱ０信号線４３、ＤＱ１信号線４４、ＤＱ２信号線４５およびＤＱＳ信号線４６の長さが、ＤＱ０信号線４３＜ＤＱ１信号線４４＝ＤＱＳ信号線４６＜ＤＱ２信号線４５となっている場合を例にして、メモリコントローラ４１で行われるタイミング調整動作を説明したが、図１８は、ＤＱ０信号線４３、ＤＱ１信号線４４、ＤＱ２信号線４５およびＤＱＳ信号線４６の長さが、ＤＱ２信号線４５＜ＤＱ１信号線４４＝ＤＱＳ信号線４６＜ＤＱ０信号線４３となっている場合を概念的に示している。
【０１１７】
このような場合において、メモリ４２がデータストローブ信号ＤＱＳおよびデータ信号ＤＱ０〜ＤＱ２を同時に送信した場合には、メモリコントローラ４１には、まず、データ信号ＤＱ２が到達し、次に、データストローブ信号ＤＱＳおよびデータ信号ＤＱ１が到達し、次に、データ信号ＤＱ０が到達することになる。
【０１１８】
このような場合においても、メモリコントローラ４１は、タイミング最適化回路５１を備えているので、メモリ４２が送信したデータ信号ＤＱ０〜ＤＱ２の各ビットのデータ信号をセンターポイントで受信できるようにＤＱ０受信回路８１、ＤＱ１受信回路９１およびＤＱ２受信回路１０１における受信タイミングを調整することができる。
【０１１９】
また、図１９に示すように、メモリ４２において、メモリコントローラ４１が送信するデータストローブ信号ＤＱＳのエッジがデータ信号ＤＱ０〜ＤＱ２の各ビットのデータ信号をセンターポイントに位置するようにＤＱ０送信回路８２、ＤＱ１送信回路９２およびＤＱ２送信回路１０２における送信タイミングを調整することができる。
【０１２０】
以上のように、本発明の一実施形態であるメモリコントローラ４１によれば、タイミング最適化回路５１を備え、ＤＱ０送信回路８２、ＤＱ１送信回路９２およびＤＱ２送信回路１０２における送信タイミングを調整し、メモリ４２が、メモリコントローラ４１が送信するデータ信号ＤＱ０〜ＤＱ２の各ビットのデータ信号をセンターポイントで受信できるようにしているので、メモリ４２に位相比較回路および位相調整回路を設けなくとも、メモリ４２は、データストローブ信号ＤＱＳを元に、データ信号ＤＱ０〜ＤＱ２を良好に受信することができると共に、メモリコントローラ４１においては、ＤＱ０受信回路８１、ＤＱ１受信回路９１およびＤＱ２受信回路１０１における受信タイミングを調整し、メモリ４２が送信したデータ信号ＤＱ０〜ＤＱ２の各ビットのデータ信号をセンターポイントで取り込むことができる。
【図面の簡単な説明】
【０１２１】
【図１】本発明の一実施形態であるメモリコントローラを備える電子装置の一例の一部分の回路図である。
【図２】本発明の一実施形態であるメモリコントローラが備えるＤＱＳ送受信回路の回路図である。
【図３】本発明の一実施形態であるメモリコントローラが備えるＤＱ０送受信回路の回路図である。
【図４】本発明の一実施形態であるメモリコントローラが備えるＤＱ１送受信回路の回路図である。
【図５】本発明の一実施形態であるメモリコントローラが備えるＤＱ２送受信回路の回路図である。
【図６】本発明の一実施形態であるメモリコントローラが備えるタイミング最適化回路の回路図である。
【図７】本発明の一実施形態であるメモリコントローラが備えるタイミング最適化回路内のＤＬＬ回路の回路図である。
【図８】本発明の一実施形態であるメモリコントローラで行われるタイミング調整動作を説明するための図である。
【図９】本発明の一実施形態であるメモリコントローラで行われるタイミング調整動作を説明するための図である。
【図１０】本発明の一実施形態であるメモリコントローラで行われるタイミング調整動作を説明するための図である。
【図１１】本発明の一実施形態であるメモリコントローラで行われるタイミング調整動作を説明するための図である。
【図１２】本発明の一実施形態であるメモリコントローラで行われるタイミング調整動作を説明するための図である。
【図１３】本発明の一実施形態であるメモリコントローラで行われるタイミング調整動作を説明するための図である。
【図１４】本発明の一実施形態であるメモリコントローラで行われるタイミング調整動作を説明するための図である。
【図１５】本発明の一実施形態であるメモリコントローラで行われるタイミング調整動作を説明するための図である。
【図１６】本発明の一実施形態であるメモリコントローラで行われるタイミング調整動作を説明するための図である。
【図１７】本発明の一実施形態であるメモリコントローラで行われるタイミング調整動作を説明するための図である。
【図１８】本発明の一実施形態であるメモリコントローラで行われるタイミング調整動作を説明するための図である。
【図１９】本発明の一実施形態であるメモリコントローラで行われるタイミング調整動作を説明するための図である。
【図２０】第１従来例の電子装置の一部分の回路図である。
【図２１】第２従来例の電子装置の一部分の回路図である。
【符号の説明】
【０１２２】
１、２半導体集積回路、３…ＤＱ０信号線、４…ＤＱ１信号線、５…ＤＱ２信号線、６…ＤＱＳ信号線、７、８…制御信号線、９…送信回路、１０…位相調整回路、１１…受信回路、１２…位相比較回路、１３…受信回路、１４…位相比較回路、１５…送信回路、１６…位相調整回路、２１、２２…半導体集積回路、２３…ＤＱ０信号線、２４…ＤＱ１信号線、２５…ＤＱ２信号線、２６…ＤＱＳ信号線、２７…送信回路、２８…受信回路、２９…位相比較回路、３０…位相調整回路、３１…受信回路、３２…位相比較回路、３３…位相調整回路、３４…送信回路、４１…メモリコントローラ（本発明一実施形態）、４２…メモリ、４３…ＤＱ０信号線、４４…ＤＱ１信号線、４５…ＤＱ２信号線、４６…ＤＱＳ信号線、４７…ＤＱＳ送受信回路、４８…ＤＱ０送受信回路、４９…ＤＱ１送受信回路、５０…ＤＱ２送受信回路、５１…タイミング最適化回路、５２…ＤＱＳ入出力端子、５３…ＤＱ０入出力端子、５４…ＤＱ１入出力端子、５５…ＤＱ２入出力端子、５６…ＤＱＳ送受信回路、５７…ＤＱ０送受信回路、５８…ＤＱ１送受信回路、５９…ＤＱ２送受信回路、６０…ＤＱＳ入出力端子、６１…ＤＱ０入出力端子、６２…ＤＱ１入出力端子、６３…ＤＱ２入出力端子、７１…バッファ、７２…セレクタ、７３…スリーステイトバッファ、８１…ＤＱ０受信回路、８２…ＤＱ０送信回路、８３…バッファ、８４〜８７…Ｄフリップフロップ、８８…セレクタ、８９…スリーステイトバッファ、９１…ＤＱ１受信回路、９２…ＤＱ１送信回路、９３…バッファ、９４〜９７…Ｄフリップフロップ、９８…セレクタ、９９…スリーステイトバッファ、１０１…ＤＱ２受信回路、１０２…ＤＱ２送信回路、１０３…バッファ、１０４〜１０７…Ｄフリップフロップ、１０８…セレクタ、１０９…スリーステイトバッファ、１１１…セレクタ、１１２…ＤＬＬ回路、１１３…ＤＱ０エッジ検出回路、１１４…ＤＱ１エッジ検出回路、１１５…ＤＱ２エッジ検出回路、１１６…制御回路、１１７…ＤＱＳ／ＩＣＬＫ入力端子、１１８…ＤＬＬ制御信号入力端子群、１１９〜１２４…内部クロック出力端子、１２５…Ｄフリップフロップ、１２６…ＡＮＤ回路、１２７…Ｄフリップフロップ、１２８…ＡＮＤ回路、１２９…Ｄフリップフロップ、１３０…ＡＮＤ回路、１４１…遅延回路、１４２…選択回路、１４６…メモリ領域
【図１】
2008226374.tif 000003
【図２】
2008226374.tif 000004
【図３】
2008226374.tif 000005
【図４】
2008226374.tif 000006
【図５】
2008226374.tif 000007
【図６】
2008226374.tif 000008
【図７】
2008226374.tif 000009
【図８】
2008226374.tif 000010
【図９】
2008226374.tif 000011
【図１０】
2008226374.tif 000012
【図１１】
2008226374.tif 000013
【図１２】
2008226374.tif 000014
【図１３】
2008226374.tif 000015
【図１４】
2008226374.tif 000016
【図１５】
2008226374.tif 000017
【図１６】
2008226374.tif 000018
【図１７】
2008226374.tif 000019
【図１８】
2008226374.tif 000020
【図１９】
2008226374.tif 000021
【図２０】
2008226374.tif 000022
【図２１】
2008226374.tif 000023