JP2002050172A - Fifo control circuit - Google Patents
Fifo control circuitInfo
- Publication number
- JP2002050172A JP2002050172A JP2000235727A JP2000235727A JP2002050172A JP 2002050172 A JP2002050172 A JP 2002050172A JP 2000235727 A JP2000235727 A JP 2000235727A JP 2000235727 A JP2000235727 A JP 2000235727A JP 2002050172 A JP2002050172 A JP 2002050172A
- Authority
- JP
- Japan
- Prior art keywords
- output
- input
- fifo
- signal
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Information Transfer Systems (AREA)
- Bus Control (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明はメモリのFIFO
(先入れ先出し)制御回路、特にバイトアクセス可能な
FIFO制御回路に関する。The present invention relates to a memory FIFO.
The present invention relates to a (first-in, first-out) control circuit, particularly to a FIFO control circuit capable of byte access.
【0002】[0002]
【従来の技術】斯かるFIFO制御回路の従来技術は、
例えば、特開平10−260786号公報の「磁気ディ
スクのデータ転送回路」、特開平7−84932号公報
の「データ転送制御装置および方法」および特開平5−
183440号公報の「符号化装置および復号化装置」
等に開示されている。2. Description of the Related Art The prior art of such a FIFO control circuit is as follows.
For example, "Data transfer circuit of magnetic disk" in JP-A-10-260786, "Data transfer control device and method" in JP-A-7-84932, and
183440, "Encoding device and decoding device"
Etc.
【0003】[0003]
【発明が解決しようとする課題】従来、磁気ディスク等
と外部インタフェース間でデータをやり取りする場合
に、磁気ディスクは、512バイト単位でデータを入出
力するのに対し、外部インタフェースが半端なデータ量
を複数に分けて転送する場合がある。最初のデータをF
IFO方式で格納する場合には、残りのデータは、CP
U(中央演算処理装置)がデータを一旦引き取って、バ
イトを合わせてFIFO格納し、データを結合させなく
てはならなかった。即ち、上述した従来のFIFO制御
回路又は方式では、データ転送時にCPUが関与する必
要があるので、CPUの負荷が増加するという課題があ
った。Conventionally, when data is exchanged between a magnetic disk or the like and an external interface, the magnetic disk inputs and outputs data in units of 512 bytes, whereas the external interface has an odd data amount. In some cases. First data is F
If the data is stored in the IFO format, the remaining data
U (Central Processing Unit) had to pick up the data, store the bytes together in a FIFO, and combine the data. That is, the above-described conventional FIFO control circuit or method has a problem that the load on the CPU increases because the CPU must be involved in data transfer.
【0004】従って、本発明の目的は、CPUに負荷を
かけることなくデータ転送を可能にするFIFO制御回
路を提供することである。Accordingly, it is an object of the present invention to provide a FIFO control circuit which enables data transfer without imposing a load on a CPU.
【0005】[0005]
【課題解決のための手段】本発明のFIFO制御回路
は、複数バイト幅を有するFIFOに入力データの書き
込みおよび読み出しを行う回路であって、FIFOの入
力側に配置され入力データをバイト単位で入出力する入
力バススイッチと、FIFOの出力側に配置されFIF
Oからの出力をバイト単位で入出力する出力バススイッ
チと、それぞれバイトイネーブル端子およびアドレスカ
ウンタを有し、FIFOの書き込みおよび読み出しを制
御する入力および出力制御部とを備える。A FIFO control circuit according to the present invention is a circuit for writing and reading input data to and from a FIFO having a plurality of byte widths. The FIFO control circuit is arranged on the input side of the FIFO and receives input data in byte units. An input bus switch for outputting, and a FIFO arranged on the output side of the FIFO.
An output bus switch for inputting / outputting an output from O in units of bytes, and an input / output control unit which has a byte enable terminal and an address counter and controls writing and reading of the FIFO, respectively.
【0006】また、本発明のFIFO制御回路の好適実
施形態によると、FIFOは、各々1バイト幅の複数の
FIFOにより構成される。入力バススイッチおよび出
力バススイッチは、それぞれ複数のマルチプレクサを含
む。出力バススイッチの出力側に読み出し信号によって
出力データの出力又はハイインピーダンスとするバッフ
ァを含む。According to a preferred embodiment of the FIFO control circuit of the present invention, the FIFO comprises a plurality of FIFOs each having a 1-byte width. Each of the input bus switch and the output bus switch includes a plurality of multiplexers. The output side of the output bus switch includes a buffer for outputting output data or setting a high impedance according to a read signal.
【0007】入力制御部からの入力アドレスおよび出力
制御部からの出力アドレスを比較して充満又は空き出力
を生成するアドレス比較器を有し、複数バイト単位又は
1バイト単位の書き込みおよび読み出しを行う。There is an address comparator for comparing the input address from the input control unit and the output address from the output control unit to generate a full or empty output, and performs writing and reading in units of a plurality of bytes or in units of one byte.
【0008】[0008]
【発明の実施の形態】以下、本発明によるFIFO制御
回路の好適実施形態の構成および動作を、添付図を参照
して詳細に説明する。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The structure and operation of a preferred embodiment of a FIFO control circuit according to the present invention will be described below in detail with reference to the accompanying drawings.
【0009】本発明によるFIFO制御回路は、複数バ
イト幅を持つFIFOメモリに対し、バイト単位のデー
タの入出力を可能にするものである。図1は、本発明に
よるFIFO制御回路の好適実施形態の基本構成を示す
ブロック図である。図1のFIFO制御回路は、FIF
O(先入れ先出しメモリ)14、入力アドレスカウンタ
12、入力バススイッチ13、出力バススイッチ15、
出力アドレスカウンタ16およびアドレス比較器17に
より構成される。A FIFO control circuit according to the present invention enables input / output of data in byte units to / from a FIFO memory having a plurality of byte widths. FIG. 1 is a block diagram showing a basic configuration of a preferred embodiment of a FIFO control circuit according to the present invention. The FIFO control circuit of FIG.
O (first-in first-out memory) 14, input address counter 12, input bus switch 13, output bus switch 15,
It comprises an output address counter 16 and an address comparator 17.
【0010】入力バススイッチ13には、例えば16ビ
ットの入力データが入力され、その出力をFIFO14
に入力する。入力アドレスカウンタ12は、バイトイネ
ーブルBE端子11を有し、このBE端子11にバイト
イネーブル信号が入力されると共にライト(書き込み)
信号がこのアドレスカウンタ12およびFIFO14に
入力される。この入力アドレスカウンタ12の出力であ
る入力アドレスは、FIFO14およびアドレス比較器
17に入力される。The input bus switch 13 receives, for example, 16-bit input data, and outputs its output to a FIFO 14.
To enter. The input address counter 12 has a byte enable BE terminal 11, to which a byte enable signal is input and to which a write is performed.
A signal is input to the address counter 12 and the FIFO 14. The input address which is the output of the input address counter 12 is input to the FIFO 14 and the address comparator 17.
【0011】一方、出力アドレスカウンタ16には、バ
イトイネーブル信号およびリード(読み出し)信号が入
力される。出力アドレスカウンタ16から出力される出
力アドレスは、アドレス比較器17およびFIFO14
に入力される。FIFO14から読み出された出力は、
出力バススイッチ15を介して、例えば16ビットの出
力データとなる。また、アドレス比較器17は、それぞ
れ入力アドレスカウンタ12および出力アドレスカウン
タ16からの入力アドレスおよび出力アドレスを比較し
て、FULL(充満)又はEMPTY(空)を出力す
る。On the other hand, the output address counter 16 receives a byte enable signal and a read (read) signal. The output address output from the output address counter 16 is provided by an address comparator 17 and a FIFO 14
Is input to The output read from FIFO 14 is
Via the output bus switch 15, the output data becomes, for example, 16 bits. The address comparator 17 compares the input address and the output address from the input address counter 12 and the output address counter 16, respectively, and outputs FULL (full) or EMPTY (empty).
【0012】図1に示すFIFO制御回路のライト(書
き込み)時には、データの有効バイトを示すバイトイネ
ーブルを入力バイトイネーブルBE端子11に入力しな
がらデータを書き込むと、入力アドレスカウンタ12
は、有効バイト数分カウントアップする。データは、入
力バススイッチ13を介して、アドレスの若いバイトか
ら順にスワップされ、同時にFIFO14に書き込まれ
る。At the time of writing (writing) of the FIFO control circuit shown in FIG. 1, when data is written while inputting a byte enable indicating a valid byte of data to an input byte enable BE terminal 11, an input address counter 12
Counts up by the number of valid bytes. The data is swapped through the input bus switch 13 in ascending order of the address, and is simultaneously written to the FIFO 14.
【0013】また、このFIFO制御回路のリード(読
み出し)時には、読み出すデータのバイトイネーブルB
Eを示しリードすると、有効バイト数のデータが、出力
バススイッチ15を介して、アドレスの若いバイトから
出力される。出力アドレスカウンタ16は、有効アドレ
ス分カウントアップする。アドレス比較器17は、入力
アドレスカウンタ12と出力アドレスカウンタ16の両
アドレスを比較し、FIFO14内部に有効データが空
か又は充満か判断し、その状態を表す信号であるEMP
TY又はFULL信号を出力する。At the time of reading (reading) of the FIFO control circuit, byte enable B of read data is used.
When E is read, data of the number of valid bytes is output from the byte having the lower address via the output bus switch 15. The output address counter 16 counts up by the effective address. The address comparator 17 compares the two addresses of the input address counter 12 and the output address counter 16, determines whether the valid data is empty or full in the FIFO 14, and outputs a signal EMP indicating the state.
Outputs a TY or FULL signal.
【0014】次に、図2は、本発明によるFIFO制御
回路の具体例のブロック図を示す。この具体例では、デ
ータ幅16ビットおよび容量1024バイトの2個のF
IFO205、206の制御回路を示す。このFIFO
制御回路は、マルチプレクサ201、202、入力制御
部203、FIFO205、206、出力制御部21
0、マルチプレクサ208、209、バッファ213、
214およびアドレス比較器207により構成される。
入力制御部203および出力制御部210は、それぞれ
アドレスカウンタ204、211を有する。FIG. 2 is a block diagram showing a specific example of the FIFO control circuit according to the present invention. In this specific example, two Fs with a data width of 16 bits and a capacity of 1024 bytes are used.
4 shows a control circuit of the IFOs 205 and 206. This FIFO
The control circuit includes multiplexers 201 and 202, an input control unit 203, FIFOs 205 and 206, and an output control unit 21.
0, multiplexers 208 and 209, buffer 213,
214 and an address comparator 207.
The input control unit 203 and the output control unit 210 have address counters 204 and 211, respectively.
【0015】ここで、16ビット幅の入力データは、8
ビット(1バイト)毎に分割(即ち、ハイバイト及びロ
ウバイト)され、それぞれマルチプレクサ201、20
2に入力される。マルチプレクサ201の出力は、後述
する入力制御部203から出力されるH信号の値によっ
て決定する。一方、マルチプレクサ202は、入力制御
部203から出力されるL信号の値によって決定され
る。H信号が「0」(又はL信号が「1」)のときは、
ロウバイトデータがマルチプレクサ202から、H信号
が「1」(又はL信号が「0」)のときは、ハイバイト
データがマルチプレクサ201から出力される。ここ
で、両マルチプレクサ201、202は、同様の機能を
持つ。マルチプレクサ201の出力は、FIFO205
に入力される。一方、マルチプレクサ202の出力は、
FIFO206に入力される。入力制御部203が内蔵
するアドレスカウンタ204は、有効データ数をカウン
ト(計数)する。Here, input data having a 16-bit width is 8 bits.
Each of the bits (one byte) is divided (that is, a high byte and a low byte).
2 is input. The output of the multiplexer 201 is determined by the value of the H signal output from the input control unit 203 described later. On the other hand, the multiplexer 202 is determined by the value of the L signal output from the input control unit 203. When the H signal is “0” (or the L signal is “1”),
When the low byte data is from the multiplexer 202 and the H signal is “1” (or the L signal is “0”), the high byte data is output from the multiplexer 201. Here, both multiplexers 201 and 202 have the same function. The output of the multiplexer 201 is
Is input to On the other hand, the output of the multiplexer 202 is
The data is input to the FIFO 206. The address counter 204 incorporated in the input control unit 203 counts (counts) the number of valid data.
【0016】FIFO205の出力データおよびFIF
O206の出力データは、それぞれマルチプレクサ20
8、209に入力される。マルチプレクサ208の出力
は、出力制御部210から出力されるH信号によって決
定する。一方、マルチプレクサ209の出力は、出力制
御部210のL信号によって決定される。出力制御部2
10のH信号が「0」(即ち、L信号が「1」)のとき
は、FIFO205の出力データが出力される。また、
出力制御部210のH信号が「1」(即ち、L信号が
「0」)のときは、FIFO206の出力データが出力
される。出力制御部210が内蔵するアドレスカウンタ
211は、有効データ数をカウントする。バッファ21
3、214は、READ(読み出し)信号が「0」のと
きは、マルチプレクサ208、209の出力データを出
力する。READ信号が「1」のときは、これらマルチ
プレクサ213、214をハイインピーダンスとし、出
力データは出力しない。Output data of FIFO 205 and FIFO
The output data of O206 is
8 and 209. The output of the multiplexer 208 is determined by the H signal output from the output control unit 210. On the other hand, the output of the multiplexer 209 is determined by the L signal of the output control unit 210. Output control unit 2
When the H signal of No. 10 is "0" (that is, the L signal is "1"), the output data of the FIFO 205 is output. Also,
When the H signal of the output control unit 210 is “1” (that is, the L signal is “0”), the output data of the FIFO 206 is output. An address counter 211 incorporated in the output control unit 210 counts the number of valid data. Buffer 21
3 and 214 output the output data of the multiplexers 208 and 209 when the READ (read) signal is “0”. When the READ signal is “1”, the multiplexers 213 and 214 are set to high impedance, and no output data is output.
【0017】FIFO205、FIFO206のメモリ
容量は、それぞれ例えば512バイトであり、合計10
24バイトである。アドレスカウンタ204は、「0」
から「1023」(16進数で3FF)までをカウント
する11ビットカウンタである。入力制御部203のF
IFO205への出力アドレスH_Aは、アドレスカウ
ンタ204の上位10ビットの値を出力する。FIFO
206への出力アドレスL_Aは、アドレスカウンタ2
04の上位10ビットと、1ビットの値を加算した値が
出力される。入力制御部204の出力信号IN_Aは、
出力アドレスL_Aと同じ値を、アドレス比較器207
に出力する。The memory capacity of each of the FIFO 205 and the FIFO 206 is, for example, 512 bytes.
It is 24 bytes. The address counter 204 is "0"
This is an 11-bit counter that counts up to "1023" (hexadecimal 3FF). F of the input control unit 203
The output address H_A to the IFO 205 outputs the value of the upper 10 bits of the address counter 204. FIFO
The output address L_A to the address counter 206 is the address counter 2
A value obtained by adding the value of the upper 10 bits of 04 and the value of 1 bit is output. The output signal IN_A of the input control unit 204 is
The same value as the output address L_A is input to the address comparator 207.
Output to
【0018】入力制御部203の入力信号BE_Lおよ
びBE_Hは、ライトデータの有効バイトを示す信号を
入力する。入力信号BE_Lが「0」ならば入力データ
のロウバイトが有効データ、「1」ならば無効データで
ある。一方、入力信号BE_Hが「0」ならば入力デー
タのハイロウバイトが有効データ、「1」ならば無効デ
ータである。入力制御部203の入力信号BE_L、B
E_Hのどちらか一方が0のとき、入力信号WRの立ち
上がりエッジでアドレスカウンタ204は1つカウント
アップする。また、入力信号BE_LおよびBE_Hの
両方が「0」のとき、入力信号WRの立ち上がりエッジ
で、アドレスカウンタ204は2つカウントアップす
る。As the input signals BE_L and BE_H of the input control unit 203, signals indicating valid bytes of write data are input. If the input signal BE_L is “0”, the low byte of the input data is valid data, and if it is “1”, it is invalid data. On the other hand, if the input signal BE_H is "0", the high / low byte of the input data is valid data, and if it is "1", it is invalid data. Input signals BE_L, B of the input control unit 203
When one of E_H is 0, the address counter 204 counts up by one at the rising edge of the input signal WR. When both the input signals BE_L and BE_H are “0”, the address counter 204 counts up by two at the rising edge of the input signal WR.
【0019】出力制御部210が内蔵するアドレスカウ
ンタ211は、アドレスカウンタ204と同様に、
「0」から「1023」(16進数で3FF)までをカ
ウントする11ビットカウンタである。出力制御部21
0のFIFO205への出力アドレスH_Aは、アドレ
スカウンタ204の上位10ビットの値を出力する。F
IFO206への出力アドレスL_Aは、アドレスカウ
ンタ204の上位10ビットに下位1ビットの値を加算
した値を、出力アドレス比較器207に入力する。The address counter 211 incorporated in the output control unit 210 is, like the address counter 204,
This is an 11-bit counter that counts from "0" to "1023" (3FF in hexadecimal). Output control unit 21
The output address H_A of 0 to the FIFO 205 outputs the value of the upper 10 bits of the address counter 204. F
As the output address L_A to the IFO 206, a value obtained by adding the value of the lower 10 bits to the upper 10 bits of the address counter 204 is input to the output address comparator 207.
【0020】出力制御部210の入力信号BE_Lおよ
びBE_Hは、ライト(書き込み)するデータの有効バ
イトを示す信号を入力する。入力信号BE_Lが「0」
ならば入力データのロウバイトが有効データ、「1」な
らば無効データである。入力信号BE_Hが「0」なら
ば入力データのハイロウバイトが有効データ、「1」な
らば無効データである。出力制御部210の入力信号B
E_L、BE_Hのどちらか一方が「0」のときの、入
力信号RDの立ち上がりエッジでアドレスカウンタ211
は、1つカウントアップする。また、入力信号BE_L
およびBE_Hの両方が「0」のとき、入力信号RDの立
ち上がりエッジでアドレスカウンタ211は2つカウン
トアップする。As the input signals BE_L and BE_H of the output control section 210, signals indicating valid bytes of data to be written are input. Input signal BE_L is “0”
If so, the low byte of the input data is valid data, and if "1", it is invalid data. If the input signal BE_H is "0", the high / low byte of the input data is valid data, and if it is "1", it is invalid data. Input signal B of output control section 210
When one of E_L and BE_H is “0”, the address counter 211 at the rising edge of the input signal RD.
Counts up by one. Also, the input signal BE_L
When both of the address counter BE_H are “0”, the address counter 211 counts up by two at the rising edge of the input signal RD.
【0021】アドレス比較器207は、入力制御部20
3および出力制御部210から出力されるアドレスIN
_AおよびO_Aを比較する。「アドレスカウンタ20
4の値=アドレスカウンタ211の値」の場合には、F
IFO205、206内に有効データがないと見なし、
信号EMPTYを「1」出力する。一方、「アドレスカ
ウンタ204の値=アドレスカウンタ211の値−1」
の場合には、FIFO205、206内に空き容量がな
いとみなし、信号FULLを「1」出力する。The address comparator 207 is connected to the input control unit 20
3 and the address IN output from the output control unit 210
_A and O_A are compared. "Address counter 20
4 = the value of the address counter 211 ”, F
Assuming that there is no valid data in IFOs 205 and 206,
The signal EMPTY is output as "1". On the other hand, “value of address counter 204 = value of address counter 211−1”
In this case, it is considered that there is no free space in the FIFOs 205 and 206, and the signal FULL is output as "1".
【0022】次に、図3(A)は、図2に示す入力制御
部203のL信号およびH信号の出力条件を示す。ま
た、図3(B)は、入力制御部203の出力信号L_W
およびH_Wの出力条件を示す。図3(A)、(B)に
おいて、入力信号BE_LおよびBE_Hが共に「1」
の場合には、アドレスカウンタ204はカウントアップ
されない。出力制御部210のH信号およびL信号の出
力条件は、上述した図3(A)、(B)と同じである。FIG. 3A shows output conditions of the L signal and the H signal of the input control unit 203 shown in FIG. FIG. 3B shows an output signal L_W of the input control unit 203.
And H_W output conditions. 3A and 3B, the input signals BE_L and BE_H are both “1”.
In this case, the address counter 204 is not counted up. The output conditions of the H signal and the L signal of the output control unit 210 are the same as those in FIGS. 3A and 3B described above.
【0023】次に、図2に示すFIFO制御回路の動作
を説明する。ライト動作を図4〜図7を参照し、リード
動作を図8〜図11を参照して説明する。先ず、図2の
FIFO制御回路が初期状態のとき、入力制御部203
のアドレスカウンタ204の値は「0」、出力制御部2
11のアドレスカウンタ211の値も「0」である。ア
ドレス比較器207のFULL信号は「0」、EMPT
Y信号は「1」となる。Next, the operation of the FIFO control circuit shown in FIG. 2 will be described. The write operation will be described with reference to FIGS. 4 to 7, and the read operation will be described with reference to FIGS. First, when the FIFO control circuit of FIG.
The value of the address counter 204 is “0”, and the output control unit 2
The value of the eleventh address counter 211 is also “0”. The FULL signal of the address comparator 207 is “0”, EMPT
The Y signal becomes "1".
【0024】上述した初期状態において、16ビットの
入力データをライトしたときの動作は、入力データと、
入力制御部203の入力信号BE_L、BE_Hに
「0」を入力する。入力制御部203の出力信号は、H
信号が「1」、L信号が「0」、出力信号H_Aおよび
L_Aが「0」、出力信号IN_Aが「0」である。続
いてWR信号が入力(Lレベルへの移行)されると、こ
の信号は入力制御部203の出力信号H_W、L_Wと
して出力される。WR信号の立ち上がりで、FIFO2
05に入力データのハイバイト、FIFO206に入力
データのロウバイトが格納され、アドレスカウンタ20
4の値は、2になる。アドレス比較器207のEMPT
Y信号は、「0」になる。この一連の動作のタイミング
チャートを図4に示す。In the above-mentioned initial state, when 16-bit input data is written, the operation is as follows.
“0” is input to the input signals BE_L and BE_H of the input control unit 203. The output signal of the input control unit 203 is H
The signal is “1”, the L signal is “0”, the output signals H_A and L_A are “0”, and the output signal IN_A is “0”. Subsequently, when the WR signal is input (shift to L level), this signal is output as output signals H_W and L_W of the input control unit 203. At the rise of the WR signal, FIFO2
05 stores the high byte of the input data and the FIFO 206 stores the low byte of the input data.
The value of 4 becomes 2. EMPT of address comparator 207
The Y signal becomes “0”. FIG. 4 shows a timing chart of this series of operations.
【0025】次に、ロウバイトデータ側から1バイトの
ライトしたときの動作は、入力データと、入力制御部2
03の入力信号BE_Lに「0」、BE_Hに「1」を
入力する。入力制御部203の出力信号は、H信号が
「1」、L信号が「0」、H_A信号が「1」、L_A
信号が「1」およびIN_A信号が「1」である。ここ
で、WR信号が入力されると、この信号は入力制御部2
03のL_Wから出力される。WR信号の立ち上がり
で、FIFO206に入力データのロウバイトが格納さ
れ、アドレスカウンタ204の値は、3になる。この一
連の動作のタイミングチャートを図5に示す。Next, when one byte is written from the low byte data side, the operation is performed based on the input data and the input control unit 2.
03, “0” is input to the input signal BE_L, and “1” is input to BE_H. The output signal of the input control unit 203 is “1” for the H signal, “0” for the L signal, “1” for the H_A signal, and L_A for the H_A signal.
The signal is “1” and the IN_A signal is “1”. Here, when the WR signal is input, this signal is input to the input control unit 2
03 is output from L_W. At the rise of the WR signal, the low byte of the input data is stored in the FIFO 206, and the value of the address counter 204 becomes 3. FIG. 5 shows a timing chart of this series of operations.
【0026】次に、16ビットの入力データをライトし
たときの動作は、入力データと、入力制御部203の入
力信号BE_L、BE_Hに「0」を入力する。入力制
御部203の出力信号は、H信号が「0」、L信号が
「1」、H_A信号が「1」、L_A信号が「2」およ
びIN_A信号が「2」である。そこで、WR信号が入
力されると、その信号は入力制御部203のH_W、L
_Wから出力される。WR信号の立ち上がりで、FIF
O205に入力データのロウバイト、FIFO206に
入力データのハイバイトが格納される。そして、アドレ
スカウンタ204の値は、5になる。この一連の動作の
タイミングチャートを図6に示す。Next, when writing 16-bit input data, "0" is input to the input data and the input signals BE_L and BE_H of the input control unit 203. The output signals of the input control unit 203 are “0” for the H signal, “1” for the L signal, “1” for the H_A signal, “2” for the L_A signal, and “2” for the IN_A signal. Therefore, when the WR signal is input, the signal is output to the H_W, L
_W. At the rising edge of the WR signal,
O205 stores the low byte of the input data, and the FIFO 206 stores the high byte of the input data. Then, the value of the address counter 204 becomes 5. FIG. 6 shows a timing chart of this series of operations.
【0027】次に、ロウバイトデータ側から1バイトの
ライトしたときの動作は、入力データと、入力制御部2
03の入力信号BE_Lに「0」、BE_Hに「1」を
入力する。入力制御部203の出力信号は、H信号が
「0」、L信号が「1」、H_A信号が「1」、L_A
信号が「1」およびIN_A信号が「1」である。ここ
で、WR信号が入力されると、その信号は入力制御部2
03のH_Wから出力される。WR信号の立ち上がり
で、FIFO205に入力データのロウバイトが格納さ
れ、アドレスカウンタ204の値は6になる。この一連
の動作のタイミングチャートを図7に示す。Next, when one byte is written from the low byte data side, the operation is performed based on the input data and the input control unit 2.
03, “0” is input to the input signal BE_L, and “1” is input to BE_H. The output signals of the input control unit 203 are “0” for the H signal, “1” for the L signal, “1” for the H_A signal, and L_A
The signal is “1” and the IN_A signal is “1”. Here, when the WR signal is input, the signal is input to the input control unit 2.
03 is output from H_W. At the rise of the WR signal, the low byte of the input data is stored in the FIFO 205, and the value of the address counter 204 becomes 6. FIG. 7 shows a timing chart of this series of operations.
【0028】次に、16ビットデータをリードしたとき
の動作は、出力制御部210のBE_LおよびBE_H
に「0」を入力する。出力制御部210の出力信号は、
H信号が「1」、L信号が「0」、H_A信号が
「0」、L_A信号が「0」およびIN_A信号が
「0」である。このとき、マルチプレクサ208の出力
は、FIFO205の出力データを出力し、マルチプレ
クサ209はFIFO206の出力データを出力する。
次に、出力制御部210のRD(READ:読み出し)
に「0」が入力されると、バッファ213および214
がデータを出力する。RDの立ち上がりで、アドレスカ
ウンタ211の値は2になる。この一連の動作タイミン
グチャートを図8に示す。Next, when 16-bit data is read, the operation of BE_L and BE_H
"0" is input. The output signal of the output control unit 210 is
The H signal is “1”, the L signal is “0”, the H_A signal is “0”, the L_A signal is “0”, and the IN_A signal is “0”. At this time, the output of the multiplexer 208 outputs the output data of the FIFO 205, and the multiplexer 209 outputs the output data of the FIFO 206.
Next, RD (READ: read) of the output control unit 210
Are input to the buffers 213 and 214.
Outputs data. At the rise of RD, the value of the address counter 211 becomes 2. FIG. 8 shows a series of operation timing charts.
【0029】次に、ロウバイトデータ側から1バイトリ
ードしたときの動作は、出力制御部210のBE_Lに
「0」およびBE_Hに「1」を入力する。出力制御部
210の出力信号は、H信号が「1」、L信号が
「0」、H_A信号が「1」、L_A信号が「1」およ
びIN_A信号が「1」である。次に、RD信号に
「0」を入力すると、バッファ214から有効データで
あるFIFO206の出力データが出力される。FIF
O205の出力データがバッファ213から出力される
が、これは有効なデータではない。RD信号の立ち上が
りで、アドレスカウンタ211の値は3になる。この一
連の動作タイミングチャートを図9に示す。Next, in the operation when one byte is read from the low byte data side, "0" is input to BE_L and "1" is input to BE_H of the output control unit 210. The output signals of the output control unit 210 are “1” for the H signal, “0” for the L signal, “1” for the H_A signal, “1” for the L_A signal, and “1” for the IN_A signal. Next, when “0” is input to the RD signal, the buffer 214 outputs the output data of the FIFO 206 as valid data. FIF
The output data of O205 is output from the buffer 213, but this is not valid data. At the rise of the RD signal, the value of the address counter 211 becomes 3. FIG. 9 shows a series of operation timing charts.
【0030】次に、16ビットデータをリードしたとき
の動作は、出力制御部210のBE_LおよびBE_H
に「0」を入力する。出力制御部210の出力信号は、
H信号が「0」、L信号が「1」、H_A信号が
「1」、L_A信号が「2」およびIN_A信号が
「2」である。そこで、RD信号に「0」を入力する
と、バッファ213からFIFO205の出力データ、
バッファ214からFIFO206の出力データが出力
される。RD信号の立ち上がりで、アドレスカウンタ2
11の値は5になる。この一連の動作タイミングチャー
トを図10に示す。Next, when 16-bit data is read, the operation of BE_L and BE_H
"0" is input. The output signal of the output control unit 210 is
The H signal is “0”, the L signal is “1”, the H_A signal is “1”, the L_A signal is “2”, and the IN_A signal is “2”. Therefore, when "0" is input to the RD signal, the output data of the FIFO 205 from the buffer 213,
The output data of the FIFO 206 is output from the buffer 214. At the rising edge of the RD signal, the address counter 2
The value of 11 becomes 5. FIG. 10 shows a series of operation timing charts.
【0031】最後に、ロウバイトデータ側から1バイト
リードしたときの動作は、出力制御部210のBE_L
に「0」およびBE_Hに「1」を入力する。出力制御
部210の出力信号は、H信号が「0」、L信号が
「1」、H_A信号が「2」、L_A信号が「3」およ
びIN_A信号が「3」である。そこで、RD信号に
「0」を入力すると、バッファ213から有効データで
あるFIFO205の出力データが出力される。FIF
O206の出力データがバッファ214から出力される
が、これは有効なデータではない。RD信号の立ち上が
りでアドレスカウンタ211の値は「4」になる。この
一連の動作タイミングチャートを図11に示す。Finally, when one byte is read from the low byte data side, the operation of the BE_L
"0" for BE and "1" for BE_H. The output signals of the output control unit 210 are “0” for the H signal, “1” for the L signal, “2” for the H_A signal, “3” for the L_A signal, and “3” for the IN_A signal. Therefore, when "0" is input to the RD signal, the output data of the FIFO 205, which is valid data, is output from the buffer 213. FIF
The output data of O206 is output from the buffer 214, but this is not valid data. At the rise of the RD signal, the value of the address counter 211 becomes “4”. FIG. 11 shows a series of operation timing charts.
【0032】以上、本発明によるFIFO制御回路の好
適実施形態の構成および動作を詳述した。しかし、斯か
る実施形態は、本発明の単なる例示に過ぎず、何ら本発
明を限定するものではない。本発明の要旨を逸脱するこ
となく、特定用途に応じて種々の変形変更が可能である
こと、当業者には容易に理解できよう。The configuration and operation of the preferred embodiment of the FIFO control circuit according to the present invention have been described above in detail. However, such an embodiment is merely an example of the present invention and does not limit the present invention in any way. It will be readily apparent to those skilled in the art that various modifications can be made in accordance with the particular application without departing from the spirit of the invention.
【0033】[0033]
【効果の説明】以上の説明から理解される如く、本発明
のFIFO制御回路によると、次の如き実用上の顕著な
効果が得られる。第1に、複数バイト幅のデータを同時
にライトおよびリードできるのに対しバイト単位のアク
セスが希望するバイト(図2のハイバイト、ロウバイ
ト)からデータを入出力することが可能である。第2
に、例えば16ビット幅のデータ転送において、例えば
合計10バイトのデータ転送が行われる場合に、FIF
Oに対するライトが5バイトで中断し、また残りの5バ
イトのデータライトを再開したとき最初の16ビットデ
ータが2バイトとも有効だった場合にもFIFOはバイ
ト単位でデータを詰めて格納するので、リード時には1
6ビットデータを5回のサイクルで出力することが可能
になる。As will be understood from the above description, the FIFO control circuit according to the present invention has the following remarkable practical effects. First, while data of a plurality of bytes can be written and read at the same time, it is possible to input / output data from a byte (high byte, low byte in FIG. 2) desired to be accessed in byte units. Second
In a case where, for example, data transfer of a total of 10 bytes is performed in a data transfer of 16 bits width, for example,
Even if the write to O is interrupted at 5 bytes and the remaining 5 bytes of data are restarted and the first 16-bit data is valid for both bytes, the FIFO stores the data packed in byte units. 1 when reading
It becomes possible to output 6-bit data in five cycles.
【図1】本発明によるFIFO制御回路の好適実施形態
の構成を示すブロック図である。FIG. 1 is a block diagram showing a configuration of a preferred embodiment of a FIFO control circuit according to the present invention.
【図2】図1に示すFIFO制御回路の具体例のブロッ
ク図である。FIG. 2 is a block diagram of a specific example of the FIFO control circuit shown in FIG.
【図3】図2に示す入力制御部の動作説明図であり、
(A)はLおよびH信号の出力条件を、(B)はL_W
およびH_W信号の出力条件を示す図である。FIG. 3 is an operation explanatory diagram of the input control unit shown in FIG. 2;
(A) shows the output conditions of the L and H signals, and (B) shows the L_W signal.
FIG. 7 is a diagram illustrating output conditions of the H_W signal and the H_W signal.
【図4】図2に示すFIFO制御回路のライト(書き込
み)動作を示すタイミングチャートである。FIG. 4 is a timing chart showing a write operation of the FIFO control circuit shown in FIG. 2;
【図5】図2に示すFIFO制御回路のライト(書き込
み)動作を示すタイミングチャートである。FIG. 5 is a timing chart illustrating a write operation of the FIFO control circuit illustrated in FIG. 2;
【図6】図2に示すFIFO制御回路のライト(書き込
み)動作を示すタイミングチャートである。FIG. 6 is a timing chart showing a write operation of the FIFO control circuit shown in FIG. 2;
【図7】図2に示すFIFO制御回路のライト(書き込
み)動作を示すタイミングチャートである。FIG. 7 is a timing chart showing a write operation of the FIFO control circuit shown in FIG. 2;
【図8】図2に示すFIFO制御回路のリード(読み出
し)動作を示すタイミングチャートである。FIG. 8 is a timing chart showing a read (read) operation of the FIFO control circuit shown in FIG. 2;
【図9】図2に示すFIFO制御回路のリード(読み出
し)動作を示すタイミングチャートである。FIG. 9 is a timing chart showing a read operation of the FIFO control circuit shown in FIG. 2;
【図10】図2に示すFIFO制御回路のリード(読み
出し)動作を示すタイミングチャートである。FIG. 10 is a timing chart showing a read operation of the FIFO control circuit shown in FIG. 2;
【図11】図2に示すFIFO制御回路のリード(読み
出し)動作を示すタイミングチャートである。FIG. 11 is a timing chart showing a read operation of the FIFO control circuit shown in FIG. 2;
11 バイトイネーブル端子 12、204 入力アドレスカウンタ 13 入力バススイッチ 15 出力バススイッチ 16、211 出力アドレスカウンタ 17、207 アドレス比較器 203 入力制御部 210 出力制御部 14、205、206 FIFO 201、202、208、209 マルチプレクサ 213、214 バッファ 11 Byte enable terminal 12, 204 Input address counter 13 Input bus switch 15 Output bus switch 16, 211 Output address counter 17, 207 Address comparator 203 Input control unit 210 Output control unit 14, 205, 206 FIFO 201, 202, 208, 209 Multiplexer 213, 214 Buffer
Claims (6)
出しメモリ)に入力データを書き込みおよび読み出しを
行うFIFO制御回路において、 前記FIFOの入力側に配置され入力データをバイト単
位で入出力する入力バススイッチと、前記FIFOの出
力側に配置され該FIFOからの出力をバイト単位で入
出力する出力バススイッチと、それぞれバイトイネーブ
ル端子およびアドレスカウンタを有し、前記FIFOの
書き込みおよび読み出しを制御する入力および出力制御
部とを備えることを特徴とするFIFO制御回路。1. A FIFO control circuit for writing and reading input data to and from a FIFO (first-in first-out memory) having a plurality of byte widths, comprising: an input bus switch arranged on an input side of the FIFO for inputting and outputting input data in byte units; An output bus switch disposed on the output side of the FIFO for inputting / outputting an output from the FIFO in byte units, and an input / output control having a byte enable terminal and an address counter, respectively, for controlling writing and reading of the FIFO A FIFO control circuit, comprising:
FIFOにより構成されることを特徴とする請求項1に
記載のFIFO制御回路。2. The FIFO control circuit according to claim 1, wherein said FIFO comprises a plurality of FIFOs each having a 1-byte width.
スイッチは、それぞれ複数のマルチプレクサを含むこと
を特徴とする請求項1又は2に記載のFIFO制御回
路。3. The FIFO control circuit according to claim 1, wherein said input bus switch and said output bus switch each include a plurality of multiplexers.
信号によって出力データを出力又はハイインピーダンス
となるバッファを含むことを特徴とする請求項1、2又
は3に記載のFIFO制御回路。4. The FIFO control circuit according to claim 1, further comprising a buffer on the output side of said output bus switch for outputting output data in response to a read signal or for providing high impedance.
前記出力制御部からの出力アドレスを比較して充満又は
空き出力を生成するアドレス比較器を有することを特徴
とする請求項1乃至4の何れかに記載のFIFO制御回
路。5. An address comparator according to claim 1, further comprising an address comparator for comparing the input address from said input control section and the output address from said output control section to generate a full or empty output. Or a FIFO control circuit.
き込みおよび読み出しを行うことを特徴とする請求項1
乃至5の何れかに記載のFIFO制御回路。6. The method according to claim 1, wherein writing and reading are performed in units of a plurality of bytes or in units of one byte.
6. The FIFO control circuit according to any one of claims 1 to 5,
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000235727A JP2002050172A (en) | 2000-08-03 | 2000-08-03 | Fifo control circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000235727A JP2002050172A (en) | 2000-08-03 | 2000-08-03 | Fifo control circuit |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2002050172A true JP2002050172A (en) | 2002-02-15 |
Family
ID=18727895
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000235727A Pending JP2002050172A (en) | 2000-08-03 | 2000-08-03 | Fifo control circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2002050172A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009122964A (en) * | 2007-11-15 | 2009-06-04 | Nippon Telegr & Teleph Corp <Ntt> | Data processor |
JP2009140040A (en) * | 2007-12-04 | 2009-06-25 | Nippon Telegr & Teleph Corp <Ntt> | Data processor |
JP2012243053A (en) * | 2011-05-19 | 2012-12-10 | Nec Engineering Ltd | Data transfer device |
-
2000
- 2000-08-03 JP JP2000235727A patent/JP2002050172A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009122964A (en) * | 2007-11-15 | 2009-06-04 | Nippon Telegr & Teleph Corp <Ntt> | Data processor |
JP2009140040A (en) * | 2007-12-04 | 2009-06-25 | Nippon Telegr & Teleph Corp <Ntt> | Data processor |
JP2012243053A (en) * | 2011-05-19 | 2012-12-10 | Nec Engineering Ltd | Data transfer device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5587953A (en) | First-in-first-out buffer memory | |
US5027330A (en) | FIFO memory arrangement including a memory location fill indication | |
EP0225059A2 (en) | Semiconductor memory | |
US7870310B2 (en) | Multiple counters to relieve flag restriction in a multi-queue first-in first-out memory system | |
US20020169900A1 (en) | Direct memory access controller, and direct memory access control method | |
EP0327115B1 (en) | Serial access memory system provided with improved cascade buffer circuit | |
JPS61264379A (en) | Memory circuit | |
EP0057096B1 (en) | Information processing unit | |
JP2002050172A (en) | Fifo control circuit | |
US5687395A (en) | Main memory buffer for low cost / high performance input/output of data in a computer system | |
JP4019757B2 (en) | Storage device | |
US5506747A (en) | Provision of FIFO buffer in RAM | |
US6038692A (en) | Error correcting memory system | |
US6486704B1 (en) | Programmable burst FIFO | |
JP2723038B2 (en) | Method of storing data in storage device | |
JP4060270B2 (en) | Apparatus and method for delaying video line data between transmitter and receiver | |
JP2591514B2 (en) | One-chip memory device | |
US20020188771A1 (en) | Direct memory access controller for carrying out data transfer by determining whether or not burst access can be utilized in an external bus and access control method thereof | |
JP2000003332A (en) | Bi-directional bus size conversion circuit | |
KR0165518B1 (en) | Fifo of graphic control | |
JP3568384B2 (en) | Memory access circuit | |
JP3489110B2 (en) | First in first out memory controller | |
KR920000401B1 (en) | Data buffering circuit | |
JPH01106136A (en) | Hardware queue | |
GB2368157A (en) | Byte-swapping for efficient use of memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060124 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060201 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060602 |