JP2000322375A - Fifo with dma control and dma transfer system and method using the same - Google Patents

Fifo with dma control and dma transfer system and method using the same

Info

Publication number
JP2000322375A
JP2000322375A JP11134394A JP13439499A JP2000322375A JP 2000322375 A JP2000322375 A JP 2000322375A JP 11134394 A JP11134394 A JP 11134394A JP 13439499 A JP13439499 A JP 13439499A JP 2000322375 A JP2000322375 A JP 2000322375A
Authority
JP
Japan
Prior art keywords
fifo
data
dma
transfer
bit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP11134394A
Other languages
Japanese (ja)
Other versions
JP3544146B2 (en
Inventor
Ikuo Shimazaki
育男 嶋崎
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.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP13439499A priority Critical patent/JP3544146B2/en
Publication of JP2000322375A publication Critical patent/JP2000322375A/en
Application granted granted Critical
Publication of JP3544146B2 publication Critical patent/JP3544146B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

PROBLEM TO BE SOLVED: To attain quick and efficient data transfer by absorbing the difference of the data transferring speeds of buses with different data bus width. SOLUTION: An FIFO 107 with DMA control having two 32 byte FIFO whose one FIFO is connected with a 32bit data bus 105 and whose other FIFO is connected with a 16bit data bus 109 and an FIFO control part including a DMA controlling function receives data from an I/O device 108 to one FIFO by DMA transfer in response to a DMA request (REQ-B). The other FIFO receives data with one time DMA transfer burst length, and then loads the received data in one FIFO. After one FIFO receives the data, a DMAC 104 receive the data from one FIFO by DMA transfer in response to a DMA request (REQ-A) from the FIFO 107 with the DMA control. While one FIFO transmits the data to the DMAC 104, the I/O device 108 transmits the next data to the other FIFO.

Description

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

【0001】[0001]

【発明の属する技術分野】この発明は、DMA(Direct
Memory Access)によるデータ転送を行うシステムに関
し、特に同一バス上のDMAC(DMA Controller)
とデータバス幅が異なるデバイス間でDMA転送を行う
場合に、FIFOを使用した転送方式に関するものであ
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention
The present invention relates to a system for performing data transfer by Memory Access, and particularly to a DMAC (DMA Controller) on the same bus.
The present invention relates to a transfer method using a FIFO when performing a DMA transfer between devices having different data bus widths.

【0002】[0002]

【従来の技術】上記のようなFIFO及びDMA転送方
式においては、従来は、同一バス上のDMACとデータ
バス幅が異なるデバイス間でDMA転送を行う場合、2
つのバッファメモリを使用して、各バッファメモリに順
次データを書込み、その後、同時にそのバッファメモリ
からデータを読み出すことによって、データバス幅の変
換を行っていたが、この方式では、バス幅が広いデータ
バスのDMA転送に要する時間が長くなってしまい、高
速で効率の良いデータ転送を行うことが困難であった。
また、異なる2つのバス間でDMA転送を行う時にFI
FOを中継する方式があるが、このFIFOは、2つの
バス上にそれぞれDMACを必要とするため、本発明の
ような同一バス上のデバイス間におけるDMA転送の場
合には、使用することができない。
2. Description of the Related Art In the above-mentioned FIFO and DMA transfer systems, conventionally, when a DMA transfer is performed between a DMAC on the same bus and a device having a different data bus width, a DMA transfer is performed.
The data bus width was converted by sequentially writing data to each buffer memory using one buffer memory, and then reading data from the buffer memory at the same time. The time required for DMA transfer on the bus becomes long, making it difficult to perform high-speed and efficient data transfer.
Also, when performing DMA transfer between two different buses, FI
Although there is a method of relaying the FO, this FIFO requires a DMAC on each of two buses, and therefore cannot be used in the case of DMA transfer between devices on the same bus as in the present invention. .

【0003】そして、特開平7−152683号公報に
は、バス幅が異なるデータバス間に、複数のバッファメ
モリと、複数のバッファメモリの書込みを制御する書込
み制御回路を備え、書込み制御回路によりバス幅が狭い
方のデータを複数のバッファメモリに順次書込み、複数
のバッファメモリに書込まれたデータが、バス幅の広い
データバスに同時に出力されることを特徴とするバッフ
ァメモリ回路が記載されている。
Japanese Unexamined Patent Publication No. 7-152683 discloses a plurality of buffer memories and a write control circuit for controlling writing of the plurality of buffer memories between data buses having different bus widths. A buffer memory circuit characterized in that data having a smaller width is sequentially written to a plurality of buffer memories, and data written to the plurality of buffer memories is simultaneously output to a data bus having a larger bus width. I have.

【0004】また、特開平10−293742号公報に
は、互いに異なる第1のバスと第2のバスにおいて、F
IFOのようなバス中継器を介して接続して、双方向に
DMA転送を行うことを特徴とするデータ転送方法及び
装置が記載されている。
Japanese Patent Application Laid-Open No. 10-293742 discloses that a first bus and a second bus which are different from each other
A data transfer method and apparatus are described, characterized in that DMA transfer is performed bidirectionally by connecting via a bus repeater such as an IFO.

【0005】[0005]

【発明が解決しようとする課題】本発明の第1の目的
は、上記従来技術において、DMA転送を行う場合、バ
ス幅が狭い方のデータを複数のバッファメモリに順次書
込んでいる間、バス幅が広いデータバスも、このDMA
転送のためにバスを占有しておく必要があり、高速で効
率の良いデータ転送が困難であることを鑑みて、DMA
制御機能を内蔵したビット幅の変換可能な双方向FIF
Oを使用することにより、各バスのデータ転送速度の違
いを吸収して、高速で効率の良いデータ転送を行うこと
である。
SUMMARY OF THE INVENTION A first object of the present invention is to provide a method for performing a DMA transfer in the above-mentioned prior art, while writing data having a narrower bus width sequentially to a plurality of buffer memories while performing a DMA transfer. A wide data bus is also used for this DMA.
In view of the fact that it is necessary to occupy the bus for transfer and it is difficult to perform high-speed and efficient data transfer,
Bit width convertible bidirectional FIF with built-in control function
By using O, the difference in the data transfer speed of each bus is absorbed, and high-speed and efficient data transfer is performed.

【0006】また、第2の目的は、従来技術において、
バス幅が狭い方のデータを複数のバッファメモリに順次
書込んでいる間、バス幅が広いデータバスにデータを送
信することができないことを鑑みて、前記DMA制御機
能を内蔵したビット幅の変換可能な双方向FIFOの内
部のFIFOブロックを複数で構成して、相互のデータ
交換を可能にすることにより、送受信同時動作を行っ
て、より高速で効率の良いデータ転送を行うことであ
る。
A second object is that in the prior art,
In consideration of the fact that data cannot be transmitted to a data bus having a wide bus width while data having a narrow bus width is being sequentially written to a plurality of buffer memories, a bit width conversion incorporating the DMA control function is considered. An object of the present invention is to configure a plurality of FIFO blocks inside a possible bidirectional FIFO to enable mutual data exchange, thereby performing simultaneous transmission / reception operations and performing faster and more efficient data transfer.

【0007】そして、第3の目的は、上記従来技術にお
いて、DMA転送を行う場合、DMACの設定が同じで
あっても転送を開始するアドレスによっては、転送の最
初と最後に半端なバイト数を転送する場合があるため、
アドレスの調整を行い、半端なバイト数の転送をなくす
必要があったことを鑑みて、DMA制御機能を内蔵した
ビット幅の変換可能な双方向FIFOを使用し、そのF
IFOの転送バイト数を、DMACの転送バースト長に
対応してプログラマブルに設定することにより、任意の
DMACの転送バースト長に対応することである。
A third object is that, in the above-described prior art, when performing DMA transfer, even if the setting of the DMAC is the same, depending on the address at which the transfer is started, the odd number of bytes at the beginning and end of the transfer is determined. May be transferred,
In view of the necessity of adjusting the address and eliminating the transfer of an odd number of bytes, a bidirectional FIFO having a built-in DMA control function and capable of converting the bit width is used.
By setting the number of transfer bytes of the IFO to be programmable according to the transfer burst length of the DMAC, it is possible to correspond to the transfer burst length of an arbitrary DMAC.

【0008】さらに、第4の目的は、上記従来技術にお
いて、DMA転送を行う場合、任意のバス幅に適したバ
ッファメモリ回路を構成した時、他のバス幅でのデータ
転送が困難であることを鑑みて、FIFOのビット幅を
プログラマブルに設定可能にすることにより、接続する
バス幅を指定する必要がなく、回路変更を行うことなく
任意のデータバス間のデータ転送を行うことである。
A fourth object of the present invention is that, in the prior art, when performing a DMA transfer, when a buffer memory circuit suitable for an arbitrary bus width is configured, it is difficult to transfer data with another bus width. In view of the above, by making the bit width of the FIFO programmable, there is no need to specify the width of the bus to be connected, and data can be transferred between any data buses without changing the circuit.

【0009】[0009]

【課題を解決するための手段】請求項1の発明は、同一
バス上のビット幅の異なるデバイス間のDMAによるデ
ータ転送において、前記デバイス間をDMA制御機能を
内蔵したビット幅の変換可能な双方向FIFOにより中
継するDMA転送方式に関する。
According to a first aspect of the present invention, in a data transfer by DMA between devices having different bit widths on the same bus, both devices capable of converting a bit width with a built-in DMA control function between the devices. The present invention relates to a DMA transfer method for relaying data by a FIFO.

【0010】請求項2の発明は、請求項1に記載のDM
A転送方式に用いるDMA制御機能を内蔵したビット幅
の変換可能な双方向FIFOであって、内部のFIFO
ブロックを複数となしたFIFOに関する。
[0010] The invention according to claim 2 is the DM according to claim 1.
A bit width convertible bidirectional FIFO having a built-in DMA control function used for the A transfer method,
The present invention relates to a FIFO having a plurality of blocks.

【0011】請求項3の発明は、同一バス上のビット幅
の異なるデバイス間のDMAによるデータ転送におい
て、前記デバイス間を請求項2に記載の内部のFIFO
ブロックを複数となしたFIFOにより中継するDMA
転送方法である。
According to a third aspect of the present invention, in the data transfer by DMA between devices having different bit widths on the same bus, the internal FIFO according to the second aspect is used between the devices.
DMA relaying by FIFO with multiple blocks
The transfer method.

【0012】請求項4の発明は、同一バス上のビット幅
の異なるデバイス間のDMAによるデータ転送におい
て、前記デバイス間を請求項2に記載の内部のFIFO
ブロックを複数となしたFIFOにより中継するDMA
転送システムである。
According to a fourth aspect of the present invention, in the data transfer by DMA between devices having different bit widths on the same bus, the internal FIFO according to the second aspect is used between the devices.
DMA relaying by FIFO with multiple blocks
It is a transfer system.

【0013】請求項5の発明は、請求項1に記載のDM
A転送方式において、前記DMA制御機能を内蔵したビ
ット幅の変換可能な双方向FIFOの転送バイト数をプ
ログラマブルに設定可能にしたものである。
According to a fifth aspect of the present invention, the DM of the first aspect is provided.
In the A transfer method, the number of transfer bytes of a bidirectional FIFO with a built-in DMA control function and capable of converting a bit width can be set programmably.

【0014】請求項6の発明は、請求項1に記載したD
MA転送方式において、前記DMA制御機能を内蔵した
ビット幅の変換可能な双方向FIFOのビット幅をプロ
グラマブルに設定可能にしたものである。
According to a sixth aspect of the present invention, there is provided a digital camera according to the first aspect.
In the MA transfer system, the bit width of a bidirectional FIFO capable of converting the bit width incorporating the DMA control function can be set programmably.

【0015】[0015]

【発明の実施の形態】この発明の実施例を図面に基づい
て説明する。図1は、本発明のDMA転送システムの一
実施例を示すブロック図である。この図において、10
1は、このシステムを制御する中央演算処理装置(CP
U)である。102は、CPU101と共に、このシス
テムを構築するシステムコントローラであり、通常、C
PUバスインターフェース,メモリデバイスインターフ
ェースを備えており、DMACを内蔵している場合もあ
る。103は、データを記憶しておくメモリであり、通
常、DRAMが使用される。
Embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing one embodiment of the DMA transfer system of the present invention. In this figure, 10
1 is a central processing unit (CP) for controlling this system.
U). Reference numeral 102 denotes a system controller for constructing this system together with the CPU 101.
It has a PU bus interface and a memory device interface, and may include a DMAC. Reference numeral 103 denotes a memory for storing data, and usually a DRAM is used.

