JP2007164415A - Data transfer controller - Google Patents

Data transfer controller Download PDF

Info

Publication number
JP2007164415A
JP2007164415A JP2005358956A JP2005358956A JP2007164415A JP 2007164415 A JP2007164415 A JP 2007164415A JP 2005358956 A JP2005358956 A JP 2005358956A JP 2005358956 A JP2005358956 A JP 2005358956A JP 2007164415 A JP2007164415 A JP 2007164415A
Authority
JP
Japan
Prior art keywords
memory device
data
access
command
buffer
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
JP2005358956A
Other languages
Japanese (ja)
Inventor
Hisanori Fukushima
寿典 福島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2005358956A priority Critical patent/JP2007164415A/en
Publication of JP2007164415A publication Critical patent/JP2007164415A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Dram (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a data transfer controller capable of easily changing a bus width of an external memory device according to processing contents required to a system, and efficiently using the band width with an architecture wherein burst access is remarked. <P>SOLUTION: This data transfer controller has: a buffer group 21 incorporating FIFO type buffers 21-1 to 21-n of one kind each having a bit width larger than a client data width; a command generation circuit 25 generating a command and an address of a memory device 30 based on at least a command and an address received from a master device; and a command decoding circuit 26 issuing the address and the command for making access be performed by a burst length preset according to the bus width of the memory device 30 based on the command and the address generated in the command generation circuit 25, and controlling writing or reading of data to the buffer group 21. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、メモリのデータバス幅と入出力インタフェース側とがバス幅が異なる場合に外部メモリデバイスへのアクセスを制御するデータ転送制御装置に係り、特に複数のデバイス(クライアント)から外部メモリデバイスへのアクセスを制御するデータ転送制御装置に関するものである。   The present invention relates to a data transfer control device that controls access to an external memory device when the data bus width of the memory and the input / output interface side are different, and in particular from a plurality of devices (clients) to the external memory device. The present invention relates to a data transfer control device that controls access to the data.

メモリのデータバス幅と入出力インタフェース側とがバス幅が異なる場合に外部メモリデバイスへのアクセスを制御する装置としては、種々提案されている(たとえば特許文献1、2、または3参照)。   Various devices have been proposed for controlling access to an external memory device when the data bus width of the memory is different from that of the input / output interface (see, for example, Patent Documents 1, 2, or 3).

特許文献1に記載されている装置は、複数のマスタデバイスと、1つのメモリデバイスとに接続され、メモリデバイスと、各マスタデバイスとの間のデータ転送を行うデータ処理装置である。
このデータ処理装置は、2つのポイントを有し、一方のポイントにてメモリデバイスと接続されるメモリバスと、それぞれが2つ以上のポイントを有し、1つ以上のポイントにて各マスタデバイスと接続される複数のローカルバスと、メモリデバイスに対するデータ読み出し、および、データ書き込みを行い、各ローカルバス上では、各マスタデバイスが要求する転送レートにてデータ転送を行わせ、メモリバス上では、メモリデバイスが要求する転送レートにてデータ転送を行わせる転送コントローラと、メモリバスの他方のポイント、および、各ローカルバスの1つのポイントにて接続された複数のバッファであり、メモリバスと、ローカルバスとの間の転送レートの相違を吸収するよう、データの入出力を行う複数のローカルバッファとを有している。
The apparatus described in Patent Document 1 is a data processing apparatus that is connected to a plurality of master devices and one memory device, and performs data transfer between the memory device and each master device.
This data processing apparatus has two points, a memory bus connected to the memory device at one point, each having two or more points, and each master device at one or more points. Reads data from and writes data to a plurality of connected local buses and memory devices. On each local bus, data is transferred at a transfer rate required by each master device. A transfer controller for transferring data at a transfer rate required by the device, a plurality of buffers connected at the other point of the memory bus and one point of each local bus, the memory bus and the local bus Multiple local buffers that input and output data to absorb differences in transfer rates between The has.

特許文献2に記載されているDMA転送方式は、同一バス上のビット幅の異なるデバイス間のDMAによるデータ転送において、前記デバイス間をDMA制御機能を内蔵したビット幅の変換可能な双方向FIFOにより中継する。   In the DMA transfer method described in Patent Document 2, in a data transfer by DMA between devices having different bit widths on the same bus, a bi-directional FIFO capable of bit width conversion between the devices and incorporating a DMA control function is used. Relay.

また、特許文献3に記載されているデータ転送装置は、入出力I/Fとメモリとの間でデータをDMA転送するデータ転送装置であって、入出力I/Fのデータバス幅、メモリのデータバス幅、および、DMA転送の方向に関する情報を記憶するレジスタ部と、入出力I/Fとメモリとの一方である転送元からのデータを入力し、入出力I/Fとメモリとの他方である転送先に出力する転送部とを備え、転送部は、レジスタ部に記憶された情報に基づいて、転送元からのデータのビット数を転送先のデータバス幅に応じたビット数に調整する調整部を有する。
特許第332790号公報 特許第3544146号公報 特開2002−132705号公報
The data transfer device described in Patent Document 3 is a data transfer device that DMA-transfers data between an input / output I / F and a memory, and includes a data bus width of the input / output I / F, a memory A register unit that stores information on the data bus width and DMA transfer direction, and data from a transfer source that is one of the input / output I / F and the memory are input, and the other of the input / output I / F and the memory The transfer unit adjusts the number of bits of data from the transfer source to the number of bits according to the data bus width of the transfer destination based on the information stored in the register unit. The adjustment part which performs.
Japanese Patent No. 332790 Japanese Patent No. 3544146 JP 2002-132705 A

ところが、特許文献1に記載されている装置においては、ローカルバスの転送レートに調停回路が左右される上、メモリバスを分離してローカルバスへ接続しているので、外部メモリデバイスへバーストアクセスをすることができない。
したがって、外部メモリデバイスに消費電力が小さく、高いバンド幅を有するDDR、DDR2の要求を満たすことができない。
However, in the device described in Patent Document 1, the arbitration circuit is influenced by the transfer rate of the local bus, and the memory bus is separated and connected to the local bus. Can not do it.
Therefore, the power consumption of the external memory device is small and the demand for DDR and DDR2 having a high bandwidth cannot be satisfied.

また、特許文献2,3に記載されている装置は、1つのマスタデバイス(クライアント)と1つのメモリデバイス間のアクセスであり、複数のマスタデバイス(クライアント)と1つのメモリデバイス間のアクセスについて全く開示されていない。
さらに、特許文献2の装置においては、内部に2種類のFIFO型バッファを内蔵する必要があり、結果として、各クライアントは、インタフェース設計において外部デバイスのデータ幅に左右されることになる。
The devices described in Patent Documents 2 and 3 are accesses between one master device (client) and one memory device, and access between a plurality of master devices (clients) and one memory device is completely different. Not disclosed.
Furthermore, in the apparatus of Patent Document 2, it is necessary to incorporate two types of FIFO buffers inside, and as a result, each client depends on the data width of the external device in the interface design.

本発明は、システムに要求される処理内容に応じて外部メモリデバイスのバス幅を容易に変更でき、バーストアクセスを意識したアーキテクチャでバンド幅を効率的に使用できるデータ転送制御装置を提供することにある。   It is an object of the present invention to provide a data transfer control device that can easily change the bus width of an external memory device according to the processing content required for the system and can efficiently use the bandwidth with an architecture that is aware of burst access. is there.

本発明の第1の観点は、複数のマスタデバイスと、メモリデバイスとに接続され、当該メモリデバイスと各マスタデバイスとの間のデータ転送制御を行うデータ転送制御装置であって、上記各マスタデバイスとのデータのインタフェース部に配置され、上記マスタデバイスに対応してクライアントデータ幅よりも大きいビット幅を有し当該ビット幅が統一された複数のFIFO型バッファを内蔵するバッファ群と、上記マスタデバイスから受けた少なくともアドレスとコマンドに基づいて、上記メモリデバイスのアドレス、コマンドを生成するコマンド生成回路と、上記コマンド生成回路にて生成されたアドレスおよびコマンドに基づいて、上記メモリデバイスのバス幅に応じてあらかじめ設定されたバーストレングスによりアクセスを行わせるコマンドおよびアドレスを上記メモリデバイスに発行し、上記バッファ群に対するデータの読み出しまたは書き込みを制御するコマンドデコード回路とを有する。   A first aspect of the present invention is a data transfer control device that is connected to a plurality of master devices and a memory device and performs data transfer control between the memory device and each master device. A buffer group including a plurality of FIFO buffers having a bit width larger than the client data width corresponding to the master device and having the same bit width, and the master device Based on at least the address and command received from the memory device, the address of the memory device, a command generation circuit for generating the command, and the address and command generated by the command generation circuit, depending on the bus width of the memory device. Access using a preset burst length That the command and address issued to the memory device, and a command decode circuit for controlling reading or writing of data to the buffer group.

本発明の第2の観点は、複数のマスタデバイスと、メモリデバイスとに接続され、当該メモリデバイスと各マスタデバイスとの間のデータ転送制御を行うデータ転送制御装置であって、上記各マスタデバイスとのデータのインタフェース部に配置され、上記マスタデバイスに対応してクライアントデータ幅よりも大きいビット幅を有し当該ビット幅が統一された複数のFIFO型バッファを内蔵するバッファ群と、上記マスタデバイスから受けた少なくともアドレスとコマンドに基づいて、上記メモリデバイスのアドレス、コマンドを生成するコマンド生成回路と、上記コマンド生成回路にて生成されたアドレスおよびコマンドに基づいて、上記メモリデバイスのバス幅に応じてあらかじめ設定されたバーストレングスによりアクセスを行わせるコマンドおよびアドレスを上記メモリデバイスに発行し、上記バッファ群に対するデータの読み出しまたは書き込みを制御するコマンドデコード回路と、一のマスタデバイスから最優先で上記メモリデバイスへアクセスすべき処理要求があった場合、当該一のマスタデバイスに最優先でメモリアクセス権を与え、当該マスタデバイスからの少なくともアドレスとコマンドを上記コマンド生成回路に出力する調停回路とを有する。   A second aspect of the present invention is a data transfer control device that is connected to a plurality of master devices and a memory device and performs data transfer control between the memory device and each master device. A buffer group including a plurality of FIFO buffers having a bit width larger than the client data width corresponding to the master device and having the same bit width, and the master device Based on at least the address and command received from the memory device, the address of the memory device, a command generation circuit for generating the command, and the address and command generated by the command generation circuit, depending on the bus width of the memory device. Access using a preset burst length Command decode circuit that controls the reading and writing of data to the buffer group and a processing request to access the memory device with the highest priority from one master device. And an arbitration circuit that gives a memory access right to the one master device with the highest priority and outputs at least an address and a command from the master device to the command generation circuit.

好適には、上記調停回路は、上記コマンド生成回路からのリクエスト信号に応答して上記アドレスとコマンドを上記コマンド生成回路に出力する。   Preferably, the arbitration circuit outputs the address and command to the command generation circuit in response to a request signal from the command generation circuit.

好適には、上記コマンド生成回路は、上記コマンドデコード回路からリクエスト信号を受けると、リクエスト信号を上記調停回路に発行する。   Preferably, when the command generation circuit receives a request signal from the command decoding circuit, the command generation circuit issues the request signal to the arbitration circuit.

好適には、上記メモリデバイスへのアクセスが書き込み(ライト)のためのアクセスの場合、上記コマンドデコード回路は、対応する上記FIFO型バッファから上記メモリデバイスのバス幅に応じたサイクルでデータを読み出し、所定のバス幅に応じたデータ単位で当該バッファからの読み出しデータをシフトして、上記メモリデバイスヘアクセスする。   Preferably, when the access to the memory device is an access for writing (write), the command decode circuit reads data from the corresponding FIFO buffer in a cycle according to the bus width of the memory device, Data read from the buffer is shifted by a data unit corresponding to a predetermined bus width, and the memory device is accessed.

好適には、上記メモリデバイスへのアクセスが読み出し(リード)のためのアクセスの場合、上記コマンドデコード回路は、読み出しデータを対応する上記FIFO型バッファに上記メモリデバイスのバス幅毎に異なるタイミングをもって書き込む。   Preferably, when the access to the memory device is an access for reading (reading), the command decoding circuit writes the read data into the corresponding FIFO type buffer at different timings for each bus width of the memory device. .

好適には、上記メモリデバイスへのアクセスが読み出し(リード)のためのアクセスの場合、上記コマンドデコード回路は、読み出しデータを対応する上記FIFO型バッファにビット幅単位で当該FIFO型バッファを書き込み、当該書き込みに際し、上記メモリデバイスのバス幅に応じたサイクルで上記FIFO型バッファに書き込む。   Preferably, when the access to the memory device is an access for reading (reading), the command decode circuit writes the FIFO buffer in the bit width unit in the FIFO buffer corresponding to the read data, and At the time of writing, data is written to the FIFO buffer in a cycle corresponding to the bus width of the memory device.

本発明によれば、システムに要求される処理内容に応じて外部メモリデバイスのバス幅を容易に変更できる。
また、バーストアクセスを意識したアーキテクチャでバンド幅を効率的に使用できる利点がある。
According to the present invention, the bus width of the external memory device can be easily changed according to the processing content required for the system.
In addition, there is an advantage that the bandwidth can be efficiently used in an architecture in consideration of burst access.

以下、本発明の実施形態を図面に関連付けて説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

図1は、本発明の実施形態に係るデータ転送制御システムの第1の構成例を示すブロック図であり、図2は、本実施形態に係るデータ転送制御システムの第2の構成例を示すブロック図である。図1および図2は、外部デバイスメモリをターゲットにDDR2を使用する場合の全体構成を示している。   FIG. 1 is a block diagram showing a first configuration example of the data transfer control system according to the embodiment of the present invention, and FIG. 2 is a block diagram showing a second configuration example of the data transfer control system according to the embodiment. FIG. FIG. 1 and FIG. 2 show the overall configuration when DDR2 is used with an external device memory as a target.

本データ転送制御システム10,10Aは、データ転送制御装置20、外部メモリデバイス30、複数のマスタデバイス40−0〜40−n、および設定レジスタ51を含む処理装置としてのCPU50を有している。
本実施形態に係る図1の外部メモリデバイス30のバス幅は32ビット(bit)であり、図2の外部メモリデバイス30Aのバス幅は16ビット(bit)である。
図1のデータ転送制御システム10と図2のデータ転送制御システム10Aの異なる点は、この外部メモリデバイス30のバス幅が32ビットと16ビットである点であり、その他の基本的なアーキテクチャは同様である。よって、図1および図2において、同一機能部分は同一符号をもって表している。
The data transfer control systems 10 and 10 </ b> A have a CPU 50 as a processing device including a data transfer control device 20, an external memory device 30, a plurality of master devices 40-0 to 40 -n, and a setting register 51.
The bus width of the external memory device 30 in FIG. 1 according to this embodiment is 32 bits (bit), and the bus width of the external memory device 30A in FIG. 2 is 16 bits (bit).
The data transfer control system 10 in FIG. 1 differs from the data transfer control system 10A in FIG. 2 in that the bus width of the external memory device 30 is 32 bits and 16 bits, and the other basic architecture is the same. It is. Therefore, in FIG. 1 and FIG. 2, the same functional parts are represented by the same reference numerals.

データ転送制御装置20は、図に示すように、128ビット幅FIFO型バッファ21−1〜21−nを有するバッファ群21、調停回路22、ライト(書き込み)データオーダリング回路23、リード(読み出し)データオーダリング回路24、DDRコマンド生成回路25、およびDDRコマンドデコード回路26を有している。   As shown in the figure, the data transfer control device 20 includes a buffer group 21 having 128-bit FIFO type buffers 21-1 to 21-n, an arbitration circuit 22, a write (write) data ordering circuit 23, and a read (read) data. An ordering circuit 24, a DDR command generation circuit 25, and a DDR command decode circuit 26 are provided.

DDR2を使用する特徴としては、内部バス動作周波数の倍の動作周波数で外部メモリデバイス30を動作させるので、内部バス動作クロック1サイクルあたり、外部メモリデバイス30のデータ幅の4倍のデータにアクセスできることである。
内部ブロックの動作周波数に関しては、FIFO型バッファ21−1〜21−nを除き、同一周波数である。各マスタデバイス(各クライアント)40−1〜40−nは、同一周波数である必要がない。
As a feature of using DDR2, since the external memory device 30 is operated at an operating frequency that is twice the internal bus operating frequency, it is possible to access data that is four times the data width of the external memory device 30 per cycle of the internal bus operating clock. It is.
The operating frequencies of the internal blocks are the same except for the FIFO type buffers 21-1 to 21-n. Each master device (each client) 40-1 to 40-n need not have the same frequency.

本実施形態の特徴として、複数のマスタデバイス(クライアント)40−0〜40−nからのアクセスを内部128ビット(bit)FIFO21−1〜21−nを経由することで内部データ幅を128bitに揃え、かつ外部メモリデバイス30へのバーストアクセスを基本動作に考慮した回路構成になっている。   As a feature of the present embodiment, access from a plurality of master devices (clients) 40-0 to 40-n passes through the internal 128-bit FIFOs 21-1 to 21-n so that the internal data width is aligned to 128 bits. In addition, the circuit configuration takes into account the burst access to the external memory device 30 in the basic operation.

本実施形態においては、外部メモリデバイスが32bit幅の時は、4バースト、16bit幅のときは、8バーストアクセスと決めており、さらに4バンクのコマンドを多重化させることで512bitが最小単位のアクセスを行うように構成されている。   In this embodiment, when the external memory device is 32 bits wide, it is determined to be 4 bursts, and when it is 16 bits wide, it is determined to be 8 burst accesses. Further, by multiplexing commands of 4 banks, 512 bits are the smallest unit access. Is configured to do.

図3(A)〜(G)は、本実施形態において、1バンクあたり4バーストx2アクセスのコマンド例を示す図である。
本実施形態において、バーストレングスを固定している理由としては、外部メモリデバイス30が32bitの場合は、この128bitデータが1アクセス分のデータになり(バーストレングスを4に固定しているため)、16bitの場合は、この128bitデータが2アクセス分のデータになり(バーストレングスを8に固定しているため)、内部バスクロックCLKで外部メモリデバイス30へのバーストアクセスを制御できる点とバスのバンド幅を有効に活用するためである。
FIGS. 3A to 3G are diagrams illustrating command examples of 4 bursts × 2 access per bank in the present embodiment.
In this embodiment, the reason why the burst length is fixed is that when the external memory device 30 is 32 bits, this 128-bit data becomes data for one access (because the burst length is fixed to 4), In the case of 16 bits, this 128 bit data becomes data for two accesses (because the burst length is fixed at 8), and the burst access to the external memory device 30 can be controlled by the internal bus clock CLK and the bus band. This is to make effective use of the width.

次に、本実施形態のデータ転送制御装置20の各ブロックの構成および機能について説明する。   Next, the configuration and function of each block of the data transfer control device 20 of this embodiment will be described.

調停回路22は、あるマスタデバイス(クライアント)から最優先で外部メモリデバイス30に格納、あるいは外部メモリデバイス30から読み出さなければない処理要求があった場合、その要求を出したマスタデバイス(図1ではマスタデバイス40−0)に最優先でメモリアクセス権を与える。
たとえば、ビデオ信号処理システムにおいて最優先でメモリに画像を格納しなければならないマスタデバイス(クライアント)は、レイテンシおよびバンド幅の保障をしなければならないので、調停回路22にて、最優先でメモリアクセス権が与えられる。
ただし、マスタデバイス(クライアント)内部で非同期制御を行う必要がある。
調停回路22は、DDRコマンド生成回路25によりリクエスト信号REQ25を受けると、アドレスADR、リード/ライト(Read/Write)コマンドR/WCMD22、カウント値CNT22をDDRコマンド生成回路25に出力する。
When there is a processing request that has to be stored in the external memory device 30 or read from the external memory device 30 with the highest priority from a certain master device (client), the arbitration circuit 22 receives the request from the master device (in FIG. 1). The memory access right is given to the master device 40-0) with the highest priority.
For example, in a video signal processing system, a master device (client) that must store an image in a memory with the highest priority must guarantee the latency and bandwidth. Rights are granted.
However, it is necessary to perform asynchronous control inside the master device (client).
Upon receiving the request signal REQ25 from the DDR command generation circuit 25, the arbitration circuit 22 outputs the address ADR, the read / write command R / WCMD22, and the count value CNT22 to the DDR command generation circuit 25.

