JP2006012246A - Fifo memory device - Google Patents

Fifo memory device Download PDF

Info

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
Application number
JP2004185329A
Other languages
Japanese (ja)
Inventor
Keigo Hashirano
啓悟 柱野
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2004185329A priority Critical patent/JP2006012246A/en
Publication of JP2006012246A publication Critical patent/JP2006012246A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a FIFO memory device which allows a system in a data transmission side to confirm data in a desired place out of data of which the number of registered data has been confirmed, without enlarging a circuit scale or complicating processing. <P>SOLUTION: The FIFO memory device is provided with; an n-stage shift register 2 (n is an integer equal to or larger than 2) for successively shifting data supplied from a system 100 in the data transmission side; a first selection means 5 to which outputs of the first to n-th stages of the shift register 2 are inputted; a counting means 3 which is counted up at each time of supply of a write enable signal from the system 100 and is counted down at each time of supply of a read enable signal from a system 200 in a data reception side; and a second selection means 4 to which outputs of the first to n-th stages of the shift register 2 are inputted and a count output of the counting means 3 is supplied as a control signal for selecting an output of a corresponding stage of the shift register 2. <P>COPYRIGHT: (C)2006,JPO&NCIPI

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 control device 100 that transmits a command, and the reception system is the execution device 200 that executes the command.

このFIFOメモリ51は、RAM52,ライトカウンタ53,リードカウンタ54及びFIFOステータス回路55で構成されている。RAM52は、アドレス0番地〜(n−1)番地にそれぞれ所定ビット単位のデータを1つずつ格納可能になっている。   The FIFO memory 51 includes a RAM 52, a write counter 53, a read counter 54, and a FIFO status circuit 55. The RAM 52 can store data in units of predetermined bits at addresses 0 to (n−1).

制御装置100は、制御装置100の動作クロックを書込みクロックとして、データ(ここではコマンド)をRAM52のデータ入力端子DIに供給するとともに、ライトイネーブル信号をRAM52のライトイネーブル端子WE及びライトカウンタ53に供給する。   The control device 100 supplies data (here, a command) to the data input terminal DI of the RAM 52 and supplies a write enable signal to the write enable terminal WE and the write counter 53 of the RAM 52 using the operation clock of the control device 100 as a write clock. To do.

ライトカウンタ53は、初期値を0として、ライトイネーブル信号が供給されている間、書込みクロックのタイミングでカウントアップを行う。そして、カウント値が(n−1)に達すると、その後初期値0に戻って同じカウント動作を繰り返す。ライトカウンタ53のカウント出力Cwは、ライトアドレス信号としてRAM52のライトアドレス端子WAに供給される。   The write counter 53 sets the initial value to 0 and counts up at the timing of the write clock while the write enable signal is supplied. When the count value reaches (n-1), the count value returns to the initial value 0 and the same counting operation is repeated. The count output Cw of the write counter 53 is supplied to the write address terminal WA of the RAM 52 as a write address signal.

これにより、制御装置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 control device 100 to addresses 0, 1, 2,... FIG. 6A is a timing chart showing an example of this write operation. In this example, the data “A”, “B”, “C”, “D”, “C”, “D” are stored in the RAM 52 by the write address signals “0”, “1”, “2”, “3”. Are written in addresses 0, 1, 2, and 3, respectively.

実行装置200は、実行装置200の動作クロックを読出しクロックとして、リードイネーブル信号をRAM52のリードイネーブル端子RE及びリードカウンタ54に供給する。リードカウンタ54は、初期値を0として、リードイネーブル信号が供給されている間、読出しクロックのタイミングでカウントアップを行う。そして、カウント値が(n−1)に達すると、その後初期値0に戻って同じカウント動作を繰り返す。リードカウンタ54のカウント出力Crは、リードアドレス信号としてRAM52のリードアドレス端子RAに供給される。   The execution device 200 supplies a read enable signal to the read enable terminal RE and the read counter 54 of the RAM 52 using the operation clock of the execution device 200 as a read clock. The read counter 54 sets the initial value to 0 and counts up at the timing of the read clock while the read enable signal is supplied. When the count value reaches (n-1), the count value returns to the initial value 0 and the same counting operation is repeated. The count output Cr of the read counter 54 is supplied to the read address terminal RA of the RAM 52 as a read address signal.

これにより、実行装置200によってRAM52のアドレス0番地,1番地,2番地…から順にデータが読み出されていく。図6(b)は、この読出し動作の一例を、図6(a)の書込み動作と関連付けて示すタイミングチャートである。   As a result, the execution device 200 sequentially reads data from the addresses 0, 1, 2,... FIG. 6B is a timing chart showing an example of this read operation in association with the write operation of FIG.