【0016】104は、DMA転送を制御するDMAC
である。DMA転送は、このDMAC104がCPU1
01を介さずに、メモリ103とI/Oデバイス108
間のデータ転送を行うことである。105は、32bi
t幅のデータバスであり、32bitのデータバス幅を
持つシステムコントローラ102,メモリ103,DM
AC104,DMA制御付FIFO107が接続されて
いる。106は、システムコントローラ102が生成す
る各種制御信号であり、アドレスバス,RD信号,WR
信号,CS信号等から構成されている。
A DMAC 104 controls DMA transfer.
It is. The DMA transfer is performed when the DMAC 104
01 and the memory 103 and the I / O device 108
Data transfer between the two. 105 is 32 bi
t is a data bus having a width of 32 bits, and having a data bus width of 32 bits.
The AC 104 and the FIFO with DMA control 107 are connected. Reference numeral 106 denotes various control signals generated by the system controller 102, such as an address bus, an RD signal, and a WR signal.
Signal, CS signal and the like.

【0017】107は、内部に2つの32バイトのFI
FOとDMA制御機能を含むFIFO制御部を持つDM
A制御付FIFOであり、片方のFIFOが32bit
データバス105に、もう片方のFIFOが16bit
データバス109に接続されている。108は、16b
itのデータバスと、DMAインターフェースを持つI
/Oデバイスである。109は、16bit幅のデータ
バスであり、16bitのデータバス幅を持つI/Oデ
バイス108とDMA制御付FIFO107を接続して
いる。
Reference numeral 107 denotes two 32-byte FIs internally.
DM with FIFO control unit including FO and DMA control functions
FIFO with A control, one FIFO is 32 bits
The other FIFO is 16 bits on the data bus 105
It is connected to the data bus 109. 108 is 16b
I with data bus and DMA interface
/ O device. A data bus 109 has a 16-bit width, and connects the I / O device 108 having a 16-bit data bus width to the FIFO 107 with DMA control.

