JP2002150763A - Memory device and its control method - Google Patents

Memory device and its control method

Info

Publication number
JP2002150763A
JP2002150763A JP2000338162A JP2000338162A JP2002150763A JP 2002150763 A JP2002150763 A JP 2002150763A JP 2000338162 A JP2000338162 A JP 2000338162A JP 2000338162 A JP2000338162 A JP 2000338162A JP 2002150763 A JP2002150763 A JP 2002150763A
Authority
JP
Japan
Prior art keywords
register
data
output
input
memory device
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
JP2000338162A
Other languages
Japanese (ja)
Inventor
Masamichi Wakasugi
真路 若杉
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.)
Naltec Inc
Original Assignee
Naltec Inc
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 Naltec Inc filed Critical Naltec Inc
Priority to JP2000338162A priority Critical patent/JP2002150763A/en
Publication of JP2002150763A publication Critical patent/JP2002150763A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide an FIFO free from delay as to a shift register FIFO constituted by connecting plural registers. SOLUTION: In a memory device 10 capable of sequentially transferring data between plural registers and outputting or read out data from the register of the final output stage, data DI inputted to the memory device 10 can be written in the register REG(n-1) of the final output stage. Since the data are stored from the register REG(n-1) of the final stage, a domino FIFO capable of outputting the initial data without waiting for the time required for shifting the data from the register of the input side to the register of the output side can be provided.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、FIFOメモリお
よびその制御に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a FIFO memory and its control.

【0002】[0002]

【従来の技術】データを一時的に蓄えて順次出力し、待
ち行列を作るメモリとしてファーストインファーストア
ウトメモリ(FIFOメモリ、以降においてはFIF
O)が知られている。このFIFOは複数個、たとえば
n個のレジスタがi番目のレジスタにi−1番目のレジ
スタの出力が供給されるようにシーケンシャルに接続さ
れ、データが入力される1番目(入力段)のレジスタか
ら、データが出力されるn番目(出力段)のレジスタに
順番にデータを転送可能なメモリ装置である。したがっ
て、たとえば、8つのレジスタが接続されたFIFOで
は、FIFOに入力されたデータが8クロックだけFI
FOに保持され、順次出力される。
2. Description of the Related Art First-in first-out memory (FIFO memory, hereinafter referred to as FIFO memory) is used as a memory for temporarily storing data and sequentially outputting the data to form a queue.
O) are known. A plurality of FIFOs, for example, n registers are sequentially connected so that the output of the (i-1) -th register is supplied to the i-th register. , A memory device capable of sequentially transferring data to an n-th (output stage) register to which data is output. Therefore, for example, in a FIFO to which eight registers are connected, the data input to the FIFO is transmitted by the FI clock for eight clocks.
It is held in the FO and output sequentially.

【0003】[0003]

【発明が解決しようとする課題】上記のFIFOを用い
ると8単位のデータの待ち行列を作ることができ、FI
FOに保持されたデータを順番に処理することができ
る。しかしながら、最初にFIFOに入力されたデータ
は、8クロックを経過しないとFIFOから出力されな
い。すなわち、最初のデータが格納されてから出力され
るまで、FIFOを構成する段数(レジスタの数)だけ
遅延が生じる。したがって、データの供給が始まったと
きや、処理するデータが断続的に供給されるシステムで
は、そのシステムがデータを受け取ってから最初の数ク
ロックが無駄になり、供給されたデータに対する処理を
遅延無く開始することが望まれるシステムには向いてい
ない。
By using the above FIFO, a queue of 8 units of data can be created,
The data held in the FO can be processed in order. However, data initially input to the FIFO is not output from the FIFO until eight clocks have elapsed. That is, there is a delay from the storage of the first data to the output of the data by the number of stages (the number of registers) constituting the FIFO. Therefore, in a system in which data supply is started or in which data to be processed is supplied intermittently, the first few clocks after the system receives data are wasted, and processing of the supplied data is performed without delay. Not suitable for systems you want to get started.

【0004】そこで、本発明においては、データの受け
入れた後に、遅延なくデータを出力することができ、そ
の一方で、レジスタの段数だけのデータを保持すること
も可能なFIFOを提供することを目的としている。
In view of the above, an object of the present invention is to provide a FIFO which can output data without delay after receiving data, and on the other hand, can also hold data corresponding to the number of register stages. And

【0005】[0005]

【課題を解決するための手段】このため、本発明におい
ては、シーケンシャルに接続されたレジスタに対し常に
順番にデータを転送するだけでなく、出力段であるn番
目のレジスタに対して優先してデータを供給し、入力段
から出力段へデータを順番に転送することに起因する遅
延が発生しないようにしている。すなわち、本発明の、
n個のレジスタを有し、i番目のレジスタにi−1番目
のレジスタの出力が供給され、データが入力される1番
目のレジスタから、データが出力されるn番目のレジス
タに順番にデータを転送可能なメモリ装置においては、
n番目のレジスタに対し、n−1番目のレジスタの出力
または1番目のレジスタの入力を選択して供給できるn
番目の選択手段と、n番目のレジスタにデータを書き込
み可能となったときに、n−1番目のレジスタにデータ
がないときは、1番目のレジスタの入力がn番目のレジ
スタに供給されるようにn番目の選択手段を制御する制
御手段とを設けるようにしている。
Therefore, according to the present invention, not only data is always transferred sequentially to sequentially connected registers, but also the n-th register, which is an output stage, is given priority. The data is supplied so that a delay caused by sequentially transferring the data from the input stage to the output stage does not occur. That is, of the present invention,
It has n registers, the output of the (i-1) th register is supplied to the i-th register, and data is sequentially transferred from the first register to which data is input to the n-th register to which data is output. In a transferable memory device,
For the n-th register, n can select and supply the output of the (n-1) -th register or the input of the first register
When the data can be written to the n-th register and the (n-1) -th register has no data, the input of the first register is supplied to the n-th register. And a control means for controlling the n-th selecting means.

【0006】したがって、本発明のメモリ装置は、n番
目のレジスタにデータを書き込み可能となったときに、
n−1番目のレジスタにデータがないときは、1番目の
レジスタの入力、すなわち、メモリ装置の入力データを
出力段であるn番目のレジスタに供給するn番目のレジ
スタの制御工程を有する制御方法でデータを処理するこ
とができる。このため、n−1番目のレジスタにデータ
がなくても、出力段であるn番目のレジスタには常に次
に出力されるデータが格納されるので、このメモリ装置
においては出力要求があれば、常に遅延無くデータを出
力できる。すなわち、メモリ装置を構成する全てのレジ
スタがデータで埋まっていない状態では、入力されたデ
ータを保持するのに必要な数だけのレジスタをシーケン
シャルに接続し、全てのレジスタ間をデータ転送する時
間を経過させずにデータを出力することができる。した
がって、本発明のメモリ装置においては、最初のデータ
は遅延なく出力することができ、その一方で、レジスタ
の数だけのデータを保持して待ち行列を作ることもでき
る。
Therefore, the memory device of the present invention, when it becomes possible to write data to the n-th register,
When there is no data in the (n-1) -th register, the control method includes a step of controlling the n-th register which supplies the input of the first register, that is, the input data of the memory device to the n-th register which is the output stage. Can process the data. For this reason, even if there is no data in the (n-1) -th register, the data to be output next is always stored in the n-th register, which is the output stage. Data can always be output without delay. That is, in a state where all the registers constituting the memory device are not filled with data, as many registers as necessary to hold the input data are sequentially connected, and the time for transferring data between all the registers is reduced. Data can be output without elapse. Therefore, in the memory device of the present invention, the first data can be output without delay, and on the other hand, a queue can be created by holding data of the number of registers.

【0007】入力されたデータを保持するのに必要な数
だけのレジスタをシーケンシャルに接続するには、i番
目のレジスタに対し、i−1番目のレジスタの出力また
は1番目のレジスタの入力を選択して供給できるi番目
の選択手段を設け、制御手段により、i番目のレジスタ
にデータを書き込み可能となったときに、i−1番目の
レジスタにデータがないときは、1番目のレジスタの入
力がi番目のレジスタに供給されるようにi番目の選択
手段を制御することが可能である。すなわち、i番目の
レジスタにデータを書き込み可能となったときに、i−
1番目のレジスタにデータがないときは、1番目のレジ
スタの入力をi番目のレジスタに供給するi番目のレジ
スタの制御工程を有する制御方法でメモリ装置を制御す
ることができる。このメモリ装置においては、出力段で
あるn番目のレジスタから入力側に順番にデータが格納
され、データが格納されたレジスタ間ではシーケンシャ
ルにデータが転送される。
To sequentially connect as many registers as necessary to hold the input data, select the output of the (i-1) -th register or the input of the first register for the i-th register. I-th selection means that can be supplied as data is provided, and when data can be written to the i-th register by the control means, when there is no data in the (i-1) -th register, the input of the first register is performed. Is supplied to the i-th register. That is, when data can be written to the i-th register, i-
When there is no data in the first register, the memory device can be controlled by a control method including a control step of the i-th register for supplying the input of the first register to the i-th register. In this memory device, data is stored in order from an n-th register, which is an output stage, to an input side, and data is sequentially transferred between registers in which data is stored.