ライトカウンタ53,リードカウンタ54のカウント出力Cw,Crは、FIFOステータス回路55にも供給される。FIFOステータス回路55では、書込みクロック(制御装置100の動作クロック)に同期しているライトカウンタ53のカウント出力Cwが、クロック乗換え回路56で読出しクロック(実行装置200の動作クロック)に乗り換えられた後、比較器57でリードカウンタ54のカウント出力Crと同じであるか否かが比較される。   Count outputs Cw and Cr of the write counter 53 and the read counter 54 are also supplied to the FIFO status circuit 55. In the FIFO status circuit 55, after the count output Cw of the write counter 53 synchronized with the write clock (operation clock of the control device 100) is changed to the read clock (operation clock of the execution device 200) by the clock transfer circuit 56. The comparator 57 compares whether or not the count output Cr of the read counter 54 is the same.

この比較器57の比較結果は、データの登録状況(RAM52に書き込まれたデータのうちまだ実行装置200が読み出していないデータがあるか否か)を示す情報として、実行装置200に送られる。実行装置200は、この比較結果がCw=Crである場合には、リードイネーブル信号の供給を行わない。   The comparison result of the comparator 57 is sent to the execution device 200 as information indicating the data registration status (whether there is data that has not yet been read by the execution device 200 among the data written in the RAM 52). The execution device 200 does not supply the read enable signal when the comparison result is Cw = Cr.

また、FIFOステータス回路55では、読出しクロックに同期しているリードカウンタ54のカウント出力Crが、クロック乗換え回路58で書込みクロックに乗り換えられた後、減算器59でライトカウンタ53のカウント出力Cwから減算される。   In the FIFO status circuit 55, the count output Cr of the read counter 54 synchronized with the read clock is changed to the write clock by the clock transfer circuit 58, and then subtracted from the count output Cw of the write counter 53 by the subtractor 59. Is done.

この減算器59の減算出力は、データの登録数(RAM52に書き込んだデータのうちまだ実行装置200によって読み出されていないデータの数、すなわち実行待ちのキューのデータ数)を示す情報として、制御装置100に送られる。制御装置100は、この減算出力がn(RAM52のアドレス番地の数と同じ数)である場合には、新たなデータやライトイネーブル信号の供給を行わない。
特開2001−307476号公報(段落番号0002〜0010、図5)。
The subtraction output of the subtractor 59 is controlled as information indicating the number of registered data (the number of data written in the RAM 52 that has not yet been read by the execution device 200, that is, the number of queued queues for execution). Sent to device 100. When the subtraction output is n (the same number as the number of address addresses in the RAM 52), the control device 100 does not supply new data or a write enable signal.
JP 2001-307476 A (paragraph numbers 0002 to 0010, FIG. 5).

ところで、この制御装置100の側では、減算器59の減算出力によってデータの登録数を確認した後、それらのデータのうちの何番目のデータがどんなデータであるか(実行待ちのキューのうちの何番目のデータがどんなデータであるか)を確認したい場合がある。   By the way, on the side of this control device 100, after confirming the number of registered data by the subtraction output of the subtractor 59, what number data among those data is what data (in the queue waiting for execution). There is a case where it is desired to check what data is what number data.

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 execution device 200 last reads data is represented by the count output Cr of the read counter 54, the number of registrations is confirmed based on the count value of the read counter 54. It is possible to read out data in the desired order from the RAM 52 and confirm it. However, if the current count output of the read counter 54 is used as a reference, it may not be possible to confirm the data in the order that was originally desired to be confirmed. This will be described with reference to FIG. 7 (in FIG. 7 and later FIG. 8, the addresses of the RAM 52 are illustrated as addresses 0 to 7 for simplification).

制御装置100がデータの登録数を確認した時点で、図7(a)に示すように、リードカウンタ54のカウント値が2であったとする。この時点では、例えばリードカウンタ54のカウント出力に3を加算した値5のリードアドレス信号は、データ「D」に対応している。   Assume that the count value of the read counter 54 is 2 as shown in FIG. 7A when the control device 100 confirms the number of registered data. At this time, for example, a read address signal of value 5 obtained by adding 3 to the count output of the read counter 54 corresponds to the data “D”.

