(57)【要約】  本発明のメモリアクセスタイミング調整装置は、複数の外部メモリ（２）のそれぞれに対し個別に接続され、メモリアクセスにおけるデータの送受信を行う複数の個別メモリインターフェイス（６３２Ａ〜６３２Ｄ）と、特定のパターンデータを発生するパターン発生回路（６３３）と、選択された外部メモリに接続された個別メモリインターフェイスからデータを複数回送受信させると同時に、選択された外部メモリ以外の外部メモリに接続された個別メモリインターフェイスから選択された外部メモリ以外の外部メモリへ特定のパターンデータを送受信させることにより複数の外部メモリ（２）に負荷をかけながらアクセスタイミングを調整するプロセッサ（６０）とを備える。
2009096141.tif 000002
【特許請求の範囲】
【請求項１】
複数の外部メモリへアクセスするタイミングを調整するメモリアクセスタイミング調整装置であって、
前記複数の外部メモリのそれぞれに対し個別に接続され、メモリアクセスにおけるデータの送受信を行う複数の個別メモリインターフェイスと、
前記複数の外部メモリのうち選択された外部メモリに対して当該選択された外部メモリに接続された個別メモリインターフェイスからデータを複数回送受信させることによりアクセスタイミングを調整する制御手段とを備える
ことを特徴とするメモリアクセスタイミング調整装置。
【請求項２】
前記複数の外部メモリは、第１のクロック信号に同期して入出力動作するクロック同期型メモリであり、
前記複数の個別メモリインターフェイスのそれぞれは、前記第１のクロック信号を遅延させた第２のクロック信号を使用してデータの入出力動作をし、
前記アクセスタイミングは、前記第１のクロック信号と前記第２のクロック信号との位相差であり、
前記制御手段は、前記個別メモリインターフェイスにおけるアクセスタイミングを順次変更させながらアクセスが成功したか否かをその都度判定し、当該アクセスが成功した前記位相差の範囲内に最適なアクセスタイミングを調整する
ことを特徴とする請求項１に記載のメモリアクセスタイミング調整装置。
【請求項３】
前記メモリアクセスタイミング調整装置は、さらに、
特定のパターンデータを発生するパターン発生回路を備え、
前記制御手段は、前記選択された外部メモリ以外の外部メモリに接続された個別メモリインターフェイスから前記選択された外部メモリ以外の外部メモリへ前記特定のパターンデータを送信させることにより、前記複数の外部メモリに負荷をかける
ことを特徴とする請求項１に記載のメモリアクセスタイミング調整装置。
【請求項４】
前記メモリアクセスタイミング調整装置は、さらに、
前記選択された外部メモリを示すビットを保持するメモリ選択レジスタと、
前記複数の個別メモリインターフェイスに接続され、前記選択された外部メモリを示すビットに対応する外部メモリのアドレスを出力するアドレス変換回路とを備える
ことを特徴とする請求項１に記載のメモリアクセスタイミング調整装置。
【請求項５】
前記メモリアクセスタイミング調整装置は、さらに、
前記選択された外部メモリを示すビットを保持するメモリ選択レジスタと、
前記複数の個別メモリインターフェイスに接続され、前記選択された外部メモリを示すビットにより、前記選択された外部メモリに接続された個別メモリインターフェイスを選択するセレクタ回路とを備える
ことを特徴とする請求項１に記載のメモリアクセスタイミング調整装置。
【請求項６】
前記メモリアクセスタイミング調整装置は、さらに、
前記アクセスタイミングの調整によって得られた前記複数の外部メモリのそれぞれに対する最適なアクセスタイミングを記憶する不揮発性メモリを備え、
前記複数の個別メモリインターフェイスのそれぞれは、
前記不揮発性メモリから読み出された前記最適なアクセスタイミングをシステム起動時に記憶するアクセスタイミング個別設定レジスタを備え、
前記複数の個別メモリインターフェイスのそれぞれは、前記タイミング個別設定レジスタに記憶された前記最適なアクセスタイミングを、前記選択された外部メモリとのデータアクセスに使用する
ことを特徴とする請求項１に記載のメモリアクセスタイミング調整装置。
【請求項７】
前記メモリアクセスタイミング調整装置は、さらに、
前記アクセスタイミングの調整によって得られた前記複数の外部メモリのそれぞれに対する最適なアクセスタイミングと、システム起動の回数とを記憶する不揮発性メモリを備え、
前記複数の個別メモリインターフェイスのそれぞれは、
前記不揮発性メモリから読み出された前記最適なアクセスタイミングをシステム起動時に記憶するタイミング個別設定レジスタを備え、
前記制御手段は、所定回数を起動するごとに、新たにアクセスタイミングを調整し、当該アクセスタイミングの調整によって得られた最適なアクセスタイミングを前記不揮発性メモリに書き込む
ことを特徴とする請求項１に記載のメモリアクセスタイミング調整装置。
【請求項８】
前記メモリアクセスタイミング調整装置は、さらに、
前記アクセスタイミングの調整によって得られた前記複数の外部メモリのそれぞれに対する最適なアクセスタイミングと、当該最適なアクセスタイミングが有効か否かを示すタイミング設定値フラグとを記憶する不揮発性メモリを備え、
前記複数の個別メモリインターフェイスのそれぞれは、
前記不揮発性メモリから読み出された前記最適なアクセスタイミングをシステム起動時に記憶するタイミング個別設定レジスタを備え、
前記制御手段は、システム起動時に、前記タイミング設定値フラグが無効の場合は、新たにアクセスタイミングを調整し、当該アクセスタイミングの調整によって得られた最適なアクセスタイミングを前記不揮発性メモリに書き込む
ことを特徴とする請求項１に記載のメモリアクセスタイミング調整装置。
【請求項９】
前記メモリアクセスタイミング調整装置は、さらに、
前記複数の外部メモリの構成を示す信号を入力するためのメモリ情報入力端子を備え、
前記複数の外部メモリの構成を示す信号に従い、前記複数の外部メモリに割り当てられたアドレス空間を変更、追加、又は削除する
ことを特徴とする請求項１に記載のメモリアクセスタイミング調整装置。
【請求項１０】
前記制御手段は、前記アクセスタイミングの調整によって得られたアクセスタイミングの最適範囲が、所定値以下であった場合には警告メッセージを出力する
ことを特徴とする請求項１に記載のメモリアクセスタイミング調整装置。
【請求項１１】
複数の外部メモリと当該複数の外部メモリにアクセスする複数の個別メモリインターフェイスとを有するメモリアクセスタイミング調整システムのメモリアクセスタイミング調整方法であって、
前記複数の外部メモリの中からアクセスタイミングを調整すべき外部メモリを選択する外部メモリ選択ステップと、
前記外部メモリ選択ステップにて選択された外部メモリに対し個別に接続された個別メモリインターフェイスから、前記選択された外部メモリへデータを送受信することによりアクセスタイミングを調整するアクセスタイミング調整ステップとを含む
ことを特徴とするメモリアクセスタイミング調整システムのメモリアクセスタイミング調整方法。
【請求項１２】
前記複数の外部メモリは、第１のクロック信号に同期して入出力動作するクロック同期型メモリであり、
前記複数の個別メモリインターフェイスのそれぞれは、前記第１のクロック信号を遅延させた第２のクロック信号を使用してデータの入出力動作をし、
前記アクセスタイミングは、前記第１のクロック信号と前記第２のクロック信号との位相差であり、
前記アクセスタイミング調整ステップでは、
前記選択された外部メモリに接続された個別メモリインターフェイスにおけるアクセスタイミングを順次変更させながらアクセスが成功したか否かをその都度判定するアクセス判定ステップと、
前記アクセス判定ステップにてアクセスが成功したと判定されたときの前記位相差の範囲内に最適なアクセスタイミングを調整する位相差調整ステップとを含む
ことを特徴とする請求項１１に記載のメモリアクセスタイミング調整システムのメモリアクセスタイミング調整方法。
【請求項１３】
前記アクセスタイミング調整ステップと同時に、
前記選択された外部メモリ以外の外部メモリへ、特定のパターンデータを発生するパターン発生回路から、前記選択された外部メモリ以外のメモリに接続された個別メモリインターフェイスを介して、特定のパターンデータを送信することにより、前記複数の外部メモリに負荷をかける外部メモリ負荷ステップを含む
ことを特徴とする請求項１１に記載のメモリアクセスタイミング調整システムのメモリアクセスタイミング調整方法。
【請求項１４】
前記外部メモリ選択ステップでは、
前記選択された外部メモリを示すビット情報をメモリ選択レジスタに保持するビット保持ステップと、
前記メモリ選択レジスタに保持されたビット情報を、前記複数の個別メモリインターフェイスに接続されたアドレス変換回路により前記選択された外部メモリのアドレスへ変換するアドレス変換ステップとを含む
ことを特徴とする請求項１１に記載のメモリアクセスタイミング調整システムのメモリアクセスタイミング調整方法。
【請求項１５】
前記外部メモリ選択ステップでは、
前記選択された外部メモリを示すビット情報をメモリ選択レジスタに保持するビット保持ステップと、
前記メモリ選択レジスタに保持されたビット情報をもとに、前記複数の個別メモリインターフェイスに接続されたセレクタ回路により、前記選択された外部メモリに接続された個別メモリインターフェイスを選択する個別メモリインターフェイス選択ステップとを含む
ことを特徴とする請求項１１に記載のメモリアクセスタイミング調整システムのメモリアクセスタイミング調整方法。
【請求項１６】
前記アクセスタイミング調整ステップの後、
前記アクセスタイミング調整ステップで調整した前記複数の外部メモリのそれぞれに対応した最適なアクセスタイミングを不揮発性メモリに書き込む最適値書き込みステップと、
前記最適値書き込みステップの後、システム起動時に、前記最適なアクセスタイミングを読み出す最適値読み出しステップと、
前記最適値読み出しステップの後、前記複数の個別メモリインターフェイスのそれぞれが個別に有するタイミング個別設定レジスタに、前記複数の外部メモリのそれぞれに対応した最適なアクセスタイミングを保持させる最適値保持ステップと、
前記最適値保持ステップの後、前記複数の外部メモリのそれぞれへのアクセスタイミングとして、前記タイミング個別設定レジスタに保持された前記最適なアクセスタイミングを使用するレジスタ最適値使用ステップとを含む
ことを特徴とする請求項１１に記載のメモリアクセスタイミング調整システムのメモリアクセスタイミング調整方法。
【請求項１７】
前記最適値書き込みステップの後、所定回数を起動するごとに、新たにアクセスタイミングを調整し、当該アクセスタイミングの調整によって得られた最適なアクセスタイミングを前記不揮発性メモリに書き込む最適値再書き込みステップを含む
ことを特徴とする請求項１６に記載のメモリアクセスタイミング調整システムのメモリアクセスタイミング調整方法。
【請求項１８】
前記最適値書き込みステップの後、既に前記不揮発性メモリに書き込まれている前記最適なアクセスタイミングが有効か否かを示す予め前記不揮発性メモリに書き込まれたタイミング設定値フラグが、システム起動時に無効を示す場合は、新たにアクセスタイミングを調整し、当該アクセスタイミングの調整によって得られた最適なアクセスタイミングを前記不揮発性メモリに書き込む最適値再書き込みステップを含む
ことを特徴とする請求項１６に記載のメモリアクセスタイミング調整システムのメモリアクセスタイミング調整方法。
【請求項１９】
前記外部メモリ選択ステップの前に、
前記複数の外部メモリの構成の変更をメモリ構成入力端子から外部信号として受信するメモリ構成認識ステップと、
前記メモリ構成認識ステップで受信したメモリ構成の変更情報に従って、前記複数の外部メモリに割り当てられたアドレス空間を変更、追加または削除するメモリアドレス変更ステップとを含む
ことを特徴とする請求項１１に記載のメモリアクセスタイミング調整システムのメモリアクセスタイミング調整方法。
【請求項２０】
前記アクセスタイミング調整ステップの後、
前記アクセスタイミングの調整によって得られたアクセスタイミングの最適範囲と、所定値とを比較する最適範囲比較ステップと、
前記最適範囲比較ステップにおいて、前記アクセスタイミングの最適範囲が前記所定値以下であった場合、警告メッセージを出力する警告出力ステップとを含む
ことを特徴とする請求項１１に記載のメモリアクセスタイミング調整システムのメモリアクセスタイミング調整方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリへのアクセスタイミングを調整するメモリアクセスタイミング調整装置およびメモリアクセスタイミング調整方法に関する。
【背景技術】
【０００２】
従来、ＬＳＩに搭載されているメモリコントローラがメモリにアクセスする場合のアクセスタイミングは、動作周波数が遅いこともありセット全てに同じ値、すなわち固定値を使用していても問題とはならなかった。しかし、セットの機能の向上に伴い次第にメモリインターフェイスの動作周波数が高くなりアクセスタイミングが厳しくなるにつれ、アクセスタイミングを固定値とせず、セットの状態に合わせて調整可能とする必要が生じてきた。【０００３】
そこで、ＬＳＩは、その内部にアクセスタイミング調整用レジスタが設けられ、その値が変更されることにより、ＬＳＩの出力するメモリインターフェイス用信号のタイミング、あるいは入力した信号の内部タイミングを変えることが可能な回路を内蔵するようになってきている。【０００４】
以下、図１２を用いて従来技術の構成及び動作を説明する。図１２は従来のメモリアクセスタイミング調整システムの機能構成図である。同図におけるメモリアクセスタイミング調整システムは、システムＬＳＩ９００と、外部メモリ９１０Ａ、９１０Ｂ、９１０Ｃ及び９１０Ｄと、外部不揮発性メモリ９２０と、外部ＳＲＡＭ９３０とを備える。【０００５】
システムＬＳＩ９００は、プロセッサ９０１と、外部バスコントローラ９０２と、メモリコントローラ９０３とを内蔵している。【０００６】
プロセッサ９０１はメモリコントローラ９０３及び外部バスコントローラ９０２に接続されている。【０００７】
さらに、メモリコントローラ９０３は、メモリインターフェイス９０４を有し、メモリバスを介して、外部メモリ９１０Ａ、９１０Ｂ、９１０Ｃ、及び９１０Ｄと接続されている。【０００８】
また外部不揮発性メモリ９２０と外部ＳＲＡＭ９３０とは、それぞれ外部バスコントローラ９０２を介してプロセッサ９０１に接続されている。【０００９】
プロセッサ９０１は、起動時に、外部バスコントローラ９０２を介し外部不揮発性メモリ９２０からブートコードをロードし、その中に書かれたコードすなわち命令を実行する。【００１０】
また、外部不揮発性メモリ９２０にはアクセスタイミング調整プログラムも書かれており、プロセッサ９０１がアクセスタイミング調整プログラムを実行した場合には、プロセッサ９０１がメモリのある領域にデータを書込み、同じ領域からデータを読み出して、読み出したデータと期待値とを比較し、ＯＫ／ＮＧの判定を行う。メモリコントローラ９０３にはアクセスタイミングを調整するためのアクセスタイミング調整用レジスタが設けられており、プロセッサ９０１はレジスタへの設定値を変える毎にメモリライト、メモリリード、期待値比較を行いＯＫ／ＮＧを判定する。以下、アクセスタイミング調整用レジスタへの設定値について、具体的に説明する。【００１１】
図１３は、外部メモリからＬＳＩ内へデータを読み込む場合の動作タイミングチャートである。図１２における外部メモリ９１０Ａ〜９１０Ｄとしては、クロック同期型メモリとして、例えば、ＤＤＲ  ＳＤＲＡＭ（Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ  Ｓｙｎｃｒｏｎｏｕｓ  ＤＲＡＭ）が使用されており、メモリコントローラ９０３に８ビットデータ（図１２及び図１３ではＤＱとして記載）を転送するタイミングを知らせるために、第１クロック信号に同期したデータストローブ信号（図１２及び図１３ではＤＱＳとして記載）が使用されている。外部メモリからデータを読み出す場合、外部メモリからはデータＤＱをデータストローブＤＱＳと同位相で出力する。このデータを確実に受け取るために、例えば、メモリコントローラ９０３は、第１クロック信号に同期したデータストローブ信号に対して位相を９０度遅らせたタイミングのデータストローブ信号を生成する。そして、当該データストローブ信号の立ち上がり時及び立ち下がり時に８ビットデータを読み込むことになっている。しかし、電源変動やノイズなどの外的要因により、受信したデータストローブ信号に波形歪みが生じ、データストローブ信号のエッジ検出時に位相のずれが生じる。これに対応するため、メモリコントローラ９０３は、データ読み込みのための基準位相差である９０度に対し、所定の位相範囲であるウィンドウ幅を確保しておく必要がある。このウィンドウ幅を、例えば、１８０度を１２８分割したものを１ビットで変化させられる位相差として、最適な位相差をビットで表現したものが上述したアクセスタイミング調整用レジスタへの設定値となる。【００１２】
上記方法により、プロセッサ９０１は、メモリアクセスが正常に行える位相範囲を求め、プロセス変動、電圧変動等他の条件を加味して動作マージンが最大となるアクセスタイミング調整用レジスタ設定値を決定する。【００１３】
アクセスタイミングの最適設定値の求め方については、特許文献１から特許文献４に示すものが知られている。【００１４】
特許文献１は、上述した従来技術を開示したものであり、アクセスタイミングの最適設定値の求め方として、チェック用アドレスとして予め定められたアドレスに所定のデータを書き込み、それを読み出してＯＫ／ＮＧを判定する方式が記載されている。つまり、メモリアクセスが成功する上限値および下限値を取得し、そのセンター値を最大マージンが確保できる値として使用するものである。【００１５】
また、特許文献２は、メモリアクセスが成功したか否かの判定に、単純に期待値とリードした値との比較をするのではなく、ライト時にデータにパリティを付加し、リードしたデータとのパリティ比較を使用する方式が開示されている。【００１６】
また、特許文献３は、タイミング調整すなわちアクセスタイミング設定値を変更しメモリへのアクセスを試行する期間を、画面表示を行わないブランキング期間とする方式が開示されている。【００１７】
また、特許文献４は、プロセッサからのデータライト、メモリからのデータリード、期待値比較を行った結果によりクロックスキューを変更する方式が開示されている。
【特許文献１】特開２００１−３５０６６８号公報
【特許文献２】特開２００３−２１６４７９号公報
【特許文献３】特開２００５−１４１７２５号公報
【特許文献４】特開平１１−３１６６１９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１８】
しかしながら、上述した従来方式は、メモリバスの負荷状態を考慮した方式ではない。一般に、外部メモリへのアクセスタイミングは、メモリコントローラ−外部メモリ間のバスの転送量およびビットトグル率により変化する。特に、メモリコントローラ−外部メモリ間のバスの転送量が多いほど電源ドロップやノイズが、またビットトグル率が高くなるほどビット間のクロストークやノイズが増加し、外部メモリへのアクセスタイミングは厳しくなる。【００１９】
すなわち、メモリコントローラ−外部メモリ間のバスにおけるデータ転送量、ビットトグル率により、アクセスタイミングのウィンドウ幅は変化する。【００２０】
よって、実際には、メモリバスにおけるデータ転送量およびビットトグル率を変化させてウィンドウ幅を最適化することが重要である。しかし、従来の方式では、メモリコントローラは外部メモリ１つ１つに対して個別にアクセスすることができない。そのため、タイミング調整対象の外部メモリに対してデータを送受信しアクセスタイミングを調整している間に、その他の外部メモリに対し独立にアクセスするということができない。従って、実動作時のメモリコントローラ−外部メモリ間のバスにおけるデータ転送量、ビットトグル率を具体的に反映したアクセスタイミング調整ができない。【００２１】
特に、メモリコントローラ−外部メモリ間のバスの転送量が多くかつビットトグル率の高い高負荷状態を再現して、アクセスタイミングを調整する必要性は高い。例えば、高負荷状態は、通常はセットの実アプリ動作状態で実現される。しかしこの場合、その他の外部メモリに対しアプリケーションを動作させようにも、特定の外部メモリに対してタイミング調整している時に、アプリケーションソフトを通常動作時とは異なる使用メモリ容量、アドレスマッピングに切り替えて使用することは容易ではない。【００２２】
よって、高負荷状態でのアクセスタイミング最適化が出来ない上、システムＬＳＩ、外部メモリ、ボードの出来により、それぞれの特性の組み合わせによっては実アプリ動作時に動作不安定となる可能性がある。【００２３】
画像表示専用のＬＳＩであれば、画面に表示しない期間、すなわちブランキング期間を使用してアクセスタイミング調整を行うことができる。この間に、メモリアクセスができなくなったとしても画面表示開始までに標準設定値にアクセスタイミング設定を戻すことにより、システムを破綻させずにタイミング調整を継続できる。【００２４】
しかしデジタルＴＶやＤＶＤレコーダなどのデジタルＡＶ機器のシステムＬＳＩでは、内蔵マイコンや他の内蔵機能ブロックが常にメモリを使用している。このため、アクセスタイミング調整の同時実行により外部メモリにアクセスできなくなった時点でシステムが破綻し、動作が停止してしまう。これにより、実アプリ動作及びタイミング調整とも継続不可能となってしまう。そのため、従来は、動作停止しないようＣＰＵのスタックを含むワーク領域を外部ＳＲＡＭ空間に取り、かつ、外部メモリへのアクセスが正しくできなくなりデータが化けても、動作が停止することのないＤＭＡ転送と言った簡易な検査パターンにより低負荷な状態でのアクセスタイミング調整を実施し、求めた最適値で外部メモリを使用するしか方法が無かった。【００２５】
しかし、例えば、図１４に記載された、タイミング調整時と実アプリ動作時とのウィンドウ幅の比較図のように、タイミング調整時、すなわちメモリアクセスの低負荷状態で外部メモリアクセスタイミングを最適化しても、実アプリ動作時、すなわちシステムが高負荷の状態になると、低負荷状態での動作範囲から上限側、下限側のウィンドウ幅がアンバランスに削られることで大きく最適値がずれてしまうことがある。その場合、実アプリ動作時のウィンドウ幅にタイミング調整時の最適値が入らなくなり、メモリアクセスが正常動作しなくなるという問題が発生する可能性がある。逆に、低負荷なタイミング調整時のウィンドウ幅は高負荷時のウィンドウ幅よりも一般的に広く、高負荷時の最適値が低負荷時のウィンドウに入らないということはまず起こらない。【００２６】
本発明は、上記の課題に鑑みてなされたものであり、複数の外部メモリのそれぞれに対して個別にアクセスタイミング調整できるメモリアクセスタイミング調整装置およびメモリアクセスタイミング調整方法を提供することを第１の目的とする。さらに、外部メモリとメモリコントローラとの間のデータ転送量の多い高負荷状態においても、メモリアクセスが安定化するメモリアクセスタイミング調整装置及びメモリアクセスタイミング調整方法を提供することを目的とする。
【課題を解決するための手段】
【００２７】
上記目的を達成するために、本発明に係るメモリアクセスタイミング調整装置は、複数の外部メモリへアクセスするタイミングを調整するメモリアクセスタイミング調整装置であって、前記複数の外部メモリのそれぞれに対し個別に接続され、メモリアクセスにおけるデータの送受信を行う複数の個別メモリインターフェイスと、前記複数の外部メモリのうち選択された外部メモリに対して当該選択された外部メモリに接続された個別メモリインターフェイスからデータを複数回送受信させることによりアクセスタイミングを調整する制御手段とを備えることを特徴とする。【００２８】
これにより、複数の外部メモリに対して個別に設けられた個別メモリインターフェイスが外部メモリ１つ１つに対して個別にアクセスすることができる。よって、タイミング調整対象の外部メモリに対してデータを送受信しアクセスタイミングを調整している間に、その他の外部メモリに独立にデータアクセスができ、メモリバスのデータ転送量を任意に変化させることができる。従って、実動作時のメモリバスにおけるデータ転送量を反映したアクセスタイミング調整ができる。【００２９】
また、前記複数の外部メモリは、第１のクロック信号に同期して入出力動作するクロック同期型メモリであり、前記複数の個別メモリインターフェイスのそれぞれは、前記第１のクロック信号を遅延させた第２のクロック信号を使用してデータの入出力動作をし、前記アクセスタイミングは、前記第１のクロック信号と前記第２のクロック信号との位相差であり、前記制御手段は、前記個別メモリインターフェイスにおけるアクセスタイミングを順次変更させながらアクセスが成功したか否かをその都度判定し、当該アクセスが成功した前記位相差の範囲内に最適なアクセスタイミングを調整することが好ましい。【００３０】
これにより、データアクセスが成功する位相差の最大範囲を把握できるので、適応性の高いアクセスタイミングの調整が実現される。【００３１】
また、前記メモリアクセスタイミング調整装置は、さらに、特定のパターンデータを発生するパターン発生回路を備え、前記制御手段は、前記選択された外部メモリ以外の外部メモリに接続された個別メモリインターフェイスから前記選択された外部メモリ以外の外部メモリへ前記特定のパターンデータを送信させることにより、前記複数の外部メモリに負荷をかけることが好ましい。【００３２】
これにより、調整対象外部メモリ以外の外部メモリに対しても負荷の高いパターンでアクセスを行うことが可能となる。よって、メモリバスの負荷が実アプリ動作時の負荷に近い状態で動作させることができ、メモリアクセス頻度の低い低負荷時で取得したメモリアクセスタイミングの最適値と比較して、より高負荷状態でも安定した設定値を得ることが可能となる。【００３３】
また、前記メモリアクセスタイミング調整装置は、さらに、前記選択された外部メモリを示すビットを保持するメモリ選択レジスタと、前記複数の個別メモリインターフェイスに接続され、前記選択された外部メモリを示すビットに対応する外部メモリのアドレスを出力するアドレス変換回路とを備えてもよい。【００３４】
もしくは、前記メモリアクセスタイミング調整装置は、さらに、前記選択された外部メモリを示すビットを保持するメモリ選択レジスタと、前記複数の個別メモリインターフェイスに接続され、前記選択された外部メモリを示すビットにより、前記選択された外部メモリに接続された個別メモリインターフェイスを選択するセレクタ回路とを備えてもよい。【００３５】
これにより、メモリ選択レジスタが設けられることで、外部メモリ構成の変化やメモリインターフェイス周辺の接続変更があっても、タイミング調整プログラムがメモリの実アドレス配置に左右されなくなる。よって、制御手段が実行するアクセスタイミング調整プログラムを変更しないでよくなるため、プログラム開発工数が削減される。【００３６】
また、前記メモリアクセスタイミング調整装置は、さらに、前記アクセスタイミングの調整によって得られた前記複数の外部メモリのそれぞれに対する前記最適なアクセスタイミングを記憶する不揮発性メモリを備え、前記複数の個別メモリインターフェイスのそれぞれは、前記不揮発性メモリから読み出された前記最適なアクセスタイミングをシステム起動時に記憶するアクセスタイミング個別設定レジスタを備え、前記複数の個別メモリインターフェイスのそれぞれは、前記タイミング個別設定レジスタに記憶された前記最適なアクセスタイミングを、前記選択された外部メモリとのデータアクセスに使用してもよい。【００３７】
これにより、通常起動時に毎回アクセスタイミング調整を実行する必要がなくなり、起動時間の短縮が図られる。【００３８】
また、前記メモリアクセスタイミング調整装置は、さらに、前記アクセスタイミングの調整によって得られた前記複数の外部メモリのそれぞれに対する前記最適なアクセスタイミングと、システム起動の回数とを記憶する不揮発性メモリを備え、前記複数の個別メモリインターフェイスのそれぞれは、前記不揮発性メモリから読み出された前記最適なアクセスタイミングをシステム起動時に記憶するタイミング個別設定レジスタを備え、前記制御手段は、所定回数を起動するごとに、新たにアクセスタイミングを調整し、当該アクセスタイミングの調整によって得られた最適なアクセスタイミングを前記不揮発性メモリに書き込んでもよい。【００３９】
これにより、通常起動時に毎回アクセスタイミング調整を実行する必要がなくなるとともに、定期的にアクセスタイミング調整が更新されるので、起動時間の短縮が図られるとともに、システム構成や状態の変化に対応した外部メモリへのアクセスが実現できる。【００４０】
また、前記メモリアクセスタイミング調整装置は、さらに、前記アクセスタイミングの調整によって得られた前記複数の外部メモリのそれぞれに対する前記最適なアクセスタイミングと、当該最適なアクセスタイミングが有効か否かを示すタイミング設定値フラグとを記憶する不揮発性メモリを備え、前記複数の個別メモリインターフェイスのそれぞれは、前記不揮発性メモリから読み出された前記最適なアクセスタイミングをシステム起動時に記憶するタイミング個別設定レジスタを備え、前記制御手段は、システム起動時に、前記タイミング設定値フラグが無効の場合は、新たにアクセスタイミングを調整し、当該アクセスタイミングの調整によって得られた最適なアクセスタイミングを前記不揮発性メモリに書き込んでもよい。【００４１】
これにより、予めタイミング設定値フラグを無効にしておけば、次回システム起動時に自動的にアクセスタイミング調整が更新されるので、システム構成や状態の変化に対応した外部メモリへの最適なアクセスが実行できる。【００４２】
また、前記メモリアクセスタイミング調整装置は、さらに、前記複数の外部メモリの構成を示す信号を入力するためのメモリ情報入力端子を備え、前記複数の外部メモリの構成を示す信号に従い、前記複数の外部メモリに割り当てられたアドレス空間を変更、追加、又は削除してもよい。【００４３】
これにより、外部メモリのサイズ、接続状況が把握されるので、外部メモリの状態に合わせたアクセスタイミング調整が実行できる。【００４４】
また、前記制御手段は、前記アクセスタイミングの調整によって得られたアクセスタイミングの最適範囲が、所定値以下であった場合には警告メッセージを出力してもよい。【００４５】
これにより、アクセスタイミング調整結果から異常状態を検知した場合に警告メッセージを出力することで、ユーザに異常状態を通知することが可能となる。【００４６】
また、本発明は、このような特徴的な手段を備えるメモリアクセスタイミング調整装置として実現することができるだけでなく、メモリアクセスタイミング調整装置に含まれる特徴的な手段をステップとするメモリアクセスタイミング調整システムのメモリアクセスタイミング調整方法として実現することができる。
【発明の効果】
【００４７】
本発明のメモリアクセスタイミング調整装置及びメモリアクセスタイミング調整方法によれば、複数の外部メモリのそれぞれに対して個別にメモリインターフェイスが設けられていることにより、複数の外部メモリのそれぞれに対して個別にアクセスタイミング調整できるので、実動作時のメモリバスにおけるデータ転送量を反映したアクセスタイミング調整ができる。特に、メモリバスのデータ転送量が多い高負荷状態に近い状態でアクセスタイミング調整ができるので、高負荷時のメモリアクセスが安定化するメモリアクセスタイミング調整を実現できる。
【図面の簡単な説明】
【００４８】
【図１】図１は、本発明の実施の形態１におけるメモリアクセスタイミング調整装置を含むメモリアクセスタイミング調整システムの機能構成図である。
【図２】図２は、本発明の実施の形態１にかかるメモリアクセスタイミング調整装置によるウィンドウ幅検査結果と従来技術によるウィンドウ幅検査結果との比較図である。
【図３】図３は、本発明の実施の形態１の第１の変形例を示すメモリアクセスタイミング調整装置を含むメモリアクセスタイミング調整システムの機能構成図である。
【図４】図４は、本発明の実施の形態１の第２の変形例を示すメモリアクセスタイミング調整装置を含むメモリアクセスタイミング調整システムの機能構成図である。
【図５】図５は、本発明の実施の形態２におけるメモリアクセスタイミング調整装置を含むメモリアクセスタイミング調整システムの機能構成図である。
【図６】図６は、個別メモリインターフェイスまたは外部メモリが特定パターンデータを読み込む場合の動作タイミングチャートである。
【図７】図７は、本発明の実施の形態３におけるメモリアクセスタイミング調整装置を含むメモリアクセスタイミング調整システムの機能構成図である。
【図８】図８は、本発明の実施の形態４におけるメモリアクセスタイミング調整装置を含むメモリアクセスタイミング調整システムの機能構成図である。
【図９】図９は、本発明の実施の形態４の変形例を示すメモリアクセスタイミング調整装置を含むメモリアクセスタイミング調整システムの機能構成図である。
【図１０】図１０は、本発明の実施の形態５におけるメモリアクセスタイミング調整装置を含むメモリアクセスタイミング調整システムの機能構成図である。
【図１１】図１１は、本発明の実施の形態６におけるメモリアクセスタイミング調整装置の動作を表すフローチャートである。
【図１２】図１２は、従来のメモリアクセスタイミング調整システムの機能構成図である。
【図１３】図１３は、外部メモリからＬＳＩ内へデータを読み込む場合の動作タイミングチャートである。
【図１４】図１４は、従来技術によるタイミング調整時と実アプリ動作時とのウィンドウ幅の比較図である。
【符号の説明】
【００４９】
１、４、５、６、７ａ、７ｂ、７ｃ、８    メモリアクセスタイミング調整装置
１Ａ、４Ａ、５Ａ、６Ａ、７Ａ、８Ａ、９００    システムＬＳＩ
２    複数の外部メモリ
２Ａ、２Ｂ、２Ｃ、２Ｄ、９１０Ａ、９１０Ｂ、９１０Ｃ、９１０Ｄ    外部メモリ
３、３１、３２、３３    不揮発性メモリ
１０、４０、５０、６０、７０、８０、９０１    プロセッサ
１１、４１、５１、６１、７１、８１、９０２    外部バスコントローラ
１２、４２、５２、６２、７２、８２    内蔵ＳＲＡＭ
１３、４３、５３、６３、７３、８３、９０３    メモリコントローラ
３２Ａ    タイミング設定値フラグ
３３Ａ    起動回数カウント値
８４    メモリ情報入力端子
１３１、４３１、５３１、６３１、７３１、８３１    アクセス選択回路
１３２、４３２、５３２、６３２、７３２、８３２、９０４    メモリインターフェイス
１３２Ａ、１３２Ｂ、１３２Ｃ、１３２Ｄ、４３２Ａ、４３２Ｂ、４３２Ｃ、４３２Ｄ、５３２Ａ、５３２Ｂ、５３２Ｃ、５３２Ｄ、６３２Ａ、６３２Ｂ、６３２Ｃ、６３２Ｄ、７３２Ａ、７３２Ｂ、７３２Ｃ、７３２Ｄ、８３２Ａ、８３２Ｂ、８３２Ｃ、８３２Ｄ
個別メモリインターフェイス
４３１Ａ、５３１Ａ    メモリ選択レジスタ
４３１Ｂ    アドレス変換回路
５３１Ｂ    セレクタ回路
６３３    パターン発生回路
７３２Ａ１、７３２Ｂ１、７３２Ｃ１、７３２Ｄ１    タイミング個別設定レジスタ
９２０    外部不揮発性メモリ
９３０    外部ＳＲＡＭ
【発明を実施するための最良の形態】
【００５０】
（実施の形態１）
本実施の形態１におけるメモリアクセスタイミング調整装置は、複数の外部メモリのそれぞれに対し個別に接続された複数の個別メモリインターフェイスと、選択された外部メモリに対して当該選択された外部メモリに接続された個別メモリインターフェイスからデータを複数回送受信させることによりアクセスタイミングを調整する制御手段とを備える。これにより、選択された外部メモリに対してデータを送受信しアクセスタイミングを調整している間に、その他の外部メモリに独立にデータアクセスができ、メモリバスのデータ転送量を任意に変化させることができる。従って、実動作時のメモリバスにおけるデータ転送量を反映したアクセスタイミング調整ができる。【００５１】
以下、本発明の実施の形態１におけるメモリアクセスタイミング調整装置について、図面を参照しながら詳細に説明する。【００５２】
図１は、本発明の実施の形態１におけるメモリアクセスタイミング調整装置を含むメモリアクセスタイミング調整システムの機能構成図である。同図におけるメモリアクセスタイミング調整システムは、メモリアクセスタイミング調整装置１と複数の外部メモリ２とを備える。メモリアクセスタイミング調整装置１は、システムＬＳＩ１Ａと、不揮発性メモリ３とを備える。複数の外部メモリ２は、外部メモリ２Ａ、２Ｂ、２Ｃ及び２Ｄを備える。【００５３】
システムＬＳＩ１Ａは、プロセッサ１０と、外部バスコントローラ１１と、内蔵ＳＲＡＭ１２と、メモリコントローラ１３とを備える。【００５４】
プロセッサ１０は、外部メモリとのアクセスタイミングを調整する制御手段としての機能を有する。【００５５】
不揮発性メモリ３は、外部バスコントローラ１１を介しプロセッサ１０と接続される。【００５６】
内蔵ＳＲＡＭ１２は、外部バスコントローラ１１を介しプロセッサ１０に接続され、プロセッサ１０の作業領域としての機能を有する。【００５７】
メモリコントローラ１３は、プロセッサ１０と外部メモリ２Ａ、２Ｂ、２Ｃ及び２Ｄの各々との間に接続され、アクセス選択回路１３１とメモリインターフェイス１３２とを備える。【００５８】
メモリインターフェイス１３２は、個別メモリインターフェイス１３２Ａ、１３２Ｂ、１３２Ｃ及び１３２Ｄを内蔵し、外部メモリ２Ａ〜２Ｄはそれぞれ対応する個別メモリインターフェイス１３２Ａ〜１３２Ｄを介してアクセス選択回路１３１に接続される。【００５９】
以上のような構成を有する本実施の形態１のメモリアクセスタイミング調整システムの調整動作について、以下説明する。【００６０】
まず、プロセッサ１０は、起動時に外部バスコントローラ１１を介して不揮発性メモリ３からブートコードを読み出し、システムＬＳＩ１Ａの各種設定を行った後、同じく不揮発性メモリ３からアクセスタイミング調整プログラムを読み出す。アクセスタイミング調整プログラムには、複数ある外部メモリ２Ａ〜２Ｄのそれぞれにアクセスする際のメモリアドレスが記載されている。【００６１】
次に、アクセス選択回路１３１は、プロセッサ１０が要求するメモリアドレスに従って、現在タイミング調整すべき外部メモリ（図１では外部メモリ２Ｂ）を選択する。【００６２】
図１における外部メモリ２Ａ〜２Ｄとしては、例えば、ＤＤＲ  ＳＤＲＡＭ（Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ  Ｓｙｎｃｒｏｎｏｕｓ  ＤＲＡＭ）が使用される。そして、メモリコントローラ１３から外部メモリ２Ａ〜２Ｄへ、あるいは外部メモリ２Ａ〜２Ｄからメモリコントローラ１３へデータを転送するタイミングを知らせるために、第１クロック信号に同期したデータストローブ信号が使用されている。外部メモリ２Ａ〜２Ｄからデータを読み出す場合、外部メモリ２Ａ〜２Ｄからはデータがデータストローブと同位相で出力されるため、データを確実に受け取るには、例えば、メモリコントローラ１３は、まず、入力されたデータストローブ信号に対して位相を９０度遅らせたタイミングのデータストローブ信号を生成する。そして、当該データストローブ信号の立ち上がり時及び立ち下がり時にデータを読み込むことになっている。しかし、電源変動やノイズなどの外的要因により、受信したデータストローブ信号に波形歪みが生じ、データストローブ信号のエッジ検出時に位相のずれが生じる。これに対応するため、メモリコントローラ１３は、データ読み込みのための基準位相差である９０度に対し、所定の位相範囲であるウィンドウ幅を確保する必要がある。このウィンドウ幅を、例えば、１８０度を１２８分割したものを１ビットで調整できる位相差として表現し、アクセスタイミング調整用レジスタに設定した位相差に従いアクセスタイミングを変化させる。【００６３】
上記方法により、プロセッサ１０は、外部メモリ２Ｂに対しアクセスタイミング設定を変化させながら、メモリアクセスが成功する位相差範囲であるウィンドウ幅を検査する。検査結果は内蔵ＳＲＡＭ１２に逐次記録していき、検査完了後、ウィンドウ幅から最適なアクセスタイミング設定値を決定する。【００６４】
そして、プロセッサ１０は、システムＬＳＩ１Ａに接続された外部メモリ２Ａ〜２Ｄ全てに対し、この最適なアクセスタイミングの決定プロセスを、調整対象を切り替えながら順に実行する。【００６５】
図２は、本発明の実施の形態１にかかるメモリアクセスタイミング調整装置によるウィンドウ幅検査結果と従来技術によるウィンドウ幅検査結果との比較図である。同図において、横軸はウィンドウ幅を位相差で表している。また上から順に、本発明の実施の形態１にかかるメモリアクセスタイミング調整装置によって検査された外部メモリ２Ａ、２Ｂ、２Ｃ及び２Ｄについてのウィンドウ幅、及び、従来技術により検査された複数の外部メモリ２のウィンドウ幅である。【００６６】
本発明では、個別メモリインターフェイス１３２Ａ〜１３２Ｄが各外部メモリ２Ａ〜２Ｄに対し個別に設けられているので、各外部メモリについて独立したウィンドウ幅が検査される。【００６７】
一方、従来技術では、複数の外部メモリに対し、共通した１つのメモリインターフェイスのみが設けられている。このため、各外部メモリについて独立したウィンドウ幅は検査されず、全ての外部メモリに対して同一のアクセスタイミング設定値で同時にウィンドウ幅が検査される。従って、従来技術により得られたウィンドウ幅は外部メモリ２Ａ〜２Ｄの全てが正常動作する範囲となるため非常に狭くなり、実動作時のメモリバスの転送量の変化に対応したウィンドウ幅の変化に追従できない。【００６８】
これに対し、本発明では、図２に記載された外部メモリ２Ａ〜２Ｄのそれぞれに対するウィンドウ幅を基に、実動作時のメモリバスの転送量の変化を想定して多様なウィンドウ幅の設定が可能となる。【００６９】
なお、上述した調整動作は、システムＬＳＩ１Ａの起動時の動作についての説明であるが、アプリプログラム実行状態から何らかの処理切り替え指示によりアクセスタイミング調整プログラム実行に移行する場合も考えられる。その場合はアクセスタイミング調整プログラム実行開始以降に関して上記説明と同様となる。【００７０】
また、図１に記載されたメモリアクセスタイミング調整装置１の構成要素であるアクセス選択回路１３１は、例えば、以下、図３または図４に記載されたような機能構成をとってもよい。【００７１】
図３は、本発明の実施の形態１の第１の変形例を示すメモリアクセスタイミング調整装置を含むメモリアクセスタイミング調整システムの機能構成図である。【００７２】
同図におけるメモリアクセスタイミング調整システムは、メモリアクセスタイミング調整装置４と複数の外部メモリ２とを備える。メモリアクセスタイミング調整装置４は、システムＬＳＩ４Ａと、不揮発性メモリ３とを備える。複数の外部メモリ２は、外部メモリ２Ａ、２Ｂ、２Ｃ及び２Ｄを備える。【００７３】
システムＬＳＩ４Ａは、プロセッサ４０と、外部バスコントローラ４１と、内蔵ＳＲＡＭ４２と、メモリコントローラ４３とを備える。【００７４】
メモリコントローラ４３は、プロセッサ４０と外部メモリ２Ａ、２Ｂ、２Ｃ及び２Ｄの各々との間に接続され、アクセス選択回路４３１とメモリインターフェイス４３２とを備える。【００７５】
メモリインターフェイス４３２は、個別メモリインターフェイス４３２Ａ、４３２Ｂ、４３２Ｃ及び４３２Ｄを内蔵し、外部メモリ２Ａ〜２Ｄはそれぞれ対応する個別メモリインターフェイス４３２Ａ〜４３２Ｄを介してアクセス選択回路４３１に接続される。【００７６】
同図におけるメモリアクセスタイミング調整システムは、図１に記載されたメモリアクセスタイミング調整システムと比較し、アクセス選択回路４３１の機能構成が具体化されている点のみが異なり、その他の構成要素については機能的に同等である。同じ点は説明を省略し、以下、異なる点のみ説明する。【００７７】
アクセス選択回路４３１は、メモリ選択レジスタ４３１Ａとアドレス変換回路４３１Ｂとを備える。【００７８】
図３に記載されたメモリアクセス調整システムでは、アクセス選択回路４３１は、プロセッサ４０がメモリ選択レジスタ４３１Ａに設定した調整対象とする外部メモリを選択するビットを読み、タイミング調整すべき外部メモリを選択する。【００７９】
また、図４は、本発明の実施の形態１の第２の変形例を示すメモリアクセスタイミング調整装置を含むメモリアクセスタイミング調整システムの機能構成図である。【００８０】
同図におけるメモリアクセスタイミング調整システムは、メモリアクセスタイミング調整装置５と複数の外部メモリ２とを備える。メモリアクセスタイミング調整装置５は、システムＬＳＩ５Ａと、不揮発性メモリ３とを備える。複数の外部メモリ２は、外部メモリ２Ａ、２Ｂ、２Ｃ及び２Ｄを備える。【００８１】
システムＬＳＩ５Ａは、プロセッサ５０と、外部バスコントローラ５１と、内蔵ＳＲＡＭ５２と、メモリコントローラ５３とを備える。【００８２】
メモリコントローラ５３は、プロセッサ５０と外部メモリ２Ａ、２Ｂ、２Ｃ及び２Ｄの各々との間に接続され、アクセス選択回路５３１とメモリインターフェイス５３２とを備える。【００８３】
メモリインターフェイス５３２は、個別メモリインターフェイス５３２Ａ、５３２Ｂ、５３２Ｃ及び５３２Ｄを内蔵し、外部メモリ２Ａ〜２Ｄはそれぞれ対応する個別メモリインターフェイス５３２Ａ〜５３２Ｄを介してアクセス選択回路５３１に接続される。【００８４】
同図におけるメモリアクセスタイミング調整システムは、図１に記載されたメモリアクセスタイミング調整システムと比較し、アクセス選択回路５３１の機能構成が具体化されている点のみが異なり、その他の構成要素については機能的に同等である。同じ点は説明を省略し、以下、異なる点のみ説明する。【００８５】
アクセス選択回路５３１は、メモリ選択レジスタ５３１Ａとセレクタ回路５３１Ｂとを備える。【００８６】
図４に記載されたメモリアクセス調整システムでは、アクセス選択回路５３１は、メモリ選択レジスタ５３１Ａに設定された値を読み、その値によりセレクタ回路５３１Ｂが信号の接続を切り換え、プロセッサ５０が調整対象外部メモリに直接アクセスできるようになっている。【００８７】
図３又は図４に記載されたメモリアクセスタイミング調整システムでは、メモリ選択レジスタ４３１Ａ又は５３１Ａが設けられている。これにより、プロセッサ４０又は５０が実行するアクセスタイミング調整プログラムは、外部メモリ構成の変化やメモリコントローラ内部の接続変更があっても変更無く使用されることが可能となる。さらには異なるシステムＬＳＩであってもメモリ選択レジスタ仕様を統一していれば、全く同じアクセスタイミングプログラムが使用されることが可能であるので、プログラム開発工数が削減される。【００８８】
以上のように、本発明の実施の形態１にかかるメモリアクセスタイミング調整システムによれば、メモリコントローラはアクセス選択回路および個別メモリインターフェイスにより、外部メモリ１つ１つを独立にアクセスすることができる。よって、外部メモリの各々に対して、最適なアクセスタイミングが得られ、外部メモリ構成の変化やメモリコントローラ内部の接続変更があっても個々の最適値には有用性がある。また、アプリプログラムが調査対象の外部メモリ以外の外部メモリ容量で動作するのであれば、調査対象となる外部メモリをアクセスタイミング調整しながらアプリプログラムで使用するメモリ領域が確保できるため、安定なアプリケーションの動作が実現される。【００８９】
なお、図１、図３及び図４に記載されたシステムでは、システムＬＳＩ１Ａ、４Ａ及び５Ａに接続された外部メモリおよび個別メモリインターフェイスの個数はそれぞれ４個であるが、本発明は２個以上であればよく、同様の効果を奏する。【００９０】
また、不揮発性メモリ３は各システムＬＳＩの内部にあってもよく、逆に内蔵ＳＲＡＭは各システムＬＳＩの外部のＳＲＡＭであってもよい。【００９１】
また、アクセスタイミング調整プログラムおよびアプリプログラム等については、不揮発性メモリ３に書き込んでおく必要はなく、不揮発性メモリ３とは別に用意したＲＡＭにネットワーク経由でダウンロードしたものを各プロセッサから読み込むようにしてもよい。【００９２】
（実施の形態２）
本実施の形態２におけるメモリアクセスタイミング調整装置は、さらに、特定のパターンデータを発生するパターン発生回路と、選択された外部メモリ以外の外部メモリに接続された個別メモリインターフェイスから選択された外部メモリ以外の外部メモリへ特定のパターンデータを送信させる制御手段とを備える。これにより、複数の外部メモリに負荷をかけた実アプリ動作時に近い状態が再現されるので、メモリアクセス頻度の低い低負荷時で取得したメモリアクセスタイミングと比較して、より高負荷状態でも安定したアクセスタイミングの設定値を得ることが可能となる。【００９３】
以下、本発明の実施の形態２におけるメモリアクセスタイミング調整装置について、図面を参照しながら詳細に説明する。【００９４】
図５は、本発明の実施の形態２におけるメモリアクセスタイミング調整装置を含むメモリアクセスタイミング調整システムの機能構成図である。【００９５】
同図におけるメモリアクセスタイミング調整システムは、メモリアクセスタイミング調整装置６と複数の外部メモリ２とを備える。メモリアクセスタイミング調整装置６は、システムＬＳＩ６Ａと、不揮発性メモリ３とを備える。複数の外部メモリ２は、外部メモリ２Ａ、２Ｂ、２Ｃ及び２Ｄを備える。【００９６】
システムＬＳＩ６Ａは、プロセッサ６０と、外部バスコントローラ６１と、内蔵ＳＲＡＭ６２と、メモリコントローラ６３とを備える。【００９７】
プロセッサ６０は、外部メモリとのアクセスタイミングを調整する制御手段としての機能を有する。【００９８】
不揮発性メモリ３は、外部バスコントローラ６１を介しプロセッサ６０と接続される。【００９９】
内蔵ＳＲＡＭ６２は、外部バスコントローラ６１を介しプロセッサ６０に接続され、プロセッサ６０の作業領域としての機能を有する。【０１００】
メモリコントローラ６３は、プロセッサ６０と外部メモリ２Ａ、２Ｂ、２Ｃ及び２Ｄの各々との間に接続され、アクセス選択回路６３１と、メモリインターフェイス６３２と、パターン発生回路６３３とを備える。【０１０１】
メモリインターフェイス６３２は、個別メモリインターフェイス６３２Ａ、６３２Ｂ、６３２Ｃ及び６３２Ｄを内蔵し、外部メモリ２Ａ〜２Ｄはそれぞれ対応する個別メモリインターフェイス６３２Ａ〜６３２Ｄを介してアクセス選択回路６３１に接続される。【０１０２】
パターン発生回路６３３は、アクセス選択回路６３１に接続される。【０１０３】
図５におけるメモリアクセスタイミング調整システムは、図１に記載された実施の形態１に係るメモリアクセスタイミング調整システムと比較し、メモリコントローラ６３の構成及び機能が異なり、その他の構成要素については機能的に同等である。同じ点は説明を省略し、以下、異なる点のみ説明する。【０１０４】
図５において、プロセッサ６０から調整対象である外部メモリ２Ｂに対しアクセスタイミング調整を実施する場合、アクセス選択回路６３１は、まず、メモリコントローラ６３内のパターン発生回路６３３から発生した特定パターンデータを、外部メモリ２Ｂ以外の外部メモリ２Ａ、２Ｃ及び２Ｄに対し、外部メモリ２Ｂのアクセスタイミング調整が完了するまで個別メモリインターフェイス６３２Ａ、６３２Ｃ、６３２Ｄは特定パターンによる外部メモリアクセスを実行し続ける。【０１０５】
ここで、パターン発生回路６３３が発生する特定パターンデータについて図６を用いて説明する。図６は、個別メモリインターフェイスまたは外部メモリが特定パターンデータを読み込む場合の動作タイミングチャートである。【０１０６】
調整対象である外部メモリ２Ｂに対しアクセスタイミング調整を実施している間、パターン発生回路６３３から発生した特定パターンデータが外部メモリ２Ａ、２Ｃ及び２Ｄに読み込まれた後読み出される。その後、それぞれの外部メモリに接続された個別メモリインターフェイス６３２Ａ、６３２Ｃ及び６３２Ｄで当該特定パターンデータが読み込まれる。同図において、上部に記載されたレジスタは受信したデータストローブ信号の立ち上がり時において４ビットデータを順次保持し、下部に記載されたレジスタは受信したデータストローブ信号の立ち下がり時において４ビットデータを順次保持する。【０１０７】
例えば、４ビットデータ列が互いに反転関係にある“Ａ”（１０１０）と“５”（０１０１）とで構成された“Ａ５Ａ５Ａ５・・・”である場合、４ビットデータはデータストローブ信号の変化に従い、上部レジスタと下部レジスタに交互に保持されるので、上部レジスタには“ＡＡＡ・・”の順でデータが保持され、下部レジスタには“５５５・・”の順で保持される。従って、４ビットデータ列“Ａ５Ａ５Ａ５・・・”は、上部レジスタ及び下部レジスタにとって、データ変化のない、つまり、ビットトグル率の低いパターンデータであるが、外部メモリバスにとってはデータストローブのエッジ毎にデータが変化するビットトグル率の高いパターンとなる。【０１０８】
一方、４ビットデータ列が“Ａ５５ＡＡ５５Ａ・・”である場合、４ビットデータはデータストローブ信号の変化に従い、上部レジスタと下部レジスタに交互に保持されるので、上部レジスタには“Ａ５Ａ５・・”の順でデータが保持され、下部レジスタには“５Ａ５Ａ５・・”の順で保持される。従って、４ビットデータ列“Ａ５５ＡＡ５５Ａ・・”は、上部レジスタ及び下部レジスタにとって、データ変化の大きい、つまり、ビットトグル率の高いパターンデータであるが、外部メモリバスにとっては、データストローブのエッジ２回毎にビットトグルするパターンとなる。これらのパターンを組み合わせることで内部バス、外部メモリバス共にビットトグル率の高いアクセスが実現できる。【０１０９】
再び図５に戻ってアクセスタイミング調整の実施について説明する。調整対象である外部メモリ２Ｂのタイミング調整が完了すると、アクセス選択回路６３１は、次に、別の外部メモリのタイミング調整を実行する。例えば、プロセッサ６０からの指示で調整対象外部メモリが外部メモリ２Ｃになった場合は、アクセス選択回路６３１は、パターン発生回路６３３で発生したアクセスパターンを外部メモリ２Ａ、２Ｂ及び２Ｄに対して実行する。そして、他の外部メモリがタイミング調整対象メモリになった場合も、同様に調整対象外部メモリ以外の外部メモリに対して同様に実行する。【０１１０】
これにより、実施の形態１での、調整対象である外部メモリ２Ｂへのアクセスしか発生していない状態から、外部メモリ２Ｂ以外の外部メモリ２Ａ、２Ｃ及び２Ｄに対しても、上述したような全ビットをクロック毎にトグルさせた高負荷のパターンデータをアクセスさせることができる。よって、実アプリ動作時に近い、メモリインターフェイス全体が高負荷で動作する状態が実現される。すなわち、実アプリ動作時における最適なメモリアクセスタイミングに近い値がアクセスタイミング調整で得られるので、実アプリ動作時のメモリアクセス安定度が向上する。【０１１１】
（実施の形態３）
本実施の形態３におけるメモリアクセスタイミング調整装置は、アクセスタイミングの調整によって得られた最適なアクセスタイミングを記憶する不揮発性メモリを備え、システム起動時に、個別メモリインターフェイスのそれぞれが有するアクセスタイミング個別設定レジスタに最適なアクセスタイミングを読み出し、これを選択された外部メモリとのデータアクセスに使用する。これにより、通常起動時に毎回アクセスタイミング調整を実行する必要がなくなり、起動時間の短縮が図られる。【０１１２】
以下、本発明の実施の形態３におけるメモリアクセスタイミング調整装置について、図面を参照しながら詳細に説明する。【０１１３】
図７は、本発明の実施の形態３におけるメモリアクセスタイミング調整装置を含むメモリアクセスタイミング調整システムの機能構成図である。同図におけるメモリアクセスタイミング調整システムは、メモリアクセスタイミング調整装置７ａと複数の外部メモリ２とを備える。メモリアクセスタイミング調整装置７ａは、システムＬＳＩ７Ａと、不揮発性メモリ３１とを備える。複数の外部メモリ２は、外部メモリ２Ａ、２Ｂ、２Ｃ及び２Ｄを備える。【０１１４】
システムＬＳＩ７Ａは、プロセッサ７０と、外部バスコントローラ７１と、内蔵ＳＲＡＭ７２と、メモリコントローラ７３とを備える。【０１１５】
プロセッサ７０は、外部メモリとのアクセスタイミングを調整する制御手段としての機能を有する。【０１１６】
不揮発性メモリ３１は、外部バスコントローラ７１を介しプロセッサ７０と接続される。【０１１７】
内蔵ＳＲＡＭ７２は、外部バスコントローラ７１を介しプロセッサ７０に接続され、プロセッサ７０の作業領域としての機能を有する。【０１１８】
メモリコントローラ７３は、プロセッサ７０と外部メモリ２Ａ、２Ｂ、２Ｃ及び２Ｄの各々との間に接続され、アクセス選択回路７３１と、メモリインターフェイス７３２とを備える。【０１１９】
メモリインターフェイス７３２は、個別メモリインターフェイス７３２Ａ、７３２Ｂ、７３２Ｃ及び７３２Ｄを内蔵し、外部メモリ２Ａ〜２Ｄはそれぞれ対応する個別メモリインターフェイス７３２Ａ〜７３２Ｄを介してアクセス選択回路７３１に接続される。【０１２０】
また、個別メモリインターフェイス７３２Ａ、７３２Ｂ、７３２Ｃ及び７３２Ｄは、それぞれ、タイミング個別設定レジスタ７３２Ａ１、７３２Ｂ１、７３２Ｃ１及び７３２Ｄ１を備える。【０１２１】
図７におけるメモリアクセスタイミング調整システムは、図１に記載された実施の形態１に係るメモリアクセスタイミング調整システムと比較し、メモリコントローラ７３の構成及び機能が異なり、その他の構成要素については機能的に同等である。同じ点は説明を省略し、以下、異なる点のみ説明する。【０１２２】
図７において、システムＬＳＩ７Ａは、不揮発性メモリ３１からアクセスタイミング調整プログラムを読み出し、アクセスタイミング調整プログラムを実行する。アクセスタイミング調整を実施した後、プロセッサ７０は、個別メモリインターフェイス７３２Ａ〜７３２Ｄ内のタイミング個別設定レジスタ７３２Ａ１〜７３２Ｄ１に、それぞれの外部メモリに対応した最適なアクセスタイミングであるタイミング最適値を設定する。また同時に、不揮発性メモリ３１に対し、それらのタイミング最適値を書き込む。【０１２３】
また、同時に、アクセスタイミング調整プログラムをタイミング最適値設定プログラムに置き換える。【０１２４】
次回システム起動時には、プロセッサ７０はタイミング最適値設定プログラムを読み込み、当該プログラムに従って不揮発性メモリ３１に書き込まれているタイミング最適値を、タイミング個別設定レジスタ７３２Ａ１〜７３２Ｄ１に設定する。【０１２５】
これにより、アクセスタイミング調整によって得られたタイミング最適値が不揮発性メモリに格納されるので、通常起動時に毎回アクセスタイミング調整がなされる必要がなくなり、起動時間の短縮が図られる。【０１２６】
なお、上述した動作説明では、プロセッサ７０が、最初のアクセスタイミング調整実行後に不揮発性メモリ３１にタイミング最適値を書き込み、かつアクセスタイミング調整プログラムをタイミング最適値設定プログラムに書き換えると説明したが、必ずしもプロセッサ７０が書き換える必要はない。アクセスタイミング調整プログラムが書き込まれた不揮発性メモリがシステムＬＳＩ７Ａに接続され、プロセッサが当該プログラムを実行しタイミング最適値を取得した後、工場出荷時に、アクセスタイミング調整プログラムが書き込まれた不揮発性メモリを、タイミング最適値およびタイミング最適値設定プログラムが書き込まれた不揮発性メモリに置換えてもよい。【０１２７】
また、タイミング最適値のみがブートコードを含む不揮発性メモリ３１とは異なる不揮発性メモリに書き込まれ、ブートコードを含む不揮発性メモリ３１の内容が出荷時に書き換えられてもよい。【０１２８】
これにより、アクセスタイミング調整は、ユーザへのシステムリリース後に行う必要のないシステムであれば、工場出荷時のみ実行されればよく、ユーザ起動時にアクセスタイミング再調整の必要がなくなるため、起動時間の短縮が図られる。【０１２９】
（実施の形態４）
本実施の形態４におけるメモリアクセスタイミング調整装置は、アクセスタイミングの調整によって得られた最適なアクセスタイミングと、最適なアクセスタイミングが有効か否かを示すタイミング設定値フラグとを記憶する不揮発性メモリと、システム起動時にタイミング設定値フラグが無効の場合は、新たにアクセスタイミングを調整し、当該アクセスタイミングの調整によって得られた最適なアクセスタイミングを不揮発性メモリに書き込む制御手段とを備える。これにより、予めタイミング設定値フラグを無効にしておけば、次回起動時に自動的にアクセスタイミング調整が更新されるので、システム構成や状態の変化に対応した外部メモリへの最適なアクセスが実行できる。【０１３０】
以下、本発明の実施の形態４におけるメモリアクセスタイミング調整装置について、図面を参照しながら詳細に説明する。【０１３１】
図８は、本発明の実施の形態４におけるメモリアクセスタイミング調整装置を含むメモリアクセスタイミング調整システムの機能構成図である。同図におけるメモリアクセスタイミング調整システムは、メモリアクセスタイミング調整装置７ｂと複数の外部メモリ２とを備える。メモリアクセスタイミング調整装置７ｂは、システムＬＳＩ７Ａと、不揮発性メモリ３２とを備える。複数の外部メモリ２は、外部メモリ２Ａ、２Ｂ、２Ｃ及び２Ｄを備える。【０１３２】
図８におけるメモリアクセスタイミング調整システムは、図７に記載された実施の形態３に係るメモリアクセスタイミング調整システムと比較し、不揮発性メモリ３２の機能及び構成のみが異なり、その他の構成要素については同等である。同じ点は説明を省略し、以下、異なる点のみ説明する。【０１３３】
不揮発性メモリ３２は、外部バスコントローラ７１を介しプロセッサ７０と接続される。【０１３４】
図８において、外部メモリ２Ａ、２Ｂ、２Ｃ及び２Ｄのそれぞれについて求めた最適なアクセスタイミングであるアクセスタイミング最適値は、プロセッサ７０により個別メモリインターフェイス７３２Ａ〜７３２Ｄ内のタイミング個別設定レジスタ７３２Ａ１〜７３２Ｄ１に設定される。【０１３５】
同時に、プロセッサ７０は、外部メモリ毎に求めたアクセスタイミング最適値を不揮発性メモリ３２の特定の領域に書込みを行う。【０１３６】
さらに、プロセッサ７０は、アクセスタイミング最適値を不揮発性メモリ３２に書き込むと同時に、あるいは別のタイミングで不揮発性メモリ３２に書き込んだアクセスタイミング設定値が有効であるか否かを示すタイミング設定値フラグ３２Ａを不揮発性メモリ３２上の特定領域に書き込む。【０１３７】
その後、システムのリセット、あるいは電源再投入によりシステムＬＳＩ７Ａの再起動が発生した場合、プロセッサ７０は不揮発性メモリ３２からブートコードを読み取りシステム起動している最中に、上記のタイミング設定値フラグ３２Ａをチェックし、有効を示していれば不揮発性メモリ３２に書き込まれたアクセスタイミング最適値を個別メモリインターフェイス７３２Ａ〜７３２Ｄ内のタイミング個別設定レジスタ７３２Ａ１〜７３２Ｄ１に設定する。【０１３８】
また、反対に、タイミング設定値フラグ３２Ａが無効を示していれば、プロセッサ７０はアクセスタイミング調整プログラムを起動し、再度アクセスタイミング調整を行って求めたアクセスタイミング最適値をタイミング個別設定レジスタ７３２Ａ１〜７３２Ｄ１に設定する。【０１３９】
これにより、システムリセットあるいは電源投入毎にアクセスタイミング調整が実行される必要がなくなり、アクセスタイミング調整が必要であると判断された場合のみアクセスタイミング調整が実行されるため、システム起動時間の短縮が図られる。【０１４０】
ここで、タイミング設定値フラグ３２Ａは、プロセッサ７０が必ずしも書き換える必要はなく、システムによっては出荷時に固定値が書込まれており、毎回起動時にアクセスタイミング調整が実行されたり、常に不揮発性メモリ３２に書き込まれたタイミング設定値が最適値として使用されるようにすることも可能である。【０１４１】
また、出荷時には無効フラグとしておき、ユーザ側でのシステム起動時の初回のアクセスタイミング調整が完了した後は、有効フラグに書き換えられることで、次回のシステム起動時からは不揮発性メモリ３２のタイミング最適値が使用されるようにもできる。【０１４２】
さらに、図９に記載された本発明の実施の形態４におけるメモリアクセスタイミング調整装置の別の実現例について以下説明する。【０１４３】
図９は、本発明の実施の形態４の変形例を示すメモリアクセスタイミング調整装置を含むメモリアクセスタイミング調整システムの機能構成図である。同図におけるメモリアクセスタイミング調整システムは、メモリアクセスタイミング調整装置７ｃと複数の外部メモリ２とを備える。メモリアクセスタイミング調整装置７ｃは、システムＬＳＩ７Ａと、不揮発性メモリ３３とを備える。複数の外部メモリ２は、外部メモリ２Ａ、２Ｂ、２Ｃ及び２Ｄを備える。【０１４４】
図９におけるメモリアクセスタイミング調整システムは、図８に記載された実施の形態４に係るメモリアクセスタイミング調整システムと比較し、不揮発性メモリ３３の機能及び構成のみが異なり、その他の構成要素については同等である。同じ点は説明を省略し、以下、異なる点のみ説明する。【０１４５】
図９に記載されたメモリアクセスタイミング調整システムでは、図８に記載されたタイミング設定値フラグ３２Ａの代わりに、システム起動の度にプロセッサ７０が不揮発性メモリ３３に書き込まれた起動回数カウント値３３Ａを読み出し、その値を更新して不揮発性メモリ３３に書き戻す。システム起動時に読み出したこの起動回数カウント値３３Ａにより、プロセッサ７０はアクセスタイミング調整を実施するか否かを決定する。【０１４６】
例えば、起動回数カウント値３３Ａが所定値よりも小さい場合は、不揮発性メモリ３３に書き込まれているタイミング最適値を読み出し、個別メモリインターフェイス７３２Ａ〜７３２Ｄ内のタイミング個別設定レジスタ７３２Ａ１〜７３２Ｄ１にその値を設定する。【０１４７】
一方、起動回数カウント値３３Ａが所定値に達した場合は、プロセッサ７０はアクセスタイミング調整プログラムを実行し、外部メモリ２Ａ〜２Ｄのアクセスタイミング調整を行う。そして、得られたタイミング最適値をタイミング個別設定レジスタ７３２Ａ１〜７３２Ｄ１に設定すると共に、不揮発性メモリ３３にタイミング最適値を書き込み、起動回数カウント値３３Ａを決められた値に更新する。【０１４８】
その後、起動回数カウント値３３Ａが所定値に到達するまでは、システム起動時に不揮発性メモリ３３に書かれたタイミング最適値をタイミング個別設定レジスタ７３２Ａ１〜７３２Ｄ１に設定する。【０１４９】
なお、上記説明ではシステム起動回数をカウントし、その値をもってアクセスタイミング調整を実行するか否かの判定がなされたが、時間情報が管理できるシステムであれば、システム使用時間の合計を起動回数カウント値の代わりに不揮発性メモリ３３に書き込み、アクセスタイミング調整を実行するか否かの判定基準としてもよい。【０１５０】
これら実施の形態４およびその変形例に示された構成により、予め不揮発性メモリに格納されたアクセスタイミング最適値とアクセスタイミング再調整により新たに得られたアクセスタイミング最適値とが、使用回数や累積時間などの条件設定によって使い分けられるので、起動時間の短縮が図られるとともにより安定したメモリアクセス動作が実現される。【０１５１】
（実施の形態５）
本実施の形態５におけるメモリアクセスタイミング調整装置は、さらに、複数の外部メモリの構成を示す信号を入力するためのメモリ情報入力端子を備え、当該信号に従い、複数の外部メモリに割り当てられたアドレス空間を変更、追加、又は削除する。これにより、外部メモリのサイズ、接続状況が把握されるので、外部メモリの状態に合わせたアクセスタイミング調整が実行できる。【０１５２】
以下、本発明の実施の形態５におけるメモリアクセスタイミング調整装置について、図面を参照しながら詳細に説明する。【０１５３】
図１０は、本発明の実施の形態５におけるメモリアクセスタイミング調整装置を含むメモリアクセスタイミング調整システムの機能構成図である。同図におけるメモリアクセスタイミング調整システムは、メモリアクセスタイミング調整装置８と複数の外部メモリ２とを備える。メモリアクセスタイミング調整装置８は、システムＬＳＩ８Ａと、不揮発性メモリ３とを備える。複数の外部メモリ２は、外部メモリ２Ａ、２Ｂ、２Ｃ及び２Ｄを備える。【０１５４】
システムＬＳＩ８Ａは、プロセッサ８０と、外部バスコントローラ８１と、内蔵ＳＲＡＭ８２と、メモリコントローラ８３と、メモリ情報入力端子８４とを備える。【０１５５】
図１０におけるメモリアクセスタイミング調整システムは、図１に記載された実施の形態１に係るメモリアクセスタイミング調整システムと比較し、システムＬＳＩ８Ａにメモリ情報入力端子８４を備える点のみが異なり、その他の構成要素については機能的に同等である。図１と同じ点は説明を省略し、以下、異なる点のみ説明する。【０１５６】
図１０において、システムＬＳＩ８Ａは、個別メモリインターフェイス８３２Ａ、８３２Ｂ、８３２Ｃ及び８３２Ｄに外部メモリが接続されているか否か、及び接続されている外部メモリ２Ａ〜２Ｄの各容量等のメモリ情報を入力するためのメモリ情報入力端子８４を具備している。【０１５７】
メモリ情報入力端子８４は、例えば、システム基板上のディップスイッチに接続されており、ディップスイッチのオン／オフ状態を接続情報としてもよい。【０１５８】
また、メモリ情報入力端子８４は、メモリコントローラ８３内のアクセス選択回路８３１に接続されている。アクセス選択回路８３１は、入力されたメモリ情報に従い、プロセッサ８０からのメモリアクセスタイミング調整実行命令に対して、調整対象の外部メモリに割り当てられたアドレス空間の変更、追加又は削除等を行う。【０１５９】
例えば、外部メモリ２Ａのメモリ容量が標準のＸバイトからＹバイトに変更になった場合、入力されたメモリ情報からそれを判定し、必要があれば外部メモリ２Ａ〜２Ｄのアクセスタイミング調整に使用するメモリアドレスを変更する。また、例えば外部メモリ２Ｂがシステムから取り外されていた場合には、入力されたメモリ情報からそれを判断し、外部メモリ２Ａのアクセスタイミング調整完了後の次の調整対象となる外部メモリとして外部メモリ２Ｃを選択するという順序変更を行う。さらに、アクセス選択回路８３１からプロセッサ８０には、外部メモリ２Ｂのタイミング調整をキャンセルした旨を通知するようにしてもよい。【０１６０】
この構成により、アクセスタイミング調整プログラムを変更せずに、メモリ構成をある程度自由度を持たせて変更することができる。また、外部メモリの状態に応じたアクセスタイミング調整が実現される。【０１６１】
なお、本実施の形態ではメモリ情報入力端子８４をアクセス選択回路８３１に直接接続しているが、メモリ情報入力端子８４をシステムＬＳＩ８Ａのレジスタ空間にある任意のレジスタに接続し、プロセッサ８０がそのレジスタの値を読み取ってアクセス選択回路８３１の動作を設定してもよい。もちろん、メモリ情報入力端子８４の状態を反映するレジスタの値をアクセス選択回路８３１自身が読み取って動作状態を変更しても良い。【０１６２】
（実施の形態６）
本実施の形態におけるメモリアクセスタイミング調整装置は、さらに、アクセスタイミングの調整によって得られたアクセスタイミングのウィンドウ幅が、所定値以下であった場合には警告メッセージを出力する。これにより、ユーザに異常状態を通知することが可能となる。【０１６３】
以下、本発明の実施の形態６におけるメモリアクセスタイミング装置のメモリアクセスタイミング調整方法について、図面を参照しながら詳細に説明する。【０１６４】
図１１は、本発明の実施の形態６におけるメモリアクセスタイミング調整装置の動作を表すフローチャートである。なお、本実施の形態におけるメモリアクセスタイミング調整装置は、実施の形態１から実施の形態５におけるメモリアクセスタイミング調整装置のいずれであってもよい。ここでは、メモリアクセスタイミング調整装置を実施の形態３におけるメモリアクセスタイミング調整装置７ａとして説明する。【０１６５】
まず、プロセッサ７０は、アクセスタイミング調整を開始する（ステップＳ１１）。【０１６６】
次に、プロセッサ７０は、アクセスタイミングを変更しながら正常動作する範囲、すなわち、ウィンドウ幅の測定を外部メモリ２Ａ〜２Ｄのそれぞれに対して行う（ステップＳ１２）。【０１６７】
次に、プロセッサ７０は、得られたウィンドウ幅が一定幅以上であるか否かの判定を行う（ステップＳ１３）。【０１６８】
ステップＳ１３において、得られたウィンドウ幅が一定幅より大きいと判定された場合（ステップＳ１３でＹｅｓ）、プロセッサ７０は、ウィンドウ幅によって決定されたアクセスタイミング最適値をメモリコントローラ７３内の個別メモリインターフェイス７３２Ａ〜７３２Ｄが有するタイミング個別設定レジスタ７３２Ａ１〜７３２Ｄ１に設定する（ステップＳ１４）。【０１６９】
一方、ステップＳ１３において、得られたウィンドウ幅が一定幅以下であると判定された場合（ステップＳ１３でＮｏ）、システムＬＳＩ７ＡからシステムＬＳＩ７Ａが有する画像出力回路を介して表示画面に性能低下警告のための表示を行ったり、ＬＥＤ表示や音で警告するための警告メッセージを出力する（ステップＳ１５）。【０１７０】
最後に、アクセスタイミング調整を終了する（ステップＳ１６）。【０１７１】
なお、上述した動作説明では、ウィンドウ幅が一定幅より大きいか否かの判定は一度しかなされていないが、ウィンドウ幅が一定幅以下の場合は、ウィンドウ幅の測定及びその判定を複数回繰り返すことにより、個別メモリインターフェイスのタイミング個別調整レジスタに最適値を設定したり、ユーザに警告を発信したりしてもよい。【０１７２】
以上の動作により、アクセスタイミング調整結果から異常状態を検知した場合にシステムＬＳＩ外部に情報を出力できるので、ユーザに異常状態を通知することが可能となる。【０１７３】
なお、本発明に係るメモリアクセスタイミング調整装置及びメモリアクセスタイミング調整方法は、上記実施の形態に限定されるものではない。実施の形態１ないし６における任意の構成要素を組み合わせて実現される別の実施形態や、実施の形態１ないし６に対して本発明の主旨を逸脱しない範囲で当業者が思いつく各種変形を施して得られる変形例や、本発明に係るメモリアクセスタイミング調整装置を内蔵した各種機器も本発明に含まれる。【０１７４】
例えば、実施の形態２では、メモリアクセスタイミング調整時に実アプリ動作状態を再現するため、特定パターンデータを発生させてメモリインターフェイスを高負荷状態としたが、実施の形態２以外の全ての実施の形態において、メモリアクセス調整時にパターン発生回路から特定パターンデータを発生させて、常にメモリインターフェイスを高負荷状態とした上でメモリアクセスタイミングの調整をしてもよい。【０１７５】
なお、この場合、必ずしもアクセス選択回路に接続されている必要はない。例えば、パターン発生回路は、個別メモリインターフェイスのそれぞれに直接接続されていてもよい。この場合には、プロセッサ又はアクセス選択回路が、アクセスタイミング調整対象の外部メモリに接続された個別メモリインターフェイスからは特定パターンデータを出力させず、それ以外の外部メモリに接続された個別メモリインターフェイスから特定パターンデータを出力させる指示を与えることにより、メモリインターフェイスの高負荷状態が再現される。
【産業上の利用可能性】
【０１７６】
本発明は、メモリへのアクセスタイミングを調整するメモリアクセスタイミング調整装置及びメモリアクセスタイミング調整システムに有用であり、特にデジタルＡＶ機器用システムＬＳＩの高負荷動作状態でのメモリアクセスの動作マージンを拡大するメモリアクセスタイミング調整装置に用いるのに最適である。
【図１】
2009096141.tif 000003
【図２】
2009096141.tif 000004
【図３】
2009096141.tif 000005
【図４】
2009096141.tif 000006
【図５】
2009096141.tif 000007
【図６】
2009096141.tif 000008
【図７】
2009096141.tif 000009
【図８】
2009096141.tif 000010
【図９】
2009096141.tif 000011
【図１０】
2009096141.tif 000012
【図１１】
2009096141.tif 000013
【図１２】
2009096141.tif 000014
【図１３】
2009096141.tif 000015
【図１４】
2009096141.tif 000016
【手続補正書】
【提出日】平成22年6月3日(2010.6.3)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリへのアクセスタイミングを調整するメモリアクセスタイミング調整装置およびメモリアクセスタイミング調整方法に関する。
【背景技術】
【０００２】
従来、ＬＳＩに搭載されているメモリコントローラがメモリにアクセスする場合のアクセスタイミングは、動作周波数が遅いこともありセット全てに同じ値、すなわち固定値を使用していても問題とはならなかった。しかし、セットの機能の向上に伴い次第にメモリインターフェイスの動作周波数が高くなりアクセスタイミングが厳しくなるにつれ、アクセスタイミングを固定値とせず、セットの状態に合わせて調整可能とする必要が生じてきた。
【０００３】
そこで、ＬＳＩは、その内部にアクセスタイミング調整用レジスタが設けられ、その値が変更されることにより、ＬＳＩの出力するメモリインターフェイス用信号のタイミング、あるいは入力した信号の内部タイミングを変えることが可能な回路を内蔵するようになってきている。
【０００４】
以下、図１２を用いて従来技術の構成及び動作を説明する。図１２は従来のメモリアクセスタイミング調整システムの機能構成図である。同図におけるメモリアクセスタイミング調整システムは、システムＬＳＩ９００と、外部メモリ９１０Ａ、９１０Ｂ、９１０Ｃ及び９１０Ｄと、外部不揮発性メモリ９２０と、外部ＳＲＡＭ９３０とを備える。
【０００５】
システムＬＳＩ９００は、プロセッサ９０１と、外部バスコントローラ９０２と、メモリコントローラ９０３とを内蔵している。
【０００６】
プロセッサ９０１はメモリコントローラ９０３及び外部バスコントローラ９０２に接続されている。
【０００７】
さらに、メモリコントローラ９０３は、メモリインターフェイス９０４を有し、メモリバスを介して、外部メモリ９１０Ａ、９１０Ｂ、９１０Ｃ、及び９１０Ｄと接続されている。
【０００８】
また外部不揮発性メモリ９２０と外部ＳＲＡＭ９３０とは、それぞれ外部バスコントローラ９０２を介してプロセッサ９０１に接続されている。
【０００９】
プロセッサ９０１は、起動時に、外部バスコントローラ９０２を介し外部不揮発性メモリ９２０からブートコードをロードし、その中に書かれたコードすなわち命令を実行する。
【００１０】
また、外部不揮発性メモリ９２０にはアクセスタイミング調整プログラムも書かれており、プロセッサ９０１がアクセスタイミング調整プログラムを実行した場合には、プロセッサ９０１がメモリのある領域にデータを書込み、同じ領域からデータを読み出して、読み出したデータと期待値とを比較し、ＯＫ／ＮＧの判定を行う。メモリコントローラ９０３にはアクセスタイミングを調整するためのアクセスタイミング調整用レジスタが設けられており、プロセッサ９０１はレジスタへの設定値を変える毎にメモリライト、メモリリード、期待値比較を行いＯＫ／ＮＧを判定する。以下、アクセスタイミング調整用レジスタへの設定値について、具体的に説明する。
【００１１】
図１３は、外部メモリからＬＳＩ内へデータを読み込む場合の動作タイミングチャートである。図１２における外部メモリ９１０Ａ〜９１０Ｄとしては、クロック同期型メモリとして、例えば、ＤＤＲ  ＳＤＲＡＭ（Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ  Ｓｙｎｃｒｏｎｏｕｓ  ＤＲＡＭ）が使用されており、メモリコントローラ９０３に８ビットデータ（図１２及び図１３ではＤＱとして記載）を転送するタイミングを知らせるために、第１クロック信号に同期したデータストローブ信号（図１２及び図１３ではＤＱＳとして記載）が使用されている。外部メモリからデータを読み出す場合、外部メモリからはデータＤＱをデータストローブＤＱＳと同位相で出力する。このデータを確実に受け取るために、例えば、メモリコントローラ９０３は、第１クロック信号に同期したデータストローブ信号に対して位相を９０度遅らせたタイミングのデータストローブ信号を生成する。そして、当該データストローブ信号の立ち上がり時及び立ち下がり時に８ビットデータを読み込むことになっている。しかし、電源変動やノイズなどの外的要因により、受信したデータストローブ信号に波形歪みが生じ、データストローブ信号のエッジ検出時に位相のずれが生じる。これに対応するため、メモリコントローラ９０３は、データ読み込みのための基準位相差である９０度に対し、所定の位相範囲であるウィンドウ幅を確保しておく必要がある。このウィンドウ幅を、例えば、１８０度を１２８分割したものを１ビットで変化させられる位相差として、最適な位相差をビットで表現したものが上述したアクセスタイミング調整用レジスタへの設定値となる。
【００１２】
上記方法により、プロセッサ９０１は、メモリアクセスが正常に行える位相範囲を求め、プロセス変動、電圧変動等他の条件を加味して動作マージンが最大となるアクセスタイミング調整用レジスタ設定値を決定する。
【００１３】
アクセスタイミングの最適設定値の求め方については、特許文献１から特許文献４に示すものが知られている。
【００１４】
特許文献１は、上述した従来技術を開示したものであり、アクセスタイミングの最適設定値の求め方として、チェック用アドレスとして予め定められたアドレスに所定のデータを書き込み、それを読み出してＯＫ／ＮＧを判定する方式が記載されている。つまり、メモリアクセスが成功する上限値および下限値を取得し、そのセンター値を最大マージンが確保できる値として使用するものである。
【００１５】
また、特許文献２は、メモリアクセスが成功したか否かの判定に、単純に期待値とリードした値との比較をするのではなく、ライト時にデータにパリティを付加し、リードしたデータとのパリティ比較を使用する方式が開示されている。
【００１６】
また、特許文献３は、タイミング調整すなわちアクセスタイミング設定値を変更しメモリへのアクセスを試行する期間を、画面表示を行わないブランキング期間とする方式が開示されている。
【００１７】
また、特許文献４は、プロセッサからのデータライト、メモリからのデータリード、期待値比較を行った結果によりクロックスキューを変更する方式が開示されている。
【先行技術文献】
【特許文献】
【００１８】
【特許文献１】特開２００１−３５０６６８号公報
【特許文献２】特開２００３−２１６４７９号公報
【特許文献３】特開２００５−１４１７２５号公報
【特許文献４】特開平１１−３１６６１９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１９】
しかしながら、上述した従来方式は、メモリバスの負荷状態を考慮した方式ではない。一般に、外部メモリへのアクセスタイミングは、メモリコントローラ−外部メモリ間のバスの転送量およびビットトグル率により変化する。特に、メモリコントローラ−外部メモリ間のバスの転送量が多いほど電源ドロップやノイズが、またビットトグル率が高くなるほどビット間のクロストークやノイズが増加し、外部メモリへのアクセスタイミングは厳しくなる。
【００２０】
すなわち、メモリコントローラ−外部メモリ間のバスにおけるデータ転送量、ビットトグル率により、アクセスタイミングのウィンドウ幅は変化する。
【００２１】
よって、実際には、メモリバスにおけるデータ転送量およびビットトグル率を変化させてウィンドウ幅を最適化することが重要である。しかし、従来の方式では、メモリコントローラは外部メモリ１つ１つに対して個別にアクセスすることができない。そのため、タイミング調整対象の外部メモリに対してデータを送受信しアクセスタイミングを調整している間に、その他の外部メモリに対し独立にアクセスするということができない。従って、実動作時のメモリコントローラ−外部メモリ間のバスにおけるデータ転送量、ビットトグル率を具体的に反映したアクセスタイミング調整ができない。
【００２２】
特に、メモリコントローラ−外部メモリ間のバスの転送量が多くかつビットトグル率の高い高負荷状態を再現して、アクセスタイミングを調整する必要性は高い。例えば、高負荷状態は、通常はセットの実アプリ動作状態で実現される。しかしこの場合、その他の外部メモリに対しアプリケーションを動作させようにも、特定の外部メモリに対してタイミング調整している時に、アプリケーションソフトを通常動作時とは異なる使用メモリ容量、アドレスマッピングに切り替えて使用することは容易ではない。
【００２３】
よって、高負荷状態でのアクセスタイミング最適化が出来ない上、システムＬＳＩ、外部メモリ、ボードの出来により、それぞれの特性の組み合わせによっては実アプリ動作時に動作不安定となる可能性がある。
【００２４】
画像表示専用のＬＳＩであれば、画面に表示しない期間、すなわちブランキング期間を使用してアクセスタイミング調整を行うことができる。この間に、メモリアクセスができなくなったとしても画面表示開始までに標準設定値にアクセスタイミング設定を戻すことにより、システムを破綻させずにタイミング調整を継続できる。
【００２５】
しかしデジタルＴＶやＤＶＤレコーダなどのデジタルＡＶ機器のシステムＬＳＩでは、内蔵マイコンや他の内蔵機能ブロックが常にメモリを使用している。このため、アクセスタイミング調整の同時実行により外部メモリにアクセスできなくなった時点でシステムが破綻し、動作が停止してしまう。これにより、実アプリ動作及びタイミング調整とも継続不可能となってしまう。そのため、従来は、動作停止しないようＣＰＵのスタックを含むワーク領域を外部ＳＲＡＭ空間に取り、かつ、外部メモリへのアクセスが正しくできなくなりデータが化けても、動作が停止することのないＤＭＡ転送と言った簡易な検査パターンにより低負荷な状態でのアクセスタイミング調整を実施し、求めた最適値で外部メモリを使用するしか方法が無かった。
【００２６】
しかし、例えば、図１４に記載された、タイミング調整時と実アプリ動作時とのウィンドウ幅の比較図のように、タイミング調整時、すなわちメモリアクセスの低負荷状態で外部メモリアクセスタイミングを最適化しても、実アプリ動作時、すなわちシステムが高負荷の状態になると、低負荷状態での動作範囲から上限側、下限側のウィンドウ幅がアンバランスに削られることで大きく最適値がずれてしまうことがある。その場合、実アプリ動作時のウィンドウ幅にタイミング調整時の最適値が入らなくなり、メモリアクセスが正常動作しなくなるという問題が発生する可能性がある。逆に、低負荷なタイミング調整時のウィンドウ幅は高負荷時のウィンドウ幅よりも一般的に広く、高負荷時の最適値が低負荷時のウィンドウに入らないということはまず起こらない。
【００２７】
本発明は、上記の課題に鑑みてなされたものであり、複数の外部メモリのそれぞれに対して個別にアクセスタイミング調整できるメモリアクセスタイミング調整装置およびメモリアクセスタイミング調整方法を提供することを第１の目的とする。さらに、外部メモリとメモリコントローラとの間のデータ転送量の多い高負荷状態においても、メモリアクセスが安定化するメモリアクセスタイミング調整装置及びメモリアクセスタイミング調整方法を提供することを目的とする。
【課題を解決するための手段】
【００２８】
上記目的を達成するために、本発明に係るメモリアクセスタイミング調整装置は、複数の外部メモリへアクセスするタイミングを調整するメモリアクセスタイミング調整装置であって、前記複数の外部メモリのそれぞれに対し個別に接続され、メモリアクセスにおけるデータの送受信を行う複数の個別メモリインターフェイスと、前記複数の外部メモリのうち選択された外部メモリに対して当該選択された外部メモリに接続された個別メモリインターフェイスからデータを複数回送受信させることによりアクセスタイミングを調整する制御手段とを備えることを特徴とする。
【００２９】
これにより、複数の外部メモリに対して個別に設けられた個別メモリインターフェイスが外部メモリ１つ１つに対して個別にアクセスすることができる。よって、タイミング調整対象の外部メモリに対してデータを送受信しアクセスタイミングを調整している間に、その他の外部メモリに独立にデータアクセスができ、メモリバスのデータ転送量を任意に変化させることができる。従って、実動作時のメモリバスにおけるデータ転送量を反映したアクセスタイミング調整ができる。
【００３０】
また、前記複数の外部メモリは、第１のクロック信号に同期して入出力動作するクロック同期型メモリであり、前記複数の個別メモリインターフェイスのそれぞれは、前記第１のクロック信号を遅延させた第２のクロック信号を使用してデータの入出力動作をし、前記アクセスタイミングは、前記第１のクロック信号と前記第２のクロック信号との位相差であり、前記制御手段は、前記個別メモリインターフェイスにおけるアクセスタイミングを順次変更させながらアクセスが成功したか否かをその都度判定し、当該アクセスが成功した前記位相差の範囲内に最適なアクセスタイミングを調整することが好ましい。
【００３１】
これにより、データアクセスが成功する位相差の最大範囲を把握できるので、適応性の高いアクセスタイミングの調整が実現される。
【００３２】
また、前記メモリアクセスタイミング調整装置は、さらに、特定のパターンデータを発生するパターン発生回路を備え、前記制御手段は、前記選択された外部メモリ以外の外部メモリに接続された個別メモリインターフェイスから前記選択された外部メモリ以外の外部メモリへ前記特定のパターンデータを送信させることにより、前記複数の外部メモリに負荷をかけることが好ましい。
【００３３】
これにより、調整対象外部メモリ以外の外部メモリに対しても負荷の高いパターンでアクセスを行うことが可能となる。よって、メモリバスの負荷が実アプリ動作時の負荷に近い状態で動作させることができ、メモリアクセス頻度の低い低負荷時で取得したメモリアクセスタイミングの最適値と比較して、より高負荷状態でも安定した設定値を得ることが可能となる。
【００３４】
また、前記メモリアクセスタイミング調整装置は、さらに、前記選択された外部メモリを示すビットを保持するメモリ選択レジスタと、前記複数の個別メモリインターフェイスに接続され、前記選択された外部メモリを示すビットに対応する外部メモリのアドレスを出力するアドレス変換回路とを備えてもよい。
【００３５】
もしくは、前記メモリアクセスタイミング調整装置は、さらに、前記選択された外部メモリを示すビットを保持するメモリ選択レジスタと、前記複数の個別メモリインターフェイスに接続され、前記選択された外部メモリを示すビットにより、前記選択された外部メモリに接続された個別メモリインターフェイスを選択するセレクタ回路とを備えてもよい。
【００３６】
これにより、メモリ選択レジスタが設けられることで、外部メモリ構成の変化やメモリインターフェイス周辺の接続変更があっても、タイミング調整プログラムがメモリの実アドレス配置に左右されなくなる。よって、制御手段が実行するアクセスタイミング調整プログラムを変更しないでよくなるため、プログラム開発工数が削減される。
【００３７】
また、前記メモリアクセスタイミング調整装置は、さらに、前記アクセスタイミングの調整によって得られた前記複数の外部メモリのそれぞれに対する前記最適なアクセスタイミングを記憶する不揮発性メモリを備え、前記複数の個別メモリインターフェイスのそれぞれは、前記不揮発性メモリから読み出された前記最適なアクセスタイミングをシステム起動時に記憶するアクセスタイミング個別設定レジスタを備え、前記複数の個別メモリインターフェイスのそれぞれは、前記タイミング個別設定レジスタに記憶された前記最適なアクセスタイミングを、前記選択された外部メモリとのデータアクセスに使用してもよい。
【００３８】
これにより、通常起動時に毎回アクセスタイミング調整を実行する必要がなくなり、起動時間の短縮が図られる。
【００３９】
また、前記メモリアクセスタイミング調整装置は、さらに、前記アクセスタイミングの調整によって得られた前記複数の外部メモリのそれぞれに対する前記最適なアクセスタイミングと、システム起動の回数とを記憶する不揮発性メモリを備え、前記複数の個別メモリインターフェイスのそれぞれは、前記不揮発性メモリから読み出された前記最適なアクセスタイミングをシステム起動時に記憶するタイミング個別設定レジスタを備え、前記制御手段は、所定回数を起動するごとに、新たにアクセスタイミングを調整し、当該アクセスタイミングの調整によって得られた最適なアクセスタイミングを前記不揮発性メモリに書き込んでもよい。
【００４０】
これにより、通常起動時に毎回アクセスタイミング調整を実行する必要がなくなるとともに、定期的にアクセスタイミング調整が更新されるので、起動時間の短縮が図られるとともに、システム構成や状態の変化に対応した外部メモリへのアクセスが実現できる。
【００４１】
また、前記メモリアクセスタイミング調整装置は、さらに、前記アクセスタイミングの調整によって得られた前記複数の外部メモリのそれぞれに対する前記最適なアクセスタイミングと、当該最適なアクセスタイミングが有効か否かを示すタイミング設定値フラグとを記憶する不揮発性メモリを備え、前記複数の個別メモリインターフェイスのそれぞれは、前記不揮発性メモリから読み出された前記最適なアクセスタイミングをシステム起動時に記憶するタイミング個別設定レジスタを備え、前記制御手段は、システム起動時に、前記タイミング設定値フラグが無効の場合は、新たにアクセスタイミングを調整し、当該アクセスタイミングの調整によって得られた最適なアクセスタイミングを前記不揮発性メモリに書き込んでもよい。
【００４２】
これにより、予めタイミング設定値フラグを無効にしておけば、次回システム起動時に自動的にアクセスタイミング調整が更新されるので、システム構成や状態の変化に対応した外部メモリへの最適なアクセスが実行できる。
【００４３】
また、前記メモリアクセスタイミング調整装置は、さらに、前記複数の外部メモリの構成を示す信号を入力するためのメモリ情報入力端子を備え、前記複数の外部メモリの構成を示す信号に従い、前記複数の外部メモリに割り当てられたアドレス空間を変更、追加、又は削除してもよい。
【００４４】
これにより、外部メモリのサイズ、接続状況が把握されるので、外部メモリの状態に合わせたアクセスタイミング調整が実行できる。
【００４５】
また、前記制御手段は、前記アクセスタイミングの調整によって得られたアクセスタイミングの最適範囲が、所定値以下であった場合には警告メッセージを出力してもよい。
【００４６】
これにより、アクセスタイミング調整結果から異常状態を検知した場合に警告メッセージを出力することで、ユーザに異常状態を通知することが可能となる。
【００４７】
また、本発明は、このような特徴的な手段を備えるメモリアクセスタイミング調整装置として実現することができるだけでなく、メモリアクセスタイミング調整装置に含まれる特徴的な手段をステップとするメモリアクセスタイミング調整システムのメモリアクセスタイミング調整方法として実現することができる。
【発明の効果】
【００４８】
本発明のメモリアクセスタイミング調整装置及びメモリアクセスタイミング調整方法によれば、複数の外部メモリのそれぞれに対して個別にメモリインターフェイスが設けられていることにより、複数の外部メモリのそれぞれに対して個別にアクセスタイミング調整できるので、実動作時のメモリバスにおけるデータ転送量を反映したアクセスタイミング調整ができる。特に、メモリバスのデータ転送量が多い高負荷状態に近い状態でアクセスタイミング調整ができるので、高負荷時のメモリアクセスが安定化するメモリアクセスタイミング調整を実現できる。
【図面の簡単な説明】
【００４９】
【図１】図１は、本発明の実施の形態１におけるメモリアクセスタイミング調整装置を含むメモリアクセスタイミング調整システムの機能構成図である。
【図２】図２は、本発明の実施の形態１にかかるメモリアクセスタイミング調整装置によるウィンドウ幅検査結果と従来技術によるウィンドウ幅検査結果との比較図である。
【図３】図３は、本発明の実施の形態１の第１の変形例を示すメモリアクセスタイミング調整装置を含むメモリアクセスタイミング調整システムの機能構成図である。
【図４】図４は、本発明の実施の形態１の第２の変形例を示すメモリアクセスタイミング調整装置を含むメモリアクセスタイミング調整システムの機能構成図である。
【図５】図５は、本発明の実施の形態２におけるメモリアクセスタイミング調整装置を含むメモリアクセスタイミング調整システムの機能構成図である。
【図６】図６は、個別メモリインターフェイスまたは外部メモリが特定パターンデータを読み込む場合の動作タイミングチャートである。
【図７】図７は、本発明の実施の形態３におけるメモリアクセスタイミング調整装置を含むメモリアクセスタイミング調整システムの機能構成図である。
【図８】図８は、本発明の実施の形態４におけるメモリアクセスタイミング調整装置を含むメモリアクセスタイミング調整システムの機能構成図である。
【図９】図９は、本発明の実施の形態４の変形例を示すメモリアクセスタイミング調整装置を含むメモリアクセスタイミング調整システムの機能構成図である。
【図１０】図１０は、本発明の実施の形態５におけるメモリアクセスタイミング調整装置を含むメモリアクセスタイミング調整システムの機能構成図である。
【図１１】図１１は、本発明の実施の形態６におけるメモリアクセスタイミング調整装置の動作を表すフローチャートである。
【図１２】図１２は、従来のメモリアクセスタイミング調整システムの機能構成図である。
【図１３】図１３は、外部メモリからＬＳＩ内へデータを読み込む場合の動作タイミングチャートである。
【図１４】図１４は、従来技術によるタイミング調整時と実アプリ動作時とのウィンドウ幅の比較図である。
【発明を実施するための形態】
【００５０】
（実施の形態１）
本実施の形態１におけるメモリアクセスタイミング調整装置は、複数の外部メモリのそれぞれに対し個別に接続された複数の個別メモリインターフェイスと、選択された外部メモリに対して当該選択された外部メモリに接続された個別メモリインターフェイスからデータを複数回送受信させることによりアクセスタイミングを調整する制御手段とを備える。これにより、選択された外部メモリに対してデータを送受信しアクセスタイミングを調整している間に、その他の外部メモリに独立にデータアクセスができ、メモリバスのデータ転送量を任意に変化させることができる。従って、実動作時のメモリバスにおけるデータ転送量を反映したアクセスタイミング調整ができる。
【００５１】
以下、本発明の実施の形態１におけるメモリアクセスタイミング調整装置について、図面を参照しながら詳細に説明する。
【００５２】
図１は、本発明の実施の形態１におけるメモリアクセスタイミング調整装置を含むメモリアクセスタイミング調整システムの機能構成図である。同図におけるメモリアクセスタイミング調整システムは、メモリアクセスタイミング調整装置１と複数の外部メモリ２とを備える。メモリアクセスタイミング調整装置１は、システムＬＳＩ１Ａと、不揮発性メモリ３とを備える。複数の外部メモリ２は、外部メモリ２Ａ、２Ｂ、２Ｃ及び２Ｄを備える。
【００５３】
システムＬＳＩ１Ａは、プロセッサ１０と、外部バスコントローラ１１と、内蔵ＳＲＡＭ１２と、メモリコントローラ１３とを備える。
【００５４】
プロセッサ１０は、外部メモリとのアクセスタイミングを調整する制御手段としての機能を有する。
【００５５】
不揮発性メモリ３は、外部バスコントローラ１１を介しプロセッサ１０と接続される。
【００５６】
内蔵ＳＲＡＭ１２は、外部バスコントローラ１１を介しプロセッサ１０に接続され、プロセッサ１０の作業領域としての機能を有する。
【００５７】
メモリコントローラ１３は、プロセッサ１０と外部メモリ２Ａ、２Ｂ、２Ｃ及び２Ｄの各々との間に接続され、アクセス選択回路１３１とメモリインターフェイス１３２とを備える。
【００５８】
メモリインターフェイス１３２は、個別メモリインターフェイス１３２Ａ、１３２Ｂ、１３２Ｃ及び１３２Ｄを内蔵し、外部メモリ２Ａ〜２Ｄはそれぞれ対応する個別メモリインターフェイス１３２Ａ〜１３２Ｄを介してアクセス選択回路１３１に接続される。
【００５９】
以上のような構成を有する本実施の形態１のメモリアクセスタイミング調整システムの調整動作について、以下説明する。
【００６０】
まず、プロセッサ１０は、起動時に外部バスコントローラ１１を介して不揮発性メモリ３からブートコードを読み出し、システムＬＳＩ１Ａの各種設定を行った後、同じく不揮発性メモリ３からアクセスタイミング調整プログラムを読み出す。アクセスタイミング調整プログラムには、複数ある外部メモリ２Ａ〜２Ｄのそれぞれにアクセスする際のメモリアドレスが記載されている。
【００６１】
次に、アクセス選択回路１３１は、プロセッサ１０が要求するメモリアドレスに従って、現在タイミング調整すべき外部メモリ（図１では外部メモリ２Ｂ）を選択する。
【００６２】
図１における外部メモリ２Ａ〜２Ｄとしては、例えば、ＤＤＲ  ＳＤＲＡＭ（Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ  Ｓｙｎｃｒｏｎｏｕｓ  ＤＲＡＭ）が使用される。そして、メモリコントローラ１３から外部メモリ２Ａ〜２Ｄへ、あるいは外部メモリ２Ａ〜２Ｄからメモリコントローラ１３へデータを転送するタイミングを知らせるために、第１クロック信号に同期したデータストローブ信号が使用されている。外部メモリ２Ａ〜２Ｄからデータを読み出す場合、外部メモリ２Ａ〜２Ｄからはデータがデータストローブと同位相で出力されるため、データを確実に受け取るには、例えば、メモリコントローラ１３は、まず、入力されたデータストローブ信号に対して位相を９０度遅らせたタイミングのデータストローブ信号を生成する。そして、当該データストローブ信号の立ち上がり時及び立ち下がり時にデータを読み込むことになっている。しかし、電源変動やノイズなどの外的要因により、受信したデータストローブ信号に波形歪みが生じ、データストローブ信号のエッジ検出時に位相のずれが生じる。これに対応するため、メモリコントローラ１３は、データ読み込みのための基準位相差である９０度に対し、所定の位相範囲であるウィンドウ幅を確保する必要がある。このウィンドウ幅を、例えば、１８０度を１２８分割したものを１ビットで調整できる位相差として表現し、アクセスタイミング調整用レジスタに設定した位相差に従いアクセスタイミングを変化させる。
【００６３】
上記方法により、プロセッサ１０は、外部メモリ２Ｂに対しアクセスタイミング設定を変化させながら、メモリアクセスが成功する位相差範囲であるウィンドウ幅を検査する。検査結果は内蔵ＳＲＡＭ１２に逐次記録していき、検査完了後、ウィンドウ幅から最適なアクセスタイミング設定値を決定する。
【００６４】
そして、プロセッサ１０は、システムＬＳＩ１Ａに接続された外部メモリ２Ａ〜２Ｄ全てに対し、この最適なアクセスタイミングの決定プロセスを、調整対象を切り替えながら順に実行する。
【００６５】
図２は、本発明の実施の形態１にかかるメモリアクセスタイミング調整装置によるウィンドウ幅検査結果と従来技術によるウィンドウ幅検査結果との比較図である。同図において、横軸はウィンドウ幅を位相差で表している。また上から順に、本発明の実施の形態１にかかるメモリアクセスタイミング調整装置によって検査された外部メモリ２Ａ、２Ｂ、２Ｃ及び２Ｄについてのウィンドウ幅、及び、従来技術により検査された複数の外部メモリ２のウィンドウ幅である。
【００６６】
本発明では、個別メモリインターフェイス１３２Ａ〜１３２Ｄが各外部メモリ２Ａ〜２Ｄに対し個別に設けられているので、各外部メモリについて独立したウィンドウ幅が検査される。
【００６７】
一方、従来技術では、複数の外部メモリに対し、共通した１つのメモリインターフェイスのみが設けられている。このため、各外部メモリについて独立したウィンドウ幅は検査されず、全ての外部メモリに対して同一のアクセスタイミング設定値で同時にウィンドウ幅が検査される。従って、従来技術により得られたウィンドウ幅は外部メモリ２Ａ〜２Ｄの全てが正常動作する範囲となるため非常に狭くなり、実動作時のメモリバスの転送量の変化に対応したウィンドウ幅の変化に追従できない。
【００６８】
これに対し、本発明では、図２に記載された外部メモリ２Ａ〜２Ｄのそれぞれに対するウィンドウ幅を基に、実動作時のメモリバスの転送量の変化を想定して多様なウィンドウ幅の設定が可能となる。
【００６９】
なお、上述した調整動作は、システムＬＳＩ１Ａの起動時の動作についての説明であるが、アプリプログラム実行状態から何らかの処理切り替え指示によりアクセスタイミング調整プログラム実行に移行する場合も考えられる。その場合はアクセスタイミング調整プログラム実行開始以降に関して上記説明と同様となる。
【００７０】
また、図１に記載されたメモリアクセスタイミング調整装置１の構成要素であるアクセス選択回路１３１は、例えば、以下、図３または図４に記載されたような機能構成をとってもよい。
【００７１】
図３は、本発明の実施の形態１の第１の変形例を示すメモリアクセスタイミング調整装置を含むメモリアクセスタイミング調整システムの機能構成図である。
【００７２】
同図におけるメモリアクセスタイミング調整システムは、メモリアクセスタイミング調整装置４と複数の外部メモリ２とを備える。メモリアクセスタイミング調整装置４は、システムＬＳＩ４Ａと、不揮発性メモリ３とを備える。複数の外部メモリ２は、外部メモリ２Ａ、２Ｂ、２Ｃ及び２Ｄを備える。
【００７３】
システムＬＳＩ４Ａは、プロセッサ４０と、外部バスコントローラ４１と、内蔵ＳＲＡＭ４２と、メモリコントローラ４３とを備える。
【００７４】
メモリコントローラ４３は、プロセッサ４０と外部メモリ２Ａ、２Ｂ、２Ｃ及び２Ｄの各々との間に接続され、アクセス選択回路４３１とメモリインターフェイス４３２とを備える。
【００７５】
メモリインターフェイス４３２は、個別メモリインターフェイス４３２Ａ、４３２Ｂ、４３２Ｃ及び４３２Ｄを内蔵し、外部メモリ２Ａ〜２Ｄはそれぞれ対応する個別メモリインターフェイス４３２Ａ〜４３２Ｄを介してアクセス選択回路４３１に接続される。
【００７６】
同図におけるメモリアクセスタイミング調整システムは、図１に記載されたメモリアクセスタイミング調整システムと比較し、アクセス選択回路４３１の機能構成が具体化されている点のみが異なり、その他の構成要素については機能的に同等である。同じ点は説明を省略し、以下、異なる点のみ説明する。
【００７７】
アクセス選択回路４３１は、メモリ選択レジスタ４３１Ａとアドレス変換回路４３１Ｂとを備える。
【００７８】
図３に記載されたメモリアクセス調整システムでは、アクセス選択回路４３１は、プロセッサ４０がメモリ選択レジスタ４３１Ａに設定した調整対象とする外部メモリを選択するビットを読み、タイミング調整すべき外部メモリを選択する。
【００７９】
また、図４は、本発明の実施の形態１の第２の変形例を示すメモリアクセスタイミング調整装置を含むメモリアクセスタイミング調整システムの機能構成図である。
【００８０】
同図におけるメモリアクセスタイミング調整システムは、メモリアクセスタイミング調整装置５と複数の外部メモリ２とを備える。メモリアクセスタイミング調整装置５は、システムＬＳＩ５Ａと、不揮発性メモリ３とを備える。複数の外部メモリ２は、外部メモリ２Ａ、２Ｂ、２Ｃ及び２Ｄを備える。
【００８１】
システムＬＳＩ５Ａは、プロセッサ５０と、外部バスコントローラ５１と、内蔵ＳＲＡＭ５２と、メモリコントローラ５３とを備える。
【００８２】
メモリコントローラ５３は、プロセッサ５０と外部メモリ２Ａ、２Ｂ、２Ｃ及び２Ｄの各々との間に接続され、アクセス選択回路５３１とメモリインターフェイス５３２とを備える。
【００８３】
メモリインターフェイス５３２は、個別メモリインターフェイス５３２Ａ、５３２Ｂ、５３２Ｃ及び５３２Ｄを内蔵し、外部メモリ２Ａ〜２Ｄはそれぞれ対応する個別メモリインターフェイス５３２Ａ〜５３２Ｄを介してアクセス選択回路５３１に接続される。
【００８４】
同図におけるメモリアクセスタイミング調整システムは、図１に記載されたメモリアクセスタイミング調整システムと比較し、アクセス選択回路５３１の機能構成が具体化されている点のみが異なり、その他の構成要素については機能的に同等である。同じ点は説明を省略し、以下、異なる点のみ説明する。
【００８５】
アクセス選択回路５３１は、メモリ選択レジスタ５３１Ａとセレクタ回路５３１Ｂとを備える。
【００８６】
図４に記載されたメモリアクセス調整システムでは、アクセス選択回路５３１は、メモリ選択レジスタ５３１Ａに設定された値を読み、その値によりセレクタ回路５３１Ｂが信号の接続を切り換え、プロセッサ５０が調整対象外部メモリに直接アクセスできるようになっている。
【００８７】
図３又は図４に記載されたメモリアクセスタイミング調整システムでは、メモリ選択レジスタ４３１Ａ又は５３１Ａが設けられている。これにより、プロセッサ４０又は５０が実行するアクセスタイミング調整プログラムは、外部メモリ構成の変化やメモリコントローラ内部の接続変更があっても変更無く使用されることが可能となる。さらには異なるシステムＬＳＩであってもメモリ選択レジスタ仕様を統一していれば、全く同じアクセスタイミングプログラムが使用されることが可能であるので、プログラム開発工数が削減される。
【００８８】
以上のように、本発明の実施の形態１にかかるメモリアクセスタイミング調整システムによれば、メモリコントローラはアクセス選択回路および個別メモリインターフェイスにより、外部メモリ１つ１つを独立にアクセスすることができる。よって、外部メモリの各々に対して、最適なアクセスタイミングが得られ、外部メモリ構成の変化やメモリコントローラ内部の接続変更があっても個々の最適値には有用性がある。また、アプリプログラムが調査対象の外部メモリ以外の外部メモリ容量で動作するのであれば、調査対象となる外部メモリをアクセスタイミング調整しながらアプリプログラムで使用するメモリ領域が確保できるため、安定なアプリケーションの動作が実現される。
【００８９】
なお、図１、図３及び図４に記載されたシステムでは、システムＬＳＩ１Ａ、４Ａ及び５Ａに接続された外部メモリおよび個別メモリインターフェイスの個数はそれぞれ４個であるが、本発明は２個以上であればよく、同様の効果を奏する。
【００９０】
また、不揮発性メモリ３は各システムＬＳＩの内部にあってもよく、逆に内蔵ＳＲＡＭは各システムＬＳＩの外部のＳＲＡＭであってもよい。
【００９１】
また、アクセスタイミング調整プログラムおよびアプリプログラム等については、不揮発性メモリ３に書き込んでおく必要はなく、不揮発性メモリ３とは別に用意したＲＡＭにネットワーク経由でダウンロードしたものを各プロセッサから読み込むようにしてもよい。
【００９２】
（実施の形態２）
本実施の形態２におけるメモリアクセスタイミング調整装置は、さらに、特定のパターンデータを発生するパターン発生回路と、選択された外部メモリ以外の外部メモリに接続された個別メモリインターフェイスから選択された外部メモリ以外の外部メモリへ特定のパターンデータを送信させる制御手段とを備える。これにより、複数の外部メモリに負荷をかけた実アプリ動作時に近い状態が再現されるので、メモリアクセス頻度の低い低負荷時で取得したメモリアクセスタイミングと比較して、より高負荷状態でも安定したアクセスタイミングの設定値を得ることが可能となる。
【００９３】
以下、本発明の実施の形態２におけるメモリアクセスタイミング調整装置について、図面を参照しながら詳細に説明する。
【００９４】
図５は、本発明の実施の形態２におけるメモリアクセスタイミング調整装置を含むメモリアクセスタイミング調整システムの機能構成図である。
【００９５】
同図におけるメモリアクセスタイミング調整システムは、メモリアクセスタイミング調整装置６と複数の外部メモリ２とを備える。メモリアクセスタイミング調整装置６は、システムＬＳＩ６Ａと、不揮発性メモリ３とを備える。複数の外部メモリ２は、外部メモリ２Ａ、２Ｂ、２Ｃ及び２Ｄを備える。
【００９６】
システムＬＳＩ６Ａは、プロセッサ６０と、外部バスコントローラ６１と、内蔵ＳＲＡＭ６２と、メモリコントローラ６３とを備える。
【００９７】
プロセッサ６０は、外部メモリとのアクセスタイミングを調整する制御手段としての機能を有する。
【００９８】
不揮発性メモリ３は、外部バスコントローラ６１を介しプロセッサ６０と接続される。
【００９９】
内蔵ＳＲＡＭ６２は、外部バスコントローラ６１を介しプロセッサ６０に接続され、プロセッサ６０の作業領域としての機能を有する。
【０１００】
メモリコントローラ６３は、プロセッサ６０と外部メモリ２Ａ、２Ｂ、２Ｃ及び２Ｄの各々との間に接続され、アクセス選択回路６３１と、メモリインターフェイス６３２と、パターン発生回路６３３とを備える。
【０１０１】
メモリインターフェイス６３２は、個別メモリインターフェイス６３２Ａ、６３２Ｂ、６３２Ｃ及び６３２Ｄを内蔵し、外部メモリ２Ａ〜２Ｄはそれぞれ対応する個別メモリインターフェイス６３２Ａ〜６３２Ｄを介してアクセス選択回路６３１に接続される。
【０１０２】
パターン発生回路６３３は、アクセス選択回路６３１に接続される。
【０１０３】
図５におけるメモリアクセスタイミング調整システムは、図１に記載された実施の形態１に係るメモリアクセスタイミング調整システムと比較し、メモリコントローラ６３の構成及び機能が異なり、その他の構成要素については機能的に同等である。同じ点は説明を省略し、以下、異なる点のみ説明する。
【０１０４】
図５において、プロセッサ６０から調整対象である外部メモリ２Ｂに対しアクセスタイミング調整を実施する場合、アクセス選択回路６３１は、まず、メモリコントローラ６３内のパターン発生回路６３３から発生した特定パターンデータを、外部メモリ２Ｂ以外の外部メモリ２Ａ、２Ｃ及び２Ｄに対し、外部メモリ２Ｂのアクセスタイミング調整が完了するまで個別メモリインターフェイス６３２Ａ、６３２Ｃ、６３２Ｄは特定パターンによる外部メモリアクセスを実行し続ける。
【０１０５】
ここで、パターン発生回路６３３が発生する特定パターンデータについて図６を用いて説明する。図６は、個別メモリインターフェイスまたは外部メモリが特定パターンデータを読み込む場合の動作タイミングチャートである。
【０１０６】
調整対象である外部メモリ２Ｂに対しアクセスタイミング調整を実施している間、パターン発生回路６３３から発生した特定パターンデータが外部メモリ２Ａ、２Ｃ及び２Ｄに読み込まれた後読み出される。その後、それぞれの外部メモリに接続された個別メモリインターフェイス６３２Ａ、６３２Ｃ及び６３２Ｄで当該特定パターンデータが読み込まれる。同図において、上部に記載されたレジスタは受信したデータストローブ信号の立ち上がり時において４ビットデータを順次保持し、下部に記載されたレジスタは受信したデータストローブ信号の立ち下がり時において４ビットデータを順次保持する。
【０１０７】
例えば、４ビットデータ列が互いに反転関係にある“Ａ”（１０１０）と“５”（０１０１）とで構成された“Ａ５Ａ５Ａ５・・・”である場合、４ビットデータはデータストローブ信号の変化に従い、上部レジスタと下部レジスタに交互に保持されるので、上部レジスタには“ＡＡＡ・・”の順でデータが保持され、下部レジスタには“５５５・・”の順で保持される。従って、４ビットデータ列“Ａ５Ａ５Ａ５・・・”は、上部レジスタ及び下部レジスタにとって、データ変化のない、つまり、ビットトグル率の低いパターンデータであるが、外部メモリバスにとってはデータストローブのエッジ毎にデータが変化するビットトグル率の高いパターンとなる。
【０１０８】
一方、４ビットデータ列が“Ａ５５ＡＡ５５Ａ・・”である場合、４ビットデータはデータストローブ信号の変化に従い、上部レジスタと下部レジスタに交互に保持されるので、上部レジスタには“Ａ５Ａ５・・”の順でデータが保持され、下部レジスタには“５Ａ５Ａ５・・”の順で保持される。従って、４ビットデータ列“Ａ５５ＡＡ５５Ａ・・”は、上部レジスタ及び下部レジスタにとって、データ変化の大きい、つまり、ビットトグル率の高いパターンデータであるが、外部メモリバスにとっては、データストローブのエッジ２回毎にビットトグルするパターンとなる。これらのパターンを組み合わせることで内部バス、外部メモリバス共にビットトグル率の高いアクセスが実現できる。
【０１０９】
再び図５に戻ってアクセスタイミング調整の実施について説明する。調整対象である外部メモリ２Ｂのタイミング調整が完了すると、アクセス選択回路６３１は、次に、別の外部メモリのタイミング調整を実行する。例えば、プロセッサ６０からの指示で調整対象外部メモリが外部メモリ２Ｃになった場合は、アクセス選択回路６３１は、パターン発生回路６３３で発生したアクセスパターンを外部メモリ２Ａ、２Ｂ及び２Ｄに対して実行する。そして、他の外部メモリがタイミング調整対象メモリになった場合も、同様に調整対象外部メモリ以外の外部メモリに対して同様に実行する。
【０１１０】
これにより、実施の形態１での、調整対象である外部メモリ２Ｂへのアクセスしか発生していない状態から、外部メモリ２Ｂ以外の外部メモリ２Ａ、２Ｃ及び２Ｄに対しても、上述したような全ビットをクロック毎にトグルさせた高負荷のパターンデータをアクセスさせることができる。よって、実アプリ動作時に近い、メモリインターフェイス全体が高負荷で動作する状態が実現される。すなわち、実アプリ動作時における最適なメモリアクセスタイミングに近い値がアクセスタイミング調整で得られるので、実アプリ動作時のメモリアクセス安定度が向上する。
【０１１１】
（実施の形態３）
本実施の形態３におけるメモリアクセスタイミング調整装置は、アクセスタイミングの調整によって得られた最適なアクセスタイミングを記憶する不揮発性メモリを備え、システム起動時に、個別メモリインターフェイスのそれぞれが有するアクセスタイミング個別設定レジスタに最適なアクセスタイミングを読み出し、これを選択された外部メモリとのデータアクセスに使用する。これにより、通常起動時に毎回アクセスタイミング調整を実行する必要がなくなり、起動時間の短縮が図られる。
【０１１２】
以下、本発明の実施の形態３におけるメモリアクセスタイミング調整装置について、図面を参照しながら詳細に説明する。
【０１１３】
図７は、本発明の実施の形態３におけるメモリアクセスタイミング調整装置を含むメモリアクセスタイミング調整システムの機能構成図である。同図におけるメモリアクセスタイミング調整システムは、メモリアクセスタイミング調整装置７ａと複数の外部メモリ２とを備える。メモリアクセスタイミング調整装置７ａは、システムＬＳＩ７Ａと、不揮発性メモリ３１とを備える。複数の外部メモリ２は、外部メモリ２Ａ、２Ｂ、２Ｃ及び２Ｄを備える。
【０１１４】
システムＬＳＩ７Ａは、プロセッサ７０と、外部バスコントローラ７１と、内蔵ＳＲＡＭ７２と、メモリコントローラ７３とを備える。
【０１１５】
プロセッサ７０は、外部メモリとのアクセスタイミングを調整する制御手段としての機能を有する。
【０１１６】
不揮発性メモリ３１は、外部バスコントローラ７１を介しプロセッサ７０と接続される。
【０１１７】
内蔵ＳＲＡＭ７２は、外部バスコントローラ７１を介しプロセッサ７０に接続され、プロセッサ７０の作業領域としての機能を有する。
【０１１８】
メモリコントローラ７３は、プロセッサ７０と外部メモリ２Ａ、２Ｂ、２Ｃ及び２Ｄの各々との間に接続され、アクセス選択回路７３１と、メモリインターフェイス７３２とを備える。
【０１１９】
メモリインターフェイス７３２は、個別メモリインターフェイス７３２Ａ、７３２Ｂ、７３２Ｃ及び７３２Ｄを内蔵し、外部メモリ２Ａ〜２Ｄはそれぞれ対応する個別メモリインターフェイス７３２Ａ〜７３２Ｄを介してアクセス選択回路７３１に接続される。
【０１２０】
また、個別メモリインターフェイス７３２Ａ、７３２Ｂ、７３２Ｃ及び７３２Ｄは、それぞれ、タイミング個別設定レジスタ７３２Ａ１、７３２Ｂ１、７３２Ｃ１及び７３２Ｄ１を備える。
【０１２１】
図７におけるメモリアクセスタイミング調整システムは、図１に記載された実施の形態１に係るメモリアクセスタイミング調整システムと比較し、メモリコントローラ７３の構成及び機能が異なり、その他の構成要素については機能的に同等である。同じ点は説明を省略し、以下、異なる点のみ説明する。
【０１２２】
図７において、システムＬＳＩ７Ａは、不揮発性メモリ３１からアクセスタイミング調整プログラムを読み出し、アクセスタイミング調整プログラムを実行する。アクセスタイミング調整を実施した後、プロセッサ７０は、個別メモリインターフェイス７３２Ａ〜７３２Ｄ内のタイミング個別設定レジスタ７３２Ａ１〜７３２Ｄ１に、それぞれの外部メモリに対応した最適なアクセスタイミングであるタイミング最適値を設定する。また同時に、不揮発性メモリ３１に対し、それらのタイミング最適値を書き込む。
【０１２３】
また、同時に、アクセスタイミング調整プログラムをタイミング最適値設定プログラムに置き換える。
【０１２４】
次回システム起動時には、プロセッサ７０はタイミング最適値設定プログラムを読み込み、当該プログラムに従って不揮発性メモリ３１に書き込まれているタイミング最適値を、タイミング個別設定レジスタ７３２Ａ１〜７３２Ｄ１に設定する。
【０１２５】
これにより、アクセスタイミング調整によって得られたタイミング最適値が不揮発性メモリに格納されるので、通常起動時に毎回アクセスタイミング調整がなされる必要がなくなり、起動時間の短縮が図られる。
【０１２６】
なお、上述した動作説明では、プロセッサ７０が、最初のアクセスタイミング調整実行後に不揮発性メモリ３１にタイミング最適値を書き込み、かつアクセスタイミング調整プログラムをタイミング最適値設定プログラムに書き換えると説明したが、必ずしもプロセッサ７０が書き換える必要はない。アクセスタイミング調整プログラムが書き込まれた不揮発性メモリがシステムＬＳＩ７Ａに接続され、プロセッサが当該プログラムを実行しタイミング最適値を取得した後、工場出荷時に、アクセスタイミング調整プログラムが書き込まれた不揮発性メモリを、タイミング最適値およびタイミング最適値設定プログラムが書き込まれた不揮発性メモリに置換えてもよい。
【０１２７】
また、タイミング最適値のみがブートコードを含む不揮発性メモリ３１とは異なる不揮発性メモリに書き込まれ、ブートコードを含む不揮発性メモリ３１の内容が出荷時に書き換えられてもよい。
【０１２８】
これにより、アクセスタイミング調整は、ユーザへのシステムリリース後に行う必要のないシステムであれば、工場出荷時のみ実行されればよく、ユーザ起動時にアクセスタイミング再調整の必要がなくなるため、起動時間の短縮が図られる。
【０１２９】
（実施の形態４）
本実施の形態４におけるメモリアクセスタイミング調整装置は、アクセスタイミングの調整によって得られた最適なアクセスタイミングと、最適なアクセスタイミングが有効か否かを示すタイミング設定値フラグとを記憶する不揮発性メモリと、システム起動時にタイミング設定値フラグが無効の場合は、新たにアクセスタイミングを調整し、当該アクセスタイミングの調整によって得られた最適なアクセスタイミングを不揮発性メモリに書き込む制御手段とを備える。これにより、予めタイミング設定値フラグを無効にしておけば、次回起動時に自動的にアクセスタイミング調整が更新されるので、システム構成や状態の変化に対応した外部メモリへの最適なアクセスが実行できる。
【０１３０】
以下、本発明の実施の形態４におけるメモリアクセスタイミング調整装置について、図面を参照しながら詳細に説明する。
【０１３１】
図８は、本発明の実施の形態４におけるメモリアクセスタイミング調整装置を含むメモリアクセスタイミング調整システムの機能構成図である。同図におけるメモリアクセスタイミング調整システムは、メモリアクセスタイミング調整装置７ｂと複数の外部メモリ２とを備える。メモリアクセスタイミング調整装置７ｂは、システムＬＳＩ７Ａと、不揮発性メモリ３２とを備える。複数の外部メモリ２は、外部メモリ２Ａ、２Ｂ、２Ｃ及び２Ｄを備える。
【０１３２】
図８におけるメモリアクセスタイミング調整システムは、図７に記載された実施の形態３に係るメモリアクセスタイミング調整システムと比較し、不揮発性メモリ３２の機能及び構成のみが異なり、その他の構成要素については同等である。同じ点は説明を省略し、以下、異なる点のみ説明する。
【０１３３】
不揮発性メモリ３２は、外部バスコントローラ７１を介しプロセッサ７０と接続される。
【０１３４】
図８において、外部メモリ２Ａ、２Ｂ、２Ｃ及び２Ｄのそれぞれについて求めた最適なアクセスタイミングであるアクセスタイミング最適値は、プロセッサ７０により個別メモリインターフェイス７３２Ａ〜７３２Ｄ内のタイミング個別設定レジスタ７３２Ａ１〜７３２Ｄ１に設定される。
【０１３５】
同時に、プロセッサ７０は、外部メモリ毎に求めたアクセスタイミング最適値を不揮発性メモリ３２の特定の領域に書込みを行う。
【０１３６】
さらに、プロセッサ７０は、アクセスタイミング最適値を不揮発性メモリ３２に書き込むと同時に、あるいは別のタイミングで不揮発性メモリ３２に書き込んだアクセスタイミング設定値が有効であるか否かを示すタイミング設定値フラグ３２Ａを不揮発性メモリ３２上の特定領域に書き込む。
【０１３７】
その後、システムのリセット、あるいは電源再投入によりシステムＬＳＩ７Ａの再起動が発生した場合、プロセッサ７０は不揮発性メモリ３２からブートコードを読み取りシステム起動している最中に、上記のタイミング設定値フラグ３２Ａをチェックし、有効を示していれば不揮発性メモリ３２に書き込まれたアクセスタイミング最適値を個別メモリインターフェイス７３２Ａ〜７３２Ｄ内のタイミング個別設定レジスタ７３２Ａ１〜７３２Ｄ１に設定する。
【０１３８】
また、反対に、タイミング設定値フラグ３２Ａが無効を示していれば、プロセッサ７０はアクセスタイミング調整プログラムを起動し、再度アクセスタイミング調整を行って求めたアクセスタイミング最適値をタイミング個別設定レジスタ７３２Ａ１〜７３２Ｄ１に設定する。
【０１３９】
これにより、システムリセットあるいは電源投入毎にアクセスタイミング調整が実行される必要がなくなり、アクセスタイミング調整が必要であると判断された場合のみアクセスタイミング調整が実行されるため、システム起動時間の短縮が図られる。
【０１４０】
ここで、タイミング設定値フラグ３２Ａは、プロセッサ７０が必ずしも書き換える必要はなく、システムによっては出荷時に固定値が書込まれており、毎回起動時にアクセスタイミング調整が実行されたり、常に不揮発性メモリ３２に書き込まれたタイミング設定値が最適値として使用されるようにすることも可能である。
【０１４１】
また、出荷時には無効フラグとしておき、ユーザ側でのシステム起動時の初回のアクセスタイミング調整が完了した後は、有効フラグに書き換えられることで、次回のシステム起動時からは不揮発性メモリ３２のタイミング最適値が使用されるようにもできる。
【０１４２】
さらに、図９に記載された本発明の実施の形態４におけるメモリアクセスタイミング調整装置の別の実現例について以下説明する。
【０１４３】
図９は、本発明の実施の形態４の変形例を示すメモリアクセスタイミング調整装置を含むメモリアクセスタイミング調整システムの機能構成図である。同図におけるメモリアクセスタイミング調整システムは、メモリアクセスタイミング調整装置７ｃと複数の外部メモリ２とを備える。メモリアクセスタイミング調整装置７ｃは、システムＬＳＩ７Ａと、不揮発性メモリ３３とを備える。複数の外部メモリ２は、外部メモリ２Ａ、２Ｂ、２Ｃ及び２Ｄを備える。
【０１４４】
図９におけるメモリアクセスタイミング調整システムは、図８に記載された実施の形態４に係るメモリアクセスタイミング調整システムと比較し、不揮発性メモリ３３の機能及び構成のみが異なり、その他の構成要素については同等である。同じ点は説明を省略し、以下、異なる点のみ説明する。
【０１４５】
図９に記載されたメモリアクセスタイミング調整システムでは、図８に記載されたタイミング設定値フラグ３２Ａの代わりに、システム起動の度にプロセッサ７０が不揮発性メモリ３３に書き込まれた起動回数カウント値３３Ａを読み出し、その値を更新して不揮発性メモリ３３に書き戻す。システム起動時に読み出したこの起動回数カウント値３３Ａにより、プロセッサ７０はアクセスタイミング調整を実施するか否かを決定する。
【０１４６】
例えば、起動回数カウント値３３Ａが所定値よりも小さい場合は、不揮発性メモリ３３に書き込まれているタイミング最適値を読み出し、個別メモリインターフェイス７３２Ａ〜７３２Ｄ内のタイミング個別設定レジスタ７３２Ａ１〜７３２Ｄ１にその値を設定する。
【０１４７】
一方、起動回数カウント値３３Ａが所定値に達した場合は、プロセッサ７０はアクセスタイミング調整プログラムを実行し、外部メモリ２Ａ〜２Ｄのアクセスタイミング調整を行う。そして、得られたタイミング最適値をタイミング個別設定レジスタ７３２Ａ１〜７３２Ｄ１に設定すると共に、不揮発性メモリ３３にタイミング最適値を書き込み、起動回数カウント値３３Ａを決められた値に更新する。
【０１４８】
その後、起動回数カウント値３３Ａが所定値に到達するまでは、システム起動時に不揮発性メモリ３３に書かれたタイミング最適値をタイミング個別設定レジスタ７３２Ａ１〜７３２Ｄ１に設定する。
【０１４９】
なお、上記説明ではシステム起動回数をカウントし、その値をもってアクセスタイミング調整を実行するか否かの判定がなされたが、時間情報が管理できるシステムであれば、システム使用時間の合計を起動回数カウント値の代わりに不揮発性メモリ３３に書き込み、アクセスタイミング調整を実行するか否かの判定基準としてもよい。
【０１５０】
これら実施の形態４およびその変形例に示された構成により、予め不揮発性メモリに格納されたアクセスタイミング最適値とアクセスタイミング再調整により新たに得られたアクセスタイミング最適値とが、使用回数や累積時間などの条件設定によって使い分けられるので、起動時間の短縮が図られるとともにより安定したメモリアクセス動作が実現される。
【０１５１】
（実施の形態５）
本実施の形態５におけるメモリアクセスタイミング調整装置は、さらに、複数の外部メモリの構成を示す信号を入力するためのメモリ情報入力端子を備え、当該信号に従い、複数の外部メモリに割り当てられたアドレス空間を変更、追加、又は削除する。これにより、外部メモリのサイズ、接続状況が把握されるので、外部メモリの状態に合わせたアクセスタイミング調整が実行できる。
【０１５２】
以下、本発明の実施の形態５におけるメモリアクセスタイミング調整装置について、図面を参照しながら詳細に説明する。
【０１５３】
図１０は、本発明の実施の形態５におけるメモリアクセスタイミング調整装置を含むメモリアクセスタイミング調整システムの機能構成図である。同図におけるメモリアクセスタイミング調整システムは、メモリアクセスタイミング調整装置８と複数の外部メモリ２とを備える。メモリアクセスタイミング調整装置８は、システムＬＳＩ８Ａと、不揮発性メモリ３とを備える。複数の外部メモリ２は、外部メモリ２Ａ、２Ｂ、２Ｃ及び２Ｄを備える。
【０１５４】
システムＬＳＩ８Ａは、プロセッサ８０と、外部バスコントローラ８１と、内蔵ＳＲＡＭ８２と、メモリコントローラ８３と、メモリ情報入力端子８４とを備える。
【０１５５】
図１０におけるメモリアクセスタイミング調整システムは、図１に記載された実施の形態１に係るメモリアクセスタイミング調整システムと比較し、システムＬＳＩ８Ａにメモリ情報入力端子８４を備える点のみが異なり、その他の構成要素については機能的に同等である。図１と同じ点は説明を省略し、以下、異なる点のみ説明する。
【０１５６】
図１０において、システムＬＳＩ８Ａは、個別メモリインターフェイス８３２Ａ、８３２Ｂ、８３２Ｃ及び８３２Ｄに外部メモリが接続されているか否か、及び接続されている外部メモリ２Ａ〜２Ｄの各容量等のメモリ情報を入力するためのメモリ情報入力端子８４を具備している。
【０１５７】
メモリ情報入力端子８４は、例えば、システム基板上のディップスイッチに接続されており、ディップスイッチのオン／オフ状態を接続情報としてもよい。
【０１５８】
また、メモリ情報入力端子８４は、メモリコントローラ８３内のアクセス選択回路８３１に接続されている。アクセス選択回路８３１は、入力されたメモリ情報に従い、プロセッサ８０からのメモリアクセスタイミング調整実行命令に対して、調整対象の外部メモリに割り当てられたアドレス空間の変更、追加又は削除等を行う。
【０１５９】
例えば、外部メモリ２Ａのメモリ容量が標準のＸバイトからＹバイトに変更になった場合、入力されたメモリ情報からそれを判定し、必要があれば外部メモリ２Ａ〜２Ｄのアクセスタイミング調整に使用するメモリアドレスを変更する。また、例えば外部メモリ２Ｂがシステムから取り外されていた場合には、入力されたメモリ情報からそれを判断し、外部メモリ２Ａのアクセスタイミング調整完了後の次の調整対象となる外部メモリとして外部メモリ２Ｃを選択するという順序変更を行う。さらに、アクセス選択回路８３１からプロセッサ８０には、外部メモリ２Ｂのタイミング調整をキャンセルした旨を通知するようにしてもよい。
【０１６０】
この構成により、アクセスタイミング調整プログラムを変更せずに、メモリ構成をある程度自由度を持たせて変更することができる。また、外部メモリの状態に応じたアクセスタイミング調整が実現される。
【０１６１】
なお、本実施の形態ではメモリ情報入力端子８４をアクセス選択回路８３１に直接接続しているが、メモリ情報入力端子８４をシステムＬＳＩ８Ａのレジスタ空間にある任意のレジスタに接続し、プロセッサ８０がそのレジスタの値を読み取ってアクセス選択回路８３１の動作を設定してもよい。もちろん、メモリ情報入力端子８４の状態を反映するレジスタの値をアクセス選択回路８３１自身が読み取って動作状態を変更しても良い。
【０１６２】
（実施の形態６）
本実施の形態におけるメモリアクセスタイミング調整装置は、さらに、アクセスタイミングの調整によって得られたアクセスタイミングのウィンドウ幅が、所定値以下であった場合には警告メッセージを出力する。これにより、ユーザに異常状態を通知することが可能となる。
【０１６３】
以下、本発明の実施の形態６におけるメモリアクセスタイミング装置のメモリアクセスタイミング調整方法について、図面を参照しながら詳細に説明する。
【０１６４】
図１１は、本発明の実施の形態６におけるメモリアクセスタイミング調整装置の動作を表すフローチャートである。なお、本実施の形態におけるメモリアクセスタイミング調整装置は、実施の形態１から実施の形態５におけるメモリアクセスタイミング調整装置のいずれであってもよい。ここでは、メモリアクセスタイミング調整装置を実施の形態３におけるメモリアクセスタイミング調整装置７ａとして説明する。
【０１６５】
まず、プロセッサ７０は、アクセスタイミング調整を開始する（ステップＳ１１）。
【０１６６】
次に、プロセッサ７０は、アクセスタイミングを変更しながら正常動作する範囲、すなわち、ウィンドウ幅の測定を外部メモリ２Ａ〜２Ｄのそれぞれに対して行う（ステップＳ１２）。
【０１６７】
次に、プロセッサ７０は、得られたウィンドウ幅が一定幅以上であるか否かの判定を行う（ステップＳ１３）。
【０１６８】
ステップＳ１３において、得られたウィンドウ幅が一定幅より大きいと判定された場合（ステップＳ１３でＹｅｓ）、プロセッサ７０は、ウィンドウ幅によって決定されたアクセスタイミング最適値をメモリコントローラ７３内の個別メモリインターフェイス７３２Ａ〜７３２Ｄが有するタイミング個別設定レジスタ７３２Ａ１〜７３２Ｄ１に設定する（ステップＳ１４）。
【０１６９】
一方、ステップＳ１３において、得られたウィンドウ幅が一定幅以下であると判定された場合（ステップＳ１３でＮｏ）、システムＬＳＩ７ＡからシステムＬＳＩ７Ａが有する画像出力回路を介して表示画面に性能低下警告のための表示を行ったり、ＬＥＤ表示や音で警告するための警告メッセージを出力する（ステップＳ１５）。
【０１７０】
最後に、アクセスタイミング調整を終了する（ステップＳ１６）。
【０１７１】
なお、上述した動作説明では、ウィンドウ幅が一定幅より大きいか否かの判定は一度しかなされていないが、ウィンドウ幅が一定幅以下の場合は、ウィンドウ幅の測定及びその判定を複数回繰り返すことにより、個別メモリインターフェイスのタイミング個別調整レジスタに最適値を設定したり、ユーザに警告を発信したりしてもよい。
【０１７２】
以上の動作により、アクセスタイミング調整結果から異常状態を検知した場合にシステムＬＳＩ外部に情報を出力できるので、ユーザに異常状態を通知することが可能となる。
【０１７３】
なお、本発明に係るメモリアクセスタイミング調整装置及びメモリアクセスタイミング調整方法は、上記実施の形態に限定されるものではない。実施の形態１ないし６における任意の構成要素を組み合わせて実現される別の実施形態や、実施の形態１ないし６に対して本発明の主旨を逸脱しない範囲で当業者が思いつく各種変形を施して得られる変形例や、本発明に係るメモリアクセスタイミング調整装置を内蔵した各種機器も本発明に含まれる。
【０１７４】
例えば、実施の形態２では、メモリアクセスタイミング調整時に実アプリ動作状態を再現するため、特定パターンデータを発生させてメモリインターフェイスを高負荷状態としたが、実施の形態２以外の全ての実施の形態において、メモリアクセス調整時にパターン発生回路から特定パターンデータを発生させて、常にメモリインターフェイスを高負荷状態とした上でメモリアクセスタイミングの調整をしてもよい。
【０１７５】
なお、この場合、必ずしもアクセス選択回路に接続されている必要はない。例えば、パターン発生回路は、個別メモリインターフェイスのそれぞれに直接接続されていてもよい。この場合には、プロセッサ又はアクセス選択回路が、アクセスタイミング調整対象の外部メモリに接続された個別メモリインターフェイスからは特定パターンデータを出力させず、それ以外の外部メモリに接続された個別メモリインターフェイスから特定パターンデータを出力させる指示を与えることにより、メモリインターフェイスの高負荷状態が再現される。
【産業上の利用可能性】
【０１７６】
本発明は、メモリへのアクセスタイミングを調整するメモリアクセスタイミング調整装置及びメモリアクセスタイミング調整システムに有用であり、特にデジタルＡＶ機器用システムＬＳＩの高負荷動作状態でのメモリアクセスの動作マージンを拡大するメモリアクセスタイミング調整装置に用いるのに最適である。
【符号の説明】
【０１７７】
１、４、５、６、７ａ、７ｂ、７ｃ、８    メモリアクセスタイミング調整装置
１Ａ、４Ａ、５Ａ、６Ａ、７Ａ、８Ａ、９００    システムＬＳＩ
２    複数の外部メモリ
２Ａ、２Ｂ、２Ｃ、２Ｄ、９１０Ａ、９１０Ｂ、９１０Ｃ、９１０Ｄ    外部メモリ
３、３１、３２、３３    不揮発性メモリ
１０、４０、５０、６０、７０、８０、９０１    プロセッサ
１１、４１、５１、６１、７１、８１、９０２    外部バスコントローラ
１２、４２、５２、６２、７２、８２    内蔵ＳＲＡＭ
１３、４３、５３、６３、７３、８３、９０３    メモリコントローラ
３２Ａ    タイミング設定値フラグ
３３Ａ    起動回数カウント値
８４    メモリ情報入力端子
１３１、４３１、５３１、６３１、７３１、８３１    アクセス選択回路
１３２、４３２、５３２、６３２、７３２、８３２、９０４    メモリインターフェイス
１３２Ａ、１３２Ｂ、１３２Ｃ、１３２Ｄ、４３２Ａ、４３２Ｂ、４３２Ｃ、４３２Ｄ、５３２Ａ、５３２Ｂ、５３２Ｃ、５３２Ｄ、６３２Ａ、６３２Ｂ、６３２Ｃ、６３２Ｄ、７３２Ａ、７３２Ｂ、７３２Ｃ、７３２Ｄ、８３２Ａ、８３２Ｂ、８３２Ｃ、８３２Ｄ
個別メモリインターフェイス
４３１Ａ、５３１Ａ    メモリ選択レジスタ
４３１Ｂ    アドレス変換回路
５３１Ｂ    セレクタ回路
６３３    パターン発生回路
７３２Ａ１、７３２Ｂ１、７３２Ｃ１、７３２Ｄ１    タイミング個別設定レジスタ
９２０    外部不揮発性メモリ
９３０    外部ＳＲＡＭ
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の外部メモリへアクセスするタイミングを調整するメモリアクセスタイミング調整装置であって、
前記複数の外部メモリのそれぞれに対し個別に接続され、メモリアクセスにおけるデータの送受信を行う複数の個別メモリインターフェイスと、
前記複数の外部メモリのうち選択された外部メモリに対して当該選択された外部メモリに接続された個別メモリインターフェイスからデータを複数回送受信させることによりアクセスタイミングを調整する制御手段とを備える
ことを特徴とするメモリアクセスタイミング調整装置。
【請求項２】
前記複数の外部メモリは、第１のクロック信号に同期して入出力動作するクロック同期型メモリであり、
前記複数の個別メモリインターフェイスのそれぞれは、前記第１のクロック信号を遅延させた第２のクロック信号を使用してデータの入出力動作をし、
前記アクセスタイミングは、前記第１のクロック信号と前記第２のクロック信号との位相差であり、
前記制御手段は、前記個別メモリインターフェイスにおけるアクセスタイミングを順次変更させながらアクセスが成功したか否かをその都度判定し、当該アクセスが成功した前記位相差の範囲内に最適なアクセスタイミングを調整する
ことを特徴とする請求項１に記載のメモリアクセスタイミング調整装置。
【請求項３】
前記メモリアクセスタイミング調整装置は、さらに、
特定のパターンデータを発生するパターン発生回路を備え、
前記制御手段は、前記選択された外部メモリ以外の外部メモリに接続された個別メモリインターフェイスから前記選択された外部メモリ以外の外部メモリへ前記特定のパターンデータを送信させることにより、前記複数の外部メモリに負荷をかける
ことを特徴とする請求項１に記載のメモリアクセスタイミング調整装置。
【請求項４】
前記メモリアクセスタイミング調整装置は、さらに、
前記選択された外部メモリを示すビットを保持するメモリ選択レジスタと、
前記複数の個別メモリインターフェイスに接続され、前記選択された外部メモリを示すビットに対応する外部メモリのアドレスを出力するアドレス変換回路とを備える
ことを特徴とする請求項１に記載のメモリアクセスタイミング調整装置。
【請求項５】
前記メモリアクセスタイミング調整装置は、さらに、
前記選択された外部メモリを示すビットを保持するメモリ選択レジスタと、
前記複数の個別メモリインターフェイスに接続され、前記選択された外部メモリを示すビットにより、前記選択された外部メモリに接続された個別メモリインターフェイスを選択するセレクタ回路とを備える
ことを特徴とする請求項１に記載のメモリアクセスタイミング調整装置。
【請求項６】
前記メモリアクセスタイミング調整装置は、さらに、
前記アクセスタイミングの調整によって得られた前記複数の外部メモリのそれぞれに対する最適なアクセスタイミングを記憶する不揮発性メモリを備え、
前記複数の個別メモリインターフェイスのそれぞれは、
前記不揮発性メモリから読み出された前記最適なアクセスタイミングをシステム起動時に記憶するアクセスタイミング個別設定レジスタを備え、
前記複数の個別メモリインターフェイスのそれぞれは、前記タイミング個別設定レジスタに記憶された前記最適なアクセスタイミングを、前記選択された外部メモリとのデータアクセスに使用する
ことを特徴とする請求項１に記載のメモリアクセスタイミング調整装置。
【請求項７】
前記メモリアクセスタイミング調整装置は、さらに、
前記アクセスタイミングの調整によって得られた前記複数の外部メモリのそれぞれに対する最適なアクセスタイミングと、システム起動の回数とを記憶する不揮発性メモリを備え、
前記複数の個別メモリインターフェイスのそれぞれは、
前記不揮発性メモリから読み出された前記最適なアクセスタイミングをシステム起動時に記憶するタイミング個別設定レジスタを備え、
前記制御手段は、所定回数を起動するごとに、新たにアクセスタイミングを調整し、当該アクセスタイミングの調整によって得られた最適なアクセスタイミングを前記不揮発性メモリに書き込む
ことを特徴とする請求項１に記載のメモリアクセスタイミング調整装置。
【請求項８】
前記メモリアクセスタイミング調整装置は、さらに、
前記アクセスタイミングの調整によって得られた前記複数の外部メモリのそれぞれに対する最適なアクセスタイミングと、当該最適なアクセスタイミングが有効か否かを示すタイミング設定値フラグとを記憶する不揮発性メモリを備え、
前記複数の個別メモリインターフェイスのそれぞれは、
前記不揮発性メモリから読み出された前記最適なアクセスタイミングをシステム起動時に記憶するタイミング個別設定レジスタを備え、
前記制御手段は、システム起動時に、前記タイミング設定値フラグが無効の場合は、新たにアクセスタイミングを調整し、当該アクセスタイミングの調整によって得られた最適なアクセスタイミングを前記不揮発性メモリに書き込む
ことを特徴とする請求項１に記載のメモリアクセスタイミング調整装置。
【請求項９】
前記メモリアクセスタイミング調整装置は、さらに、
前記複数の外部メモリの構成を示す信号を入力するためのメモリ情報入力端子を備え、
前記複数の外部メモリの構成を示す信号に従い、前記複数の外部メモリに割り当てられたアドレス空間を変更、追加、又は削除する
ことを特徴とする請求項１に記載のメモリアクセスタイミング調整装置。
【請求項１０】
前記制御手段は、前記アクセスタイミングの調整によって得られたアクセスタイミングの最適範囲が、所定値以下であった場合には警告メッセージを出力する
ことを特徴とする請求項１に記載のメモリアクセスタイミング調整装置。
【請求項１１】
複数の外部メモリと当該複数の外部メモリにアクセスする複数の個別メモリインターフェイスとを有するメモリアクセスタイミング調整システムのメモリアクセスタイミング調整方法であって、
前記複数の外部メモリの中からアクセスタイミングを調整すべき外部メモリを選択する外部メモリ選択ステップと、
前記外部メモリ選択ステップにて選択された外部メモリに対し個別に接続された個別メモリインターフェイスから、前記選択された外部メモリへデータを送受信することによりアクセスタイミングを調整するアクセスタイミング調整ステップとを含む
ことを特徴とするメモリアクセスタイミング調整システムのメモリアクセスタイミング調整方法。
【請求項１２】
前記複数の外部メモリは、第１のクロック信号に同期して入出力動作するクロック同期型メモリであり、
前記複数の個別メモリインターフェイスのそれぞれは、前記第１のクロック信号を遅延させた第２のクロック信号を使用してデータの入出力動作をし、
前記アクセスタイミングは、前記第１のクロック信号と前記第２のクロック信号との位相差であり、
前記アクセスタイミング調整ステップでは、
前記選択された外部メモリに接続された個別メモリインターフェイスにおけるアクセスタイミングを順次変更させながらアクセスが成功したか否かをその都度判定するアクセス判定ステップと、
前記アクセス判定ステップにてアクセスが成功したと判定されたときの前記位相差の範囲内に最適なアクセスタイミングを調整する位相差調整ステップとを含む
ことを特徴とする請求項１１に記載のメモリアクセスタイミング調整システムのメモリアクセスタイミング調整方法。
【請求項１３】
前記アクセスタイミング調整ステップと同時に、
前記選択された外部メモリ以外の外部メモリへ、特定のパターンデータを発生するパターン発生回路から、前記選択された外部メモリ以外のメモリに接続された個別メモリインターフェイスを介して、特定のパターンデータを送信することにより、前記複数の外部メモリに負荷をかける外部メモリ負荷ステップを含む
ことを特徴とする請求項１１に記載のメモリアクセスタイミング調整システムのメモリアクセスタイミング調整方法。
【請求項１４】
前記外部メモリ選択ステップでは、
前記選択された外部メモリを示すビット情報をメモリ選択レジスタに保持するビット保持ステップと、
前記メモリ選択レジスタに保持されたビット情報を、前記複数の個別メモリインターフェイスに接続されたアドレス変換回路により前記選択された外部メモリのアドレスへ変換するアドレス変換ステップとを含む
ことを特徴とする請求項１１に記載のメモリアクセスタイミング調整システムのメモリアクセスタイミング調整方法。
【請求項１５】
前記外部メモリ選択ステップでは、
前記選択された外部メモリを示すビット情報をメモリ選択レジスタに保持するビット保持ステップと、
前記メモリ選択レジスタに保持されたビット情報をもとに、前記複数の個別メモリインターフェイスに接続されたセレクタ回路により、前記選択された外部メモリに接続された個別メモリインターフェイスを選択する個別メモリインターフェイス選択ステップとを含む
ことを特徴とする請求項１１に記載のメモリアクセスタイミング調整システムのメモリアクセスタイミング調整方法。
【請求項１６】
前記アクセスタイミング調整ステップの後、
前記アクセスタイミング調整ステップで調整した前記複数の外部メモリのそれぞれに対応した最適なアクセスタイミングを不揮発性メモリに書き込む最適値書き込みステップと、
前記最適値書き込みステップの後、システム起動時に、前記最適なアクセスタイミングを読み出す最適値読み出しステップと、
前記最適値読み出しステップの後、前記複数の個別メモリインターフェイスのそれぞれが個別に有するタイミング個別設定レジスタに、前記複数の外部メモリのそれぞれに対応した最適なアクセスタイミングを保持させる最適値保持ステップと、
前記最適値保持ステップの後、前記複数の外部メモリのそれぞれへのアクセスタイミングとして、前記タイミング個別設定レジスタに保持された前記最適なアクセスタイミングを使用するレジスタ最適値使用ステップとを含む
ことを特徴とする請求項１１に記載のメモリアクセスタイミング調整システムのメモリアクセスタイミング調整方法。
【請求項１７】
前記最適値書き込みステップの後、所定回数を起動するごとに、新たにアクセスタイミングを調整し、当該アクセスタイミングの調整によって得られた最適なアクセスタイミングを前記不揮発性メモリに書き込む最適値再書き込みステップを含む
ことを特徴とする請求項１６に記載のメモリアクセスタイミング調整システムのメモリアクセスタイミング調整方法。
【請求項１８】
前記最適値書き込みステップの後、既に前記不揮発性メモリに書き込まれている前記最適なアクセスタイミングが有効か否かを示す予め前記不揮発性メモリに書き込まれたタイミング設定値フラグが、システム起動時に無効を示す場合は、新たにアクセスタイミングを調整し、当該アクセスタイミングの調整によって得られた最適なアクセスタイミングを前記不揮発性メモリに書き込む最適値再書き込みステップを含む
ことを特徴とする請求項１６に記載のメモリアクセスタイミング調整システムのメモリアクセスタイミング調整方法。
【請求項１９】
前記外部メモリ選択ステップの前に、
前記複数の外部メモリの構成の変更をメモリ構成入力端子から外部信号として受信するメモリ構成認識ステップと、
前記メモリ構成認識ステップで受信したメモリ構成の変更情報に従って、前記複数の外部メモリに割り当てられたアドレス空間を変更、追加または削除するメモリアドレス変更ステップとを含む
ことを特徴とする請求項１１に記載のメモリアクセスタイミング調整システムのメモリアクセスタイミング調整方法。
【請求項２０】
前記アクセスタイミング調整ステップの後、
前記アクセスタイミングの調整によって得られたアクセスタイミングの最適範囲と、所定値とを比較する最適範囲比較ステップと、
前記最適範囲比較ステップにおいて、前記アクセスタイミングの最適範囲が前記所定値以下であった場合、警告メッセージを出力する警告出力ステップとを含む
ことを特徴とする請求項１１に記載のメモリアクセスタイミング調整システムのメモリアクセスタイミング調整方法。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2009096141.tif 000017
【図２】
2009096141.tif 000018
【図３】
2009096141.tif 000019
【図４】
2009096141.tif 000020
【図５】
2009096141.tif 000021
【図６】
2009096141.tif 000022
【図７】
2009096141.tif 000023
【図８】
2009096141.tif 000024
【図９】
2009096141.tif 000025
【図１０】
2009096141.tif 000026
【図１１】
2009096141.tif 000027
【図１２】
2009096141.tif 000028
【図１３】
2009096141.tif 000029
【図１４】
2009096141.tif 000030
【国際調査報告】
2009096141.tif 000031
2009096141.tif 000032
2009096141.tif 000033
2009096141.tif 000034