(57)【要約】【課題】外部メモリ部に対してデータ送受信を行うシステムにおいて、データ遅延サイクル数（レイテンシ）に変動があってもデータ送受信が異常状態とならないようにすることができるデータ転送タイミング補正装置を提供する。【解決手段】外部メモリ部１０１の所定領域に予め書き込んだ固定パターンデータ群を所定周期毎に当該システムに固有のデータ遅延サイクル数（レイテンシ）に従って読み出し、データ比較手段１０５において期待値１ないし期待値５と比較して一致検出を行い、読み出し転送命令に対して実際にデータがデータ線に現れるまでにかかるデータ遅延サイクル数を算出する。その結果、データ遅延サイクル数が変動していた場合には、補正量算出１０９から補正量をメモリ制御部１０４へ与え、メモリ制御部１０４による外部メモリ部１０１からのデータ転送タイミングを補正させる。【選択図】図１
2006157466.tif 000002
【特許請求の範囲】
【請求項１】
Ｌ（Ｌは自然数）ビットで１ワードが構成されるデジタルデータを格納する第１の記憶手段に対して、転送命令発行からデータ転送までにかかる所定のデータ遅延量に従うデータ転送制御を実行するシステムにおいて、前記所定のデータ遅延量に従うデータ転送制御の転送タイミングを補正するデータ転送タイミング補正装置であって、
固定パターンからなるＭ（Ｍは自然数）ワード分のデジタルデータを格納する第２の記憶手段と、
前記第１の記憶手段に格納されているデジタルデータのＮ（ＮはＭ以下の自然数）ワード分を一時的に格納する第３の記憶手段と、
前記第２の記憶手段に格納されているＭワード分のデジタルデータを前記第１の記憶手段へ書き込むデータ転送制御を実行する一方、その書き込まれたＭワード分のデジタルデータのＮワード分を前記所定のデータ遅延量に従って前記第３の記憶手段へ書き込むデータ転送制御を所定周期毎に実行するデータ転送制御手段と、
前記第３の記憶手段に格納されたＮワード分のデジタルデータを、前記第２の記憶手段に格納されているＭワード分のデジタルデータと比較して、一致検出を行うデータ比較手段と、
前記データ比較手段による一致検出の結果からデータ遅延量を算出するデータ遅延量算出手段と、
前記データ遅延量算出手段により算出されたデータ遅延量と前記所定のデータ遅延量とのずれ量から、前記システムにおいて最適な転送タイミングでデータ転送制御が実行されるようにするための補正量を算出する補正量算出手段と、
を具備し、前記システムにおけるデータ転送制御の転送タイミングを前記補正量に基づいて補正することを特徴とするデータ転送タイミング補正装置。
【請求項２】
請求項１記載のデータ転送タイミング補正装置において、前記第２の記憶手段が格納するＭワード分のデジタルデータは、各ワードそれぞれが互いに異なる固定パターンからなることを特徴とするデータ転送タイミング補正装置。
【請求項３】
請求項２記載のデータ転送タイミング補正装置において、前記第２の記憶手段が格納するＭワード分のデジタルデータは、各ワード毎に、Ｌビットのうちの一つのビット情報が“１”になっており、各ワードでその“１”のビット位置が異なることを特徴とするデータ転送タイミング補正装置。
【請求項４】
請求項２記載のデータ転送タイミング補正装置において、前記第２の記憶手段が格納するＭワード分のデジタルデータは、各ワード毎に、Ｌビットのうちの一つのビット情報が“０”になっており、各ワードでその“０”のビット位置が異なることを特徴とするデータ転送タイミング補正装置。
【請求項５】
上記のＬとＭは等しい値であることを特徴とする請求項１ないし４のいずれかに記載のデータ転送タイミング補正装置。
【請求項６】
Ｌ（Ｌは自然数）ビットで１ワードが構成されるデジタルデータを格納する第１の記憶手段に対して、転送命令発行からデータ転送までにかかる所定のデータ遅延量に従うデータ転送制御を実行するシステムにおいて、前記所定のデータ遅延量に従うデータ転送制御の転送タイミングを補正するデータ転送タイミング補正方法であって、
固定パターンからなるＭ（Ｍは自然数）ワード分のデジタルデータを格納する第２の記憶手段から該Ｍワード分のデジタルデータを前記第１の記憶手段へ書き込む第１の書き込み工程と、
前記第２の記憶手段から前記第１の記憶手段へ書き込まれたＭワード分のデジタルデータのＮ（ＮはＭ以下の自然数）ワード分を前記所定のデータ遅延量に従って第３の記憶手段へ書き込む第２の書き込み工程と、
前記第３の記憶手段に格納されたＮワード分のデジタルデータを、前記第２の記憶手段に格納されているＭワード分のデジタルデータと比較して、一致検出を行うデータ比較工程と、
前記データ比較工程における一致検出の結果からデータ遅延量を算出するデータ遅延量算出工程と、
前記算出されたデータ遅延量と前記所定のデータ遅延量とのずれ量から、前記システムにおいて最適な転送タイミングでデータ転送制御が実行されるようにするための補正量を算出する補正量算出工程と、
前記システムにおけるデータ転送制御の転送タイミングを前記補正量に基づいて補正する補正工程と、
を具備することを特徴とするデータ転送タイミング補正方法。
【請求項７】
請求項６記載のデータ転送タイミング補正方法において、前記第２の記憶手段が格納するＭワード分のデジタルデータは、各ワードそれぞれが互いに異なる固定パターンからなることを特徴とするデータ転送タイミング補正方法。
【請求項８】
請求項７記載のデータ転送タイミング補正方法において、前記第２の記憶手段が格納するＭワード分のデジタルデータは、各ワード毎に、Ｌビットのうちの一つのビット情報が“１”になっており、各ワードでその“１”のビット位置が異なることを特徴とするデータ転送タイミング補正方法。
【請求項９】
請求項７記載のデータ転送タイミング補正方法において、前記第２の記憶手段が格納するＭワード分のデジタルデータは、各ワード毎に、Ｌビットのうちの一つのビット情報が“０”になっており、各ワードでその“０”のビット位置が異なることを特徴とするデータ転送タイミング補正方法。
【請求項１０】
上記のＬとＭは等しい値であることを特徴とする請求項６ないし９のいずれかに記載のデータ転送タイミング補正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、大規模な外部メモリ部に対して高速な周波数の転送クロックに同期してデータ送受信を行うシステムにおいて、転送命令発行からデータ転送までにかかるデータ遅延量（レイテンシ）の変動によるデータ送受信の異常状態を回避するデータ転送タイミング補正装置、およびデータ転送タイミング補正方法に関する。
【背景技術】
【０００２】
大規模な外部メモリ部に対して高速な周波数の動作クロックに同期してデータ送受信を行う従来のシステムでは、ＪＥＤＥＣ（Ｊｏｉｎｔ  Ｅｌｅｃｔｒｏｎ  Ｄｅｖｉｃｅｓ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｃｏｕｎｃｉｌ）規格で規定されているように、システム毎に固定のレイテンシと呼ばれるデータ遅延量（データ遅延サイクル数）に従ってデータ送受信が行われている（例えば、非特許文献１参照。）。
【０００３】
しかしながら、上記のシステムにおいて、データ転送の基準となる転送クロックが高速になってくると、温度特性やノイズといった外的要因によって、クロックジッタが大きくなったり、データパス遅延が大きくなったりして、転送コマンド（転送命令）に対する実際のデータ遅延サイクル数が変動し、データ送受信に異常状態が発生する可能性がある。このような状態になると、正常なデータ送受信が行われなくなるという問題があった。
【非特許文献１】福田昭、枝洋樹著、「決断を迫られる高速ＤＲＡＭへの切り替え」、日経エレクトロニクス、日経ＢＰ社、１９９５年７月３１日、第６４１号、ｐ．１１９−１２３
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、上記問題点に鑑み、外部メモリ部（第１の記憶手段）に固定パターンのデータ群を書き込み、所定周期毎にそのデータ群をシステムに固有のデータ遅延サイクル数（データ遅延量）に従って読み出し、期待値データ群と比較して一致検出を行い自動的にデータ遅延サイクル数を算出し、システムに固有のデータ遅延サイクル数とのずれ量から、該システムにおいて最適な転送タイミングでデータ転送制御が実行されるようにするための補正量を求めて、該補正量に基づいてデータ転送制御の転送タイミングを補正することにより、データ遅延サイクル数が変動したとしても、データ送受信に異常状態が発生しないようにし、システム全体の破綻を回避することができるデータ転送タイミング補正装置、及びデータ転送タイミング補正方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の請求項１記載のデータ転送タイミング補正装置は、Ｌ（Ｌは自然数）ビットで１ワードが構成されるデジタルデータを格納する第１の記憶手段に対して、転送命令発行からデータ転送までにかかる所定のデータ遅延量に従うデータ転送制御を実行するシステムにおいて、前記所定のデータ遅延量に従うデータ転送制御の転送タイミングを補正するデータ転送タイミング補正装置であって、固定パターンからなるＭ（Ｍは自然数）ワード分のデジタルデータを格納する第２の記憶手段と、前記第１の記憶手段に格納されているデジタルデータのＮ（ＮはＭ以下の自然数）ワード分を一時的に格納する第３の記憶手段と、前記第２の記憶手段に格納されているＭワード分のデジタルデータを前記第１の記憶手段へ書き込むデータ転送制御を実行する一方、その書き込まれたＭワード分のデジタルデータのＮワード分を前記所定のデータ遅延量に従って前記第３の記憶手段へ書き込むデータ転送制御を所定周期毎に実行するデータ転送制御手段と、前記第３の記憶手段に格納されたＮワード分のデジタルデータを、前記第２の記憶手段に格納されているＭワード分のデジタルデータと比較して、一致検出を行うデータ比較手段と、前記データ比較手段による一致検出の結果からデータ遅延量を算出するデータ遅延量算出手段と、前記データ遅延量算出手段により算出されたデータ遅延量と前記所定のデータ遅延量とのずれ量から、前記システムにおいて最適な転送タイミングでデータ転送制御が実行されるようにするための補正量を算出する補正量算出手段と、を具備し、前記システムにおけるデータ転送制御の転送タイミングを前記補正量に基づいて補正することを特徴とする。
【０００６】
また、本発明の請求項２記載のデータ転送タイミング補正装置は、請求項１記載のデータ転送タイミング補正装置において、前記第２の記憶手段が格納するＭワード分のデジタルデータは、各ワードそれぞれが互いに異なる固定パターンからなることを特徴とする。
【０００７】
また、本発明の請求項３記載のデータ転送タイミング補正装置は、請求項２記載のデータ転送タイミング補正装置において、前記第２の記憶手段が格納するＭワード分のデジタルデータは、各ワード毎に、Ｌビットのうちの一つのビット情報が“１”になっており、各ワードでその“１”のビット位置が異なることを特徴とする。
【０００８】
また、本発明の請求項４記載のデータ転送タイミング補正装置は、請求項２記載のデータ転送タイミング補正装置において、前記第２の記憶手段が格納するＭワード分のデジタルデータは、各ワード毎に、Ｌビットのうちの一つのビット情報が“０”になっており、各ワードでその“０”のビット位置が異なることを特徴とする。
【０００９】
また、本発明の請求項５記載のデータ転送タイミング補正装置は、請求項１ないし４のいずれかに記載のデータ転送タイミング補正装置において、上記のＬとＭは等しい値であることを特徴とする。
【００１０】
また、本発明の請求項６記載のデータ転送タイミング補正方法は、Ｌ（Ｌは自然数）ビットで１ワードが構成されるデジタルデータを格納する第１の記憶手段に対して、転送命令発行からデータ転送までにかかる所定のデータ遅延量に従うデータ転送制御を実行するシステムにおいて、前記所定のデータ遅延量に従うデータ転送制御の転送タイミングを補正するデータ転送タイミング補正方法であって、固定パターンからなるＭ（Ｍは自然数）ワード分のデジタルデータを格納する第２の記憶手段から該Ｍワード分のデジタルデータを前記第１の記憶手段へ書き込む第１の書き込み工程と、前記第２の記憶手段から前記第１の記憶手段へ書き込まれたＭワード分のデジタルデータのＮ（ＮはＭ以下の自然数）ワード分を前記所定のデータ遅延量に従って第３の記憶手段へ書き込む第２の書き込み工程と、前記第３の記憶手段に格納されたＮワード分のデジタルデータを、前記第２の記憶手段に格納されているＭワード分のデジタルデータと比較して、一致検出を行うデータ比較工程と、前記データ比較工程における一致検出の結果からデータ遅延量を算出するデータ遅延量算出工程と、前記算出されたデータ遅延量と前記所定のデータ遅延量とのずれ量から、前記システムにおいて最適な転送タイミングでデータ転送制御が実行されるようにするための補正量を算出する補正量算出工程と、前記システムにおけるデータ転送制御の転送タイミングを前記補正量に基づいて補正する補正工程と、を具備することを特徴とする。
【００１１】
また、本発明の請求項７記載のデータ転送タイミング補正方法は、請求項６記載のデータ転送タイミング補正方法において、前記第２の記憶手段が格納するＭワード分のデジタルデータは、各ワードそれぞれが互いに異なる固定パターンからなることを特徴とする。
【００１２】
また、本発明の請求項８記載のデータ転送タイミング補正方法は、請求項７記載のデータ転送タイミング補正方法において、前記第２の記憶手段が格納するＭワード分のデジタルデータは、各ワード毎に、Ｌビットのうちの一つのビット情報が“１”になっており、各ワードでその“１”のビット位置が異なることを特徴とする。
【００１３】
また、本発明の請求項９記載のデータ転送タイミング補正方法は、請求項７記載のデータ転送タイミング補正方法において、前記第２の記憶手段が格納するＭワード分のデジタルデータは、各ワード毎に、Ｌビットのうちの一つのビット情報が“０”になっており、各ワードでその“０”のビット位置が異なることを特徴とする。
【００１４】
また、本発明の請求項１０記載のデータ転送タイミング補正方法は、請求項６ないし９のいずれかに記載のデータ転送タイミング補正方法において、上記のＬとＭは等しい値であることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、データ転送の基準となる転送クロックのジッタ増加やデータパス遅延変動によりデータ遅延量が変動した場合であっても、その変動量（ずれ量）を自動的に算出することができ、そのずれ量から、当該システムにおける転送タイミングを自動的に補正させることができるので、データ送受信に異常状態が発生しないようにし、システム全体の破綻を回避することができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施の形態について、図面を参照しながら説明する。
図１は、本実施の形態におけるデータ転送タイミング補正装置の構成の概略を示す。
図１において、外部メモリ部１０１はＬ（Ｌは自然数）ビットで１ワードが構成されるデジタルデータを格納する第１の記憶手段であり、ここでは「Ｌ＝８」として説明する。
【００１７】
当該データ転送タイミング補正装置は、外部メモリ部１０１に対して、読み出し転送命令（転送コマンド）を発行してから実際にデータ線にデータが現れるまでにかかる所定のデータ遅延量（レイテンシ；データ遅延サイクル数ＣＬ）に従うデータ転送制御を実行するシステムにおいて、該所定のデータ遅延量に従うデータ転送制御の転送タイミングを補正する装置である。
【００１８】
期待値メモリ部１０２は、固定パターンからなるＭ（Ｍは自然数）ワード分のデジタルデータを格納する第２の記憶手段であり、ここでは「Ｍ＝８」として説明する。また、バッファメモリ部１０３は、外部メモリ部１０１に格納されているデジタルデータのＮ（ＮはＭ以下の自然数）ワード分を一時的に格納する第３の記憶手段であり、ここでは「Ｎ＝５」として説明する。
【００１９】
メモリ制御部１０４は、外部メモリ部１０１と期待値メモリ部１０２とバッファメモリ部１０３に対するデータ転送制御を転送クロックに同期して行う。メモリ制御部１０４は、図１には記載をしていないが、例えば半導体システム内において、データ処理回路と外部メモリ部１０１との間のデータ送受信を制御している。
【００２０】
また、メモリ制御部１０４は、期待値メモリ部１０２に格納されている８ワード分のデジタルデータを外部メモリ部１０１へ書き込むデータ転送制御を実行する一方、その書き込まれた８ワード分のデジタルデータの５ワード分を所定のデータ遅延サイクル数ＣＬに従ってバッファメモリ部１０３へ書き込むデータ転送制御を所定周期毎に実行するデータ転送制御手段の機能を有する。なお、期待値メモリ部１０２から外部メモリ部１０１へのデータ転送についても所定周期毎に行うようにしてもよい。
【００２１】
データ比較手段１０５は、５個の比較器１０６と４個のシフト回路１０７からなり、バッファメモリ部１０３に格納された５ワード分のデジタルデータを、期待値メモリ部１０２に格納されている８ワード分のデジタルデータと比較して、一致検出を行う。
【００２２】
データ比較手段１０５へ期待値メモリ部１０２から入力される８ワード分のデジタルデータは、シフト回路１０７を一つ通過する毎に先頭のデータが破棄され、その分期待値メモリ部１０２に存在しないダミーデータにより最後尾が埋められて、期待値２ないし期待値５のデータ群（それぞれ８種類のデータからなる）となって出力される。なお、期待値１のデータ群は、期待値メモリ部１０２から出力される８ワード分のデジタルデータ群である。
【００２３】
データ比較手段１０５は、バッファメモリ部１０３に格納されている５ワード分すべてに関して、各ワード毎に、各比較器１０６において期待値１ないし期待値５のデータ群（それぞれ８種類のデータからなる）と比較して、一致検出を行う。
【００２４】
データ遅延サイクル数検出部１０８は、データ比較手段１０５による一致検出の結果からデータ転送遅延サイクルＣＬを算出するデータ遅延量算出手段であり、各比較器１０６において検出された８種類の比較一致結果（合計４０（５×８）種類）からデータ転送遅延サイクルＣＬを算出する。
【００２５】
補正量算出部１０９は、データ遅延サイクル数検出部１０８により算出されたデータ遅延サイクル数ＣＬと所定のデータ遅延サイクル数ＣＬとのずれ量から、当該データ転送タイミング補正装置が組み込まれるシステムにおいて最適な転送タイミングでデータ転送制御が実行されるようにするための補正量を算出する補正量算出手段である。
【００２６】
メモリ制御部１０４は、補正量算出部１０９により算出された補正量に基づいてデータ転送制御の転送タイミングを補正する機能を有す。これにより、メモリ制御部１０４は、データ遅延サイクル数に変動が発生したとしても、最適な転送タイミングで外部メモリ部１０１からデータを転送させることができる。
【００２７】
続いて、以上のように構成されたデータ転送タイミング補正装置の動作（データ転送タイミング補正方法）について説明する。
期待値メモリ部１０２には、例えば、図２に示すような８ワード分の固定データが格納されている。この図２に示すように、期待値メモリ部１０２が格納するデジタルデータは、各ワードそれぞれが互いに異なる固定パターンからなることが望ましい。図２には、パターン番号とこれに対応する固定データ（２進数）を表記している。
【００２８】
まず、メモリ制御部１０４は、所定のデータ遅延量（所定のデータ遅延サイクル数ＣＬ）を補正するために、予め、読み出し転送命令を期待値メモリ部１０２へ発行するとともに書き込み転送命令を外部メモリ部１０１へ発行し、期待値メモリ部１０２に格納されている８ワード分の固定データをパターン番号の昇順に転送クロックに同期させて連続して読み出し、書き込み転送命令に対して予め決められたデータ遅延サイクル数ＣＬに従って、外部メモリ部１０１の所定領域へ転送させておく（第１の書き込み工程）。
【００２９】
なお、この期待値メモリ部１０２から読み出された８ワード分の固定データ群は、１つの書き込み転送命令によって８ワードを一塊としてバースト的に外部メモリ部１０１の所定領域へ転送される。
【００３０】
図３に、外部メモリ部１０１の所定領域への固定データの格納方法の一例を示す。図３では、外部メモリ部１０１の所定のアドレス０〜アドレス８に対して固定データがパターン番号の昇順に格納されている。
【００３１】
メモリ制御部１０４は、所定周期毎に、読み出し転送命令を外部メモリ部１０１に発行するとともに書き込み転送命令をバッファメモリ部１０３へ発行し、外部メモリ１０１に格納されている８ワード分の固定データをアドレス順（所定順序）に転送クロックに同期させて１ワードずつ連続して読み出し、読み出し転送命令に対して予め決められたデータ遅延サイクル数ＣＬ（以下、「ＣＬ＝４」として説明する。）に従って、そのうちの所定の５ワード分をバッファメモリ部１０３に転送させる（第２の書き込み工程）。
【００３２】
ここでは、メモリ制御部１０４は、図３に示す外部メモリ部１０１のアドレス順に１ワードずつ連続して固定データを読み出し、所定のデータ遅延サイクル数ＣＬ（「ＣＬ＝４」）に従って、転送データの第４番目ないし第８番目までのデータがバッファメモリ部１０３に格納されるように制御する。
【００３３】
したがって、データ遅延サイクル数ＣＬに変動がない場合には、固定データ群の中のパターン番号４ないし８の５ワード分のデータがバッファメモリ部１０３に格納される。一方、例えば実際のデータ遅延サイクル数ＣＬが変動して１サイクル減少した場合（「ＣＬ＝３」）でも、所定のデータ遅延サイクル数ＣＬ（「ＣＬ＝４」）に従って転送制御が行われるため、この場合、バッファメモリ部１０３には、転送データの第４番目ないし第７番目までのデータとして固定データ群の中のパターン番号５ないし８のデータが格納され、転送データの第８番目のデータとして固定データ群にない不定のデータが格納される。また、例えば実際のデータ遅延サイクル数ＣＬが変動して１サイクル増加した場合（「ＣＬ＝５」）には、転送データの第４番目ないし第８番目までのデータとして固定データ群の中のパターン番号３ないし７のデータがバッファメモリ部１０３に格納される。
【００３４】
バッファメモリ部１０３に格納された５ワード分のデータはそれぞれ、データ比較手段１０５（比較器１０６とシフト回路１０７）により、期待値メモリ部１０２に格納されている８ワード分の固定データと比較され、一致を検出される（データ比較工程）。以下、当該データ転送タイミング補正装置における一致検出について説明する。
【００３５】
当該データ転送タイミング補正装置では、バッファメモリ部１０３に格納された５ワード分のデータそれぞれについて処理を行うため、図１に示すように比較器１０６は５個存在する。
【００３６】
各比較器１０６に入力される期待値データ群は、期待値メモリ部１０２からパターン番号順に出力される固定データ群をシフト回路１０７によりシフトして生成する。このシフト回路１０７で処理された結果、図１において期待値１ないし期待値５と記載されたデータ群が具体的にどのようなものになるかを図４に示す。図４では、各期待値番号に対するパターン番号とデータの関係を示している。
【００３７】
図４に示すように、期待値メモリ部１０２からデータ比較手段１０５へパターン番号順に出力される固定データ群は、シフト回路１０７を一つ通過する毎に先頭のデータが破棄され、その分期待値メモリ部１０２に存在しないダミーデータが最後尾に埋められて、期待値２ないし期待値５のデータ群（それぞれ８種類のデータからなる）となって各シフト回路より出力される。一方、バッファメモリ部１０３に格納された第４番目のデータと比較される期待値１のデータ群については、期待値メモリ部１０２からパターン番号順に出力される固定データ群となる。
【００３８】
各比較器１０６は、期待値１ないし期待値５の各データ群とバッファメモリ部１０３に格納された第４番目ないし第８番目のデータを比較し、一致する期待値データのパターン番号を検出する。例えばデータ遅延サイクル数ＣＬに変動がない場合、バッファメモリ部１０３に格納された第４番目のデータは図２に示すパターン番号４の固定データとなるので、比較器１０６の処理により期待値１のデータ群のパターン番号４のデータとのみ一致するという結果（一致検出結果）が得られる。同様に、バッファメモリ部１０３に格納された第５番目ないし第８番目のデータについても、図４の期待値２ないし期待値５に示される８種類のデータ群のそれぞれと比較され、パターン番号４とのみ一致するという結果（一致検出結果）が得られる。
【００３９】
以上のように、ここでは、データ比較手段１０５は、一致検出として、バッファメモリ部１０３に格納された第４番目から第８番目のデータと期待値データを比較して、一致するパターン番号の検出を行う。
【００４０】
なお、万一、外部メモリ部１０１から読み出し転送されたデータ群にエラーが発生して８種類の期待値データのいずれとも一致しない場合には、比較器１０６よりパターン番号として“０”が出力されるようにする。
【００４１】
５個の比較器１０６の出力は、データ遅延サイクル数検出部１０８に入力される。データ遅延サイクル数検出部１０８は、５個の比較器１０６による一致検出結果からデータ遅延サイクル数を算出する（データ遅延量算出工程）。
【００４２】
具体的には、データ遅延サイクル数検出部１０８は、第４番目のデータに関する比較器１０６の一致検出結果ないし第８番目のデータに関する比較器１０６の一致検出結果を入力し、パターン番号が“０”でなければ、最初に検出されたパターン番号を補正量算出部１０９に出力する。例えば、データ遅延サイクル数ＣＬに変動がない場合、第４番目のデータに関する比較器１０６の一致検出結果からパターン番号４が得られるので、データ遅延サイクル数ＣＬは“４”と検出される。
【００４３】
補正量算出部１０８は、データ遅延サイクル数検出部１０８から入力されたパターン番号（実測値）と所定のデータ遅延サイクル数ＣＬとのずれ量（変動量）を求め、当該データ転送タイミング補正装置が組み込まれるシステムにおいて最適な転送タイミングでデータ転送制御が実行されるようにするための補正量を算出する（補正量算出工程）。
【００４４】
例えば、データ遅延サイクル数ＣＬに変動がない場合、所定のデータ遅延サイクル数ＣＬ“４”からパターン番号“４”を減算した結果の“０”を補正量としてメモリ制御部１０４に出力する。メモリ制御部１０４は、補正量が“０”の場合、特に変更を行うことはしない。
【００４５】
一方、データ遅延サイクル数ＣＬが変動して１サイクル減少した場合（「ＣＬ＝３」）、図１の第４番目から第７番目までのデータは図２のパターン番号５からパターン番号８のデータとなり、第８番目のデータは不定なデータとなる。このような場合、５種類の比較器１０６で得られる一致検出結果として、第４番目から第７番目のデータについてはパターン番号５と一致するという結果が得られ、第８番目のデータについては不定な結果が得られる。
【００４６】
データ遅延サイクル数検出部１０８は、第４番目のデータに対する比較器１０６の一致検出結果から処理を行い、パターン番号５を得る。補正量算出部１０８は、所定のデータ遅延サイクル数ＣＬ“４”からパターン番号“５”を減算した結果の“−１”を算出して、この“−１”を補正量としてメモリ制御部１０４に出力する。
【００４７】
メモリ制御部１０４は、補正量“−１”に基づいて、データ遅延サイクル数が１サイクル減少したものとして、当該データ転送タイミング補正装置が組み込まれるシステムにおける転送タイミングを補正する（補正工程）。これ以降、メモリ制御部１０４は、例えば半導体システム内のデータ処理回路と外部メモリ部との間のデータ送受信において、１サイクル前にずれたデータ群を有効なデータとして扱うようにする。
【００４８】
また、データ遅延サイクル数ＣＬが変動して１サイクル増加した場合（「ＣＬ＝５」）、図１の第４番目から第８番目までのデータは図２のパターン番号３からパターン番号７のデータとなる。このような場合、５種類の比較器１０６で得られる一致検出結果として、パターン番号３と一致するという結果が得られる。
【００４９】
データ遅延サイクル数検出部１０８は、第４番目のデータに対する比較器１０６の一致検出結果から処理を行い、パターン番号３を得る。補正量算出部１０８は、所定のデータ遅延サイクル数ＣＬ“４”からパターン番号“３”を減算した結果の“＋１”を算出して、この“＋１”を補正量としてメモリ制御部１０４に出力する。
【００５０】
メモリ制御部１０４は、補正量“＋１”に基づいて、データ遅延サイクル数が１サイクル増加したものとして、当該データ転送タイミング補正装置が組み込まれるシステムにおける転送タイミングを補正する（補正工程）。これ以降、メモリ制御部１０４は、例えば半導体システム内のデータ処理回路と外部メモリ部との間のデータ送受信において、１サイクル遅延したデータ群を有効なデータとして扱うようにする。
【００５１】
当該データ転送タイミング補正装置によれば、外部メモリ部１０１からバッファメモリ部１０３へのデータ遅延サイクル数の変動に対して、増加方向は＋４サイクルまで、減少方向は−３サイクルまで検出、補正することができる。
【００５２】
なお、本実施の形態では、データ遅延サイクル数検出部が、第４番目のデータに対する比較器の結果から順に第８番目のデータに対する比較器の結果へと処理を行い、パターン番号が０でなければ、そこで処理を終了する場合について説明したが、検出されたパターン番号の多数決によってデータ遅延サイクル数を決定するようにしても構わない。
【００５３】
また、期待値メモリ部に格納されているデータ群として、図２に示すような１ワード８ビットの中の一つのビット情報だけが“１”になっており、かつ各ワードでその“１”のビット位置がすべて異なる場合について説明したが、“１”と“０”が反転するパターンでも構わないし、８ワードがそれぞれ異なるデータ値であれば構わない。但し、本実施の形態で説明したようなパターンの場合には、データ転送におけるビット化けが発生したとしても、２ビット化けが発生しなければ、他のパターンとして誤検出されることがない。なお、“１”と“０”が反転するパターンの場合、シフト回路で埋めるダミーデータは全ビット０であるほうが好ましい。
【００５４】
以上のように、外部メモリ部の所定領域に予め書き込んだ固定パターンデータ群を所定周期毎に当該システムに固有のデータ遅延サイクル数（レイテンシ）に従って読み出し、期待値と比較して一致検出を行い、読み出し転送命令に対して実際にデータがデータ線に現れるまでにかかるデータ遅延サイクル数を算出し、固有のデータ遅延サイクル数とのずれ量を自動的に求め、万一、データ遅延サイクル数が変動した場合には、メモリ制御部における転送タイミングを補正するので、外部メモリ部に対するデータ送受信の異常状態からの復帰を自動的に実現することができる。
【産業上の利用可能性】
【００５５】
本発明にかかるデータ転送タイミング補正装置、およびデータ転送タイミング補正方法は、実際のデータ遅延量（レイテンシ）を算出し、システムに固有のデータ遅延量とのずれ量を自動的に求めて、第１の記憶手段（外部メモリ部）からのデータ転送タイミングを補正させることができ、データ遅延量に変動があってもデータ送受信が異常状態とならないようにすることができるものであり、大規模なメモリに対して高速な周波数の動作クロックに同期してデータ送受信を行うシステムに有用である。
【図面の簡単な説明】
【００５６】
【図１】本実施の形態におけるデータ転送タイミング補正装置の構成の概略を示す図
【図２】同実施の形態のデータ転送タイミング補正装置の期待値メモリ部に格納されるデータの一例を示す図
【図３】同実施の形態のデータ転送タイミング補正装置の外部メモリ部に格納されるデータの一例を示す図
【図４】同実施の形態のデータ転送タイミング補正装置のデータ比較手段で用いられる期待値の一例を示す図
【符号の説明】
【００５７】
１０１      外部メモリ部
１０２      期待値メモリ部
１０３      バッファメモリ部
１０４      メモリ制御部
１０５      データ比較手段
１０６      比較器
１０７      シフト回路
１０８      データ遅延サイクル数検出部
１０９      補正量算出部
【図１】
2006157466.tif 000003
【図２】
2006157466.tif 000004
【図３】
2006157466.tif 000005
【図４】
2006157466.tif 000006