しかし、制御装置100がデータの登録数を確認した後、それらのデータのうちの何番目のデータを確認したいかを決定するまでの間に、図7(b)に示すように、実行装置200がデータを読み出すことによってリードカウンタ54のカウント値が3にカウントアップされてしまうことがある。そのため、例えば登録数を確認したデータのうちの3番目のデータ(前述のように本来はデータ「D」)を確認したいと決定して、現在のリードカウンタ54のカウント出力に3を加算した値のリードアドレス信号をRAM52のリードアドレス端子RAに供給すると、データ「D」ではなくデータ「E」がRAM52から読み出されてしまうので、本来確認したかった順番のデータを確認できなくなる。   However, as shown in FIG. 7 (b), after the control device 100 confirms the number of registered data, it decides what number of the data is to be confirmed. When the data is read, the count value of the read counter 54 may be counted up to 3. Therefore, for example, it is determined that the third data (originally data “D” as described above) of the data whose number of registrations has been confirmed is to be confirmed, and a value obtained by adding 3 to the count output of the current read counter 54 When the read address signal is supplied to the read address terminal RA of the RAM 52, the data “E” is read from the RAM 52 instead of the data “D”, so that the data in the order originally desired cannot be confirmed.

そのため、制御装置100は、登録数を確認したデータのうちの所望の順番のデータを確認するために、次の(1),(2)のいずれかの方法をとる必要があった。   Therefore, the control device 100 needs to take one of the following methods (1) and (2) in order to confirm data in a desired order among the data whose number of registrations has been confirmed.

(1)図8に示すように、RAM52と同じ容量のRAM101を制御装置100内に用意しておき、データの登録数を確認した時点で、リードカウンタ54のカウント出力Crを基準として、RAM52内のデータ「A」,「B」,「C」…をこのRAM101にコピーする。そして、登録数を確認したデータのうちの何番目のデータを確認したいかを決定した後、RAM101の対応するアドレス番地(例えば3番目のデータを確認したいときはアドレス番地3)からデータを読み出す。   (1) As shown in FIG. 8, a RAM 101 having the same capacity as the RAM 52 is prepared in the control device 100, and when the number of registered data is confirmed, the count output Cr of the read counter 54 is used as a reference in the RAM 52. The data “A”, “B”, “C”,. Then, after determining which number of data among the data whose number of registrations has been confirmed is to be confirmed, the data is read from the corresponding address address of the RAM 101 (for example, address address 3 when the third data is to be confirmed).

(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 register 60 for storing the count output Cr of the read counter 54 is provided in the FIFO memory 51, and the count output of the read counter 54 is confirmed when the number of registered data is confirmed. Cr is written into the memory 60. Then, after determining which number of data among the data whose number of registrations has been confirmed is to be confirmed, a read address signal generated on the basis of the count output Cr read from the memory 60 (for example, when confirming the third data) Supplies a read address signal obtained by adding 3 to the count output Cr read from the memory 60 to the read address terminal RA of the RAM 52, and reads the data from the RAM 52.

しかし、この(1)や(2)の方法では、データを登録するための本来の記憶装置であるRAM52以外に、登録数を確認したデータのうちの所望の順番のデータを確認するための専用の記憶装置(RAM101やレジスタ60)を制御装置100内やFIFOメモリ51内に設けてその記憶装置を制御しなければならないので、回路規模の増大や処理の複雑化を招いてしまう。   However, in the methods (1) and (2), in addition to the RAM 52 which is an original storage device for registering data, dedicated data for confirming data in a desired order among the data whose registered number is confirmed. Since the storage device (RAM 101 and register 60) must be provided in the control device 100 or the FIFO memory 51 to control the storage device, the circuit scale increases and the processing becomes complicated.

本発明は、上述の点に鑑み、回路規模の増大や処理の複雑化を招くことなく、この制御装置100のようなデータの送信側のシステムが、登録数を確認したデータのうちの所望の順番のデータを確認することのできるFIFOメモリ装置を提供することを課題としてなされたものである。   In the present invention, in view of the above-described points, the data transmission side system such as the control device 100 does not incur an increase in circuit scale or processing complexity, and the desired number of pieces of data in which the number of registrations is confirmed. An object of the present invention is to provide a FIFO memory device capable of confirming data in order.

この課題を解決するために、本発明に係る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 RAM 101 in FIG. 8 or the register 60 in FIG. 9) for confirming data in a desired order among the data whose registration number has been confirmed. There is no need to provide it. As a result, the system on the transmission side can confirm data in a desired order among the data for which the number of registrations has been confirmed without increasing the circuit scale or complicating the processing.

また、受信側のシステム,送信側のシステムは、計数手段のカウント出力そのものによってデータの登録状況,データの登録数を確認することができるので、データの登録状況を示す情報やデータの登録数を示す情報を作成するための専用の回路(例えば図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 comparator 57 and the subtractor 59 in FIG. 5) for creating the information to be shown. Therefore, the circuit scale can be reduced also in this respect.

そして、送信側のシステムは、従来と同様にデータ及びライトイネーブル信号を供給すればこの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 control device 100 that transmits a command, and the data reception system is the execution device 200 that executes the command. Specific examples of the control device 100 and the execution device 200 include a processor that transmits a command for reading image data from an image memory in a camera-integrated VTR or a digital camera, and executes the command to obtain image data from the image memory. A processor to read out is mentioned.