バッファ群21は、各マスタデバイス(クライアント)40−0〜40−n毎にクライアントデータ幅よりも大きい1種類のFIFO型バッファを内蔵する。
本実施形態においては、128ビット幅FIFO型バッファ21−1〜21−nを内蔵している。
このように、本実施形態においては、クライアントデータ幅よりも大きいFIFOバッファを内蔵しているのも、DDR,DDR2の特徴、バーストアクセスを活かすために制御しやすい回路構成にするためである。
この場合、外部メモリデバイス30のデータ幅が変わっても内部FIFO型バッファ21−1〜21−nのデータ幅は変わらないので、各クライアントは、外部デバイスのデータ幅に左右されないインタフェースに設計でき、各クライアントで共通化できる。
バッファ群21において、最優先マスタデバイス(クライアント)より優先度は、低いものの、レイテンシおよびバンド幅を保障しなければならない画像フォーマット変換クライアント等はFIFO型バッファを介することで、レイテンシおよび、バンド幅保障を実現している。
画像フォーマット変換クライアント等は、FIFO型バッファで非同期制御を実現できるので、各マスタデバイス(クライアント)内部に非同期制御回路を持つ必要はない。
The buffer group 21 includes one type of FIFO buffer larger than the client data width for each master device (client) 40-0 to 40-n.
In the present embodiment, 128-bit width FIFO type buffers 21-1 to 21-n are incorporated.
As described above, in the present embodiment, the FIFO buffer larger than the client data width is incorporated in order to make the circuit configuration easy to control in order to make use of the features of DDR and DDR2 and burst access.
In this case, since the data width of the internal FIFO type buffers 21-1 to 21-n does not change even if the data width of the external memory device 30 changes, each client can be designed as an interface independent of the data width of the external device. Can be shared by each client.
In the buffer group 21, although the priority is lower than that of the highest-priority master device (client), an image format conversion client or the like that must guarantee the latency and the bandwidth passes the FIFO buffer, thereby ensuring the latency and the bandwidth. Is realized.
Since the image format conversion client or the like can realize asynchronous control with a FIFO buffer, it is not necessary to have an asynchronous control circuit in each master device (client).

