(57)【要約】      （修正有）【課題】システムＬＳＩとメモリ間のアクセスタイミング調整処理の処理時間の短縮を図る。【解決手段】システムＬＳＩ２とメモリ３間の各ビットデータ信号およびデータストローブ信号の配線長情報から算出された遅延調整値の導入によって、アクセスタイミング調整処理をした１ビットデータ以外のビットデータに対しては、上記アクセスタイミング調整結果に、上記遅延調整値を加算した値をアクセスタイミング調整値として設定する。【選択図】図１
2011232985.tif 000002
【特許請求の範囲】
【請求項１】
システムLSIから複数の外部メモリへアクセスするタイミングを調整するアクセスタイミング調整装置であって、
前記アクセスタイミングとは、前記システムLSIが前記複数の外部メモリからのデータをラッチするタイミングであり、
前記複数の外部メモリは、クロック信号に同期して入出力動作するクロック同期型メモリであり、
前記システムLSIは、前記複数の外部メモリに対して接続され、メモリアクセスにおけるデータの送受信を行うメモリインターフェースと、
前記複数の外部メモリに対して接続されたメモリインターフェースからデータを複数回送受信させることによりアクセスするタイミングを調整する制御手段を備えることを特徴とするアクセスタイミング調整装置。
【請求項２】
前記制御手段は、前記メモリインターフェースにおける特定のビットデータに対するアクセスタイミング調整値を順次変更させながらアクセスが成功したか否かを判定し、アクセスが成功した範囲内にアクセスタイミング調整値を設定することを特徴とする請求項１記載の前記アクセスタイミング調整装置。
【請求項３】
前記制御手段は、さらに、前記メモリインターフェースにおける請求項２記載の前記ビットデータ以外のビットデータに対し、請求項２記載のアクセスタイミング調整結果に前記システムLSIと前記複数の外部メモリ間の配線長に基づく遅延調整値を加算した値をアクセスタイミング調整値に設定することを特徴とする請求項１記載の前記アクセスタイミング調整装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリへのアクセスタイミングを調整するアクセスタイミング調整装置に関する。
【背景技術】
【０００２】
従来、システムLSIに搭載されているメモリコントローラがメモリにアクセスする場合のアクセスタイミングは動作周波数が遅いこともあり、システムLSI全てに同じ値、すなわち固定値を使用していても問題はなかった。しかし、システムLSIの機能向上に伴い、次第にメモリインターフェースの動作周波数が高くなりアクセスタイミングが厳しくなるにつれ、アクセスタイミングを固定値とせず、システムLSIの状態に合わせて調整可能にする必要が生じてきた。
【０００３】
そこで、システムLSI内部にアクセスタイミング調整レジスタが設けられ、その値が変更されることにより、システムLSIの出力するメモリインターフェース用信号のタイミング、あるいは入力した内部信号のタイミングを変更可能な回路を内蔵するようになってきている。
【０００４】
さらに、特許文献１のように、アクセスタイミング調整装置によって、装置ごとに最適なアクセスタイミングを調整する技術が開示されている。このアクセスタイミング調整装置は、プロセッサがメモリのある特定の領域にデータを書き込み、同じ領域からデータを読み出して、読み出したデータと期待値とを比較してデータ読み出しの可否を判定する。そして、メモリアクセスが成功する上限値と下限値を取得し、その中間値を最大の動作マージンを確保できる値として使用するものである。
【０００５】
この方法により、温度変動、電圧変動、プロセス変動等の条件も加味した上での最大の動作マージンを確保することが可能になる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１１―３１６６１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１のような従来例では、以下の点について課題がある。
【０００８】
近年、システムLSIの微細化技術により、システムLSIとメモリ間で受け渡しするデータの１ビット単位で、アクセスタイミングの調整が可能になってきており、調整精度を上げることが可能となっている。
【０００９】
しかし、従来の方法を採用した場合には、アクセスタイミング調整処理をデータのビット数の分だけ実行する必要があり、処理時間の増加に繋がる。例えば、メモリのデータバスが３２ビットの場合、同じ処理を３２回実行することになる。
【００１０】
また、アクセスタイミング調整処理は、システム起動時に実行するため、処理時間の増加はシステム起動時間の増加に繋がってしまう。
【００１１】
そこで、本発明は上記従来の課題を解決するもので、システムLSIとメモリ間の各ビットデータ信号およびデータストローブ信号の配線長情報を利用し、従来の方法より処理時間の短縮が可能なアクセスタイミング調整装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記従来の課題を解決するために、本発明は、システムLSIから複数の外部メモリへアクセスするタイミングを調整するアクセスタイミング調整装置において、前記システムLSIは、前記複数の外部メモリに対して接続されたメモリインターフェースからデータを複数回送受信させることによりアクセスするタイミングを調整する制御手段を備える。
【００１３】
また、前記制御手段は、前記メモリインターフェースにおける特定のビットデータに対するアクセスタイミング調整値を順次変更させながらアクセスが成功したか否かを判定し、アクセスが成功した範囲内にアクセスタイミング調整値を設定することを特徴とする。
【００１４】
また、前記制御手段は、さらに、前記メモリインターフェースにおける前記ビットデータ以外のビットデータに対し、前記アクセスタイミング調整結果に前記システムLSIと前記複数の外部メモリ間の配線長に基づく遅延調整値を加算した値をアクセスタイミング調整値に設定することを特徴とする。
【発明の効果】
【００１５】
本発明のアクセスタイミング調整装置によれば、システムLSIとメモリ間の各ビットデータ信号およびデータストローブ信号の配線長情報を利用することにより、従来のアクセスタイミング調整装置の処理時間を短縮することが可能になる。これは、特にディジタルAV機器用システムLSI技術分野において有用である。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施の形態１における、アクセスタイミング調整装置の構成図
【図２】本発明の実施の形態１における、アクセスタイミング調整処理を示すフローチャート
【発明を実施するための形態】
【００１７】
以下本発明を実施するための最良の形態について、図面を参照しながら説明する。
【実施例１】
【００１８】
以下本発明の第１の実施例を、図面を参照しながら説明する。図１は、アクセスタイミング調整装置の構成図であり、本発明の第１の実施例に係る装置の構成を示す図である。
図１に示す装置は、システムLSI２、複数の外部メモリ３、不揮発性メモリ４から構成される。
【００１９】
システムLSI２は、プロセッサ２１、外部バスコントローラ２２、SRAM（Static Random Access Memory）２３、メモリコントローラ２４、メモリインターフェース２５を備える。プロセッサ２１は、外部メモリ３とのアクセスタイミングを調整する制御手段としての機能を有し、システムLSI２と外部メモリ３との間の各ビットデータ信号およびデータストローブ信号の配線長情報から算出された遅延調整値を有する。
【００２０】
外部バスコントローラ２２は、プロセッサ２１と不揮発性メモリ３のデータバス、およびプロセッサ２１とSRAM２３のデータバスを制御する制御手段としての機能を有する。SRAM２３は、外部バスコントローラ２２を介しプロセッサ２１に接続され、プロセッサ２１の作業領域としての役割を有する。メモリコントローラ２４は、プロセッサ２１と外部メモリ３１、３２の各々との間で接続され、メモリインターフェース２５を備え、外部メモリ３１、３２を制御する機能を有する。メモリインターフェース２５は、外部メモリ３１、３２の各々と接続され、外部メモリ３１、３２とのデータを受け渡しするインターフェースとしての機能を有する。
【００２１】
複数の外部メモリ３は、外部メモリ３１、３２を備える。また、不揮発性メモリ４は、ブートプログラム４１、アクセスタイミング調整プログラム４２、その他のプログラムとしてアプリケーションプログラム４３等を備える。
【００２２】
次に、図１に示す装置の動作について詳細に説明する。まず、プロセッサ２１は、起動時に外部バスコントローラ２２を介して不揮発性メモリ４からブートプログラム４１を読み出し、システムLSI２の各種設定を行った後、同じく不揮発性メモリ４からアクセスタイミング調整プログラム４２を読み出す。
【００２３】
図１における外部メモリ３１、３２には、例えば、DDR SDRAM（Double Date Rate Synchronous Dynamic Random Access Memory）が使用される。そして、メモリコントローラ２４から外部メモリ３１、３２へ、あるいは、外部メモリ３１，３２からメモリコントローラ２４へ、データを転送するタイミングを知らせるために、クロック信号に同期したデータストローブ信号が使用されている。
【００２４】
外部メモリ31，32からデータを読み出す場合、外部メモリ３１，３２からはデータがデータストローブ信号と同位相で出力されるため、データを確実に受け取るには、例えば、メモリコントローラ２４は、まず、入力されたデータストローブ信号に対して位相を９０度遅らせたデータストローブ信号を生成する。そして、データストローブ信号の立ち上がり及び立ち下がり時にデータを読み込むことになる。
【００２５】
しかし、電源変動やノイズなどの外的要因により、受信したデータストローブ信号に歪みが生じ、データストローブ信号のエッジ検出時に位相のずれが生じる。これに対応するため、メモリコントローラ２４は、データ読み込むための基準位相差である９０度に対し、所定の位相範囲であるウィンドウ幅を確保する必要がある。このウィンドウ幅を、例えば１８０度を６４分割した単位で調整可能な位相差として表現し、アクセスタイミング調整レジスタに設定した位相差に従い、アクセスタイミングを変化させる。
【００２６】
上記方法により、プロセッサ２１は、外部メモリ３に対しアクセスタイミング設定を変化させながら、メモリアクセスが成功する位相差範囲であるウィンドウ範囲を検査する。そして、検査の結果から得られたウィンドウ範囲の中間値を、最大の動作マージンを確保できる最適値としてアクセスタイミング調整レジスタに設定する。
【００２７】
なお、アクセスタイミング調整レジスタに設定する最適値は、ウィンドウ範囲の中間値に、温度変動、電圧変動、プロセス変動等のばらつきの影響を調整するための調整値を加算した値を使用してもよい。なお、上記ウィンドウ範囲の検査方法に関しては、リードアクセスのタイミング調整を例にして、図２を使用し詳細に説明する。
【００２８】
図２は、本発明のアクセスタイミング調整プログラム４２の処理を示すフローチャートである。図２について詳細に説明する。
【００２９】
まず、プロセッサが外部メモリのある特定領域に、期待値比較に使用するテストデータを書き込む（ステップ１１）。そして、処理は次のステップ１２に進む。ステップ１２では、アクセスタイミング調整レジスタの値を検査対象の値に設定する。例えば、１８０度を６４分割した位相差の値を１ステップ値として、１回目の検査では０ステップ値（０度）、２回目の検査では１ステップ値、３回目の検査では２ステップ値、４回目の検査では３ステップ値、のようにして、６５回目の検査では６４ステップ値（１８０度）になるように設定する（ステップ１２）。そして、処理は次のステップ１３に進む。
【００３０】
ステップ１３では、外部メモリの、ステップ１１でテストデータを書き込んだ領域から、データを読み出す（ステップ１３）。そして、処理は次のステップ１４に進む。ステップ１４では、ステップ１３で読み出したデータと、予めプロセッサ内に保持している期待値とを比較し、１ビットデータの読み出しが成功したかどうかを判定する（ステップ１４）。そして、処理は次のステップ１５に進む。
【００３１】
ステップ１５では、アクセスタイミング調整レジスタの値が１８０度になっているかどうかを判定する。１８０度になっていない場合は、アクセスタイミング調整レジスタの値を１ステップ値加算して、ステップ１２からステップ１４までの処理を繰り返し、アクセスタイミング調整レジスタの値が０度から１８０度になるまで検査を行い、１ビットデータのウィンドウ範囲を確定する（ステップ１５）。そして、処理は次のステップ１６に進む。
【００３２】
ステップ１６では、ステップ１１からステップ１５までの処理で求めた１ビットデータのウィンドウ範囲の中間値を算出し、アクセスタイミング調整レジスタの最適値として設定する。なお、この最適値は、ウィンドウ範囲の中間値に、温度変動、電圧変動、プロセス変動等のばらつきの影響を調整するための調整値を加算した値を使用してもよい（ステップ１６）。そして、処理は次のステップ１７に進む。
【００３３】
ステップ１７では、上記以外のビットデータに対し、ステップ１６の最適値にプロセッサが保持しているシステムLSIとメモリ間の各ビットデータ信号およびデータストローブ信号の配線長情報から算出された遅延調整値を加算した値を、アクセスタイミング調整レジスタに設定する。なお、この最適値には、温度変動、電圧変動、プロセス変動等のばらつきの影響を調整するための調整値を加算した値を使用してもよい（ステップ１７）。そして、処理は次のステップ１８に進む。
【００３４】
ステップ１８では、全ビットのアクセスタイミング調整レジスタの設定が完了したかどうかを判定する。全ビットの設定が完了していない場合は完了するまで繰り返し、全ビットの設定が完了した場合は処理を終了する（ステップ１８）。
【００３５】
以上のように本発明のアクセスタイミング調整装置は、システムLSIとメモリ間の各ビットデータ信号およびデータストローブ信号の配線長情報を利用することにより、従来のアクセスタイミング調整装置の処理時間を短縮することが可能になる。
【００３６】
なお、図１に記載されたシステムでは、不揮発性メモリ４は、システムLSI２の内部にあってもよく、逆にSRAM２３は、システムLSI２の外部のSRAMであってもよい。
【産業上の利用可能性】
【００３７】
本発明にかかるアクセスタイミング調整装置は、システムLSIとメモリ間の各ビットデータ信号およびデータストローブ信号の配線長情報を利用することにより、従来のアクセスタイミング調整装置の処理時間を短縮することが可能になる。
【００３８】
これは、特にディジタルAV機器用システムLSI技術分野において有用である。
【符号の説明】
【００３９】
１    アクセスタイミング調整装置
２    システムLSI
２１    プロセッサ
２２    外部バスコントローラ
２３    SRAM
２４    メモリコントローラ
２５    メモリインターフェース
３    外部メモリ
３１    外部メモリ１
３２    外部メモリ２
４    不揮発性メモリ
４１    ブートプログラム
４２    アクセスタイミング調整プログラム
４３    アプリケーションプログラム
【図１】
2011232985.tif 000003
【図２】
2011232985.tif 000004