このFIFOメモリ1は、シフトレジスタ2,アップダウンカウンタ3,セレクタ4,セレクタ5及びクロック乗換え回路6〜10で構成されている。シフトレジスタ2は、n段(nは2以上の整数)のシフトレジスタであり、並列データ数m(例えば32)のD型フリップフロップFF0,FF1,…FF(n−1)のデータ入力端子Dとデータ出力端子Qとを直列接続して構成されている。   The FIFO memory 1 includes a shift register 2, an up / down counter 3, a selector 4, a selector 5, and a clock transfer circuit 6-10. The shift register 2 is an n-stage (n is an integer equal to or greater than 2) shift register, and data input terminals D of D-type flip-flops FF0, FF1,... FF (n−1) having a parallel data number m (for example, 32). And a data output terminal Q are connected in series.

制御装置100は、制御装置100の動作クロックを書込みクロックとして、データ(ここでは32ビットのパラレル形式のコマンド),ライトイネーブル信号,リードアドレス信号をそれぞれクロック乗換え回路6,7,8に供給する。   The control device 100 supplies data (here, 32-bit parallel command), a write enable signal, and a read address signal to the clock transfer circuits 6, 7, and 8 using the operation clock of the control device 100 as a write clock.

クロック乗換え回路6〜8は、制御装置100の出力を、実行装置200の動作クロックである読出しクロックに同期させる(乗り換えさせる)ための回路である。   The clock transfer circuits 6 to 8 are circuits for synchronizing (changing) the output of the control device 100 with the read clock that is the operation clock of the execution device 200.

図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 clock transfer circuits 6 to 8. The clock transfer circuits 6 to 8 are obtained by connecting the data input terminal D of the D-type flip-flop 11 and the data output terminal Q of the D-type flip-flop 12, and output of the control device 100 (data, In the clock transfer circuit 7, a write enable signal is supplied to the data input terminal D of the flip-flop 11 and a write clock is supplied to the clock terminal CK of the flip-flop 11. A read clock is supplied to the clock terminal CK of the D flip-flop 12. Regarding the clock transfer circuit 6, the flip-flops 11 and 12 have the same number of parallel data as the flip-flops FF <b> 0 to FF (n−1) of the shift register 2.

図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 control device 100 to the read clock for the clock transfer circuits 6 and 7, respectively.

図1のクロック乗換え回路9,10も、クロック乗換え回路6〜8と同一の構成である。ただし、クロック乗換え回路9,10は、クロック乗換え回路6〜8とは逆に、書込みクロックに乗り換えさせるための回路であり、図2のフリップフロップ11のクロック端子CKのほうに読出しクロックが供給され、Dフリップフロップ12のクロック端子CKのほうに書込みクロックが供給される。   The clock transfer circuits 9 and 10 in FIG. 1 have the same configuration as the clock transfer circuits 6 to 8. However, the clock transfer circuits 9 and 10 are circuits for switching to the write clock, contrary to the clock transfer circuits 6 to 8, and the read clock is supplied to the clock terminal CK of the flip-flop 11 in FIG. The write clock is supplied to the clock terminal CK of the D flip-flop 12.

なお、図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 clock transfer circuit 6. -10 may be used.

図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 clock transfer circuit 6 is supplied to the data input terminal D of the first-stage flip-flop FF0 of the shift register 2. The write enable signal transferred to the read clock by the clock transfer circuit 7 is supplied to the clock terminals CK of the flip-flops FF0 to FFn in each stage of the shift register 2 and also supplied to the up / down counter 3. Outputs of the flip-flops FF0 to FFn at each stage of the shift register 2 are supplied to n selection input terminals of the selectors 4 and 5, respectively.

実行装置200は、実行装置200の動作クロックを読出しクロックとして、リードイネーブル信号をアップダウンカウンタ3に供給する。アップダウンカウンタ3は、初期値を0として、ライトイネーブル信号が供給される毎にカウントアップを行い、リードイネーブル信号が供給される毎にカウントダウンを行う。また、アップダウンカウンタ3は、ライトイネーブル信号とリードイネーブル信号とが同時に供給された場合には、カウントアップもカウントダウンも行わず、したがってカウント値を変化させない。   The execution device 200 supplies a read enable signal to the up / down counter 3 using the operation clock of the execution device 200 as a read clock. The up / down counter 3 sets the initial value to 0, counts up every time the write enable signal is supplied, and counts down every time the read enable signal is supplied. Further, when the write enable signal and the read enable signal are supplied simultaneously, the up / down counter 3 does not count up or count down, and therefore does not change the count value.

アップダウンカウンタ3のカウント出力は、セレクタ4に、シフトレジスタ2の対応する段の出力を選択させる(例えばカウント出力が3であればシフトレジスタ2の3段目のフリップフロップFF2の出力を選択させる)制御信号として供給される。セレクタ4の選択出力は、実行装置200に送られる。実行装置200は、リードイネーブル信号を供給したタイミングで、このセレクタ4の選択出力を内部に取り込む。   The count output of the up / down counter 3 causes the selector 4 to select the output of the corresponding stage of the shift register 2 (for example, if the count output is 3, the output of the third stage flip-flop FF2 of the shift register 2 is selected). ) Supplied as a control signal. The selection output of the selector 4 is sent to the execution device 200. The execution device 200 takes in the selection output of the selector 4 at the timing when the read enable signal is supplied.