ライトデータオーダリング(Write data ordering)回路23は、各マスタデバイス(クライアント)40−0〜40−nが要求するアクセスコマンドに応じた(エンディアン、データマスク等)データフォーマットにデータを変換する。   A write data ordering circuit 23 converts data into a data format (endian, data mask, etc.) corresponding to an access command requested by each master device (client) 40-0 to 40-n.

リードデータオーダリング(Read data ordering)回路24は、外部メモリデバイス30から読み出されたデータを各マスタデバイス(クライアント)40−0〜40−nが要求するデータフォーマットに変換する。   A read data ordering circuit 24 converts data read from the external memory device 30 into a data format required by each master device (client) 40-0 to 40-n.

DDRコマンド生成回路25は、調停回路22から各マスタデバイス(クライアント)40−0〜40−nが発行したアドレスADR、リード/ライト(Read/Write)コマンドR/WCMD22、カウント値CNT22を受け、DDR2用アドレスの生成、DDR2用内部コマンドCMD2の生成を行う。
DDRコマンド生成回路25は、アドレスエラーの検知も行っている。
The DDR command generation circuit 25 receives the address ADR, the read / write command R / WCMD22, and the count value CNT22 issued from each master device (client) 40-0 to 40-n from the arbitration circuit 22, and receives the DDR2 Address generation and DDR2 internal command CMD2.
The DDR command generation circuit 25 also detects an address error.

図4(A)〜(H)は、本実施形態に係るDDRコマンド生成回路25のタイミングチャート例を示す図である
図4(A)は内部クロックCLKを、図4(B)は調停回路22からリード/ライトコマンドR/WCMD22を、図4(C)は調停回路22からのカウント値CNT22を、図4(D)は調停回路22のバリッド信号VLD22を、図4(E)は調停回路22へのリクエスト信号REQ25、図4(F)は内部コマンドCMD2を、図4(G)はコマンド生成回路25のバリッド信号VLD25を、図4(H)はコマンドデコード回路26からのリクエスト信号REQ26をそれぞれ示している。
4A to 4H are diagrams showing examples of timing charts of the DDR command generation circuit 25 according to this embodiment. FIG. 4A shows the internal clock CLK, and FIG. 4B shows the arbitration circuit 22. Read / write command R / WCMD22, FIG. 4C shows the count value CNT22 from the arbitration circuit 22, FIG. 4D shows the valid signal VLD22 of the arbitration circuit 22, and FIG. 4F shows the internal command CMD2, FIG. 4G shows the valid signal VLD25 of the command generation circuit 25, and FIG. 4H shows the request signal REQ26 from the command decode circuit 26, respectively. Show.