【0018】110は、DMAC104が、DMA制御
付FIFO107との間でDMA転送を行う時に出力す
る信号(ACK−A)であり、この信号に同期してデー
タの送受信を行う。111は、DMA制御付FIFO1
07がDMAC104に対してデータの送受信を要求す
る信号(REQ−A)である。112は、DMA制御付
FIFO107がI/Oデバイス108との間でDMA
転送を行う時に出力する信号(ACK−B)であり、こ
の信号に同期してデータの送受信を行う。113は、I
/Oデバイス108がDMA制御付FIFO107に対
してデータの送受信を要求する信号(REQ−B)であ
る。
Reference numeral 110 denotes a signal (ACK-A) output when the DMAC 104 performs a DMA transfer with the FIFO 107 with DMA control, and transmits and receives data in synchronization with this signal. 111 is a FIFO1 with DMA control
Reference numeral 07 denotes a signal (REQ-A) for requesting the DMAC 104 to transmit and receive data. Reference numeral 112 denotes a case where the FIFO with DMA control 107 performs DMA transfer with the I / O device 108.
This signal (ACK-B) is output when data is transferred, and data is transmitted and received in synchronization with this signal. 113 is I
This is a signal (REQ-B) that requests the / O device 108 to transmit and receive data to and from the FIFO 107 with DMA control.

【0019】以上のシステム構成において、DMAC1
04とI/Oデバイス108間でDMAによるデータ転
送を行う場合を想定し、以下にDMA制御付FIFO1
07を用いたDMA転送方式を詳細に説明する。
In the above system configuration, DMAC1
Assuming a case where data transfer by DMA is performed between the I / O device 04 and the I / O device 108,
07 will be described in detail.

【0020】図2は、図1におけるDMA制御付FIF
O107の構成を示すブロック図である。201は、F
IFO−A203,FIFO−B204から構成される
FIFO部であり、FIFO−A203,FIFO−B
204は、互いにデータのロードが可能である。FIF
O−A203の入力は、32bitデータバス105に
接続され、FIFO−A203の出力は、3ステートバ
ッファ210を介して32bitデータバス105に接
続されている。
FIG. 2 shows the FIF with DMA control in FIG.
It is a block diagram which shows a structure of O107. 201 is F
This is a FIFO unit composed of the FIFO-A 203 and the FIFO-B 204, and the FIFO-A 203 and the FIFO-B
204 can load data with each other. FIF
The input of the O-A 203 is connected to the 32-bit data bus 105, and the output of the FIFO-A 203 is connected to the 32-bit data bus 105 via the three-state buffer 210.

【0021】また、FIFO−B204の入力は、16
bitデータバス109に接続され、FIFO−B20
4の出力は、3ステートバッファ211を介して16b
itデータバス109に接続されている。202は、F
IFOコントロールレジスタ205,転送バイト数レジ
スタ206,転送バイトカウンタA207、及び転送バ
イトカウンタB208から構成されるFIFO制御部で
ある(詳細は図6を参照)。209は、32bitデー
タバス105と16bitデータバス109を中継して
いるバイパススイッチであり、FIFOコントロールレ
ジスタ205にて制御されるBypsOe信号によっ
て、32bitデータバスと16bitデータバスを直
結することができる。
The input of the FIFO-B 204 is 16
connected to the bit data bus 109 and the FIFO-B20
The output of 4 is 16b via the 3-state buffer 211.
It is connected to the data bus 109. 202 is F
This is a FIFO control unit including an IFO control register 205, a transfer byte number register 206, a transfer byte counter A207, and a transfer byte counter B208 (for details, see FIG. 6). Reference numeral 209 denotes a bypass switch that relays the 32-bit data bus 105 and the 16-bit data bus 109. The bypass switch 209 can directly connect the 32-bit data bus and the 16-bit data bus by the BypsOe signal controlled by the FIFO control register 205.

【0022】また、3ステートバッファ210,211
のイネーブルラインに、FIFOコントロールレジスタ
205にて制御されるBypsOe信号とDir信号を
入力することにより、データの転送方向の制御を行う。
Also, three-state buffers 210 and 211
By inputting the BypsOe signal and the Dir signal controlled by the FIFO control register 205 to the enable line, the data transfer direction is controlled.

【0023】図3は、図2におけるFIFO部201の
内部構成を示すブロック図である。FIFO−A20
3,FIFO−B204は、32個のラッチからなるメ
モリセルを8段接続した32バイトのFIFOである。
各メモリセルは、セレクタ制御信号によって、データバ
ス幅を8bit,16bit,32bitに変更するこ
とができ、またメモリセルの入力を、前段のメモリセル
の出力か、受信FIFOからのデータのロードかを切り
換えることができる(詳細は図4,図5を参照)。
FIG. 3 is a block diagram showing the internal configuration of the FIFO unit 201 in FIG. FIFO-A20
3. The FIFO-B 204 is a 32-byte FIFO in which memory cells each having 32 latches are connected in eight stages.
Each memory cell can change the data bus width to 8 bits, 16 bits, or 32 bits by a selector control signal, and determines whether the input of the memory cell is the output of the preceding memory cell or the loading of data from the reception FIFO. It can be switched (see FIGS. 4 and 5 for details).

【0024】また、各FIFOは、データ転送方向によ
ってラッチタイミングが異なっており、データ転送方向
がA→Bの時(Dir=1)は、FIFO−A203
は、信号ACK−Aの立ち上がりエッジ、FIFO−B
204は、信号ACK−Bの立ち下がりエッジ、データ
転送方向がB→Aの時(Dir=0)は、FIFO−A
203は、信号ACK−Aの立ち下がりエッジ、FIF
O−B204は、信号ACK−Bの立ち上がりエッジに
よってデータをラッチする。
The latch timing of each FIFO differs depending on the data transfer direction. When the data transfer direction is A → B (Dir = 1), the FIFO-A 203
Is the rising edge of the signal ACK-A, FIFO-B
Reference numeral 204 denotes a falling edge of the signal ACK-B, and when the data transfer direction is B → A (Dir = 0), FIFO-A
203 is a falling edge of the signal ACK-A, FIF
The OB 204 latches data at the rising edge of the signal ACK-B.

【0025】図4は、図3における各メモリセルの内部
構造を示すブロック図である。401は、32個のラッ
チで構成されたラッチ部であり、ACK−A,/ACK
−A(ACK−Aの反転),ACK−B,/ACK−B
(ACK−Bの反転)の各信号の立ち上がりエッジにて
入力データをラッチする。402は、ラッチ401に入
力するデータを選択する入力セレクタ部であり、セレク
タ制御信号によって〜のどのデータをラッチに入力
するかを切り換える。403は、ラッチ401から出力
するデータの出力先を選択する出力セレクタ部であり、
セレクタ制御信号によって〜のどの出力先にデータ
を出力するかを切り換える。
FIG. 4 is a block diagram showing the internal structure of each memory cell in FIG. Reference numeral 401 denotes a latch unit composed of 32 latches, and ACK-A, / ACK
-A (inversion of ACK-A), ACK-B, / ACK-B
Input data is latched at the rising edge of each signal of (ACK-B inversion). Reference numeral 402 denotes an input selector unit for selecting data to be input to the latch 401, and switches which of the data to be input to the latch by a selector control signal. An output selector 403 selects an output destination of the data output from the latch 401.
To which of the output destinations to output the data is switched by the selector control signal.