また、アップダウンカウンタ3のカウント出力は、データの登録状況(シフトレジスタ2に書き込まれたデータのうちまだ実行装置200が読み出していないデータがあるか否か)を示す情報として、実行装置200に送られる。実行装置200は、このカウント出力が0である場合には、リードイネーブル信号の供給を行わない。   Also, the count output of the up / down counter 3 is sent to the execution device 200 as information indicating the data registration status (whether there is any data written in the shift register 2 that has not yet been read by the execution device 200). Sent. The execution device 200 does not supply the read enable signal when the count output is zero.

また、また、アップダウンカウンタ3のカウント出力は、データの登録数(シフトレジスタ2に書き込んだデータのうちまだ実行装置200によって読み出されていないデータの数、すなわち実行待ちのキューのデータ数)を示す情報として、クロック乗換え回路9で書込みクロックに乗り換えた後、制御装置100に送られる。制御装置100は、このカウント出力がn(シフトレジスタ2の段数と同じ数)である場合には、新たなデータやライトイネーブル信号の供給を行わない。   Also, the count output of the up / down counter 3 is the number of registered data (the number of data written in the shift register 2 that has not yet been read by the execution device 200, that is, the number of data in the queue waiting for execution). Is transferred to the write clock by the clock transfer circuit 9 and then sent to the control device 100. When the count output is n (the same number as the number of stages of the shift register 2), the control device 100 does not supply new data or a write enable signal.

クロック乗換え回路8で読出しクロックに乗り換えたリードアドレス信号は、セレクタ5に選択制御信号として供給される。セレクタ5の選択出力は、クロック乗換え回路10で書込みクロックに乗り換えた後、制御装置100に送られる。   The read address signal transferred to the read clock by the clock transfer circuit 8 is supplied to the selector 5 as a selection control signal. The selection output of the selector 5 is transferred to the write clock by the clock transfer circuit 10 and then sent to the control device 100.

図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 FIFO memory 1. When the first data “A” is supplied from the control device 100 together with the write enable signal, the data “A” and the write enable signal are respectively read by the clock transfer circuits 6 and 7 as read clocks (FIG. 4A). After switching (FIGS. 4B and 4C), the data input terminal D of the first stage flip-flop FF0 of the shift register 2 and the clock terminals CK of the flip-flops FF0 to FFn of each stage of the shift register 2 are supplied. Is done.

これにより、データ「A」がシフトレジスタ2の1段目のフリップフロップFF0に取り込まれる。したがって、フリップフロップFF0からはデータ「A」がセレクタ4,5の選択入力端子に供給される。   As a result, the data “A” is taken into the first flip-flop FF 0 of the shift register 2. Therefore, the data “A” is supplied from the flip-flop FF 0 to the selection input terminals of the selectors 4 and 5.

また、このライトイネーブル信号がアップダウンカウンタ3に供給されて、アップダウンカウンタ3が1にカウントアップされる(図4(d))。これにより、シフトレジスタ2の1段目のフリップフロップFF0の出力を選択させる制御信号がセレクタ4に供給されるので、セレクタ4でデータ「A」が選択される(図4(h))。   The write enable signal is supplied to the up / down counter 3, and the up / down counter 3 is counted up to 1 (FIG. 4D). As a result, the control signal for selecting the output of the first flip-flop FF0 of the shift register 2 is supplied to the selector 4, so that the data “A” is selected by the selector 4 (FIG. 4 (h)).

続いて、制御装置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 control device 100 together with the write enable signal (FIGS. 4B to 4C), the data “B” is supplied to the first flip-flop of the shift register 2. The data “A” is shifted to the flip-flop FF 1 in the second stage of the shift register 2. Therefore, the data “B” and “A” are supplied from the flip-flops FF0 and FF1 to the selection input terminals of the selectors 4 and 5, respectively.

