(57)【要約】  メモリコントローラ１０は、ＤＩＭＭ３０から送信されたＤＱ信号を受信するレシーバ１２Ａと、送信回路から送信された、データ信号の読み取りタイミングを示すＤＱＳ信号を受信するレシーバ１２Ｂとを有する。また、メモリコントローラ１０は、受信されたタイミング信号の出力タイミングを調整するＤｅｌａｙ回路１３Ａを有する。そして、メモリコントローラ１０は、Ｄｅｌａｙ回路１３Ａによって出力タイミングが調整された遅延ＤＱＳ信号に応じて、ＤＱ信号を読み取る。そして、メモリコントローラ１０は、遅延ＤＱ信号の電圧値と、遅延ＤＱＳ信号の電圧値とを取得する。
2012059985.tif 000002
【特許請求の範囲】
【請求項１】
送信回路から送信されたデータ信号を受信するデータ信号受信部と、
送信回路から送信された、データ信号の読み取りタイミングを示すタイミング信号を受信するタイミン信号受信部と、
前記タイミン信号受信部によって受信されたタイミング信号の出力タイミングを調整するタイミング調整部と、
前記タイミング調整部によって出力タイミングが調整された調整タイミング信号に応じて、前記データ信号受信部によって受信された前記データ信号を読み取る読取部と、
前記データ信号受信部によって受信されたデータ信号の電圧値と、前記タイミング調整部によって出力タイミングが調整された前記調整タイミング信号の電圧値とを取得する電圧値取得部と
を有することを特徴とする集積回路。
【請求項２】
前記読取部によって読取られた前記データ信号に誤りがあることを検出する検出部をさらに有し、
前記電圧値取得部は、前記検出部によって前記データ信号に誤りがあることが所定の回数検出された場合には、前記データ信号の電圧値と前記調整タイミング信号の電圧値とを取得する
ことを特徴とする請求項１に記載の集積回路。
【請求項３】
前記読取部によって読取られた前記データ信号に誤りがあることを検出する検出部をさらに有し、
前記波形採取部は、前記検出部によって前記データ信号に誤りがあることが検出された場合には、前記データ信号に誤りがあることが検出された時における前記データ信号の電圧値と前記調整タイミング信号の電圧値とを取得することを特徴とする請求項１に記載の集積回路。
【請求項４】
送信回路から送信されたデータ信号と、該データ信号の読み取りタイミングを示すタイミング信号を受信し、
受信したタイミング信号の出力タイミングを調整し、
出力タイミングが調整された調整タイミング信号に応じて、前記データ信号を読み取り、
読み取ったデータ信号に誤りがあることを検出し、
前記データ信号に誤りがあることが所定の回数検出された場合には、前記データ信号の電圧値と前記調整タイミング信号の電圧値とを取得する
ことを特徴とする電圧値取得方法。
【請求項５】
送信回路から送信されたデータ信号と、該データ信号の読み取りタイミングを示すタイミング信号を受信し、
受信したタイミング信号の出力タイミングを調整し、
出力タイミングが調整された調整タイミング信号に応じて、前記データ信号を読み取り、
読み取ったデータ信号に誤りがあることを検出し、
前記データ信号に誤りがあることが所定の回数検出された場合には、前記データ信号に誤りがあることが検出された時における前記データ信号の電圧値と前記調整タイミング信号の電圧値とを取得する
ことを特徴とする電圧値取得方法。
【請求項６】
データ信号とともに、該データ信号の読み取りタイミングを示すタイミング信号を送信する送信回路と、前記データ信号および前記タイミング信号を受信し、前記タイミング信号に応じて、前記データ信号を読み取る集積回路とを有する送受信システムであって、
前記送信回路は、
前記データ信号を前記集積回路に対して送信するデータ信号送信部と、
前記タイミング信号を前記集積回路に対して送信するタイミング信号送信部と
を有し、
前記集積回路は、
前記データ信号送信部から送信されたデータ信号を受信するデータ信号受信部と、
前記タイミング信号送信部から送信された、データ信号の読み取りタイミングを示すタイミング信号を受信するタイミング信号受信部と、
前記タイミン信号受信部によって受信されたタイミング信号の出力タイミングを調整するタイミング調整部と、
前記タイミング調整部によって出力タイミングが調整された調整タイミング信号に応じて、前記データ信号受信部によって受信された前記データ信号を読み取る読取部と、
前記データ信号受信部によって受信されたデータ信号の電圧値と、前記タイミング調整部によって出力タイミングが調整された前記調整タイミング信号の電圧値とを取得する電圧値取得部と
を有することを特徴とする送受信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路、電圧値取得方法および送受信システムに関する。
【背景技術】
【０００２】
近年、基板製造技術やＬＳＩ（Large  Scale  Integrated  Circuit）の実装技術の進展に伴い、複数のＣＰＵ（Central  Processing  Unit）や主記憶装置など、複数のＬＳＩを１枚の基板に搭載したブレードサーバ（blade  server）などの装置が知られている。このような装置では、実装上の問題により各ＬＳＩ間を接続する信号線の距離がそれぞれ異なるため、送信側ＬＳＩから送信された信号を受信側ＬＳＩが受信するまでの時間について信号毎にバラツキが生じる。また、このバラツキは、ボード配線やコネクタの特性（抵抗値、容量値、インダクタンス値や信号の反射特性等）、ＬＳＩに内蔵されるドライバの性能（ドライバの駆動能力等）に依存する。【０００３】
このようなバラツキの影響を小さくし、且つ、データに対するデータストローブ信号のタイミング規約を満たす手法として、受信側ＬＳＩの内部に信号毎にディレイライン(Delay  Line)等の遅延素子を設けることが知られている。また、かかる受信側ＬＳＩの遅延素子の遅延時間を設定する手法として、オシロスコープを用いて、送信側ＬＳＩから受信側ＬＳＩへ送信されたＬＳＩ外部における信号の波形を観測することが実施されている。【０００４】
ここで、図２１を用いて、オシロスコープを用いてＤＩＭＭ（Dual  Inline  Memory  Module）からメモリコントローラへ送信された信号の波形を観測する例について説明する。図２１に示すように、オシロスコープ３００は、メモリコントローラ１００の外部に設けられ、ＤＩＭＭ２００からメモリコントローラ１００へ送信された信号であって、メモリコントローラ１００が受信する前の信号の波形を観測する。【０００５】
また、ＤＩＭＭ２００は、データを受信する際のタイミング信号（ストローブ信号）であるＤＱＳ（Data  Queue  Strobe）信号およびＤＱＳ信号の位相を反転させた逆位相の信号である＃ＤＱＳ信号を出力するドライバ２０１を有する。また、ＤＩＭＭ２００は、受信対象のデータ信号であるＤＱ（Data  Queue）信号を出力するドライバ２０２を有する。また、メモリコントローラ１００は、メモリコントローラのＬＳＩパッケージであるＰＫＧ（package）１１０、ＤＱＳ信号と＃ＤＱＳ信号を受信するレシーバ１２０、ＤＱ信号を受信するレシーバ１２１を有する。【０００６】
また、メモリコントローラ１００とＤＩＭＭ２００との間には、複数の信号線が設けられている。具体的には、ＤＱＳ信号を伝送する信号線が１８本、＃ＤＱＳ信号を伝送する信号線が１８本、ＤＱ信号を伝送する信号線が７２本設けられている。また、ＤＱＳ信号および＃ＤＱＳ信号を受信するレシーバ１２０が１８個、ＤＱ信号を受信するレシーバ１２１が７２個設けられており、それぞれ信号線と接続されている。なお、ＤＱＳ信号と＃ＤＱＳ信号との組は、平衡関係にある平衡信号であり、１本の信号線から伝送されるＤＱＳ信号に対して、もう１本の信号線からＤＱＳ信号の位相を反転させた逆位相の信号である＃ＤＱＳ信号を伝送する。【０００７】
また、ＤＱＳ信号および＃ＤＱＳ信号の各１ビットに対して、ＤＱ信号を伝送する信号線４本のＤＱ信号４ビットが対応している。つまり、ＤＱＳ信号と＃ＤＱＳ信号の１ビット分で、４ビット分のＤＱ信号の読み取りタイミングを示している。また、ＤＱ信号は、７２本の信号線から送信される７２ビットのＤＱ信号のうち、ＤＱ[０]からＤＱ[６３]までがデータビットであり、ＤＱ[６３]からＤＱ[７１]までがＥＣＣ（Error  Checking  and  Correction）に用いられるエラー訂正用ビットである。【０００８】
また、メモリコントローラ１００は、ＤＱＳ信号に遅延時間を与える遅延素子であるＤｅｌａｙ回路１３０、ＤＱ信号に遅延時間を与えるＤｅｌａｙ回路１３１、遅延素子に遅延時間を設定するＤｅｌａｙ値制御回路１４０を有する。なお、以下では、Ｄｅｌａｙ回路１３０から出力される信号を「遅延ＤＱＳ信号」といい、Ｄｅｌａｙ回路１３１から出力される信号を「遅延ＤＱ信号」という。また、メモリコントローラ１００は、遅延ＤＱＳ信号に応じて遅延ＤＱ信号を読み取るＦＦ（Flip  Flop）１５０およびＦＦ１５１、遅延ＤＱＳ信号を反転させる否定論理回路であるＩｎｖｅｒｔｅｒ１６０、遅延ＤＱＳ信号の周波数で動作するＦＦ１５０、ＦＦ１５１のデータを同期させるデータ同期回路１７０を有する。ここで、データ同期回路１７０は、遅延ＤＱＳ／遅延＃ＤＱＳ信号の周波数で動作するＦＦ１５０、ＦＦ１５１が出力するデータを、遅延ＤＱＳ／遅延＃ＤＱＳ信号よりも高い周波数であるメモリコントローラ１００の内部クロックに同期させることにより、異なる周波数間でデータの乗り換えを図る回路である。【０００９】
このような構成のもと、ＤＩＭＭ２００は、メモリコントローラ１００からのＲＥＡＤ命令時に対する応答として、ドライバ２０１からタイミング信号（ストローブ信号）であるＤＱＳ信号を送信するとともに、ドライバ２０２からデータ信号であるＤＱ信号を送信する。そして、ＤＩＭＭ２００から出力されたＤＱ信号およびＤＱＳ信号は、ＤＩＭＭ２００のコネクタやシステムボードの配線を通り、メモリコントローラ１００内部のＰＫＧ１１０内の配線、レシーバ１２０、１２１、Ｄｅｌａｙ回路１３０、１３１等の回路を通ってＦＦ１５０に入力される。その後、ＦＦ１５０、１５１は、Ｄｅｌａｙ回路１３０通過後の遅延ＤＱＳ信号をクロック信号として遅延ＤＱ信号を読み取る。【００１０】
そして、ＤＩＭＭ２００とメモリコントローラ１００との間でＤＱ信号およびＤＱＳ信号の送受信が行われている際に、ＤＩＭＭ２００から送信されてメモリコントローラ１００が受信する前のＤＱ信号およびＤＱＳ信号の波形を、オシロスコープ３００を用いて観測することができる。ここで、オシロスコープ３００が観測できるＤＱ信号およびＤＱＳ信号は、メモリコントローラ１００のＤｅｌａｙ回路１３０、１３１に入力される前のＤＱ信号およびＤＱＳ信号である。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００６−９９６７６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、上述したオシロスコープを用いて送信装置から受信装置へ送信された信号の波形を観測する手法では、受信装置内部において遅延素子出力後のタイミング信号である遅延ＤＱＳ信号がセットアップ時間及びホールド時間のタイミング規約を満たしているかどうか把握できないという課題があった。すなわち、オシロスコープが受信装置の外部に設けられており、受信装置の内部における入力信号の波形を観測することができず、受信装置内部において遅延素子出力後の遅延ＤＱＳ信号に対する遅延ＤＱ信号の読み取りタイミングがセットアップ時間及びホールド時間のタイミング規約を満たしているかどうか把握できない。なお、上述した課題は、ＤＩＭＭとメモリコントローラとの間の通信に限らず、信号を送受信する装置間における共通の課題である。【００１３】
開示の技術は、上記に鑑みてなされたものであって、タイミング信号の出力がセットアップ時間及びホールド時間のタイミング規約を満たしているかどうかを把握することが可能である集積回路を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本願の開示する集積回路は、送信回路から送信されたデータ信号を受信するデータ信号受信部と、送信回路から送信された、データ信号の読み取りタイミングを示すタイミング信号を受信するタイミン信号受信部とを有する。また、集積回路は、受信されたタイミング信号の出力タイミングを調整するタイミング調整部と、出力タイミングが調整された調整タイミング信号に応じて、データ信号受信部によって受信されたデータ信号を読み取る読取部とを有する。また、集積回路は、データ信号の電圧値と、調整タイミング信号の電圧値とを取得する電圧値取得部を有する。
【発明の効果】
【００１５】
本願の開示する集積回路の一つの態様によればタイミング信号の出力がセットアップ時間及びホールド時間のタイミング規約を満たしているかどうかを把握できるという効果を奏する。
【図面の簡単な説明】
【００１６】
【図１】図１は、実施例１に係るＤＩＭＭおよびメモリコントローラの構成を示すブロック図である。
【図２】図２は、ＤＩＭＭとメモリコントローラとの接続関係を示す図である。
【図３】図３は、ＤＤＲ  ＳＤＲＡＭの標準インターフェースを示す図である。
【図４】図４は、ＤＱ信号のデータフォーマットを示す図である。
【図５】図５は、Ｄｅｌａｙ回路の内部構造を示す図である。
【図６】図６は、データ同期回路の内部構造を示すブロック図である。
【図７】図７は、データ同期回路のタイミングチャートを示す図である。
【図８】図８は、ＤＱ信号およびＤＱＳ信号の出力タイミングを示す図である。
【図９】図９は、波形採取制御部の詳細な構成を示すブロック図である。
【図１０】図１０は、Ａ／Ｄ変換器の内部構造を示すブロック図である。
【図１１】図１１は、Ａ／Ｄ変換器とメモリの動作タイミングを説明する図である。
【図１２】図１２は、メモリが記憶するデータの一例を示す図である。
【図１３】図１３は、ＤＱＳ信号とＤＱ信号の受信波形を示す図である。
【図１４】図１４は、セットアップ不足時のＤＱＳ信号とＤＱ信号の受信波形を示す図である。
【図１５】図１５は、ホールドタイム不足時のＤＱＳ信号とＤＱ信号の受信波形を示す図である。
【図１６】図１６は、ＤＱ信号のアイパターンを示す図である。
【図１７】図１７は、振幅異常時のＤＱ信号のアイパターンを示す図である。
【図１８】図１８は、実施例１に係るメモリコントローラの処理動作を示すフローチャートである。
【図１９】図１９は、実施例１に係るメモリコントローラの処理動作を示すフローチャートである。
【図２０】図２０は、実施例１に係るメモリコントローラが収集した受信波形を表示するＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）の処理動作を示すフローチャートである。
【図２１】図２１は、従来のＤＩＭＭおよびメモリコントローラの構成を示すブロック図である。
【発明を実施するための形態】
【００１７】
以下に添付図面を参照して、この発明に係る集積回路、電圧値取得方法および送受信システムの実施例を詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００１８】
以下の実施例では、実施例１に係るメモリコントローラの構成および処理の流れを順に説明し、最後に実施例１による効果を説明する。なお、以下では、メモリコントローラ１０からのＲＥＡＤ命令（後述する図３で詳細を説明）に対する応答信号として、ＤＩＭＭ（Dual  Inline  Memory  Module）が、データ信号であるＤＱ信号とタイミング信号（ストローブ信号）であるＤＱＳ信号をメモリコントローラに送信する場合の例について説明する。また、実施例１に係るメモリコントローラでは、ＤＱＳ信号の立ち上がりと立ち下がりの両方のエッジに同期したＤＱ信号をメモリ制御装置に受信させるＤＤＲ−ＳＤＲＡＭ（Double  Data  Rate  Synchronous  Dynamic  Random  Access  Memory）が採用されている。【００１９】
［実施例１に係るメモリコントローラの構成］
最初に、図１を用いて、実施例１に係るメモリコントローラの構成を説明する。図１は、実施例１に係るメモリコントローラの構成を示すブロック図である。図１に示すように、メモリコントローラ１０は、二枚のＤＩＭＭ３０、３０ＡおよびＰＣ（Personal  Computer）４０と接続される。【００２０】
ここで、図２を用いて、メモリコントローラ１０とＤＩＭＭ３０、３０Ａとの接続関係について説明する。図２は、ＤＩＭＭとメモリコントローラとの接続関係を示す図である。図２に示すように、メモリコントローラ１０およびＤＩＭＭ３０、３０Ａは、システムボード５０上に搭載され、配線６０を介してそれぞれ接続される。メモリコントローラ１０は、樹脂１１ｂで封止されたシリコンチップ１２が配線基板１１ａ上に搭載されたＬＳＩである。なお、以下では、シリコンチップ１２を覆っている樹脂１１ｂと、シリコンチップ１２を配線接続する配線基板１１ａとを合わせてＰＫＧ（package）１１という。【００２１】
また、ＤＩＭＭ３０は、図２に示すように、ＳＤＲＡＭ（Synchronous  Dynamic  Random  Access  Memory）３３が搭載されている。ＳＤＲＡＭ３３は、メモリコントローラ１０からＲＥＡＤ命令を取得すると、ＲＥＡＤ命令に含まれるアドレスに対応するデータであるＤＱ信号とＤＱＳ信号とを同位相でメモリコントローラ１０に出力する。また、ＤＩＭＭ３０ＡからのＤＱ［７１：０］とＤＩＭＭ３０ＡからのＤＱ［７１：０］とがドット結合されている。また、システムボード５０にソケット３４が取り付けられており、ソケット３４は、ＤＩＭＭ３０とシステムボード５０とを電気的に接続する。【００２２】
ここで、ＤＤＲ  ＳＤＲＡＭの標準インターフェースについて図３を用いて説明する。図３は、ＤＤＲ  ＳＤＲＡＭの標準インターフェースを示す図である。図３の例では、ＤＤＲ  ＳＤＲＡＭの標準インターフェースの例として、ＤＤＲ  ＤＩＭＭのＵＮＢＵＦＦＥＲＥＤ  ＤＩＭＭタイプを示す。図３に示すように、メモリコントローラ１０は、ＲＥＡＤ命令として、ＤＩＭＭ３０に対して、クロック信号「ＣＫ」と、クロック信号の位相を反転させた逆位相の信号である「＃ＣＫ」と、アドレスの行または列を指定する信号である「Ａ[１５：０]」とを送信する。また、メモリコントローラ１０は、ＲＥＡＤ命令として、ＤＩＭＭ３０に対して、アクティブのときには、Ａ[１５：０]で指定するアドレスが行を意味する「＃ＲＡＳ（Row  Address  Strobe）」、アクティブのときには、Ａ[１５：０]で指定するアドレスが列を意味する「＃ＣＡＳ（Column  Address  Strobe）」を送信する。また、メモリコントローラ１０は、ＤＩＭＭ３０に対して、リード／ライト指定信号であってインアクティブ時にＲＥＡＤモードとなる「＃ＷＥ(Write  Enable)」、アクティブのときに入力信号を有効にする「＃ＣＳ（Chip  Select）」を送信する。【００２３】
また、図３に示すように、ＤＩＭＭ３０は、８個のＳＤＲＡＭ０〜７を有している。各ＳＤＲＡＭは、ＲＥＡＤ命令（上述した「ＣＫ」、「＃ＣＫ」、「Ａ[１５：０]」、「＃ＲＡＳ」、「＃ＣＡＳ」、「＃ＷＥ」、「＃ＣＳ」）をメモリコントローラ１０から受信する。そして、各ＳＤＲＡＭ０〜７は、ＲＥＡＤ命令の応答として、１ビットのＤＱＳ信号、１ビットの＃ＤＱＳ信号、８ビットのＤＱ信号をメモリコントローラ１０にそれぞれ送信する。【００２４】
図１の説明に戻って、ＤＩＭＭ３０は、ＤＱＳ信号を送信するドライバ３１およびＤＱ信号を送信するドライバ３２を有する。ＤＩＭＭ３０は、メモリコントローラ１０からのＲＥＡＤ命令に対する応答信号として、ＤＩＭＭ３０からデータ信号であるＤＱ信号とクロック信号であるＤＱＳ信号とＤＱＳ信号の位相を反転させた逆位相の信号である＃ＤＱＳ信号とをメモリコントローラ１０に送信する。【００２５】
具体的には、ＤＩＭＭ３０は、ドライバ３１から、例えば、ビット幅が１８ビットの配線を介してＤＱＳ信号をメモリコントローラ１０に送信する。また、ドライバ３１は、ＤＱＳ信号とともに、ＤＱＳ信号を反転させた＃ＤＱＳ信号もメモリコントローラ１０に送信する。なお、＃ＤＱＳ信号は、クロストークによりＤＱＳ信号にノイズが混入したことをメモリコントローラ１０に検出するために送信される信号である。ＤＱＳ信号／＃ＤＱＳ信号を伝送する信号線１本のＤＱＳ信号／＃ＤＱＳ信号１ビットに対して、ＤＱ信号を伝送する信号線４本のＤＱ信号４ビットが対応している。つまり、ＤＱＳ信号と＃ＤＱＳ信号の１ビット分で、４ビット分のＤＱ信号の読み取りタイミングを示していることとなる。【００２６】
また、ＤＩＭＭ３０は、ドライバ３２から、例えば、ビット幅が７２ビットの配線を介してＤＱ信号をメモリコントローラ１０に送信する。なお、例えば、ドライバ３２から送信される７２ビットのデータのうち、６４ビットがＲＥＡＤ命令に対するデータであり、８ビットが誤り訂正用データである。ここで、図４を用いて、ＤＱＳ信号のデータフォーマットについて具体的に説明する。図４に示すように、データ信号ＤＱの７２本のうち、ＤＱ［０］からＤＱ［６３］までをデータビットとして、ＤＱ［６４］からＤＱ［７１］までをエラー訂正用ビットとしている。なお、ＤＩＭＭ３０の設定にて、バースト長をＢＬ＝８とした時、１回の読み出しに付き、データが８個連続読み出される。【００２７】
メモリコントローラ１０は、ＰＫＧ１１、レシーバ１２Ａ、レシーバ１２Ｂ、Ｄｅｌａｙ回路１３Ａ、Ｄｅｌａｙ回路１３Ｂ、Ｄｅｌａｙ値制御回路１４、ＦＦ（flip  flop）１５Ａ、ＦＦ１５Ｂ、Ｉｎｖｅｒｔｅｒ１６を有する。また、メモリコントローラ１０は、データ同期回路１７、エラー検出回路１８、波形採取制御部１９、Ａ／Ｄ（Analog  to  Digital）変換器２０、メモリ２１、システム回路２２を有する。【００２８】
ＰＫＧ１１は、ＤＩＭＭ３０との間に設けられた配線を介して接続されており、ＤＱ信号およびＤＱＳ信号をＤＩＭＭ３０、３０Ａから受信する。具体的には、パッケージ１１は、図２に示すように、配線基板１１ａおよび樹脂１１ｂを有し、シリコンチップ１２を外界の影響から遮断して保護するとともに、シリコンチップ１２をシステムボード５０上に配線接続する。【００２９】
レシーバ１２Ａは、ＤＱＳ信号および＃ＤＱＳ信号を受信する。具体的には、レシーバ１２Ａは、ＰＫＧ１１の配線基板１１ａに設けられた配線を介して、ＤＱＳ信号および＃ＤＱＳ信号をＤＩＭＭ３０、３０Ａから受信し、受信したＤＱＳ信号および＃ＤＱＳ信号の差分信号との差分をとって元のＤＱＳ信号を復元し、Ｄｅｌａｙ回路１３Ａに出力する。【００３０】
レシーバ１２Ｂは、ＤＱ信号を受信する。レシーバ１２が受信するＤＱ信号のバス幅は、７２ビットであり、ＤＱＳ信号のバス幅は、１８ビットである。ＤＱＳ信号の１ビットに対してＤＱ信号４ビットが対応している。具体的には、レシーバ１２Ｂは、ＰＫＧ１１の配線基板１１ａに設けられた配線を介して、ＤＱ信号をＤＩＭＭ３０、３０Ａから受信し、受信したＤＱ信号をＤｅｌａｙ回路１３Ｂに出力する。【００３１】
Ｄｅｌａｙ回路１３Ａは、レシーバ１２Ａによって受信されたＤＱＳ信号の出力タイミングを調整する。具体的には、Ｄｅｌａｙ回路１３Ａは、レシーバ１２Ａから出力されたＤＱＳ信号を遅延させてＦＦ１５Ａ、Ｉｎｖｅｒｔｅｒ１６およびＡ／Ｄ変換器２０に出力する。Ｄｅｌａｙ回路１３Ｂは、レシーバ１２Ｂによって受信されたＤＱ信号の出力タイミングを調整する。Ｄｅｌａｙ回路１３Ｂは、レシーバ１２Ｂによって受信されたＤＱ信号を遅延させてＦＦ１５Ａ、ＦＦ１５ＢおよびＡ／Ｄ変換器２０に出力する。なお、Ｄｅｌａｙ回路１３Ａ、１３Ｂでは、ＤＩＭＭ３０、３０Ａから送信されたＤＱ信号とＤＱＳ信号がメモリコントローラ１０に至るまでに生じた遅延時間のバラツキを吸収しているものとする。なお、ここでのバラツキとは、ＤＱ信号同士またはＤＱＳ信号同士の同一信号間での遅延バラツキ、および、ＤＱ信号とＤＱＳ信号との間に生じる遅延のバラツキ両方のことをいう。【００３２】
Ｄｅｌａｙ値制御回路１４は、Ｄｅｌａｙ回路１３Ａ、１３Ｂに遅延時間を設定する。具体的には、Ｄｅｌａｙ値制御回路１４は、外部端末から受け付けた遅延時間の設定値を記憶する設定レジスタ１４ａを有する。そして、Ｄｅｌａｙ値制御回路１４は、設定レジスタ１４ａが保持する遅延時間の設定値に応じて、Ｄｅｌａｙ回路１３Ａ、１３Ｂに遅延時間を遅延ＤＱＳ信号のタイミングがセットアップ時間及びホールド時間のタイミング規約を満たすように設定する。【００３３】
ここで、図５を用いて、Ｄｅｌａｙ回路１３ＡおよびＤｅｌａｙ値制御回路１４について具体的に説明する。図５は、Ｄｅｌａｙ回路の内部構造を示す図である。図５に示すように、Ｄｅｌａｙ回路１３Ａは、遅延素子であるバッファの段数がそれぞれ異なる複数の経路を有し、いずれかの経路にＤＱＳ信号を通すことでＤＱＳ信号を遅延させている。また、ＤＱＳ信号のビット幅「１８」に対して、Ｄｅｌａｙ回路１３Ａは、１８個設けられている。また、ＤＱ信号のビット幅「７２」に対して、Ｄｅｌａｙ回路１３Ｂは、７２個設けられている。【００３４】
また、図５の例では、Ｄｅｌａｙ値制御回路１４は、外部端末から遅延時間の初期設定が予め入力され、設定レジスタ１４ａに遅延時間の設定値が記憶されているものとする。そして、Ｄｅｌａｙ値制御回路１４は、設定レジスタ１４ａに記憶された遅延時間の設定値に応じて、レシーバ１２Ａから入力されたＤＱＳ信号が通る信号経路を選択し、ＤＱＳ信号の遅延時間を制御する。なお、図５では、Ｄｅｌａｙ回路１３Ａの例を示しているが、Ｄｅｌａｙ回路１３ＢもＤｅｌａｙ回路１３Ａと同様の構成であり、Ｄｅｌａｙ値制御回路１４によって遅延時間が制御される。【００３５】
ＦＦ１５Ａは、Ｄｅｌａｙ回路１３Ａによって出力された遅延ＤＱＳ信号の立ち上がりに合わせて、Ｄｅｌａｙ回路１３Ｂによって出力された遅延ＤＱ信号を読み取る。具体的には、ＦＦ１５Ａは、Ｄｅｌａｙ回路１３Ａによって出力された遅延ＤＱＳ信号の電圧値が所定の閾値を超えた場合に、遅延ＤＱ信号を読み取り、読み取った遅延ＤＱ信号をデータ同期回路１７に出力する。【００３６】
また、Ｉｎｖｅｒｔｅｒ１６は、Ｄｅｌａｙ回路１３Ａから入力された遅延ＤＱＳ信号を反転させてＦＦ１５Ｂに出力する。ＦＦ１５Ｂは、Ｉｎｖｅｒｔｅｒ１６によって出力された遅延ＤＱＳ信号の立ち上がりに合わせて、Ｄｅｌａｙ回路１３Ｂによって出力された遅延ＤＱ信号を読み取る。具体的には、ＦＦ１５Ｂは、Ｉｎｖｅｒｔｅｒ１６によって出力された遅延ＤＱＳ信号の電圧値が所定の閾値を超えた場合に、遅延ＤＱ信号を読み取り、読み取った遅延ＤＱ信号をデータ同期回路１７に出力する。【００３７】
データ同期回路１７は、ＦＦ１５Ａから出力されたデータとＦＦ１５Ｂのデータとを内部クロックに合わせて同期させてエラー検出回路１８に出力する。ここで、図６を用いて、データ同期回路の詳細な構成を説明する。図６に示すように、データ同期回路１７は、複数の位相比較回路１７ａおよび複数のＤｅｌａｙ回路１７ｂを有する。データ同期回路１７は、位相比較回路１７ａが３６個設けられ、各位相比較回路１７ａには、Ｄｅｌａｙ回路１７ｂが８個接続されている。また、データ同期回路１７は、ＦＦ１５Ａから出力され、バス幅が１８ビットの遅延ＤＱＳ［１７：０］と、Ｉｎｖｅｒｔｅｒ１６によって反転され、ＦＦ１５Ｂから出力されバス幅が１８ビットの遅延＃ＤＱＳ［１７：０］を受信する。また、データ同期回路１７は、ＦＦ１５Ａから出力されたバス幅が７２ビットの遅延ＤＱ信号［７１：０］と、ＦＦ１５Ｂから出力されたバス幅が７２ビットの遅延＃ＤＱ信号［７１：０］とを受信する。【００３８】
位相比較回路１７ａは、各ＦＦ１５Ａ、１５Ｂから出力された遅延ＤＱＳ信号または遅延＃ＤＱＳ信号とメモリコントローラ１０のクロック信号ＣＬＫとの位相比較を行い、ＣＬＫと遅延ＤＱＳとの差分をもとめ、ＣＬＫと遅延ＤＱＳの差分をＤｅｌａｙ回路１７ｂに設定値として入力する。そして、Ｄｅｌａｙ回路１７ｂは、遅延ＤＱ信号に遅延時間を与えることで、メモリコントローラ１０のクロック信号と遅延ＤＱ信号の同期をとり、エラー検出回路１８へ出力する。【００３９】
ここで、図７を用いて、データ同期回路の同期処理について説明する。図７は、データ同期回路のタイミングチャートを示す図である。図７に示すように、データ同期回路１７は、遅延ＤＱＳ信号とクロック信号ＣＬＫとの差分をもとめ、Ｄｅｌａｙ回路１７ｂが遅延ＤＱ信号を差分だけ遅延させてクロック信号ＣＬＫに同期させる。【００４０】
ここで、図８を用いて、ＤＱ信号およびＤＱＳ信号の出力タイミングについて説明する。図８は、ＤＱ信号およびＤＱＳ信号の出力タイミングを示す図である。図８の例では、「ＤＱ[０]」の波形は、ＤＩＭＭ３０から受信したＤＱ信号の波形（図８の例では、７２ビットあるうちの１ビット目の波形）である。「ＤＱＳ」の波形は、ＤＩＭＭ３０から受信したＤＱＳ信号の波形であり、「Ｄｅｌａｙ回路１３Ｂ出力」の波形は、Ｄｅｌａｙ回路１３Ｂから出力された遅延ＤＱ信号の波形（７２ビットあるうちの１ビット目の波形）である。また、「Ｄｅｌａｙ回路１３Ａ出力」の波形は、Ｄｅｌａｙ回路１３Ａから出力された遅延ＤＱＳ信号の波形であり、「ＦＦ１５Ａ出力」の波形は、ＦＦ１５Ａから出力された遅延ＤＱ信号の波形である。また、「Ｉｎｖｅｒｔｅｒ出力」の波形は、Ｉｎｖｅｒｔｅｒ１６から出力された遅延ＤＱＳ信号の波形であり、「ＦＦ１５Ｂ出力」の波形は、ＦＦ１５Ｂから出力された遅延ＤＱ信号の波形である。なお、図８では、縦軸が電圧値を示し、横軸が時間を示しており、横軸が同じであれば、同一の時間軸であることを示している。【００４１】
図８に例示するように、ＤＩＭＭ３０から受信した「ＤＱＳ」がＤｅｌａｙ回路１３Ａに入力されて９０度遅延された後、Ｄｅｌａｙ回路１３Ａから遅延ＤＱＳ信号として出力される。そして、Ｄｅｌａｙ回路１３Ａから出力された遅延ＤＱＳ信号の電圧値が所定の閾値以上となったタイミングで遅延ＤＱ信号がＦＦ１５Ａに読み出され、ＦＦ１５Ａからデータ同期回路１７に出力される。図８の例を用いて説明すると、ＦＦ１５Ａは、Ｄｅｌａｙ回路１３Ａから出力された遅延ＤＱＳ信号の電圧値が所定の閾値以上となったタイミングで、遅延ＤＱ信号のデータ「Ｄ０」、「Ｄ２」、「Ｄ４」、「Ｄ６」を読み出してデータ同期回路１７に出力する。【００４２】
また、Ｉｎｖｅｒｔｅｒ１６によって反転された遅延ＤＱＳ信号が所定の閾値以上となったタイミングで遅延ＤＱがＦＦ１５Ｂに読み出され、ＦＦ１５Ｂからデータ同期回路１７に出力される。図８の例を用いて説明すると、ＦＦ１５Ｂは、Ｉｎｖｅｒｔｅｒ１６が反転させた遅延ＤＱＳ信号の電圧値が所定の閾値以上となったタイミングで、遅延ＤＱ信号のデータ「Ｄ１」、「Ｄ３」、「Ｄ５」、「Ｄ７」を読み出してデータ同期回路１７に出力している。【００４３】
エラー検出回路１８は、遅延ＤＱ信号の読み取りをＦＦ１５ＡまたはＦＦ１５Ｂが失敗したことを検出する。具体的には、エラー検出回路１８は、遅延ＤＱ信号に含まれる誤り訂正用データを用いて、ＦＦ１５Ａ、１５Ｂに読み取られた遅延ＤＱ信号に誤りがないかを検出し、誤りを検出した場合には、エラーを検出した旨の通知を波形採取制御部１９に送信する。なお、エラー検出回路１８は、遅延ＤＱ信号の６５ビット目から７２ビット目に含まれる誤り訂正用データを用いて１ビット目から６４ビット目のデータの誤りを検出する。また、システム回路２２は、エラー検出回路１８の後段に設けられている。システム回路２２は、エラー検出回路１８によってエラーがないことが確認されたデータを使う。【００４４】
波形採取制御部１９は、Ｄｅｌａｙ回路１３Ａから出力された遅延ＤＱＳの受信波形と、Ｄｅｌａｙ回路１３Ｂから出力された遅延ＤＱ信号の電圧値をサンプリングするＡ／Ｄ変換器２０の動作を制御する。具体的には、波形採取制御部１９は、エラー検出回路１８からエラーを検出した旨の情報を受信した場合には、読み取り失敗時における遅延ＤＱ信号の電圧値および遅延ＤＱＳ信号の電圧値をサンプリングするようにＡ／Ｄ変換器２０の動作を制御する。なお、Ａ／Ｄ変換器２０のサンプリング周波数は、７．５ｐｓ（pico  second）である。【００４５】
例えば、ＤＩＭＭ３０の初期出荷時において、波形採取制御部１９は、エラー検出回路１８にてＭ回目のエラーが検出された場合には、Ａ／Ｄ変換器２０の動作を開始して遅延ＤＱ信号および遅延ＤＱＳ信号の電圧値をＡ／Ｄ変換器２０にサンプリングさせ、メモリ２１に送信させる。その後、波形採取制御部１９は、エラー検出回路１８にてＮ回目のエラーが検出された場合には、Ａ／Ｄ変換器２０の動作を停止して、メモリ２１に蓄えていたデータをＰＣ４０に送信する。【００４６】
つまり、ＤＩＭＭ３０の初期出荷時には、エラーが頻発するため、Ｍ回目のエラーが検出されるまでＡ／Ｄ変換器２０の動作を開始させずにＤＩＭＭ３０の動作が安定するのを待ち、Ｍ回目のエラーが検出された後にＡ／Ｄ変換器２０を動作させる。ここで、ＤＩＭＭの初期出荷時にエラーが頻発するのは、初期出荷時においてはＤＩＭＭの品質が一定でなく動作が不安定な場合があるからである。また、Ｍ回目のエラーが検出されるまでＡ／Ｄ変換器２０の動作を開始させないのは、ＤＩＭＭ３０の動作開始後すぐは動作が安定せず、エラーが特に頻繁に発生するため、動作開始後しばらくしてＤＩＭＭ３０の動作が安定するのを待ってからＡ／Ｄ変換器２０を動作させるためである。これにより、ＤＩＭＭの初期出荷時においても、メモリコントローラ１０内部のＰＫＧ１１やＤｅｌａｙ回路１３Ａ、１３Ｂによる遅延時間のバラツキの影響を受けた遅延ＤＱ信号および遅延ＤＱＳ信号の電圧値をサンプリングすることができる。なお、上述したＤＩＭＭの動作不安定な場合における電圧値をサンプリングする方式について、以下では「第一収集方式」という。【００４７】
また、例えば、ＤＩＭＭの生産量が一定になってＤＩＭＭの品質が安定した場合には、波形採取制御部１９は、ＰＣ４０から動作開始を受け付けると、Ａ／Ｄ変換器２０の動作を開始してデータを採取させ、メモリ２１に送信する。そして、エラー検出回路１８にてエラーが検出された場合には、Ａ／Ｄ変換器２０の動作を停止して、メモリ２１に蓄えていたデータをＰＣ４０に送信する。【００４８】
つまり、ＤＩＭＭの生産量が一定になった状況では、長時間に数回しかエラーが発生しないＤＩＭＭに対応するために、エラーが発生する前からＡ／Ｄ変換器２０の動作を開始させておく。ここで、ＤＩＭＭの生産量が一定になると長時間に数回しかエラーが発生しないのは、ＤＩＭＭの生産量が一定になるとともに、ＤＩＭＭの品質も安定し、ＤＩＭＭの動作が安定してくるからである。【００４９】
そして、エラーが発生するとＡ／Ｄ変換器２０の動作を停止して、メモリ２１に蓄えていたＡ／Ｄ変換器２０がサンプリングした蓄積データをＰＣ４０に送信する。なお、上述したＤＩＭＭの生産量が一定になった状況における電圧値をサンプリングする方式について、以下では「第二収集方式」という。また、第一収集方式による電圧値のサンプリングを行うか第二収集方式による電圧値のサンプリングを行うかについては、波形採取制御部１９がＰＣ４０から動作設定を受け付けて決定される。【００５０】
ここで、図９を用いて、波形採取制御部１９の詳細な構成を説明する。図９に示すように、波形採取制御部１９は、Ｉ２Ｃ（Ｉｎｔｅｒ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）コントローラ１９ａ、エラーカウント数レジスタ１９ｂ、波形採取シーケンサ１９ｃおよびＡ／Ｄ変換器動作設定部１９ｄを有する。【００５１】
Ｉ２Ｃコントローラ１９ａは、ＰＣ４０との間で通信を制御する。具体的には、Ｉ２Ｃコントローラ１９ａは、動作設定として、上述した第一収集方式を行うか第二収集方式を行うかの指示や、Ａ／Ｄ変換器２０に動作の開始条件や停止条件の具体的な内容をＰＣ４０から受信する。また、Ｉ２Ｃコントローラ１９ａは、メモリ２１から読み出した遅延ＤＱ信号および遅延ＤＱＳ信号のデータをＰＣ４０に送信する。エラーカウント数レジスタ１９ｂは、エラー検出回路１８が検出したエラー数を記憶する。【００５２】
波形採取シーケンサ１９ｃは、第一収集方式による電圧値のサンプリングを行う場合には、エラーカウント数レジスタ１９ｂに記憶されたエラー数がＭ回になると、Ａ／Ｄ変換器２０の動作開始の指示をＡ／Ｄ変換器動作設定部１９ｄに通知する。その後、波形採取シーケンサ１９ｃは、エラーカウント数レジスタ１９ｂに記憶されたエラー数がＮ回になった場合には、Ａ／Ｄ変換器２０の動作停止の指示をＡ／Ｄ変換器動作設定部１９ｄに通知する。【００５３】
また、波形採取シーケンサ１９ｃは、第二収集方式による電圧値のサンプリングを行う場合には、ＰＣ４０から動作開始を受け付けると、Ａ／Ｄ変換器２０の動作開始の指示をＡ／Ｄ変換器動作設定部１９ｄに通知する。その後、エラー検出回路１８にてエラーが検出されると、Ａ／Ｄ変換器２０の動作停止の指示をＡ／Ｄ変換器動作設定部１９ｄに通知する。【００５４】
Ａ／Ｄ変換器動作設定部１９ｄは、波形採取シーケンサ１９ｃからＡ／Ｄ変換器２０の動作開始の指示を受け付けた場合には、Ａ／Ｄ変換器２０に対して動作の開始を設定する。また、Ａ／Ｄ変換器動作設定部１９ｄは、Ａ／Ｄ変換器２０の動作停止の指示を受け付けた場合には、Ａ／Ｄ変換器２０に対して動作の停止を設定する。【００５５】
Ａ／Ｄ変換器２０は、所定の時間ごとに、採取された遅延ＤＱ信号および遅延ＤＱＳ信号をそれぞれ電圧の値に変換し、変換された電圧値をメモリ２１に記憶させる。具体的には、Ａ／Ｄ変換器２０は、波形採取制御部１９から動作開始の指示を受け付けた場合には、Ｄｅｌａｙ回路１３Ｂから出力された遅延ＤＱ信号と、Ｄｅｌａｙ回路１３ＡおよびＩｎｖｅｒｔｅｒ１６から出力された遅延ＤＱＳ信号とを所定の時間（例えば、７．５ｐｓ（pico  second））ごとに、それぞれ電圧の値に変換する動作を開始する。そして、Ａ／Ｄ変換器２０は、採取された遅延ＤＱ信号および遅延ＤＱＳ信号をそれぞれ電圧の値に変換し、変換された電圧値をメモリ２１に記憶させる。【００５６】
また、Ａ／Ｄ変換器２０は、波形採取制御部１９から動作停止の指示を受け付けた場合には、Ｄｅｌａｙ回路１３Ｂから出力された遅延ＤＱ信号の電圧値と、Ｄｅｌａｙ回路１３ＡおよびＩｎｖｅｒｔｅｒ１６から出力された遅延ＤＱＳ信号の電圧値とを採取する動作を停止する。【００５７】
ここで、図１０を用いて、Ａ／Ｄ変換器２０の詳細な構成について説明する。図１０に示すように、Ａ／Ｄ変換器２０は、複数の並列比較形Ａ／Ｄ変換器２０ａを有する。Ａ／Ｄ変換器２０は、Ｄｅｌａｙ回路１３Ａから受信する遅延ＤＱＳ信号のバス幅が１８ビットであり、Ｉｎｖｅｒｔｅｒ１６から受信する遅延＃ＤＱＳ信号のバス幅が１８ビットであり、Ｄｅｌａｙ回路１３Ｂから受信する遅延ＤＳ信号が７２ビットである。並列比較形Ａ／Ｄ変換器２０ａは、１０８個設けられ、遅延ＤＱＳ信号、遅延＃ＤＱＳ信号および遅延ＤＱ信号の各ビットが入力される。各並列比較形Ａ／Ｄ変換器２０ａは、遅延ＤＱＳ信号、遅延＃ＤＱＳ信号および遅延ＤＱ信号が入力され、それぞれ電圧の値に変換し、変換された電圧値をメモリ２１に記憶させる。【００５８】
ここで、図１１を用いて、Ａ／Ｄ変換器２０およびメモリ２１の動作タイミングについて説明する。図１１は、Ａ／Ｄ変換器とメモリの動作タイミングを説明する図である。図１１では、第一の収集方式の例を用いて、Ａ／Ｄ変換器２０およびメモリ２１の動作タイミングを説明する。図１１に示すように、Ａ／Ｄ変換器２０は、エラー検出回路１８によってＭ回目のエラーが検出されると、遅延ＤＱ信号および遅延ＤＱＳ信号の電圧値を採取する動作を開始する。そして、Ａ／Ｄ変換器２０は、メモリ２１にデータを書き込みながら、エラー検出回路１８によってＮ回目のエラーが検出されると、遅延ＤＱ信号および遅延ＤＱＳ信号の電圧値を採取する動作を終了する。【００５９】
そして、Ａ／Ｄ変換器２０は、動作を開始してから終了するまでに採取した遅延ＤＱ信号および遅延ＤＱＳ信号の電圧値をメモリ２１に記憶させる。その後、波形採取制御部１９は、メモリデータ２１として記憶された遅延ＤＱ信号および遅延ＤＱＳ信号の電圧値を読み出し、ＰＣ４０に送信する。【００６０】
メモリ２１は、Ａ／Ｄ変換器２０によって変換された遅延ＤＱ信号および遅延ＤＱＳ信号の電圧値を記憶する。具体的には、メモリ２１は、図１２に示すように、遅延ＤＱ信号および遅延ＤＱＳ信号それぞれについて、Ａ／Ｄ変換器２０が動作を開始してからの経過時間を示す「採取時間」と、遅延ＤＱ信号または遅延ＤＱＳ信号の電圧の値を示す「電圧値」とを対応付けて記憶する。なお、採取時間の値の単位は、「pｓ（pico  second）」であり、電圧値の単位は、「Ｖ（volt）」である。図１２は、メモリが記憶するデータの一例を示す図である。【００６１】
ＰＣ４０は、遅延ＤＱ信号および遅延ＤＱＳ信号の電圧値に関するデータをメモリコントローラ１０から受信し、受信したデータを用いて、遅延ＤＱ信号および遅延ＤＱＳ信号の受信波形を表示する。具体的には、ＰＣ４０は、メモリコントローラ１０のメモリ２１に記憶された採取時間および電圧値を波形採取制御部１９から受信すると、採取時間および電圧値を用いて、遅延ＤＱ信号および遅延ＤＱＳ信号の受信波形を表示する。【００６２】
また、ＰＣ４０は、遅延ＤＱＳ信号の受信波形の立ち上がりに対して、遅延ＤＱ信号のセットアップタイムとホールドタイムを算出し、ＤＤＲ  ＳＤＲＡＭのタイミング規約に対して、セットアップタイムとホールドタイムが不足していないかを判定する。【００６３】
ここで、図１３〜図１５の例を用いて、ＤＤＲ  ＳＤＲＡＭのタイミング規約において、遅延ＤＱＳ信号に対する遅延ＤＱ信号のセットアップタイムとホールドタイムが足りている場合と不足している場合について説明する。図１３は、ＤＱＳ信号とＤＱ信号の受信波形を示す図である。図１４は、セットアップ不足時のＤＱＳ信号とＤＱ信号の受信波形を示す図である。図１５は、ホールドタイム不足時のＤＱＳ信号とＤＱ信号の受信波形を示す図である。なお、図１３〜図１５では、縦軸が電圧値を示しており、横軸が時間を示している。【００６４】
例えば、図１３に示すように、遅延ＤＱＳ信号の電圧値が閾値を越えたタイミングにおいて、遅延ＤＱ信号が立ち上がってから十分に時間が経過し、かつ、立ち下がるまでに所定の時間があることから、ＰＣ４０は、セットアップタイムおよびホールドタイムが十分に足りていると判定する。つまり、遅延ＤＱＳ信号の電圧値が閾値を越えたタイミングで遅延ＤＱ信号がＦＦ１５Ａ、１５Ｂに読み取られるため、図１３の例では、セットアップタイムおよびホールドタイムを確保して、ＦＦ１５Ａ、１５Ｂが適切に遅延ＤＱ信号を読み取れていることが確認できる。【００６５】
また、図１４の例では、ＰＣ４０は、遅延ＤＱＳ信号の電圧値が閾値を越えたタイミングで、遅延ＤＱ信号の受信波形が立ち上がっているので、セットアップタイムが不足していると判定する。また、図１５の例では、ＰＣ４０は、遅延ＤＱＳ信号の電圧値が閾値を越えたタイミングで、遅延ＤＱ信号の受信波形が立ち下がっているので、ホールドタイムが不足していると判定する。【００６６】
つまり、ＰＣ４０は、メモリコントローラ１０から受信した遅延ＤＱ信号の受信波形および遅延ＤＱＳ信号の受信波形を表示することで、遅延ＤＱ信号とそれぞれの遅延ＤＱＳ信号とがＤＤＲ  ＳＤＲＡＭのタイミング規約を満たしているか否かを観測することができる。そして、ＰＣ４０は、セットアップタイムおよびホールドタイムが不足しているか否かを判定する。この結果、セットアップタイムまたはホールドタイムが不足している場合には、ＦＦ１５Ａ、１５Ｂの読み取りエラーの原因がメモリコントローラ１０の内部の遅延時間のバラツキによるものと判断することができる。【００６７】
また、例えば、ＰＣ４０は、遅延ＤＱ信号の受信波形をアイパターン表示し、閾値Ｖｔｈ、Ｖｔｌに対する窓幅ｔｕｐとｔｄｏｗｎの時間幅を算出し、窓幅ｔｕｐとｔｄｏｗｎが不足していないか確認してもよい。また、閾値Ｖｔｈとは、遅延ＤＱ信号の立ち上がりを検出する電圧レベルのことであり、閾値Ｖｔｌとは、遅延ＤＱ信号の立ち下がりを検出する電圧レベルのことである。ここで、アイパターンとは、サンプリングされた遅延ＤＱ信号の電圧値を時系列で表示したものである。また、窓幅ｔｕｐとは、遅延ＤＱ信号の電圧値が閾値Ｖｔｈよりも高い間の時間幅のことをいい、窓幅ｔｄｏｗｎとは、遅延ＤＱ信号の電圧値が閾値Ｖｔｌよりも低い時間幅のことをいう。【００６８】
ここで、図１６、１７の例を用いて、遅延ＤＱ信号のセットアップタイムとホールドタイムがＤＤＲ  ＳＤＲＡＭのタイミング規約に対して、足りている場合と不足している場合について説明する。図１６は、遅延ＤＱ信号のアイパターンを示す図である。図１７は、振幅異常時の遅延ＤＱ信号のアイパターンを示す図である。【００６９】
図１６の例では、ＰＣ４０は、遅延ＤＱ信号の受信波形が閾値Ｖｔｈ、Ｖｔｌに対する窓幅ｔｕｐとｔｄｏｗｎの時間幅が十分に足りていると判定する。これに対して、図１７の例では、振幅異常により遅延ＤＱ信号の電圧値が閾値Ｖｔｈよりも低いため、ＰＣ４０は、遅延ＤＱ信号の立ち上がりを検出できず、閾値Ｖｔｈに対する窓幅ｔｕｐの時間幅が不足していると判定する。つまり、図１７の例では、遅延ＤＱ信号の立ち上がりを検出できないので、ＦＦ１５Ａ、１５Ｂが遅延ＤＱ信号から誤ったデータを読み取ってしまう。【００７０】
つまり、ＰＣ４０は、メモリコントローラ１０から受信した遅延ＤＱ信号の受信を表示することで、遅延ＤＱ信号が遅延ＤＱＳ信号に対してＤＤＲ  ＳＤＲＡＭのタイミング規約を満たしているか否かを観測することもできる。そして、ＰＣ４０は、窓幅ｔｕｐとｔｄｏｗｎが不足しているか判定し、窓幅ｔｕｐとｔｄｏｗｎが不足している場合には、ＦＦ１５Ａ、１５Ｂの読み取りエラーの原因がＤＩＭＭ３０単体のエラーによるものであると判断することができる。【００７１】
［メモリコントローラによる処理］
次に、図１８〜図２０を用いて、実施例１に係るメモリコントローラ１０およびＰＣ４０による第一収集方式及び第二収集方式の処理を説明する。図１８および図１９は、それぞれ実施例１に係る第一収集方式及び第二収集方式のメモリコントローラ１０の処理動作を示すフローチャートである。図２０は、実施例１に係るメモリコントローラが収集した受信波形を表示するＰＣの処理動作を示すフローチャートである。【００７２】
図１８に示すように、メモリコントローラ１０は、ＰＣ４０からＡ／Ｄ変換器２０の動作設定を受け付けて（ステップＳ１０１）、ＤＩＭＭ３０からＤＱ信号およびＤＱＳ信号の受信を開始する（ステップＳ１０２）。【００７３】
そして、波形採取制御部１９は、エラー検出回路１８によってＭ回目のエラーが検出されたか判定する（ステップＳ１０３）。この結果、波形採取制御部１９がエラー検出回路１８によってＭ回目のエラーが検出されていないと判定した場合には（ステップＳ１０３否定）、メモリコントローラ１０は、Ｓ１０２に戻って、ＤＩＭＭ３０からＤＱ信号およびＤＱＳ信号を受信する処理を続ける。【００７４】
また、波形採取制御部１９は、エラー検出回路１８によってＭ回目のエラーが検出されたと判定した場合には（ステップＳ１０３肯定）、Ａ／Ｄ変換器２０を動作させてメモリ２１にサンプリングした遅延ＤＱ信号および遅延ＤＱＳ信号の電圧値を記憶させる（ステップＳ１０４）。そして、メモリコントローラ１０は、ＤＩＭＭ３０からＤＱ信号およびＤＱＳ信号を受信する処理を行う（ステップＳ１０５）。そして、波形採取制御部１９は、エラー検出回路１８によってＮ回目のエラーが検出されたか判定する（ステップＳ１０６）。【００７５】
この結果、波形採取制御部１９がエラー検出回路１８によってＮ回目のエラーが検出されていないと判定した場合には（ステップＳ１０６否定）、メモリコントローラ１０は、Ｓ１０５に戻って、ＤＩＭＭ３０からＤＱ信号およびＤＱＳ信号を受信する処理を続ける。また、波形採取制御部１９は、エラー検出回路１８によってＮ回目のエラーが検出されたと判定した場合には（ステップＳ１０６肯定）、Ａ／Ｄ変換器２０を停止させる（ステップＳ１０７）。そして、波形採取制御部１９は、メモリ２１に蓄積されたデータを読み出してＰＣ４０へ転送する（ステップＳ１０８）。【００７６】
次に、第二の収集方法によるメモリコントローラの受信波形採取処理を説明する。具体的には、メモリコントローラ１０は、ＰＣ４０からＡ／Ｄ変換器２０の動作設定を受け付けると（ステップＳ２０１）、Ａ／Ｄ変換器２０を動作させてメモリ２１に遅延ＤＱ信号および遅延ＤＱＳ信号の電圧値を記憶させる（ステップＳ２０２）。そして、メモリコントローラ１０は、メモリコントローラ１０がＤＩＭＭ３０からＤＱ信号およびＤＱＳ信号を受信する処理を開始する（ステップＳ２０３）。【００７７】
そして、波形採取制御部１９は、エラー検出回路１８によってエラーが検出されたか判定する（ステップＳ２０４）。この結果、波形採取制御部１９は、エラー検出回路１８によってエラーが検出されていないと判定した場合には（ステップＳ２０４否定）、Ｓ２０３に戻って、メモリコントローラ１０がＤＩＭＭ３０からＤＱ信号およびＤＱＳ信号を受信する処理を続行する。ここで、エラーとは、誤り訂正符号によって検出される誤ったデータが送信されたエラーのことをいう。【００７８】
また、波形採取制御部１９は、エラー検出回路１８によってエラーが検出されたと判定した場合には（ステップＳ２０４肯定）、Ａ／Ｄ変換器２０を停止させる（ステップＳ２０５）。そして、波形採取制御部１９は、メモリ２１に蓄積されたデータを読み出してＰＣ４０へ転送する（ステップＳ２０６）。【００７９】
次に、メモリコントローラ１０が収集した電圧値を表示するＰＣ４０の動作を説明する。ＰＣ４０は、第一の収集方式または第二の収集方式で収集した遅延ＤＱ信号の電圧値および遅延ＤＱＳ信号の電圧値をメモリコントローラ１０から受信する（ステップＳ３０１）。そして、ＰＣ４０は、ＤＱ信号の電圧値およびＤＱＳ信号の電圧値からセットアップタイムとホールドタイムが十分にあるか判定する（ステップＳ３０２）。【００８０】
この結果、ＰＣ４０は、ＤＤＲ  ＳＤＲＡＭのタイミング規約において、遅延ＤＱ信号が遅延ＤＱＳ信号に対してセットアップタイムとホールドタイムが十分にないと判定した場合には（ステップＳ３０２否定）、メモリコントローラ１０にエラーの原因があるとして、メモリコントローラ１０のＤｅｌａｙ値制御回路１４の設定値を変更する（ステップＳ３０３）。また、ＰＣ４０は、セットアップタイムとホールドタイムが十分にあると判定した場合には（ステップＳ３０２肯定）、ＤＩＭＭ単体にエラーの原因があると判断する（ステップＳ３０４）。【００８１】
[実施例１の効果]
上述してきたように、メモリコントローラ１０は、ＤＩＭＭ３０から送信されたＤＱ信号を受信するレシーバ１２Ａと、送信回路から送信された、データ信号の読み取りタイミングを示すＤＱＳ信号を受信するレシーバ１２Ｂとを有する。また、メモリコントローラ１０は、受信されたタイミング信号の出力タイミングを調整するＤｅｌａｙ回路１３Ａを有する。そして、メモリコントローラ１０は、Ｄｅｌａｙ回路１３Ａによって出力タイミングが調整された遅延ＤＱＳ信号に応じて、ＤＱ信号を読み取る。そして、メモリコントローラ１０は、遅延ＤＱ信号の電圧値と、遅延ＤＱＳ信号の電圧値とを取得する。このため、メモリコントローラの内部における遅延ＤＱ信号およびを遅延ＤＱＳ信号の電圧値から信号波形を把握することができ、遅延ＤＱ信号のタイミングがセットアップ時間及びホールド時間のタイミング規約を満たしているかどうか把握することが可能である。【００８２】
また、実施例１によれば、メモリコントローラ１０は、ＤＱ信号に誤りがあることを検出し、ＤＱ信号に誤りがあることが所定の回数検出された場合には、ＤＱ信号の電圧値と調整タイミング信号の電圧値とを取得する。この結果、ＤＩＭＭ３０の初期出荷時にエラーが頻発しているような場合であっても、遅延ＤＱ信号のタイミングがセットアップ時間及びホールド時間のタイミング規約を満たしているかどうか適切に把握することが可能である。【００８３】
また、実施例１によれば、メモリコントローラ１０は、ＤＱ信号に誤りがあることが検出された場合には、データ信号に誤りがあることが検出された時におけるＤＱ信号の電圧値と遅延ＤＱＳ信号の電圧値とを取得する。この結果、ＤＩＭＭの品質も安定している場合にも、遅延ＤＱ信号のタイミングがセットアップ時間及びホールド時間のタイミング規約を満たしているかどうか適切に把握することが可能である。【００８４】
また、実施例１によれば、メモリコントローラ１０は、Ａ／Ｄ変換器２０によって採取されたＤＱ信号の電圧値とＤＱＳ信号の電圧値とをＰＣ４０に出力する。この結果、ＰＣ４０がＤＱ信号の波形とＤＱＳ信号の波形を表示することで、エラーが発生する原因がメモリコントローラ１０にあるのかＤＩＭＭ３０にあるのか判断することができる。例えば、メモリコントローラ１０がＤＱ信号のデータ読み取りのエラーがある場合に、ＰＣ４０は、セットアップタイムとホールドタイムが十分でなければ、メモリコントローラ内部の遅延時間のバラツキによりエラーが発生する原因があるタイミング障害が発生したと判断することができる。また、ＰＣ４０は、セットアップタイムとホールドタイムが十分であれば、ＤＩＭＭが出力するデータにエラーが発生する原因があるＤＩＭＭ障害が発生したと判断することができる。
【実施例２】
【００８５】
さて、これまで実施例１について説明したが、上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では実施例２として本実施例に含まれる他の実施例を説明する。【００８６】
（１）テストパターン
ＤＩＭＭとメモリコントローラの環境状態を変化させ、ＤＩＭＭとメモリコントローラの環境状態を変化させた状態で、ＤＩＭＭから送信されたＤＱ信号およびＤＱＳ信号をそれぞれ電圧の値に変換し、変換された電圧値をメモリに記憶させるようにしてもよい。【００８７】
具体的には、ＤＩＭＭに対して所定のテストパターンを予め書き込んでおく。そして、メモリコントローラは、ＤＩＭＭに対してＲＥＡＤ命令を発行して、ＤＩＭＭからテストパターンを読み出す。ここで、メモリコントローラがテストパターンを読み出している際に、ＤＩＭＭとメモリコントローラの環境状態を変化させる。【００８８】
そして、環境が変化した状態で、メモリコントローラは、Ｄｅｌａｙ回路から出力された遅延ＤＱ信号および遅延ＤＱＳ信号をそれぞれ電圧の値に変換し、変換された電圧値をメモリに記憶させる。【００８９】
例えば、メモリコントローラがテストパターンを読み出している際に、ＤＩＭＭとメモリコントローラの周辺の温度を上昇させて、環境状態を変化させる。このように、ＤＩＭＭとメモリコントローラの周辺の温度を上昇させた場合には、データ化けが発生する等のエラーが発生することがある。このような環境の変化によるエラーが発生した状態で、メモリコントローラの内部の遅延ＤＱ信号および遅延ＤＱＳ信号をそれぞれ電圧の値に変換し、変換された電圧値をメモリ２１に記憶させることができる。【００９０】
（２）送受信装置
実施例１では、ＤＩＭＭとメモリコントローラとの間で信号の送受信を行う場合の例について説明したが、これに限定されるものではなく、信号の送受信を行う装置同士であれば、ＤＩＭＭとメモリコントローラに限られず、様々な装置に適用することができる。【００９１】
（３）メモリ
実施例１では、Ａ／Ｄ変換器が採取したデータをメモリに記憶し、メモリに記憶されたデータをＰＣに送信する場合の例について説明したが、これに限定されるものではなく、メモリを設けずに、Ａ／Ｄ変換器が採取したデータを直接ＰＣに送信してもよい。【００９２】
（４）システム構成等
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、データ同期回路１７とエラー検出回路１８を統合してもよい。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【符号の説明】
【００９３】
１０  メモリコントローラ
１１  ＰＫＧ
１１ａ  配線基板
１１ｂ  樹脂
１２  シリコンチップ
１２Ａ、１２Ｂ  レシーバ
１３Ａ、１３Ｂ  Ｄｅｌａｙ回路
１４  Ｄｅｌａｙ値制御回路
１４ａ  設定レジスタ
１５Ａ、１５Ｂ  ＦＦ
１６  Ｉｎｖｅｒｔｅｒ
１７  データ同期回路
１８  エラー検出回路
１９  波形採取制御部
２０  Ａ／Ｄ変換器
２１  メモリ
２２  システム回路
３０、３０Ａ  ＤＩＭＭ
３１、３２  ドライバ
３３、３３Ａ  ＳＤＲＡＭ
３４、３４Ａ  ソケット
４０  ＰＣ
５０  システムボード
６０  配線
１００  メモリコントローラ
１１０  ＰＫＧ
１２０、１２１  レシーバ
１３０、１３１  Ｄｅｌａｙ回路
１４０  Ｄｅｌａｙ値制御回路
１４ａ  設定レジスタ
１５０、１５１  ＦＦ
１６０  Ｉｎｖｅｒｔｅｒ
１７０  データ同期回路
２００  ＤＩＭＭ
２０１、２０２  ドライバ
３００  オシロスコープ
【図１】
2012059985.tif 000003
【図２】
2012059985.tif 000004
【図３】
2012059985.tif 000005
【図４】
2012059985.tif 000006
【図５】
2012059985.tif 000007
【図６】
2012059985.tif 000008
【図７】
2012059985.tif 000009
【図８】
2012059985.tif 000010
【図９】
2012059985.tif 000011
【図１０】
2012059985.tif 000012
【図１１】
2012059985.tif 000013
【図１２】
2012059985.tif 000014
【図１３】
2012059985.tif 000015
【図１４】
2012059985.tif 000016
【図１５】
2012059985.tif 000017
【図１６】
2012059985.tif 000018
【図１７】
2012059985.tif 000019
【図１８】
2012059985.tif 000020
【図１９】
2012059985.tif 000021
【図２０】
2012059985.tif 000022
【図２１】
2012059985.tif 000023
【手続補正書】
【提出日】平成25年5月14日(2013.5.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
送信回路から送信されたデータ信号を受信するデータ信号受信部と、
送信回路から送信された、データ信号の読み取りタイミングを示すタイミング信号を受信するタイミン信号受信部と、
前記タイミン信号受信部によって受信されたタイミング信号の出力タイミングを調整するタイミング調整部と、
前記タイミング調整部によって出力タイミングが調整された調整タイミング信号に応じて、前記データ信号受信部によって受信された前記データ信号を読み取る読取部と、
前記読取部によって読取られた前記データ信号に誤りがあることを検出する検出部と、
前記検出部によって前記データ信号に誤りがあることが所定の回数検出された場合には、前記データ信号受信部によって受信されたデータ信号の電圧値と、前記タイミング調整部によって出力タイミングが調整された前記調整タイミング信号の電圧値とを取得する電圧値取得部と
を有することを特徴とする集積回路。
【請求項２】
送信回路から送信されたデータ信号を受信するデータ信号受信部と、
送信回路から送信された、データ信号の読み取りタイミングを示すタイミング信号を受信するタイミン信号受信部と、
前記タイミン信号受信部によって受信されたタイミング信号の出力タイミングを調整するタイミング調整部と、
前記タイミング調整部によって出力タイミングが調整された調整タイミング信号に応じて、前記データ信号受信部によって受信された前記データ信号を読み取る読取部と、
前記読取部によって読取られた前記データ信号に誤りがあることを検出する検出部と、
前記検出部によって前記データ信号に誤りがあることが検出された場合には、前記データ信号に誤りがあることが検出された時における前記データ信号受信部によって受信されたデータ信号の電圧値と、前記タイミング調整部によって出力タイミングが調整された前記調整タイミング信号の電圧値とを取得する電圧値取得部と
を有することを特徴とする集積回路。
【請求項３】
送信回路から送信されたデータ信号と、該データ信号の読み取りタイミングを示すタイミング信号を受信し、
受信したタイミング信号の出力タイミングを調整し、
出力タイミングが調整された調整タイミング信号に応じて、前記データ信号を読み取り、
読み取ったデータ信号に誤りがあることを検出し、
前記データ信号に誤りがあることが所定の回数検出された場合には、前記データ信号の電圧値と前記調整タイミング信号の電圧値とを取得する
ことを特徴とする電圧値取得方法。
【請求項４】
送信回路から送信されたデータ信号と、該データ信号の読み取りタイミングを示すタイミング信号を受信し、
受信したタイミング信号の出力タイミングを調整し、
出力タイミングが調整された調整タイミング信号に応じて、前記データ信号を読み取り、
読み取ったデータ信号に誤りがあることを検出し、
前記データ信号に誤りがあることが所定の回数検出された場合には、前記データ信号に誤りがあることが検出された時における前記データ信号の電圧値と前記調整タイミング信号の電圧値とを取得する
ことを特徴とする電圧値取得方法。
【請求項５】
データ信号とともに、該データ信号の読み取りタイミングを示すタイミング信号を送信する送信回路と、前記データ信号および前記タイミング信号を受信し、前記タイミング信号に応じて、前記データ信号を読み取る集積回路とを有する送受信システムであって、
前記送信回路は、
前記データ信号を前記集積回路に対して送信するデータ信号送信部と、
前記タイミング信号を前記集積回路に対して送信するタイミング信号送信部と
を有し、
前記集積回路は、
前記データ信号送信部から送信されたデータ信号を受信するデータ信号受信部と、
前記タイミング信号送信部から送信された、データ信号の読み取りタイミングを示すタイミング信号を受信するタイミング信号受信部と、
前記タイミン信号受信部によって受信されたタイミング信号の出力タイミングを調整するタイミング調整部と、
前記タイミング調整部によって出力タイミングが調整された調整タイミング信号に応じて、前記データ信号受信部によって受信された前記データ信号を読み取る読取部と、
前記読取部によって読取られた前記データ信号に誤りがあることを検出する検出部と、
前記検出部によって前記データ信号に誤りがあることが所定の回数検出された場合には、前記データ信号受信部によって受信されたデータ信号の電圧値と、前記タイミング調整部によって出力タイミングが調整された前記調整タイミング信号の電圧値とを取得する電圧値取得部と
を有することを特徴とする送受信システム。
【国際調査報告】
2012059985.tif 000024
2012059985.tif 000025