(57)【特許請求の範囲】
【請求項１】
基準クロックに対して所定時間以上の遅延を有するストローブ信号に同期するデータ信号を該基準クロックに同期させる第１の同期化回路と、
前記基準クロックに対して前記所定時間未満の遅延を有するストローブ信号に同期するデータ信号を該基準クロックに同期させる第２の同期化回路と、
前記基準クロックに対するストローブ信号の遅延時間を測定した結果に基づいて判定信号を出力する遅延判定回路と、
前記判定信号とは異なり、予め設定された値に基づいて前記第１の同期化回路と前記第２の同期化回路とのいずれか一方の出力を指定するパス設定信号を出力する遅延判定設定回路と、
前記判定信号と前記パス設定信号とのいずれか一方の信号に基づいて、前記第１の同期化回路と前記第２の同期化回路とのいずれか一方の出力を選択して出力する遅延選択回路と、を有し、
前記遅延判定設定回路は、テストではない通常の動作において、前記予め設定された値に基づく前記パス設定信号を出力し、さらに前記第１の同期化回路と前記第２の同期化回路のうち、前記パス設定信号で設定されない一方の同期化回路を休止状態とするパワーコントロール信号を出力するインターフェイス回路。
【請求項２】
前記遅延判定設定回路は、前記パス設定信号に代えて、前記判定信号に基づいて前記第１の同期化回路と前記第２の同期化回路とのいずれか一方を利用することを設定する選択信号を出力することを特徴とする請求項１に記載のインターフェイス回路。
【請求項３】
前記第１の同期化回路によって同期された前記基準クロックに対して遅延の大きなストローブ信号に同期されるデータ信号と前記第２の同期化回路によって同期された前記基準クロックに対して遅延の小さなストローブ信号に同期されるデータ信号とは、実質的に同一のタイミングで出力されることを特徴とする請求項１又は２に記載のインターフェイス回路。
【請求項４】
前記遅延判定回路は、前記基準クロックに基づき前記ストローブ信号の遅延時間を判定することを特徴とする請求項１乃至３のいずれか１項に記載のインターフェイス回路。
【請求項５】
前記遅延判定回路は、前記クロックに対する前記ストローブ信号の位相差が１８０°未満であれば、遅延時間が小さいと判定し、位相差が１８０°以上であれば、遅延時間が大きいと判定することを特徴とする請求項１乃至４のいずれか１項に記載のインターフェイス回路。
【請求項６】
請求項１に記載のインターフェイス回路は、ＣＰＵ及びメモリコントローラと同一の半導体基板に形成されることを特徴とする請求項１乃至５のいずれか１項に記載のインターフェイス回路。
【請求項７】
請求項１に記載のインターフェイス回路は、メモリコントローラとＤＤＲ−ＳＤＲＡＭとのインターフェイスであることを特徴とする請求項１乃至６のいずれか１項に記載のインターフェイス回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はインターフェイス回路に関し、特に外部から入力されるシステムクロックに同期しないデータをシステムクロックに同期させて他のブロックにデータを送信するインターフェイス回路に関する。
【背景技術】
【０００２】
複数の機能回路によってシステムを構築する場合、システムクロックに同期しないデータを機能回路間で送受信する場合がある。このような場合、システムクロックに同期しないデータをシステムクロックに同期させる同期回路を含むインターフェイス回路が必要となる。このインターフェイス回路の一例として、モバイル用ＤＤＲ−ＳＤＲＡＭ（Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ−Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）とメモリコントローラの間のインターフェイス回路がある。従来例１のインターフェイス回路を含むデータ処理システム１００のブロック図を図６に示す。
【０００３】
図６に示すように、従来例１のデータ処理システム１００は、ＣＰＵ１１０、クロック発生器１１１、メモリコントローラ１１２、インターフェイス回路１１３、ＤＤＲ−ＳＤＲＡＭ１１４を有している。
【０００４】
データ処理システム１００は、クロック発生器１１１が生成する基準クロック（例えばｓｙｓＣＬＫ）に基づき各ブロックが動作する。ＣＰＵ１１０は、記憶装置等（不図示）に記憶されたアプリケーションの命令に基づきデータの処理を行う。また、ＣＰＵ１１０は、必要に応じてメモリコントローラ１１２とインターフェイス回路１１３を介してＤＤＲ−ＳＤＲＡＭ１１４とデータ通信を行う。
【０００５】
このデータ通信を行う場合、ＤＤＲ−ＳＤＲＡＭ１１４は、ｓｙｓＣＬＫと非同期のストローブ信号ＤＱＳに同期させてデータＤＱを送信する。しかし、メモリコントローラ１１２は、ｓｙｓＣＬＫに同期したデータでなければ正確にデータを受信できない。そこで、インターフェイス回路１１３は、ＤＤＲ−ＳＤＲＡＭ１１４から正確にデータＤＱを受信して、このデータＤＱをメモリコントローラ１１２が正確に読み込めるリードデータに同期タイミングを変換し、メモリコントローラ１１２に送信する。つまり、インターフェイス回路１１３は、異なる同期タイミングで動作するブロック間の調停を行う回路である。
【０００６】
インターフェイス回路１１３は、インターフェイス回路１１３に内蔵されたリードデータ同期部１４０で信号の同期タイミングの調整を行う。この同期タイミングの調整について説明する。リードデータ同期部１４０は、ＤＬＬ（遅延回路：Ｄｅｌａｙ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）１４２、サンプリング回路１４３、同期化回路１４４、リードデータ同期部１４５を有している。
まず、ＤＤＲ−ＳＤＲＡＭ１１４から、ストローブ信号ＤＱＳとデータＤＱを受信すると、ＤＬＬ１４２がストローブ信号を所定の時間遅延（例えば、９０°位相を遅らせる）させた遅延ストローブ信号Ｄ＿ＤＱＳを生成する。続いて、この遅延ストローブ信号Ｄ＿ＤＱＳに基づいてサンプリング回路１４３がデータＤＱをサンプリングする。このとき、遅延ストローブ信号Ｄ＿ＤＱＳでデータＤＱをサンプリングすることで、データが変化しない安定した期間でのサンプリングが可能となる。
【０００７】
次に、サンプリング回路１４３がサンプリングしたデータを同期化回路１４４が、ｓｙｓＣＬＫに基づいてラッチする。これによって、データＤＱは、ｓｙｓＣＬＫに同期された信号となる。同期化回路１４４でｓｙｓＣＬＫに同期されたデータＤＱは、リードデータ出力部でビット幅が調整され、リードデータとしてメモリコントローラ１１２に送信される。
【０００８】
しかしながら、インターフェイス回路１１３とＤＤＲ−ＳＤＲＡＭ１１４とは、一般的に異なる半導体基板上に形成されており、別チップ構成となっている。そのため、インターフェイス回路１１３とＤＤＲ−ＳＤＲＡＭ１１４との間には、ある程度の配線長を持った配線で接続されることとなるため、この配線の抵抗や容量に起因して送受信される信号に遅延が生じる。
【０００９】
従来例１のインターフェイス回路１１３では、ｓｙｓＣＬＫに対するストローブ信号の遅延時間によっては、調停動作を正確に行うことができない問題がある。この場合の動作について説明する。図７にｓｙｓＣＬＫに対するストローブ信号ＤＱＳの遅延が大きな場合と、ｓｙｓＣＬＫに対するストローブ信号ＤＱＳの遅延が小さな場合とのタイミングチャートを示す。
【００１０】
図７に示すように、従来例１のインターフェイス回路は、ｓｙｓＣＬＫに対するストローブ信号ＤＱＳの遅延が大きいと想定して、ｓｙｓＣＬＫの立ち上がりエッジでサンプリング回路１４３がサンプリングしたデータをラッチするように同期化回路１４４を設定すると、ｓｙｓＣＬＫに対するストローブ信号ＤＱＳの遅延が小さい信号が入力された場合にデータＤＱの下位ビット側のデータを同期化回路１４４がラッチできない。（タイミングＴｂ）
【００１１】
また、ｓｙｓＣＬＫに対するストローブ信号ＤＱＳの遅延が小さいと想定して、ｓｙｓＣＬＫの立ち下がりエッジでサンプリング回路１４３がサンプリングしたデータをラッチするように同期化回路１４４を設定すると、ｓｙｓＣＬＫに対するストローブ信号ＤＱＳの遅延が大きい信号が入力された場合にデータＤＱの上位ビット側のデータを同期化回路１４４がラッチできない。（タイミングＴａ）
【００１２】
つまり、従来例１のインターフェイス回路１１３は、ｓｙｓＣＬＫに対するストローブ信号ＤＱＳの遅延時間によっては正確に調停動作を行うことができない。
【００１３】
上記の問題を解決するための技術（従来例２）が特許文献１に開示されている。従来例２にかかるインターフェイス回路２１３を図８に示す。
【００１４】
従来例２のインターフェイス回路２１３のリードデータ生成部２４０は、従来例１と同様に、ＤＬＬ２４３で遅延されたストローブ信号ＤＱＳを用いて、サンプリング回路２４２がデータＤＱをラッチする。サンプリング回路２４２でラッチされたデータＤＱは、タイミング調整回路２４６でｓｙｓＣＬＫに同期され、メモリコントローラ２１２に出力される。
【００１５】
従来例２のインターフェイス回路２１３では、タイミング調整回路２４６が異なる遅延時間に対応した２つのデータ同期経路（遅延ｍａｘ、遅延ｍｉｎ）を有しており、ｓｙｓＣＬＫに対するストローブ信号ＤＱＳの遅延時間に基づいて、いずれかの同期経路のデータＤＱを出力するかを選択している。
【００１６】
ｓｙｓＣＬＫに対するストローブ信号ＤＱＳの遅延時間の判定は、遅延時間判定回路２４４が行っており、遅延時間判定回路２４４の結果をホールド回路２４５が保持している。ホールド回路２４５の情報に基づいて、タイミング調整回路２４６は、遅延時間が大きな場合は、遅延ｍａｘの経路のデータＤＱを選択し、遅延時間が小さな場合は、遅延ｍｉｎの経路のデータＤＱを選択して出力する。
【００１７】
従来例２にかかるインターフェイス回路２１３は、タイミング調整回路２４６が遅延時間に応じた２つのデータ同期経路を有し、遅延時間判定回路２４４がｓｙｓＣＬＫに対するストローブ信号ＤＱＳの遅延時間を判定する。この遅延時間判定の結果に基づいて、タイミング調整回路２４６が遅延時間に対応した同期経路を選択してデータＤＱを出力する。これによって、従来例２にかかるインターフェイス回路２１３は、ｓｙｓＣＬＫに対するストローブ信号ＤＱＳ及びデータＤＱの遅延時間が大きな場合と小さな場合との両方で正確にデータＤＱをｓｙｓＣＬＫに同期させることが可能である。
【００１８】
しかしながら、ストローブ信号ＤＱＳ及びデータＤＱの遅延時間は、例えば基板設計や電源等の条件によってある程度決まったものになることが多い。つまり。従来例２のインターフェイス回路２１３によれば、常時２つの同期経路を動作させているために、ほとんど使用されない回路の消費電力が必要になり、消費電力が必要以上に増大する問題がある。
【００１９】
また、従来例２にかかるインターフェイス回路２１３は、同期経路の切換を動的に切り換えているために、出荷検査等で回路機能テストを行う場合に、どの同期経路をテストしているかを知ることが困難であった。つまり、インターフェイス回路２１３の確実なテストが困難であった。
【特許文献１】特開２００５−７８５４７号公報
【発明の開示】
【発明が解決しようとする課題】
【００２０】
従来のインターフェイス回路は、消費電力の増大を防ぎ、かつ、回路の観測性を高めながら、基準クロックに対する遅延時間が大きく異なる信号に対応することができない問題があった。
【課題を解決するための手段】
【００２１】
本発明にかかるインターフェイス回路は、基準クロックに対して所定時間以上の遅延を有するストローブ信号に同期されるデータ信号を該基準クロックに同期させる第１の同期化回路と、前記基準クロックに対して前記所定時間未満の遅延を有するストローブ信号に同期されるデータ信号を該基準クロックに同期させる第２の同期化回路と、前記基準クロックに対するストローブ信号の遅延時間を測定した結果に基づいて判定信号を出力する遅延判定回路と、予め設定された値に基づいて前記第１の同期化回路と前記第２の同期化回路とのいずれか一方の出力を指定するパス設定信号を出力する遅延判定設定回路と、前記判定信号と前記パス設定信号とのいずれか一方の信号に基づいて、前記第１の同期化回路と前記第２の同期化回路とのいずれか一方の出力を選択して出力する遅延選択回路とを有するものである。
【００２２】
本発明にかかるインターフェイス回路によれば、第１の同期化回路と第２の同期化回路とを予め設定された値に基づいて指定することが可能であるため、どちらの同期化回路を使用しているかを容易に把握することが可能である。このことから、使用していない同期化回路を休止状態とすることで、従来のインターフェイス回路よりも消費電力を削減することが可能である。
【００２３】
また、使用している同期化回路を遅延判定設定回路によって切り換えることが可能であるため、出荷検査等の試験において回路の観測性を向上させることが可能である。このことより、より的確な回路の試験を行うことが可能になるため、インターフェイス回路の信頼性を向上させることが可能である。
【００２４】
さらに、遅延判定回路によって、基準クロックとストローブ信号との遅延時間を測定し、その結果に基づいて使用する同期化回路を決定することが可能である。そのため、基準クロックに対する遅延時間が大きく異なる信号が入力された場合であっても、その信号を正確に基準クロックに同期化させることが可能である。
【発明の効果】
【００２５】
本発明のインターフェイス回路は、消費電力の増大を防ぎ、かつ、回路の観測性を高めながら、基準クロックに対する遅延時間が大きく異なる信号に対応することが可能である。
【発明を実施するための最良の形態】
【００２６】
実施の形態１
実施の形態１にかかるインターフェイス回路を含むデータ処理システム１のブロック図を図１に示す。図１に示すようにシステム１は、ＣＰＵ１０、クロック発生器１１、メモリコントローラ１２、インターフェイス回路１３、ＤＤＲ−ＳＤＲＡＭ１４を有している。このシステム１は、例えばＣＰＵ１０、クロック発生器１１、メモリコントローラ１２、インターフェイス回路１３が同一の半導体基板上に形成され、ＤＤＲ−ＳＤＲＡＭ１４が異なる半導体基板に形成されている。
【００２７】
データ処理システム１は、クロック発生器１１が生成する基準クロック（例えばｓｙｓＣＬＫ）に基づき各ブロックが動作する。ＣＰＵ１０は、記憶装置等（不図示）に記憶されたアプリケーションの命令に基づきデータの処理を行う。また、ＣＰＵ１０は、必要に応じてメモリコントローラ１２とインターフェイス回路１３を介してＤＤＲ−ＳＤＲＡＭ１４とデータ通信を行う。メモリコントローラ１２、インターフェイス回路１３、ＤＤＲ−ＳＤＲＡＭ１４についての詳細な説明は後述する。
【００２８】
メモリコントローラ１２は、ＣＰＵ１０からの命令に基づいて、メモリのデータ書き込みと読み出しを制御する回路である。また、メモリコントローラ１２は、ＣＰＵ１０とデータの送受信を行い、インターフェイス回路１３を介してメモリへのアクセスを行う。
【００２９】
ＤＤＲ−ＳＤＲＡＭ１４は、例えばモバイル用途向けのＳＤＲＡＭであり、クロックＣＫ及びクロックＣＫｂに基づいて動作する。このＤＤＲ−ＳＤＲＡＭ１４は、インターフェイス回路１３からデータ信号（例えば、データＤＱ）を受信する場合、ストローブ信号ＤＱＳとデータＤＱとを組み合わせた信号を受信する。ストローブ信号ＤＱＳは、インターフェイス回路１３が、ｓｙｓＣＬＫに基づき生成する信号であって、ｓｙｓＣＬＫに対して遅延した信号である。例えば、ｓｙｓＣＬＫに対して位相が９０°遅れた信号である。また、データＤＱは、ｓｙｓＣＬＫに同期された信号である。ＤＤＲ−ＳＤＲＡＭ１４は、このデータＤＱと共に上記ストローブ信号ＤＱＳを受信することで、ストローブ信号ＤＱＳを利用して、データＤＱの変化がない安定した期間でデータＤＱをラッチして取り込む。また、ＤＤＲ−ＳＤＲＡＭ１４は、データＤＱをインターフェイス回路１３に送信する場合には、ストローブ信号ＤＱＳに同期したデータＤＱとストローブ信号ＤＱＳとを共に送信する。
【００３０】
インターフェイス回路１３は、ｓｙｓＣＬＫが入力され、ｓｙｓＣＬＫに基づいてＤＤＲ−ＳＤＲＡＭ１４にｓｙｓＣＬＫと同相のクロックＣＫと逆相のクロックＣＫｂとを出力する。
【００３１】
また、インターフェイス回路１３は、ｓｙｓＣＬＫから位相が遅れたストローブ信号ＤＱＳをｓｙｓＣＬＫから生成する。さらに、メモリコントローラ１２から入力されるｓｙｓＣＬＫと同期したライトデータのビット幅をＤＤＲ−ＳＤＲＡＭ１４のデータ受信ビット幅に変換してデータＤＱとしてＤＤＲ−ＳＤＲＡＭ１４に送信する。
【００３２】
また、インターフェイス回路１３は、ＤＤＲ−ＳＤＲＡＭ１４からストローブ信号ＤＱＳと共にストローブ信号ＤＱに同期したデータＤＱが入力された場合には、データＤＱの同期信号をストローブ信号ＤＱＳからｓｙｓＣＬＫに置き換えたリードデータを生成し、メモリコントローラ１２に送信する。つまり、インターフェイス回路１３は、ＤＤＲ−ＳＤＲＡＭ１４とメモリコントローラ１２との調停動作を行う。
【００３３】
上記説明より、本実施の形態にかかるデータ処理システム１は、インターフェイス回路１３がｓｙｓＣＬＫと非同期のデータＤＱをｓｙｓＣＬＫに同期させたリードデータを生成する機能を有している。つまり、ＤＤＲ−ＳＤＲＡＭ１４が送信するデータＤＱがｓｙｓＣＬＫと非同期であった場合であっても、インターフェイス回路１３が調停動作を行うため、メモリコントローラ１２はｓｙｓＣＬＫに同期したリードデータを受信することが可能である。
【００３４】
インターフェイス回路１３について詳細に説明する。インターフェイス回路１３は、クロック生成部２０、クロック出力バッファ２１、ライトデータ同期部３０、データ出力バッファ３１、リードデータ同期部４０、データ入力バッファ４１を有している。
【００３５】
クロック生成部２０は、バッファ回路とインバータとを有している。バッファ回路はｓｙｓＣＬＫと同相のクロックＣＫを生成し、インバータはｓｙｓＣＬＫと逆相のクロックＣＫｂを生成する。クロックＣＫ、ＣＫｂは、それぞれクロック出力バッファ２１を介してＤＤＲ−ＳＲＡＭ１４に出力される。
【００３６】
ライトデータ同期部３０は、マスターＤＬＬ（Ｄｅｌａｙ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）３２とライトデータ生成部３３とを有している。マスターＤＬＬ３２は、例えば、ｓｙｓＣＬＫの１クロック分の周期を測定し、その周期に対して所定の割合で遅延するストローブ信号ＤＱＳを生成する。例えば、ストローブ信号ＤＱＳの位相をｓｙｓＣＬＫに対して９０°遅らせる場合は、マスターＤＬＬが測定したｓｙｓＣＬＫの１クロック周期の１／４の時間に基づいてストローブ信号ＤＱＳを生成すればよい。また、マスターＤＬＬは、測定したクロックの１周期に対して所定の割合となる情報をスレーブＤＬＬ４２に送信する。例えば、クロックの１周期が７．５ｎｓｅｃであった場合、その１／４の時間である１．８７５ｎｓｅｃに相当する遅延設定情報をスレーブＤＬＬに送信する。スレーブＤＬＬについての詳細な説明は後述する。
【００３７】
ライトデータ生成部３３は、例えば６４ビットのバスを介してメモリコントローラ１２から受信したライトデータを、ｓｙｓＣＬＫの立ち上がりエッジで送信する下位３２ビットデータと立ち下がりエッジで送信する上位３２ビットデータに変換する。また、メモリコントローラ１２のデータのビット幅とＤＤＲ−ＳＤＲＡＭ１４のデータのビット幅が異なる場合に調整を行う回路である。
【００３８】
ライトデータ同期部３０が出力する信号は、データ出力バッファ３１を介してＤＤＲ−ＳＤＲＡＭ１４に送信される。
【００３９】
リードデータ同期部４０には、ＤＤＲ−ＳＤＲＡＭ１４からデータ入力バッファ４１を介してストローブ信号ＤＱＳ、及び、データＤＱが入力されている。リードデータ同期部４０のブロック図を図２に示す。図２を参照してリードデータ同期部４０を説明する。
【００４０】
リードデータ同期部４０は、スレーブＤＬＬ４２、サンプリング回路４３、同期化回路４４、遅延判定回路４５、遅延判定設定回路４６、セレクタ４７、遅延選択回路４８、リードデータ出力部４９を有している。
【００４１】
スレーブＤＬＬ４２は、マスターＤＬＬから入力される遅延設定情報に基づいて、ストローブ信号ＤＱＳを所定時間遅延させた遅延ストローブ信号Ｄ＿ＤＱＳを出力する。例えば、入力されるストローブ信号ＤＱＳの位相を９０°遅延させた遅延ストローブ信号Ｄ＿ＤＱＳを出力する。
【００４２】
サンプリング回路４３は、ＦＦ（フリップフロップ）１〜３を有しており、データＤＱがＦＦ１とＦＦ３とに入力されている。ＦＦ１とＦＦ２とは直列に接続されており、ＦＦ１が遅延ストローブ信号Ｄ＿ＤＱＳの立ち上がりエッジでデータＤＱをラッチし、ＦＦ２が遅延ストローブ信号Ｄ＿ＤＱＳの立ち下がりエッジでＦＦ１からの信号をラッチする。これによって、データＤＱの下位ビットをサンプリングする。また、ＦＦ３は、遅延ストローブ信号Ｄ＿ＤＱＳの立ち下がりエッジでデータＤＱをラッチすることで、データＤＱの上位ビットをサンプリングする。
【００４３】
同期化回路４４は、第１の同期化回路（例えば、スローＤＱパス４４−１、４４−３）、第２の同期化回路（例えば、ファストＤＱパス４４−２、４４−４）を有している。スローＤＱパス４４−１、４４−３は、ｓｙｓＣＬＫに対して所定時間以上の遅延を有するストローブ信号に同期されるデータ信号を該基準クロックに同期させる回路である。また、ファストＤＱパス４４−２、４４−４は、ｓｙｓＣＬＫに対して所定時間以上の遅延を有するストローブ信号に同期されるデータ信号を該基準クロックに同期させる回路である。ここで、所定の遅延時間とは、例えばｓｙｓＣＬＫに対してストローブ信号ＤＱＳの位相が１８０°遅れる時間である。
【００４４】
スローＤＱパス４４−１は、ＦＦ４を有しており、スローＤＱパス４４−２は、ＦＦ７を有している。ＦＦ４、７は、それぞれ立ち上がりエッジで信号をラッチする。ファストＤＱパス４４−２は、ＦＦ５とＦＦ６とが直列に接続されており、ファストＤＱパス４４−４は、ＦＦ８とＦＦ９とが直列に接続されている。ＦＦ５、８は、それぞれｓｙｓＣＬＫの立ち下がりで信号をラッチし、ＦＦ６、９は、それぞれｓｙｓＣＬＫの立ち上がりで信号をラッチする。
【００４５】
スローＤＱパス４４−１のＦＦ４及びファストＤＱパス４４−２のＦＦ５には、サンプリング回路４３のＦＦ２の出力が接続されている。つまり、スローＤＱパス４４−１及びファストＤＱパス４４−２は、データＤＱの下位ビットに対する同期化回路である。また、スローＤＱパス４４−３のＦＦ７及びファストＤＱパス４４−４のＦＦ８には、サンプリング回路４３のＦＦ３の出力が接続されている。つまり、スローＤＱパス４４−３及びファストＤＱパス４４−４は、データＤＱの上位ビットに対する同期化回路である。
【００４６】
ここで、２つのスローＤＱパスと２つのファストＤＱパスの動作は、データＤＱのどのビットに対する同期を行うかが異なるのみであるため、上位ビットに対する同期化回路（スローＤＱパス４４−３、及び、ファストＤＱパス４４−４）について動作の説明を省略する。
【００４７】
スローＤＱパス４４−１は、ＦＦ４がｓｙｓＣＬＫの立ち上がりエッジでＦＦ２の出力をラッチする。これによって、データＤＱは、ｓｙｓＣＬＫに同期される。また、ファストＤＱパス４４−２は、ＦＦ５がｓｙｓＣＬＫの立ち下がりエッジでＦＦ３の出力をラッチし、ＦＦ６がｓｙｓＣＬＫの立ち上がりエッジでＦＦ５の出力をラッチする。これによって、データＤＱは、ｓｙｓＣＬＫに同期される。
【００４８】
遅延判定回路４５は、直列に接続されたＦＦａ〜ｃを有している。遅延判定回路４５は、ｓｙｓＣＬＫに対するストローブ信号の遅延時間を測定した結果に基づいて判定信号を出力する回路である。この判定は、例えばｓｙｓＣＬＫに対するストローブ信号ＤＱＳの位相差が１８０°未満であれば、遅延時間が小さいと判定して判定信号は「１」となる。また、位相差が１８０°以上であれば、遅延時間が大きいと判定して判定信号は「０」となる。ここで、判定信号が「０」であれば、後述する遅延選択回路４８は、スローＤＱパスを選択し、判定信号が「１」であれば、遅延選択回路４８は、ファストＤＱパスを選択する。つまり、遅延判定回路４５は、ストローブ信号ＤＱＳをｓｙｓＣＬＫで監視することによって、動的なパスの切り換えを行うための信号を出力する回路である。
【００４９】
ＦＦａにはストローブ信号ＤＱＳが接続されており、ｓｙｓＣＬＫの立ち下がりエッジでこれをラッチする。ＦＦｂは、ＦＦａの出力が接続されており、この出力をｓｙｓＣＬＫの立ち上がりエッジでラッチする。ＦＦｃは、ＦＦｂの出力が接続されており、この出力をｓｙｓＣＬＫの立ち上がりエッジでラッチする。これによって、遅延判定回路４５は、入力されるストローブ信号ＤＱＳの遅延時間が大きい場合は判定信号として「０」を出力し、遅延時間が小さな場合は判定信号として「１」を出力する。
【００５０】
遅延判定設定回路４６は、予め設定された値に基づき、パス設定信号と、動作設定信号と、パワーコントロール信号ＰＣ１、ＰＣ２を出力する回路である。パス設定信号は、予め設定された値に基づき、使用する同期化回路４４のパスを指定する信号である。この値は、ユーザーによって指定することもできる値であって、例えばｓｙｓＣＬＫに対するストローブ信号ＤＱＳの遅延時間を予め予測して設定することが可能である。つまり、同期化回路４４のパスを静的に選択するための信号である。後述するセレクタ４７がパス設定信号を選択していた場合、パス設定信号に基づいて、遅延選択回路４８は、スローＤＱパスとファストＤＱパスとのいずれか一方の出力を選択して出力する。動作設定信号は、セレクタ４７に入力され、セレクタ４７がパス設定信号と判定信号とのいずれか一方を出力することを指定する信号である。パワーコントロール信号ＰＣ１は、ｓｙｓＣＬＫに対するストローブ信号ＤＱＳの遅延時間が大きければスローＤＱパス４４−１、４４−３を動作状態とし、その遅延時間が小さければスローＤＱパス４４−１、４４−３を休止状態とする。パワーコントロール信号ＰＣ２は、ｓｙｓＣＬＫに対するストローブ信号ＤＱＳの遅延時間が小さければファストＤＱパス４４−２、４４−４を動作状態とし、その遅延時間が大きければファストＤＱパス４４−２、４４−４を休止状態とする。
【００５１】
セレクタ４７は、遅延判定設定回路４６から入力される動作設定信号に基づいて、遅延判定回路４５の判定信号と遅延判定設定回路４６のパス設定信号とのいずれかを選択して、選択信号として遅延選択回路４８に送信する。例えば、動作設定信号が「０」である場合、遅延判定回路４５の判定信号を選択信号として遅延選択回路４８に送信し、動作設定信号が「１」である場合、遅延判定設定回路４６のパス設定信号を選択信号として遅延選択回路４８に送信する。
【００５２】
遅延選択回路４８は、セレクタＳＥＬ１、ＳＥＬ２を有している。セレクタＳＥＬ１は、選択信号に基づいて、スローＤＱパス４４−１とファストＤＱパス４４−２とのいずれか一方のパスを選択してリードデータ出力部４９に出力する。セレクタＳＥＬ２は、選択信号に基づいて、スローＤＱパス４４−３とファストＤＱパス４４−４とのいずれか一方のパスを選択してリードデータ出力部４９に出力する。例えば、選択信号が「０」である場合、セレクタＳＥＬ１、ＳＥＬ２は、それぞれ対応するスローＤＱパスの出力を選択して出力する。また、選択信号が「１」である場合、セレクタＳＥＬ１、ＳＥＬ２は、それぞれ対応するファストＤＱパスの出力を選択して出力する。
【００５３】
リードデータ出力部４９は、ＳＤＣＣＴＲＬ信号に基づいて、遅延選択回路４８から３２ビット幅、あるいは１６ビット幅のリードデータを生成して、メモリコントローラ１２に出力する。
【００５４】
リードデータ同期部４０の動作のタイミングチャートを図３、４に示す。図３は、ストローブ信号ＤＱＳの遅延が小さい場合のタイミングチャートであり、図４は、ストローブ信号ＤＱＳの遅延が大きい場合のタイミングチャートである。ここで、ストローブ信号ＤＱＳの遅延時間によって使用する同期化回路４４のパスを動的に選択する場合について、リードデータ同期部４０の説明をする。つまり、遅延判定設定回路４６の動作設定信号は「０」であって、セレクタ４７は、遅延判定回路４５の判定信号を選択信号として出力している。また、遅延判定設定回路４６のパワーコントロール信号ＰＣ１、ＰＣ２は、対応するパスを動作状態とする設定を出力している。
【００５５】
まず、ストローブ信号ＤＱＳの遅延が小さい場合の動作を図３を参照して説明する。図３に示すように、ストローブ信号ＤＱＳは、ｓｙｓＣＬＫに対して位相が９０°遅れる。このストローブ信号ＤＱＳとデータＤＱがリードデータ同期部４０に入力されると、ストローブ信号ＤＱＳは、スレーブＤＬＬ４２で更に９０°位相が遅れた遅延ストローブ信号Ｄ＿ＤＱＳとなる。
【００５６】
タイミングＴ１で、遅延ストローブ信号Ｄ＿ＤＱＳの立ち上がりエッジに応じて、サンプリング回路４３のＦＦ１は、データＤＱ［ａ］の下位ビットをラッチする。また、遅延判定回路４５のＦＦａは、ｓｙｓＣＬＫの立ち下がりエッジに応じて、ストローブ信号ＤＱＳのハイレベル（例えば、図２において「１」で表されるレベル）をラッチする。
【００５７】
タイミングＴ２で、遅延ストローブ信号Ｄ＿ＤＱＳの立ち下がりエッジに応じて、サンプリング回路４３のＦＦ２は、ＦＦ１がラッチしているデータＤＱ［ａ］の下位ビットをラッチする。このとき、サンプリング回路４３のＦＦ３は、遅延ストローブ信号Ｄ＿ＤＱＳの立ち下がりエッジに応じて、データＤＱ［ａ］の上位ビットをラッチする。また、遅延判定回路４５のＦＦｂは、ｓｙｓＣＬＫの立ち上がりエッジに応じて、ＦＦａがラッチしていたハイレベルをラッチする。
【００５８】
タイミングＴ３で、ｓｙｓＣＬＫの立ち下がりエッジに応じて、ファストＤＱパス４４−２のＦＦ５は、サンプリング回路４３のＦＦ２がラッチしているデータＤＱ［ａ］の下位ビットをラッチする。このとき、ファストＤＱパス４４−４のＦＦ８は、サンプリング回路４３のＦＦ３がラッチしているデータＤＱ［ａ］の上位ビットをラッチする。
【００５９】
タイミングＴ４で、ｓｙｓＣＬＫの立ち上がりエッジに応じて、ファストＤＱパス４４−２のＦＦ６は、ＦＦ５がラッチしているデータＤＱ［ａ］の下位ビットをラッチする。このとき、ファストＤＱパス４４−４のＦＦ９は、ＦＦ８がラッチしているデータＤＱ［ａ］の上位ビットをラッチする。また、遅延判定回路４５のＦＦｃは、ｓｙｓＣＬＫの立ち上がりエッジに応じて、ＦＦｂがラッチしていたハイレベルをラッチする。
【００６０】
タイミングＴ４で、ＦＦｃの出力がハイレベルとなるため、セレクタ４７は「１」を選択信号として遅延選択回路４８に送信する。これによって、遅延選択回路４８のセレクタＳＥＬ１、ＳＥＬ２は、それぞれ対応するファストＤＱパスの出力を選択する。従って、リードデータ出力部４９には、ｓｙｓＣＬＫに同期されたデータＤＱ［ａ］が出力される。
【００６１】
次に、ストローブ信号ＤＱＳの遅延が大きい場合の動作を図４を参照して説明する。図４に示すように、ストローブ信号ＤＱＳは、ｓｙｓＣＬＫに対して位相が２７０°遅れる。このストローブ信号ＤＱＳとデータＤＱがリードデータ同期部４０に入力されると、ストローブ信号ＤＱＳは、スレーブＤＬＬ４２で更に９０°位相が遅れた遅延ストローブ信号Ｄ＿ＤＱＳとなる。
【００６２】
タイミングＴ１で、遅延判定回路４５のＦＦａは、ｓｙｓＣＬＫの立ち下がりエッジに応じて、ストローブ信号ＤＱＳのロウレベル（例えば、図２において「０」で表されるレベル）をラッチする。
【００６３】
タイミングＴ２で、遅延ストローブ信号Ｄ＿ＤＱＳの立ち上がりエッジに応じて、サンプリング回路４３のＦＦ１は、データＤＱ［ａ］の下位ビットをラッチする。また、遅延判定回路４５のＦＦｂは、ｓｙｓＣＬＫの立ち上がりエッジに応じて、ＦＦａがラッチしていたロウレベルをラッチする。
【００６４】
タイミングＴ３で、遅延ストローブ信号Ｄ＿ＤＱＳの立ち下がりエッジに応じて、サンプリング回路４３のＦＦ２は、ＦＦ１がラッチしているデータＤＱ［ａ］の下位ビットをラッチする。このとき、サンプリング回路４３のＦＦ３は、遅延ストローブ信号Ｄ＿ＤＱＳの立ち下がりエッジに応じて、データＤＱ［ａ］の上位ビットをラッチする。
【００６５】
タイミングＴ４で、ｓｙｓＣＬＫの立ち上がりエッジに応じて、スローＤＱパス４４−１のＦＦ４は、サンプリング回路４３のＦＦ２がラッチしているデータＤＱ［ａ］の下位ビットをラッチする。このとき、スローＤＱパス４４−３のＦＦ７は、サンプリング回路４３のＦＦ３がラッチしているデータＤＱ［ａ］の上位ビットをラッチする。また、遅延判定回路４５のＦＦｃは、ｓｙｓＣＬＫの立ち上がりエッジに応じて、ＦＦｂがラッチしていたロウレベルをラッチする。
【００６６】
タイミングＴ４で、ＦＦｃの出力がロウレベルとなるため、セレクタ４７は「０」を選択信号として遅延選択回路４８に送信する。これによって、遅延選択回路４８のセレクタＳＥＬ１、ＳＥＬ２は、それぞれ対応するスローＤＱパスの出力を選択する。従って、リードデータ出力部４９には、ｓｙｓＣＬＫに同期されたデータＤＱ［ａ］が出力される。
【００６７】
本実施の形態にかかるリードデータ同期部４０は、上記説明の同期化回路４４で使用するパスを動的に選択する方法に加えて、遅延判定設定回路４６の設定を用いて、静的に同期化回路４４で使用するパスを選択することが可能である。この静的なパスの選択について説明する。
【００６８】
静的なパスの選択をする場合、遅延判定設定回路４６の動作設定信号は「１」となり、セレクタ４７は、遅延判定設定回路４６のパス設定信号を出力する。パス設定信号が「０」である場合、セレクタＳＥＬ１、ＳＥＬ２は、それぞれ対応するスローＤＱパスを選択する。このとき、ファストＤＱパスは使用されないため、パワーコントロール信号ＰＣ２によって、ファストＤＱパスは休止状態となる。また、パス設定信号が「１」である場合、セレクタＳＥＬ１、ＳＥＬ２は、それぞれ対応するファストＤＱパスを選択する。このとき、スローＤＱパスは使用されないため、パワーコントロール信号ＰＣ１によって、スローＤＱパスは休止状態となる。
【００６９】
上記説明より、実施の形態１にかかるインターフェイス回路１３によれば、ストローブ信号ＤＱＳの遅延時間に基づいて、動的に同期化回路４４のパスを選択することに加え、レジスタの設定に基づいた静的な同期化回路４４のパスの選択を行うことが可能である。これによって、ストローブ信号ＤＱＳの遅延時間が環境や条件によって大きく変動する場合には動的な同期化回路４４のパスの選択を行い、ストローブ信号ＤＱＳの遅延時間が環境や条件によらず変動が小さい場合には静的な同期化回路４４のパスの選択が可能である。
【００７０】
静的な同期化回路４４のパスの選択を行う場合、使用しないパスを休止状態とすることで、インターフェイス回路１３の消費電力を従来のインターフェイス回路よりも低減することが可能である。多くの場合、ストローブ信号ＤＱＳの遅延時間の多くは、半導体装置を搭載する基板の設計、あるいは設定電源電圧によって決まるため、一般的に遅延時間はそれほど変動することはない。したがって、予めシステムにおけるストローブ信号ＤＱＳの遅延時間を把握しておくことで、インターフェイス回路１３は、静的に同期化回路４４のパスの選択して使用することが可能である。
【００７１】
また、実施の形態１にかかるインターフェイス回路１３は、動的な同期化回路４４の選択も可能である。動的な同期化回路４４のパスの選択を行うことで、例えば極端に温度差のある環境で使用して、ストローブ信号ＤＱＳの遅延時間が大きく変動する場合であっても、状況に応じた正確なデータＤＱの送受信が可能である。
【００７２】
さらに、実施の形態１にかかるインターフェイス回路１３は、同期化回路４４のパスの動的な選択と静的な選択とを行うことが可能であるため、このインターフェイス回路１３を様々な状況下で使用される半導体装置に搭載することが可能である。例えば、低消費電力が重要な用途の半導体装置に搭載する場合は、静的な同期化回路４４のパス選択を行う設定とする。また、多様な環境で使用される半導体装置に搭載する場合は、動的な同期化回路４４のパス選択を行う設定とする。従って、実施の形態１にかかるインターフェイス回路１３は、設計資産として高い再利用性を有している。
【００７３】
一方、実施の形態１にかかるインターフェイス回路１３は、出荷検査等の半導体装置試験で、高い観測性を有するため、半導体装置の信頼性を向上させることが可能である。つまり、出荷検査等の半導体装置試験において、どのパスを試験しているのかを把握することが可能であるため、正確な試験を実行することが可能になり、半導体装置の信頼性を向上させることが可能である。
【００７４】
実施の形態２
実施の形態２にかかるインターフェイス回路のリードデータ同期部５０を図５に示す。実施の形態２にかかるリードデータ同期部５０は、実施の形態１にかかるリードデータ同期部４０と実質的に同じ回路である。実施の形態１にかかるリードデータ同期部４０は、セレクタ４７によって、静的な同期化回路４４のパス選択と動的な同期化回路４４のパス選択とを切り換えていたのに対し、実施の形態２にかかるリードデータ同期部５０は、遅延判定回路４５の判定信号が遅延判定設定回路５１に入力され、遅延判定設定回路５１が同期化回路４４のパスの選択信号を出力する。実施の形態１にかかるリードデータ同期部４０と同様のものについては、同じ符号を付して説明を省略する。
【００７５】
実施の形態２にかかる遅延判定設定回路５１は、遅延判定回路４５の判定信号が入力されている。この遅延判定回路４５の判定信号に基づいて、遅延判定設定回路５１は、選択信号とパワーコントロール信号ＰＣ１、ＰＣ２とを出力する。選択信号は、例えば、遅延判定回路４５の判定信号と同じもの信号であり、または、外部からの設定によって「０」と「１」とを切り換えることが可能な信号である。パワーコントロール信号は、選択信号の値に基づいて、使用するパスを動作状態とし、使用しないパスを休止状態とする信号である。
【００７６】
上記説明より、実施の形態２にかかるインターフェイス回路は、動的な同期化回路４４のパスの選択を行いながら、使用しないパスを休止状態とすることが可能である。これによって、動的な同期化回路４４のパスの選択を行いながら、消費電力の削減を行うことが可能である。
【００７７】
また、実施の形態２にかかるインターフェイス回路は、静的な同期化回路４４のパスの選択も可能であるため、観測性の高い試験を行うことが可能である。よって、出荷検査等によって、半導体装置の信頼性を向上させることが可能である。
【００７８】
なお、本発明は上記実施の形態に限られたものでなく、適宜変更することが可能である。例えば、本発明は、静的なパス選択と動的なパス選択を状況に応じて切り換えて使用可能なものであって、同期化回路やサンプリング回路は、上記実施の形態に限られたものではなく適宜変更することが可能である。
【図面の簡単な説明】
【００７９】
【図１】実施の形態１にかかるインターフェイス回路を含むシステムのブロック図である。
【図２】実施の形態１にかかるインターフェイス回路のブロック図である。
【図３】実施の形態１にかかるリードデータ同期部のタイミングチャートを示す図である。
【図４】実施の形態１にかかるリードデータ同期部のタイミングチャートを示す図である。
【図５】実施の形態２にかかるインターフェイス回路のブロック図である。
【図６】従来のインターフェイス回路を含むシステムのブロック図である。
【図７】従来のインターフェイス回路のタイミングチャートを示す図である。
【図８】従来のインターフェイス回路を含むシステムのブロック図である。
【符号の説明】
【００８０】
１０    ＣＰＵ
１１    クロック発生器
１２    メモリコントローラ
１３    インターフェイス回路
１４    ＤＤＲ−ＳＤＲＡＭ
２０    クロック生成部
２１    クロック出力バッファ
３０    ライトデータ同期部
３１    データ出力バッファ
３２    マスターＤＬＬ
３３    ライトデータ生成部
４０    リードデータ同期部
４１    データ入力バッファ
４２    スレーブＤＬＬ
４３    サンプリング回路
４４    同期化回路
４４−１、４４−３    スローＤＱパス
４４−２、４４−３    ファストＤＱパス
４５    遅延判定回路
４６    遅延判定設定回路
４７    セレクタ
４８    遅延選択回路
４９    リードデータ出力部
５０    リードデータ同期部
５１    遅延判定設定回路
ＳＥＬ１    セレクタ
ＳＥＬ２    セレクタ
【図１】
0004786262.tif 000002
【図２】
0004786262.tif 000003
【図３】
0004786262.tif 000004
【図４】
0004786262.tif 000005
【図５】
0004786262.tif 000006
【図６】
0004786262.tif 000007
【図７】
0004786262.tif 000008
【図８】
0004786262.tif 000009