また、アップダウンカウンタ3が2にカウントアップされる(図4(d))。これにより、シフトレジスタ2の2段目のフリップフロップFF1の出力を選択させる制御信号がセレクタ4に供給されるので、セレクタ4でデータ「A」が選択される(図4(i))。   Further, the up / down counter 3 is counted up to 2 (FIG. 4D). As a result, the control signal for selecting the output of the second-stage flip-flop FF1 of the shift register 2 is supplied to the selector 4, so that the data “A” is selected by the selector 4 (FIG. 4 (i)).

続いて、制御装置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 control device 100 together with the write enable signal (FIGS. 4B to 4C), the data “C” is stored in the first flip-flop of the shift register 2. The data “B” is shifted to the second-stage flip-flop FF 1 of the shift register 2 and the data “A” is shifted to the third-stage flip-flop FF 2 of the shift register 2. Accordingly, the data “C”, “B”, and “A” are supplied from the flip-flops FF0, FF1, and FF2 to the selection input terminals of the selectors 4 and 5, respectively.

また、アップダウンカウンタ3が3にカウントアップされる(図4(d))。これにより、シフトレジスタ2の3段目のフリップフロップFF2の出力を選択させる制御信号がセレクタ4に供給されるので、セレクタ4でデータ「A」が選択される(図4(j))。   Further, the up / down counter 3 is counted up to 3 (FIG. 4D). As a result, the control signal for selecting the output of the third flip-flop FF2 of the shift register 2 is supplied to the selector 4, so that the data “A” is selected by the selector 4 (FIG. 4 (j)).

その後、実行装置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 selector 4 is taken into the execution device 200 (FIG. 4F). Then, the up / down counter 3 is counted down to 2 (FIG. 4D). As a result, the control signal for selecting the output of the second-stage flip-flop FF1 of the shift register 2 is supplied to the selector 4, so that the data “B” is selected by the selector 4 (FIG. 4 (i)).

続いて、制御装置100から4つ目の「D」がライトイネーブル信号とともに供給され(図4(b)〜(c))、同時に、実行装置200からリードイネーブル信号が供給された(図4(e))とする。   Subsequently, the fourth “D” is supplied from the control device 100 together with the write enable signal (FIGS. 4B to 4C), and at the same time, the read enable signal is supplied from the execution device 200 (FIG. 4B). e)).

このとき、アップダウンカウンタ3はカウント値を変化させないので、アップダウンカウンタ3のカウント値は2のままである(図4(d))。これにより、セレクタ4の選択出力であるデータ「B」が実行装置200に取り込まれる(図4(f))。   At this time, since the up / down counter 3 does not change the count value, the count value of the up / down counter 3 remains 2 (FIG. 4D). As a result, the data “B” that is the selection output of the selector 4 is taken into the execution device 200 (FIG. 4F).

そして、データ「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-flop FF 0 of the shift register 2, the data “C” is shifted to the second flip-flop FF 1 of the shift register 2, and the data “B” is shifted to the shift register 2. And the data “A” is shifted to the fourth-stage flip-flop FF3 of the shift register 2. Therefore, the data “D”, “C”, “B”, and “A” are supplied to the selection input terminals of the selectors 4 and 5 from the flip-flops FF0, FF1, FF2, and FF3, respectively. Since the selector 4 remains supplied with the control signal for selecting the output of the second-stage flip-flop FF1 of the shift register 2, the selector 4 selects the data “C” (FIG. 4 (i)).

続いて、実行装置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 selector 4, is taken into the execution device 200 (FIG. 4F). Then, the up / down counter 3 is counted down to 1 (FIG. 4D). As a result, the control signal for selecting the output of the first flip-flop FF0 of the shift register 2 is supplied to the selector 4, so that the data “D” is selected by the selector 4 (FIG. 4 (h)).

このように、このFIFOメモリ1では、制御装置100から供給されるデータが、n段のシフトレジスタ2に順次シフトされることによって書き込まれる。そして、このシフトレジスタ2の1段からn段までの出力が、セレクタ4及び5に入力される。   Thus, in the FIFO memory 1, data supplied from the control device 100 is written by being sequentially shifted to the n-stage shift register 2. Outputs from the first stage to the nth stage of the shift register 2 are input to the selectors 4 and 5.

また、制御装置100からライトイネーブル信号が供給される毎にアップダウンカウンタ3でカウントアップが行われ、実行装置200からリードイネーブル信号が供給される毎にアップダウンカウンタ3でカウントダウンが行われる。そして、このアップダウンカウンタ3のカウント出力が、シフトレジスタ2の対応する段の出力を選択させる制御信号としてセレクタ4に供給されることにより、先に書き込まれたデータの順にセレクタ4で選択される。   Each time the write enable signal is supplied from the control device 100, the up / down counter 3 counts up, and every time the read enable signal is supplied from the execution device 200, the up / down counter 3 counts down. Then, the count output of the up / down counter 3 is supplied to the selector 4 as a control signal for selecting the output of the corresponding stage of the shift register 2, so that the selector 4 selects in the order of the previously written data. .