【0026】図5は、セレクタ制御信号の設定による図
4のメモリセル内部のラッチ構成パターンを示す図であ
る。FIFO−A203からFIFO−B204、また
はFIFO−B204からFIFO−A203へデータ
をロードする場合(条件c501)は、入力セレクタ部
402及び出力セレクタ部403は、が選択され、ラ
ッチ部401の入力には、一方のFIFOからのデータ
がセットされる。
FIG. 5 is a diagram showing a latch configuration pattern inside the memory cell of FIG. 4 according to the setting of the selector control signal. When data is to be loaded from the FIFO-A 203 to the FIFO-B 204 or from the FIFO-B 204 to the FIFO-A 203 (condition c501), the input selector 402 and the output selector 403 are selected. , Data from one FIFO is set.

【0027】また、FIFOが、32bitデータバス
に接続された時に、前段のメモリセルのデータをラッチ
する場合(条件c502)は、入力セレクタ部402及
び出力セレクタ部403は、が選択され、ラッチ部4
01の入力には、前段のメモリセルのデータ(bit
(31:0))がセットされる。そして、FIFOが1
6bitデータバスに接続された時に、前段のメモリセ
ルのデータをラッチする場合(条件c503)は、入力
セレクタ部402及び出力セレクタ部403は、が選
択され、ラッチ部401の(bit(31:24),b
it(23:16))の入力には、前段のメモリセルの
データ(bit(15:0))がセットされ、ラッチ部
401の(bit(15:8),bit(7:0))の
入力には、ラッチ部401の(bit(31:24),
bit(23:16))の出力がセットされる。
When the FIFO is connected to the 32-bit data bus and the data of the preceding memory cell is latched (condition c502), the input selector 402 and the output selector 403 are selected, and the latch is selected. 4
01 is input to the data (bit) of the preceding memory cell.
(31: 0)) is set. And FIFO is 1
When the data of the memory cell at the previous stage is latched when connected to the 6-bit data bus (condition c503), the input selector 402 and the output selector 403 are selected, and the (bit (31:24 ), B
The data (bit (15: 0)) of the preceding memory cell is set to the input of it (23:16), and the data (bit (15: 8), bit (7: 0)) of the latch unit 401 is set. The input includes (bit (31:24),
bit (23:16)) is set.

【0028】さらに、FIFOが、8bitデータバス
に接続された時に、前段のメモリセルのデータをラッチ
する場合(条件c504)は、入力セレクタ部402及
び出力セレクタ部403は、が選択され、ラッチ部4
01の(bit(31:24))の入力には、前段のメ
モリセルのデータ(bit(7:0))がセットされ、
ラッチ部401の(bit(23:16))の入力に
は、ラッチ部401の(bit(31:24))の出力
がセットされ、ラッチ部401の(bit(15:
8))の入力には、ラッチ部401の(bit(23:
16))の出力がセットされ、ラッチ部401の(bi
t(7:0))の入力には、ラッチ部401の(bit
(15:8))の出力がセットされる。
Further, when the FIFO is connected to the 8-bit data bus and the data of the preceding memory cell is to be latched (condition c504), the input selector 402 and the output selector 403 are selected, and the latch is selected. 4
01 (bit (31:24)) is set with the data (bit (7: 0)) of the memory cell at the preceding stage,
The output of (bit (31:24)) of the latch unit 401 is set to the input of (bit (23:16)) of the latch unit 401, and the (bit (15:15:
8)), the input of (bit (23:
16)) is set, and (bi) of the latch unit 401 is set.
t (7: 0)) is input to the (bit)
(15: 8)) is set.

【0029】図6は、図2のFIFO制御部の各ブロッ
クの動作内容を説明する図である。FIFOコントロー
ルレジスタ205は、このFIFOの動作モードを決定
するレジスタである。転送バイト数レジスタ206は、
1回のDMA転送で行うバースト長を設定するレジスタ
であり、設定された値をもとに、後述する転送バイトカ
ウンタA207,転送バイトカウンタB208を制御し
て、バースト長の変更をプログラマブルに行う。転送バ
イトカウンタA207は、DMAC104が出力する信
号ACK−Aをカウントするカウンタであり、転送バイ
トカウンタB208は、このFIFOが出力する信号A
CK−Bをカウントするカウンタである。それぞれのカ
ウンタ値を基にFIFO−A,FIFO−Bの状況を判
断し、セレクタ制御信号,信号REQ−A、及び信号A
CK−Bの出力タイミングを制御する。
FIG. 6 is a diagram for explaining the operation of each block of the FIFO control unit in FIG. The FIFO control register 205 is a register that determines the operation mode of the FIFO. The transfer byte number register 206
This is a register for setting a burst length to be performed in one DMA transfer, and controls a transfer byte counter A 207 and a transfer byte counter B 208, which will be described later, based on the set value to change the burst length in a programmable manner. The transfer byte counter A 207 is a counter for counting the signal ACK-A output from the DMAC 104, and the transfer byte counter B 208 is a counter for counting the signal A output from the FIFO.
This is a counter for counting CK-B. The statuses of the FIFO-A and FIFO-B are determined based on the respective counter values, and the selector control signal, the signal REQ-A, and the signal A are determined.
The output timing of CK-B is controlled.

【0030】また、転送バイトカウンタA207,転送
バイトカウンタB208の初期値はデータの転送方向に
よって異なり、FIFOが、データを受信する場合は、
受信回数がセットされる。FIFOがデータを送信する
場合は、初期値は0であり、FIFOが、一方のFIF
Oから送信データをロードした時に、送信回数がセット
される。受信回数,送信回数は、転送バイト数レジスタ
206の値をもとに設定する。
The initial values of the transfer byte counter A 207 and the transfer byte counter B 208 are different depending on the data transfer direction. When the FIFO receives data,
The number of receptions is set. When the FIFO transmits data, the initial value is 0, and the FIFO
When the transmission data is loaded from O, the number of transmissions is set. The number of receptions and the number of transmissions are set based on the value of the transfer byte number register 206.

【0031】図7は、図1の32bitバス上のDMA
C104から16bitバス上のI/Oデバイス108
へのDMA転送におけるフローチャートである。まず、
I/Oデバイス108からDMA制御付FIFO107
にDMA要求(信号REQ−Bを出力)を行う(ステッ
プS701)。DMA制御付FIFO107は、信号R
EQ−Bを受信した後、DMAC104にDMA要求
(信号REQ−Aを出力)を行う(ステップS70
2)。
FIG. 7 shows a DMA on the 32-bit bus shown in FIG.
I / O device 108 on 16-bit bus from C104
5 is a flowchart in a DMA transfer to. First,
FIFO 107 with DMA control from I / O device 108
Request (output signal REQ-B) (step S701). The FIFO with DMA control 107 outputs the signal R
After receiving the EQ-B, the DMAC 104 issues a DMA request (outputs the signal REQ-A) to the DMAC 104 (step S70).
2).