【0008】このメモリ装置および制御方法であると、
入力されるデータは全てのレジスタに対し供給できるよ
うに回路を組む必要がある。これに対し、入力されるデ
ータが供給されるレジスタを限定することにより回路を
簡略化することが可能であり、たとえば、入力段である
1番目と出力段であるn番目のレジスタにだけ入力直後
のデータが供給されるようにすることができる。そのた
めには、n番目の選択手段は、さらに、1番目のレジス
タの出力も選択可能とし、制御手段では、n番目のレジ
スタにデータを書き込み可能となったときに、n−1番
目のレジスタにデータがなく、1番目のレジスタにデー
タがないときは1番目のレジスタの入力がn番目のレジ
スタに供給され、1番目のレジスタにデータがあるとき
は1番目のレジスタの出力がn番目のレジスタに供給さ
れるようにn番目の選択手段を制御すれば良い。すなわ
ち、n番目のレジスタの制御工程において、n番目のレ
ジスタにデータを書き込み可能となったときに、n−1
番目のレジスタにデータがなく、1番目のレジスタにデ
ータがないときは1番目のレジスタの入力をn番目のレ
ジスタに供給し、1番目のレジスタにデータがあるとき
は1番目のレジスタの出力をn番目のレジスタに供給す
る。
According to the memory device and the control method,
It is necessary to form a circuit so that input data can be supplied to all registers. On the other hand, it is possible to simplify the circuit by limiting the registers to which the input data is supplied, for example, immediately after inputting only to the first input stage and the n-th output stage register. Can be supplied. For this purpose, the n-th selecting means further enables the output of the first register to be selected, and the control means sets the n-th register to the (n-1) -th register when data can be written to the n-th register. When there is no data and there is no data in the first register, the input of the first register is supplied to the nth register. When there is data in the first register, the output of the first register is the nth register. The nth selection means may be controlled so as to be supplied to. That is, in the control step of the n-th register, when data can be written to the n-th register, n-1
When there is no data in the first register and there is no data in the first register, the input of the first register is supplied to the nth register. When there is data in the first register, the output of the first register is output. Supply to the nth register.

【0009】最終の出力段であるn番目のレジスタの他
には、1番目のレジスタのみが入力データを受け入れで
きるようにしたときに、入力されたデータを保持するの
に必要な数だけのレジスタをシーケンシャルに接続する
方法としては、n/2+1と同じまたは大きな整数であ
るj番目(jは次の条件を満足する整数である。n/2
+1<=j<=n)のレジスタに対しj−1番目のレジ
スタの出力、n−j+1番目のレジスタの入力または出
力を選択して供給可能なj番目の選択手段を設け、制御
手段では、j番目のレジスタにデータを書き込み可能と
なったときに、j−1番目のレジスタにデータがなく、
n−j+1番目のレジスタにデータがないときはn−j
+1番目のレジスタの入力がi番目のレジスタに供給さ
れ、n−j+1番目のレジスタにデータがあるときはn
−j+1番目の出力がj番目のレジスタに供給されるよ
うにj番目の選択手段を制御することができる。このメ
モリ装置においては、出力段であるn番目のレジスタお
よび入力段である1番目のレジスタに近い側のレジスタ
に順番にデータが格納され、データが格納されたレジス
タ間ではシーケンシャルにデータが転送される。
In addition to the n-th register, which is the final output stage, when only the first register can accept input data, the number of registers required to hold the input data is equal to the number of registers. Are sequentially connected to a j-th integer (j is an integer satisfying the following condition: n / 2), which is the same or a large integer as n / 2 + 1.
+1 <= j <= n), a j-th selecting means capable of selecting and supplying the output of the (j-1) -th register and the input or output of the (n-j + 1) -th register is provided. When data can be written to the j-th register, there is no data in the (j-1) -th register.
n-j when there is no data in the (n-j + 1) th register
When the input of the (+1) th register is supplied to the i-th register and n−j + 1-th register has data, n
The j-th selecting means can be controlled so that the (j + 1) -th output is supplied to the j-th register. In this memory device, data is sequentially stored in an n-th register which is an output stage and a register closer to a first register which is an input stage, and data is sequentially transferred between registers in which data is stored. You.

【0010】[0010]

