JP2006012246A - Fifo memory device - Google Patents
Fifo memory device Download PDFInfo
- Publication number
- JP2006012246A JP2006012246A JP2004185329A JP2004185329A JP2006012246A JP 2006012246 A JP2006012246 A JP 2006012246A JP 2004185329 A JP2004185329 A JP 2004185329A JP 2004185329 A JP2004185329 A JP 2004185329A JP 2006012246 A JP2006012246 A JP 2006012246A
- Authority
- JP
- Japan
- Prior art keywords
- data
- supplied
- shift register
- read
- fifo memory
- 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.)
- Pending
Links
Images
Abstract
Description
本発明は、FIFO(ファーストイン・ファーストアウト)メモリ装置に関し、特に、回路規模の削減等を図ったものに関する。 The present invention relates to a first-in first-out (FIFO) memory device, and more particularly, to a circuit size reduction or the like.
互いに非同期に動作する2つのシステムの間でデータを転送する場合に、それらのシステムの間にFIFOメモリを設け、データの送信側のシステムが適宜のタイミングでそのFIFOメモリにデータを書き込み、受信側のシステムが適宜のタイミングでそのFIFOメモリからデータを読み出すということが一般的に行われている。 When transferring data between two systems operating asynchronously with each other, a FIFO memory is provided between the systems, and the system on the data transmission side writes the data to the FIFO memory at an appropriate timing, and the receiving side In general, the system reads data from the FIFO memory at an appropriate timing.
このFIFOメモリとしては、送信側のシステムが、ライトアドレス信号を順次インクリメントしてRAMにデータを書き込んでいき、受信側のシステムが、リードアドレス信号を順次インクリメントしてこのRAMからデータを読み出すようにしたものが従来から存在している(例えば、特許文献1参照。)。 As the FIFO memory, the transmitting system sequentially increments the write address signal and writes the data to the RAM, and the receiving system increments the read address signal and reads the data from the RAM. There has been a conventional one (see, for example, Patent Document 1).
図5は、そうした従来のFIFOメモリの構成例を示すブロック図である。なお、ここでは、送信側のシステムを、コマンドを送信する制御装置100とするとともに、受信側のシステムを、そのコマンドを実行する実行装置200としている。
FIG. 5 is a block diagram showing a configuration example of such a conventional FIFO memory. Here, the transmission system is the
このFIFOメモリ51は、RAM52,ライトカウンタ53,リードカウンタ54及びFIFOステータス回路55で構成されている。RAM52は、アドレス0番地〜(n−1)番地にそれぞれ所定ビット単位のデータを1つずつ格納可能になっている。
The FIFO memory 51 includes a
制御装置100は、制御装置100の動作クロックを書込みクロックとして、データ(ここではコマンド)をRAM52のデータ入力端子DIに供給するとともに、ライトイネーブル信号をRAM52のライトイネーブル端子WE及びライトカウンタ53に供給する。
The
ライトカウンタ53は、初期値を0として、ライトイネーブル信号が供給されている間、書込みクロックのタイミングでカウントアップを行う。そして、カウント値が(n−1)に達すると、その後初期値0に戻って同じカウント動作を繰り返す。ライトカウンタ53のカウント出力Cwは、ライトアドレス信号としてRAM52のライトアドレス端子WAに供給される。
The
これにより、制御装置100から、RAM52のアドレス0番地,1番地,2番地…に順にデータが書き込まれていく。図6(a)は、この書込み動作の一例を示すタイミングチャートである。この例では、データ「A」,「B」,「C」,「D」,「C」,「D」が、ライトアドレス信号「0」,「1」,「2」,「3」によってRAM52内のアドレス0番地,1番地,2番地,3番地にそれぞれ書き込まれる。
As a result, data is sequentially written from the
実行装置200は、実行装置200の動作クロックを読出しクロックとして、リードイネーブル信号をRAM52のリードイネーブル端子RE及びリードカウンタ54に供給する。リードカウンタ54は、初期値を0として、リードイネーブル信号が供給されている間、読出しクロックのタイミングでカウントアップを行う。そして、カウント値が(n−1)に達すると、その後初期値0に戻って同じカウント動作を繰り返す。リードカウンタ54のカウント出力Crは、リードアドレス信号としてRAM52のリードアドレス端子RAに供給される。
The
これにより、実行装置200によってRAM52のアドレス0番地,1番地,2番地…から順にデータが読み出されていく。図6(b)は、この読出し動作の一例を、図6(a)の書込み動作と関連付けて示すタイミングチャートである。
As a result, the
ライトカウンタ53,リードカウンタ54のカウント出力Cw,Crは、FIFOステータス回路55にも供給される。FIFOステータス回路55では、書込みクロック(制御装置100の動作クロック)に同期しているライトカウンタ53のカウント出力Cwが、クロック乗換え回路56で読出しクロック(実行装置200の動作クロック)に乗り換えられた後、比較器57でリードカウンタ54のカウント出力Crと同じであるか否かが比較される。
Count outputs Cw and Cr of the
この比較器57の比較結果は、データの登録状況(RAM52に書き込まれたデータのうちまだ実行装置200が読み出していないデータがあるか否か)を示す情報として、実行装置200に送られる。実行装置200は、この比較結果がCw=Crである場合には、リードイネーブル信号の供給を行わない。
The comparison result of the
また、FIFOステータス回路55では、読出しクロックに同期しているリードカウンタ54のカウント出力Crが、クロック乗換え回路58で書込みクロックに乗り換えられた後、減算器59でライトカウンタ53のカウント出力Cwから減算される。
In the FIFO status circuit 55, the count output Cr of the
この減算器59の減算出力は、データの登録数(RAM52に書き込んだデータのうちまだ実行装置200によって読み出されていないデータの数、すなわち実行待ちのキューのデータ数)を示す情報として、制御装置100に送られる。制御装置100は、この減算出力がn(RAM52のアドレス番地の数と同じ数)である場合には、新たなデータやライトイネーブル信号の供給を行わない。
ところで、この制御装置100の側では、減算器59の減算出力によってデータの登録数を確認した後、それらのデータのうちの何番目のデータがどんなデータであるか(実行待ちのキューのうちの何番目のデータがどんなデータであるか)を確認したい場合がある。
By the way, on the side of this
FIFOメモリ51では、実行装置200が最後にデータを読み出したときのリードアドレス信号がリードカウンタ54のカウント出力Crで表されるので、このリードカウンタ54のカウント値を基準として、登録数を確認したデータのうちの所望の順番のデータをRAM52から読み出して確認することが可能である。しかし、現在のリードカウンタ54のカウント出力そのものを基準としたのでは、本来確認したかった順番のデータを確認できなくなることがある。そのことを、図7を用いて説明する(図7及び後出の図8では、簡略化のためのRAM52のアドレスを0番地〜7番地として描いている)。
In the FIFO memory 51, since the read address signal when the
制御装置100がデータの登録数を確認した時点で、図7(a)に示すように、リードカウンタ54のカウント値が2であったとする。この時点では、例えばリードカウンタ54のカウント出力に3を加算した値5のリードアドレス信号は、データ「D」に対応している。
Assume that the count value of the
しかし、制御装置100がデータの登録数を確認した後、それらのデータのうちの何番目のデータを確認したいかを決定するまでの間に、図7(b)に示すように、実行装置200がデータを読み出すことによってリードカウンタ54のカウント値が3にカウントアップされてしまうことがある。そのため、例えば登録数を確認したデータのうちの3番目のデータ(前述のように本来はデータ「D」)を確認したいと決定して、現在のリードカウンタ54のカウント出力に3を加算した値のリードアドレス信号をRAM52のリードアドレス端子RAに供給すると、データ「D」ではなくデータ「E」がRAM52から読み出されてしまうので、本来確認したかった順番のデータを確認できなくなる。
However, as shown in FIG. 7 (b), after the
そのため、制御装置100は、登録数を確認したデータのうちの所望の順番のデータを確認するために、次の(1),(2)のいずれかの方法をとる必要があった。
Therefore, the
(1)図8に示すように、RAM52と同じ容量のRAM101を制御装置100内に用意しておき、データの登録数を確認した時点で、リードカウンタ54のカウント出力Crを基準として、RAM52内のデータ「A」,「B」,「C」…をこのRAM101にコピーする。そして、登録数を確認したデータのうちの何番目のデータを確認したいかを決定した後、RAM101の対応するアドレス番地(例えば3番目のデータを確認したいときはアドレス番地3)からデータを読み出す。
(1) As shown in FIG. 8, a
(2)図9に示すように、リードカウンタ54のカウント出力Crを記憶するためのレジスタ60をFIFOメモリ51内に設けておき、データの登録数を確認した時点で、リードカウンタ54のカウント出力Crをこのメモリ60に書き込む。そして、登録数を確認したデータのうちの何番目のデータを確認したいかを決定した後、メモリ60から読み出したカウント出力Crを基準として生成したリードアドレス信号(例えば3番目のデータを確認したいときはメモリ60から読み出したカウント出力Crに3を加算したリードアドレス信号)をRAM52のリードアドレス端子RAに供給して、RAM52からそのデータを読み出す。
(2) As shown in FIG. 9, a
しかし、この(1)や(2)の方法では、データを登録するための本来の記憶装置であるRAM52以外に、登録数を確認したデータのうちの所望の順番のデータを確認するための専用の記憶装置(RAM101やレジスタ60)を制御装置100内やFIFOメモリ51内に設けてその記憶装置を制御しなければならないので、回路規模の増大や処理の複雑化を招いてしまう。
However, in the methods (1) and (2), in addition to the
本発明は、上述の点に鑑み、回路規模の増大や処理の複雑化を招くことなく、この制御装置100のようなデータの送信側のシステムが、登録数を確認したデータのうちの所望の順番のデータを確認することのできるFIFOメモリ装置を提供することを課題としてなされたものである。
In the present invention, in view of the above-described points, the data transmission side system such as the
この課題を解決するために、本発明に係るFIFOメモリ装置は、データの送信側のシステムから供給されるデータを順次シフトするn段(nは2以上の整数)のシフトレジスタと、このシフトレジスタの1段からn段までの出力がそれぞれ入力される第1の選択手段と、この送信側のシステムからライトイネーブル信号が供給される毎にカウントアップを行い、データの受信側のシステムからリードイネーブル信号が供給される毎にカウントダウンを行う計数手段と、このシフトレジスタの1段からn段までの出力がそれぞれ入力されるとともに、この計数手段のカウント出力が、このシフトレジスタの対応する段の出力を選択させる制御信号として供給される第2の選択手段とを備えたことを特徴とする。 In order to solve this problem, a FIFO memory device according to the present invention includes an n-stage (n is an integer of 2 or more) shift register that sequentially shifts data supplied from a data transmission side system, and the shift register. The first selection means to which the outputs from the first stage to the nth stage are respectively inputted, and the count is incremented every time the write enable signal is supplied from the transmission side system, and the read reception is enabled from the data reception side system. Counting means that counts down each time a signal is supplied, and outputs from the first stage to the nth stage of the shift register are input, and the count output of the counting means is output from the corresponding stage of the shift register. And a second selection unit that is supplied as a control signal for selecting.
このFIFOメモリ装置では、データの送信側のシステムから供給されるデータが、n段のシフトレジスタに順次シフトされることによって書き込まれる。そして、このシフトレジスタの1段からn段までの出力が、第1の選択手段及び第2の選択手段に入力される。 In this FIFO memory device, data supplied from a system on the data transmission side is written by being sequentially shifted to n stages of shift registers. The outputs from the first stage to the nth stage of the shift register are input to the first selection means and the second selection means.
また、送信側のシステムからライトイネーブル信号が供給される毎に計数手段でカウントアップが行われ、データの受信側のシステムからリードイネーブル信号が供給される毎にこの計数手段でカウントダウンが行われる。そして、この計数手段のカウント出力が、シフトレジスタの対応する段の出力を選択させる制御信号として第2の選択手段に供給されることにより、先に書き込まれたデータの順に第2の選択手段で選択される。 Each time the write enable signal is supplied from the transmission system, the counting means counts up, and every time the read enable signal is supplied from the data receiving system, the counting means counts down. The count output of the counting means is supplied to the second selection means as a control signal for selecting the output of the corresponding stage of the shift register, so that the second selection means in the order of the previously written data. Selected.
したがって、受信側のシステムは、第2の選択手段の選択出力を入力することによってデータを読み出すことができる。また、受信側のシステムは、計数手段のカウント出力そのものによってデータの登録状況(シフトレジスタに書き込まれたデータのうちまだ受信側のシステムが読み出していないデータがあるか否か)を確認することができる。 Therefore, the receiving system can read data by inputting the selection output of the second selection means. Further, the receiving system can check the data registration status (whether there is data that has not yet been read by the receiving system among the data written in the shift register) by the count output itself of the counting means. it can.
また、送信側のシステムも、計数手段のカウント出力そのものによってデータの登録数(シフトレジスタに書き込んだデータのうちまだ受信側のシステムによって読み出されていないデータの数、すなわち実行待ちのキューのデータ数)を確認することができる。 In addition, the sending system also uses the count output itself of the counting means to register the number of data (the number of data written to the shift register that has not yet been read by the receiving system, that is, the data in the queue waiting for execution). Number).
また、送信側のシステムは、データの登録数を確認した後、それらのデータのうちの何番目のデータがどんなデータであるかを確認したい場合には、その順番に対応するシフトレジスタの段の出力を選択させる制御信号を第1の選択手段に供給すれば、その順番のデータが第1の選択手段で選択される。したがって、送信側のシステムは、第1の選択手段の選択出力を入力することによって、登録数を確認したデータのうちの所望の順番のデータを確認することができる。 In addition, after confirming the number of registered data, the transmitting system wants to confirm what number of those data is what kind of data, and in the shift register stage corresponding to the order. If a control signal for selecting an output is supplied to the first selection means, the data in that order is selected by the first selection means. Therefore, the transmission-side system can confirm the data in the desired order among the data whose number of registrations has been confirmed by inputting the selection output of the first selection means.
このように、このFIFOメモリ装置によれば、送信側のシステムは、データを登録するための本来の記憶装置であるシフトレジスタそのものから、登録数を確認したデータのうちの所望の順番のデータを確認することができる。すなわち、データを登録するための本来の記憶装置以外に、登録数を確認したデータのうちの所望の順番のデータを確認する専用の記憶装置(例えば図8のRAM101や図9のレジスタ60)を設ける必要がない。これにより、回路規模の増大や処理の複雑化を招くことなく、送信側のシステムが、登録数を確認したデータのうちの所望の順番のデータを確認することができる。
Thus, according to this FIFO memory device, the system on the transmission side receives data in the desired order from among the data whose number of registrations has been confirmed from the shift register itself, which is the original storage device for registering the data. Can be confirmed. That is, in addition to the original storage device for registering data, a dedicated storage device (for example, the
また、受信側のシステム,送信側のシステムは、計数手段のカウント出力そのものによってデータの登録状況,データの登録数を確認することができるので、データの登録状況を示す情報やデータの登録数を示す情報を作成するための専用の回路(例えば図5では比較器57や減算器59)を設ける必要がない。したがって、その点でも回路規模を削減することができる。
In addition, the receiving system and the transmitting system can confirm the data registration status and the number of data registrations by the count output itself of the counting means, so information indicating the data registration status and the number of data registrations can be determined. There is no need to provide a dedicated circuit (eg, the
そして、送信側のシステムは、従来と同様にデータ及びライトイネーブル信号を供給すればこのFIFOメモリ装置にデータを書き込むことができるとともに、計数手段のカウント出力から従来と同様にしてデータの登録数を確認することができる。また、受信側のシステムも、計数手段のカウント出力から従来と同様にしてデータの登録状況を確認することができるとともに、従来と同様にリードイネーブル信号を供給すればこのFIFOメモリ装置からデータを読み出すことができる。すなわち、送信側のシステム,受信側のシステムにとって、FIFOメモリ装置とのインタフェースは従来のものと同じで足りる。したがって、従来のFIFOメモリ装置との置き換えを容易に行うことができる。 The transmission side system can write data to the FIFO memory device by supplying data and a write enable signal in the same manner as in the prior art, and the number of registered data in the same manner as in the prior art from the count output of the counting means. Can be confirmed. Also, the receiving system can confirm the data registration status from the count output of the counting means in the same manner as in the prior art, and reads out data from this FIFO memory device by supplying a read enable signal as in the prior art. be able to. In other words, the interface with the FIFO memory device is sufficient for the transmission side system and the reception side system. Therefore, it is possible to easily replace the conventional FIFO memory device.
なお、このFIFOメモリ装置において、一例として、送信側のシステムの出力を受信側のシステムの動作クロックに同期させるクロック乗換え手段と、第2の選択手段の選択出力及び計数手段のカウント出力を送信側のシステムの動作クロックに同期させるクロック乗換え手段とをさらに備えることが好適である。 In this FIFO memory device, as an example, the clock transfer means for synchronizing the output of the transmission-side system with the operation clock of the reception-side system, the selection output of the second selection means, and the count output of the counting means are transmitted on the transmission side. It is preferable to further include clock transfer means for synchronizing with the operation clock of the system.
それにより、送信側のシステムの動作クロックと受信側のシステムの動作クロックとが互いに非同期であっても、このFIFOメモリ装置を介して送信側のシステムから受信側のシステムにデータを転送することができるとともに、送信側のシステムが、登録数を確認したり、登録数を確認したデータのうちの所望の順番のデータを確認することができるようになる。 As a result, even if the operation clock of the transmission system and the operation clock of the reception system are asynchronous with each other, data can be transferred from the transmission system to the reception system via this FIFO memory device. In addition, the transmission-side system can confirm the number of registrations, and can confirm data in a desired order among the data for which the number of registrations is confirmed.
また、このFIFOメモリ装置において、一例として、計数手段は、送信側のシステムからライトイネーブル信号が供給されるのと同時に受信側のシステムからリードイネーブル信号が供給された場合には、カウント値を変化させないことが好適である。 Also, in this FIFO memory device, for example, the counting means changes the count value when the read enable signal is supplied from the receiving system at the same time as the write enable signal is supplied from the transmitting system. It is preferable not to do so.
それにより、送信側のシステムによるデータの書き込みと受信側のシステムによるデータの読み出しとが同時に行われる場合にも、受信側のシステムがデータの登録状況を正確に確認することができるとともに、送信側のシステムがデータの登録数を正確に確認することができるようになる。 As a result, even when data writing by the sending system and data reading by the receiving system are performed at the same time, the receiving system can accurately check the data registration status, and the sending side System will be able to confirm the number of registered data accurately.
本発明に係るFIFOメモリ装置によれば、データを登録するための本来の記憶装置であるシフトレジスタ以外に専用の記憶装置を設けることなく、データの送信側のシステムが、登録数を確認したデータのうちの所望の順番のデータを確認することができる。これにより、回路規模の増大や処理の複雑化を招くことなく、データの送信側のシステムが、登録数を確認したデータのうちの所望の順番のデータを確認できるという効果が得られる。 According to the FIFO memory device of the present invention, the data transmission side system confirms the number of registrations without providing a dedicated storage device other than the shift register that is the original storage device for registering data. The data in a desired order can be confirmed. As a result, it is possible to obtain an effect that the system on the data transmission side can confirm the data in the desired order among the data whose number of registrations has been confirmed without increasing the circuit scale or complicating the processing.
また、受信側のシステム,送信側のシステムは、計数手段のカウント出力そのものによってデータの登録状況,データの登録数を確認することができるので、データの登録状況を示す情報やデータの登録数を示す情報を作成するための専用の回路を設ける必要がない。したがって、その点でも回路規模を削減できるという効果が得られる。 In addition, the receiving system and the transmitting system can confirm the data registration status and the number of data registrations by the count output itself of the counting means, so information indicating the data registration status and the number of data registrations can be determined. There is no need to provide a dedicated circuit for creating the information to be shown. Therefore, the effect that the circuit scale can be reduced also in this respect is obtained.
また、送信側のシステム,受信側のシステムにとって、FIFOメモリ装置とのインタフェースは従来のものと同じで足りるので、従来のFIFOメモリ装置との置き換えを容易に行えるという効果が得られる。 Further, since the interface with the FIFO memory device is sufficient for the transmission side system and the reception side system, it is possible to easily replace the conventional FIFO memory device.
また、データの送信側のシステムの動作クロックとデータの受信側のシステムの動作クロックとが互いに非同期であっても、データの送信側のシステムが、登録数を確認したり、登録数を確認したデータのうちの所望の順番のデータを確認できるという効果が得られる。 In addition, even if the operation clock of the system on the data transmission side and the operation clock of the system on the data reception side are asynchronous with each other, the system on the data transmission side confirms the number of registrations or confirms the number of registrations. The effect that the data of the desired order among data can be confirmed is acquired.
また、データの送信側のシステムによるデータの書き込みとデータの受信側のシステムによるデータの読み出しとが同時に行われる場合にも、データの受信側のシステムがデータの登録状況を正確に確認できるとともに、データの送信側のシステムがデータの登録数を正確に確認できるという効果が得られる。 Also, when data writing by the data sending system and data reading by the data receiving system are performed simultaneously, the data receiving system can accurately check the data registration status, An effect is obtained that the system on the data transmission side can accurately confirm the number of registered data.
以下、本発明を図面を用いて具体的に説明する。図1は、本発明に係るFIFOメモリ装置の構成例を示すブロック図である。なお、ここでも、図5と同じく、データ送信側のシステムを、コマンドを送信する制御装置100とするとともに、データ受信側のシステムを、そのコマンドを実行する実行装置200としている。この制御装置100,実行装置200の具体例としては、カメラ一体型VTRやデジタルカメラ内で画像メモリから画像データを読み出させるコマンドを送信するプロセッサ,そのコマンドを実行して画像メモリから画像データを読み出すプロセッサが挙げられる。
Hereinafter, the present invention will be specifically described with reference to the drawings. FIG. 1 is a block diagram showing a configuration example of a FIFO memory device according to the present invention. Here, as in FIG. 5, the data transmission system is the
このFIFOメモリ1は、シフトレジスタ2,アップダウンカウンタ3,セレクタ4,セレクタ5及びクロック乗換え回路6〜10で構成されている。シフトレジスタ2は、n段(nは2以上の整数)のシフトレジスタであり、並列データ数m(例えば32)のD型フリップフロップFF0,FF1,…FF(n−1)のデータ入力端子Dとデータ出力端子Qとを直列接続して構成されている。
The
制御装置100は、制御装置100の動作クロックを書込みクロックとして、データ(ここでは32ビットのパラレル形式のコマンド),ライトイネーブル信号,リードアドレス信号をそれぞれクロック乗換え回路6,7,8に供給する。
The
クロック乗換え回路6〜8は、制御装置100の出力を、実行装置200の動作クロックである読出しクロックに同期させる(乗り換えさせる)ための回路である。
The
図2は、クロック乗換え回路6〜8の構成例を示すブロック図である。クロック乗換え回路6〜8は、D型フリップフロップ11のデータ入力端子DとD型フリップフロップ12のデータ出力端子Qとを接続したものであり、制御装置100の出力(クロック乗換え回路6ではデータ、クロック乗換え回路7ではライトイネーブル信号、クロック乗換え回路8ではリードアドレス信号)がフリップフロップ11のデータ入力端子Dに供給されるとともに、フリップフロップ11のクロック端子CKに書込みクロックが供給される。Dフリップフロップ12のクロック端子CKには読出しクロックが供給される。クロック乗換え回路6については、フリップフロップ11,12は、シフトレジスタ2のフリップフロップFF0〜FF(n−1)と同じ並列データ数になっている。
FIG. 2 is a block diagram illustrating a configuration example of the
図3(a),(b)は、それぞれクロック乗換え回路6,7について、制御装置100からのデータ,ライトイネーブル信号を読出しクロックに乗り換えさせる動作例を示すタイミングチャートである。
FIGS. 3A and 3B are timing charts showing an operation example of transferring the data and the write enable signal from the
図1のクロック乗換え回路9,10も、クロック乗換え回路6〜8と同一の構成である。ただし、クロック乗換え回路9,10は、クロック乗換え回路6〜8とは逆に、書込みクロックに乗り換えさせるための回路であり、図2のフリップフロップ11のクロック端子CKのほうに読出しクロックが供給され、Dフリップフロップ12のクロック端子CKのほうに書込みクロックが供給される。
The
なお、図2に示した構成はあくまで一例であり、これとは異なる構成のクロック乗換え回路(例えば、本出願人が特開平8−274585公報で開示しているような回路)をクロック乗換え回路6〜10として用いてもよい。
The configuration shown in FIG. 2 is merely an example, and a clock transfer circuit having a configuration different from this (for example, a circuit as disclosed in Japanese Patent Laid-Open No. 8-274585 by the applicant) is used as the
図1に示すように、クロック乗換え回路6で読出しクロックに乗り換えたデータは、シフトレジスタ2の1段目のフリップフロップFF0のデータ入力端子Dに供給される。クロック乗換え回路7で読出しクロックに乗り換えたライトイネーブル信号は、シフトレジスタ2の各段のフリップフロップFF0〜FFnのクロック端子CKに供給されるとともに、アップダウンカウンタ3に供給される。シフトレジスタ2の各段のフリップフロップFF0〜FFnの出力は、セレクタ4,セレクタ5のn個の選択入力端子にそれぞれ供給される。
As shown in FIG. 1, the data transferred to the read clock by the
実行装置200は、実行装置200の動作クロックを読出しクロックとして、リードイネーブル信号をアップダウンカウンタ3に供給する。アップダウンカウンタ3は、初期値を0として、ライトイネーブル信号が供給される毎にカウントアップを行い、リードイネーブル信号が供給される毎にカウントダウンを行う。また、アップダウンカウンタ3は、ライトイネーブル信号とリードイネーブル信号とが同時に供給された場合には、カウントアップもカウントダウンも行わず、したがってカウント値を変化させない。
The
アップダウンカウンタ3のカウント出力は、セレクタ4に、シフトレジスタ2の対応する段の出力を選択させる(例えばカウント出力が3であればシフトレジスタ2の3段目のフリップフロップFF2の出力を選択させる)制御信号として供給される。セレクタ4の選択出力は、実行装置200に送られる。実行装置200は、リードイネーブル信号を供給したタイミングで、このセレクタ4の選択出力を内部に取り込む。
The count output of the up / down
また、アップダウンカウンタ3のカウント出力は、データの登録状況(シフトレジスタ2に書き込まれたデータのうちまだ実行装置200が読み出していないデータがあるか否か)を示す情報として、実行装置200に送られる。実行装置200は、このカウント出力が0である場合には、リードイネーブル信号の供給を行わない。
Also, the count output of the up / down
また、また、アップダウンカウンタ3のカウント出力は、データの登録数(シフトレジスタ2に書き込んだデータのうちまだ実行装置200によって読み出されていないデータの数、すなわち実行待ちのキューのデータ数)を示す情報として、クロック乗換え回路9で書込みクロックに乗り換えた後、制御装置100に送られる。制御装置100は、このカウント出力がn(シフトレジスタ2の段数と同じ数)である場合には、新たなデータやライトイネーブル信号の供給を行わない。
Also, the count output of the up / down
クロック乗換え回路8で読出しクロックに乗り換えたリードアドレス信号は、セレクタ5に選択制御信号として供給される。セレクタ5の選択出力は、クロック乗換え回路10で書込みクロックに乗り換えた後、制御装置100に送られる。
The read address signal transferred to the read clock by the
図4は、このFIFOメモリ1の動作例を示すタイミングチャートである。制御装置100から1つ目のデータ「A」がライトイネーブル信号とともに供給されると、このデータ「A」,ライトイネーブル信号がそれぞれクロック乗換え回路6,7で読出しクロック(図4(a))に乗り換えられて(図4(b),(c))、シフトレジスタ2の1段目のフリップフロップFF0のデータ入力端子D,シフトレジスタ2の各段のフリップフロップFF0〜FFnのクロック端子CKに供給される。
FIG. 4 is a timing chart showing an operation example of the
これにより、データ「A」がシフトレジスタ2の1段目のフリップフロップFF0に取り込まれる。したがって、フリップフロップFF0からはデータ「A」がセレクタ4,5の選択入力端子に供給される。
As a result, the data “A” is taken into the first flip-
また、このライトイネーブル信号がアップダウンカウンタ3に供給されて、アップダウンカウンタ3が1にカウントアップされる(図4(d))。これにより、シフトレジスタ2の1段目のフリップフロップFF0の出力を選択させる制御信号がセレクタ4に供給されるので、セレクタ4でデータ「A」が選択される(図4(h))。
The write enable signal is supplied to the up / down
続いて、制御装置100から2つ目の「B」がライトイネーブル信号とともに供給されると(図4(b)〜(c))、データ「B」がシフトレジスタ2の1段目のフリップフロップFF0に取り込まれ、データ「A」がシフトレジスタ2の2段目のフリップフロップFF1にシフトされる。したがって、フリップフロップFF0,FF1からそれぞれデータ「B」,「A」がセレクタ4,5の選択入力端子に供給される。
Subsequently, when the second “B” is supplied from the
また、アップダウンカウンタ3が2にカウントアップされる(図4(d))。これにより、シフトレジスタ2の2段目のフリップフロップFF1の出力を選択させる制御信号がセレクタ4に供給されるので、セレクタ4でデータ「A」が選択される(図4(i))。
Further, the up / down
続いて、制御装置100から3つ目の「C」がライトイネーブル信号とともに供給されると(図4(b)〜(c))、データ「C」がシフトレジスタ2の1段目のフリップフロップFF0に取り込まれ、データ「B」がシフトレジスタ2の2段目のフリップフロップFF1にシフトされ、データ「A」がシフトレジスタ2の3段目のフリップフロップFF2にシフトされる。したがって、フリップフロップFF0,FF1,FF2からそれぞれデータ「C」,「B」,「A」がセレクタ4,5の選択入力端子に供給される。
Subsequently, when the third “C” is supplied from the
また、アップダウンカウンタ3が3にカウントアップされる(図4(d))。これにより、シフトレジスタ2の3段目のフリップフロップFF2の出力を選択させる制御信号がセレクタ4に供給されるので、セレクタ4でデータ「A」が選択される(図4(j))。
Further, the up / down
その後、実行装置200からリードイネーブル信号が供給される(図4(e))と、セレクタ4の選択出力であるデータ「A」が実行装置200に取り込まれる(図4(f))。そして、アップダウンカウンタ3が2にカウントダウンされる(図4(d))。これにより、シフトレジスタ2の2段目のフリップフロップFF1の出力を選択させる制御信号がセレクタ4に供給されるので、セレクタ4でデータ「B」が選択される(図4(i))。
Thereafter, when a read enable signal is supplied from the execution device 200 (FIG. 4E), data “A” which is a selection output of the
続いて、制御装置100から4つ目の「D」がライトイネーブル信号とともに供給され(図4(b)〜(c))、同時に、実行装置200からリードイネーブル信号が供給された(図4(e))とする。
Subsequently, the fourth “D” is supplied from the
このとき、アップダウンカウンタ3はカウント値を変化させないので、アップダウンカウンタ3のカウント値は2のままである(図4(d))。これにより、セレクタ4の選択出力であるデータ「B」が実行装置200に取り込まれる(図4(f))。
At this time, since the up / down
そして、データ「D」がシフトレジスタ2の1段目のフリップフロップFF0に取り込まれ、データ「C」がシフトレジスタ2の2段目のフリップフロップFF1にシフトされ、データ「B」がシフトレジスタ2の3段目のフリップフロップFF2にシフトされ、データ「A」がシフトレジスタ2の4段目のフリップフロップFF3にシフトされる。したがって、フリップフロップFF0,FF1,FF2,FF3からそれぞれデータ「D」,「C」,「B」,「A」がセレクタ4,5の選択入力端子に供給される。セレクタ4にはシフトレジスタ2の2段目のフリップフロップFF1の出力を選択させる制御信号が供給されたままなので、これによってセレクタ4でデータ「C」が選択される(図4(i))。
Then, the data “D” is taken into the first flip-
続いて、実行装置200からリードイネーブル信号が供給される(図4(e))と、セレクタ4の選択出力であるデータ「C」が実行装置200に取り込まれる(図4(f))。そして、アップダウンカウンタ3が1にカウントダウンされる(図4(d))。これにより、シフトレジスタ2の1段目のフリップフロップFF0の出力を選択させる制御信号がセレクタ4に供給されるので、セレクタ4でデータ「D」が選択される(図4(h))。
Subsequently, when a read enable signal is supplied from the execution device 200 (FIG. 4E), data “C”, which is a selection output of the
このように、このFIFOメモリ1では、制御装置100から供給されるデータが、n段のシフトレジスタ2に順次シフトされることによって書き込まれる。そして、このシフトレジスタ2の1段からn段までの出力が、セレクタ4及び5に入力される。
Thus, in the
また、制御装置100からライトイネーブル信号が供給される毎にアップダウンカウンタ3でカウントアップが行われ、実行装置200からリードイネーブル信号が供給される毎にアップダウンカウンタ3でカウントダウンが行われる。そして、このアップダウンカウンタ3のカウント出力が、シフトレジスタ2の対応する段の出力を選択させる制御信号としてセレクタ4に供給されることにより、先に書き込まれたデータの順にセレクタ4で選択される。
Each time the write enable signal is supplied from the
したがって、実行装置200は、セレクタ4の選択出力を入力することによってデータを読み出すことができる。また、実行装置200は、アップダウンカウンタ3のカウント出力そのものによってデータの登録状況を確認することができる。
Therefore, the
また、制御装置100も、アップダウンカウンタ3のカウント出力そのものによってデータの登録数を確認することができる。
Further, the
そして、制御装置100は、このアップダウンカウンタ3のカウント出力によってデータの登録数を確認した後、それらのデータのうちの何番目のデータがどんなデータであるか(実行待ちのキューのうちの何番目のデータがどんなデータであるか)を確認したい場合には、その順番に対応するシフトレジスタ2の段の出力を選択させるリードアドレス信号をクロック乗換え回路8を介してセレクタ5に供給すれば、その順番のデータがセレクタ5で選択されてクロック乗換え回路10を介して制御装置100に入力されるので、そのデータを確認することができる。図4(g)には、シフトレジスタ2の1段目の出力を選択させる(実行待ちのキューのうちの1番目のデータを確認するための)リードアドレス信号が制御装置100から供給された例を示している。
Then, after confirming the number of registered data by the count output of the up / down
このように、このFIFOメモリ装置1によれば、制御装置100は、データを登録するための本来の記憶装置であるシフトレジスタ2そのものから、登録数を確認したデータのうちの所望の順番のデータを確認することができる。すなわち、データを登録するための本来の記憶装置以外に、登録数を確認したデータのうちの所望の順番のデータを確認する専用の記憶装置(例えば図8のRAM101や図9のレジスタ60)を設ける必要がない。これにより、回路規模の増大や処理の複雑化を招くことなく、制御装置100が、登録数を確認したデータのうちの所望の順番のデータを確認することができる。
As described above, according to the
また、実行装置200,制御装置100は、アップダウンカウンタ3のカウント出力そのものによってデータの登録状況,データの登録数を確認することができるので、データの登録状況を示す情報やデータの登録数を示す情報を作成するための専用の回路(例えば図5では比較器57や減算器59)を設ける必要がない。したがって、その点でも回路規模を削減することができる。
Further, the
そして、制御装置100は、従来と同様にデータ及びライトイネーブル信号を供給すればこのFIFOメモリ装置1にデータを書き込むことができるとともに、アップダウンカウンタ3のカウント出力から従来と同様にしてデータの登録数を確認することができる。また、実行装置200も、アップダウンカウンタ3のカウント出力から従来と同様にしてデータの登録状況を確認することができるとともに、従来と同様にリードイネーブル信号を供給すればこのFIFOメモリ装置1からデータを読み出すことができる。すなわち、制御装置100,実行装置200にとって、FIFOメモリ装置1とのインタフェースは従来のものと同じで足りる。したがって、従来のFIFOメモリ装置を容易にこのFIFOメモリ装置1に置き換えることができる。
The
また、制御装置100の動作クロックと実行装置200の動作クロックとが互いに非同期であっても、このFIFOメモリ装置1を介して制御装置100から実行装置200にデータを転送することができるとともに、制御装置100が、登録数を確認したり、登録数を確認したデータのうちの所望の順番のデータを確認することができる。
Even if the operation clock of the
また、アップダウンカウンタ3はライトイネーブル信号が供給されるのと同時にリードイネーブル信号が供給された場合にはカウント値を変化させないので、制御装置100によるデータの書き込みと実行装置200によるデータの読み出しとが同時に行われる場合にも、実行装置200がデータの登録状況を正確に確認することができるとともに、制御装置100がデータの登録数を正確に確認することができる。
Further, the up / down
なお、以上の例では、D型フリップフロップで構成したシフトレジスタ2を設けているが、それ以外の適宜の構成のn段のシフトレジスタを設けるようにしてもよい。
In the above example, the
また、以上の例では、FIFOメモリ装置1でコマンドを転送しているが、本発明に係るFIFOメモリ装置は、コマンドに限らずあらゆるデータを転送するために用いることができる。
Further, in the above example, the command is transferred by the
1 FIFOメモリ、 2 シフトレジスタ、 3 アップダウンカウンタ、 4,5 セレクタ、 6〜10 クロック乗換え回路、 100 制御装置、 200 実行装置
DESCRIPTION OF
Claims (3)
前記シフトレジスタの1段からn段までの出力がそれぞれ入力される第1の選択手段と、
前記送信側のシステムからライトイネーブル信号が供給される毎にカウントアップを行い、データの受信側のシステムからリードイネーブル信号が供給される毎にカウントダウンを行う計数手段と、
前記シフトレジスタの1段からn段までの出力がそれぞれ入力されるとともに、前記計数手段のカウント出力が、前記シフトレジスタの対応する段の出力を選択させる制御信号として供給される第2の選択手段と
を備えたことを特徴とするFIFOメモリ装置。 An n-stage (n is an integer of 2 or more) shift register that sequentially shifts data supplied from the data transmission system;
First selection means to which outputs from the first stage to the nth stage of the shift register are respectively input;
Counting means that counts up each time a write enable signal is supplied from the transmission system, and counts down every time a read enable signal is supplied from the data reception system;
Second selection means for receiving outputs from the first to n stages of the shift register and supplying the count output of the counting means as a control signal for selecting the output of the corresponding stage of the shift register And a FIFO memory device.
前記送信側のシステムの出力を、前記受信側のシステムの動作クロックに同期させるクロック乗換え手段と、
前記第2の選択手段の選択出力及び前記計数手段のカウント出力を、前記送信側のシステムの動作クロックに同期させるクロック乗換え手段と
をさらに備えたことを特徴とするFIFOメモリ装置。 The FIFO memory device according to claim 1, wherein
Clock transfer means for synchronizing the output of the transmission-side system with the operation clock of the reception-side system;
A FIFO memory device, further comprising clock transfer means for synchronizing the selection output of the second selection means and the count output of the counting means with an operation clock of the transmission-side system.
前記計数手段は、前記送信側のシステムからライトイネーブル信号が供給されるのと同時に前記受信側のシステムからリードイネーブル信号が供給された場合には、カウント値を変化させないことを特徴とするFIFOメモリ装置。 The FIFO memory device according to claim 1, wherein
The counting means does not change the count value when a read enable signal is supplied from the receiving side system at the same time as a write enable signal is supplied from the transmitting side system. apparatus.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004185329A JP2006012246A (en) | 2004-06-23 | 2004-06-23 | Fifo memory device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004185329A JP2006012246A (en) | 2004-06-23 | 2004-06-23 | Fifo memory device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006012246A true JP2006012246A (en) | 2006-01-12 |
Family
ID=35779326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004185329A Pending JP2006012246A (en) | 2004-06-23 | 2004-06-23 | Fifo memory device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006012246A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013172527A1 (en) * | 2012-05-14 | 2013-11-21 | 서강대학교산학협력단 | Coincidence circuit using shift register, and pet data acquisition system, radiation counting system and medical diagnostic device comprising same |
-
2004
- 2004-06-23 JP JP2004185329A patent/JP2006012246A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013172527A1 (en) * | 2012-05-14 | 2013-11-21 | 서강대학교산학협력단 | Coincidence circuit using shift register, and pet data acquisition system, radiation counting system and medical diagnostic device comprising same |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH09505191A (en) | Method and apparatus for synchronization and scheduling of multiple data streams and real-time tasks | |
JP2010027032A (en) | Fifo device and method of storing data in fifo buffer | |
JP2008071151A (en) | Asynchronous data holding circuit | |
JP2006012246A (en) | Fifo memory device | |
US6137851A (en) | System and method for synchronizing a signal with respect to another signal | |
US10509760B2 (en) | Buffer controller, memory device, and integrated circuit device | |
US20120098583A1 (en) | Pipeline circuit, semiconductor device, and pipeline control method | |
US20140210834A1 (en) | Information processing device, method and program for displaying number of transferred data | |
JP2008165485A (en) | Semiconductor device and buffer control circuit | |
JP4569163B2 (en) | Data input / output device and data input / output method | |
JP2006285724A (en) | Information processor and information processing method | |
JP3190800B2 (en) | Asynchronous transfer circuit with transfer speed switching function | |
KR20160099828A (en) | Apparatus of a dual-clock FIFO for packet delivery | |
JP4696003B2 (en) | Data transfer circuit | |
JP7419944B2 (en) | Semiconductor device and synchronization method | |
EP0546507A2 (en) | FIFO memory control device | |
JP5548443B2 (en) | Image processing apparatus and control method thereof | |
JP4400432B2 (en) | Asynchronous FIFO packet communication device | |
JP4438276B2 (en) | Data transfer device | |
CN116866732A (en) | Handshaking circuit and data processing method | |
JPH10164087A (en) | Data reception device and buffer managing method | |
JP5258039B2 (en) | Interface circuit and clock / data supply method | |
JP2006065704A (en) | Overtaking decision device and data transfer system | |
JP3357981B2 (en) | Phase difference detection circuit | |
JP2006172395A (en) | Data transfer controller and data transfer control system |