処理的には、DDRコマンド生成回路25において、DDRコマンドデコード回路26からリクエスト信号REQ26を受けると調停回路22へリクエスト信号REQ25を出し、アドレスADR、リード/ライトコマンドR/WCMD22、カウント値CNT22を受け取り、リード/ライトコマンドR/WCMD22、カウント値CNT22より内部コマンドCMD2を生成する。   In terms of processing, when the DDR command generation circuit 25 receives the request signal REQ26 from the DDR command decode circuit 26, it issues the request signal REQ25 to the arbitration circuit 22, and receives the address ADR, the read / write command R / WCMD22, and the count value CNT22. The internal command CMD2 is generated from the read / write command R / WCMD22 and the count value CNT22.

図4(A)〜(H)の例では、図4(F)に示すように、「Read2」というコマンドCMD2を生成し、図4(G)に示すように、DDR2コマンドデコード回路26へ内部コマンド生成が完了したことがわかるようにバリッド信号VLDをハイ(High)レベルにする。
図4(G),(H)に示すように、バリッド信号VLD25がハイレベルでDDRコマンドデコード回路26からのリクエスト信号REQ26の入力があれば、次のサイクルでバリッド信号VLD25をロー(Low)レベルにし、調停回路22へ次のアドレスADR、リード/ライトコマンドR/WCMD22、カウント値CNT22を受け取るためにリクエスト信号REQ25を出す。
4A to 4H, a command CMD2 “Read2” is generated as shown in FIG. 4F, and the DDR2 command decode circuit 26 is internally connected as shown in FIG. 4G. The valid signal VLD is set to a high level so that it can be seen that the command generation is completed.
As shown in FIGS. 4G and 4H, if the valid signal VLD25 is at a high level and the request signal REQ26 is input from the DDR command decode circuit 26, the valid signal VLD25 is set to a low level in the next cycle. In order to receive the next address ADR, the read / write command R / WCMD22, and the count value CNT22, the request signal REQ25 is output to the arbitration circuit 22.

図5は、本実施形態に係るDDRコマンド生成回路25の動作手順を示すフローチャートである。
ここで、上述の説明と重複する部分もあるが、DDRコマンド生成回路25におけるより具体的な動作を図5のフローチャートに関連付けて説明する。
FIG. 5 is a flowchart showing an operation procedure of the DDR command generation circuit 25 according to the present embodiment.
Here, although there is a part overlapping the above description, a more specific operation in the DDR command generation circuit 25 will be described with reference to the flowchart of FIG.

ステップST1
DDRコマンド生成回路25は、DDRコマンドデコード回路26からリクエスト信号REQ26を受けると、調停回路22へリクエスト信号REQ25を発行する。
ステップST2
DDRコマンド生成回路25は、リクエスト信号REQ25に応答して調停回路22から出力されたアドレスADR、リード/ライトコマンドR/WCMD、およびカウント値CNTを受けとる。
Step ST1 :
When receiving the request signal REQ 26 from the DDR command decoding circuit 26, the DDR command generation circuit 25 issues a request signal REQ 25 to the arbitration circuit 22.
Step ST2 :
The DDR command generation circuit 25 receives the address ADR, the read / write command R / WCMD, and the count value CNT output from the arbitration circuit 22 in response to the request signal REQ25.

ステップST3
DDRコマンド生成回路25は、調停回路22から受けたアドレスADR、カウント値CNT22によりDDR用のアドレスを生成する。
ステップST4
DDRコマンド生成回路25は、生成したアドレスがメモリ容量と比較してその容量範囲内かどうかをチェックする。
ステップST5
ステップST4において、アドレスがメモリ容量の範囲内であると判別すると、DDRコマンド生成回路25はDDRコマンドデコード回路26へ生成したアドレスを出力する。
ステップST6
ステップST4において、アドレスがメモリ容量の範囲外であると、DDRコマンド生成回路25はアドレスエラーを発する。
Step ST3 :
The DDR command generation circuit 25 generates an address for DDR based on the address ADR received from the arbitration circuit 22 and the count value CNT22.
Step ST4 :
The DDR command generation circuit 25 compares the generated address with the memory capacity and checks whether it is within the capacity range.
Step ST5 :
When it is determined in step ST4 that the address is within the memory capacity range, the DDR command generation circuit 25 outputs the generated address to the DDR command decode circuit 26.
Step ST6 :
In step ST4, if the address is outside the memory capacity range, the DDR command generation circuit 25 issues an address error.

ステップST7
また、DDRコマンド生成回路25は、調停回路22から受けたリード/ライトコマンドR/WCMDとカウント値CNT22より内部コマンドCMD2を生成する。
ステップST8
そして、DDRコマンド生成回路25は、DDRコマンドデコード回路26へのバリッド信号VLD25をハイレベルにして、生成したコマンドCMD2をDDRコマンドデコード回路26へ出力する。
ステップST9
DDRコマンド生成回路25は、DDRコマンドデコード回路26からリクエスト信号REQ26を受けると、バリッド信号VLD25をローレベルに切り替えて、調停回路22へリクエスト信号REQ25を発行する。
Step ST7 :
The DDR command generation circuit 25 generates an internal command CMD2 from the read / write command R / WCMD received from the arbitration circuit 22 and the count value CNT22.
Step ST8 :
Then, the DDR command generation circuit 25 sets the valid signal VLD25 to the DDR command decode circuit 26 to a high level and outputs the generated command CMD2 to the DDR command decode circuit 26.
Step ST9 :
Upon receiving the request signal REQ26 from the DDR command decode circuit 26, the DDR command generation circuit 25 switches the valid signal VLD25 to the low level and issues the request signal REQ25 to the arbitration circuit 22.

DDRコマンドデコード回路26は、DDRコマンド生成回路25で生成されたDDR2用の内部コマンドCMD2をデコードし、バーストレングスを4に固定したアクセスを行わせるためのコマンドおよびアドレスを外部メモリデバイス30側へ発行するように構成されている。
本実施形態においては、外部メモリデバイス30の4バンクのコマンドを多重化させて最小512bit(128x4)単位で外部メモリデバイス30へアクセスする仕様にしている。
この4バンクのコマンド多重化は、図3(F)に示す実行コマンドラインにあたる。
The DDR command decode circuit 26 decodes the internal command CMD2 for DDR2 generated by the DDR command generation circuit 25, and issues a command and address for performing access with a burst length fixed to 4 to the external memory device 30 side. Is configured to do.
In the present embodiment, the specification is such that the commands of the four banks of the external memory device 30 are multiplexed and the external memory device 30 is accessed in units of a minimum of 512 bits (128 × 4).
This 4-bank command multiplexing corresponds to the execution command line shown in FIG.

このDDRコマンドデコード回路26におけるバーストレングスを固定し、4バンクのコマンド多重化による外部メモリデバイス30へのアクセスは、バスのバンド幅を有効に活用できる。   The burst length in the DDR command decode circuit 26 is fixed, and access to the external memory device 30 by command multiplexing of four banks can effectively use the bandwidth of the bus.

また、本実施形態においては、図2のように、外部メモリデバイス30のバス幅を32ビットの1/2の16ビットにしても、バーストレングスを倍の8にしてやることで、512bit単位でのアクセス仕様を実現し、外部メモリデバイスに依存しないメモリコントローラを実現させている。   Further, in the present embodiment, as shown in FIG. 2, even if the bus width of the external memory device 30 is 16 bits, which is 1/2 of 32 bits, the burst length is doubled to 8 so that the 512 bit unit is obtained. An access specification is realized, and a memory controller independent of an external memory device is realized.

外部メモリデバイス30へのライトアクセスは、外部のメモリデバイスのデータ幅に関係なく、図6(A)〜(E)に示すように128bitデータを32bitデータに変換しているが、外部メモリデバイス30のバス幅に応じて、この32bitデータの構成が異なる。
DDRコマンドデコード回路26は、外部メモリデバイス30のバス幅が32bitのときは、図7(A)〜(C)に示すように、毎サイクル128bitデータを読み出し、32bit単位でシフトし、外部メモリデバイス30へアクセスする。
これに対して、外部メモリデバイス30が16bitのときは、図8(A)〜(C)に示すように、2サイクルに1回128bitデータを読み出し、ダミーデータ(0) を埋めた128bitデータを生成し、上位16bitを0埋めした32bitデータ単位でシフトし、外部メモリデバイス30へアクセスする。
Write access to the external memory device 30 converts 128-bit data into 32-bit data as shown in FIGS. 6A to 6E regardless of the data width of the external memory device. Depending on the bus width, the configuration of this 32-bit data differs.
When the bus width of the external memory device 30 is 32 bits, the DDR command decode circuit 26 reads out 128 bits of data every cycle and shifts the data in units of 32 bits as shown in FIGS. 7A to 7C. 30 is accessed.
On the other hand, when the external memory device 30 is 16 bits, as shown in FIGS. 8A to 8C, the 128-bit data is read once every two cycles, and the 128-bit data filled with the dummy data (0) is read. The data is generated and shifted in 32-bit data units in which the upper 16 bits are zero-padded to access the external memory device 30.

