(57)【要約】【課題】ＦＩＦＯメモリの書き込み周波数と読み出し周波数が異なる場合におけるデータ転送効率の向上を図ることができるＦＩＦＯメモリ制御装置を提供する。【解決手段】Ｗｈ（書き込み周波数）≧Ｒｈ（読み出し周波数）データの場合には、ＦＩＦＯメモリ１１のデータ格納量＞０を条件に読み出し開始を許可する。Ｗｈ＜Ｒｈの場合には、ＦＩＦＯメモリ１１のデータ格納量＞｛Ｒｓ（現在の読み出しデータサイズ）×（１−Ｗｈ／Ｒｈ）｝を条件に読み出し開始を許可する。Ｗｈ≦Ｒｈの場合には、ＦＩＦＯメモリ１１の空き容量＞｛Ｗｓ（現在の書き込みデータサイズ）−Ｒｓ｝を条件に書き込み開始を許可する。Ｗｈ＞Ｒｈの場合には、ＦＩＦＯメモリ１１の空き容量＞｛Ｗｓ×（１−Ｒｈ／Ｗｈ）｝、かつ、ＦＩＦＯメモリ１１の空き容量＞｛Ｗｓ−Ｒｓ｝を条件に書き込み開始を許可する。【選択図】図１
2008217638.tif 000002
【特許請求の範囲】
【請求項１】
ＦＩＦＯメモリからの読み出し開始を制御する読み出し開始制御部を備え、
前記読み出し開始制御部は、読み出し周波数が書き込み周波数より高い場合に、前記ＦＩＦＯメモリへの一定サイズのデータの書き込みが終了する前に前記ＦＩＦＯメモリから前記データの読み出しを開始しても、前記データの連続読み出しが可能なタイミングを判定し、前記タイミングで前記ＦＩＦＯメモリからの前記データの読み出し開始を許可すること
を特徴とするＦＩＦＯメモリ制御装置。
【請求項２】
前記読み出し開始制御部は、
前記ＦＩＦＯメモリに与える書き込みポインタと読み出しポインタとの差分から前記ＦＩＦＯメモリのデータ格納量を算出するデータ格納量算出回路と、
前記データ格納量と０とを比較し、前記データ格納量が０よりも大きい場合には活性レベルとし、それ以外の場合には非活性レベルとする第１の読み出し開始許可信号を出力する第１の比較回路と、
前記データ格納量と｛前記データのサイズ×（１−前記書き込み周波数／前記読み出し周波数）｝とを比較し、前記データ格納量が｛前記データのサイズ×（１−前記書き込み周波数／前記読み出し周波数）｝よりも大きい場合には活性レベルとし、それ以外の場合には非活性レベルとする第２の読み出し開始許可信号を出力する第２の比較回路と、
前記読み出し周波数が前記書き込み周波数以下の場合には前記第１の読み出し開始許可信号を前記ＦＩＦＯメモリの読み出し回路に与え、前記読み出し周波数が前記書き込み周波数よりも高い場合には前記第２の読み出し開始許可信号を前記読み出し回路に与える選択回路を備えること
を特徴とする請求項１に記載のＦＩＦＯメモリ制御装置。
【請求項３】
ＦＩＦＯメモリへの書き込み開始を制御する書き込み開始制御部を備え、
前記書き込み開始制御部は、書き込み周波数が読み出し周波数より高い場合に、前記ＦＩＦＯメモリに一定サイズの空き容量ができる前に前記ＦＩＦＯメモリへの前記一定サイズのデータの書き込みを開始しても、前記データの連続書き込みが可能なタイミングを判定し、前記タイミングで前記ＦＩＦＯメモリへの前記データの書き込み開始を許可すること
を特徴とするＦＩＦＯメモリ制御装置。
【請求項４】
前記書き込み開始制御部は、
前記ＦＩＦＯメモリに与える書き込みポインタと読み出しポインタとの差分から前記ＦＩＦＯメモリの空き容量を算出するメモリ空き容量算出回路と、
前記空き容量と｛現在の書き込みデータサイズ−現在の読み出しデータサイズ｝とを比較し、前記空き容量が｛前記現在の書き込みデータサイズ−前記現在の読み出しデータサイズ｝よりも大きい場合には活性レベルとし、それ以外の場合には非活性レベルとする第１の書き込み開始許可信号を出力する第１の比較回路と、
前記空き容量と｛前記現在の書き込みデータサイズ×（１−前記読み出し周波数／前記書き込み周波数）｝とを比較し、前記空き容量が｛前記現在の書き込みデータサイズ×（１−前記読み出し周波数／前記書き込み周波数）｝よりも大きい場合には活性レベルとし、それ以外の場合には非活性レベルとする第２の書き込み開始許可信号を出力する第２の比較回路と、
前記第１の書き込み開始許可信号と前記第２の書き込み開始許可信号とを論理積処理して第３の書き込み開始許可信号を出力する論理積回路と、
前記書き込み周波数が前記読み出し周波数以下の場合には前記第１の書き込み開始許可信号を前記ＦＩＦＯメモリの書き込み回路に与え、前記書き込み周波数が前記読み出し周波数よりも高い場合には前記第３の書き込み開始許可信号を前記書き込み回路に与える選択回路を備えること
を特徴とする請求項３に記載のＦＩＦＯメモリ制御装置。
【請求項５】
ＦＩＦＯメモリからの読み出し開始を制御する読み出し開始制御工程を含み、
前記読み出し開始制御工程は、読み出し周波数が書き込み周波数より高い場合に、前記ＦＩＦＯメモリへの一定サイズのデータの書き込みが終了する前に前記ＦＩＦＯメモリから前記データの読み出しを開始しても、前記データの連続読み出しが可能なタイミングを判定し、前記タイミングで前記ＦＩＦＯメモリからの前記データの読み出し開始を許可すること
を特徴とするＦＩＦＯメモリ制御方法。
【請求項６】
前記読み出し開始制御工程は、
前記ＦＩＦＯメモリに与える書き込みポインタと読み出しポインタとの差分から前記ＦＩＦＯメモリのデータ格納量を算出するデータ格納量算出工程と、
前記データ格納量と０とを比較し、前記データ格納量が０よりも大きい場合には活性レベルとし、それ以外の場合には非活性レベルとする第１の読み出し開始許可信号を出力する第１の比較工程と、
前記データ格納量と｛前記データのサイズ×（１−前記書き込み周波数／前記読み出し周波数）｝とを比較し、前記データ格納量が｛前記データのサイズ×（１−前記書き込み周波数／前記読み出し周波数）｝よりも大きい場合には活性レベルとし、それ以外の場合には非活性レベルとする第２の読み出し開始許可信号を出力する第２の比較工程と、
前記読み出し周波数が前記書き込み周波数以下の場合には前記第１の読み出し開始許可信号を前記ＦＩＦＯメモリの読み出し回路に与え、前記読み出し周波数が前記書き込み周波数よりも高い場合には前記第２の読み出し開始許可信号を前記読み出し回路に与える選択工程を含むこと
を特徴とする請求項５に記載のＦＩＦＯメモリ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ転送装置などに使用されるＦＩＦＯ（first-in first-out）メモリの書き込み／読み出し制御を行うＦＩＦＯメモリ制御装置及びＦＩＦＯメモリ制御方法に関する。
【背景技術】
【０００２】
図１０はＦＩＦＯメモリを使用する従来のデータ転送装置の一例の要部を示すブロック回路図である。図１０中、１は書き込み及び読み出しを並行して行うことができるＲＡＭからなるＦＩＦＯメモリである。
【０００３】
２はＦＩＦＯメモリ１に対して書き込みアドレスの位置を示す書き込みポインタを出力する書き込みポインタ回路であり、書き込みポインタをＦＩＦＯメモリ１の先頭アドレスから最終アドレスに向けて順に１ずつインクリメントする動作を循環的に繰り返して行うものである。なお、書き込みポインタのインクリメントは、書き込みクロックに同期して行われる。
【０００４】
３はＦＩＦＯメモリ１に対して読み出しアドレスの位置を示す読み出しポインタを出力する読み出しポインタ回路であり、読み出しポインタをＦＩＦＯメモリ１の先頭アドレスから最終アドレスに向けて順に１ずつインクリメントする動作を循環的に繰り返して行うものである。なお、読み出しポインタのインクリメントは、読み出しクロックに同期して行われる。
【０００５】
４は書き込みポインタ回路２が出力する書き込みポインタと読み出しポインタ回路３が出力する読み出しポインタとの差分を監視してＦＩＦＯメモリ１の書き込み／読み出し制御を行う差分監視回路である。
【０００６】
図１０に示す従来のデータ転送装置においては、書き込みデータは、書き込みポインタが示すアドレスに書き込まれる。また、読み出しポインタが示すアドレスからデータの読み出しが行われる。
【０００７】
また、差分監視回路４では、書き込みポインタと読み出しポインタとの差分が監視され、ＦＩＦＯメモリ１内のデータの枯渇／満杯が検出されると、この検出結果に基づいて、転送中のデータの書き込み／読み出しの停止制御が行われる。また、書き込みポインタと読み出しポインタとの差分に応じて転送可能なデータ長が調整され、書き込み／読み出しの開始が制御される。
【特許文献１】特開平４−２４３０８３号公報
【特許文献２】特開平９−１９８８６０号公報
【特許文献３】特開２００２−７３５３８号公報
【特許文献４】特開２００２−２５９１１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
図１０に示す従来のデータ転送装置においては、ＦＩＦＯメモリ１の書き込み速度と読み出し速度が異なる場合、すなわち、ＦＩＦＯメモリ１の書き込み周波数と読み出し周波数が異なる場合において、データ転送中に分割できないデータのＦＩＦＯメモリ１からの読み出し又はＦＩＦＯメモリ１への書き込みを行う場合に問題が発生する場合がある。
【０００９】
たとえば、読み出し周波数が書き込み周波数より高い場合に、データ転送中に分割できないデータをＦＩＦＯメモリ１から読み出す場合、読み出しポインタが書き込みポインタに追いついてしまい、データ転送中に分割できないデータのＦＩＦＯメモリ１からの読み出し終了前に、ＦＩＦＯメモリ１内がデータ枯渇状態になってしまうという事態が発生する場合がある。
【００１０】
このような事態が発生すると、データ転送中に分割できないデータのＦＩＦＯメモリ１からの読み出し途中で読み出しが停止されてしまい、データ転送中に分割できないデータのデータ転送中における分割という事態が発生してしまう。
【００１１】
このような事態を回避するためには、データ転送中に分割できないデータの書き込みが終了してから、このデータの読み出しを開始する必要がある。しかしながら、このようにすると、早いタイミングでのＦＩＦＯ１からの読み出し開始を行うことができず、データ転送効率の向上を図ることができないという問題が発生する。
【００１２】
また、書き込み周波数が読み出し周波数よりも高い場合に、データ転送中に分割できないデータをＦＩＦＯメモリ１に書き込む場合、書き込みポインタが読み出しポインタに追いついてしまい、データ転送中に分割できないデータのＦＩＦＯメモリ１への書き込みが終了する前に、ＦＩＦＯ１内がデータ満杯状態になってしまうという事態が発生する場合がある。
【００１３】
このような事態が発生すると、データ転送中に分割できないデータのＦＩＦＯメモリ１への書き込み途中で書き込みが停止されてしまい、データ転送中に分割できないデータのデータ転送中における分割という事態が発生してしまう。
【００１４】
このような事態を回避するためには、ＦＩＦＯメモリ１にデータ転送中に分割できないデータのサイズ分の空き容量が確保できてから、データ転送中に分割できないデータの書き込みを開始する必要がある。しかしながら、このようにすると、早いタイミングでのＦＩＦＯメモリ１への書き込み開始を行うことができず、データ転送効率の向上を図ることができないという問題が発生する。
【００１５】
本発明は、かかる点に鑑み、ＦＩＦＯメモリの書き込み周波数と読み出し周波数が異なる場合におけるデータ転送効率の向上を図ることができるようにしたＦＩＦＯメモリ制御装置及びＦＩＦＯメモリ制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１６】
本発明中、第１の発明は、ＦＩＦＯメモリ制御装置であり、ＦＩＦＯメモリからの読み出し開始を制御する読み出し開始制御部を備え、前記読み出し開始制御部は、読み出し周波数が書き込み周波数より高い場合に、前記ＦＩＦＯメモリへの一定サイズのデータの書き込みが終了する前に前記ＦＩＦＯメモリから前記データの読み出しを開始しても、前記データの連続読み出しが可能なタイミングを判定し、前記タイミングで前記ＦＩＦＯメモリからの前記データの読み出し開始を許可することを特徴とするものである。
【００１７】
本発明中、第２の発明は、ＦＩＦＯメモリ制御装置であり、ＦＩＦＯメモリへの書き込み開始を制御する書き込み開始制御部を備え、前記書き込み開始制御部は、書き込み周波数が読み出し周波数より高い場合に、前記ＦＩＦＯメモリに一定サイズの空き容量ができる前に前記ＦＩＦＯメモリへの前記一定サイズのデータの書き込みを開始しても、前記データの連続書き込みが可能なタイミングを判定し、前記タイミングで前記ＦＩＦＯメモリへの前記データの書き込み開始を許可することを特徴とするものである。
【００１８】
本発明中、第３の発明は、ＦＩＦＯメモリ制御方法の発明であり、ＦＩＦＯメモリからの読み出し開始を制御する読み出し開始制御工程を含み、前記読み出し開始制御工程は、読み出し周波数が書き込み周波数より高い場合に、前記ＦＩＦＯメモリへの一定サイズのデータの書き込みが終了する前に前記ＦＩＦＯメモリから前記データの読み出しを開始しても、前記データの連続読み出しが可能なタイミングを判定し、前記タイミングで前記ＦＩＦＯメモリからの前記データの読み出し開始を許可することを特徴とするものである。
【００１９】
本発明中、第４の発明は、ＦＩＦＯメモリ制御方法の発明であり、ＦＩＦＯメモリへの書き込み開始を制御する書き込み開始制御工程を含み、前記書き込み開始制御工程は、書き込み周波数が読み出し周波数より高い場合に、前記ＦＩＦＯメモリに一定サイズの空き容量ができる前に前記ＦＩＦＯメモリへの前記一定サイズのデータの書き込みを開始しても、前記データの連続書き込みが可能なタイミングを判定し、前記タイミングで前記ＦＩＦＯメモリへの前記データの書き込み開始を許可することを特徴とするものである。
【発明の効果】
【００２０】
本発明中、第１の発明及び第３の発明のいずれによっても、読み出し周波数が書き込み周波数より高い場合に、前記ＦＩＦＯメモリへの一定サイズのデータの書き込みが終了する前に前記ＦＩＦＯメモリから前記データの読み出しを開始しても、前記データの連続読み出しが可能なタイミングで、前記ＦＩＦＯメモリからの前記データの読み出し開始が許可される。
【００２１】
この結果、前記ＦＩＦＯメモリへの一定サイズのデータの書き込みが終了する前に前記ＦＩＦＯメモリから前記データの読み出しを開始しても、前記データの連続読み出しを行うことができる。したがって、前記ＦＩＦＯメモリの読み出し周波数が書き込み周波数より高い場合におけるデータ転送効率の向上を図ることができる。
【００２２】
本発明中、第２の発明及び第４の発明のいずれによっても、書き込み周波数が読み出し周波数より高い場合に、前記ＦＩＦＯメモリに一定サイズの空き容量ができる前に前記ＦＩＦＯメモリへの前記一定サイズのデータの書き込みを開始しても、前記データの連続書き込みが可能なタイミングで、前記ＦＩＦＯメモリへの前記データの書き込み開始が許可される。
【００２３】
この結果、前記ＦＩＦＯメモリに一定サイズの空き容量ができる前に前記ＦＩＦＯメモリへの前記一定サイズのデータの書き込みを開始しても、前記データの連続書き込みを行うことができる。したがって、前記ＦＩＦＯメモリの書き込み周波数が読み出し周波数より高い場合におけるデータ転送効率の向上を図ることができる。
【発明を実施するための最良の形態】
【００２４】
図１は本発明のＦＩＦＯメモリ制御装置の一実施形態を使用したデータ転送装置の一例の要部を示すブロック回路図である。このデータ転送装置は、１サイクルにつき１ワードを転送するものである。図１中、１１は書き込み及び読み出しを並行して行うことができるＲＡＭからなるＦＩＦＯメモリである。
【００２５】
１２はＦＩＦＯメモリ１１に対して書き込みアドレスの位置を示す書き込みポインタＷｐを出力する書き込みポインタ回路であり、書き込みポインタＷｐをＦＩＦＯメモリ１１の先頭アドレスから最終アドレスに向けて順に１ずつインクリメントする動作を循環的に繰り返して行うものである。なお、書き込みポインタＷｐのインクリメントは、周波数をＷｈ［Ｈｚ］とする書き込みクロックＷｃに同期して行われる。したがって、書き込みクロックＷｃの周波数Ｗｈが書き込み周波数となる。
【００２６】
１３はＦＩＦＯメモリ１１に対して読み出しアドレスの位置を示す読み出しポインタＲｐを出力する読み出しポインタ回路であり、読み出しポインタＲｐをＦＩＦＯメモリ１１の先頭アドレスから最終アドレスに向けて順に１ずつインクリメントする動作を循環的に繰り返して行うものである。なお、読み出しポインタＲｐのインクリメントは、周波数をＲｈ［Ｈｚ］とする読み出しクロックＲｃに同期して行われる。したがって、読み出しクロックＲｃの周波数Ｒｈが読み出し周波数となる。
【００２７】
１４は本発明のＦＩＦＯメモリ制御装置の一実施形態であり、書き込みクロックＷｃ、読み出しクロックＲｃ、書き込みデータサイズＷｓ、読み出しデータサイズＲｓ、書き込みポインタＷｐ及び読み出しポインタＲｐを入力して書き込み開始許可信号Ｗａ０及び読み出し開始許可信号Ｒａ０を出力し、ＦＩＦＯメモリ１１に対する書き込み開始タイミング及びＦＩＦＯメモリ１１からの読み出し開始タイミングを制御するものである。
【００２８】
図２は本発明のＦＩＦＯメモリ制御装置の一実施形態１４の構成を示すブロック回路図である。本発明のＦＩＦＯメモリ制御装置の一実施形態１４は、本発明のＦＩＦＯメモリ制御方法の一実施形態が実施されるものであり、読み出し開始制御部１５と、書き込み開始制御部１６と、ポインタ折り返し検出回路１７と、ポインタ折り返しフラグ１８とを備えている。
【００２９】
読み出し開始制御部１５は、読み出し開始許可信号Ｒａ０を生成し、この読み出し開始許可信号Ｒａ０をＦＩＦＯメモリ１１からデータの読み出しを行う読み出し回路（図示せず）に与えるものであり、データ格納量算出回路１９と、比較回路２０、２１と、セレクタ２２とを備えている。
【００３０】
データ格納量算出回路１９は、書き込みポインタ回路１２が出力する書き込みポインタＷｐと読み出しポインタ回路１３が出力する読み出しポインタＲｐとの差分Ｗｐ−Ｒｐから、ＦＩＦＯメモリ１１のデータ格納量を算出するものである。
【００３１】
比較回路２０は、データ格納量算出回路１９が算出したＦＩＦＯメモリ１１のデータ格納量と０とを比較し、比較結果として、読み出し開始許可信号（第１の読み出し開始許可信号）Ｒａ１を出力するものである。
【００３２】
比較回路２０は、データ格納量算出回路１９が算出したＦＩＦＯメモリ１１のデータ格納量＞０の場合には、読み出し開始許可信号Ｒａ１＝“１”（活性レベル：ＦＩＦＯメモリ１１からの読み出し開始を許可するレベル）とし、それ以外の場合には、読み出し開始許可信号Ｒａ１＝“０”（非活性レベル：ＦＩＦＯメモリ１１からの読み出し開始を不許可とするレベル）とする。
【００３３】
比較回路２１は、データ格納量算出回路１９が算出したＦＩＦＯメモリ１１のデータ格納量と、｛現在の読み出しデータサイズＲｓ×（１−書き込み周波数Ｗｈ／読み出し周波数Ｒｈ）｝とを比較し、比較結果として、読み出し開始許可信号（第２の読み出し開始許可信号）Ｒａ２を出力するものである。
【００３４】
比較回路２１は、データ格納量算出回路１９が算出したＦＩＦＯメモリ１１のデータ格納量＞｛現在の読み出しデータサイズＲｓ×（１−書き込み周波数Ｗｈ／読み出し周波数Ｒｈ）｝の場合には、読み出し開始許可信号Ｒａ２＝“１”（活性レベル：ＦＩＦＯメモリ１１からの読み出し開始を許可するレベル）とし、それ以外の場合には、読み出し開始許可信号Ｒａ２＝“０”（非活性レベル：ＦＩＦＯメモリ１１からの読み出し開始を不許可とするレベル）とする。
【００３５】
セレクタ２２は、書き込み周波数Ｗｈ≧読み出し周波数Ｒｈの場合には、比較回路２０が出力する読み出し開始許可信号Ｒａ１を選択して、この読み出し開始許可信号Ｒａ１を読み出し開始許可信号Ｒａ０として読み出し回路に与え、書き込み周波数Ｗｈ＜読み出し周波数Ｒｈの場合には、比較回路２１が出力する読み出し開始許可信号Ｒａ２を選択して、この読み出し開始許可信号Ｒａ２を読み出し開始許可信号Ｒａ０として読み出し回路に与えるものである。
【００３６】
書き込み開始制御部１６は、書き込み開始許可信号Ｗａ０を生成し、この書き込み開始許可信号Ｗａ０をＦＩＦＯメモリ１１に対してデータの書き込みを行う書き込み回路（図示せず）に与えるものであり、メモリ空き容量算出回路２３と、比較回路２４、２５と、ＡＮＤ回路２６と、セレクタ２７とを備えている。
【００３７】
メモリ空き容量算出回路２３は、読み出しポインタ回路１３が出力する読み出しポインタＲｐと書き込みポインタ回路１２が出力する書き込みポインタＷｐとの差分Ｒｐ−Ｗｐから、ＦＩＦＯメモリ１１の空き容量を算出するものである。
【００３８】
比較回路２４は、メモリ空き容量算出回路２３が算出したメモリ空き容量と、｛現在の書き込みデータサイズＷｓ−現在の読み出しデータサイズＲｓ｝とを比較し、比較結果として、書き込み開始許可信号（第１の書き込み開始許可信号）Ｗａ１を出力するものである。
【００３９】
比較回路２４は、メモリ空き容量算出回路２３が算出したメモリ空き容量＞｛現在の書き込みデータサイズＷｓ−現在の読み出しデータサイズＲｓ｝の場合には、書き込み開始許可信号Ｗａ１＝“１”（活性レベル：ＦＩＦＯメモリ１１への書き込み開始を許可するレベル）、それ以外の場合には、書き込み開始許可信号Ｗａ１＝“０”（非活性レベル：ＦＩＦＯメモリ１１への書き込み開始を不許可とするレベル）とする。なお、比較回路２４は、現在の読み出しデータサイズＲｓのデータの読み出し開始でセットされ、読み出し終了でリセットされる。
【００４０】
比較回路２５は、メモリ空き容量算出回路２３が算出したメモリ空き容量と、｛現在の書き込みデータサイズＷｓ×（１−読み出し周波数Ｒｈ／書き込み周波数Ｗｈ）｝とを比較し、比較結果として、書き込み開始許可信号（第２の書き込み開始許可信号）Ｗａ２を出力するものである。
【００４１】
比較回路２５は、メモリ空き容量算出回路２３が算出したメモリ空き容量＞｛現在の書き込みデータサイズＷｓ×（１−読み出し周波数Ｒｈ／書き込み周波数Ｗｈ）｝の場合には、書き込み開始許可信号Ｗａ２＝“１”（活性レベル：ＦＩＦＯメモリ１１への書き込み開始を許可するレベル）とし、それ以外の場合には、書き込み開始許可信号Ｗａ２＝“０”（非活性レベル：ＦＩＦＯメモリ１１への書き込み開始を不許可とするレベル）とする。
【００４２】
ＡＮＤ回路２６は、比較回路２４が出力する書き込み開始許可信号Ｗａ１と、比較回路２５が出力する書き込み開始許可信号Ｗａ２とをＡＮＤ処理して、書き込み開始許可信号（第３の書き込み開始許可信号）Ｗａ３を出力するものである。
【００４３】
セレクタ２７は、書き込み開始周波数Ｗｈ≦読み出し周波数Ｒｈの場合には、比較回路２４が出力する書き込み開始許可信号Ｗａ１を選択して、この書き込み開始許可信号Ｗａ１を書き込み開始許可信号Ｗａ０として書き込み回路に与え、書き込み周波数Ｗｈ＞読み出し周波数Ｒｈの場合には、ＡＮＤ回路２６が出力する書き込み開始許可信号Ｗａ３を選択して、この書き込み開始許可信号Ｗａ３を書き込み開始許可信号Ｗａ０として書き込み回路に与えるものである。
【００４４】
ポインタ折り返し検出回路１７は、書き込みポインタ回路１２が出力する書き込みポインタＷｐがＦＩＦＯメモリ１１の最終アドレスを折り返したか否かの検出と、読み出しポインタ回路１３が出力する読み出しポインタＲｐがＦＩＦＯメモリ１１の最終アドレスを折り返したか否かの検出を行うものである。
【００４５】
ポインタ折り返しフラグ１８は、１ビット構成のフラグであり、データ格納量算出回路１９やメモリ空き容量算出回路２３等が参照するものである。本例では、ポインタ折り返し検出回路１７は、書き込みポインタＷｐがＦＩＦＯメモリ１１の最終アドレスを折り返したことを検出したときは、ポインタ折り返しフラグ１８の値を“１”にし、その後、読み出しポインタＲｐがＦＩＦＯメモリ１１の最終アドレスを折り返したことを検出したときは、ポインタ折り返しフラグ１８の値を“０”に戻すように動作する。
【００４６】
図３はＦＩＦＯメモリ１１からのデータ読み出し動作を説明するための図であり、書き込み周波数Ｗｈ≧読み出し周波数Ｒｈの場合である。ここで、書き込み周波数Ｗｈ≧読み出し周波数Ｒｈの場合において、図３（Ａ）に示すように、書き込みポインタＷｐ＝読み出しポインタＲｐの状態にある場合には、ＦＩＦＯメモリ１１のデータ格納量は０であるから、ＦＩＦＯメモリ１１からの読み出しを開始することはできない。
【００４７】
これに対して、図３（Ｂ）に示すように、｛書き込みポインタＷｐ−読み出しポインタＲｐ｝＞０、すなわち、ＦＩＦＯメモリ１１のデータ格納量＞０の場合には、ＦＩＦＯメモリ１１からのデータの読み出しが可能である。
【００４８】
そこで、本発明のＦＩＦＯメモリ制御装置の一実施形態１４では、書き込み周波数Ｗｈ≧読み出し周波数Ｒｈの場合、セレクタ２２は、比較回路２０が出力する読み出し開始許可信号Ｒａ１を選択し、この読み出し開始許可信号Ｒａ１を読み出し開始許可信号Ｒａ０として読み出し回路に与えるように動作し、データ格納量算出回路１９が算出したＦＩＦＯメモリ１１のデータ格納量＞０の場合には、読み出し開始許可信号Ｒａ０＝“１”となり、それ以外の場合には、読み出し開始許可信号Ｒａ０＝“０”となるようにしている。
【００４９】
図４はＦＩＦＯメモリ１１からのデータ読み出し動作を説明するためのタイミングチャートであり、書き込み周波数Ｗｈ／読み出し周波数Ｒｈ＝１／２、現在の読み出しデータサイズＲｓ＝８ワードの場合である。
【００５０】
この場合、図４（Ａ）に示すように、たとえば、時刻Ｔ０で、データサイズＲｓのデータＤ１〜Ｄ８のＦＩＦＯメモリ１１への書き込みを開始し、時刻Ｔ１で、ＦＩＦＯメモリ１１からデータＤ１〜Ｄ８の読み出しを開始した場合には、データＤ３の書き込みサイクル中にデータＤ３の読み出しが開始されてしまい、すなわち、データＤ３のＦＩＦＯメモリ１１への書き込みが終了する前にデータＤ３のＦＩＦＯメモリ１１からの読み出しが開始されてしまい、空読みが起こり、ＦＩＦＯメモリ１１からのデータＤ１〜Ｄ８の連続した読み出しが不可能となる。
【００５１】
これに対して、たとえば、図４（Ｂ）に示すように、時刻Ｔ０で、データＤ１〜Ｄ８のＦＩＦＯメモリ１１への書き込みを開始し、時刻Ｔ２で、ＦＩＦＯメモリ１１からデータＤ１〜Ｄ８の読み出しを開始した場合には、データＤ８のＦＩＦＯメモリ１１への書き込み終了後、データＤ８のＦＩＦＯメモリ１１からの読み出しを行うことができ、ＦＩＦＯメモリ１１からのデータＤ１〜Ｄ８の連続した読み出しを行うことができる。
【００５２】
このように、書き込み周波数Ｗｈ＜読み出し周波数Ｒｈの場合において、現在の読み出しデータサイズがＲｓの場合には、現在の読み出しデータサイズがＲｓのデータのＦＩＦＯメモリ１１からの読み出しが終了するまでは、空読みを避けるために、読み出しポインタＲｐが書き込みポインタＷｐを追い越さないように制御する必要がある。
【００５３】
ここで、読み出し周波数Ｒｈに対する書き込み周波数Ｗｈの割合は、｛Ｗｈ／Ｒｈ｝で表せる。これは、任意の時間での、読み出しサイクル数に対する書き込みサイクル数の割合と同様であるから、任意の時間での、読み出しサイクル数に対する書き込みサイクル数の割合も、｛Ｗｈ／Ｒｈ｝で表せる。
【００５４】
そこで、読み出しクロックＲｃの１サイクルにつき、読み出しポインタＲｐを１だけインクリメントし、書き込みクロックＷｃの１サイクルにつき、書き込みポインタＷｐを１だけインクリメントするとした場合、読み出しクロックＲｃの１サイクルについての書き込みポインタＷｐのインクリメント量は、１×｛Ｗｈ／Ｒｈ｝と表せる。
【００５５】
したがって、読み出しクロックＲｃの１サイクル分での読み出しポインタＲｐ（ｒ１）と書き込みポインタＷｐ（ｒ１）との差分は、数１で表すことができる。
【００５６】
【数１】
2008217638.tif 000003
【００５７】
したがって、また、読み出しクロックＲｃのＴｎサイクル分での読み出しポインタＲｐ（ｒＴｎ）と書き込みポインタＷｐ（ｒＴn）との差分は、数２で表せる。
【００５８】
【数２】
2008217638.tif 000004
【００５９】
ここで、数２に示す式の両辺の単位を、サイクルからデータ量に変更することは可能であり、本例では、１サイクルにつき１ワードを転送するとしているので、サイクルの差分はデータ量の差分となる。したがって、数２に示す式は、数３に示す式に変換することができる。
【００６０】
【数３】
2008217638.tif 000005
【００６１】
このように、ＦＩＦＯメモリ１１から現在の読み出しデータサイズＲｓのデータを読み出す間に、読み出しポインタＲｐと書き込みポインタＷｐとの差分は、数３に示すようになるので、読み出しポインタＲｐが書き込みポインタＷｐを追い越さないようにするためには、ＦＩＦＯメモリ１１のデータ格納量が数４に示す式を満足するようになってから、読み出しを開始すれば良いことになる。
【００６２】
【数４】
2008217638.tif 000006
【００６３】
すなわち、ＦＩＦＯメモリ１１のデータ格納量が数４に示す式を満足するようになってから、現在の読み出しデータサイズＲｓのデータのＦＩＦＯメモリ１１からの読み出しを開始すれば、読み出しポインタＲｐが書き込みポインタＷｐを追い越すことはなく、現在の読み出しデータサイズＲｓのデータをＦＩＦＯメモリ１１から連続して読み出すことができる。
【００６４】
そこで、本発明のＦＩＦＯメモリ制御装置の一実施形態１４では、書き込み周波数Ｗｈ＜読み出し周波数Ｒｈの場合、セレクタ２２は、比較回路２１が出力する読み出し開始許可信号Ｒａ２を選択し、この読み出し開始許可信号Ｒａ２を読み出し開始許可信号Ｒａ０として読み出し回路に与えるように動作し、データ格納量算出回路１９が算出したＦＩＦＯメモリ１１のデータ格納量＞｛現在の読み出しデータサイズＲｓ×（１−書き込み周波数Ｗｈ／読み出し周波数Ｒｈ）｝の場合には、読み出し開始許可信号Ｒａ０＝“１”となり、それ以外の場合には、読み出し開始許可信号Ｒａ０＝“０”となるとしている。
【００６５】
図５はＦＩＦＯメモリ１１からのデータ読み出し動作例を示すタイミングチャートであり、書き込み周波数Ｗｈ／読み出し周波数Ｒｈ＝１／２、現在の読み出しデータサイズＲｓ＝ｎワードの場合である。
【００６６】
この場合、セレクタ２２は、比較回路２１が出力する読み出し開始許可信号Ｒａ１を選択するが、｛現在の読み出しデータサイズＲｓ×（１−書き込み周波数Ｗｈ／読み出し周波数Ｒｈ｝＝｛ｎ×（１−１／２）｝＝ｎ／２となるので、比較回路２１は、データ格納量算出回路１９が出力するＦＩＦＯメモリ１１のデータ格納量が０〜ｎ／２ワードの間は、読み出し開始許可信号Ｒａ２＝“０”とし、データ格納量算出回路１９が出力するデータ格納量がｎ／２ワードを越えると、読み出し開始許可信号Ｒａ２＝“１”とする。
【００６７】
この結果、時刻Ｔ０で、ＦＩＦＯメモリ１１へのデータＤ１〜Ｄｎの書き込みが開始されると、時刻Ｔ１で、ＦＩＦＯメモリ１１にｎ／２ワードのデータＤ１〜Ｄｎ／２が格納されることになるので、時刻Ｔ２がデータ格納量＞ｎ／２を満足するタイミング（ＦＩＦＯメモリ１１からのデータＤ１〜Ｄｎの読み出し開始タイミング）となり、時刻Ｔ３が読み出し終了タイミングとなる。すなわち、データＤ１〜ＤｎのＦＩＦＯメモリ１１への書き込み終了直後に、データＤ１〜ＤｎのＦＩＦＯメモリ１１からの読み出しが終了することになる。
【００６８】
図６はＦＩＦＯメモリ１１へのデータ書き込み動作を説明するための図であり、書き込み周波数Ｗｈ≦読み出し周波数Ｒｈの場合、現在の書き込みデータサイズＷｓ＝５ワードの場合である。
【００６９】
ここで、書き込み周波数Ｗｈ≦読み出し周波数Ｒｈの場合において、図６（Ａ）に示すように、たとえば、書き込みポインタＷｐ＝ｍ、読み出しポインタＲｐ＝ｍ＋２で、現在の書き込みデータサイズＷｓ＝５ワード、現在の読み出しデータサイズＲｓ＝２ワードの場合には、ＦＩＦＯメモリ１１からの読み出し及びＦＩＦＯメモリ１１への書き込みを同時に開始すると、２ワードの読み出しが終了した時点で、メモリ空き容量は４ワード分となり、５ワード目の書き込みデータは、既存データに上書きをすることになってしまう。したがって、図６（Ａ）に示す状態では、ＦＩＦＯメモリ１１からの読み出し及びＦＩＦＯメモリ１１への書き込みを同時に開始することはできない。
【００７０】
これに対して、図６（Ｂ）に示すように、たとえば、書き込みポインタＷｐ＝ｍ、読み出しポインタＲｐ＝ｍ＋２で、現在の書き込みデータサイズＷｓ＝５ワード、現在の読み出しデータサイズＲｓ＝４ワードの場合には、ＦＩＦＯメモリ１１からの読み出し及びＦＩＦＯメモリ１１への書き込みを同時に開始しても、４ワードの読み出しが終了した時点で、メモリ空き容量は６ワード分となるので、既存データに対する書き込みデータの上書きの問題は発生しない。
【００７１】
そこで、本発明のＦＩＦＯメモリ制御装置の一実施形態１４では、書き込み周波数Ｗｈ≦読み出し周波数Ｒｈの場合、セレクタ２７は、比較回路２４が出力する書き込み開始許可信号Ｗａ１を選択し、この書き込み開始許可信号Ｗａ１を書き込み開始許可信号Ｗａ０として、書き込み回路に与えるように動作するようにし、メモリ空き容量算出回路２３が算出したメモリ空き容量＞｛現在の書き込みデータサイズＷｓ−現在の読み出しデータサイズＲｓ｝の場合には、書き込み開始許可信号Ｗａ０＝“１”となり、それ以外の場合には、書き込み開始許可信号Ｗａ０＝“０”となるようにしている。
【００７２】
図７はＦＩＦＯメモリ１１へのデータ書き込み動作を説明するためのタイミングチャートであり、読み出し周波数Ｒｈ／書き込み周波数Ｗｈ＝１／２、メモリ空き容量＝０、現在の書き込みデータサイズＷｓ＝８ワード、現在の読み出しデータサイズＲｓ＝８ワードの場合である。
【００７３】
この場合、たとえば、図７（Ａ）に示すように、時刻Ｔ０で、ＦＩＦＯメモリ１１からデータＮ１〜Ｎ８の読み出しを開始し、時刻Ｔ１で、データＤ１〜Ｄ８のＦＩＦＯメモリ１１への書き込みを開始した場合には、データＮ３の読み出しサイクル中にデータＤ３の書き込みが開始されてしまい、書き込みデータの上書きが発生してしまう。したがって、この例では、データサイズＷｓ＝８ワードの書き込みデータＤ１〜Ｄ８をＦＩＦＯメモリ１１に連続して書き込むことができないことになる。
【００７４】
これに対して、図７（Ｂ）に示すように、たとえば、時刻Ｔ０で、ＦＩＦＯメモリ１１からデータＮ１〜Ｎ８の読み出しを開始し、時刻Ｔ３で、データＤ１〜ＤｎのＦＩＦＯメモリ１１への書き込みを開始した場合には、ＦＩＦＯメモリ１１からのデータＮ８の読み出し後に、データＤ８の書き込みを行うことができ、既存データに対する書き込みデータの上書きの問題は発生しない。
【００７５】
このように、書き込み周波数Ｗｈ＞読み出し周波数Ｒｈの場合において、現在の書き込みデータサイズがＷｓの場合には、現在の書き込みデータサイズがＷｓのデータの書き込みが終了するまでは、書き込みデータの既存データへの上書きを避けるために、書き込みポインタＷｐが読み出しポインタＲｐを追い越してはならない。
【００７６】
ここで、書き込み周波数Ｗｈに対する読み出し周波数Ｒｈの割合は、｛Ｒｈ／Ｗｈ｝で表せる。これは、任意の時間での、書き込みサイクル数に対する読み出しサイクル数の割合と同義であるから、任意の時間での、書き込みサイクル数に対する読み出しサイクル数の割合も、｛Ｒｈ／Ｗｈ｝で表せる。
【００７７】
そこで、書き込みクロックＷｃの１サイクルにつき、書き込みポインタＷｐを１だけインクリメントし、読み出しクロックＲｃの１サイクルにつき、読み出しポインタＲｐを１だけインクリメントするとした場合、書き込みクロックＷｃの１サイクルについての読み出しポインタＲｐのインクリメント量は、１×｛Ｒｈ／Ｗｈ｝と表せる。
【００７８】
したがって、書き込みクロックＷｃの１サイクル分での書き込みポインタＷｐ（ｗ１）と読み出しポインタＲｐ（ｗ１）との差分は、数５で表すことができる。
【００７９】
【数５】
2008217638.tif 000007
【００８０】
したがって、また、書き込みクロックＷｃのＴｎサイクル分での書き込みポインタＷｐ（ｗＴｎ）と読み出しポインタＲｐ（ｗＴn）との差分は、数６で表せる。
【００８１】
【数６】
2008217638.tif 000008
【００８２】
ここで、数６に示す式の両辺の単位をサイクルからデータ量に変更することは可能であり、本例では、１サイクルにつき１ワードを転送するとしているので、サイクルの差分はデータ量の差分となる。したがって、数６に示す式は、数７に示す式に変換することができる。
【００８３】
【数７】
2008217638.tif 000009
【００８４】
このように、ＦＩＦＯメモリ１１に現在の書き込みデータサイズＷｓのデータをＦＩＦＯメモリ１１に書き込む間に、書き込みポインタＷｐと読み出しポインタＲｐとの差分は、数７に示すようになるので、書き込みポインタＷｐが読み出しポインタＲｐを追い越さないためには、ＦＩＦＯメモリ１１の空き容量が数８に示す式を満足するようになってから、書き込みを開始すれば良いことになる。
【００８５】
【数８】
2008217638.tif 000010
【００８６】
すなわち、ＦＩＦＯメモリ１１の空き容量が数８に示す式を満たすようになってから、現在の書き込みデータサイズＷｓのＦＩＦＯメモリ１１への書き込みを開始すれば、書き込みポインタＷｐが読み出しポインタＲｐを追い越すことはなく、現在の書き込みデータサイズＷｓのデータをＦＩＦＯメモリ１１に連続して書き込むことができる。
【００８７】
但し、ＦＩＦＯメモリ１１の空き容量が現在の書き込みデータサイズＷｓ分に達するためには、読み出しポインタＲｐが書き込みデータサイズＷｓ分までインクリメントされる必要があるため、数９に示す式も条件として必要となる。
【００８８】
そこで、本発明のＦＩＦＯメモリ制御装置の一実施形態１４では、書き込み周波数Ｗｈ＞読み出し周波数Ｒｈの場合、セレクタ２７は、ＡＮＤ回路２６が出力する書き込み開始許可信号Ｗａ３を選択し、この書き込み開始許可信号Ｗａ３を書き込み開始許可信号Ｗａ０として書き込み回路に与えるように動作するようにし、メモリ空き容量算出回路２３が算出したメモリ空き容量＞｛現在の書き込みデータサイズＷｓ×（１−読み出し周波数Ｒｈ／書き込み周波数Ｗｈ）｝、かつ、メモリ空き容量算出回路２３が算出したメモリ空き容量＞｛現在の書き込みデータサイズＷｓ−現在の読み出しデータサイズＲｓ｝の場合には、書き込み開始許可信号Ｗａ０＝“１”となり、それ以外の場合には、書き込み開始許可信号Ｗａ０＝“０”となるようにしている。
【００８９】
【数９】
2008217638.tif 000011
【００９０】
図８及び図９は図１に示すデータ転送装置におけるＦＩＦＯメモリ１１へのデータ書き込み動作例を示すタイミングチャートであり、読み出し周波数Ｒｈ／書き込み周波数Ｗｈ＝１／２、現在の書き込みデータサイズＷｓ＝１６ワードの場合である。
【００９１】
この例の場合、書き込み周波数Ｗｈ＞読み出し周波数Ｒｈであるから、セレクタ２７は、ＡＮＤ回路２６が出力する書き込み開始許可信号Ｗａ３を選択し、この書き込み開始許可信号Ｗａ３を書き込み開始許可信号Ｗａ０として書き込み回路に与えることになる。
【００９２】
ここで、図８（Ａ）に示すように、たとえば、時刻Ｔ０で、書き込みポインタＷｐ＝ｍ、読み出しポインタＲｐ＝ｍ＋３、現在の読み出しデータサイズＲｓ＝３とする。この場合、メモリ空き容量＝３、{現在の書き込みデータサイズＷｓ−現在の読み出しデータサイズＲｓ｝＝１６−３＝１３となるので、数９を満たさず、書き込み開始許可信号Ｗａ１＝“０”、書き込み開始許可信号Ｗａ３＝“０”、書き込み開始許可信号Ｗａ０＝“０”となり、ＦＩＦＯメモリ１１への書き込み開始は不許可とされる。
【００９３】
他方、セレクタ２２は、書き込み周波数Ｗｈ＞読み出し周波数Ｒｈであるから、比較回路２０が出力する読み出し開始許可信号Ｒａ１を選択することになるが、ＦＩＦＯメモリ１１のデータ格納量＞０であるから、読み出し開始許可信号Ｒａ１＝“１”、読み出し開始許可信号Ｒａ０＝“１”となり、ＦＩＦＯメモリ１１からの現在の読み出しデータサイズＲｓ＝３のデータＮ３〜Ｎ６の読み出しが許可される。
【００９４】
その後、図８（Ａ）に示す現在の読み出しデータサイズＲｓ＝３の読み出しが終了し、図８（Ｂ）に示すように、時刻Ｔ１で、新たに現在の読み出しデータサイズＲｓが１１になったとすると、この場合には、メモリ空き容量＝６、{現在の書き込みデータサイズＷｓ−現在の読み出しデータサイズＲｓ｝＝１６−１１＝５となり、数９を満たすことになるので、書き込み開始許可信号Ｗａ１＝“１”となる。
【００９５】
ところが、{現在の書き込みデータサイズＷｓ×（１−読み出し周波数Ｒｈ／書き込み周波数Ｗｈ）｝＝１６×（１−１／２）＝８となり、メモリ空き容量＝６であるから、数９を満たさない。したがって、この場合、書き込み開始許可信号Ｗａ２＝“０”、書き込み開始許可信号Ｗａ３＝“０”となり、ＦＩＦＯメモリ１１への書き込み開始は不許可とされる。
【００９６】
他方、セレクタ２２は、書き込み周波数Ｗｈ＞読み出し周波数Ｒｈであるから、比較回路２０が出力する読み出し開始許可信号Ｒａ１を選択することになるが、ＦＩＦＯメモリ１１のデータ格納量＞０であるから、読み出し開始許可信号Ｒａ１＝“１”、読み出し開始許可信号Ｒａ０＝“１”となり、ＦＩＦＯメモリ１１からの現在の読み出しデータサイズＲｓ＝１１のデータの読み出しが許可される。
【００９７】
その後、図９に示すように、時刻Ｔ２になると、メモリ空き容量＝８になるので、時刻Ｔ３が数８を満足するタイミングとなり、書き込み開始許可信号Ｗａ２＝“１”となる。他方、書き込み開始許可信号Ｗａ１は既に“１”となっているので、書き込み開始許可信号Ｗａ３＝“１”、書き込み開始許可信号Ｗａ０＝“１”となり、時刻Ｔ３で、ＦＩＦＯメモリ１１へのデータＤ１〜Ｄｎの書き込み開始が許可される。この結果、時刻Ｔ４が書き込み終了タイミングとなる。
【００９８】
以上のように、本発明のＦＩＦＯメモリ制御装置の一実施形態１４においては、読み出し開始制御部１５を設け、この読み出し開始制御部１５をデータ格納量算出回路１９と、比較回路２０、２１と、セレクタ２２とで構成し、書き込み周波数Ｗｈ≧読み出し周波数Ｒｈの場合において、ＦＩＦＯメモリ１１のデータ格納量＞０の場合には、ＦＩＦＯメモリ１１からのデータの読み出し開始を許可し、それ以外の場合には、ＦＩＦＯメモリ１１からのデータの読み出し開始を不許可としている。
【００９９】
また、書き込み周波数Ｗｈ＜読み出し周波数Ｒｈの場合において、ＦＩＦＯメモリ１１のデータ格納量＞｛現在の読み出しデータサイズＲｓ×（１−書き込み周波数Ｗｈ／読み出し周波数Ｒｈ）｝の場合には、ＦＩＦＯメモリ１１からのデータの読み出し開始を許可し、それ以外の場合には、ＦＩＦＯメモリ１１からのデータの読み出しを不許可としている。
【０１００】
また、書き込み開始制御部１６を設け、この書き込み開始制御部１６をメモリ空き容量算出回路２３と、比較回路２４、２５と、ＡＮＤ回路２６と、セレクタ２７とで構成し、書き込み周波数Ｗｈ≦読み出し周波数Ｒｈの場合において、ＦＩＦＯメモリ１１の空き容量＞｛現在の書き込みデータサイズＷｓ−現在の読み出しデータサイズＲｓ｝の場合には、ＦＩＦＯメモリ１１へのデータの書き込み開始を許可し、それ以外の場合には、ＦＩＦＯメモリ１１へのデータの書き込み開始を不許可としている。
【０１０１】
また、書き込み周波数Ｗｈ＞読み出し周波数Ｒｈの場合において、ＦＩＦＯメモリ１１の空き容量＞｛現在の書き込みデータサイズＷｓ×（１−読み出し周波数Ｒｈ／書き込み周波数Ｗｈ）｝、かつ、ＦＩＦＯメモリ１１の空き容量＞｛現在の書き込みデータサイズＷｓ−現在の読み出しデータサイズＲｓ｝の場合には、ＦＩＦＯメモリ１１へのデータの書き込み開始を許可し、それ以外の場合には、ＦＩＦＯメモリ１１へのデータの書き込み開始を不許可としている。
【０１０２】
この結果、読み出し周波数Ｒｈが書き込み周波数Ｗｈより高い場合に、ＦＩＦＯメモリ１１への一定サイズのデータＤ１〜Ｄｎの書き込みが終了する前にＦＩＦＯメモリ１１からデータの読み出しを開始しても、データＤ１〜Ｄｎの連続読み出しが可能なタイミングで、ＦＩＦＯメモリ１１からデータＤ１〜Ｄｎの読み出しが許可されることになる。
【０１０３】
したがって、ＦＩＦＯメモリ１１へのデータＤ１〜Ｄｎの書き込みが終了する前にＦＩＦＯメモリ１１からのデータＤ１〜Ｄｎの読み出しを開始しても、データＤ１〜Ｄｎの分割を行うことなしに空読みを防いで、データＤ１〜Ｄｎの連続読み出しを行うことができ、ＦＩＦＯメモリ１１の読み出し周波数Ｒｈが書き込み周波数Ｗｈより高い場合におけるデータ転送効率の向上を図ることができる。
【０１０４】
また、書き込み周波数Ｗｈが読み出し周波数Ｒｈより高い場合に、ＦＩＦＯメモリ１１に一定サイズ（ｎワード）の空き容量ができる前にＦＩＦＯメモリ１１への一定サイズのデータＤ１〜Ｄｎの書き込みを開始しても、データＤ１〜Ｄｎの連続書き込みが可能なタイミングで、ＦＩＦＯメモリ１１へのデータＤ１〜Ｄｎの書き込み開始が許可される。
【０１０５】
したがって、ＦＩＦＯメモリ１１に一定サイズ（ｎワード）の空き容量ができる前にＦＩＦＯメモリ１１へのデータＤ１〜Ｄｎの書き込みを開始しても、データＤ１〜Ｄｎの分割を行うことなしに上書きを防いで、データＤ１〜Ｄｎの連続書き込みを行うことができ、ＦＩＦＯメモリ１１の書き込み周波数Ｗｈが読み出し周波数Ｒｈより高い場合におけるデータ転送効率の向上を図ることができる。
【図面の簡単な説明】
【０１０６】
【図１】本発明のＦＩＦＯメモリ制御装置の一実施形態を使用したデータ転送装置の一例の要部を示すブロック回路図である。
【図２】本発明のＦＩＦＯメモリ制御装置の一実施形態の構成を示すブロック回路図である。
【図３】図１に示すデータ転送装置が備えるＦＩＦＯメモリからのデータ読み出し動作を説明するための図である。
【図４】図１に示すデータ転送装置が備えるＦＩＦＯメモリからのデータ読み出し動作を説明するためのタイミングチャートである。
【図５】図１に示すデータ転送装置におけるＦＩＦＯメモリ１１からのデータ読み出し動作例を示すタイミングチャートである。
【図６】図１に示すデータ転送装置が備えるＦＩＦＯメモリへのデータ書き込み動作を説明するための図である。
【図７】図１に示すデータ転送装置が備えるＦＩＦＯメモリへのデータ書き込み動作を説明するためのタイミングチャートである。
【図８】図１に示すデータ転送装置におけるＦＩＦＯメモリ１１へのデータ書き込み動作例を示すタイミングチャートである。
【図９】図１に示すデータ転送装置におけるＦＩＦＯメモリ１１へのデータ書き込み動作例を示すタイミングチャートである。
【図１０】ＦＩＦＯメモリを使用する従来のデータ転送装置の一例の要部を示すブロック回路図である。
【符号の説明】
【０１０７】
１…ＦＩＦＯメモリ
２…書き込みポインタ回路
３…読み出しポインタ回路
４…差分監視回路
１１…ＦＩＦＯメモリ
１２…書き込みポインタ回路
１３…読み出しポインタ回路
１４…ＦＩＦＯメモリ制御装置（本発明のＦＩＦＯメモリ制御装置の一実施形態）
１５…読み出し開始制御部
１６…書き込み開始制御部
１７…ポインタ折り返し検出回路
１８…ポインタ折り返しフラグ
１９…データ格納量算出回路
２０、２１…比較回路
２２…セレクタ
２３…メモリ空き容量算出回路
２４、２５…比較回路
２６…ＡＮＤ回路
２７…セレクタ
【図１】
2008217638.tif 000012
【図２】
2008217638.tif 000013
【図３】
2008217638.tif 000014
【図４】
2008217638.tif 000015
【図５】
2008217638.tif 000016
【図６】
2008217638.tif 000017
【図７】
2008217638.tif 000018
【図８】
2008217638.tif 000019
【図９】
2008217638.tif 000020
【図１０】
2008217638.tif 000021