【発明の実施の形態】以下に図面を参照して、本発明の
実施の形態についてさらに説明する。図1に、本発明の
メモリ装置の一例の概略構成を示してある。このメモリ
装置10は、0番目からn−1番目までのn個(nは整
数)の8ビットのレジスタREG(0)からREG(n
−1)(以降においてはREG、または、REG(i)
(iは整数)等によりレジスタを示す)がシリアルに接
続されており、入力段であるREG(0)に入力される
入力データDIをシリアルに各REGに転送し、出力段
であるREG(n−1)から出力データDOUTとして
出力するFIFOとしての機能を備えている。したがっ
て、上述した1番目からn番目のレジスタは、本例では
0番目からn−1番目のレジスタに対応しており、他の
セレクタなどについても同様である。
Embodiments of the present invention will be further described below with reference to the drawings. FIG. 1 shows a schematic configuration of an example of the memory device of the present invention. The memory device 10 includes n (n is an integer) 8-bit registers REG (0) to REG (n
-1) (hereinafter REG or REG (i)
(I is an integer) indicating a register is serially connected, and the input data DI input to the input stage REG (0) is serially transferred to each REG, and the output stage REG (n -1), a function as a FIFO for outputting as output data DOUT is provided. Therefore, the first to nth registers correspond to the 0th to (n-1) th registers in this example, and the same applies to other selectors and the like.

【0011】メモリ装置10は、さらに、各々のレジス
タREGに入力するデータを選択する0番目からn−1
番目までのn個のセレクタSEL(0)からSEL(n
−1)(以降においてはSEL、または、SEL(i)
(iは整数)等によりセレクタを示す)と、これらのS
ELを制御する制御回路11とを備えている。各々のS
ELは、3入力であり、i番目のSEL(i)は、入力
Aの前段のレジスタであるREG(i−1)の出力と、
入力Bの入力データDIと、入力Cの当段のレジスタで
あるREG(i)の出力を選択できるようになってい
る。なお、SEL(0)は前段のREGの出力の変わり
に「00000000」が入力Aに入力されている。
[0011] The memory device 10 further selects the data to be input to each register REG from the 0th to n-1
The n selectors SEL (0) to SEL (n
-1) (hereinafter SEL or SEL (i)
(I is an integer) and indicates a selector).
And a control circuit 11 for controlling the EL. Each S
EL has three inputs, and the i-th SEL (i) is the output of REG (i-1), which is the previous register of input A,
The input data DI of the input B and the output of the REG (i) which is the register at the current stage of the input C can be selected. In addition, “00000000” is input to the input A of the SEL (0) instead of the output of the REG in the preceding stage.

【0012】したがって、本例のメモリ装置10は、i
番目のREG(i)にi−1番目のREG(i−1)の
出力が供給されており、SEL(i)の入力Aを選択す
ると、データが入力される1番目のレジスタから、デー
タが出力されるn番目のレジスタに順番にデータを転送
可能なメモリ装置となっている。そして、データを入力
および出力しない場合は、入力Cを選択することによ
り、各REG(i)に保持されているデータが維持され
る。さらに、SEL(i)の入力Bには入力データDI
が接続されており、i−1番目のREG(i−1)にデ
ータがないときは、入力データDIを直にREG(i)
に格納することができる。すなわち、出力段であるn−
1番目のREG(n−1)においても、n−2番目のR
EG(n−2)にデータがないときは、入力データDI
を選択して出力段のレジスタREG(n−1)にストア
することができる。したがって、本例のメモリ装置10
においては、書き込み要求があると、そのときに供給さ
れた入力データDIは、まず、出力段のREG(n−
1)にストアされる。このため、読み出し要求がある
と、遅延なく、その直前に入力された入力データDIを
出力データDOUTとして出力することができる。
Therefore, the memory device 10 of the present embodiment has
The output of the (i-1) th REG (i-1) is supplied to the REG (i), and when the input A of SEL (i) is selected, data is output from the first register to which the data is input. The memory device is capable of sequentially transferring data to the output n-th register. When data is not input or output, the data held in each REG (i) is maintained by selecting input C. Further, input data DI is input to input B of SEL (i).
Is connected, and when there is no data in the (i-1) th REG (i-1), the input data DI is directly input to REG (i).
Can be stored. That is, the output stage n-
Also in the first REG (n-1), the n-2nd R
If there is no data in EG (n-2), the input data DI
Can be selected and stored in the register REG (n-1) of the output stage. Therefore, the memory device 10 of the present example
In, when there is a write request, the input data DI supplied at that time is first supplied to the output stage REG (n-
Stored in 1). Therefore, when there is a read request, the input data DI input immediately before can be output as the output data DOUT without delay.

【0013】図2に、8個のレジスタREG0からRE
G8を有する本例のメモリ装置10において、データが
書き込みおよび読み込み(読み出し)される様子を示し
てある。まず、D0からD2のデータが順番にメモリ装
置10に供給され書き込まれると、図2(a)に示すよ
うに、出力段であるREG7から順番に入力段であるR
EG0に向かってデータD0、D1およびD2がREG
7、REG6およびREG5にそれぞれ格納される。次
に、新しいデータD3が書き込まれると、図2(b)に
示すように、REG7、REG6およびREG5の内容
は変わらずに、次に入力段に近いREG4にデータD3
が格納される。
FIG. 2 shows eight registers REG0 to REG0.
In the memory device 10 of the present example having G8, data is written and read (read). First, when data from D0 to D2 is supplied to and written to the memory device 10 in order, as shown in FIG. 2A, REG7, which is the output stage, and R, which is the input stage, in order.
Data D0, D1 and D2 are REG-bound to EG0.
7, REG6 and REG5. Next, when new data D3 is written, as shown in FIG. 2B, the contents of REG7, REG6 and REG5 do not change, and data D3 is stored in REG4 next to the next input stage.
Is stored.

【0014】一方、データD3が書き込まれる代わり
に、図2(a)の状態で読み出しが行われると、図2
(c)に示すように、REG7のデータD0がDOUT
に出力され、REG6のデータD1がREG7にシフト
され、REG5のデータD2がREG6にシフトされ
る。さらに、図2(a)の状態で、読み出しと書き込み
が同時に行われると、図2(d)に示すように、REG
7のデータD0がDOUTに出力され、REG6のデー
タD1がREG7にシフトされ、REG5のデータD2
がREG6にシフトされ、さらに、新しいデータD3が
REG5に格納される。
On the other hand, if reading is performed in the state of FIG. 2A instead of writing data D3, FIG.
As shown in (c), data D0 of REG7 is DOUT
And the data D1 of REG6 is shifted to REG7, and the data D2 of REG5 is shifted to REG6. Further, when reading and writing are performed simultaneously in the state of FIG. 2A, as shown in FIG.
7 is output to DOUT, the data D1 of REG6 is shifted to REG7, and the data D2 of REG5 is
Are shifted to REG6, and new data D3 is stored in REG5.

【0015】このように、本例のメモリ装置10では、
メモリ装置10の制御回路11にライトイネーブル信号
(以降ではWE信号)が供給される書き込み時には、入
力側DIから供給される入力データはREG7、REG
6、REG5、REG4、REG3、REG2、REG
1およびREG0の順番で格納される。一方、制御回路
11にリードイネーブル信号(以降においてはRE信
号)が供給される読み出し時には、出力データは常にR
EG7から読み出される。そして、最終段(出力段、R
EG7)に近いREGから順にデータが格納され、1個
のデータが読み出されると、各々のREGに格納された
データは出力側に1段づつ移動するように制御される。
As described above, in the memory device 10 of the present embodiment,
At the time of writing in which a write enable signal (hereinafter, a WE signal) is supplied to the control circuit 11 of the memory device 10, input data supplied from the input side DI is REG7, REG.
6, REG5, REG4, REG3, REG2, REG
1 and REG0 are stored in this order. On the other hand, at the time of reading in which a read enable signal (hereinafter, an RE signal) is supplied to the control circuit 11, the output data is always R
Read from EG7. Then, the final stage (output stage, R
Data is stored in order from the REG close to EG7), and when one data is read, the data stored in each REG is controlled to move to the output side one by one.

【0016】図3に、上記のようにレジスタにデータが
格納されるように各々のSEL0からSEL7を制御す
る制御回路11の一例を示してある。本例の制御回路1
1は、次に入力側DIから入力されたデータが格納され
るレジスタの位置(段数)を示す信号WA0からWA7
を出力するデコーダ12と、WE信号およびRE信号に
よってポインタPをアップダウンしてデコーダ12から
適切な信号WA0からWA7が出力されるようにするカ
ウンタ13と、WE信号、RE信号およびWA0からW
A7信号のうち、適当な信号の組み合わせによりそれぞ
れのSEL0からSEL7に対して適切な選択信号S0
AからS7Cを出力する制御ロジックCTL0からCT
L7を備えている。
FIG. 3 shows an example of the control circuit 11 for controlling each of the SEL0 to SEL7 so that data is stored in the register as described above. Control circuit 1 of this example
1 is a signal WA0 to WA7 indicating the position (the number of stages) of a register in which data input from the next input side DI is stored.
, A counter 13 which raises and lowers the pointer P by the WE signal and the RE signal to output appropriate signals WA0 to WA7 from the decoder 12, and a WE signal, an RE signal and WA0 to W
Among the A7 signals, an appropriate selection signal S0 for each of SEL0 to SEL7 by an appropriate combination of signals.
Control logic CTL0 to CT outputting S7C from A
L7 is provided.

【0017】図4に、各々のCTL0からCTL7にお
けるロジックを示してある。たとえば、出力段であるR
EG7に対するデータの入力を選択するSEL7はCT
L7からの選択信号S7A、S7BおよびS7Cによっ
て制御される。選択信号S7Aは、図1に示したSEL
7の入力Aに接続されている前段のREG6のデータを
選択する信号であり、REG6からREG7にデータを
シフトする処理を行う。この選択信号S7Aは、図4に
示すように、RE信号のみが供給されたとき、あるい
は、WE信号およびRE信号が出力され、かつWA6信
号が出力されていないREG6にデータが格納されてい
るときに出力される。すなわち、本例のメモリ装置10
に対し読み出し要求があったときと、書き込みおよび読
み出し要求が同時にあり、前段のレジスタにデータが格
納されているときは、通常のFIFOメモリと同様にレ
ジスタ間で格納されているデータがドミノ式にシフトさ
れ、最終段のREG7に格納されているデータが出力さ
れる。
FIG. 4 shows the logic in each of CTL0 to CTL7. For example, the output stage R
SEL7 for selecting the data input to EG7 is CT
It is controlled by the selection signals S7A, S7B and S7C from L7. The selection signal S7A is the SEL shown in FIG.
7 is a signal for selecting the data of REG6 at the preceding stage connected to the input A of the REG7, and performs a process of shifting the data from REG6 to REG7. This selection signal S7A is, as shown in FIG. 4, when only the RE signal is supplied, or when the WE signal and the RE signal are output and data is stored in REG6 where the WA6 signal is not output. Is output to That is, the memory device 10 of the present embodiment
When a read request is issued and a write and read request are issued simultaneously and data is stored in the preceding register, the data stored between the registers is stored in a domino manner, as in a normal FIFO memory. The data is shifted and the data stored in the final stage REG7 is output.

【0018】選択信号S7Bは、図1に示したように、
SEL7の入力Bに接続されている入力データDIを選
択する信号であり、REG7に入力側のデータDIを直
に格納する。この選択信号S7Bは、図4に示すよう
に、WE信号のみが供給されWA7信号が出力されRE
G7にデータが格納されていないとき、または、WE信
号およびRE信号が供給されWA6信号が供給されてい
る前段のREG6にデータが格納されていないときに出
力される。すなわち、REG7にデータを書き込み可能
になったときで、REG6にデータが格納されていない
とき、本例では、WA7信号が出力されてREG7にデ
ータが格納されておらず(REG6にもデータが格納さ
れておらず)WE信号が出力されてREG7が書き込み
可能になったとき、または、WA6信号が出力されてR
EG6にデータが格納されておらずWE信号とRE信号
が出てREG7が書き込み可能になったときに、入力デ
ータDIがダイレクトに出力段のREG7に格納され
る。
The selection signal S7B is, as shown in FIG.
This signal selects the input data DI connected to the input B of the SEL7, and directly stores the input data DI in the REG7. As shown in FIG. 4, the selection signal S7B is supplied with only the WE signal, outputs the WA7 signal, and outputs
This signal is output when no data is stored in G7, or when no data is stored in REG6 in the preceding stage to which the WE signal and the RE signal are supplied and the WA6 signal is supplied. That is, when data can be written to REG7 and no data is stored in REG6, in this example, a WA7 signal is output and no data is stored in REG7 (data is also stored in REG6). When the WE signal is output and REG7 becomes writable, or when the WA6 signal is output and R
When no data is stored in the EG6 and the WE signal and the RE signal are output and the REG7 becomes writable, the input data DI is directly stored in the REG7 of the output stage.

【0019】選択信号S7Cは、図1に示したSEL7
の入力Cに接続されているREG7自身の出力を選択す
る信号であり、図4に示すように、選択信号S7Aまた
はS7Bが出力されていないときに出力され、REG7
に格納されたデータが保持される。他のSEL0からS
EL6にそれぞれ選択信号を供給する他のCTL0から
CTL6についても同様の論理が適用されており、0か
ら6番目のREGのうち、i番目のレジスタにデータを
書き込み可能になったときに、i−1番目のレジスタに
データがないときは、入力データDI、すなわち、0番
目のREGの入力をi番目のREGに格納できるように
なっている。したがって、図4に示したロジックを適用
することにより、図2に示したように、データが出力段
のレジスタから入力段のレジスタに向かって順番に書き
込まれ、読み出されるときは出力段から順番にデータが
読み出されるメモリ装置を提供することができる。な
お、0番目のSEL0に選択信号を供給するCTL0に
おいては、前段のREGがないので、REG0までデー
タが格納されているFULL信号をデコーダ12から出
力し、CTL0に供給している。
The selection signal S7C is the signal SEL7 shown in FIG.
REG7 connected to the input C of the REG7 itself, and is output when the selection signal S7A or S7B is not output, as shown in FIG.
Is stored. Other SEL0 to S
The same logic is applied to the other CTL0 to CTL6 which supply the selection signal to EL6, respectively. When data can be written to the i-th register among the 0th to 6th REGs, i- When there is no data in the first register, the input data DI, that is, the input of the 0th REG can be stored in the ith REG. Therefore, by applying the logic shown in FIG. 4, as shown in FIG. 2, data is sequentially written from the output stage register to the input stage register, and when data is read, the data is sequentially written from the output stage. A memory device from which data is read can be provided. Note that, in CTL0 that supplies a selection signal to the 0th SEL0, there is no REG at the previous stage, so a FULL signal in which data is stored up to REG0 is output from the decoder 12 and supplied to CTL0.

【0020】図5に、本発明の異なる例を示してある。
本例のメモリ装置15も、0番目からn−1番目までの
n個のREG(0)からREG(n−1)と、各々のR
EGに入力するデータを選択する0番目からn−1番目
までのn個のSEL(0)からSEL(n−1)と、こ
れらのSELを制御する制御回路11とを備えている。
本例のメモリ装置15においては、1番目からn番目ま
でのレジスタについては整数(n/2+1)番目、すな
わち、0番目からn−1番目までのREGについては整
数(n+1)/2番目(以降においてはJ番目(Jは整
数))のSEL(0)からSEL(J)は3入力であ
り、この範囲のi番目のSEL(i)は、入力Aに接続
された前段のレジスタであるREG(i−1)の出力
と、入力Bに接続された初期値DC、本例においては
「0」と、入力Cに接続された当段のレジスタであるR
EG(i)の出力を選択できるようになっている。な
お、SEL(0)は前段のREGの出力の代わりに入力
データDIが選択できるようになっている。また、本例
のREGは9ビットであり、0から7ビットまでに8ビ
ットの入力データDIが格納され、9ビット目には、入
力データDIと共に書き込まれ、データの有無を示すフ
ラグ「1」が格納されるようになっている。
FIG. 5 shows a different example of the present invention.
The memory device 15 of this example also has n REG (0) to REG (n-1) from the 0th to the (n-1) th, and each R
There are provided n SEL (0) to SEL (n-1) from 0th to n-1th for selecting data to be input to the EG, and a control circuit 11 for controlling these SELs.
In the memory device 15 of this example, the first to n-th registers are integer (n / 2 + 1) th, ie, the REGs from 0 to n-1 are integers (n + 1) / 2 (hereinafter referred to as integers). SEL (0) to SEL (J) of the J-th (J is an integer) have three inputs, and the i-th SEL (i) in this range is a register REG which is a previous stage connected to the input A. The output of (i-1), the initial value DC connected to the input B, "0" in this example, and the register R of this stage connected to the input C
The output of EG (i) can be selected. Note that SEL (0) allows input data DI to be selected instead of the output of the previous stage REG. The REG of the present example is 9 bits, and the input data DI of 8 bits is stored from 0 to 7 bits. The ninth bit is written together with the input data DI, and the flag “1” indicating the presence / absence of data is stored. Is stored.

【0021】一方、J+1番目からn−1番目までのS
EL(J+1)からSEL(n−1)は5入力であり、
この範囲のj番目(jは整数)のSEL(j)は、入力
Aに接続された前段のレジスタであるREG(j−1)
の出力と、入力Bに接続されたREG(n−j−1)
(1番目からn番目のシステムではn−j+1に相当)
の出力と、入力Cに接続されたREGの出力(n−j−
1)の入力、すなわち、REG(n−j−2)の出力
と、入力Dに接続された初期値DC(本例においては
「0」)と、入力Eに接続された当段のレジスタである
REG(j)の出力を選択できるようになっている。し
たがって、最終段のSEL(n−1)では、REG
(0)の入力、すなわち、入力データDIを最終段のR
EG(n−1)に格納できるようになっており、本例の
メモリ装置15においても最初の入力データDIを最終
段(出力段)のREG(n−1)に格納し、次の読み出
し時には遅延無くメモリ装置15から出力データDOU
Tを出力できるようになっている。
On the other hand, S + 1 from the (J + 1) th to the (n-1) th
EL (J + 1) to SEL (n-1) are 5 inputs,
The j-th (j is an integer) SEL (j) of this range is REG (j-1) which is the previous register connected to the input A.
And the REG (n-j-1) connected to the input B
(Equivalent to n-j + 1 in the first to n-th systems)
And the output of the REG connected to the input C (n−j−
The input of 1), that is, the output of REG (n−j−2), the initial value DC (“0” in this example) connected to the input D, and the register of this stage connected to the input E An output of a certain REG (j) can be selected. Therefore, in the last stage SEL (n-1), REG
(0), that is, the input data DI
EG (n-1), the first input data DI is also stored in the final stage (output stage) REG (n-1) in the memory device 15 of this example, and at the time of the next read-out. Output data DOU from memory device 15 without delay
T can be output.

【0022】図6および図7に、8個のレジスタREG
0からREG7を備えた本例のメモリ装置15を例に、
データD0からD4が格納される様子を示してある。本
例のメモリ装置15においては、書き込み時には、デー
タはREG7またはREG0にのみ書き込まれ、REG
0に書き込まれたデータはREG6、REG1、REG
5、REG2、REG4およびREG3の順に各レジス
タを埋めるように転送される。そして、各レジスタにデ
ータが格納されると、REG0からREG7に順番にデ
ータがシフトされ、8段のFIFOと同様の機能を果た
す。一方、読み出し時にはデータは常にREG7から読
み出される。
FIGS. 6 and 7 show eight registers REG.
Taking the memory device 15 of the present example having REG7 from 0 as an example,
The state where data D0 to D4 are stored is shown. In the memory device 15 of this example, at the time of writing, data is written only to REG7 or REG0,
Data written to 0 is REG6, REG1, REG
5, REG2, REG4, and REG3 are transferred in such a manner as to fill each register. Then, when data is stored in each register, the data is sequentially shifted from REG0 to REG7, and performs the same function as the eight-stage FIFO. On the other hand, at the time of reading, data is always read from REG7.

【0023】まず、図6(a)に示すように、REG
7、REG0およびREG6にデータD0、D2および
D1が格納されており、ここで書き込みが行われると、
図6(b)に示すように、REG7およびREG6のデ
ータD0およびD1はそのままで、REG1にREG0
のデータD2が転送され、REG0に新しいデータD3
が格納される。一方、図6(a)に示された状態で、読
み出しが行われると、図6(c)に示すように、REG
0のデータはそのままで、REG7にREG6のデータ
D1が転送され、REG6は書き込み可能な状態とな
る。さらに、図6(a)に示された状態で、書き込みお
よび読み出しが行われると、図6(d)に示すように、
REG7にREG6のデータD1が転送され、REG6
にREG0のデータD2がシフトされ、REG0に新し
いデータD3が格納される。
First, as shown in FIG.
7, REG0 and REG6 store data D0, D2 and D1, and when writing is performed here,
As shown in FIG. 6B, the data D0 and D1 of REG7 and REG6 are left as they are, and REG0 is stored in REG1.
Is transferred to REG0, and new data D3 is stored in REG0.
Is stored. On the other hand, when reading is performed in the state shown in FIG. 6A, as shown in FIG.
The data D1 of REG6 is transferred to REG7 while the data of 0 remains unchanged, and REG6 is in a writable state. Further, when writing and reading are performed in the state shown in FIG. 6A, as shown in FIG.
The data D1 of REG6 is transferred to REG7, and REG6
Is shifted to REG0, and new data D3 is stored in REG0.

【0024】次に図7(a)に示すように、REG7、
REG0、REG6およびREG1にデータD0、D
3、D1、D2が格納されており、ここで書き込みが行
われると、図7(b)に示すように、REG7およびR
EG6のデータD0およびD1はそのままで、REG5
にREG1のデータD2が転送され、REG1にREG
0のデータD3が転送され、REG0に新しいデータD
4が格納される。一方、図7(a)に示された状態で、
読み出しが行われると、図7(c)に示すように、RE
G0のデータはそのままで、REG7にREG6のデー
タD1が転送され、REG6にREG1のデータD2が
転送され、REG1は書き込み可能な状態なる。さら
に、図7(a)に示された状態で、書き込みおよび読み
出しが行われると、図7(d)に示すように、REG7
にREG6のデータD1が転送され、REG6にREG
1のデータD2が転送され、REG1にREG0のデー
タD3が転送され、REG0に新しいデータD4が格納
される。
Next, as shown in FIG.
Data D0, D are stored in REG0, REG6 and REG1.
3, D1, and D2 are stored. When writing is performed here, as shown in FIG.
The data D0 and D1 of EG6 remain as they are, and REG5
Is transferred to REG1, and REG1 is transferred to REG1.
0 data D3 is transferred, and new data D
4 is stored. On the other hand, in the state shown in FIG.
When reading is performed, as shown in FIG.
The data D0 of REG6 is transferred to REG7, the data D2 of REG1 is transferred to REG6, and the REG1 is in a writable state while the data of G0 remains as it is. Further, when writing and reading are performed in the state shown in FIG. 7A, as shown in FIG.
REG6 data D1 is transferred to REG6.
1 data D2 is transferred, REG1 data D3 is transferred to REG1, and new data D4 is stored in REG0.

【0025】図8に、上記のようにレジスタにデータが
格納されるように各々のSEL0からSEL7を制御す
る制御回路11の一例を示してある。本例の制御回路1
1は、各々のレジスタにデータが格納されるか否かを示
す8ビット目のフラグデータφf(図面上ではQn
[8])を用い、適当なレジスタのフラグデータφfと、
WE信号およびRE信号を組み合わせによりそれぞれの
SEL0からSEL7に対して適切な選択信号を出力す
る制御ロジックCTL0からCTL7を備えている。
FIG. 8 shows an example of the control circuit 11 for controlling each of the SEL0 to SEL7 so that the data is stored in the register as described above. Control circuit 1 of this example
1 is flag data φf of the eighth bit indicating whether data is stored in each register (Qn in the drawing)
[8]), the flag data φf of an appropriate register and
Control logics CTL0 to CTL7 are provided to output appropriate selection signals to the respective SEL0 to SEL7 by combining the WE signal and the RE signal.