また、リードアクセスは、図9(A)〜(L)に示すように、外部メモリデバイス30に関係なく32bitデータを128bitデータにまとめてFIFO型バッファ21−1〜21−nに書き込むが、外部メモリデバイス30のデータ幅に応じて、FIFO型バッファ21−1〜21−nへの書き込みタイミングが異なる。
DDRコマンドデコード回路26は、外部メモリデバイス30が32bitのときは、図10(A)〜(C)に示すように、毎サイクル128bitデータをFIFO型バッファ21−1〜21−nに書き込む。
これに対して、外部メモリデバイス30が16bitのときは、図11(A)〜(C)に示すように、2サイクルに1回128bitデータをFIFO型バッファ21−1〜21−nに書き込む。
In addition, as shown in FIGS. 9A to 9L, the read access is performed by combining 32-bit data into 128-bit data and writing them into the FIFO type buffers 21-1 to 21-n regardless of the external memory device 30. Depending on the data width of the memory device 30, the write timing to the FIFO type buffers 21-1 to 21-n differs.
When the external memory device 30 is 32 bits, the DDR command decode circuit 26 writes 128-bit data to the FIFO type buffers 21-1 to 21-n every cycle as shown in FIGS.
On the other hand, when the external memory device 30 is 16 bits, as shown in FIGS. 11A to 11C, 128-bit data is written to the FIFO buffers 21-1 to 21-n once every two cycles.

図12は、本実施形態に係るDDRコマンドデコード回路26の動作手順を示すフローチャートである。   FIG. 12 is a flowchart showing an operation procedure of the DDR command decode circuit 26 according to the present embodiment.

ステップST11
DDRコマンドデコード回路26は、設定レジスタ51をアクセスしてその設定データにより、外部メモリデバイス30のデータ幅を判断する。
ステップST12
ステップST11において、図1の回路に対応した32ビット幅であると判断すると、DDRコマンドデコード回路26は、DDRコマンド生成回路25から転送された内部コマンドCMD2によりアクセスタイム、すなわちライトのアクセスであるのか、リードのためのアクセスであるのかを判断する。
ステップST13
ステップST12において、ライトのためのアクセスであると判断すると、DDRコマンドデコード回路26は、カウント数に合わせた内部FIFO型バッファ21(−1〜−n)より毎サイクルデータを128ビット単位で読み出す。
ステップST14
そして、DDRコマンドデコード回路26は、ライトコマンドのタイミングにより出力タイミングを計り、32ビットずつ外部メモリデバイス30へのデータラインにライトデータを出力する。
ステップST15
一方、ステップST12において、リードのためのアクセスであると判断すると、DDRコマンドデコード回路26は、設定レジスタ51のCASレイテンシ等の情報よりリードコマンドを発行してからデータが読み出されてくるタイミングを計り、4バーストデータ、すなわち128ビット単位でFIFO型バッファ21(−1〜−n)に取り込む。
Step ST11 :
The DDR command decode circuit 26 accesses the setting register 51 and determines the data width of the external memory device 30 based on the setting data.
Step ST12 :
If it is determined in step ST11 that the bit width is 32 bits corresponding to the circuit of FIG. 1, the DDR command decode circuit 26 uses the internal command CMD2 transferred from the DDR command generation circuit 25 to determine whether it is a write access. Determine whether the access is for the lead.
Step ST13 :
If it is determined in step ST12 that the access is for writing, the DDR command decode circuit 26 reads out data in every cycle from the internal FIFO type buffer 21 (-1 to -n) in accordance with the count number in units of 128 bits.
Step ST14 :
The DDR command decode circuit 26 measures the output timing based on the write command timing, and outputs the write data to the data line to the external memory device 30 by 32 bits.
Step ST15 :
On the other hand, if it is determined in step ST12 that the access is for reading, the DDR command decoding circuit 26 issues a timing at which data is read after issuing a read command from information such as CAS latency in the setting register 51. Measured, 4 burst data, that is, 128 bits are taken into the FIFO buffer 21 (-1 to -n).

ステップST16
ステップST11において、図2の回路に対応した16ビット幅であると判断すると、DDRコマンドデコード回路26は、DDRコマンド生成回路25から転送された内部コマンドCMD2によりアクセスタイム、すなわちライトのアクセスであるのか、リードのためのアクセスであるのかを判断する。
ステップST17
ステップST15において、ライトのためのアクセスであると判断すると、DDRコマンドデコード回路26は、カウント数に合わせて2サイクルに1回のタイミングで内部FIFO型バッファ21(−1〜−n)よりデータを128ビット単位で読み出す。
ステップST18
DDRコマンドデコード回路26は、読み出した128ビットのデータを16ビット単位に分け、外部メモリデバイスが存在しないポート側にダミーデータが出力されるように埋め込んだ(設定した)128ビットデータを2サイクル分生成する。
ステップST19
そして、DDRコマンドデコード回路26は、ライトコマンドのタイミングにより出力タイミングを計り、有効データを16ビットずつ外部メモリデバイス30へのデータラインにライトデータを出力する。メモリが存在しないポート(16ビット)へは、0が出力される。
ステップST20
一方、ステップST16において、リードのためのアクセスであると判断すると、DDRコマンドデコード回路26は、設定レジスタ51のCASレイテンシ等の情報よりリードコマンドを発行してからデータが読み出されてくるタイミングを計り、4バーストデータ、すなわち128ビット単位でFIFO型バッファ21(−1〜−n)に取り込む。
ステップST21
このデータには、ダミーデータが含まれるので、2サイクル分の256ビットのデータからダミーデータを取り除き、128ビットの有効データを生成し、FIFO型バッファ21(−1〜−n)に取り込む。
Step ST16 :
If it is determined in step ST11 that the bit width is 16 bits corresponding to the circuit of FIG. 2, the DDR command decode circuit 26 determines whether the access time, that is, the write access is based on the internal command CMD2 transferred from the DDR command generation circuit 25. Determine whether the access is for the lead.
Step ST17 :
If it is determined in step ST15 that the access is for writing, the DDR command decode circuit 26 receives data from the internal FIFO type buffer 21 (-1 to -n) at a timing of once every two cycles in accordance with the count number. Read in 128-bit units.
Step ST18 :
The DDR command decode circuit 26 divides the read 128-bit data into 16-bit units, and embeds (sets) the 128-bit data embedded in the port side where no external memory device exists so as to be output for two cycles. Generate.
Step ST19 :
The DDR command decode circuit 26 measures the output timing based on the write command timing, and outputs the valid data to the data line to the external memory device 30 16 bits at a time. 0 is output to a port (16 bits) in which no memory exists.
Step ST20 :
On the other hand, if it is determined in step ST16 that the access is for reading, the DDR command decoding circuit 26 issues a timing at which data is read after issuing a read command from information such as CAS latency in the setting register 51. Measured, 4 burst data, that is, 128 bits are taken into the FIFO buffer 21 (-1 to -n).
Step ST21 :
Since this data includes dummy data, the dummy data is removed from the 256-bit data for two cycles, 128-bit valid data is generated, and taken into the FIFO buffer 21 (−1 to −n).

この外部メモリデバイス30に依存しないメモリコントローラとしてのデータ転送制御装置20の実現により、システム要求として外部メモリデバイスの転送レートが半分以下でよいシステムでは、バーストレングスを8に固定したコマンドを生成するモードを選び、外部メモリデバイスのデータ幅を半分にするだけで、対応が可能であり、外部メモリデバイスコスト削減にも繋がる。
また、高速スペック用、低スペック用とそれぞれに特化したLSIを製造することが避けられ、製造コストの削減、および量産が見込まれ、結果コストの削減に繋げられる。
In a system in which the transfer rate of the external memory device is less than half as a system request by realizing the data transfer control device 20 as a memory controller independent of the external memory device 30, a mode in which a command with a burst length fixed to 8 is generated Can be handled by simply halving the data width of the external memory device, leading to a reduction in the cost of the external memory device.
In addition, it is possible to avoid manufacturing LSIs specialized for high-speed specifications and low-spec specifications, thereby reducing manufacturing costs and mass production, resulting in reduction of costs.