したがって、実行装置200は、セレクタ4の選択出力を入力することによってデータを読み出すことができる。また、実行装置200は、アップダウンカウンタ3のカウント出力そのものによってデータの登録状況を確認することができる。   Therefore, the execution apparatus 200 can read data by inputting the selection output of the selector 4. Further, the execution device 200 can confirm the registration status of data by the count output itself of the up / down counter 3.

また、制御装置100も、アップダウンカウンタ3のカウント出力そのものによってデータの登録数を確認することができる。   Further, the control device 100 can also confirm the number of registered data by the count output itself of the up / down counter 3.

そして、制御装置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 counter 3, the control device 100 determines what number of those data is what (in the queue waiting for execution). If it is desired to check what data the second data is), a read address signal for selecting the output of the stage of the shift register 2 corresponding to the order is supplied to the selector 5 via the clock transfer circuit 8; Since the data in that order is selected by the selector 5 and input to the control device 100 via the clock transfer circuit 10, the data can be confirmed. FIG. 4G shows an example in which a read address signal for selecting the first stage output of the shift register 2 (for confirming the first data in the queue waiting for execution) is supplied from the control device 100. Is shown.

このように、このFIFOメモリ装置1によれば、制御装置100は、データを登録するための本来の記憶装置であるシフトレジスタ2そのものから、登録数を確認したデータのうちの所望の順番のデータを確認することができる。すなわち、データを登録するための本来の記憶装置以外に、登録数を確認したデータのうちの所望の順番のデータを確認する専用の記憶装置(例えば図8のRAM101や図9のレジスタ60)を設ける必要がない。これにより、回路規模の増大や処理の複雑化を招くことなく、制御装置100が、登録数を確認したデータのうちの所望の順番のデータを確認することができる。   As described above, according to the FIFO memory device 1, the control device 100 uses the shift register 2 itself, which is an original storage device for registering data, to store data in a desired order among the data whose number of registrations is confirmed. Can be confirmed. That is, in addition to the original storage device for registering data, a dedicated storage device (for example, the RAM 101 in FIG. 8 or the register 60 in FIG. 9) for confirming data in a desired order among the data whose registration number has been confirmed. There is no need to provide it. Thereby, the control apparatus 100 can confirm the data of the desired order among the data which confirmed the number of registration, without causing the increase in a circuit scale or the complexity of a process.

また、実行装置200,制御装置100は、アップダウンカウンタ3のカウント出力そのものによってデータの登録状況,データの登録数を確認することができるので、データの登録状況を示す情報やデータの登録数を示す情報を作成するための専用の回路(例えば図5では比較器57や減算器59)を設ける必要がない。したがって、その点でも回路規模を削減することができる。   Further, the execution device 200 and the control device 100 can confirm the data registration status and the number of data registrations by the count output itself of the up / down counter 3, so that information indicating the data registration status and the number of data registrations can be obtained. There is no need to provide a dedicated circuit (eg, the comparator 57 and the subtractor 59 in FIG. 5) for creating the information to be shown. Therefore, the circuit scale can be reduced also in this respect.

そして、制御装置100は、従来と同様にデータ及びライトイネーブル信号を供給すればこのFIFOメモリ装置1にデータを書き込むことができるとともに、アップダウンカウンタ3のカウント出力から従来と同様にしてデータの登録数を確認することができる。また、実行装置200も、アップダウンカウンタ3のカウント出力から従来と同様にしてデータの登録状況を確認することができるとともに、従来と同様にリードイネーブル信号を供給すればこのFIFOメモリ装置1からデータを読み出すことができる。すなわち、制御装置100,実行装置200にとって、FIFOメモリ装置1とのインタフェースは従来のものと同じで足りる。したがって、従来のFIFOメモリ装置を容易にこのFIFOメモリ装置1に置き換えることができる。   The control device 100 can write data to the FIFO memory device 1 by supplying data and a write enable signal in the same manner as in the prior art, and can register data from the count output of the up / down counter 3 in the same manner as in the prior art. You can check the number. The execution device 200 can also confirm the data registration status from the count output of the up / down counter 3 in the same manner as in the prior art, and if the read enable signal is supplied in the same manner as in the prior art, the data from the FIFO memory device 1 can be confirmed. Can be read out. That is, for the control device 100 and the execution device 200, the interface with the FIFO memory device 1 is sufficient as the conventional one. Therefore, the conventional FIFO memory device can be easily replaced with the FIFO memory device 1.