【0026】図9および図10に、各々のCTL0から
CTL7におけるロジックを示してある。たとえば、出
力段であるREG7に対するデータの入力を選択するS
EL7はCTL7からの選択信号S7A、S7B、S7
C、S7DおよびS7Eによって制御される。選択信号
S7Aは、図5に示したSEL7の入力Aに接続されて
いる前段のREG6のデータを選択する信号であり、R
EG6からREG7にデータをシフトする処理を行う。
この選択信号S7Aは、図9に示すように、RE信号の
みが供給され、REG6にデータがあるときに出力され
る。すなわち、本例のメモリ装置15に読み出し要求が
あり、当段のレジスタが書き込み可能な状態となったと
きに、前段のレジスタにデータがあるときはFIFOメ
モリと同様にレジスタ間で格納されたデータがドミノ式
にシフトされ、最終段のREG7に格納されているデー
タが出力される。
FIGS. 9 and 10 show the logic in each of CTL0 to CTL7. For example, S which selects input of data to REG7 which is an output stage
EL7 is a selection signal S7A, S7B, S7 from CTL7.
C, controlled by S7D and S7E. The selection signal S7A is a signal for selecting the data of the previous REG6 connected to the input A of the SEL7 shown in FIG.
A process of shifting data from EG6 to REG7 is performed.
As shown in FIG. 9, the selection signal S7A is output when only the RE signal is supplied and there is data in REG6. That is, when there is a read request to the memory device 15 of the present example and the register at this stage is in a writable state, and there is data in the register at the previous stage, the data stored between the registers as in the FIFO memory. Is shifted in a domino manner, and the data stored in the REG 7 at the last stage is output.