最後に応用例として、外部メモリデバイスにDDRを使用する場合について説明する。
まずDDR2と比較して、メモリコマンドが異なるので、DDRコマンドデコード回路をDDR用に修正する。
そして、外部メモリデバイス30を32bit幅のDDRに置き換え、バーストレングスを4に固定し、4バンクのコマンドを多重化させてアクセスを行なう形になるが、DDRは、内部バス動作クロック1サイクルあたり、外部メモリデータ幅の2倍のデータにアクセスが可能なため、DDR2に比べバンド幅が半分になるデメリットもある。
そのときは、外部デバイスのデータ幅を倍の64bitに設定し、DDRコマンドでコード回路のデータ幅を64bitに修正することで対応可能となる。
コマンド自体は、バーストレングスを4に固定の、4バンクのコマンド多重化によるアクセスに変更はない。よって、DDRコマンドデコード回路の修正だけでDDRメモリ用のバス制御装置が実現可能である。
Finally, as an application example, a case where DDR is used for an external memory device will be described.
First, since the memory command is different from that of DDR2, the DDR command decoding circuit is modified for DDR.
Then, the external memory device 30 is replaced with a 32-bit width DDR, the burst length is fixed to 4, and the commands of 4 banks are multiplexed to perform access, but the DDR is per cycle of the internal bus operation clock. Since data twice as large as the external memory data width can be accessed, there is a demerit that the bandwidth is halved compared to DDR2.
In such a case, the data width of the external device is set to double 64 bits, and the data width of the code circuit is corrected to 64 bits with a DDR command.
As for the command itself, the burst length is fixed to 4, and there is no change in access by command multiplexing of 4 banks. Therefore, a bus control device for a DDR memory can be realized only by correcting the DDR command decode circuit.

また、ビデオ信号処理システム以外でも似たようなシステムであれば、適応できる。   In addition, a similar system other than the video signal processing system can be applied.

以上説明したように、本実施形態によれば、内部の各クライアントは、外部メモリデバイスサイズに左右されないので、仕様スペックが低いシステムに対して、システムに合った外部メモリデバイスコストでこのLSIを流用できる。
外部メモリデバイスへのアクセスをあるバースト長のバーストアクセスのみに固定しているので、コマンド発行タイミングも最適化でき、外部メモリデバイスのバンド幅をより効率に使用でき、その結果、内部バスのバンド幅も高い値が得られ、各クライアントが要求するバンド幅を満たせることができる。
As described above, according to the present embodiment, each internal client is not affected by the size of the external memory device, so that this LSI is diverted to a system with low specification specifications at an external memory device cost suitable for the system. it can.
Since the access to the external memory device is fixed to only burst access of a certain burst length, the command issue timing can be optimized, and the bandwidth of the external memory device can be used more efficiently. As a result, the bandwidth of the internal bus Higher values can be obtained, and the bandwidth required by each client can be satisfied.

本実施形態においては、各マスタデバイス(クライアント)毎にクライアントデータ幅よりも大きい1種類のFIFOバッファを内蔵する点において異なる。本発明でクライアントデータ幅よりも大きいFIFOバッファを内蔵しているのも、DDR,DDR2の特徴、バーストアクセスを活かすために制御しやすい回路構成にするためである。
外部デバイスのデータ幅が変わっても内部FIFOのデータ幅は、変わらないので、各クライアントは、外部デバイスのデータ幅に左右されないインタフェースに設計でき、各クライアントで共通化できることも利点である。
In this embodiment, each master device (client) is different in that one kind of FIFO buffer larger than the client data width is incorporated. The reason why the FIFO buffer larger than the client data width is built in the present invention is to make the circuit configuration easy to control in order to take advantage of the features of DDR and DDR2 and burst access.
Even if the data width of the external device changes, the data width of the internal FIFO does not change. Therefore, each client can be designed to have an interface independent of the data width of the external device and can be shared by each client.

また、本発明は、外部メモリデバイスへのアクセスをバーストアクセスに限定することで、メモリデバイスのバンド幅を効率的に使用できる。   Furthermore, the present invention can efficiently use the bandwidth of the memory device by limiting the access to the external memory device to burst access.

すなわち、本実施形態に係るデータ転送制御装置20は、システムに要求される処理内容に応じて、外部メモリデバイスのバス幅を容易に変更できるバス制御装置であり、変更に対して複数のクライアントは、気にせずアクセスでき、論理的に手を加える必要がない。複数のクライアントは、外部メモリデバイスのバス幅を意識することなく、内部FIFOにアクセスする構造なので、論理的に手を加える必要がない。
そして、DDR・SDRAM、DDR2・SDRAMの特徴であるバースト転送を意識したメモリバス制御装置で、複数のクライアントから1つのメモリデバイスへのアクセス制御において、メモリデバイスのバンド幅を効率的に使用できる。
That is, the data transfer control device 20 according to the present embodiment is a bus control device that can easily change the bus width of the external memory device in accordance with the processing content required for the system. , You can access it without worrying, and you don't have to make logical changes. Since the plurality of clients are structured to access the internal FIFO without being aware of the bus width of the external memory device, it is not necessary to logically modify the client.
A memory bus control device conscious of burst transfer, which is a feature of DDR / SDRAM and DDR2 / SDRAM, can efficiently use the bandwidth of a memory device in access control from a plurality of clients to one memory device.

本発明の実施形態に係るデータ転送制御システムの第1の構成例を示すブロック図である。It is a block diagram which shows the 1st structural example of the data transfer control system which concerns on embodiment of this invention. 本発明の実施形態に係るデータ転送制御システムの第2の構成例を示すブロック図である。It is a block diagram which shows the 2nd structural example of the data transfer control system which concerns on embodiment of this invention. 本実施形態において、1バンクあたり4バーストx2アクセスのコマンド例を示す図である。In this embodiment, it is a figure which shows the example of a command of 4 burst x2 access per bank. 本実施形態に係るDDRコマンド生成回路のタイミングチャート例を示す図である。It is a figure which shows the example of a timing chart of the DDR command generation circuit which concerns on this embodiment. 本実施形態に係るDDRコマンド生成回路の動作手順を示すフローチャートである。It is a flowchart which shows the operation | movement procedure of the DDR command generation circuit which concerns on this embodiment. 本実施形態に係るDDRコマンドデコード回路の外部メモリデバイスへのライトアクセスのタイミングチャートである。4 is a timing chart of write access to an external memory device of a DDR command decode circuit according to the present embodiment. 外部メモリデバイスのバス幅が32bitのときのライトアクセスのタイミングチャートである。6 is a timing chart of write access when the bus width of the external memory device is 32 bits. 外部メモリデバイスのバス幅が16bitのときのライトアクセスのタイミングチャートである。10 is a timing chart of write access when the bus width of the external memory device is 16 bits. 本実施形態に係るDDRコマンドデコード回路の外部メモリデバイスへのリードアクセス時のFIFO型バッファへの書き込むタイミングを示すタイミングチャートである。6 is a timing chart showing the timing of writing to the FIFO buffer at the time of read access to the external memory device of the DDR command decode circuit according to the present embodiment. 外部メモリデバイスのバス幅が32bitのときのリードアクセス時のFIFO型バッファへの書き込むタイミングを示すタイミングチャートである。10 is a timing chart showing the timing of writing to a FIFO buffer during read access when the bus width of the external memory device is 32 bits. 外部メモリデバイスのバス幅が16bitのときのリードアクセス時のFIFO型バッファへの書き込むタイミングを示すタイミングチャートである。10 is a timing chart showing the timing of writing to a FIFO buffer during read access when the bus width of the external memory device is 16 bits. 本実施形態に係るDDRコマンドデコード回路26の動作手順を示すフローチャートである。3 is a flowchart showing an operation procedure of a DDR command decode circuit 26 according to the present embodiment.

符号の説明Explanation of symbols