また、制御装置100の動作クロックと実行装置200の動作クロックとが互いに非同期であっても、このFIFOメモリ装置1を介して制御装置100から実行装置200にデータを転送することができるとともに、制御装置100が、登録数を確認したり、登録数を確認したデータのうちの所望の順番のデータを確認することができる。   Even if the operation clock of the control device 100 and the operation clock of the execution device 200 are asynchronous with each other, data can be transferred from the control device 100 to the execution device 200 via the FIFO memory device 1 and control can be performed. The apparatus 100 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.

また、アップダウンカウンタ3はライトイネーブル信号が供給されるのと同時にリードイネーブル信号が供給された場合にはカウント値を変化させないので、制御装置100によるデータの書き込みと実行装置200によるデータの読み出しとが同時に行われる場合にも、実行装置200がデータの登録状況を正確に確認することができるとともに、制御装置100がデータの登録数を正確に確認することができる。   Further, the up / down counter 3 does not change the count value when the read enable signal is supplied at the same time as the write enable signal is supplied, so that the control device 100 writes data and the execution device 200 reads data. In the case where the execution is performed simultaneously, the execution device 200 can accurately check the data registration status, and the control device 100 can accurately check the number of data registrations.

なお、以上の例では、D型フリップフロップで構成したシフトレジスタ2を設けているが、それ以外の適宜の構成のn段のシフトレジスタを設けるようにしてもよい。   In the above example, the shift register 2 configured by a D-type flip-flop is provided, but an n-stage shift register having an appropriate configuration other than that may be provided.

また、以上の例では、FIFOメモリ装置1でコマンドを転送しているが、本発明に係るFIFOメモリ装置は、コマンドに限らずあらゆるデータを転送するために用いることができる。   Further, in the above example, the command is transferred by the FIFO memory device 1, but the FIFO memory device according to the present invention can be used for transferring not only the command but also any data.

本発明に係るFIFOメモリ装置の構成例を示すブロック図である。It is a block diagram which shows the structural example of the FIFO memory device based on this invention. 図1のクロック乗換え回路の構成例を示すブロック図である。FIG. 2 is a block diagram illustrating a configuration example of a clock transfer circuit in FIG. 1. 図2のクロック乗換え回路の動作例を示すタイミングチャートである。3 is a timing chart illustrating an operation example of the clock transfer circuit in FIG. 2. 図1のFIFOメモリの動作例を示すタイミングチャートである。3 is a timing chart showing an operation example of the FIFO memory of FIG. 1. 従来のFIFOメモリの構成例を示すブロック図である。It is a block diagram which shows the structural example of the conventional FIFO memory. 図5のFIFOメモリの動作例を示すタイミングチャートである。6 is a timing chart showing an operation example of the FIFO memory of FIG. 5. 図5のFIFOメモリで、登録数を確認した後、リードカウンタ54のカウント出力が変化する様子を例示する図である。FIG. 6 is a diagram illustrating a state in which the count output of the read counter changes after the number of registrations is confirmed in the FIFO memory of FIG. 5. 図5のFIFOメモリで、登録数を確認したデータのうちの所望の順番のデータを確認するための方法を示す図である。FIG. 6 is a diagram illustrating a method for confirming data in a desired order among the data whose number of registrations is confirmed in the FIFO memory of FIG. 5. 図5のFIFOメモリで、登録数を確認したデータのうちの所望の順番のデータを確認するための方法を示す図である。FIG. 6 is a diagram illustrating a method for confirming data in a desired order among the data whose number of registrations is confirmed in the FIFO memory of FIG. 5.

符号の説明Explanation of symbols

1 FIFOメモリ、 2 シフトレジスタ、 3 アップダウンカウンタ、 4,5 セレクタ、 6〜10 クロック乗換え回路、 100 制御装置、 200 実行装置   DESCRIPTION OF SYMBOLS 1 FIFO memory, 2 Shift register, 3 Up / down counter, 4,5 selector, 6-10 clock transfer circuit, 100 control apparatus, 200 execution apparatus

Claims (3)

データの送信側のシステムから供給されるデータを順次シフトするn段(nは2以上の整数)のシフトレジスタと、
前記シフトレジスタの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.
請求項1に記載のFIFOメモリ装置において、
前記送信側のシステムの出力を、前記受信側のシステムの動作クロックに同期させるクロック乗換え手段と、
前記第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.
請求項1に記載のFIFOメモリ装置において、
前記計数手段は、前記送信側のシステムからライトイネーブル信号が供給されるのと同時に前記受信側のシステムからリードイネーブル信号が供給された場合には、カウント値を変化させないことを特徴とする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.
JP2004185329A 2004-06-23 2004-06-23 Fifo memory device Pending JP2006012246A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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