【0027】選択信号S7Bは、図5に示したSEL7
の入力Bに接続されているREG0から出力されるデー
タを選択する信号であり、入力段と出力段との間にある
中間のレジスタを適宜バイパスしてデータを転送する処
理を行う。この選択信号S7Bは、図9に示すように、
RE信号のみが供給され、REG6にデータがなく、R
EG0にデータがあるときに出力される。すなわち、本
例のメモリ装置15に読み出し要求があり、当段のレジ
スタが書き込み可能な状態となったときに前段のレジス
タにデータがなく、REG(n−j−1)すなわち、最
終段のREG7においてはREG0にデータあるとき
は、REG1からREG6をバイパスしてREG0のデ
ータをREG7に格納する。このため、次の読み出し要
求ではREG1からREG6に転送する遅延を除いて、
REG0に格納されていたデータをREG7から出力デ
ータDOUTを出力することができる。
The selection signal S7B is the signal SEL7 shown in FIG.
This signal selects data output from the REG0 connected to the input B. The signal performs a process of transferring data by appropriately bypassing an intermediate register between the input stage and the output stage. This selection signal S7B is, as shown in FIG.
Only the RE signal is supplied, there is no data in REG6, and R
Output when there is data in EG0. That is, when a read request is issued to the memory device 15 of the present example and the register of this stage becomes writable, there is no data in the register of the previous stage, and REG (n−j−1), that is, REG7 of the last stage In, when there is data in REG0, the data in REG0 is stored in REG7 by bypassing REG1 to REG6. For this reason, in the next read request, except for the transfer delay from REG1 to REG6,
The data stored in REG0 can be output as output data DOUT from REG7.

【0028】選択信号S7Cは、図5に示したSEL7
の入力Cに接続されているREG0の入力データ、すな
わち、メモリ装置15の入力データDIを選択する信号
であり、最初に供給された入力データDIを他のレジス
タをバイパスして出力段のレジスタREG7に転送する
処理を行う。この選択信号S7Cは、図9に示すよう
に、REG7にデータがないとき、すなわち、前段のR
EG6にもデータがなく書き込み要求のみがメモリ装置
15に出されたとき、または、書き込みおよび読み出し
が同時に出され、REG7にのみデータがある、すなわ
ち、REG6のみならずREG0にもデータがないとき
に出力される。すなわち、本例のメモリ装置15に書き
込み、または読み出しと書き込み要求があり、当段のレ
ジスタが書き込み可能な状態となったときに前段のレジ
スタにデータがなく、REG(n−j−1)すなわち、
最終段のREG7においてはREG0にもデータがない
ときは、全てのレジスタバイパスしてREG0の入力、
すなわち、メモリ装置15の入力データDIをREG7
に格納する。このため、次の読み出し要求ではREG0
からREG6に転送する遅延を除いて、REG7から出
力データDOUTを出力することができる。
The selection signal S7C corresponds to SEL7 shown in FIG.
Of the REG0 connected to the input C of the memory device 15, that is, a signal for selecting the input data DI of the memory device 15. The input data DI supplied first bypasses the other registers, and the register REG7 of the output stage. Perform processing to transfer to. As shown in FIG. 9, this selection signal S7C indicates that there is no data in REG7,
When there is no data in EG6 and only a write request is issued to the memory device 15, or when writing and reading are simultaneously issued and there is data only in REG7, that is, when there is no data in REG6 or REG0. Is output. That is, there is a write or read and write request to the memory device 15 of the present example, and when the register at this stage is in a writable state, there is no data in the register at the previous stage, and REG (n-j-1), ,
In the last stage REG7, if there is no data in REG0, all registers are bypassed and REG0 is input.
That is, the input data DI of the memory device 15 is
To be stored. Therefore, in the next read request, REG0
The output data DOUT can be output from the REG7 except for the delay of transferring the data from the REG7 to the REG6.