10,10A・・・データ転送制御システム、20・・・データ転送制御装置、21・・・バッファ群、21−1〜21−n・・・128ビット幅FIFO型バッファ、22・・・調停回路、23・・・ライト(書き込み)データオーダリング回路、24・・・リード(読み出し)データオーダリング回路、25・・・DDRコマンド生成回路、26・・・DDRコマンドデコード回路、30,30A・・・外部メモリデバイス、40−0〜40−n・・・マスタデバイス、50・・・CPU、51・・・設定レジスタ。   DESCRIPTION OF SYMBOLS 10,10A ... Data transfer control system, 20 ... Data transfer control apparatus, 21 ... Buffer group, 21-1 to 21-n ... 128 bit width FIFO type buffer, 22 ... Arbitration circuit , 23 ... Write (write) data ordering circuit, 24 ... Read (read) data ordering circuit, 25 ... DDR command generation circuit, 26 ... DDR command decode circuit, 30, 30A ... External Memory device, 40-0 to 40-n... Master device, 50... CPU, 51.

Claims (14)

複数のマスタデバイスと、メモリデバイスとに接続され、当該メモリデバイスと各マスタデバイスとの間のデータ転送制御を行うデータ転送制御装置であって、
上記各マスタデバイスとのデータのインタフェース部に配置され、上記マスタデバイスに対応してクライアントデータ幅よりも大きいビット幅を有し当該ビット幅が統一された複数のFIFO型バッファを内蔵するバッファ群と、
上記マスタデバイスから受けた少なくともアドレスとコマンドに基づいて、上記メモリデバイスのアドレス、コマンドを生成するコマンド生成回路と、
上記コマンド生成回路にて生成されたアドレスおよびコマンドに基づいて、上記メモリデバイスのバス幅に応じてあらかじめ設定されたバーストレングスによりアクセスを行わせるコマンドおよびアドレスを上記メモリデバイスに発行し、上記バッファ群に対するデータの読み出しまたは書き込みを制御するコマンドデコード回路と
を有するデータ転送制御装置。
A data transfer control device that is connected to a plurality of master devices and a memory device and performs data transfer control between the memory device and each master device,
A buffer group which is arranged in a data interface unit with each master device and includes a plurality of FIFO buffers having a bit width larger than a client data width corresponding to the master device and unified in the bit width; ,
A command generation circuit for generating an address and a command of the memory device based on at least an address and a command received from the master device;
Based on the address and command generated by the command generation circuit, the memory device is issued with a command and an address to be accessed with a burst length set in advance according to the bus width of the memory device, and the buffer group And a command decode circuit for controlling reading or writing of data with respect to the data transfer control device.
上記メモリデバイスへのアクセスが書き込み(ライト)のためのアクセスの場合、上記コマンドデコード回路は、対応する上記FIFO型バッファから上記メモリデバイスのバス幅に応じたサイクルでデータを読み出し、所定のバス幅に応じたデータ単位で当該バッファからの読み出しデータをシフトして、上記メモリデバイスヘアクセスする
請求項1記載のデータ転送制御装置。
When the access to the memory device is an access for writing (write), the command decode circuit reads data from the corresponding FIFO buffer in a cycle corresponding to the bus width of the memory device, and has a predetermined bus width. The data transfer control device according to claim 1, wherein data read from the buffer is shifted in units of data corresponding to the data to access the memory device.
上記メモリデバイスへのアクセスが読み出し(リード)のためのアクセスの場合、上記コマンドデコード回路は、読み出しデータを対応する上記FIFO型バッファに上記メモリデバイスのバス幅毎に異なるタイミングをもって書き込む
請求項1記載のデータ転送制御装置。
2. When the access to the memory device is an access for reading (reading), the command decoding circuit writes the read data to the corresponding FIFO type buffer at a different timing for each bus width of the memory device. Data transfer control device.
上記メモリデバイスへのアクセスが読み出し(リード)のためのアクセスの場合、上記コマンドデコード回路は、読み出しデータを対応する上記FIFO型バッファにビット幅単位で当該FIFO型バッファを書き込み、当該書き込みに際し、上記メモリデバイスのバス幅に応じたサイクルで上記FIFO型バッファに書き込む
請求項3記載のデータ転送制御装置。
When the access to the memory device is an access for reading (reading), the command decoding circuit writes the read type data into the corresponding FIFO type buffer in the bit width unit, and at the time of the writing, 4. The data transfer control device according to claim 3, wherein the data is written into the FIFO buffer in a cycle corresponding to the bus width of the memory device.
上記メモリデバイスへのアクセスが書き込み(ライト)のためのアクセスの場合、上記コマンドデコード回路は、対応する上記FIFO型バッファから上記メモリデバイスのバス幅に応じたサイクルでデータを読み出し、所定のバス幅に応じたデータ単位で当該バッファからの読み出しデータをシフトして、上記メモリデバイスヘアクセスし、
上記メモリデバイスへのアクセスが読み出し(リード)のためのアクセスの場合、上記コマンドデコード回路は、読み出しデータを対応する上記FIFO型バッファに上記メモリデバイスのバス幅毎に異なるタイミングをもって書き込む
請求項1記載のデータ転送制御装置。
When the access to the memory device is an access for writing (write), the command decode circuit reads data from the corresponding FIFO buffer in a cycle corresponding to the bus width of the memory device, and has a predetermined bus width. The read data from the buffer is shifted by the data unit corresponding to the above, and the memory device is accessed,
2. When the access to the memory device is an access for reading (reading), the command decoding circuit writes the read data to the corresponding FIFO type buffer at a different timing for each bus width of the memory device. Data transfer control device.
上記メモリデバイスへのアクセスが書き込み(ライト)のためのアクセスの場合、上記コマンドデコード回路は、対応する上記FIFO型バッファから上記メモリデバイスのバス幅に応じたサイクルでデータを読み出し、所定のバス幅に応じたデータ単位で当該バッファからの読み出しデータをシフトして、上記メモリデバイスヘアクセスし、
上記メモリデバイスへのアクセスが読み出し(リード)のためのアクセスの場合、上記コマンドデコード回路は、読み出しデータを対応する上記FIFO型バッファにビット幅単位で当該FIFO型バッファを書き込み、当該書き込みに際し、上記メモリデバイスのバス幅に応じたサイクルで上記FIFO型バッファに書き込む
請求項1記載のデータ転送制御装置。
When the access to the memory device is an access for writing (write), the command decode circuit reads data from the corresponding FIFO buffer in a cycle corresponding to the bus width of the memory device, and has a predetermined bus width. The read data from the buffer is shifted by the data unit corresponding to the above, and the memory device is accessed,
When the access to the memory device is an access for reading (reading), the command decoding circuit writes the read type data into the corresponding FIFO type buffer in the bit width unit, and at the time of the writing, The data transfer control device according to claim 1, wherein the data is written into the FIFO type buffer in a cycle corresponding to the bus width of the memory device.
複数のマスタデバイスと、メモリデバイスとに接続され、当該メモリデバイスと各マスタデバイスとの間のデータ転送制御を行うデータ転送制御装置であって、
上記各マスタデバイスとのデータのインタフェース部に配置され、上記マスタデバイスに対応してクライアントデータ幅よりも大きいビット幅を有し当該ビット幅が統一された複数のFIFO型バッファを内蔵するバッファ群と、
上記マスタデバイスから受けた少なくともアドレスとコマンドに基づいて、上記メモリデバイスのアドレス、コマンドを生成するコマンド生成回路と、
上記コマンド生成回路にて生成されたアドレスおよびコマンドに基づいて、上記メモリデバイスのバス幅に応じてあらかじめ設定されたバーストレングスによりアクセスを行わせるコマンドおよびアドレスを上記メモリデバイスに発行し、上記バッファ群に対するデータの読み出しまたは書き込みを制御するコマンドデコード回路と、
一のマスタデバイスから最優先で上記メモリデバイスへアクセスすべき処理要求があった場合、当該一のマスタデバイスに最優先でメモリアクセス権を与え、当該マスタデバイスからの少なくともアドレスとコマンドを上記コマンド生成回路に出力する調停回路と
を有するデータ転送制御装置。
A data transfer control device that is connected to a plurality of master devices and a memory device and performs data transfer control between the memory device and each master device,
A buffer group which is arranged in a data interface unit with each master device and includes a plurality of FIFO buffers having a bit width larger than a client data width corresponding to the master device and unified in the bit width; ,
A command generation circuit for generating an address and a command of the memory device based on at least an address and a command received from the master device;
Based on the address and command generated by the command generation circuit, the memory device is issued with a command and an address to be accessed with a burst length set in advance according to the bus width of the memory device, and the buffer group A command decode circuit for controlling reading or writing of data with respect to
When there is a processing request to access the memory device with the highest priority from one master device, the memory access right is given to the one master device with the highest priority, and at least the address and command from the master device are generated. A data transfer control device comprising: an arbitration circuit that outputs the circuit.
上記調停回路は、上記コマンド生成回路からのリクエスト信号に応答して上記アドレスとコマンドを上記コマンド生成回路に出力する
請求項7記載のデータ転送制御装置。
The data transfer control device according to claim 7, wherein the arbitration circuit outputs the address and command to the command generation circuit in response to a request signal from the command generation circuit.
上記コマンド生成回路は、上記コマンドデコード回路からリクエスト信号を受けると、リクエスト信号を上記調停回路に発行する
請求項8記載のデータ転送制御装置。
The data transfer control device according to claim 8, wherein the command generation circuit issues a request signal to the arbitration circuit when receiving a request signal from the command decoding circuit.
上記メモリデバイスへのアクセスが書き込み(ライト)のためのアクセスの場合、上記コマンドデコード回路は、対応する上記FIFO型バッファから上記メモリデバイスのバス幅に応じたサイクルでデータを読み出し、所定のバス幅に応じたデータ単位で当該バッファからの読み出しデータをシフトして、上記メモリデバイスヘアクセスする
請求項7記載のデータ転送制御装置。
When the access to the memory device is an access for writing (write), the command decode circuit reads data from the corresponding FIFO buffer in a cycle corresponding to the bus width of the memory device, and has a predetermined bus width. The data transfer control device according to claim 7, wherein data read from the buffer is shifted in units of data corresponding to the data to access the memory device.
上記メモリデバイスへのアクセスが読み出し(リード)のためのアクセスの場合、上記コマンドデコード回路は、読み出しデータを対応する上記FIFO型バッファに上記メモリデバイスのバス幅毎に異なるタイミングをもって書き込む
請求項7記載のデータ転送制御装置。
8. When the access to the memory device is an access for reading (reading), the command decoding circuit writes the read data into the corresponding FIFO type buffer with different timing for each bus width of the memory device. Data transfer control device.
上記メモリデバイスへのアクセスが読み出し(リード)のためのアクセスの場合、上記コマンドデコード回路は、読み出しデータを対応する上記FIFO型バッファにビット幅単位で当該FIFO型バッファを書き込み、当該書き込みに際し、上記メモリデバイスのバス幅に応じたサイクルで上記FIFO型バッファに書き込む
請求項11記載のデータ転送制御装置。
When the access to the memory device is an access for reading (reading), the command decoding circuit writes the read type data into the corresponding FIFO type buffer in the bit width unit, and at the time of the writing, The data transfer control device according to claim 11, wherein the data is written into the FIFO buffer in a cycle corresponding to the bus width of the memory device.
上記メモリデバイスへのアクセスが書き込み(ライト)のためのアクセスの場合、上記コマンドデコード回路は、対応する上記FIFO型バッファから上記メモリデバイスのバス幅に応じたサイクルでデータを読み出し、所定のバス幅に応じたデータ単位で当該バッファからの読み出しデータをシフトして、上記メモリデバイスヘアクセスし、
上記メモリデバイスへのアクセスが読み出し(リード)のためのアクセスの場合、上記コマンドデコード回路は、読み出しデータを対応する上記FIFO型バッファに上記メモリデバイスのバス幅毎に異なるタイミングをもって書き込む
請求項7記載のデータ転送制御装置。
When the access to the memory device is an access for writing (write), the command decode circuit reads data from the corresponding FIFO buffer in a cycle corresponding to the bus width of the memory device, and has a predetermined bus width. The read data from the buffer is shifted by the data unit corresponding to the above, and the memory device is accessed,
8. When the access to the memory device is an access for reading (reading), the command decoding circuit writes the read data into the corresponding FIFO type buffer with different timing for each bus width of the memory device. Data transfer control device.
上記メモリデバイスへのアクセスが書き込み(ライト)のためのアクセスの場合、上記コマンドデコード回路は、対応する上記FIFO型バッファから上記メモリデバイスのバス幅に応じたサイクルでデータを読み出し、所定のバス幅に応じたデータ単位で当該バッファからの読み出しデータをシフトして、上記メモリデバイスヘアクセスし、
上記メモリデバイスへのアクセスが読み出し(リード)のためのアクセスの場合、上記コマンドデコード回路は、読み出しデータを対応する上記FIFO型バッファにビット幅単位で当該FIFO型バッファを書き込み、当該書き込みに際し、上記メモリデバイスのバス幅に応じたサイクルで上記FIFO型バッファに書き込む
請求項7記載のデータ転送制御装置。
When the access to the memory device is an access for writing (write), the command decode circuit reads data from the corresponding FIFO buffer in a cycle corresponding to the bus width of the memory device, and has a predetermined bus width. The read data from the buffer is shifted by the data unit corresponding to the above, and the memory device is accessed,
When the access to the memory device is an access for reading (reading), the command decoding circuit writes the read type data into the corresponding FIFO type buffer in the bit width unit, and at the time of the writing, 8. The data transfer control device according to claim 7, wherein the data is written into the FIFO buffer in a cycle corresponding to the bus width of the memory device.
JP2005358956A 2005-12-13 2005-12-13 Data transfer controller Pending JP2007164415A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005358956A JP2007164415A (en) 2005-12-13 2005-12-13 Data transfer controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005358956A JP2007164415A (en) 2005-12-13 2005-12-13 Data transfer controller

Publications (1)

Publication Number Publication Date
JP2007164415A true JP2007164415A (en) 2007-06-28

Family

ID=38247247

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005358956A Pending JP2007164415A (en) 2005-12-13 2005-12-13 Data transfer controller

Country Status (1)

Country Link
JP (1) JP2007164415A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008129616A (en) * 2006-11-16 2008-06-05 Canon Inc Memory device
JP2012128478A (en) * 2010-12-13 2012-07-05 Sanyo Electric Co Ltd Memory access device
US8412874B2 (en) 2009-06-15 2013-04-02 Sanyo Electric Co., Ltd. Data transfer circuit
US20150074314A1 (en) * 2013-09-09 2015-03-12 Sony Corporation Memory, memory system and memory control method
US10671319B2 (en) 2017-11-03 2020-06-02 Samsung Electronics Co., Ltd. Memory device configured to store and output address in response to internal command

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008129616A (en) * 2006-11-16 2008-06-05 Canon Inc Memory device
US8412874B2 (en) 2009-06-15 2013-04-02 Sanyo Electric Co., Ltd. Data transfer circuit
JP2012128478A (en) * 2010-12-13 2012-07-05 Sanyo Electric Co Ltd Memory access device
US20150074314A1 (en) * 2013-09-09 2015-03-12 Sony Corporation Memory, memory system and memory control method
US9483425B2 (en) * 2013-09-09 2016-11-01 Sony Corporation Memory including a band width conversion unit, memory system and memory control method using the same
US10671319B2 (en) 2017-11-03 2020-06-02 Samsung Electronics Co., Ltd. Memory device configured to store and output address in response to internal command

Similar Documents

Publication Publication Date Title
JP4936506B2 (en) Memory control circuit and memory control method
US7587535B2 (en) Data transfer control device including endian conversion circuit with data realignment
KR100908760B1 (en) Method and memory device having multiple internal data buses and memory bank interleaving
JP2007164415A (en) Data transfer controller
JP2014035628A (en) Information processing apparatus, memory control apparatus, and control method thereof
KR101086417B1 (en) Apparatus and method for partial access of dynamic random access memory
JP5706060B2 (en) Semiconductor memory device and product development method
US20070043910A1 (en) Memory control apparatus executing prefetch instruction
JP4994103B2 (en) Semiconductor device having address translation memory access mechanism
JP2004127305A (en) Memory controller
JP5204777B2 (en) Memory device and control method thereof
JP5055497B2 (en) Data processing device
JP2008140065A (en) Access arbitration device, access arbitration method and information processor
US10719440B2 (en) Semiconductor device and memory access method
EP1156421B1 (en) CPU system with high-speed peripheral LSI circuit
KR20070081981A (en) Interface method and apparatus in cpuless system
JP2008071290A (en) Memory controller and host computer
JP2008083772A (en) Data processor
KR101345437B1 (en) Interfacing apparatus and method for communication between chips
JP2008225775A (en) Memory control unit
JP6186381B2 (en) Semiconductor memory device and product development method
JP2006155220A (en) Semiconductor integrated circuit and access control method therefor
JP4496923B2 (en) Shared memory system
JP2010262526A (en) Memory control device
JP2007034470A (en) Memory controller and memory access control method