【0032】信号REQ−Aを受信したDMAC104
は、FIFO−A203にDMA転送にてデータを送信
する(ステップS703)。FIFO−A203は、1
回のDMA転送バースト長分のデータを受信した後、F
IFO−B204に受信データをロードする(ステップ
S704)。FIFO−B204は、データを受け取っ
た後、I/Oデバイス108にDMA転送にてデータを
送信する(ステップS705)。FIFO−B204
が、I/Oデバイス108にデータを送信しているのと
同時に、DMAC104が、FIFO−A203に次の
データを送信する(ステップS701〜703)。
DMAC 104 receiving signal REQ-A
Transmits data to the FIFO-A 203 by DMA transfer (step S703). FIFO-A203 is 1
After receiving data for the number of DMA transfer bursts, F
The received data is loaded into the IFO-B 204 (step S704). After receiving the data, the FIFO-B 204 transmits the data to the I / O device 108 by DMA transfer (step S705). FIFO-B204
Is transmitting data to the I / O device 108, and at the same time, the DMAC 104 transmits the next data to the FIFO-A 203 (steps S701 to S703).

【0033】図8は、図1のDMAC104からI/O
デバイス108へのDMA転送における32bitデー
タバスから16bitデータバスへのDMA転送タイミ
ング図である。まず、初期設定として、転送バイト数レ
ジスタ206を、DMAC104のバースト長の設定に
合わせて設定する(この実施例では32バイトに設定す
る)。
FIG. 8 shows the I / O from the DMAC 104 of FIG.
FIG. 6 is a timing chart of DMA transfer from a 32-bit data bus to a 16-bit data bus in a DMA transfer to the device 108. First, as an initial setting, the transfer byte number register 206 is set in accordance with the setting of the burst length of the DMAC 104 (set to 32 bytes in this embodiment).

【0034】また、FIFOコントロールレジスタ20
5を、FIFOモード切換ビット=0(コンフィグレー
ションモード)、Dir=1(A→B)、BypsOe
=0(バイパスしない)、FIFO−Aビット幅変換=
2(32bit幅)、FIFO−Bビット幅変換=1
(16bit幅)に設定した後、FIFOモード切換ビ
ットのみ1(動作モード)に設定する。この初期設定に
て、このDMA制御付FIFO107は、Ready状
態となり、転送バイトカウンタA207、転送バイトカ
ウンタB208のカウント値が、それぞれ8,0にセッ
トされ、I/Oデバイス108から信号REQ−Bのア
サートを待つ。
The FIFO control register 20
5, FIFO mode switching bit = 0 (configuration mode), Dir = 1 (A → B), BypsOe
= 0 (no bypass), FIFO-A bit width conversion =
2 (32 bit width), FIFO-B bit width conversion = 1
(16-bit width), only the FIFO mode switching bit is set to 1 (operation mode). With this initialization, the FIFO with DMA control 107 enters the Ready state, the count values of the transfer byte counter A 207 and the transfer byte counter B 208 are set to 8, 0, respectively, and the signal REQ-B from the I / O device 108 is output. Wait for assert.

【0035】タイミングt801で、信号REQ−Bが
アサートされ、その時の転送バイトカウンタA207の
値が8(FIFO−Aが空の状態)であるので、該FI
FOは、DMAC104に対して信号REQ−Aをアサ
ートする(タイミングt802)。信号REQ−Aを受
けたDMAC104は、信号ACK−Aに同期して、3
2bitデータバスにデータを出力する。FIFO−A
203は、信号ACK−Aの立ち上がりエッジで、デー
タをラッチし、転送バイトカウンタA207は、−1デ
ィクリメントされ7になる(タイミングt803)。
At timing t801, the signal REQ-B is asserted and the value of the transfer byte counter A207 at that time is 8 (FIFO-A is empty).
The FO asserts the signal REQ-A to the DMAC 104 (timing t802). The DMAC 104 that has received the signal REQ-A synchronizes with the signal ACK-A,
Data is output to a 2-bit data bus. FIFO-A
Reference numeral 203 denotes a rising edge of the signal ACK-A, which latches data, and the transfer byte counter A 207 is decremented by -1 to 7 (timing t803).

【0036】DMAC104は、バースト長が32バイ
トあるので、信号ACK−Aを合計8回出力する。FI
FO−A203は、信号ACK−Aを8回受信するとデ
ータフルの状態になり、転送バイトカウンタA207は
0になる(タイミングt804)。転送バイトカウンタ
A207の値が0になると、その時の転送バイトカウン
タB208の値を確認し、1か0であれば、FIFO−
B204が空であるということなので、FIFO−B2
04の各ラッチの入力は、FIFO−A側に切り換えら
れ、転送バイトカウンタB208の値を16に設定する
(タイミングt805)。転送バイトカウンタB208
の値が16に設定されたら、信号ACK−Bの立ち下が
りエッジで、FIFO−B204は、FIFO−A20
3のデータをラッチし、16bitデータバスにデータ
を出力する(タイミングt806)。
Since the DMAC 104 has a burst length of 32 bytes, it outputs the signal ACK-A eight times in total. FI
When the FO-A 203 receives the signal ACK-A eight times, the FO-A 203 enters a data full state, and the transfer byte counter A 207 becomes 0 (timing t804). When the value of the transfer byte counter A 207 becomes 0, the value of the transfer byte counter B 208 at that time is confirmed.
Since B204 is empty, FIFO-B2
The input of each latch of 04 is switched to the FIFO-A side, and the value of the transfer byte counter B208 is set to 16 (timing t805). Transfer byte counter B208
Is set to 16, at the falling edge of the signal ACK-B, the FIFO-B 204
3 is latched, and the data is output to the 16-bit data bus (timing t806).

【0037】次の信号ACK−Bの立ち上がりエッジ
で、転送バイトカウンタA207の値を8にリセット
し、FIFO−B204の各ラッチの入力をFIFO−
B204の前段側に切り換える(タイミングt80
7)。転送バイトカウンタA207の値が8(FIFO
−Aが空の状態)にリセットされたので、該FIFO
は、その時の信号REQ−Bの状態を確認して、もし、
まだアサートされていれば、DMAC104に対して信
号REQ−Aをアサートする(タイミングt808)。
再度、信号REQ−Aを受けたDMAC104は、信号
ACK−Aに同期して次のデータを出力する(タイミン
グt809)。
At the next rising edge of the signal ACK-B, the value of the transfer byte counter A 207 is reset to 8, and the input of each latch of the FIFO-B 204 is changed to FIFO-B.
Switching to the preceding stage of B204 (timing t80
7). When the value of the transfer byte counter A207 is 8 (FIFO
-A is empty), the FIFO
Confirms the state of the signal REQ-B at that time,
If the signal is still asserted, the signal REQ-A is asserted to the DMAC 104 (timing t808).
The DMAC 104 receiving the signal REQ-A again outputs the next data in synchronization with the signal ACK-A (timing t809).

