JP2005321933A - データ入出力装置およびデータ入出力方法 - Google Patents

データ入出力装置およびデータ入出力方法 Download PDF

Info

Publication number
JP2005321933A
JP2005321933A JP2004138314A JP2004138314A JP2005321933A JP 2005321933 A JP2005321933 A JP 2005321933A JP 2004138314 A JP2004138314 A JP 2004138314A JP 2004138314 A JP2004138314 A JP 2004138314A JP 2005321933 A JP2005321933 A JP 2005321933A
Authority
JP
Japan
Prior art keywords
data
fifo memory
read
output device
write
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2004138314A
Other languages
English (en)
Other versions
JP4569163B2 (ja
Inventor
Nobukazu Miyoshi
伸和 三好
Manabu Akamatsu
学 赤松
Yoshiharu Yoshida
慶春 吉田
Masahiko Kikuchi
雅彦 菊地
Shingo Nakanishi
真吾 中西
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2004138314A priority Critical patent/JP4569163B2/ja
Publication of JP2005321933A publication Critical patent/JP2005321933A/ja
Application granted granted Critical
Publication of JP4569163B2 publication Critical patent/JP4569163B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Abstract

【課題】 データの書き込みから読み出しまでに遅延を生じるFIFOメモリであっても、確実に書き込んだデータを読み出すことができるデータ入出力装置を提供する。
【解決手段】 読み出し許可フラグ生成回路25は、1ポートRAM3に所定数(RSIZE)のデータが書き込まれていると判定すると、所定時間経過後に1ポートRAM3からのデータ読み出しを許可する。所定時間を経過してからデータの書き込みを許可するので、データの書き込みから読み出しまでに遅延を生じるメモリであっても、確実に書き込んだデータを読み出すことができる。
【選択図】 図1

Description

本発明は、FIFO(First In First Out)メモリを備え、入力したデータを一時的にFIFOメモリに蓄積してから出力するデータ入出力装置およびこのデータ入出力装置におけるデータ入出力方法に関する。
FIFOメモリは、例えば転送速度の異なる2つのバスシステムの間でのデータ転送を実現するために用いられる。すなわち、2つのバスの転送速度の差を吸収するためにFIFOメモリに一時的にデータを書き込んで、書き込んだデータをFIFOメモリから読み出して出力側のバスにデータを出力している。
特許文献1では、FIFOメモリを利用したデータ入出力装置において、データの転送効率とデータバスの使用効率を高めるために、FIFOメモリに所定数以上のデータが書き込まれているか否かを書き込みアドレスポインタと読み出しアドレスポインタとの比較により判定して、FIFOメモリに書き込まれた所定数以上のデータが空となるまでデータ転送要求を発生させている。またFIFOメモリに所定数以上のデータを書き込む余地があるか否かを判定して、FIFOメモリが満杯になるまでデータ書き込み要求を発生させている。
また特許文献2では、データの書き込みと読み出しとを同じポートで行うシングルポートメモリを用いたデータ入出力装置であっても、データの連続書き込みが行える技術を開示している。
特開平6−187123号公報 特開2003−271378号公報
しかしながら、シングルポートメモリやFIFOメモリを多段接続したメモリにデータを書き込んで読み出すと、メモリ内部で生じる遅延によりデータを出力できないことがある。すなわち、シングルポートメモリやFIFOメモリを多段接続したメモリにデータを書き込むと、多段構成のためデータを出力するまでに時間がかかる。このためデータを書き込んですぐに読み出し要求信号が出されても、このデータを読み出すことができない。
例えば、5つのFIFOメモリを多段接続したFIFOメモリに21ワードのデータを書き込み、書き込んだ所でデータ読み出し要求が発生すると、データは接続した多段分遅延して読み出し可能となるため、データを読み出せないことがある。
本発明は上記事情に鑑みてなされたものであり、データの書き込みから読み出しまでに遅延を生じるFIFOメモリであっても、確実にデータを読み出すことができるデータ入出力装置を提供することを目的とする。
かかる目的を達成するために請求項1記載のデータ入出力装置は、入力データをFIFOメモリに一時的に蓄積して出力するデータ入出力装置であって、前記FIFOメモリに所定数以上のデータが書き込まれているか否かを判定し、前記所定数以上のデータが書き込まれていないと判定すると、前記FIFOメモリからのデータの読み出しを禁止し、前記所定数以上のデータが書き込まれていると判定すると、所定時間経過後に前記FIFOメモリからのデータ読み出しを許可する読み出しタイミング制御手段を有することを特徴としている。
請求項1記載の発明は、FIFOメモリに所定数以上のデータが書き込まれていないと判定すると、FIFOメモリからのデータの読み出しを禁止し、所定数以上のデータが書き込まれていると判定すると、所定時間経過後にFIFOメモリからのデータ読み出しを許可している。所定時間を経過してからデータの読み出しを許可するので、データの書き込みから読み出しまでに遅延を生じるFIFOメモリであっても、確実にデータを読み出すことができる。
請求項2記載のデータ入出力装置は、請求項1記載のデータ入出力装置において、前記FIFOメモリに所定数以上のデータを書き込める余地があるか否かを判定し、前記所定数以上のデータを書き込む余地がないと判定すると、前記FIFOメモリへのデータの書き込みを禁止し、前記所定数以上のデータを書き込む余地があると判定すると、所定時間経過後に前記FIFOメモリへのデータ書き込みを許可する書き込みタイミング制御手段を有するとよい。
請求項2記載の発明もFIFOメモリに所定数以上のデータを書き込む余地がないと判定すると、FIFOメモリへのデータの書き込みを禁止し、所定数以上のデータを書き込む余地があると判定すると、所定時間経過後に前記FIFOメモリへのデータ書き込みを許可している。所定時間を経過してからデータの書き込みを許可するので、データの書き込みから読み出しまでに遅延を生じるFIFOメモリであっても、確実にデータを書き込むことができる。
請求項3記載のデータ入出力装置は、請求項1記載のデータ入出力装置において、前記読み出しタイミング制御手段は、書き込まれるデータが終了したことを示すデータエンド信号を検出すると、所定時間経過後に強制的にデータ読み出しを実行させるとよい。
請求項3記載の発明は、FIFOメモリに書き込まれるデータが終了したことを示すデータエンド信号を検出すると、所定時間経過後に強制的にデータ読み出しを実行するため、データが所定数に満たない端数であったとしても、所定時間経過後にデータをFIFOメモリから読み出すことが可能となる。
請求項4記載のデータ入出力装置は、請求項1から3の何れか一項記載のデータ入出力装置において、前記FIFOメモリは、シングルポートRAMからなるとよい。
請求項4記載の発明のように、FIFOメモリをシングルポートRAMから構成するとデータを出力するまでに遅延を生じるが、このようなFIFOメモリであっても請求項1から4の何れか一項に記載のデータ入出力装置により確実にデータを読み出して、データの書き込みを行うことができる。
請求項5記載のデータ入出力装置は、請求項1から3の何れか一項記載のデータ入出力装置において、前記FIFOメモリは、複数のFIFOメモリを多段接続しているとよい。
請求項5記載の発明のように、FIFOメモリを複数のFIFOメモリを多段接続して構成すると、多段構成のためデータ出力に遅延を生じるが、このようなFIFOメモリであっても、請求項1から4の何れか一項に記載のデータ入出力装置により確実にデータを読み出して、データの書き込みを行うことができる。
請求項6記載のデータ入出力装置は、請求項1から3の何れか一項記載のデータ入出力装置において、前記FIFOメモリは、シングルポートRAMと、複数のFIFOメモリを多段接続したFIFOメモリとからなるとよい。
請求項6記載の発明のように、FIFOメモリを、シングルポートRAMと、複数のFIFOメモリを多段接続したFIFOメモリとから構成すると、データ出力に遅延を生じるが、このようなFIFOメモリであっても、請求項1から4の何れか一項に記載のデータ入出力装置により確実にデータを読み出して、データの書き込みを行うことができる。
請求項7記載のデータ入出力装置は、請求項2記載のデータ入出力装置において、前記書き込みタイミング制御手段は、前記所定時間を計時する計時手段を有し、前記計時手段は、外部入力された前記所定時間に従って時間を計時するとよい。
書き込みタイミング制御手段の有する計時手段の計時する所定時間を外部から設定変更できるようにしたため、FIFOメモリに生じるデータ出力の遅延時間に合わせて時間を設定することができる。
請求項8記載のデータ入出力装置は、請求項1記載のデータ入出力装置において、前記読み出しタイミング制御手段は、前記所定時間を計時する計時手段を有し、前記計時手段は、外部入力された前記所定時間に従って時間を計時するとよい。
読み出しタイミング制御手段の有する計時手段の計時する所定時間を外部から設定変更できるようにしたため、FIFOメモリに生じるデータ出力の遅延時間に合わせて所定時間を設定することができる。
請求項9記載のデータ入出力装置は、請求項7または8記載のデータ入出力装置において、前記所定時間は、前記FIFOメモリ内でのデータ遅延時間を基に設定するとよい。
FIFOメモリ内でのデータ遅延時間を基に所定時間を設定することで、FIFOメモリに書き込んだデータを確実に読み出すことができる。
請求項10記載のデータ入出力装置は、請求項7または8記載のデータ入出力装置において、前記所定時間は、多段接続した前記FIFOメモリの段数を基に設定するとよい。
多段接続したFIFOメモリの段数を基に所定時間を設定することで、FIFOメモリに書き込んだデータを確実に読み出すことができる。
請求項11記載のデータ入出力装置は、請求項7または8記載のデータ入出力装置において、前記所定時間は、前記FIFOメモリにデータを書き込む書き込みクロックと、前記FIFOメモリからデータを読み出す読み出しクロックとの周波数に基づいて設定するとよい。
FIFOメモリにデータを書き込む書き込みクロックと、FIFOメモリからデータを読み出す読み出しクロックとの周波数に基づいて所定時間を設定することで、FIFOメモリへのデータの連続書き込みと、FIFOメモリからのデータの連続読み出しを確実に行うことができる。
請求項12記載のデータ入出力装置は、請求項7または8記載のデータ入出力装置において、前記所定時間は、多段接続した前記FIFOメモリの段数と、前記FIFOメモリにデータを書き込む書き込みクロックと前記FIFOメモリからデータを読み出す読み出しクロックとの周波数に基づいて設定するとよい。
多段接続した前記FIFOメモリの段数と、FIFOメモリにデータを書き込む書き込みクロックとFIFOメモリからデータを読み出す読み出しクロックとの周波数に基づいて所定時間を設定することで、FIFOメモリへのデータの連続書き込みと、FIFOメモリからのデータの連続読み出しを確実に行うことができる。
請求項14記載のデータ入出力装置は、請求項1記載のデータ入出力装置において、前記読み出しタイミング制御手段は、前記FIFOメモリに書き込まれるデータ数をカウントする書き込みカウント手段と、前記FIFOメモリから読み出されるデータ数をカウントする読み出しカウント手段とを有し、前記書き込みカウント手段のカウント数と前記読み出しカウント手段のカウント数とに基づいて、外部から設定された前記所定数以上のデータが前記FIFOメモリに書き込まれているか否かを判定するとよい。
書き込みカウント手段と読み出しカウント手段とを設けることで、外部から設定された所定数のデータがFIFOメモリに書き込まれているか否かを検出することができる。
請求項15記載のデータ入出力装置は、請求項2記載のデータ入出力装置において、前記書き込みタイミング制御手段は、前記FIFOメモリに書き込まれるデータ数をカウントする書き込みカウント手段と、前記FIFOメモリから読み出されるデータ数をカウントする読み出しカウント手段とを有し、前記書き込みカウント手段のカウント数と前記読み出しカウント手段のカウント数とに基づいて、外部から設定された前記所定数以上のデータを書き込み可能な余地が前記FIFOメモリにあるか否かを判定するとよい。
書き込みカウント手段と読み出しカウント手段とを設けることで、外部から設定された所定数のデータを書き込み可能な余地がFIFOメモリにあるか否かを検出することができる。
請求項16記載の発明では、請求項1または2記載の前記FIFOメモリを、同期型のFIFOメモリで構成し、請求項17記載の発明では、請求項1または2記載の前記FIFOメモリを、非同期型のFIFOメモリで構成している。
請求項18記載のデータ入出力方法は、入力データをFIFOメモリに一時的に蓄積して出力するデータ入出力方法であって、前記FIFOメモリに所定数以上のデータが書き込まれているか否かを判定するステップと、前記所定数以上のデータが書き込まれていないと判定すると、前記FIFOメモリからのデータの読み出しを禁止し、前記所定数以上のデータが書き込まれていると判定すると、該所定時間経過後に前記FIFOメモリからのデータ読み出しを許可するステップとを有することを特徴としている。
請求項18記載の発明は、FIFOメモリに所定数以上のデータが書き込まれていないと判定すると、FIFOメモリからのデータの読み出しを禁止し、所定数以上のデータが書き込まれていると判定すると、所定時間経過後にFIFOメモリからのデータ読み出しを許可している。所定時間を経過してからデータの読み出しを許可するので、データの書き込みから読み出しまでに遅延を生じるFIFOメモリであっても、確実にデータを読み出すことができる。
請求項19記載のデータ入出力方法は、入力データをFIFOメモリに一時的に蓄積して出力するデータ入出力方法であって、前記FIFOメモリに所定数以上のデータを書き込める余地があるか否かを判定するステップと、前記所定数以上のデータを書き込む余地がないと判定すると、前記FIFOメモリへのデータの書き込みを禁止し、前記所定数以上のデータを書き込む余地があると判定すると、所定時間経過後に前記FIFOメモリへのデータ書き込みを許可するステップとを有することを特徴としている。
請求項19記載の発明は、FIFOメモリに所定数以上のデータを書き込める余地がないと判定すると、FIFOメモリへのデータの書き込みを禁止し、所定数以上のデータを書き込む余地があると判定すると、所定時間経過後にFIFOメモリへのデータ書き込みを許可している。所定時間を経過してからデータの書き込みを許可するので、データの書き込みから読み出しまでに遅延を生じるFIFOメモリであっても、確実にデータを書き込むことができる。
本発明は、データの書き込みから読み出しまでに遅延を生じるFIFOメモリであっても、確実に書き込んだデータを読み出すことができる。
次に、添付図面を参照しながら本発明の最良の実施例を説明する。
まず、図1を参照しながらデータ入出力装置1の読み出し側の構成を説明する。図1に示すようにデータ入出力装置1の読み出し側には、RAMコントローラ2と、1ポートRAM3と、読み出しタイミンング制御部20とが設けられている。
図1に示すようにRAMコントローラ2には、書き込み信号(以下、WEとも表記する)に合わせてデータ(Dataとも表記する)が入力される。またRAMコントローラ2からは、読み出し信号(以下、REとも表記する)に合わせて1ポートRAM3からデータが出力される。また1ポートRAM3が満杯状態で新たなデータの書き込みができなくなると、1ポートRAM3が満杯状態であることを示すフルフラグ(以下、FULLとも表記する)がRAMコントローラ2から出力される。さらに、1ポートRAM3が空状態でデータの読み出しができなくなると、1ポートRAM3が空状態であることを示すエンプティフラグ(以下、EMPとも表記する)が出力される。
読み出しタイミング制御部20は、1ポートRAM3に所定個以上のデータが書き込まれているか否かを判定して、所定数以上のデータが書き込まれていると所定時間経過後に読み出しを許可する読み出し許可フラグを設定する。
次に、図2を参照しながら読み出しタイミング制御部20の構成について説明する。図2に示すように読み出しタイミング制御部20は、ライトカウンタ21と、比較回路22と、リードカウンタ23と、ディレイカウンタ24と、読み出し許可フラグ生成回路25とを有している。
ライトカウンタ21は、書き込み信号(WE)とRAMコントローラ2からのフルフラグにより1ポートRAM3に書き込まれているデータ数(以下、書き込みデータ数という)をカウントする。同様にリードカウンタ23は、読み出し信号(RE)とRAMコントローラ2からのエンプティフラグにより1ポートRAM3から読み出されたデータ数(以下、読み出しデータ数という)をカウントする。
比較回路22は、ライトカウンタ21の書き込みデータ数からリードカウンタ23の読み出しデータ数を減算し、減算結果のデータカウント値を読み出し許可フラグ生成回路25に出力する。
読み出し許可フラグ生成回路25には、上述した書き込み信号(WE)、フルフラグ(FULL)、読み出し信号(RE)、エンプティフラグ(EMP)の他に、1ポートRAM3から連続的に読み出すワード数を示す読み出しワード数(以下、RSIZEとも表記する)と、ディレイカウンタ24にカウントさせる読み出し遅延カウント数(以下、RDELAYとも表記する)とが入力される。
読み出し許可フラグ生成回路25は、ライトカウンタ21の書き込みデータ数からリードカウンタ23の読み出しデータ数を減算した減算結果と、読み出しワード数(RSIZE)とを比較する。読み出しワード数(RSIZE)は、1ポートRAM3から所定数以上のデータを読み出すことができるかを判定する判定値となる。ライトカウンタ21の書き込みデータ数からリードカウンタ23の読み出しデータ数を減算した減算結果が、読み出しワード数(RSIZE)よりも大きくなると、1ポートRAM3から読み出しワード数(RSIZE)以上のデータを読み出すことができると判定する。読み出し許可フラグ生成回路25は、所定数(RSISE)以上のデータを読み出せると判定すると、ディレイカウンタ24で所定のカウント数をカウントしてから、1ポートRAM3からの読み出しを許可する読み出し許可フラグを1に設定する。
ディレイカウンタ24は、読み出し許可フラグ生成回路25からのカウント開始指示信号によって、ディレイカウントを開始する。ディレイカウンタ24のカウントする読み出し遅延カウント数(RDELAY)は、予め読み出し許可フラグ生成回路25から指示されている。ディレイカウンタ24は、カウント値を読み出し許可フラグ生成回路25に出力する。
次に、図3に示す信号出力タイミングチャートを参照しながら読み出し許可フラグ生成回路25のデータの書き込みと読み出しのタイミング制御について説明する。基準クロック(WCLK)に同期して生成された書き込み信号(WE)に合わせて、データをRAMコントーラ2に入力する。RAMコントローラ2は、1ポートRAM3のアドレス(図3に示すWaddr)にデータ(Data)を順次に書き込む。
読み出しタイミング制御部20は、ライトカウンタ21とリードカウンタ23とを用いて1ポートRAM3への書き込みデータ数と読み出しデータ数とをカウントし、1ポートRAM3内に所定数以上のデータが書き込まれているか否かを検出する。比較回路22で、ライトカウンタ21のカウント数からリードカウンタ23のカウント数を減算し、減算結果を読み出し許可フラグ生成回路25に出力する。
読み出し許可フラグ生成回路25は、ライトカウンタ21の書き込みデータ数からリードカウンタ23の読み出しデータ数を減算したデータカウント値と、読み出しワード数(RSIZE)とを比較する。データカウント値が読み出しワード数(RSIZE)よりも小さい場合には、所定数(RSIZE)のデータを1ポートRAM3から読み出すことができないとして、読み出し許可フラグをローレベル(0)のままにする。また減算結果が、読み出しワード数(RSIZE)よりも大きい場合には、所定数(RSIZE)以上のデータが1ポートRAM3に書き込まれたと判定し、ディレイカウンタ24にディレイカウント開始を指示するカウント開示指示信号を出力する。
ディレイカウンタ24は、読み出し許可フラグ生成回路25からのカウント開始指示信号によって、ディレイカウントを開始する。ディレイカウンタ24のカウントする読み出し遅延カウント数(RDELAY)は、予め読み出し許可フラグ生成回路25から指示される。
読み出し許可フラグ生成回路25は、ディレイカウンタ24によって読み出し遅延カウント数(RDELAY)(図3に示すカウント数C)をカウントすると、読み出し許可フラグをハイレベル(1)に設定して、1ポートRAM3からのデータの読み出しを許可する。
読み出し許可フラグがハイレベルに遷移することで、基準クロック(WCLK)に同期して生成された読み出し信号(RE)の入力に合わせてデータ(Data)を1ポートRAM3からRAMコントローラ2に出力する。RAMコントローラ2は、入力したデータ(Data)を順次出力する。
例えば、1ポートRAM3に1ワード書き込んだ所でこの1ワードのデータの読み出し要求を出した場合、書き込まれたデータは、すぐには出力されない。このため1ワード分の読み出しを行っても1ワードのデータを読み出すことができない。本実施例では、1ポートRAM3に所定数以上のデータが書き込まれていると判定すると、ディレイカウンタ24で所定時間をカウントしてからデータの読み出しを行う。このため1ポートRAM3に書き込んだデータを確実に読み出すことができる。
なお、本実施例は図4に示すようなFIFO(First In First Out)メモリ4、5、6を複数多段接続した構成のデータ入出力装置に適用することができる。また図示しないが、シングルポートRAM3と、多段構成のFIFOとから構成されるメモリ部であっても本発明を適用することができる。また、このFIFOメモリは、データの入力と出力とを同期して行う同期式のものであってもよいし、データの入力と出力とを非同期で行う非同期式のものであってもよい。
なお、ディレイカウンタ24の読み出し遅延カウント数(RDELAY)は、図1に示す1ポートRAM3を用いた構成では、この1ポートRAM3で生じるデータの読み出しまでにかかる遅延時間を考慮して設定される。また、図4に示すFIFOメモリ4、5、6を多段接続した構成のメモリ部の場合には、多段接続したFIFOメモリの段数に応じて設定することができる。もちろん、1ポートRAM3と多段構成のFIFOメモリ4、5、6とからなるメモリ部であった場合には、1ポートRAM3で生じるデータ読み出しまでにかかる遅延時間と、多段接続したFIFOメモリの段数に応じて設定することができる。
また、本実施例では、ディレイカウンタ24の読み出し遅延カウント数(RDELAY)と、1ポートRAM3から連続して読み出し可能なデータ数(RSIZE)とは、外部より任意に設定可能である。ソフトウェアにより読み出し遅延カウント数(RDELAY)とデータ数(RSIZE)とを図示しないレジスタに書き込み、レジスタの値を上位装置で読み出しタイミング制御部20に通知する。
次に、図5を参照しながら第2実施例の構成を説明する。図5には、本実施例のデータ入出力装置1の書き込み側の構成が示されている。図5に示すデータ入出力装置1は、1ポートRAM3へのデータの書き込みと読み出しを制御するRAMコントローラ2と、データの書き込みと読み出しとを同じ1つのポートで行う1ポートRAM3と、1ポートRAM3に所定数以上のデータを書き込む余地があるか否かを判定して、所定数以上のデータを書き込む余地があると所定時間経過後に書き込みを許可する書き込み許可フラグを設定する書き込みタイミング制御部10とを有している。
次に、図6を参照しながら書き込みタイミング制御部10の構成について説明する。図6に示すように書き込みタイミング制御部10は、ライトカウンタ11と、比較回路12と、リードカウンタ13と、ディレイカウンタ14と、書き込み許可フラグ生成回路15とを有している。
ライトカウンタ11は、書き込み信号(WE)とRAMコントローラ2からのフルフラグにより1ポートRAM3に書き込まれているデータ数(以下、書き込みデータ数という)をカウントする。同様にリードカウンタ13は、読み出し信号(RE)とRAMコントローラ2からのエンプティフラグにより1ポートRAM3から読み出されたデータ数(以下、読み出しデータ数という)をカウントする。
比較回路12は、ライトカウンタ11の書き込みデータ数からリードカウンタ13の読み出しデータ数を減算し、減算結果のデータカウント値を書き込み許可フラグ生成回路15に出力する。
書き込み許可フラグ生成回路15には、上述した書き込み信号(WE)、フルフラグ(FULL)、読み出し信号(RE)、エンプティフラグ(EMP)の他に、1ポートRAM3に連続的に書き込むワード数を示す書き込みワード数(以下、WSIZEとも表記する)と、ディレイカウンタ14にカウントさせる書き込み遅延カウント数(以下、WDELAYとも表記する)とが入力される。
書き込み許可フラグ生成回路15は、1ポートRAMのメモリサイズ(以下、TSIZEと表記する)から比較回路12のデータカウント値を減算し、減算結果を書き込みワード数(WSIZE)と比較する。書き込みワード数(WSIZE)は、1ポートRAM3に書き込むデータ数を示すものであり、ここでは、1ポートRAM3に所定数以上のデータを書き込む余地があるかを判定する判定値となる。TSIZEからデータカウント値を減算した値が、書き込みワード数(WSIZE)よりも大きくなると、1ポートRAM3に書き込みワード数(WSIZE)以上のデータを書き込む余地があると判定できる。書き込み許可フラグ生成回路15は、所定数(WSIZE)のデータを書き込む余地があると判定すると、ディレイカウンタ14で所定のカウント数をカウントしてから、1ポートRAM3への書き込みを許可する書き込み許可フラグを1に設定する。
ディレイカウンタ14は、書き込み許可フラグ生成回路15からのカウント開始指示信号によって、ディレイカウントを開始する。ディレイカウンタ14のカウントする書き込み遅延カウント数(WDELAY)は、予め書き込み許可フラグ生成回路15から指示されている。ディレイカウンタ14は、カウント値を書き込み許可フラグ生成回路15に出力する。
次に、図7に示す信号出力タイミングチャートを参照しながら書き込みタイミング制御部10のデータの書き込みと読み出しのタイミング制御について説明する。基準クロック(以下WCLKとも表記する)に同期して生成された読み出し信号(RE)に合わせて、入力したアドレス(図7に示すRaddr)のデータ(Data)を1ポートRAM3からRAMコントローラ2に出力する。RAMコントローラ2は、入力したデータ(Data)を順次出力する(図7に示すDO)。
書き込みタイミング制御部10は、ライトカウンタ11とリードカウンタ13とを用いて1ポートRAM3への書き込みデータ数と読み出しデータ数とをカウントし、1ポートRAM3内に所定数以上のデータを書き込む余地があるか否かを検出する。比較回路12で、ライトカウンタ11のカウント数からリードカウンタ13のカウント数を減算し、減算結果のデータカウント値を書き込み許可フラグ生成回路15に出力する。
書き込み許可フラグ生成回路15は、1ポートRAM3のメモリサイズTSIZEから比較回路12のデータカウント値を減算する。次に、減算結果と書き込みワード数(WSIZE)とを比較する。減算結果が、書き込みワード数(WSIZE)よりも小さい場合には、所定数(WSIZE)以上のデータを書き込む余地が1ポートRAM3にはないとして、書き込み許可フラグをローレベル(0)のままにする。また減算結果が、書き込みワード数(WSIZE)よりも大きい場合には、所定数(WSIZE)以上のデータを書き込む余地が1ポートRAM3にできたと判定し、ディレイカウンタ14にディレイカウント開始を指示するカウント開始指示信号を出力する。
ディレイカウンタ14は、書き込み許可フラグ生成回路15からのカウント開始指示信号によって、ディレイカウントを開始する。ディレイカウンタ14のカウントする書き込み遅延カウント数(WDELAY)は、予め書き込み許可フラグ生成回路15から指示されている。
書き込み許可フラグ生成回路15は、ディレイカウンタ14によって書き込み遅延カウント数(WDELAY)(図7に示すカウント数C)をカウントすると、書き込み許可フラグをハイレベルに設定して、1ポートRAM3へのデータの書き込みを許可する。
書き込み許可フラグがハイレベルに遷移することで、基準クロック(WCLK)に同期して生成された書き込み信号(WE)の入力に合わせてデータ(Data)をRAMコントローラ2に入力する。RAMコントローラ2は、入力したデータ(Data)を順次1ポートRAM3に書き込む。
このように本実施例は、1ポートRAM3に所定数(WSIZE)以上のデータを書き込める余地があると判定すると、所定時間(WDELAY)経過後に1ポートRAM3へのデータ書き込みを許可している。所定時間を経過してからデータの書き込みを許可するので、確実に所定数のデータを書き込むことができる。
なお、本実施例も変形例として図8に示すようなFIFO(First In First Out)メモリ4、5、6を複数多段接続した構成のデータ入出力装置にも適用することができる。また図示しないが、シングルポートRAM3と、多段構成のFIFOとから構成されるメモリ部であっても本発明を適用することができる。また、この1ポートRAM3やFIFOメモリ4、5、6は、データの入力と出力とを同期して行う同期式のものであってもよいし、データの入力と出力とを非同期で行う非同期式のものであってもよい。
またディレイカウンタ14の書き込み遅延カウント数(WDELAY)は、図1に示す1ポートRAM3を用いた構成では、この1ポートRAM3で生じるデータの読み出しまでにかかる遅延時間を考慮して設定される。また、図8に示すFIFOメモリ4、5、6を多段接続した構成のメモリ部の場合には、多段接続したFIFOメモリの段数に応じて設定することができる。もちろん、1ポートRAM3と多段構成のFIFOメモリ4、5、6とからなるメモリ部であった場合には、1ポートRAM3で生じるデータ読み出しまでにかかる遅延時間と、多段接続したFIFOメモリの段数に応じて設定することができる。
また、本実施例では、ディレイカウンタ14の書き込み遅延カウント数(WDELAY)と、1ポートRAM3に連続して書き込まれるデータ数(WSIZE)とは、外部より任意に設定可能である。ソフトウェアにより書き込み遅延カウント数(WDELAY)とデータ数(WSIZE)とを図示しないレジスタに書き込み、レジスタの値を上位装置で書き込みタイミング制御部10に通知する。
本実施例は、最後の書き込みデータが所定数に満たない端数データであっても、1ポートRAM3から確実に読み出すことができる構成を提供する。本実施例は、図9及び図10に示すように書き込み側からの最後の書き込みデータであることを示すエンド信号(WEND)を読み出しタイミング制御部20の読み出し許可フラグ生成回路25に入力する。図11のタイミングチャートに示すように読み出し許可フラグ生成回路25は、エンド信号(WEND)が入力されると、例え1ポートRAM3に書き込まれているデータ数が所定数に満たなくても強制的にカウント開始指示信号をディレイカウンタ24に出力する。ディレイカウンタ24で読み出し遅延カウント数(RDELAY)をカウントすると、読み出しタイミング制御部20は読み出し許可フラグをハイレベルに設定する。
読み出し許可フラグがハイレベルに遷移することで、読み出し信号(RE)の入力に合わせてデータ(Data)が1ポートRAM3からRAMコントローラ2に出力される。
このようにして本実施例では、データが所定数に満たない端数データであっても、1ポートRAM3から確実に読み出すことができる。
本実施例も、上述した実施例3のように最後の書き込みデータが所定数に満たない端数データであっても、1ポートRAM3から確実に読み出すことができる構成を提供する。本実施例では、図12に示すように、書き込み側から最後の書き込みデータであることを示すエンド信号(WEND)が入力されると、読み出しタイミング制御部20は、このエンド信号を所定時間遅延させて出力側に出力する。ここでは、エンド信号を所定時間遅延させた信号を第2エンド信号(WEND2とも表記する)と表記する。
図13に本実施例の構成を示す。本実施例は、図13に示すように書き込み側からのエンド信号(WEND)を入力する書き込みエンドフラグ生成部26と、遅延時間をカウントする第2ディレイカウンタ27とを新たに設けている。書き込みエンドフラグ生成部26には、図13に示すように読み出し遅延カウント数(RDELAY)と、エンド信号(WEND)とが入力される。書き込みエンドフラグ生成部26は、エンド信号(WEND)の信号レベルが遷移(ハイレベルに遷移する)すると、この第2ディレイカウンタ27にカウント動作を開始させる。第2ディレイカウンタ27により読み出し遅延カウント数(RDELAY)をカウントすると、書き込みエンドフラグ生成部26は、第2エンド信号(WEND2)を出力側に出力する。第2エンド信号(WEND2)が出力された時点で、強制的に読み出し動作を実行する。
このようにして本実施例でも、データが所定数に満たない端数データであっても、1ポートRAM3から確実に読み出すことができる。
上述した実施例1から実施例4のデータ入出力装置は、例えば、図14に示すように画像形成装置の画像入力ユニット30のラインバッファ31や、画像出力ユニット33のFIFOメモリ34へのデータの入出力制御に用いられる。例えば、メモリ35に記録した画像データを画像伸張処理部32で伸張処理し、処理後の信号をバスを介して画像出力ユニット33のデータ入出力装置に入力して、FIFOメモリ34へのデータの書き込みと読み出しとを行う。
なお、上述した実施例は本発明の好適な実施例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。例えば、上述した実施例では、書き込み信号(WE)と読み出し信号(RE)とを同一の基準クロック(WCLK)から生成しているため、同じ周波数の信号となっているが、書き込み信号(WE)と読み出し信号(RE)とを異なる周波数の信号としてもよい。この場合、書き込み信号(WE)と読み出し信号(RE)との信号周波数に基づいて、書き込み遅延カウント数(WDELAY)と読み出し遅延カウント数(RDELAY)とを決定する。
実施例1のデータ入出力装置のリード側の構成を示すブロック図である。 実施例1の読み出しタイミング制御部20の構成を示すブロック図である。 実施例1のデータ読み出しのタイミングを示す信号出力タイミング図である。 データ入出力装置のリード側の他の構成を示すブロック図である。 実施例2のデータ入出力装置のライト側の構成を示すブロック図である。 実施例2の書き込みタイミング制御部10の構成を示すブロック図である。 実施例2のデータ書き込みのタイミングを示す信号出力タイミング図である。 データ入出力装置のライト側の他の構成を示すブロック図である。 実施例3のデータ入出力装置のリード側の構成を示すブロック図である。 実施例3の読み出しタイミング制御部20の構成を示すブロック図である。 実施例3のデータ読み出しのタイミングを示す信号出力タイミング図である。 実施例4のデータ入出力装置のリード側の他の構成を示すブロック図である。 実施例4の読み出しタイミング制御部20の他の構成を示すブロック図である。 データ入出力装置を搭載した画像形成装置を示す図である。
符号の説明
1 データ入出力装置 2 RAMコントローラ
3 1ポートRAM 4、5、6 FIFO
10 書き込みタイミング制御部 11、21 ライトカウンタ
12、22 比較回路 13、23 リードカウンタ
14、24 ディレイカウンタ 15 書き込み許可フラグ生成回路
20 読み出しタイミング制御部
25 読み出し許可フラグ生成回路
26 書き込みエンドフラグ生成部 27 第2ディレイカウンタ

Claims (18)

  1. 入力データをFIFOメモリに一時的に蓄積して出力するデータ入出力装置であって、
    前記FIFOメモリに所定数以上のデータが書き込まれているか否かを判定し、前記所定数以上のデータが書き込まれていないと判定すると、前記FIFOメモリからのデータの読み出しを禁止し、前記所定数以上のデータが書き込まれていると判定すると、所定時間経過後に前記FIFOメモリからのデータ読み出しを許可する読み出しタイミング制御手段を有することを特徴とするデータ入出力装置。
  2. 前記FIFOメモリに所定数以上のデータを書き込める余地があるか否かを判定し、前記所定数以上のデータを書き込む余地がないと判定すると、前記FIFOメモリへのデータの書き込みを禁止し、前記所定数以上のデータを書き込む余地があると判定すると、所定時間経過後に前記FIFOメモリへのデータ書き込みを許可する書き込みタイミング制御手段を有することを特徴とする請求項1記載のデータ入出力装置。
  3. 前記読み出しタイミング制御手段は、書き込まれるデータが終了したことを示すデータエンド信号を検出すると、所定時間経過後に強制的にデータ読み出しを実行させることを特徴とする請求項1記載のデータ入出力装置。
  4. 前記FIFOメモリは、シングルポートRAMからなることを特徴とする請求項1から3の何れか一項記載のデータ入出力装置。
  5. 前記FIFOメモリは、複数のFIFOメモリを多段接続していることを特徴とする請求項1から3の何れか一項記載のデータ入出力装置。
  6. 前記FIFOメモリは、シングルポートRAMと、複数のFIFOメモリを多段接続したFIFOメモリとからなることを特徴とする請求項1から3の何れか一項記載のデータ入出力装置。
  7. 前記書き込みタイミング制御手段は、前記所定時間を計時する計時手段を有し、
    前記計時手段は、外部入力された前記所定時間に従って時間を計時することを特徴とする請求項2記載のデータ入出力装置。
  8. 前記読み出しタイミング制御手段は、前記所定時間を計時する計時手段を有し、
    前記計時手段は、外部入力された前記所定時間に従って時間を計時することを特徴とする請求項1記載のデータ入出力装置。
  9. 前記所定時間は、前記FIFOメモリ内でのデータ遅延時間を基に設定することを特徴とする請求項7または8記載のデータ入出力装置。
  10. 前記所定時間は、多段接続した前記FIFOメモリの段数を基に設定することを特徴とする請求項7または8記載のデータ入出力装置。
  11. 前記所定時間は、前記FIFOメモリにデータを書き込む書き込みクロックと、前記FIFOメモリからデータを読み出す読み出しクロックとの周波数に基づいて設定することを特徴とする請求項7または8記載のデータ入出力装置。
  12. 前記所定時間は、多段接続した前記FIFOメモリの段数と、前記FIFOメモリにデータを書き込む書き込みクロックと前記FIFOメモリからデータを読み出す読み出しクロックとの周波数に基づいて設定することを特徴とする請求項7または8記載のデータ入出力装置。
  13. 前記読み出しタイミング制御手段は、前記FIFOメモリに書き込まれるデータ数をカウントする書き込みカウント手段と、前記FIFOメモリから読み出されるデータ数をカウントする読み出しカウント手段とを有し、
    前記書き込みカウント手段のカウント数と前記読み出しカウント手段のカウント数とに基づいて、外部から設定された前記所定数以上のデータが前記FIFOメモリに書き込まれているか否かを判定することを特徴とする請求項1記載のデータ入出力装置。
  14. 前記書き込みタイミング制御手段は、前記FIFOメモリに書き込まれるデータ数をカウントする書き込みカウント手段と、前記FIFOメモリから読み出されるデータ数をカウントする読み出しカウント手段とを有し、
    前記書き込みカウント手段のカウント数と前記読み出しカウント手段のカウント数とに基づいて、外部から設定された前記所定数以上のデータを書き込み可能な余地が前記FIFOメモリにあるか否かを判定することを特徴とする請求項2記載のデータ入出力装置。
  15. 前記FIFOメモリは、同期型のFIFOメモリであることを特徴とする請求項1または2記載のデータ入出力装置。
  16. 前記FIFOメモリは、非同期型のFIFOメモリであることを特徴とする請求項1または2記載のデータ入出力装置。
  17. 入力データをFIFOメモリに一時的に蓄積して出力するデータ入出力方法であって、
    前記FIFOメモリに所定数以上のデータが書き込まれているか否かを判定するステップと、
    前記所定数以上のデータが書き込まれていないと判定すると、前記FIFOメモリからのデータの読み出しを禁止し、前記所定数以上のデータが書き込まれていると判定すると、所定時間経過後に前記FIFOメモリからのデータ読み出しを許可するステップとを有することを特徴とするデータ入出力方法。
  18. 入力データをFIFOメモリに一時的に蓄積して出力するデータ入出力方法であって、
    前記FIFOメモリに所定数以上のデータを書き込める余地があるか否かを判定するステップと、
    前記所定数以上のデータを書き込む余地がないと判定すると、前記FIFOメモリへのデータの書き込みを禁止し、前記所定数以上のデータを書き込む余地があると判定すると、所定時間経過後に前記FIFOメモリへのデータ書き込みを許可するステップとを有することを特徴とするデータ入出力方法。
JP2004138314A 2004-05-07 2004-05-07 データ入出力装置およびデータ入出力方法 Expired - Fee Related JP4569163B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004138314A JP4569163B2 (ja) 2004-05-07 2004-05-07 データ入出力装置およびデータ入出力方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004138314A JP4569163B2 (ja) 2004-05-07 2004-05-07 データ入出力装置およびデータ入出力方法

Publications (2)

Publication Number Publication Date
JP2005321933A true JP2005321933A (ja) 2005-11-17
JP4569163B2 JP4569163B2 (ja) 2010-10-27

Family

ID=35469190

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004138314A Expired - Fee Related JP4569163B2 (ja) 2004-05-07 2004-05-07 データ入出力装置およびデータ入出力方法

Country Status (1)

Country Link
JP (1) JP4569163B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007336423A (ja) * 2006-06-19 2007-12-27 Oki Electric Ind Co Ltd バッファメモリ
JP2016076027A (ja) * 2014-10-03 2016-05-12 株式会社デンソー メモリ装置
KR20210072599A (ko) * 2019-12-09 2021-06-17 한국전자기술연구원 가상 하드웨어를 이용한 i/o 포트 에뮬레이팅 시스템 및 방법
CN113170059A (zh) * 2018-12-05 2021-07-23 索尼互动娱乐股份有限公司 信号处理装置,电子设备,信号处理方法和程序

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5647981A (en) * 1979-09-25 1981-04-30 Nec Corp Operation control system of buffer memory
JPS6293728A (ja) * 1985-10-18 1987-04-30 Fujitsu Ltd Fifoメモリ制御装置
JPS62282352A (ja) * 1986-05-30 1987-12-08 Pfu Ltd バスアクセス制御装置
JPS6446829A (en) * 1987-08-18 1989-02-21 Toshiba Corp First-in/first-out memory
JPH06259225A (ja) * 1993-01-11 1994-09-16 Hewlett Packard Co <Hp> データ転送同期装置
JPH08314851A (ja) * 1995-05-23 1996-11-29 Fujitsu Ltd データ処理システム
JP2001134421A (ja) * 1999-11-05 2001-05-18 Ricoh Co Ltd Fifo記憶装置
JP2001184301A (ja) * 1999-12-27 2001-07-06 Seiko Instruments Inc 画像データ転送方法ならびに装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5647981A (en) * 1979-09-25 1981-04-30 Nec Corp Operation control system of buffer memory
JPS6293728A (ja) * 1985-10-18 1987-04-30 Fujitsu Ltd Fifoメモリ制御装置
JPS62282352A (ja) * 1986-05-30 1987-12-08 Pfu Ltd バスアクセス制御装置
JPS6446829A (en) * 1987-08-18 1989-02-21 Toshiba Corp First-in/first-out memory
JPH06259225A (ja) * 1993-01-11 1994-09-16 Hewlett Packard Co <Hp> データ転送同期装置
JPH08314851A (ja) * 1995-05-23 1996-11-29 Fujitsu Ltd データ処理システム
JP2001134421A (ja) * 1999-11-05 2001-05-18 Ricoh Co Ltd Fifo記憶装置
JP2001184301A (ja) * 1999-12-27 2001-07-06 Seiko Instruments Inc 画像データ転送方法ならびに装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007336423A (ja) * 2006-06-19 2007-12-27 Oki Electric Ind Co Ltd バッファメモリ
JP4715645B2 (ja) * 2006-06-19 2011-07-06 沖電気工業株式会社 バッファメモリ
JP2016076027A (ja) * 2014-10-03 2016-05-12 株式会社デンソー メモリ装置
CN113170059A (zh) * 2018-12-05 2021-07-23 索尼互动娱乐股份有限公司 信号处理装置,电子设备,信号处理方法和程序
US20220030188A1 (en) * 2018-12-05 2022-01-27 Sony Interactive Entertainment Inc. Signal processing device, electronic device, signal processing method, and program
EP3893493A4 (en) * 2018-12-05 2022-12-07 Sony Interactive Entertainment Inc. SIGNAL PROCESSING DEVICE, ELECTRONIC DEVICE, AND SIGNAL PROCESSING METHOD AND PROGRAM
US11553152B2 (en) * 2018-12-05 2023-01-10 Sony Interactive Entertainment Inc. Signal processing device, electronic device, signal processing method, and program
KR20210072599A (ko) * 2019-12-09 2021-06-17 한국전자기술연구원 가상 하드웨어를 이용한 i/o 포트 에뮬레이팅 시스템 및 방법
KR102325428B1 (ko) 2019-12-09 2021-11-12 한국전자기술연구원 가상 하드웨어를 이용한 i/o 포트 에뮬레이팅 시스템 및 방법

Also Published As

Publication number Publication date
JP4569163B2 (ja) 2010-10-27

Similar Documents

Publication Publication Date Title
US8356203B2 (en) Asynchronous interface circuit and data transfer method
US8041856B2 (en) Skip based control logic for first in first out buffer
JP2007157029A (ja) メモリ制御回路及びメモリ制御方法
JP2010027032A (ja) Fifo装置及びfifoバッファへのデータ格納方法
JP2004062630A (ja) Fifoメモリ及び半導体装置
JP4569163B2 (ja) データ入出力装置およびデータ入出力方法
JP4019757B2 (ja) 記憶装置
JPH11232214A (ja) 情報処理装置用プロセッサおよびその制御方法
JP5360594B2 (ja) Dma転送装置及び方法
JP2007087467A (ja) データ転送動作終了検知回路及びこれを備える半導体記憶装置
JP2008165485A (ja) 半導体装置及びバッファ制御回路
JP4696003B2 (ja) データ転送回路
JP4478592B2 (ja) メモリ回路
JP2005250683A (ja) マイクロコンピュータ
JP6337730B2 (ja) メモリ装置
JP2010020815A (ja) Fifoアクセス回路
JP3935152B2 (ja) バッファメモリ装置
JP3565197B2 (ja) クロック乗り換え回路
KR100557561B1 (ko) Fifo 저장 장치
JP4355383B2 (ja) データ蓄積量監視装置
JP2006172395A (ja) データ転送制御装置及びデータ転送制御システム
JP2007323279A (ja) メモリ制御装置及びメモリ制御方法
JP5258039B2 (ja) インタフェース回路およびクロック/データ供給方法
JP2007121063A (ja) 周波数測定回路
JP2007172510A (ja) Dma転送装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070419

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090710

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090728

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090925

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100209

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100409

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100713

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100726

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130820

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4569163

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees