"データを転送するタイミングを知らせるためのデータストローブ信号を受信し、当該データストローブ信号に応じてデータ受信を行うメモリインタフェース回路であって、前記データストローブ信号を受信し入力する入力バッファと、システムクロック信号に同期したマスク制御信号をある遅延調整値だけ遅延させた信号を用いて、データラッチに使用するように前記データストローブ信号をマスクする第1の制御回路と、前記遅延調整値に一定の余裕度を持たせて前記マスク制御信号を遅延させた信号を用いて、前記データストローブ信号をマスクする第2の制御回路と、前記第1の制御回路の出力におけるエッジ回数のカウント値と前記第2の制御回路の出力におけるエッジ回数のカウント値とを比較して、両カウント値の一致を確認しつつ前記遅延調整値を変更し、不一致が起こった場合には前記遅延調整値を戻すように動作する比較回路とを備えたことを特徴とするメモリインタフェース回路。請求項1記載のメモリインタフェース回路において、前記第2の制御回路は、前記第1の制御回路と同型の回路であることを特徴とするメモリインタフェース回路。請求項1記載のメモリインタフェース回路において、前記第1の制御回路は、その出力段に、データを取り込むためのタイミングを決めるように、マスクされたデータストローブ信号の位相を調整するための可変遅延回路を有し、前記第2の制御回路は、前記可変遅延回路に相当する回路を有しないことを特徴とするメモリインタフェース回路。請求項1記載のメモリインタフェース回路において、前記第2の制御回路は、前記遅延調整値に上限側の余裕度を設定する時間帯と、前記遅延調整値に下限側の余裕度を設定する時間帯とを切り替えることを特徴とするメモリインタフェース回路。請求項1記載のメモリインタフェース回路において、前記第2の制御回路は、前記遅延調整値に上限側の余裕度を設定する回路と、前記遅延調整値に下限側の余裕度を設定する回路とを有することを特徴とするメモリインタフェース回路。しかしながら、動作スピードが低く有効データ幅が広い場合には、アナログ回路を用いた上記従来技術でも有効であったが、高速化に伴って有効データ幅が大幅に縮小してくる。更に、LSIの高負荷動作時に顕在化するデータストローブ信号のジッタ成分と電圧、温度、プロセスの変動とが組み合わさると、グリッジを排除すべきマスク位置が一定ではなくなるため、低負荷動作状態で決定したマスク位置が必ずしも有効ではなくなる。本発明の目的は、データストローブ信号に発生するグリッジを有効に除去し、正確なデータ転送を可能にするメモリインタフェース回路を提供することにある。上記の課題を解決するため、本発明は、状況の変化に応じて、データストローブ信号の適応的なマスクを実現するものである。具体的に説明すると、データを転送するタイミングを知らせるためのデータストローブ信号を受信し、当該データストローブ信号に応じてデータ受信を行うメモリインタフェース回路において、前記データストローブ信号を受信し入力する入力バッファと、システムクロック信号に同期したマスク制御信号をある遅延調整値だけ遅延させた信号を用いて、データラッチに使用するように前記データストローブ信号をマスクする第1の制御回路と、前記遅延調整値に一定の余裕度を持たせて前記マスク制御信号を遅延させた信号を用いて、前記データストローブ信号をマスクする第2の制御回路と、前記第1の制御回路の出力におけるエッジ回数のカウント値と前記第2の制御回路の出力におけるエッジ回数のカウント値とを比較して、両カウント値の一致を確認しつつ前記遅延調整値を変更し、不一致が起こった場合には前記遅延調整値を戻すように動作する比較回路とを備えた構成を採用することとしたものである。本発明によれば、高速化に伴い有効データ幅が狭くなった場合においても、安定した受信を行うことができ、更に回路構成をロジック回路で構成できるために、従来回路のようなアナログ回路を用いる必要がないので、微細化に伴い面積削減を行う利点を有する。以下、本発明の実施形態について図面を参照しながら説明する。なお、以下の各実施形態の説明において、一度説明した構成要素と同様の機能を有する構成要素については、同一の符号を付して説明を省略する場合がある。《実施形態1》図1は、本発明の実施形態1に係るメモリインタフェース回路の構成を示すブロック図である。図1に示したメモリインタフェース回路は、DDRSDRAM200からのデータ信号DQ及びデータストローブ信号DQSを受け取り、例えば画像処理や数値演算処理を行うLSIに多ビットのデータRDATAを渡す回路であって、データレシーバ101と、データストローブレシーバ102と、第1のマスク回路103と、第2のマスク回路104と、マスク制御信号発生回路105と、データラッチ及びFIFOFirstInFirstOut回路110と、DQSエッジ回数検出回路111と、FIFO用カウンタ回路116とを有する。第1のマスク回路103は、1つのAND回路1031と、2つの可変遅延回路1032,1033とで構成される。第2のマスク回路104は、第1のマスク回路103と同型の回路であって、1つのAND回路1041と、2つの可変遅延回路1042,1043とで構成される。データラッチ及びFIFO回路110は、2つのDフリップフロップ1011,1012と、1つのDラッチ1103と、1つのFIFOレジスタ1104とで構成される。DQSエッジ回数検出回路111は、1つのカウンタ回路1111と、1つの比較回路1112とで構成される。図2は、図1中の可変遅延回路1033,1043の具体的な内部構成例を示す回路図である。図2に示すように、可変遅延回路1033,1043は、例えば、インバータの段数調整で遅延を発生するようにSn~S1で制御される遅延回路部分と、各遅延回路部分のインバータサイズを変更することで微小な遅延を発生するようにSSm~SS1で制御される遅延回路部分とで構成される。図3は、データストローブ信号DQSのマスク期間を説明するためのタイミング図である。図3中のT0~T8はシステムクロック信号CLKの立ち上がり時刻を表し、その間隔が1クロックサイクルに対応している。図3によれば、時刻T0においてREADコマンドとアドレスAnとが与えられる。CASレイテンシCLが例えば5の場合には、時刻T0から5クロックサイクル後にデータストローブ信号DQSのトグル期間が開始する。その前の1クロックサイクル期間はプリアンブル期間tRPREであり、データストローブ信号DQSの論理がLowに固定される。プリアンブル期間tRPREの前は、データストローブ信号DQSがハイインピーダンス状態であり、その論理が確定しない。したがって、図3に示すような論理を持つマスク制御信号RENを遅延させた信号でデータストローブ信号DQSをマスクする必要がある。さて、図1によれば、データレシーバ101はDDRSDRAM200から出力されたデータ信号DQを取り込む。データストローブレシーバ102は、DDRSDRAM200から出力されたデータストローブ信号DQSを取り込む。データレシーバ101で取り込んだデータ信号DQはデータラッチ及びFIFO回路110に、データストローブレシーバ102で取り込んだデータストローブ信号DQSは分岐して第1及び第2のマスク回路103,104にそれぞれ入力される。一方、マスク制御信号発生回路105は、リードイネーブル信号READ_ENに応答して、システムクロック信号CLKに同期したマスク制御信号RENを生成する図3の時刻T2。生成されたマスク制御信号RENは分岐して第1及び第2のマスク回路103,104に入力される。第1のマスク回路103では、可変遅延回路1033がマスク制御信号RENを遅延調整値αだけ遅延させ、遅延調整値αだけ遅延されたマスク制御信号RENを用いてAND回路1031がデータストローブ信号DQSにマスクをかける。可変遅延回路1032は、データラッチ及びFIFO回路110にてデータ信号DQを取り込むためのタイミングを決める位相調整回路である。第2のマスク回路104では、可変遅延回路1043がマスク制御信号RENを遅延調整値αに一定の余裕度tを持たせて遅延させ、遅延調整値αtだけ遅延されたマスク制御信号RENを用いてAND回路1041がデータストローブ信号DQSにマスクをかける。可変遅延回路1042は、第1のマスク回路103中の可変遅延回路1032と同様に位相調整を行う。第1及び第2のマスク回路103,104でそれぞれマスクされた信号波形DQSINC1,DQSINC2のエッジ回数は、後段のカウンタ回路116,1111によりそれぞれカウントされる。このとき、遅延調整値αから余裕度tだけずれた箇所がデータストローブ信号DQSの立ち上がりエッジ時刻T5におけるプリアンブル期間tRPREの終了タイミングより時間的に手前にある場合は、両カウンタ回路116,1111が同数のカウントアップを行うために比較回路1112の比較結果が一致となる。しかし、データストローブ信号DQSの立ち上がりエッジ時刻T5が電圧、温度、データストローブ信号DQSのジッタ成分等で遅延調整値αtだけ遅延させた箇所より時間的に手前になる場合は、カウンタ回路1111は正常なカウントアップが行われずにカウンタ回路116の結果と異なるため、比較回路1112の比較結果が不一致となる。このような比較結果を高負荷動作時にプログラム等で定期的に読み取り、不一致になった場合は、遅延調整値αを時間的に手前に変更する。これにより、図1のメモリインタフェース回路は、余裕度tを常に保ちつつデータストローブ信号DQSに有効なマスクをかけることができる。なお、図3中のQn~Qn5は、DDRSDRAM200からバースト転送されるデータを表している。《実施形態2》図4は、本発明の実施形態2に係るメモリインタフェース回路の構成を示すブロック図である。これは、図1中の第2のマスク回路104にあった可変遅延回路1042を削除したことを特徴とする回路である。可変遅延回路1042は図1中の第1のマスク回路103にある可変遅延回路1032と同様の回路であり、可変遅延回路1032はデータラッチ及びFIFO回路110にてデータ信号DQを取り込むためのタイミングを決めるために必要な回路であるため、一定時間経過後にカウンタ値を読み出す場合は面積削減を最大化する目的として削除できる。《実施形態3》図5は、本発明の実施形態3に係るメモリインタフェース回路の構成を示すブロック図である。これは、第2のマスク回路104中の可変遅延回路1043に与える遅延調整値αに対して上限側と下限側との両方に余裕度tを設けることを特徴とする回路である。この余裕度tを1つの回路で実現するために時分割方式を採用し、ある時間帯で上限側αtの結果を検知し、他の時間帯で下限側α-tの結果を検知することを特徴とするものである。《実施形態4》図6は、本発明の実施形態4に係るメモリインタフェース回路の構成を示すブロック図である。これは、同一時間帯で遅延調整値αの上限と下限とを両方検知するために、第2のマスク回路104と同じ構成を持つ第3のマスク回路106を実装することを特徴とする回路である。第2のマスク回路104は遅延調整値αに上限側の余裕度tを設定する回路であり、DQSエッジ回数検出回路111へ信号DQSINC2を供給する。第3のマスク回路106は遅延調整値αに下限側の余裕度tを設定する回路であり、DQSエッジ回数検出回路112へ信号DQSINC3を供給する。第3のマスク回路106は、1つのAND回路1051と、2つの可変遅延回路1052,1053とで構成される。DQSエッジ回数検出回路112は、1つのカウンタ回路1121と、1つの比較回路1122とで構成される。"