【0038】FIFO−A203は、信号ACK−Aを
8回受信して転送バイトカウンタA207の値が0(デ
ータフルの状態)となるが、この時、転送バイトカウン
タB208の値が0ではない(まだFIFO−Bにデー
タが残っている)ため、FIFO−B204の各ラッチ
の入力はFIFO−A側に切り換えられない(タイミン
グt810)。転送バイトカウンタB208の値が1に
なった時、FIFO−B204の各ラッチの入力は、F
IFO−A側に切り換えられ、転送バイトカウンタB2
08の値を16に設定する(タイミングt811)。転
送バイトカウンタB208の値が16に設定されたら、
信号ACK−Bの立ち下がりエッジで、FIFO−B2
04は、FIFO−A203のデータをラッチし、16
bitデータバスにデータを出力する(タイミングt8
12)。
The FIFO-A 203 receives the signal ACK-A eight times, and the value of the transfer byte counter A 207 becomes 0 (data full state). At this time, the value of the transfer byte counter B 208 is not 0 ( Since data still remains in the FIFO-B), the input of each latch of the FIFO-B 204 is not switched to the FIFO-A side (timing t810). When the value of the transfer byte counter B208 becomes 1, the input of each latch of the FIFO-B204 becomes F
Switching to the IFO-A side, the transfer byte counter B2
The value of 08 is set to 16 (timing t811). When the value of the transfer byte counter B208 is set to 16,
At the falling edge of the signal ACK-B, FIFO-B2
04 latches the data of the FIFO-A 203 and 16
Data is output to the bit data bus (at timing t8).
12).

【0039】次の信号ACK−Bの立ち上がりエッジ
で、転送バイトカウンタA207の値を8にリセット
し、FIFO−B204の各ラッチの入力をFIFO−
B204の前段側に切り換える(タイミングt81
3)。もし、タイミングt811で、転送バイトカウン
タA207が0でない(FIFO−A203がフルでは
ない)場合、転送バイトカウンタB208の値は0(F
IFO−B204が空の状態)になり、転送バイトカウ
ンタA207が0になるのを待つことになる。タイミン
グt814からは、以上の繰り返しである。
At the next rising edge of the signal ACK-B, the value of the transfer byte counter A 207 is reset to 8, and the input of each latch of the FIFO-B 204 is changed to FIFO-B.
Switching to the preceding stage of B204 (timing t81
3). If the transfer byte counter A 207 is not 0 at timing t811 (the FIFO-A 203 is not full), the value of the transfer byte counter B 208 is 0 (F
IFO-B 204 is empty), and waits until transfer byte counter A 207 becomes 0. The above is repeated from timing t814.

【0040】図9は、図1の16bitバス上のI/O
デバイス108から32bitバス上のDMAC104
へのDMA転送におけるフローチャートである。まず、
I/Oデバイス108から、DMA制御付FIFO10
7にDMA要求(信号REQ−Bを出力)を行う(ステ
ップS901)。信号REQ−Bを受信したDMA制御
付FIFO107は、I/Oデバイス108からFIF
O−B204にDMA転送にてデータを受信する(ステ
ップS902)。FIFO−B204は、1回のDMA
転送バースト長分のデータを受信した後、FIFO−A
203に受信データをロードする(ステップS90
3)。FIFO−A203がデータを受け取った後、D
MA制御付FIFO107からDMAC104にDMA
要求(信号REQ−Aを出力)を行う(ステップS90
4)。信号REQ−Aを受信したDMAC104は、F
IFO−A203からDMA転送にてデータを受信する
(ステップS905)。FIFO−A203がDMAC
104にデータを送信しているのと同時に、I/Oデバ
イス108は、FIFO−B204に、次のデータを送
信する(ステップS901〜902)。
FIG. 9 shows the I / O on the 16-bit bus shown in FIG.
DMAC 104 on 32-bit bus from device 108
5 is a flowchart in a DMA transfer to. First,
From the I / O device 108, the FIFO 10 with DMA control
7, a DMA request (outputs the signal REQ-B) is made (step S901). Upon receiving the signal REQ-B, the FIFO with DMA control 107 transmits the FIFO from the I / O device 108 to the FIFO.
The OB 204 receives the data by DMA transfer (step S902). The FIFO-B 204 has one DMA
After receiving the data for the transfer burst length, the FIFO-A
203 is loaded with received data (step S90)
3). After the FIFO-A 203 receives the data,
DMA from FIFO 107 with MA control to DMAC 104
Make a request (output signal REQ-A) (step S90)
4). The DMAC 104 that has received the signal REQ-A
The data is received by DMA transfer from the IFO-A 203 (step S905). FIFO-A203 is DMAC
At the same time as transmitting the data to the I / O device 104, the I / O device 108 transmits the next data to the FIFO-B 204 (steps S901 to S902).

【0041】図10は、図1のI/Oデバイス108か
らDMAC104へのDMA転送における16bitデ
ータバスから32bitデータバスへのDMA転送タイ
ミング図である。まず、初期設定として、転送バイト数
レジスタ206をDMACのバースト長の設定に合わせ
て設定する(この実施例では32バイトに設定)。ま
た、FIFOコントロールレジスタ205を、FIFO
モード切換ビット=0(コンフィグレーションモー
ド),Dir=0(B→A),BypsOe=0(バイ
パスしない),FIFO−Aビット幅変換=2(32b
it幅),FIFO−Bビット幅変換=1(16bit
幅)に設定した後、FIFOモード切換ビットのみ1
(動作モード)に設定する。
FIG. 10 is a timing chart of the DMA transfer from the 16-bit data bus to the 32-bit data bus in the DMA transfer from the I / O device 108 to the DMAC 104 in FIG. First, as an initial setting, the transfer byte number register 206 is set in accordance with the setting of the burst length of the DMAC (set to 32 bytes in this embodiment). Further, the FIFO control register 205 is
Mode switching bit = 0 (configuration mode), Dir = 0 (B → A), BypsOe = 0 (no bypass), FIFO-A bit width conversion = 2 (32b
it width), FIFO-B bit width conversion = 1 (16 bit
Width), only the FIFO mode switching bit is 1
(Operation mode).

【0042】この初期設定にて、このDMA制御付FI
FO107は、Ready状態となり、転送バイトカウ
ンタA207,転送バイトカウンタB208の初期値
が、それぞれ0,16にセットされ、I/Oデバイス1
08から信号REQ−Bのアサートを待つ。タイミング
t1001で、信号REQ−Bがアサートされ、その時
の転送バイトカウンタB208の値が16(FIFO−
Bが空の状態)であるので、該FIFOは、I/Oデバ
イス108に対して信号ACK−Bを出力し、信号AC
K−Bを受けたI/Oデバイス108は、信号ACK−
Bに同期して、16bitデータバスにデータを出力す
る。
In this initial setting, this FI with DMA control
The FO 107 is in the Ready state, the initial values of the transfer byte counter A 207 and the transfer byte counter B 208 are set to 0 and 16, respectively, and the I / O device 1
From 08, it waits for the assertion of the signal REQ-B. At timing t1001, the signal REQ-B is asserted, and the value of the transfer byte counter B208 at that time becomes 16 (FIFO-
B is empty), the FIFO outputs a signal ACK-B to the I / O device 108 and outputs the signal AC
The I / O device 108 receiving the KB receives the signal ACK-
Data is output to the 16-bit data bus in synchronization with B.

