(57)【要約】【課題】外部ストローブ信号及びこの信号に同期した外部データをシステムクロックでラッチするタイミングを調整する。【解決手段】メモリ１００からのストローブ信号ｓ１００ａはストローブ遅延選択部１０３の遅延回路１０３１〜１０３ｎで遅延されて複数の遅延ストローブ信号となる。ストローブラッチ部１０６は、前記各遅延ストローブ信号の受信タイミングでチェック用データを生成し、システムラッチ部１０７は、ストローブラッチ部１０６でラッチされたチェック用データをシステムクロックｓ２００でラッチする。期待値比較部１０８及び遅延判定部１０９での比較、判定に基づいて、ストローブ遅延選択部１０３での最適遅延の最適ストローブ信号が選択される。その後、メモリ１００からのデータｓ１００ｂをデータ遅延選択部１０４の遅延回路１０４１〜１０４ｎで遅延させて複数の遅延データとして、その中から、前記期待値比較部１０８及び遅延判定部１０９での比較判定に基づいて、最適遅延の最適データが選択される。【選択図】  図１
2006189916.tif 000002
【特許請求の範囲】
【請求項１】
外部ストローブ信号及び前記外部ストローブ信号に同期する外部データを受け、前記外部データを前記外部ストローブ信号によりラッチした後、そのラッチされた外部データをシステムクロックにより再度ラッチするデータのラッチタイミング調整方法であって、
前記外部ストローブ信号の受信タイミングでチェック用データを生成し、このチェック用データがシステムクロックで正常にラッチされるように、前記外部ストローブ信号と前記システムクロックとの間で位相調整するシステムラッチタイミング調整工程と、
前記システムラッチタイミング調整工程の位相調整により前記システムクロックと所定の位相関係を持つ外部ストローブ信号により前記外部データが正常にラッチされるように、前記ストローブ信号と外部データとの間で位相調整するストローブラッチタイミング調整工程とを備えた
ことを特徴とするデータのラッチタイミング調整方法。
【請求項２】
前記請求項１記載のデータのラッチタイミング調整方法において、
前記システムラッチタイミング調整工程では、
前記外部ストローブ信号を複数の遅延量で各々遅延させた複数の遅延ストローブ信号を生成し、この各遅延ストローブ信号の受信タイミングで各々前記チェック用データを生成し、
前記複数の遅延ストローブ信号のうち、対応するチェック用データがシステムクロックで正常にラッチされた遅延ストローブ信号を最適ストローブ信号として選択する
ことを特徴とするデータのラッチタイミング調整方法。
【請求項３】
前記請求項１記載のデータのラッチタイミング調整方法において、
前記システムラッチタイミング調整工程では、
前記外部ストローブ信号の受信タイミングで前記チェック用データを生成すると共に、
前記システムクロックを複数の遅延量で各々遅延させた複数の遅延システムクロックを生成して、前記チェック用データを前記複数の遅延システムクロックで各々ラッチした後、
前記複数の遅延システムクロックのうち、前記チェック用データが正常にラッチされた遅延システムクロックを最適システムクロックとして選択する
ことを特徴とするデータのラッチタイミング調整方法。
【請求項４】
前記請求項１記載のデータのラッチタイミング調整方法において、
前記ストローブラッチタイミング調整工程は、
前記外部データを複数の遅延量で各々遅延させた複数の遅延データを生成し、
前記複数の遅延データを前記外部ストローブ信号で各々ラッチした後、
前記複数の遅延データのうち、正常にラッチされた遅延データを最適データとして選択する
ことを特徴とするデータのラッチタイミング調整方法。
【請求項５】
前記請求項１記載のデータのラッチタイミング調整方法において、
前記システムラッチ及びストローブラッチの両タイミング調整工程は、所定のタイミング調整要求時に実行され、
前記所定のタイミング調整要求は、システム起動時、システム初期化時、及び通常動作時の最中の少なくとも１つを含む
ことを特徴とするデータのラッチタイミング調整方法。
【請求項６】
前記請求項２記載のデータのラッチタイミング調整方法において、
前記外部ストローブ信号は、複数ビットで構成され、
システム起動時又はシステム初期化時に前記システムラッチタイミング調整工程の実行が要求された際には、前記システムラッチタイミング調整工程では、前記外部ストローブ信号の全ビットを各々複数の遅延量で遅延させた複数の遅延ストローブ信号を生成し、
通常動作時の最中に前記システムラッチタイミング調整工程の実行が要求された際には、前記システムラッチタイミング調整工程では、前記外部ストローブ信号の全ビット未満の所定数のビットを各々複数の遅延量で遅延させた複数の遅延ストローブ信号を生成する
ことを特徴とするデータのラッチタイミング調整方法。
【請求項７】
前記請求項４記載のデータのラッチタイミング調整方法において、
前記外部データは、複数ビットで構成され、
システム起動時又はシステム初期化時に前記ストローブラッチタイミング調整工程の実行が要求された際には、前記ストローブラッチタイミング調整工程では、前記外部データの全ビットを各々複数の遅延量で遅延させた複数の遅延データを生成し、
通常動作時の最中に前記ストローブラッチタイミング調整工程の実行が要求された際には、前記ストローブラッチタイミング調整工程では、前記外部データの全ビット未満の所定数のビットを各々複数の遅延量で遅延させた複数の遅延データを生成する
ことを特徴とするデータのラッチタイミング調整方法。
【請求項８】
外部ストローブ信号及び前記外部ストローブ信号に同期する外部データを受け、前記外部データを前記外部ストローブ信号によりラッチした後、そのラッチされた外部データをシステムクロックにより再度ラッチするデータのラッチタイミング調整装置であって、
前記外部ストローブ信号を複数の遅延量で各々遅延させて複数の遅延ストローブ信号を生成し、その生成した複数の遅延ストローブ信号の何れか１つを選択して出力するストローブ遅延選択部と、
前記外部データを複数の遅延量で各々遅延させて複数の遅延データを生成し、その生成した複数の遅延データの何れか１つを選択して出力するデータ遅延選択部と、
前記データ遅延選択部からの遅延データ及び前記ストローブ遅延選択部により選択された遅延ストローブ信号を受け、この遅延ストローブ信号の受信タイミングでチェック用データを生成すると共に、前記遅延ストローブ信号の受信タイミングで前記受けた遅延データ又は前記生成したチェック用データをラッチするストローブラッチ部と、
前記ストローブラッチ部でラッチされた遅延データ又はチェック用データを前記システムクロックでラッチするシステムラッチ部と、
前記ストローブ遅延選択部を制御するストローブ遅延制御部と、
前記データ遅延選択部を制御するデータ遅延制御部とを備えた
ことを特徴とするデータのラッチタイミング調整装置。
【請求項９】
前記請求項８記載のデータのラッチタイミング調整装置において、
前記システムラッチ部でラッチされた遅延データ又はチェック用データを対応する期待値と比較して、期待値と一致するか否かを判定する期待値比較部と、
前記期待値比較部の比較結果を受け、その比較結果に応じて、前記ストローブ遅延選択部での複数の遅延ストローブ信号の何れか１つを最適ストローブ信号と判定するストローブ遅延判定部と、
前記期待値比較部の比較結果を受け、その比較結果に応じて、前記データ遅延選択部での複数の遅延データの何れか１つを最適データと判定するデータ遅延判定部とを備える
ことを特徴とするデータのラッチタイミング調整装置。
【請求項１０】
外部ストローブ信号及び前記外部ストローブ信号に同期する外部データを受け、前記外部データを前記外部ストローブ信号によりラッチした後、そのラッチされた外部データをシステムクロックにより再度ラッチするデータのラッチタイミング調整装置であって、
前記システムクロックを複数の遅延量で各々遅延させて複数の遅延システムクロックを生成し、その生成した複数の遅延システムクロックの何れか１つを選択して出力するクロック遅延選択部と、
前記外部データ及び前記外部ストローブ信号を受け、この外部ストローブ信号の受信タイミングでチェック用データを生成すると共に、前記外部ストローブ信号の受信タイミングで前記受けた外部データ又は前記生成したチェック用データをラッチするストローブラッチ部と、
前記ストローブラッチ部でラッチされた外部データ又はチェック用データを前記クロック遅延選択部で選択された遅延システムクロックでラッチするシステムラッチ部と、
前記クロック遅延選択部を制御するクロック遅延制御部とを備えた
ことを特徴とするデータのラッチタイミング調整装置。
【請求項１１】
前記請求項１０記載のデータのラッチタイミング調整装置において、
前記外部データを複数の遅延量で各々遅延させて複数の遅延データを生成し、その生成した複数の遅延データの何れか１つを選択して出力するデータ遅延選択部と、
前記データ遅延選択部を制御するデータ遅延制御部とを備えた
ことを特徴とするデータのラッチタイミング調整装置。
【請求項１２】
前記請求項１１記載のデータのラッチタイミング調整装置において、
前記システムラッチ部でラッチされた外部データ又はチェック用データを対応する期待値と比較して、期待値と一致するか否かを判定する期待値比較部と、
前記期待値比較部の比較結果を受け、その比較結果に応じて、前記クロック遅延選択部での複数の遅延システムクロックの何れか１つを最適システムクロックと判定するクロック遅延判定部と、
前記期待値比較部の比較結果を受け、その比較結果に応じて、前記データ遅延選択部での複数の遅延データの何れか１つを最適データと判定するデータ遅延判定部とを備える
ことを特徴とするデータのラッチタイミング調整装置。
【請求項１３】
前記請求項１０記載のデータのラッチタイミング調整装置において、
前記クロック遅延選択部は、
互いに異なる位相の複数のシステムクロックを同時に発生し、その複数のシステムクロックの何れか１つを選択して出力する固定遅延部と、
前記固定遅延部に直列に接続され、複数の遅延回路が直列に接続された変動遅延部とを備える
ことを特徴とするデータのラッチタイミング調整装置。
【請求項１４】
前記請求項８又は１１記載のデータのラッチタイミング調整装置において、
前記ストローブ遅延制御部と前記データ遅延制御部とは、その何れか一方の遅延制御部で兼用される
ことを特徴とするデータのラッチタイミング調整装置。
【請求項１５】
前記請求項８記載のデータのラッチタイミング調整装置において、
外部ストローブ信号は、ｎ（ｎは２以上の整数）ビットの信号であり、
前記ストローブ遅延選択部はｎ個備えられる
ことを特徴とするデータのラッチタイミング調整装置。
【請求項１６】
前記請求項９記載のデータのラッチタイミング調整装置において、
前記期待値比較部は、ストローブ遅延制御時とデータ遅延制御時とで共用され、
前記ストローブ遅延判定部とデータ遅延判定部とは、その何れか一方で他方が兼用され、
前記チェック用データは、ストローブ遅延制御時とデータ遅延制御時とで異なるデータが選択可能である
ことを特徴とするデータのラッチタイミング調整装置。
【請求項１７】
前記請求項１２記載のデータのラッチタイミング調整装置において、
前記期待値比較部は、クロック遅延制御時とデータ遅延制御時とで共用され、
前記クロック遅延判定部とデータ遅延判定部とは、その何れか一方で他方が兼用され、
前記チェック用データは、クロック遅延制御時とデータ遅延制御時とで異なるデータが選択可能である
ことを特徴とするデータのラッチタイミング調整装置。
【請求項１８】
前記請求項８〜１０及び１２の何れか１項に記載のデータのラッチタイミング調整装置において、
前記チェック用データは、任意のデータとして外部から入力可能である
ことを特徴とするデータのラッチタイミング調整装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリやＬＳＩ等の半導体装置からストローブ信号とこのストローブ信号に同期したデータとが出力された場合に、このデータのラッチタイミングを調整するデータのタイミング調整方法及び装置に関する。
【背景技術】
【０００２】
一般に、メモリやＬＳＩ等（以下、メモリで代表する）からのデータの読み出しタイミングは、その設計の際に予め決定される。しかし、このデータの読み出しタイミングが、メモリの配置場所や特性、電圧降下や周囲温度などの影響に起因して変化する関係上、その読み出したデータを予め固定のラッチタイミングでラッチすると、データのラッチミスが生じる。このため、読み出しデータのラッチタイミング調整が必要となる。
【０００３】
従来では、読み出しデータのラッチタイミングを調整するために、ディップスイッチ等を設けて、メモリの出力データを正常にラッチできるように調整していた。
【０００４】
しかし、前記の方法では、その調整を行う工数が発生するという欠点があるため、例えば特許文献１では、メモリからの読み出しデータのラッチタイミングを自動的に調整するタイミング調整装置が提案されている。
【０００５】
図１３は、前記特許文献１のタイミング調整装置のブロック図を示す。
【０００６】
同図において、１０２はチェック用データ保管部であって、メモリ１００からの読み出しデータのラッチタイミング調整を行う際に使用するチェック用データが予め保管される。
【０００７】
１０３は書き込み制御部であって、モード選択信号を受け、このモード選択信号が通常動作モードを指示している際には、入力データをメモリ１００の所定アドレスに書き込む一方、ラッチタイミング調整モードを指示している際には、前記チェック用データ保管部１０２に保管されているデータをメモリ１００に書き込む。具体的には、書き込み制御部１０３は、タイミング信号ｓ１０３ａ、アドレスｓ１０３ｂ、データ（入力データ又はチェック用データ）ｓ１０３ｃをメモリ１００に与えて、メモリ１００の所定のアドレスにこのデータを書き込む。
【０００８】
１０４は読み出し制御部であって、前記モード選択信号を受け、通常動作モード時及びラッチタイミング調整モード時の双方において、タイミング信号ｓ１０４ａ及びアドレス信号ｓ１０４ｂをメモリ１００に与えて、メモリ１００からストローブ信号ＤＱＳ及びこの信号ＤＱＳに同期するデータｓ１００を読み出し、一方、ラッチタイミング調整モードの終了時には、後述する判定部１０８及び遅延制御部１０９に遅延決定信号ｓ１０４ｃを出力する。
【０００９】
１０５は遅延選択部であって、直列に接続した複数個の遅延回路１０５１、１０５２〜１０５ｎと、選択部１０５ａとを有し、メモリ１００からのストローブ信号ＤＱＳをこれ等の遅延回路１０５１〜１０５ｎにより順次遅延して遅延量の異なる複数の遅延パルス信号を生成すると共に、これらの遅延回路１０５１〜１０５ｎの出力の何れか１つを選択部１０５ａにより選択して、出力する。
【００１０】
また、１０６は１個のラッチ回路であって、前記メモリ１００からの読み出しデータｓ１００を受けると共に、前記遅延選択部１０５の選択部１０５ａにより選択された何れかの遅延回路の遅延パルス信号を受けて、この遅延パルス信号の受信タイミングで前記メモリ１００からの読み出しデータｓ１００をラッチする。通常動作モード時には、このラッチ回路１０６でラッチされたデータを出力端子１０１から出力する。
【００１１】
１０７は比較回路であって、前記ラッチ回路１０６によりラッチされた読み出しデータと、前記チェック用データ保管部１０２に保管されている対応データとの一致、不一致を比較する。
【００１２】
更に、１０８は判定部であって、ラッチタイミング調整モードの終了時に前記読み出し制御部１０４からの遅延決定信号を受けて、前記比較回路１０７での複数の比較結果に基づいて、前記複数の遅延回路１０５１〜１０５ｎのうち、メモリ１００からの読み出しデータがラッチ回路１０６で適切にラッチされた場合の１つの遅延回路、即ち、最適な遅延量を持つ遅延パルス信号を判定する。
【００１３】
これにより、特許文献１では、メモリ１００の読み出しデータの最適なラッチタイミングを判定して、自動的にタイミング調整している。
【特許文献１】特開２００４−１８５６０８号公報（図５）
【発明の開示】
【発明が解決しようとする課題】
【００１４】
ところで、メモリの出力するストローブ信号は、読み出されるデータが存在する場合に限って付加される信号であって、一般に、クロック信号のような連続信号ではない。このため、このようなストローブ信号に同期したデータが、システムクロックで動作する半導体集積回路等に入力されて利用される場合には、ストローブ信号に同期したデータをストローブ信号でラッチした後、最終的には、再度システムクロックでラッチする必要がある。
【００１５】
しかしながら、ストローブ信号とシステムクロックとは別系統の信号であるため、前記従来のラッチタイミング調整装置では、ストローブ信号を位相調整して読み出しデータをストローブ信号で良好にラッチ可能にしているものの、ストローブ信号とシステムクロックとの位相関係にズレが存在すると、ストローブ信号でラッチされたデータをシステムクロックで再度ラッチする際に、ラッチミスが発生する懸念があり、精度の高いラッチタイミング調整を行うことができない。
【００１６】
本発明は、前記問題点を解決するためになされたものであり、その目的は、メモリやＬＳＩ等の半導体装置からストローブ信号及びこの信号に同期したデータが出力される場合、そのデータをストローブ信号でラッチした後、再度、システムクロックでラッチミス無く良好にラッチできるようにラッチタイミングを調整するラッチタイミング調整方法及び装置を提供することにある。
【課題を解決するための手段】
【００１７】
前記の目的を達成するため、本発明では、外部ストローブ信号とシステムクロックとの間で行う位相調整と、外部ストローブ信号と外部データとの間で行う位相調整との２つの位相調整を行うこととする。
【００１８】
すなわち、請求項１記載の発明のデータのラッチタイミング調整方法は、外部ストローブ信号及び前記外部ストローブ信号に同期する外部データを受け、前記外部データを前記外部ストローブ信号によりラッチした後、そのラッチされた外部データをシステムクロックにより再度ラッチするデータのラッチタイミング調整方法であって、前記外部ストローブ信号の受信タイミングでチェック用データを生成し、このチェック用データがシステムクロックで正常にラッチされるように、前記外部ストローブ信号と前記システムクロックとの間で位相調整するシステムラッチタイミング調整工程と、前記システムラッチタイミング調整工程の位相調整により前記システムクロックと所定の位相関係を持つ外部ストローブ信号により前記外部データが正常にラッチされるように、前記ストローブ信号と外部データとの間で位相調整するストローブラッチタイミング調整工程とを備えたことを特徴とする。
【００１９】
請求項２記載の発明は、前記請求項１記載のデータのラッチタイミング調整方法において、前記システムラッチタイミング調整工程では、前記外部ストローブ信号を複数の遅延量で各々遅延させた複数の遅延ストローブ信号を生成し、この各遅延ストローブ信号の受信タイミングで各々前記チェック用データを生成し、前記複数の遅延ストローブ信号のうち、対応するチェック用データがシステムクロックで正常にラッチされた遅延ストローブ信号を最適ストローブ信号として選択することを特徴とする。
【００２０】
請求項３記載の発明は、前記請求項１記載のデータのラッチタイミング調整方法において、前記システムラッチタイミング調整工程では、前記外部ストローブ信号の受信タイミングで前記チェック用データを生成すると共に、前記システムクロックを複数の遅延量で各々遅延させた複数の遅延システムクロックを生成して、前記チェック用データを前記複数の遅延システムクロックで各々ラッチした後、前記複数の遅延システムクロックのうち、前記チェック用データが正常にラッチされた遅延システムクロックを最適システムクロックとして選択することを特徴とする。
【００２１】
請求項４記載の発明は、前記請求項１記載のデータのラッチタイミング調整方法において、前記ストローブラッチタイミング調整工程は、前記外部データを複数の遅延量で各々遅延させた複数の遅延データを生成し、前記複数の遅延データを前記外部ストローブ信号で各々ラッチした後、前記複数の遅延データのうち、正常にラッチされた遅延データを最適データとして選択することを特徴とする。
【００２２】
請求項５記載の発明は、前記請求項１記載のデータのラッチタイミング調整方法において、前記システムラッチ及びストローブラッチの両タイミング調整工程は、所定のタイミング調整要求時に実行され、前記所定のタイミング調整要求は、システム起動時、システム初期化時、及び通常動作時の最中の少なくとも１つを含むことを特徴とする。
【００２３】
請求項６記載の発明は、前記請求項２記載のデータのラッチタイミング調整方法において、前記外部ストローブ信号は、複数ビットで構成され、システム起動時又はシステム初期化時に前記システムラッチタイミング調整工程の実行が要求された際には、前記システムラッチタイミング調整工程では、前記外部ストローブ信号の全ビットを各々複数の遅延量で遅延させた複数の遅延ストローブ信号を生成し、通常動作時の最中に前記システムラッチタイミング調整工程の実行が要求された際には、前記システムラッチタイミング調整工程では、前記外部ストローブ信号の全ビット未満の所定数のビットを各々複数の遅延量で遅延させた複数の遅延ストローブ信号を生成することを特徴とする。
【００２４】
請求項７記載の発明は、前記請求項４記載のデータのラッチタイミング調整方法において、前記外部データは、複数ビットで構成され、システム起動時又はシステム初期化時に前記ストローブラッチタイミング調整工程の実行が要求された際には、前記ストローブラッチタイミング調整工程では、前記外部データの全ビットを各々複数の遅延量で遅延させた複数の遅延データを生成し、通常動作時の最中に前記ストローブラッチタイミング調整工程の実行が要求された際には、前記ストローブラッチタイミング調整工程では、前記外部データの全ビット未満の所定数のビットを各々複数の遅延量で遅延させた複数の遅延データを生成することを特徴とする。
【００２５】
請求項８記載の発明のデータのラッチタイミング調整装置は、外部ストローブ信号及び前記外部ストローブ信号に同期する外部データを受け、前記外部データを前記外部ストローブ信号によりラッチした後、そのラッチされた外部データをシステムクロックにより再度ラッチするデータのラッチタイミング調整装置であって、前記外部ストローブ信号を複数の遅延量で各々遅延させて複数の遅延ストローブ信号を生成し、その生成した複数の遅延ストローブ信号の何れか１つを選択して出力するストローブ遅延選択部と、前記外部データを複数の遅延量で各々遅延させて複数の遅延データを生成し、その生成した複数の遅延データの何れか１つを選択して出力するデータ遅延選択部と、前記データ遅延選択部からの遅延データ及び前記ストローブ遅延選択部により選択された遅延ストローブ信号を受け、この遅延ストローブ信号の受信タイミングでチェック用データを生成すると共に、前記遅延ストローブ信号の受信タイミングで前記受けた外部データ又は前記生成したチェック用データをラッチするストローブラッチ部と、前記ストローブラッチ部でラッチされた遅延データ又はチェック用データを前記システムクロックでラッチするシステムラッチ部と、前記ストローブ遅延選択部を制御するストローブ遅延制御部と、前記データ遅延選択部を制御するデータ遅延制御部とを備えたことを特徴とする。
【００２６】
請求項９記載の発明は、前記請求項８記載のデータのラッチタイミング調整装置において、前記システムラッチ部でラッチされた遅延データ又はチェック用データを対応する期待値と比較して、期待値と一致するか否かを判定する期待値比較部と、前記期待値比較部の比較結果を受け、その比較結果に応じて、前記ストローブ遅延選択部での複数の遅延ストローブ信号の何れか１つを最適ストローブ信号と判定するストローブ遅延判定部と、前記期待値比較部の比較結果を受け、その比較結果に応じて、前記データ遅延選択部での複数の遅延データの何れか１つを最適データと判定するデータ遅延判定部とを備えることを特徴とする。
【００２７】
請求項１０記載の発明のデータのラッチタイミング調整装置は、外部ストローブ信号及び前記外部ストローブ信号に同期する外部データを受け、前記外部データを前記外部ストローブ信号によりラッチした後、そのラッチされた外部データをシステムクロックにより再度ラッチするデータのラッチタイミング調整装置であって、前記システムクロックを複数の遅延量で各々遅延させて複数の遅延システムクロックを生成し、その生成した複数の遅延システムクロックの何れか１つを選択して出力するクロック遅延選択部と、前記外部データ及び前記外部ストローブ信号を受け、この外部ストローブ信号の受信タイミングでチェック用データを生成すると共に、前記外部ストローブ信号の受信タイミングで前記受けた外部データ又は前記生成したチェック用データをラッチするストローブラッチ部と、前記ストローブラッチ部でラッチされた外部データ又はチェック用データを前記クロック遅延選択部で選択された遅延システムクロックでラッチするシステムラッチ部と、前記クロック遅延選択部を制御するクロック遅延制御部とを備えたことを特徴とする。
【００２８】
請求項１１記載の発明は、前記請求項１０記載のデータのラッチタイミング調整装置において、前記外部データを複数の遅延量で各々遅延させて複数の遅延データを生成し、その生成した複数の遅延データの何れか１つを選択して出力するデータ遅延選択部と、前記データ遅延選択部を制御するデータ遅延制御部とを備えたことを特徴とする。
【００２９】
請求項１２記載の発明は、前記請求項１１記載のデータのラッチタイミング調整装置において、前記システムラッチ部でラッチされた外部データ又はチェック用データを対応する期待値と比較して、期待値と一致するか否かを判定する期待値比較部と、前記期待値比較部の比較結果を受け、その比較結果に応じて、前記クロック遅延選択部での複数の遅延システムクロックの何れか１つを最適システムクロックと判定するクロック遅延判定部と、前記期待値比較部の比較結果を受け、その比較結果に応じて、前記データ遅延選択部での複数の遅延データの何れか１つを最適データと判定するデータ遅延判定部とを備えることを特徴とする。
【００３０】
請求項１３記載の発明は、前記請求項１０記載のデータのラッチタイミング調整装置において、前記クロック遅延選択部は、互いに異なる位相の複数のシステムクロックを同時に発生し、その複数のシステムクロックの何れか１つを選択して出力する固定遅延部と、前記固定遅延部に直列に接続され、複数の遅延回路が直列に接続された変動遅延部とを備えることを特徴とする。
【００３１】
請求項１４記載の発明は、前記請求項８又は１１記載のデータのラッチタイミング調整装置において、前記ストローブ遅延制御部と前記データ遅延制御部とは、その何れか一方の遅延制御部で兼用されることを特徴とする。
【００３２】
請求項１５記載の発明は、前記請求項８記載のデータのラッチタイミング調整装置において、外部ストローブ信号は、ｎ（ｎは２以上の整数）ビットの信号であり、前記ストローブ遅延選択部はｎ個備えられることを特徴とする。
【００３３】
請求項１６記載の発明は、前記請求項９記載のデータのラッチタイミング調整装置において、前記期待値比較部は、ストローブ遅延制御時とデータ遅延制御時とで共用され、前記ストローブ遅延判定部とデータ遅延判定部とは、その何れか一方で他方が兼用され、前記チェック用データは、ストローブ遅延制御時とデータ遅延制御時とで異なるデータが選択可能であることを特徴とする。
【００３４】
請求項１７記載の発明は、前記請求項１２記載のデータのラッチタイミング調整装置において、前記期待値比較部は、クロック遅延制御時とデータ遅延制御時とで共用され、前記クロック遅延判定部とデータ遅延判定部とは、その何れか一方で他方が兼用され、前記チェック用データは、クロック遅延制御時とデータ遅延制御時とで異なるデータが選択可能であることを特徴とする。
【００３５】
請求項１８記載の発明は、前記請求項８〜１０及び１２の何れか１項に記載のデータのラッチタイミング調整装置において、前記チェック用データは、任意のデータとして外部から入力可能であることを特徴とする。
【００３６】
以上により、請求項１〜１８記載の発明では、外部ストローブ信号とシステムクロックとの間で行う第１の位相調整と、外部ストローブ信号と外部データとの間で行う第２の位相調整とを行うので、外部データを外部ストローブ信号でラッチした後、再度、システムクロックでラッチミス無く精度高くラッチすることができる。例えば、前記第１の位相調整では、外部ストローブ信号とシステムクロックとの何れか一方を固定し、他方を位相調整して、両者間を最適な位相関係に調整し、その後、第２の位相調整において、前記最適な位相関係の外部ストローブ信号を基準に、外部データの位相を調整して、この両者間を最適な位相関係に調整すれば、外部ストローブ信号に同期した外部データをシステムクロックで正常にラッチ可能である。
【発明の効果】
【００３７】
以上説明したように、請求項１〜１８記載の発明のデータのタイミング調整方法及び装置によれば、外部ストローブ信号に同期した外部データをその外部ストローブ信号でラッチした後、システムクロックで再度ラッチする場合にも、精度の高いラッチタイミング調整が可能となって、その外部データを精度良くシステムクロックでラッチすることが可能である。
【発明を実施するための最良の形態】
【００３８】
以下、本発明の実施形態を図面に基づいて説明する。
【００３９】
（第１の実施形態）
図１は、本発明の第１の実施形態のデータのラッチタイミング調整装置を示す。同図のラッチタイミング調整装置は、メモリ１００からストローブ信号ｓ１００ａ及びこのストローブ信号ｓ１００ａに同期したデータｓ１００ｂが出力される場合に、この外部データｓ１００ｂのラッチタイミングを調整するものであって、メモリ１００以外の回路等は、１つのＬＳＩに集積されて、本ラッチタイミング調整装置を構成する。
【００４０】
本実施形態では、以下、前記メモリ１００からのストローブ信号ｓ１００ａ及びデータｓ１００ｂを外部ストローブ信号及び外部データとしてラッチタイミング調整する場合を例示するが、メモリ１００に限定されず、ＬＳＩ等から出力されるストローブ信号及びデータをラッチタイミング調整する場合をも含むのは勿論である。
【００４１】
図１において、１０１は書き込み制御部、１０２は読み出し制御部であって、この両制御部１０１、１０２は、モード選択信号を受け、このモード選択信号がラッチタイミング調整モードを指示している際には、メモリ１００から前記ストローブ信号ｓ１００ａ及び所定の外部データｓ１００ｂを出力させる。これらの制御部の詳細な説明は、他の重要な回路要素の説明の後に説明する。
【００４２】
図１において、１０３はストローブ遅延選択部であって、直列に接続した複数個の遅延回路１０３１、１０３２〜１０３ｎと、最終段に位置する選択部１０３ａとを有し、メモリ１００からのストローブ信号ｓ１００ａをこれ等の遅延回路１０３１〜１０３ｎにより順次遅延して、相互に遅延量の異なる複数の遅延ストローブ信号を生成すると共に、これらの遅延回路１０３１〜１０３ｎの出力の何れか１つを選択部１０３ａにより選択して、出力する。
【００４３】
また、１０４はデータ遅延選択部であって、直列に接続した複数個の遅延回路１０４１、１０４２〜１０４ｎと、最終段に位置する選択部１０４ａとを有し、メモリ１００からの読み出しデータｓ１００ｂをこれ等の遅延回路１０４１〜１０４ｎにより順次遅延して、相互に遅延量の異なる複数の遅延データを生成すると共に、これらの遅延回路１０４１〜１０４ｎの出力の何れか１つを選択部１０４ａにより選択して、出力する。
【００４４】
更に、１０６はストローブラッチ部である。このストローブラッチ部１０６は、システムラッチタイミング調整モード時には、ストローブ遅延選択部１０３の選択部１０３ａにより選択された何れか１つの遅延回路からの遅延ストローブ信号を順次受け、その各受信タイミングでチェック用データを生成する。システムラッチタイミング調整モードでは、ストローブ信号とシステムクロックとの位相調整を行う関係上、ストローブ信号とデータとは完全同期する必要があり、このため、ストローブラッチ部１０６は、データ遅延選択部１０４からの遅延データを受けても使用せず、別途、チェック用データを生成する。このチェック用データは、データ保管部１０５からその内部に保管されたデータを読み込んで、そのデータと同一のデータを生成する。
【００４５】
また、前記ストローブラッチ部１０６は、ストローブラッチタイミング調整モード時には、メモリ１００からのストローブ信号ｓ１００ａとデータｓ１００ｂとの間の位相調整である関係上、データ遅延選択部１０４の選択部１０４ａにより選択された何れかの遅延回路からの遅延データを順次受けると共に、前記システムラッチタイミング調整モード時に位相調整された最適ストローブ信号、即ち、前記ストローブ遅延選択部１０３の選択部１０３ａにより選択、決定された所定の遅延回路からの遅延ストローブ信号を受けて、その受けた各遅延データを最適ストローブ信号でラッチする。
【００４６】
前記データ保管部１０５は、システムラッチタイミング調整で使用するチェック用データと、ストローブラッチタイミング調整で使用するチェック用データとが予め保管され、各々、調整モードに応じたチェック用データを出力する。尚、これ等のチェック用データは、外部から例えばＩＩＣレジスタ等を用いた制御により、ポート１０５ｉから任意のデータに変更することも可能である。これにより、基板等への実装後の環境に応じて、チェック用データを変更することができ、最適なラッチタイミング調整が可能となる。
【００４７】
１０７はシステムラッチ部であって、前記ストローブラッチ部１０６でラッチされたデータをシステムクロックｓ２００でラッチする。通常動作モードの際には、このシステムラッチ部１０７でラッチされたデータが使用される。
【００４８】
１０８は期待値比較部であって、前記システムラッチ部１０７によりラッチされたデータを受けると共に、このデータを、システムラッチタイミング調整モード時には、前記データ保管部１０５に保管されているシステムラッチタイミング調整のためのチェック用データ（期待値）と比較する一方、ストローブラッチタイミング調整時には、前記データ保管部１０５に保管されているストローブラッチタイミング調整のためのチェック用データ（期待値）と比較して、その一致、不一致の比較結果を出力する。
【００４９】
１０９は遅延判定部（ストローブ遅延判定部及びクロック遅延判定部）であって、システムラッチタイミング調整モードの終了時には、前記読み出し制御部１０２からの遅延判定信号を受けて、前記期待値比較部１０８での複数の比較結果に基づいて、前記ストローブ遅延選択部１０３の複数の遅延回路１０３１〜１０３ｎのうち、ストローブラッチ部１０６でのラッチデータがシステムラッチ部１０７で適切にラッチされた場合の１つの遅延回路、即ち、最適な遅延量を持つ最適ストローブ信号を判定し、一方、ストローブラッチタイミング調整モードの終了時には、前記読み出し制御部１０２からの遅延確定信号を受けて、前記期待値比較部１０８での複数の比較結果に基づいて、前記前記データ遅延選択部１０４の複数の遅延回路１０４１〜１０４ｎのうち、遅延データがストローブラッチ部１０６で適切にラッチされた場合の１つの遅延回路、即ち、最適な遅延量を持つ最適データを判定する。
【００５０】
ここで、前記遅延判定部１０９での具体的な判定方法を説明する。期待値比較部１０８での複数の比較結果のうち、両データが一致した比較結果が１つの場合には、これに対応する遅延回路の遅延ストローブ信号又は遅延データを最適と判定する。また、両データが一致した比較結果が所定個連続する場合には、それらの連続する一致判定に対応する複数の遅延回路の中心、即ち、セットアップマージンとホールドマージンが均一な遅延ストローブ信号又は遅延データを最適と判定したり、それらに対応する遅延回路のうちセットアップマージン又はホールドマージンを多く確保する遅延回路の遅延ストローブ信号又は遅延データを最適と判定しても良い。更に、孤立点除去の考えに基づき、複数回の判定結果から最適遅延を決定しても良い。例えば、遅延判定部１０８において複数回（例えば５回）の判定結果を記憶し、これ等の判定結果のうち、同一の判定結果が所定回（例えば３回）連続していたり、不連続でも所定回（例えば４回）含まれている場合に初めて、選択する遅延回路を更新するようにしても良い。
【００５１】
また、図１において、１１０はストローブ遅延制御部であって、システムラッチタイミング調整モードの期間では、前記ストローブ遅延選択部１０３の複数の遅延回路１０３１〜１０３ｎのうち先頭から順次１つずつ選択するように選択部１０３ａを制御し、そのシステムラッチタイミング調整モードの終了時には、前記読み出し制御部１０２から遅延確定信号を受けて、前記遅延判定部１０９で判定された前記ストローブ遅延選択部１０３内の所定の遅延回路の出力である最適ストローブ信号を選択するように、選択部１０３ａを制御する。
【００５２】
更に、１１１はデータ遅延制御部であって、ストローブラッチタイミング調整モードの期間では、前記データ遅延選択部１０４の複数の遅延回路１０４１〜１０４ｎのうち先頭から順次１つずつ選択するように選択部１０４ａを制御し、そのストローブラッチタイミング調整モードの終了時には、前記読み出し制御部１０２から遅延確定信号を受けて、遅延判定部１０９で判定された前記データ遅延選択部１０４内の所定の遅延回路の出力である最適データを選択するように、選択部１０４ａを制御する。
【００５３】
加えて、前記書き込み制御部１０１は、モード選択信号を受け、このモード選択信号がシステムラッチタイミング調整モードを指示している際には、所定のデータ（例えば、０又は１が連続するデータ）をメモリ１００に書き込む。更に、ストローブラッチタイミング調整モードを指示している際には、データ保管部１０５に保管されたストローブラッチタイミング調整のためのチェック用データをメモリ１００に書き込む。尚、通常動作モードの際には、入力データをメモリ１００の所定アドレスに書き込む。書き込み制御部１０１は、具体的には、タイミング信号ｓ１０１ａ、アドレス信号ｓ１０１ｂ、及びデータｓ１０１ｃをメモリ１００に与えて、メモリ１００の所定のアドレスに所定のデータを書き込む。
【００５４】
また、読み出し制御部１０２は、前記モード選択信号がシステムラッチタイミング調整モード又はストローブラッチタイミング調整モードを指示している際には、タイミング信号ｓ１０２ａ及び所定のアドレス信号ｓ１０２ｂをメモリ１００に与えて、メモリ１００からストローブ信号ｓ１００ａに同期した所定のデータｓ１００ｂを読み出す共に、前記期待値比較部１０８、遅延判定部１０９及びストローブ遅延制御部１１０に対して読み出し期間信号及び遅延判定信号を出力する。尚、通常動作モード時にも、タイミング信号ｓ１０２ａ及びアドレス信号ｓ１０２ｂをメモリ１００に与えて、メモリ１００からストローブ信号ｓ１００ａに同期したデータｓ１００ｂを読み出す。
【００５５】
次に、図１に示したストローブ信号に同期したデータのラッチタイミング調整装置のタイミング調整方法について図面に基づいて説明する。
【００５６】
図２は、ストローブ信号に同期したデータをシステムクロックｓ２００でラッチするラッチタイミング調整の全体フローチャートを示す。以下、このフローチャートに基づいて本実施形態のラッチタイミング調整装置を用いたラッチタイミング調整を説明する。
【００５７】
図２において、先ず、ステップＰ０でモード選択信号がタイミング調整を要求しているか否かを判別し、タイミング調整モードを要求している場合は、ステップＰ１でシステムラッチタイミング調整工程に移行する。この工程が完了すれば、ステップＰ２でストローブラッチタイミング調整工程に移行し、その完了後は、ステップＰ３の通常動作に移行する。以降は、前記動作を繰り返す。これにより、周囲の状況の変化に対応してストローブ信号ｓ１００ａに同期したデータｓ１００ｂをシステムクロックｓ２００でラッチするタイミング調整が可能となる。尚、前記タイミング調整は、１回のタイミング調整要求でシステムラッチタイミング調整工程を実行し、次のタイミング調整要求でストローブラッチタイミング調整工程を実行することも可能である。
【００５８】
図３は、前記システムラッチタイミング調整工程Ｐ１の方法を示すフローチャートである。図３において、システムラッチタイミング調整時には、予め、書き込み制御部１０１から、予め定めたデータｓ１０１ｃと、これをメモリ１００に格納するアドレスｓ１０１ｂと、書き込みタイミング信号ｓ１０１ａとをメモリ１００に与えて、メモリ１００の所定アドレスにデータｓ１０１ｃを書き込む。尚、このシステムラッチタイミング調整時には、ストローブラッチ部１０５はメモリ１００からの読み出しデータを用いず、データ保管部１０５に保管したチェック用データと同一データを生成する。
【００５９】
その後、読み出し制御部１０２により、先ほどデータを書き込んだアドレスを指定するアドレス信号ｓ１０２ｂと、読み出しタイミング信号ｓ１０２ａとをメモリ１００に与えて、メモリ１００からストローブ信号ｓ１００ａとこれに同期したデータｓ１００ｂとを読み出す。そして、メモリ１００から複数回のストローブ信号ｓ１００ａ及びデータｓ１００ｂが順次読み出されるように、以上の動作を複数回繰り返す。この間、ストローブ遅延制御部１１０は、読み出し制御部１０２から制御信号を受けて、メモリ１００からストローブ信号が読み出される毎に順次ストローブ遅延選択部１０３内で先頭に位置する遅延回路１０３１から順にその遅延回路からの遅延ストローブ信号を選択するように、選択部１０３ａに対して遅延選択信号を出力する（ステップＰａ）。
【００６０】
その結果、ストローブラッチ部１０６は、ストローブ遅延選択部１０３から先頭の遅延回路１０３１の遅延ストローブ信号を受けて、この遅延ストローブ信号の受信タイミングでデータ保管部１０６のチェック用データを読み出して同一データを生成し、次いで、遅延選択部１０３内の第２番目の遅延回路１０３２の遅延ストローブ信号の受信タイミングで第２番目のチェック用データを生成し、その後は、順次、第ｉ（ｉ＝３〜ｍ）番目の遅延ストローブ信号の受信タイミングで第ｉ番目のチェック用データを生成する（ステップＰｂ）。
【００６１】
システムラッチ部１０７では、前記ストローブラッチ部１０６で生成されたチェック用データをシステムクロックｓ２００でラッチする（ステップＰｃ）。
【００６２】
期待値比較部１０８では、システムラッチ部１０７でのラッチデータと、このラッチデータに対応する前記データ保管部１０５内のシステムラッチタイミング調整のためのチェック用データ（期待値）とを比較し（ステップＰｄ）、両信号の一致、不一致を検出することをｍ回繰り返す（ステップＰｅ）。
【００６３】
システムラッチタイミング調整の終了時には、読み出し制御部１０２から遅延確定信号が遅延判定部１０９に出力される。この遅延判定部１０９では、期待値比較部１０８での複数の比較結果に基づいて、ストローブ遅延選択部１０３の複数の遅延回路１０３１〜１０３ｎの中から、システムラッチ部１０７がストローブラッチ部１０６からのデータを適切にラッチした場合の１つの遅延回路を判定する（ステップＰｆ）。この遅延回路の判定、すなわち、最適タイミングが判定されると、ストローブ遅延制御部１１０は、読み出し制御部１０２から遅延確定信号を受けて、前記遅延判定部１０９が判定した１つの遅延回路の出力を最適ストローブ信号として選択するように、選択部１０３ａを制御する（ステップＰｇ）。
【００６４】
次に、図４は、前記ストローブラッチタイミング調整工程Ｐ２の方法を示すフローチャートを示す。
【００６５】
図４において、このストローブラッチタイミング調整時には、予め、書き込み制御部１０１から、データ保管部１０５に保管されたストローブラッチタイミング調整用のチェック用データｓ１０１ｃと、これをメモリ１００に格納するアドレスｓ１０１ｂと、書き込みタイミング信号ｓ１０１ａとをメモリ１００に与えて、メモリ１００の所定アドレスにデータｓ１０１ｃを書き込む。
【００６６】
その後、読み出し制御部１０２により、先ほどチェック用データを書き込んだアドレスを指定するアドレス信号ｓ１０２ｂと、読み出しタイミング信号ｓ１０２ａとをメモリ１００に与えて、メモリ１００からストローブ信号ｓ１１０ａとこの信号に同期したチェック用データｓ１００ｂとを読み出す。そして、メモリ１００から複数回のチェック用データが順次読み出されるように、以上の動作を複数回繰り返す。この間、データ遅延制御部１１１は、読み出し制御部１０２から制御信号を受けて、メモリ１００からチェック用データが読み出される毎に順次データ遅延選択部１０４内で先頭に位置する遅延回路１０４１から順にその遅延回路からの遅延データを選択するように、選択部１０４ａに対して遅延選択信号を出力する（ステップＰａ）。
【００６７】
その結果、ストローブラッチ部１０６は、前記システムラッチタイミング工程で確定したストローブ遅延選択部１０３からの最適ストローブ信号と、データ遅延選択部１０４から先頭の遅延回路１０４１からの最初の遅延データを受けて、この最適ストローブ信号の受信タイミングで前記最初の遅延データをラッチし、その後、データ遅延選択部１０４内の第２番目の遅延回路１０５２からの遅延データを最適ストローブ信号の受信タイミングでラッチし、その後は、順次、第ｊ（ｊ＝３〜ｎ）番目の遅延データを最適ストローブ信号の受信タイミングでラッチする（ステップＰｂ）。
【００６８】
システムラッチ部１０７では、前記ストローブラッチ部１０６でラッチしたデータをシステムクロックｓ２００でラッチする（ステップＰｃ）。
【００６９】
期待値比較部１０８では、前記システムラッチ部１０７でのラッチデータと、このラッチデータに対応する前記データ保管部１０５内のストローブラッチタイミング調整チェック用データ（期待値）とを比較し（ステップＰｄ）、両信号の一致、不一致を検出することをｎ回繰り返す（ステップＰｅ）。
【００７０】
前記ストローブラッチタイミング調整の終了時には、読み出し制御部１０２から遅延確定信号が遅延判定部１０９に出力される。この遅延判定部１０９では、期待値比較部１０８での複数の比較結果に基づいて、データ遅延選択部１０４の複数の遅延回路１０４１〜１０４ｎの中から、ストローブラッチ部１０６がデータ遅延選択部１０４からの遅延データを適切にラッチした場合の１つの遅延回路を判定する（ステップＰｆ）。この遅延回路の判定、すなわち、最適データが判定されると、データ遅延制御部１１１は、読み出し制御部１０２から遅延確定信号を受けて、前記遅延判定部１０９が判定した１つの遅延回路からの出力を最適データとして選択するように、選択部１０４ａを制御する（ステップＰｇ）。
【００７１】
その後、モード選択信号が通常動作モードを要求するように変更されると、メモリ１００からの読み出しデータｓ１００ｂは、ストローブラッチ部１０６において、ストローブ遅延選択部１０３の選択部１０３ａで選択された最適ストローブ信号の受信タイミングで、データ遅延選択部１０４の選択部１０４ａで選択された最適データがラッチされた後、システムラッチ部１０７でシステムクロックｓ２００で再度ラッチされて、通常動作で使用されることになる。
【００７２】
図５は、前述のシステムラッチタイミング調整工程Ｐ１におけるタイミングチャートである。同図において、メモリから読み出したストローブ信号ｓ１００ａから、システムラッチタイミング調整工程で遅延量ｄｅｙ−ｓを持つ遅延ストローブ信号ｓ１００ａ’を生成する。続いてストローブラッチ部１０６において遅延ストローブ信号ｓ１００ａ’の受信タイミングでチェック用データＣＳを生成し、このチェック用データＣＳをシステムクロックｓ２００でラッチし、このラッチされたチェック用データＳＤが期待値と比較される。
【００７３】
また、図６は、前述のストローブラッチタイミング調整工程Ｐ２におけるタイミングチャートである。同図において、メモリ１００から読み出したデータｓ１００ｂから遅延データを生成する。続いて、ストローブラッチ部１０６において前記システムラッチタイミング調整工程Ｐ１で最適化された最適ストローブ信号の受信タイミングで遅延データをラッチし、その後、このラッチされた遅延データをシステムクロックｓ２００でラッチする。その後、このシステムクロックｓ２００でラッチされた遅延データが期待値と比較される。
【００７４】
このように、ラッチタイミング調整工程をシステムラッチタイミング調整工程とストローブラッチタイミング調整工程とに分けることにより、システムラッチタイミング調整工程では、メモリ１００からの読み出しデータのタイミングに依存することなく、チェック用データがシステムラッチ部１０７でシステムクロックｓ２００で正常にラッチできるように、ストローブ遅延選択部１０３で最適ストローブ信号を得て、この最適ストローブ信号とシステムクロックｓ２００との位相関係を適切にすると共に、ストローブラッチタイミング調整工程では、得られた前記最適ストローブ信号を基準に、メモリ１００からの読み出しデータｓ１００ｂをデータ遅延選択部１０４で種々遅延して最適データを得て、この最適データと前記最適ストローブ信号との位相関係をも適切にすることが可能となる。その結果、メモリ１００からのストローブ信号ｓ１００ａに同期したデータｓ１００ｂをシステムクロックｓ２００でラッチするラッチタイミング調整を高精度で行うことができる。
【００７５】
また、本実施形態では、期待値比較部１０８と遅延判定部１０９とが、ストローブ遅延制御用とシステムクロック遅延制御用の双方で共用されるので、回路規模の増加を抑えることが可能である。
【００７６】
（第１の実施形態の第１の変形例）
次に、前記第１の実施形態の第１の変形例を図７に基づいて説明する。
【００７７】
本変形例では、ストローブ遅延制御部１１０とデータ遅延制御部１１１とを遅延制御部２１０で共用したものである。
【００７８】
すなわち、図７において、遅延制御部２１０は、モード選択信号がシステムラッチタイミング調整モードを指示するときには、ストローブ遅延選択部１０３の制御を行い、ストローブラッチタイミング調整モードを指示するときには、データ遅延選択部１０４の制御を行うものである。
【００７９】
従って、本変形例では、ストローブ遅延制御とデータ遅延制御とを共通の遅延制御部２１０で行うので、回路規模の増加を抑えて、高精度なタイミング調整を実現することができる。
【００８０】
（第１の実施形態の第２の変形例）
続いて、前記第１の実施形態の第２の変形例を図８に基づいて説明する。
【００８１】
本変形例は、メモリ１００からのストローブ信号ｓ１００ａ''がｍ（ｍは２以上の整数）ビット、読み出しデータｓ１００ｂ''がｎ（ｎは２以上の整数）ビットで構成される場合を示している。
【００８２】
図８では、メモリ１００は、ｍビットのストローブ信号ｓ１００ａ''と、ｎビットの読み出しデータｓ１００ｂ''とを出力する。例えば、ストローブ信号ｓ１００ａ''は４ビット、読み出しデータｓ１００ｂ''は３２ビットであって、ストローブ信号の１ビット当り８ビットの読み出しデータが対応する。これに伴い、ストローブ遅延選択部３０３はｍ個備えられて、ｍビットの各ビット別に遅延ストローブ信号を生成する。データ遅延選択部３０４も同様にｎ個備えられて、ｎビットの各ビット別に遅延データを生成する。
【００８３】
ストローブラッチ部３０６はｎ個備えられて、ｎ個のデータ遅延選択部３０４で生成された各ビットの遅延データを、ｍ個のストローブ遅延選択部３０３で生成された対応するビット目の遅延ストローブ信号でラッチすると共に、ｍ個のストローブ遅延選択部３０３Ａ〜３０３Ｍの選択部１０３ａ…で選択された遅延ストローブ信号の受信タイミングで、対応するビット目のチェック用データを生成する。
【００８４】
システムラッチ部３０７は、ｎビットのストローブラッチ部３０６Ａ〜３０６Ｎからのデータをシステムクロックｓ２００でラッチする。
【００８５】
期待値比較部３０８は、システムラッチタイミング調整時には、前記システムラッチ部３０７によりラッチされたｎビットのデータのうち代表となるｍビットから順次１ビットずつ選択して、前記データ保管部１０５に保管されているシステムラッチタイミング調整チェック用データとを比較して、その一致、不一致の結果を出力し、一方、ストローブラッチタイミング調整時には、前記システムラッチ部３０７によりラッチされたｎビットのデータから順次１ビットずつ選択して、前記データ保管部１０５に保管されているストローブラッチタイミング調整チェック用データとを比較して、その一致、不一致の結果を出力する。
【００８６】
遅延判定部３０９は、前記第１の実施形態と同様に、最適データ及び最適ストローブ信号を確定する。
【００８７】
遅延制御部３１０は、システムラッチタイミング調整モードの期間では、調整対象のビット目のストローブ遅延選択部３０３内の複数の遅延回路３０３１〜３０３ｎのうち先頭から順次１つずつ選択するように選択部３０３ａを制御し、一方、そのシステムラッチタイミング調整モードの終了時には、前記読み出し制御部１０２から遅延確定信号を受けて、前記遅延判定部３０９で判定された所定の遅延回路の出力、即ち、最適ストローブ信号を選択するように選択部３０３ａを制御し、一方、ストローブラッチタイミング調整モードの期間では、調整対象のビット目のデータ遅延選択部３０４内の複数の遅延回路３０４１〜３０４ｎのうち先頭から順次１つずつ選択するように選択部３０４ａを制御し、そのストローブラッチタイミング調整モードの終了時には、前記読み出し制御部１０２から遅延確定信号を受けて、前記遅延判定部３０９で判定された所定の遅延回路の出力、即ち、最適データを選択するように、選択部３０４ａを制御する。
【００８８】
従って、本変形例において、メモリ１００からのストローブ信号ｓ１００ａ''が４ビット（ｍ＝４）、読み出しデータｓ１００ｂ''が例えば３２ビット（ｎ＝３２）である場合には、システムラッチタイミング調整工程では、４ビットの遅延ストローブ信号から生成した代表チェック用データ４ビットを、システムクロックｓ２００でラッチし、１ビットずつ順次、期待値比較、遅延判定、及びストローブ遅延制御を実行した後、その後のストローブラッチタイミング調整工程において、前記３２ビットの読み出しデータを、８ビット毎に最適化された対応する遅延ストローブ信号でラッチし、１ビットずつ順次、期待値比較、遅延判定、及びストローブ遅延制御を実行する。
【００８９】
尚、期待値比較以降の動作は、期待値比較部３０８を複数個備えることにより、複数ビットを並列処理することも可能である。
【００９０】
図９は、メモリの転送量の制限等により一度に全ビットのタイミング調整ができない場合のラッチタイミング調整方法を示すフローチャートを示す。
【００９１】
この場合、通常動作に影響しないシステム起動時やシステム初期化時等に限り、１回のタイミング調整要求で全ビットのシステムラッチタイミング調整及びストローブラッチタイミング調整を連続して実行する（ステップＳ１〜Ｓ４）。その後、通常動作の最中では、以下のようにラッチタイミング調整を実行する。
【００９２】
即ち、１回のタイミング調整要求では、通常動作に影響を及ぼさないビット分だけシステムラッチタイミング調整工程を行い（ステップＳ５〜Ｓ９）、複数回のタイミング調整要求でストローブ信号全ビットのシステムラッチタイミング調整工程を完了する（ステップＳ５〜Ｓ９の繰返し）。
【００９３】
続いて、１回のタイミング調整要求で通常動作に影響を及ぼさないビット分だけストローブラッチタイミング調整工程を行い（ステップＳ１０〜Ｓ１１）、複数回のタイミング調整要求でデータ全ビットのストローブラッチタイミング調整工程を完了する（ステップＳ１０〜Ｓ１１の繰返し）。
【００９４】
以降は、タイミング調整要求に応じて、前記システムラッチタイミング調整工程及び前記ストローブラッチタイミング調整工程を繰り返し実行する。
【００９５】
尚、前記タイミング調整要求は、例えば、システム起動直後やシステム初期化時には常時発生し、同期又は非同期タイミングで通常動作が要求される場合には、タイミング調整要求と通常動作要求との間で予め定めた所定の優先順位に基づいて調停して、優先順位が高いときに発生するようにしても良い。
（第２の実施形態）
次に、本発明の第２の実施形態のデータのラッチタイミング調整装置を図面に基づいて説明する。
【００９６】
図１０は、本発明の第２の実施形態のストローブ信号に同期したデータのラッチタイミング調整装置を示す。
【００９７】
本実施形態は、ストローブ遅延選択部１０３に代えてクロック遅延選択部４０３を備え、ストローブ遅延制御部１１０に代えてクロック遅延制御部４１０を備えたものである。
【００９８】
すなわち、外部ストローブ信号とシステムクロックとの間の位相調整について、前記実施形態では外部ストローブ信号をストローブ遅延選択部１０３で遅延させて位相調整したが、本実施形態では、システムクロックをクロック遅延選択部４０３で遅延させて位相調整するものである。
【００９９】
より具体的に説明すると、既述した図１では、システムラッチタイミング調整工程において、ストローブ遅延制御部１１０からの遅延制御信号によってストローブ信号からストローブ遅延選択部１０５で最適な遅延ストローブが選択されるよう調整していたが、本実施形態では、システムラッチタイミング調整工程において、クロック遅延制御部４１０からの遅延制御信号によってシステムクロックｓ２００からクロック遅延選択部４０３で最適な遅延クロックが選択されるよう調整するものである。このとき、メモリ１００からのストローブ信号の遅延がデータより早くなる可能性がある場合、ストローブ信号をデータより遅延させておくとなお良い。また、調整された遅延システムクロックは、メモリ１００の読み出し以降の回路にのみ供給されるものとし、システムクロックｓ２００から遅延システムクロックへのデータ乗せ換えが存在する場合は、このデータを前記クロック遅延選択部４０３と同等の遅延量だけ遅延させた遅延システムクロックでラッチすることができる。
【０１００】
その他の構成は、図１と同様であるので、その説明を省略する。
【０１０１】
また、図１１は、本第２の実施形態におけるシステムラッチタイミング調整工程におけるタイミングチャートを示す。
【０１０２】
システムラッチタイミング調整工程では、システムクロックｓ２００から、遅延量ｄｅｙ−ｓを持つ遅延システムクロックｓ２００’を生成する。ストローブラッチ部１０６では、メモリ１００からのストローブ信号ｓ１００ａの受信タイミングでチェック用データを生成し、このチェック用データを前記遅延システムクロックｓ２００’でラッチする。この遅延システムクロックｓ２００’でラッチされたチェック用データは、期待値比較部１０８で期待値と比較される。
【０１０３】
従って、本実施形態では、第１の実施形態と同様の作用効果を奏する。更に、本実施形態では、メモリ１００の読み出し以降のシステムクロックｓ２００を遅延させることにより、メモリ１００や実装基板における遅延までも考慮した調整が可能となる。
【０１０４】
尚、図示しないが、図１０に示した本実施形態について、更に、図７及び図８と同様の変形を加えても良いのは勿論である。
【０１０５】
（第２の実施形態の第１の変形例）
次に、前記第２の実施形態の第１の変形例を図１２に基づいて説明する。
【０１０６】
本変形例は、前記クロック遅延選択部４０３の構成を変更したものである。
【０１０７】
すなわち、図１２において、クロック遅延選択部４０３は、固定遅延部４０３０と変動遅延部４０３１とを備えており、前記図１０に示したクロック遅延選択部４０３は、固定遅延部４０３０と変動遅延部４０３１とにより構成される。
【０１０８】
前記固定遅延部４０３０は、システムクロックｓ２００を受け、このシステムクロックｓ２００から互いに位相が異なる複数のシステムクロックを同時に生成し、これ等の中から１つのシステムクロックを選択して出力する。システムクロックｓ２００の異なる位相は、例えばＰＬＬ回路やＤＬＬ回路を用いて容易に生成可能である。
【０１０９】
前記変動遅延部４０３１は、直列に接続した複数個の遅延回路４０３１１、４０３１２〜４０３１ｎと、選択部４０３１ａとを有し、前記固定遅延部４０３０で選択された位相のシステムクロックをこれ等の遅延回路４０３１１〜４０３１ｎにより順次遅延して遅延量の異なる複数の遅延システムクロックを生成すると共に、これらの遅延回路４０３１１〜４０３１ｎの出力の何れか１つを選択部４０３１ａにより選択して出力する。
【０１１０】
これにより、遅延システムクロックの遅延量を大きくしようとした場合、前記固定遅延部４０３０で予めクロック位相を大きく変更しておくことにより、周辺温度や電圧変動等の条件に影響されない固定遅延とすることができるのに加えて、前記変動遅延部４０３１において遅延量の微調整を行うことにより、より一層に精度の高いタイミング調整が可能となる。
【産業上の利用可能性】
【０１１１】
以上説明したように、本発明は、外部ストローブ信号に同期した外部データをシステムクロックでラッチする場合に、精度の高いラッチタイミング調整を可能にできるので、ストローブ信号に同期したデータのラッチタイミング調整装置等として有用である。
【図面の簡単な説明】
【０１１２】
【図１】本発明の第１の実施形態のデータのラッチタイミング調整装置の全体構成を示すブロック図である。
【図２】同ラッチタイミング調整装置を用いたデータのラッチタイミング調整方法を示すフローチャート図である。
【図３】同ラッチタイミング調整方法におけるシステムラッチタイミング調整工程の詳細を示すフローチャート図である。
【図４】同ラッチタイミング調整方法におけるストローブラッチタイミング調整工程の詳細を示すフローチャート図である。
【図５】同システムラッチタイミング調整工程のタイミングチャート図である。
【図６】同ストローブラッチタイミング調整工程のタイミングチャート図である。
【図７】本発明の第１の実施形態の第１の変形例のデータのラッチタイミング調整装置の全体構成を示すブロック図である。
【図８】同第２の変形例のデータのラッチタイミング調整装置の全体構成を示すブロック図である。
【図９】同ラッチタイミング調整装置を用いたデータのタイミング調整方法を示すフローチャート図である。
【図１０】本発明の第２の実施形態のデータのラッチタイミング調整装置の全体構成を示すブロック図である。
【図１１】同ラッチタイミング調整方法におけるシステムラッチタイミング調整工程のタイミングチャート図である。
【図１２】本発明の第２の実施形態の第１の変形例のデータのラッチタイミング調整装置に備えるクロック遅延選択部の内部構成を示す図である。
【図１３】従来のデータのラッチタイミング調整装置の全体構成を示すブロック図である。
【符号の説明】
【０１１３】
１００            メモリ
ｓ１００ａ        ストローブ信号
ｓ１００ａ''      ｍビットのストローブ信号
ｓ１００ｂ        データ（外部データ）
ｓ１００ｂ''      ｎビットのデータ
ｓ２００          システムクロック
１０１            書き込み制御部
１０２            読み出し制御部
１０３            ストローブ遅延選択部
１０４            データ遅延選択部
１０５            データ保管部
１０６            ストローブラッチ部
１０７            システムラッチ部
１０８            期待値比較部
１０９            遅延判定部
（ストローブ遅延判定部及びデータ遅延判定部）
１１０            ストローブ遅延制御部
１１１            データ遅延制御部
２１０、３１０    遅延制御部
（ストローブ遅延制御部及びデータ遅延制御部）
４０３            クロック遅延選択部
４０３０          固定遅延部
４０３１          変動遅延部
４１０            クロック遅延制御部
Ｐ１              システムラッチタイミング調整工程
Ｐ２              ストローブラッチタイミング調整工程
【図１】
2006189916.tif 000003
【図２】
2006189916.tif 000004
【図３】
2006189916.tif 000005
【図４】
2006189916.tif 000006
【図５】
2006189916.tif 000007
【図６】
2006189916.tif 000008
【図７】
2006189916.tif 000009
【図８】
2006189916.tif 000010
【図９】
2006189916.tif 000011
【図１０】
2006189916.tif 000012
【図１１】
2006189916.tif 000013
【図１２】
2006189916.tif 000014
【図１３】
2006189916.tif 000015