【0029】選択信号S7Dは、図5に示したSEL7
の入力Dに接続されている初期データDCを選択する信
号であり、当該レジスタの9ビット目の、当該レジスタ
にデータが格納されているか否かを示すフラグデータφ
fをクリアする処理を行う。この選択信号S7Dは、図
9に示すように、書き込み要求がなく、読み出し要求だ
けがあり、REG(n−j−1)、すなわち、REG7
においてはREG0にデータがないときに出力される。
したがって、REG7に書き込まれるデータが本例のメ
モリ装置15に格納されていないときは、REG7にデ
ータのフラグデータφfをデータがない状態にクリアす
ることができる。
The selection signal S7D corresponds to SEL7 shown in FIG.
Is a signal for selecting the initial data DC connected to the input D of the register D. The flag data φ indicating whether data is stored in the register at the ninth bit of the register.
The processing for clearing f is performed. As shown in FIG. 9, this selection signal S7D has no write request but only a read request, and REG (n-j-1), that is, REG7
Is output when there is no data in REG0.
Therefore, when the data to be written to the REG 7 is not stored in the memory device 15 of the present example, the flag data φf of the data in the REG 7 can be cleared to a state where there is no data.

【0030】選択信号S7Eは、図5に示したSEL7
の入力Eに接続されているREG7自身の出力を選択す
る信号であり、図9に示すように、選択信号S7Aから
S7Dが出力されていないときに出力され、REG7に
格納されたデータが保持される。
The selection signal S7E corresponds to SEL7 shown in FIG.
This signal is used to select the output of the REG 7 connected to the input E of the REG 7, and is output when the selection signals S7A to S7D are not output, as shown in FIG. 9, and the data stored in the REG 7 is held. You.

【0031】SEL4からSEL6にそれぞれ選択信号
を供給する他のCTL4からCTL6についても同様の
論理が適用されており、4から6番目のREGのうち、
j番目のレジスタにデータを書き込み可能となったとき
に、j−1番目のレジスタにデータがないときは、RE
G(n−j−1)にデータがあれば、そのデータを、無
ければ、そのレジスタの入力、すなわち、REG(n−
j−2)のデータをj番目のREGに格納できるように
なっている。たとえば、6番目のREGに対しては、前
段のREG5のデータを選択する選択信号S6Aは、R
E信号のみが供給され、REG5にデータがあるときに
出力される。REG1のデータを選択する選択信号S6
Bは、RE信号のみが供給され、REG5にデータがな
く、REG1にデータがあるときに出力される。REG
0のデータを選択する選択信号S6Cは、REG6にデ
ータがないと共に読み出し要求もなく、REG0にデー
タがあって書き込み要求のみがメモリ装置15に出され
たとき、または、書き込みおよび読み出しが同時に出さ
れ、REG6にはデータがあるがREG1にはデータが
ないときに出力される。初期データを選択する選択信号
S6Dは、書き込み要求がなく、読み出し要求だけがあ
り、REG1にデータがないときに出力される。さらに
自己のデータを選択する選択信号S6Eは、選択信号S
6AからS6Dが出力されていないときに出力され、R
EG6に格納されたデータが保持される。
The same logic is applied to the other CTLs 4 to 6 which supply the selection signals to the SEL 4 to SEL 6 respectively.
When data can be written to the j-th register and there is no data in the (j-1) -th register, RE
If there is data in G (n-j-1), the data is input. If there is no data, the input to the register, that is, REG (n-
The data of j-2) can be stored in the j-th REG. For example, for the sixth REG, the selection signal S6A for selecting the data of the previous REG5 is R
Only the E signal is supplied and output when there is data in REG5. Selection signal S6 for selecting REG1 data
B is output when only the RE signal is supplied, there is no data in REG5, and there is data in REG1. REG
The selection signal S6C for selecting the data of 0 is either when there is no data in REG6 and there is no read request. , REG6 have data but REG1 has no data. The selection signal S6D for selecting initial data is output when there is no write request, only a read request, and there is no data in REG1. Further, the selection signal S6E for selecting the own data is the selection signal S6E.
6A is output when S6D is not output, and R
The data stored in EG6 is retained.

【0032】一方、SEL0からSEL3にそれぞれ選
択信号を供給する他のCTL0からCTL3について
は、中間のレジスタをバイパスする必要がないときは、
前段のレジスタのデータを転送する処理が行われる。た
とえば、入力段であるREG0に対するデータの入力を
選択するSEL0はCTL0からの選択信号S0A、S
0BおよびS7Cによって制御される。選択信号S0A
は、図5に示したSEL0の入力Aに接続されている前
段のレジスタ、REG0においてはメモリ装置15の入
力データDIを選択する信号であり、入力データDIを
REG0に格納する処理を行う。この選択信号S0A
は、図10に示すように、WE信号のみが供給され(R
E信号が供給されておらず)、このREG0に先行して
データを転送する必要があるREG7にデータがないと
き、または、WE信号が供給され、当段のREG0にデ
ータがないとき、すなわち、REG0が書き込み可能で
あるときに出力される。
On the other hand, for the other CTL0 to CTL3 for supplying a selection signal to SEL0 to SEL3, respectively, when there is no need to bypass an intermediate register,
A process of transferring the data of the preceding register is performed. For example, SEL0 for selecting the input of data to REG0, which is an input stage, is selected from selection signals S0A, S0 from CTL0.
0B and S7C. Select signal S0A
Is a signal at the previous stage connected to the input A of SEL0 shown in FIG. 5, and is a signal for selecting input data DI of the memory device 15 in REG0, and performs processing for storing the input data DI in REG0. This selection signal S0A
As shown in FIG. 10, only the WE signal is supplied (R
E signal is not supplied) and there is no data in REG7 which needs to transfer data prior to this REG0, or when the WE signal is supplied and there is no data in REG0 of this stage, that is, Output when REG0 is writable.

【0033】すなわち、REG(i)(iはJ−1以下
の整数)においては、当該レジスタREG(i)が書き
込み可能な状態で、当該レジスタに先行してデータを格
納する必要があるREG(n−i−1)(1番目からn
番目のシステムではREG(n−i+1))にデータが
あるときは、前段のレジスタREG(i−1)のデータ
を転送して格納する。
That is, in REG (i) (i is an integer equal to or less than J-1), it is necessary to store data prior to the register while the register REG (i) is in a writable state. ni-1) (from the first to n
In the second system, when there is data in REG (n-i + 1)), the data in the preceding register REG (i-1) is transferred and stored.

【0034】選択信号S0Bは、図5に示したSEL0
の入力Bに接続されている初期データDCを選択する信
号であり、当該レジスタの9ビット目の、当該レジスタ
にデータが格納されているか否かを示すフラグデータφ
fをクリアする処理を行う。この選択信号S0Bは、図
10に示すように、書き込み要求がなく、読み出し要求
だけがあり、当該レジスタに先行してデータを格納する
REG(n−i−1)にデータをシフトするREG(n
−i−2)にデータがないときは、当該レジスタREG
(i)からREG(n−i−1)にデータが転送されて
REG(i)にはなくなるので、REG(i)のフラグ
データφfをクリアする。すなわち、REG0について
は、RE信号のみが供給され、REG6にデータがなけ
れば、REG0のデータがREG7に書き込まれるの
で、REG0にはデータがなくなり、信号S0Bにより
フラグデータφfも含めてクリアされる。
The selection signal S0B is SEL0 shown in FIG.
Is a signal for selecting the initial data DC connected to the input B of the register B. The flag data φ indicating whether or not data is stored in the ninth bit of the register is stored in the register.
The processing for clearing f is performed. As shown in FIG. 10, this select signal S0B has no write request, only a read request, and REG (n-1) which shifts data to REG (ni-1) which stores data prior to the register.
-I-2), when there is no data, the register REG
Since the data is transferred from (i) to REG (ni-1) and no longer exists in REG (i), the flag data φf of REG (i) is cleared. In other words, for REG0, only the RE signal is supplied, and if there is no data in REG6, the data in REG0 is written to REG7, so that REG0 has no data and is cleared by signal S0B including flag data φf.

【0035】選択信号S0Cは、図5に示したSEL0
の入力Cに接続されているREG0自身の出力を選択す
る信号であり、図10に示すように、選択信号S0Aま
たはS0Bが出力されていないときに出力され、REG
0に格納されたデータが保持される。SEL1からSE
L3にそれぞれ選択信号を供給する他のCTL1からC
TL3についても同様の論理が適用されており、1から
3番目のREGのうち、i番目のレジスタにデータを書
き込み可能となったときに、先行してデータを格納する
レジスタにデータがあるときは前段のレジスタのデータ
をシフトすることにより先に説明したアルゴリズムにし
たがってメモリ装置15を構成するレジスタに順番にデ
ータが格納される。このため、本例のメモリ装置15に
おいては、8個のレジスタがシーケンシャルに接続され
ており、これらによってFIFOメモリが構成されてい
るが、格納されるデータの数がレジスタの総数よりもす
くないときには、そのデータの数に応じたレジスタでF
IFOが擬似的に構成され、無駄なレジスタ間の転送を
行わずにメモリ装置15に格納されたデータを出力する
ことができる。
The selection signal S0C is SEL0 shown in FIG.
This signal is used to select the output of REG0 itself connected to the input C of the REG0, and is output when the selection signal S0A or S0B is not output, as shown in FIG.
Data stored in 0 is retained. SEL1 to SE
C3 from other CTL1 which supplies a selection signal to L3, respectively.
The same logic is applied to TL3. When data can be written to the i-th register among the first to third REGs, if there is data in the register that stores data in advance, By shifting the data of the register at the preceding stage, the data is sequentially stored in the registers constituting the memory device 15 according to the algorithm described above. For this reason, in the memory device 15 of the present example, eight registers are sequentially connected, and a FIFO memory is configured by these. However, when the number of data to be stored is smaller than the total number of registers, F in the register corresponding to the number of data
The IFO is configured in a simulated manner, and can output data stored in the memory device 15 without performing unnecessary transfer between registers.

【0036】本例のメモリ装置15においては、中間の
レジスタを適宜バイパスして入力側と出力側のレジスタ
から順番にデータが格納されるようにしているが、中間
のレジスタをバイパスしてデータを格納するアルゴリズ
ムは本例に限定されることはなく、REG7、REG
0、REG6、REG5、REG4、REG3、REG
2およびREG1といった順番にデータを格納するもの
など種々のアルゴリズムが考えられる。しかしながら、
いずれにしても、最初のデータを出力段であるREG7
に格納可能にすることにより、データを出力するためだ
けに無駄なクロックを消費しないで済むので、無駄時間
を防ぎ、遅延のないドミノ式(シフトレジスタ型)のF
IFO(ファーストインファーストアウト)回路を提供
することができる。
In the memory device 15 of the present embodiment, data is stored in order from the input side and the output side by appropriately bypassing the intermediate register. However, the data is stored by bypassing the intermediate register. The algorithm to be stored is not limited to this example, and REG7, REG
0, REG6, REG5, REG4, REG3, REG
Various algorithms, such as those storing data in order of 2 and REG1, are conceivable. However,
In any case, the first data is output to the output stage REG7.
, It is possible to avoid wasting a clock only for outputting data, thereby preventing wasting time and preventing a domino-type (shift register type) F having no delay.
An IFO (first in first out) circuit can be provided.

【0037】[0037]

【発明の効果】以上に説明したように、本発明のメモリ
装置は、複数のレジスタがシーケンシャルに接続されて
FIFOとしての機能を備えたメモリ装置であり、さら
に、最終段または出力段のレジスタにデータを書き込み
可能となったときに、前段のレジスタにデータがないと
きは、1番目のレジスタの入力、すなわち、メモリ装置
の入力データを出力段のレジスタに供給して書き込みで
きるようになっている。このため、前段のレジスタにデ
ータがなくても、出力段のレジスタには常に次に出力さ
れるデータが格納されるので、このメモリ装置において
は出力要求(読み出し要求)があれば、常に遅延無くデ
ータを出力できる。すなわち、メモリ装置を構成する全
てのレジスタがデータで埋まっていない状態では、入力
されたデータを保持するのに必要な数だけのレジスタが
シーケンシャルに接続され、全てのレジスタ間をデータ
転送するためにクロックを浪費しないでデータを出力す
ることができる。したがって、本発明のメモリ装置にお
いては、FIFOとしての機能を有しながら最初のデー
タは遅延なく出力することができ、早くデータを必要と
するシステムに対してもFIFOメモリを組み込むこと
が可能となる。
As described above, the memory device according to the present invention is a memory device having a plurality of registers connected sequentially and having a function as a FIFO. When data can be written, if there is no data in the previous register, the input of the first register, that is, the input data of the memory device is supplied to the register of the output stage and can be written. . Therefore, even if there is no data in the previous stage register, the next output data is always stored in the output stage register. In this memory device, if there is an output request (read request), there is always no delay. Can output data. That is, in a state where all the registers constituting the memory device are not filled with data, as many registers as necessary to hold the input data are sequentially connected, and data is transferred between all the registers. Data can be output without wasting the clock. Therefore, in the memory device of the present invention, the first data can be output without delay while having the function as a FIFO, and the FIFO memory can be incorporated into a system that requires data quickly. .

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明に係るメモリ装置の概要を示すブロック
図である。
FIG. 1 is a block diagram showing an outline of a memory device according to the present invention.

【図2】図1に示すメモリ装置においてデータが格納さ
れる様子を示す図である。
FIG. 2 is a diagram showing how data is stored in the memory device shown in FIG. 1;

【図3】図1に示すメモリ装置の制御回路を示すブロッ
ク図である。
FIG. 3 is a block diagram illustrating a control circuit of the memory device illustrated in FIG. 1;

【図4】図3に示す制御回路の制御ロジックを示す図で
ある。
FIG. 4 is a diagram illustrating control logic of a control circuit illustrated in FIG. 3;

【図5】異なるメモリ装置の概要を示すブロック図であ
る。
FIG. 5 is a block diagram showing an outline of a different memory device.

【図6】図5に示すメモリ装置においてデータが格納さ
れる様子を示す図である。
FIG. 6 is a diagram showing how data is stored in the memory device shown in FIG. 5;

【図7】図5に示すメモリ装置においてデータが格納さ
れる様子をさらに示す図である。
7 is a diagram further illustrating how data is stored in the memory device illustrated in FIG. 5;

【図8】図5に示すメモリ装置の制御回路を示すブロッ
ク図である。
8 is a block diagram showing a control circuit of the memory device shown in FIG.

【図9】図8に示す制御回路の制御ロジックを示す図で
ある。
FIG. 9 is a diagram showing control logic of the control circuit shown in FIG.

【図10】図8に示す制御回路の制御ロジックをさらに
示す図である。
FIG. 10 is a diagram further illustrating control logic of the control circuit illustrated in FIG. 8;

【符号の説明】[Explanation of symbols]

10、15 メモリ装置 11 制御回路 12 デコーダ 13 カウンタ REG レジスタ SEL セレクタ CTL 制御ロジック WE 書き込み信号、RE 読み出し信号 10, 15 memory device 11 control circuit 12 decoder 13 counter REG register SEL selector CTL control logic WE write signal, RE read signal

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】 n個のレジスタを有し、i番目のレジス
タにi−1番目のレジスタの出力が供給され、データが
入力される1番目のレジスタから、データが出力される
n番目のレジスタに順番にデータを転送可能なメモリ装
置であって、 前記n番目のレジスタに対し、n−1番目のレジスタの
出力または前記1番目のレジスタの入力を選択して供給
できるn番目の選択手段と、 前記n番目のレジスタにデータを書き込み可能となった
ときに、前記n−1番目のレジスタにデータがないとき
は、前記1番目のレジスタの入力が前記n番目のレジス
タに供給されるように前記n番目の選択手段を制御する
制御手段とを有するメモリ装置。
1. An n-th register having n registers, wherein an output of an (i-1) -th register is supplied to an i-th register and data is output from a first register to which data is input. A memory device capable of sequentially transferring data to the n-th register, wherein an n-th selecting means capable of selecting and supplying an output of the (n-1) -th register or an input of the first register to the n-th register; When data can be written to the n-th register and there is no data in the (n-1) -th register, the input of the first register is supplied to the n-th register. Control means for controlling the n-th selecting means.
【請求項2】 請求項1において、前記i番目のレジス
タに対し、前記i−1番目のレジスタの出力または前記
1番目のレジスタの入力を選択して供給できるi番目の
選択手段を有し、 前記制御手段は、前記i番目のレジスタにデータを書き
込み可能となったときに、前記i−1番目のレジスタに
データがないときは、前記1番目のレジスタの入力が前
記i番目のレジスタに供給されるように前記i番目の選
択手段を制御するメモリ装置。
2. The i-th register according to claim 1, further comprising: i-th selecting means for selecting and supplying an output of the (i-1) -th register or an input of the first register to the i-th register; When the data can be written to the i-th register, if there is no data in the (i-1) -th register, the input of the first register is supplied to the i-th register. A memory device for controlling the i-th selecting means as described above.
【請求項3】 請求項1において、前記n番目の選択手
段は、さらに、前記1番目のレジスタの出力も選択可能
であり、 前記制御手段は、前記n番目のレジスタにデータを書き
込み可能となったときに、n−1番目のレジスタにデー
タがなく、前記1番目のレジスタにデータがないときは
前記1番目のレジスタの入力が前記n番目のレジスタに
供給され、前記1番目のレジスタにデータがあるときは
前記1番目のレジスタの出力が前記n番目のレジスタに
供給されるように前記n番目の選択手段を制御するメモ
リ装置。
3. The n-th selection means according to claim 1, wherein said n-th selection means can further select an output of said first register, and said control means can write data to said n-th register. When there is no data in the (n-1) th register and no data in the first register, the input of the first register is supplied to the nth register, and the data is stored in the first register. A memory device for controlling the n-th selecting means so that when there is, the output of the first register is supplied to the n-th register.
【請求項4】 請求項3において、j番目のレジスタに
対しj−1番目のレジスタの出力、n−j+1番目のレ
ジスタの入力または出力を選択して供給可能なj番目の
選択手段を有し、 前記制御手段は、前記j番目のレジスタにデータを書き
込み可能となったときに、前記j−1番目のレジスタに
データがなく、前記n−j+1番目のレジスタにデータ
がないときは前記n−j+1番目のレジスタの入力が前
記i番目のレジスタに供給され、前記n−j+1番目の
レジスタにデータがあるときは前記n−j+1番目の出
力が前記j番目のレジスタに供給されるように前記j番
目の選択手段を制御するメモリ装置。ただし、jは以下
の条件を満足する整数である。 n/2+1<=j<=n
4. The apparatus according to claim 3, further comprising j-th selection means capable of selecting and supplying the output of the (j-1) -th register and the input or output of the (n-j + 1) -th register with respect to the j-th register. The control means, when it becomes possible to write data to the j-th register, there is no data in the (j-1) -th register, and when there is no data in the (n-j + 1) -th register, the n- The input of the (j + 1) -th register is supplied to the i-th register, and when there is data in the (n-j + 1) -th register, the (j-j + 1) -th output is supplied to the j-th register. A memory device for controlling the second selecting means. Here, j is an integer satisfying the following condition. n / 2 + 1 <= j <= n
【請求項5】 n個のレジスタを有し、i番目のレジス
タにi−1番目のレジスタの出力が供給され、1番目の
レジスタに入力されるデータがn番目のレジスタから出
力されるメモリ装置の制御方法であって、 前記n番目のレジスタにデータを書き込み可能となった
ときに、n−1番目のレジスタにデータがないときは、
前記1番目のレジスタの入力を前記n番目のレジスタに
供給するn番目のレジスタの制御工程を有するメモリ装
置の制御方法。
5. A memory device having n registers, wherein an output of an (i-1) -th register is supplied to an i-th register, and data inputted to a first register is outputted from an n-th register. When data can be written to the n-th register and there is no data in the (n-1) -th register,
A control method for a memory device, comprising a step of controlling an n-th register for supplying an input of the first register to the n-th register.
【請求項6】 請求項5において、前記i番目のレジス
タにデータを書き込み可能となったときに、前記i−1
番目のレジスタにデータがないときは、前記1番目のレ
ジスタの入力を前記i番目のレジスタに供給するi番目
のレジスタの制御工程を有するメモリ装置の制御方法。
6. The data processing device according to claim 5, wherein when data can be written to the i-th register, the i-1
A method for controlling a memory device, comprising: a control step of an i-th register for supplying an input of the first register to the i-th register when there is no data in the first register.
【請求項7】 請求項5において、前記n番目のレジス
タの制御工程では、前記n番目のレジスタにデータを書
き込み可能となったときに、n−1番目のレジスタにデ
ータがなく、前記1番目のレジスタにデータがないとき
は前記1番目のレジスタの入力を前記n番目のレジスタ
に供給し、前記1番目のレジスタにデータがあるときは
前記1番目のレジスタの出力を前記n番目のレジスタに
供給するメモリ装置の制御方法。
7. The control method according to claim 5, wherein in the control step of the n-th register, when data can be written to the n-th register, the n-th register has no data, and the n-th register has no data. When there is no data in the register, the input of the first register is supplied to the n-th register. When there is data in the first register, the output of the first register is supplied to the n-th register. A method for controlling a memory device to be supplied.
【請求項8】 請求項7において、前記j番目のレジス
タにデータを書き込み可能となったときに、前記j−1
番目のレジスタにデータがなく、前記n−j+1番目の
レジスタにデータがないときは前記n−j+1番目のレ
ジスタの入力を前記j番目のレジスタに供給し、前記n
−j+1番目のレジスタにデータがあるときは前記n−
j+1番目の出力を前記j番目のレジスタに供給する前
記j番目の制御工程を有するメモリ装置の制御方法。た
だし、jは以下の条件を満足する整数である。 n/2+1<=j<=n
8. The method according to claim 7, wherein when data can be written to the j-th register, the j-1
When there is no data in the n-th register and there is no data in the (n-j + 1) -th register, the input of the (n-j + 1) -th register is supplied to the j-th register.
When there is data in the (j + 1) th register, n-
A control method for a memory device, comprising: the j-th control step of supplying a (j + 1) -th output to the j-th register. Here, j is an integer satisfying the following condition. n / 2 + 1 <= j <= n
JP2000338162A 2000-11-06 2000-11-06 Memory device and its control method Pending JP2002150763A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000338162A JP2002150763A (en) 2000-11-06 2000-11-06 Memory device and its control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000338162A JP2002150763A (en) 2000-11-06 2000-11-06 Memory device and its control method

Publications (1)

Publication Number Publication Date
JP2002150763A true JP2002150763A (en) 2002-05-24

Family

ID=18813415

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000338162A Pending JP2002150763A (en) 2000-11-06 2000-11-06 Memory device and its control method

Country Status (1)

Country Link
JP (1) JP2002150763A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7979605B2 (en) 2006-08-16 2011-07-12 Samsung Electronics Co., Ltd. Latency control circuit and method using queuing design method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62219391A (en) * 1986-03-20 1987-09-26 Fujitsu Ltd First-in first-out memory
JPH01188973A (en) * 1988-01-22 1989-07-28 Sharp Corp Data transmission equipment
JPH03127120A (en) * 1989-10-12 1991-05-30 Toshiba Corp First-in first-out storage device
JPH04134785A (en) * 1990-09-27 1992-05-08 Yokogawa Electric Corp First-in first-out memory device
JPH07192453A (en) * 1993-12-27 1995-07-28 Ricoh Co Ltd Fifo register and fifo device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62219391A (en) * 1986-03-20 1987-09-26 Fujitsu Ltd First-in first-out memory
JPH01188973A (en) * 1988-01-22 1989-07-28 Sharp Corp Data transmission equipment
JPH03127120A (en) * 1989-10-12 1991-05-30 Toshiba Corp First-in first-out storage device
JPH04134785A (en) * 1990-09-27 1992-05-08 Yokogawa Electric Corp First-in first-out memory device
JPH07192453A (en) * 1993-12-27 1995-07-28 Ricoh Co Ltd Fifo register and fifo device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7979605B2 (en) 2006-08-16 2011-07-12 Samsung Electronics Co., Ltd. Latency control circuit and method using queuing design method
US8230140B2 (en) 2006-08-16 2012-07-24 Samsung Electronics Co., Ltd. Latency control circuit and method using queuing design method

Similar Documents

Publication Publication Date Title
US6341318B1 (en) DMA data streaming
US4472788A (en) Shift circuit having a plurality of cascade-connected data selectors
JP2006518058A (en) Pipeline accelerator, related system and method for improved computing architecture
JP2002049582A (en) Reconstructible first-in/first-out mechanism
JP4414297B2 (en) Programmable logic device, configuration apparatus, and configuration method
JPH08235130A (en) Parallel processor
JP2001134527A (en) Adapter for bus switch, bridge for bus switch, bus switch, and bus switch system
US20050122982A1 (en) Weighted round-robin arbitrator
EP2437159B1 (en) Apparatus for data comparison and control method thereof
JP4144153B2 (en) Vector tail gating on computers with vector registers
JPH10232759A (en) Queue management control system
JP2002150763A (en) Memory device and its control method
JP2003281518A (en) Image processor and image processing method
JPWO2008099472A1 (en) Data switch method and circuit
US20030018867A1 (en) Method to manage multiple communication queues in an 8-bit microcontroller
US6671781B1 (en) Data cache store buffer
EP0454797A1 (en) An asynchronous time division multiplex switching system.
US6976141B2 (en) Pipelined multi-access memory apparatus and method
JP3442118B2 (en) Buffer circuit
US20230128600A1 (en) Neural network hardware accelerator data parallelism
JP2004062779A (en) Image processor
US6941418B1 (en) Integrated circuit and method outputting data
JP2964958B2 (en) ATM switch
JPH09319863A (en) Set data changing device for image processor
JP2748404B2 (en) Binary data memory

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071105

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101012

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110329