【0043】FIFO−B204は、信号ACK−Bの
立ち上がりエッジでデータをラッチし、転送バイトカウ
ンタB208は、−1ディクリメントされ15になる
(タイミングt1002)。DMAC104のバースト
長が32バイトであるので、該FIFOは、FIFO−
B204がフルになるまで、信号ACK−Bを16回出
力し、データを受信する。信号ACK−Bを16回出力
すると、転送バイトカウンタB208は0になる(タイ
ミングt1003)。転送バイトカウンタB208が0
になると、その時の転送バイトカウンタA207の値を
確認し、0であればFIFO−A203が空であるとい
うことなので、FIFO−A203の各ラッチの入力
は、FIFO−B側に切り換えられ、転送バイトカウン
タA207を8に設定する(タイミングt1004)。
転送バイトカウンタA207の値が8に設定されたら、
該FIFOは、DMAC104に対して信号REQ−A
をアサートする(タイミングt1005)。
The FIFO-B 204 latches data at the rising edge of the signal ACK-B, and the transfer byte counter B 208 is decremented by 1 to 15 (timing t1002). Since the burst length of the DMAC 104 is 32 bytes, the FIFO is FIFO-
Until B204 becomes full, the signal ACK-B is output 16 times and data is received. When the signal ACK-B is output 16 times, the transfer byte counter B208 becomes 0 (timing t1003). Transfer byte counter B208 is 0
, The value of the transfer byte counter A 207 at that time is checked, and if it is 0, the FIFO-A 203 is empty, so the input of each latch of the FIFO-A 203 is switched to the FIFO-B side, and the transfer byte The counter A 207 is set to 8 (timing t1004).
When the value of the transfer byte counter A207 is set to 8,
The FIFO sends a signal REQ-A to the DMAC 104.
Is asserted (timing t1005).

【0044】信号REQ−Aを受けたDMAC104
は、信号ACK−Aを出力するので、信号ACK−Aの
立ち下がりエッジで、FIFO−A203は、FIFO
−B204のデータをラッチし、32bitデータバス
にデータを出力する(タイミングt1006)。次の信
号ACK−Aの立ち上がりエッジで、転送バイトカウン
タB208を16にリセットし、FIFO−A203の
各ラッチの入力をFIFO−Aの前段側に切り換える
(タイミングt1007)。転送バイトカウンタB20
8が16(FIFO−B204が空の状態)にリセット
されたので、該FIFOは、その時の信号REQ−Bの
状態を確認して、もし、まだアサートされていれば、I
/Oデバイス108に対して信号ACK−Bを出力し
て、次のデータを受信する(タイミングt1008)。
DMAC 104 receiving signal REQ-A
Outputs the signal ACK-A, so that at the falling edge of the signal ACK-A, the FIFO-A 203
Latch the data of -B204 and output the data to the 32-bit data bus (timing t1006). At the next rising edge of the signal ACK-A, the transfer byte counter B208 is reset to 16, and the input of each latch of the FIFO-A 203 is switched to the preceding stage of the FIFO-A (timing t1007). Transfer byte counter B20
Since 8 has been reset to 16 (FIFO-B 204 is empty), the FIFO checks the state of signal REQ-B at that time and if it is still asserted, I
The signal ACK-B is output to the / O device 108 to receive the next data (timing t1008).

【0045】FIFO−A203は、信号ACK−Aを
8回出力して、転送バイトカウンタA207が0(デー
タ空の状態)となるが、この時、転送バイトカウンタB
208が0ではない(まだFIFO−B204がデータ
受信中)ため、すぐにはFIFO−A203の各ラッチ
の入力をFIFO−B側に切り換えず、転送バイトカウ
ンタB208が0になるのを待つことになる(タイミン
グt1009)。以降は、タイミングt1003からの
繰り返しである。
The FIFO-A 203 outputs the signal ACK-A eight times, and the transfer byte counter A 207 becomes 0 (data is empty). At this time, the transfer byte counter B
Since 208 is not 0 (the FIFO-B 204 is still receiving data), the input of each latch of the FIFO-A 203 is not immediately switched to the FIFO-B side, and it is necessary to wait until the transfer byte counter B 208 becomes 0. (Timing t1009). Thereafter, the process is repeated from timing t1003.

【0046】[0046]

【発明の効果】本発明によれば、ビット幅の異なるデバ
イス間において、このFIFOを中継してDMA転送す
ることにより、それぞれのデバイスの持つビット幅でデ
ータ転送を行うため、狭い方のビット幅に合わせたデー
タ転送をする必要がなくなり、高速で効率の良いデータ
転送が可能となる。
According to the present invention, between devices having different bit widths, the data is transferred at the bit width of each device by relaying the FIFO and performing the DMA transfer. Therefore, it is not necessary to perform data transfer according to the above, and high-speed and efficient data transfer becomes possible.

【0047】そして、内部のFIFOブロックを複数で
構成することにより、片方のFIFOがデータを送信し
ている時に、もう片方のFIFOがデータを受信するこ
とが可能となるため、より高速な効率の良いデータ転送
が可能となる。
By constructing a plurality of internal FIFO blocks, when one FIFO is transmitting data, the other FIFO can receive data. Good data transfer becomes possible.

【0048】さらに、FIFOの転送バイト数をプログ
ラマブルに設定可能にすることにより、DMACの任意
の転送バースト長の設定に対してDMA転送が可能とな
る。
Further, by making the number of transfer bytes of the FIFO programmable, the DMA transfer can be performed for any transfer burst length setting of the DMAC.

【0049】また、FIFOのビット幅をプログラマブ
ルに設定可能にすることにより、接続するデバイスのビ
ット幅を指定する必要がなく、回路変更を行うことなく
任意のデバイス間のDMA転送が可能となる。
Further, by making the bit width of the FIFO programmable, it is not necessary to specify the bit width of the device to be connected, and DMA transfer between any devices can be performed without changing the circuit.

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

【図1】本発明のDMA転送システムの一実施例を示し
たブロック図である。
FIG. 1 is a block diagram showing one embodiment of a DMA transfer system of the present invention.

【図2】図1におけるDMA制御付FIFOのブロック
図である。
FIG. 2 is a block diagram of a FIFO with a DMA control in FIG. 1;

【図3】図2におけるDMA制御付FIFOに内蔵され
ているFIFO部のブロック図である。
FIG. 3 is a block diagram of a FIFO unit incorporated in the FIFO with DMA control in FIG. 2;

【図4】図3におけるFIFO部を構成するメモリセル
部の内部構造を示すブロック図である。
FIG. 4 is a block diagram showing an internal structure of a memory cell unit constituting the FIFO unit in FIG. 3;

【図5】図4におけるFIFO部を構成するメモリセル
内部のラッチ構成パターンを示す図である。
5 is a diagram showing a latch configuration pattern inside a memory cell constituting a FIFO unit in FIG. 4;

【図6】図2におけるDMA制御付FIFOに内蔵され
ているFIFO制御部を構成する各ブロックの動作内容
を示す図である。
FIG. 6 is a diagram illustrating the operation of each block constituting a FIFO control unit built in the FIFO with DMA control in FIG. 2;

【図7】本発明における32bitデータバスから16
bitデータバスへのDMA転送処理のフローチャート
図である。
FIG. 7 shows a 16-bit data bus of the present invention.
FIG. 4 is a flowchart of a DMA transfer process to a bit data bus.

【図8】本発明における32bitデータバスから16
bitデータバスへのDMA転送を行う場合のタイミン
グ図である。
FIG. 8 shows a 16-bit data bus according to the present invention;
FIG. 4 is a timing chart when a DMA transfer to a bit data bus is performed.

【図9】本発明における16bitデータバスから32
bitデータバスへのDMA転送処理のフローチャート
図である。
FIG. 9 shows a case where a 16-bit data bus according to the present invention uses 32
FIG. 4 is a flowchart of a DMA transfer process to a bit data bus.

【図10】本発明における16bitデータバスから3
2bitデータバスへのDMA転送を行う場合のタイミ
ング図である。
FIG. 10 shows a diagram of a 16-bit data bus according to the present invention.
FIG. 4 is a timing chart when a DMA transfer to a 2-bit data bus is performed.

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

101…中央演算処理装置(CPU)、102…システ
ムコントローラ、103…メモリ、104…DMAC、
105…32bit幅データバス、106…各種制御信
号、107…DMA制御付FIFO、108…I/Oデ
バイス、109…16bit幅データバス、201…F
IFO、202…FIFO制御部、203…FIFO−
A、204…FIFO−B、205…FIFOコントロ
ールレジスタ、206…転送バイト数レジスタ、207
…転送バイトカウンタA、208…転送バイトカウンタ
B、209…バイパススイッチ、210,211…3ス
テートバッファ、401…ラッチ部、402…入力セレ
クタ部、403…出力セレクタ部。
101: central processing unit (CPU), 102: system controller, 103: memory, 104: DMAC,
105: 32-bit width data bus, 106: various control signals, 107: FIFO with DMA control, 108: I / O device, 109: 16-bit width data bus, 201: F
IFO, 202: FIFO control unit, 203: FIFO-
A, 204: FIFO-B, 205: FIFO control register, 206: transfer byte number register, 207
.., Transfer byte counter A, 208, transfer byte counter B, 209, bypass switch, 210, 211, 3-state buffer, 401, latch unit, 402, input selector unit, 403, output selector unit

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】 同一バス上のビット幅の異なるデバイス
間のDMAによるデータ転送において、前記デバイス間
をDMA制御機能を内蔵したビット幅の変換可能な双方
向FIFOにより中継することを特徴とするDMA転送
方式。
2. A data transfer method according to claim 1, wherein said DMA transfers data between devices having different bit widths on the same bus by means of a bit width convertible bidirectional FIFO having a built-in DMA control function. Transfer method.
【請求項2】 請求項1に記載のDMA転送方式に用い
るDMA制御機能を内蔵したビット幅の変換可能な双方
向FIFOであって、内部のFIFOブロックを複数と
なしたことを特徴とするFIFO。
2. A bidirectional FIFO having a built-in DMA control function for use in the DMA transfer system according to claim 1 and capable of converting a bit width, wherein a plurality of internal FIFO blocks are provided. .
【請求項3】 同一バス上のビット幅の異なるデバイス
間のDMAによるデータ転送において、前記デバイス間
を請求項2に記載のFIFOにより中継することを特徴
とするDMA転送方法。
3. A DMA transfer method in which data is transferred between devices having different bit widths on the same bus by DMA using the FIFO according to claim 2.
【請求項4】 同一バス上のビット幅の異なるデバイス
間のDMAによるデータ転送において、前記デバイス間
を請求項2に記載のFIFOにより中継することを特徴
とするDMA転送システム。
4. A DMA transfer system for relaying data between devices having different bit widths on the same bus by means of a FIFO according to claim 2, in a DMA transfer.
【請求項5】 請求項1に記載のDMA転送方式におい
て、前記DMA制御機能を内蔵したビット幅の変換可能
な双方向FIFOの転送バイト数をプログラマブルに設
定可能にしたことを特徴とするDMA転送システム。
5. The DMA transfer system according to claim 1, wherein the number of transfer bytes of a bidirectional FIFO having a built-in DMA control function and capable of converting a bit width can be set programmably. system.
【請求項6】 請求項1に記載したDMA転送方式にお
いて、前記DMA制御機能を内蔵したビット幅の変換可
能な双方向FIFOのビット幅をプログラマブルに設定
可能にしたことを特徴とするDMA転送システム。
6. The DMA transfer system according to claim 1, wherein a bit width of a bidirectional FIFO having a built-in DMA control function and capable of converting a bit width can be set programmably. .
JP13439499A 1999-05-14 1999-05-14 FIFO with DMA control and DMA transfer system using the same Expired - Fee Related JP3544146B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13439499A JP3544146B2 (en) 1999-05-14 1999-05-14 FIFO with DMA control and DMA transfer system using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13439499A JP3544146B2 (en) 1999-05-14 1999-05-14 FIFO with DMA control and DMA transfer system using the same

Publications (2)

Publication Number Publication Date
JP2000322375A true JP2000322375A (en) 2000-11-24
JP3544146B2 JP3544146B2 (en) 2004-07-21

Family

ID=15127384

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13439499A Expired - Fee Related JP3544146B2 (en) 1999-05-14 1999-05-14 FIFO with DMA control and DMA transfer system using the same

Country Status (1)

Country Link
JP (1) JP3544146B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7167937B2 (en) 2002-03-01 2007-01-23 Nec Electronics Corporation Bus system
US7185122B2 (en) 2003-01-27 2007-02-27 Yamaha Corporation Device and method for controlling data transfer
JP2008192150A (en) * 2007-02-01 2008-08-21 Internatl Business Mach Corp <Ibm> Method, integrated circuit, system and computer program for initializing programmable logic device, using direct memory access

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7167937B2 (en) 2002-03-01 2007-01-23 Nec Electronics Corporation Bus system
US7185122B2 (en) 2003-01-27 2007-02-27 Yamaha Corporation Device and method for controlling data transfer
JP2008192150A (en) * 2007-02-01 2008-08-21 Internatl Business Mach Corp <Ibm> Method, integrated circuit, system and computer program for initializing programmable logic device, using direct memory access
US8495545B2 (en) 2007-02-01 2013-07-23 International Business Machines Corporation Using direct memory access to initialize a programmable logic device
US8589834B2 (en) 2007-02-01 2013-11-19 International Business Machines Corporation Using direct memory access to initialize a programmable logic device

Also Published As

Publication number Publication date
JP3544146B2 (en) 2004-07-21

Similar Documents

Publication Publication Date Title
US5416909A (en) Input/output controller circuit using a single transceiver to serve multiple input/output ports and method therefor
US20030074502A1 (en) Communication between two embedded processors
JPH04346151A (en) Data processor
US20030167368A1 (en) Transmission control circuit, reception control circuit, communications control circuit, and communications control unit
US11971842B2 (en) Communication device, communication system, and communication method for transmitting a serial signal group conforming to a serial peripheral interface
JPH10143466A (en) Bus communication system
JP2962787B2 (en) Communication control method
JP2000322375A (en) Fifo with dma control and dma transfer system and method using the same
JPH0337221B2 (en)
US6192409B1 (en) X.25 network connection for X.25 protocol communication used in a full electronic switching system
JPH10320365A (en) Data exchange device and method therefor
US8427955B2 (en) Method and apparatus for transferring data
JP2006119724A (en) Cpu system, bus bridge, its control method, and computer system
CN115080493B (en) Bus device and data read-write circuit
JP3269530B2 (en) Serial communication system and serial communication method
JP2009098778A (en) Hub device
JPH04282938A (en) Communication controller
JPH027212B2 (en)
JP2000076199A (en) Multiprocessor device provided with debugging terminal
JPH0635841A (en) Bus controller
JP2001014270A (en) Data transfer method and device and their application system
JPS583048A (en) Control system of common memory
JPH02211571A (en) Information processor
JPH09259071A (en) Communication controller
JPS61267161A (en) Transferring device for multiple system data

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040203

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040209

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040330

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040331

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080416

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090416

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090416

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100416

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100416

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110416

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120416

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120416

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130416

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130416

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees