JP2012216985A - Data transfer system and data transfer method - Google Patents

Data transfer system and data transfer method Download PDF

Info

Publication number
JP2012216985A
JP2012216985A JP2011080480A JP2011080480A JP2012216985A JP 2012216985 A JP2012216985 A JP 2012216985A JP 2011080480 A JP2011080480 A JP 2011080480A JP 2011080480 A JP2011080480 A JP 2011080480A JP 2012216985 A JP2012216985 A JP 2012216985A
Authority
JP
Japan
Prior art keywords
data
write
unit
bus bridge
clock
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
JP2011080480A
Other languages
Japanese (ja)
Inventor
Atsushi Kita
篤史 北
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2011080480A priority Critical patent/JP2012216985A/en
Publication of JP2012216985A publication Critical patent/JP2012216985A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a data transfer system capable of transferring data to a peripheral circuit from a master device without deteriorating system performance.SOLUTION: The data transfer system comprises: master devices M1-M3; a bus bridge 3 to which data D1-D3 outputted via a first bus 2 from the master devices are input and which outputs the data via a second bus 4; and a peripheral circuit 5 having write buffers WB1-WB3 which store the data D1-D3 outputted from the bus bridge 3 and registers R1-R3 which store the data D1-D3 outputted from the write buffers WB1-WB3. The bus bridge 3 and the write buffer operate at a first clock, the register operates at a second clock which is asynchronous with the first clock, and the write buffer and the register are synchronized, thereby transferring the data to the register from the write buffer.

Description

本発明はデータ転送システムおよびデータ転送方法に関し、特に互いに非同期のクロックで動作するマスタと周辺回路との間でのデータ転送を実現するデータ転送システムおよびデータ転送方法に関する。   The present invention relates to a data transfer system and a data transfer method, and more particularly, to a data transfer system and a data transfer method for realizing data transfer between a master and a peripheral circuit operating with asynchronous clocks.

近年、互いに非同期のクロックで動作するマスタと周辺回路との間で、より高速にデータを転送する技術が重要となってきている。例えば、自動車に搭載される半導体集積回路では、電磁妨害波(EMI:Electro Magnetic Interference)によるノイズ発生を抑制するために、CPUの駆動にスペクトラム拡散クロック(SSCG:Spread Spectrum Clock Generator)を使用する場合がある。一方、周辺システムは特殊な精度要求を満たすためにスペクトラム拡散クロックとは非同期のクロックで動作させる場合がある。このように、マスタであるCPUと周辺回路(スレーブ)である周辺システムとが非同期で動作する場合、CPUから周辺システムへアクセスするには同期化処理が必要となる。   In recent years, a technique for transferring data at a higher speed between a master and a peripheral circuit operating with asynchronous clocks has become important. For example, in a semiconductor integrated circuit mounted on an automobile, a spread spectrum clock generator (SSCG) is used to drive a CPU in order to suppress noise generation due to electromagnetic interference (EMI). There is. On the other hand, the peripheral system may be operated with a clock asynchronous to the spread spectrum clock in order to satisfy special accuracy requirements. As described above, when the CPU serving as the master and the peripheral system serving as the peripheral circuit (slave) operate asynchronously, a synchronization process is required to access the peripheral system from the CPU.

特許文献1には、ライト動作またはリード動作を可及的に短時間で行なうことが可能なデータ送受信装置に関する技術が開示されている。図15は、特許文献1に開示されているデータ送受信装置を示す図である。図15に示すデータ送受信装置は、マスタ部101と、スレーブ部140と、制御信号用バス132、136と、データバス134とを備え、マスタ部101からスレーブ部140にデータを送信する。マスタ部101はマスタ側ライト制御回路102と、フリップフロップ回路111〜114とを有している。スレーブ部140はスレーブ側ライト制御回路142と、フリップフロップ回路151〜155とを有している。   Patent Document 1 discloses a technique related to a data transmitting / receiving apparatus capable of performing a write operation or a read operation in as short a time as possible. FIG. 15 is a diagram illustrating a data transmission / reception apparatus disclosed in Patent Document 1. In FIG. 15 includes a master unit 101, a slave unit 140, control signal buses 132 and 136, and a data bus 134, and transmits data from the master unit 101 to the slave unit 140. The master unit 101 includes a master side write control circuit 102 and flip-flop circuits 111 to 114. The slave unit 140 includes a slave side write control circuit 142 and flip-flop circuits 151 to 155.

マスタ側ライト制御回路102は、ライト要求を示すWRITE信号を、マスタ側動作クロック信号を用いてフリップフロップ回路111で同期化し、制御信号用バス132に出力する。この同期化されたWRITE信号はスレーブ側動作クロック信号を用いてフリップフロップ回路151、152において同期化され、スレーブ側ライト制御回路142に取り込まれる。なお、フリップフロップ回路151、152はフリップフロップ回路111によって同期化された値が「0」のWRITE信号によってリセットされる。   The master-side write control circuit 102 synchronizes the WRITE signal indicating the write request with the flip-flop circuit 111 using the master-side operation clock signal, and outputs it to the control signal bus 132. The synchronized WRITE signal is synchronized in the flip-flop circuits 151 and 152 using the slave side operation clock signal, and is taken into the slave side write control circuit 142. Note that the flip-flop circuits 151 and 152 are reset by the WRITE signal whose value synchronized by the flip-flop circuit 111 is “0”.

また、マスタ側ライト制御回路102はライトデータWRITEDATAをマスタ側動作クロック信号を用いてフリップフロップ回路112において同期化し、データバス134に出力する。この同期化されたライトデータWRITEDATAは、スレーブ側動作クロック信号を用いてフリップフロップ回路153、154において同期化され、スレーブ側ライト制御回路142に取り込まれる。なお、フリップフロップ回路112、153、154はフリップフロップ回路111によって同期化された値が「0」のWRITE信号によってリセットされる。   The master-side write control circuit 102 synchronizes the write data WRITEDATA in the flip-flop circuit 112 using the master-side operation clock signal, and outputs it to the data bus 134. The synchronized write data WRITEDATA is synchronized in the flip-flop circuits 153 and 154 using the slave side operation clock signal, and is taken into the slave side write control circuit 142. Note that the flip-flop circuits 112, 153, and 154 are reset by the WRITE signal whose value synchronized by the flip-flop circuit 111 is “0”.

スレーブ側ライト制御回路142は、READY信号を、スレーブ側動作クロック信号を用いてフリップフロップ回路155において同期化し、制御信号用バス136に出力する。このREADY信号はマスタ側動作クロック信号を用いて2段のフリップフロップ回路113、114において同期化され、マスタ側ライト制御回路102に取り込まれる。なお、フリップフロップ回路113、114、155は、フリップフロップ回路111によって同期化された値が「0」のWRITE信号によってリセットされる。   The slave-side write control circuit 142 synchronizes the READY signal with the flip-flop circuit 155 using the slave-side operation clock signal, and outputs it to the control signal bus 136. This READY signal is synchronized in the two-stage flip-flop circuits 113 and 114 using the master side operation clock signal, and is taken into the master side write control circuit 102. Note that the flip-flop circuits 113, 114, and 155 are reset by the WRITE signal whose value synchronized by the flip-flop circuit 111 is “0”.

図16は、特許文献1に開示されているデータ送受信装置の動作を説明するためのタイミングチャートである。マスタ側ライト制御回路102はフリップフロップ回路113、114によって同期化されたREADY信号の値が「0」になっていることを確認し、ライトデータWRITEDATAをフリップフロップ回路112によって同期化し、データバス134に出力するとともに、WRITE信号の値を「1」にし、フリップフロップ回路111を介して制御信号用バス132に出力する(タイミングt101)。   FIG. 16 is a timing chart for explaining the operation of the data transmitting / receiving apparatus disclosed in Patent Document 1. The master-side write control circuit 102 confirms that the value of the READY signal synchronized by the flip-flop circuits 113 and 114 is “0”, synchronizes the write data WRITEDATA by the flip-flop circuit 112, and the data bus 134. And the value of the WRITE signal is set to “1” and is output to the control signal bus 132 via the flip-flop circuit 111 (timing t101).

スレーブ側ライト制御回路142はフリップフロップ回路151、152によって同期化されたWRITE信号の値が「1」になったこと、すなわちライト要求されていることを検出し、ライトデータWRITEDATAをフリップフロップ回路153、154を介して取り込む。そしてライトデータWRITEDATAの取り込みが完了すると、READY信号の値を「1」にしてフリップフロップ回路155を介して制御信号用バス136に出力する(タイミングt102)。   The slave-side write control circuit 142 detects that the value of the WRITE signal synchronized by the flip-flop circuits 151 and 152 becomes “1”, that is, a write request is made, and writes the write data WRITEDATA to the flip-flop circuit 153. , 154. When the capture of the write data WRITEDATA is completed, the value of the READY signal is set to “1” and output to the control signal bus 136 via the flip-flop circuit 155 (timing t102).

マスタ側ライト制御回路102は、フリップフロップ回路113、114によって同期化されたREADY信号の値が「1」になること、すなわちライトデータWRITEDATAが受信されたことを検出すると、WRITE信号の値を「0」にし、フリップフロップ回路111に出力する(タイミングt103)。   When the master-side write control circuit 102 detects that the value of the READY signal synchronized by the flip-flop circuits 113 and 114 becomes “1”, that is, that the write data WRITEDATA is received, the master-side write control circuit 102 sets the value of the WRITE signal to “ 0 "and output to the flip-flop circuit 111 (timing t103).

すると、値が「0」のWRITE信号はマスタ側動作クロック信号を用いてフリップフロップ回路111によって同期化され、制御信号用バス132に出力される。そして、このWRITE信号によってスレーブ側のフリップフロップ回路151〜155が全てリセットされる。すなわちフリップフロップ回路155の出力であるREADY信号の値は「0」となる(タイミングt104)。ライト動作が行われていないときは、WRITE信号とREADY信号の値はともに「0」となっている(タイミングt105)。   Then, the WRITE signal whose value is “0” is synchronized by the flip-flop circuit 111 using the master side operation clock signal, and is output to the control signal bus 132. Then, all of the flip-flop circuits 151 to 155 on the slave side are reset by this WRITE signal. That is, the value of the READY signal that is the output of the flip-flop circuit 155 becomes “0” (timing t104). When the write operation is not performed, the values of the WRITE signal and the READY signal are both “0” (timing t105).

このように、特許文献1に開示されているデータ送受信装置では、値が「0」のWRITE信号によってスレーブ側のフリップフロップ151、152、155が同時にリセットされる。このため、WRITE信号の値を「0」にしてからREADY信号の値が「0」になるまでの期間を短縮することが可能となり、ライト動作を可及的に短時間で行うことができる。   As described above, in the data transmitting / receiving apparatus disclosed in Patent Document 1, the flip-flops 151, 152, and 155 on the slave side are simultaneously reset by the WRITE signal having a value of “0”. Therefore, it is possible to shorten the period from when the value of the WRITE signal is “0” to when the value of the READY signal is “0”, and the write operation can be performed in as short a time as possible.

また、特許文献2には、低速プロセッサ使用時に、システム性能の低下を最小限に留めるバス制御方法に関する技術が開示されている。特許文献3には、回路規模を増大させることなく、マスタおよびスレーブ間のデータアクセスを効率よく行うことができるバスブリッジ回路に関する技術が開示されている。特許文献4には、高速側バスのCPUが低速側バスの周辺モジュールに対してデータ読み出し等のアクセスを行う際に、アクセスレイテンシを短縮して性能を向上させることができるデータ処理装置に関する技術が開示されている。特許文献5には、上位バスの動作クロックと下位バスの動作クロックが異なる速度で動作しており、これらの動作クロックが変更可能なシステムにおいて、どのような動作クロックやデータ幅においても双方のバス間の転送を可能とすることができるバスアダプタ装置に関する技術が開示されている。   Patent Document 2 discloses a technology relating to a bus control method for minimizing a decrease in system performance when a low-speed processor is used. Patent Document 3 discloses a technology related to a bus bridge circuit that can efficiently perform data access between a master and a slave without increasing the circuit scale. Patent Document 4 discloses a technique related to a data processing device that can shorten the access latency and improve the performance when the CPU of the high speed side bus accesses the peripheral module of the low speed side bus such as data reading. It is disclosed. In Patent Document 5, the operation clock of the upper bus and the operation clock of the lower bus operate at different speeds. In a system in which these operation clocks can be changed, both buses can be used at any operation clock and data width. A technology related to a bus adapter device that can transfer data between the devices is disclosed.

特開2002−33723号公報JP 2002-33723 A 特開平06−266660号公報Japanese Patent Laid-Open No. 06-266660 特開2005−078146号公報Japanese Patent Laying-Open No. 2005-078146 特開2006−164119号公報JP 2006-164119 A 特開2006−195948号公報JP 2006-195948 A

特許文献1に開示されているデータ送受信装置では、マスタ部101からスレーブ部140へのアクセスが連続して発生した場合、最初のアクセスが終了するまで、すなわち、READY信号の値が「0」になるまで、以降のアクセスが待たされる。このように、マスタと周辺回路(スレーブ)とが非同期で動作するシステムでは、同期化処理がデータ転送の妨げとなり、システム性能が低下するという問題があった。   In the data transmission / reception apparatus disclosed in Patent Document 1, when the access from the master unit 101 to the slave unit 140 occurs continuously, the value of the READY signal is set to “0” until the first access is completed. Until then, the subsequent access is waited. As described above, in a system in which the master and the peripheral circuit (slave) operate asynchronously, the synchronization processing hinders data transfer, and there is a problem that the system performance deteriorates.

本発明にかかるデータ転送システムは、少なくとも一つのマスタと、前記少なくとも一つのマスタから第1のバスを介して出力されたデータを入力し第2のバスを介して当該データを出力するバスブリッジと、前記バスブリッジから出力されたデータを保持可能な第1および第2のライトバッファ、並びに当該第1および第2のライトバッファと対応して設けられ、当該第1および第2のライトバッファから出力されたデータをそれぞれ保持する第1および第2のレジスタを備える周辺回路と、を備え、前記バスブリッジ並びに前記第1および第2のライトバッファは第1のクロックで動作し、前記バスブリッジは前記第1および第2のライトバッファに前記第1のクロックに応じて前記データを転送可能であり、前記第1および第2のレジスタは前記第1のクロックとは非同期の第2のクロックで動作し、前記第1および第2のライトバッファと前記第1および第2のレジスタとをそれぞれ同期化することで前記第1および第2のライトバッファから前記第1および第2のレジスタへ前記データを転送する。   A data transfer system according to the present invention includes at least one master, and a bus bridge that inputs data output from the at least one master via a first bus and outputs the data via a second bus. The first and second write buffers capable of holding the data output from the bus bridge, and the first and second write buffers are provided corresponding to the first and second write buffers, and output from the first and second write buffers. A peripheral circuit having first and second registers for holding the received data, respectively, wherein the bus bridge and the first and second write buffers operate with a first clock, and the bus bridge The data can be transferred to the first and second write buffers according to the first clock, and the first and second registers can be transferred. The first and second write buffers are synchronized with the first and second registers by operating the second clock asynchronous with the first clock, respectively. The data is transferred from two write buffers to the first and second registers.

本発明にかかるデータ転送システムでは、バスブリッジとレジスタとの間に、バスブリッジと同一のクロックで駆動するライトバッファを設けている。よって、バスブリッジからライトバッファへのアクセスが同期して行われるので、バスブリッジから周辺回路(実際にはライトバッファ)へのデータの転送を高速化することができる。   In the data transfer system according to the present invention, a write buffer that is driven by the same clock as the bus bridge is provided between the bus bridge and the register. Therefore, since the access from the bus bridge to the write buffer is performed synchronously, the transfer of data from the bus bridge to the peripheral circuit (actually the write buffer) can be speeded up.

本発明にかかる、少なくとも一つのマスタと、前記少なくとも一つのマスタから第1のバスを介して出力されたデータを入力し第2のバスを介して当該データを出力するバスブリッジと、前記バスブリッジから出力されたデータを保持可能な第1および第2のライトバッファ、並びに当該第1および第2のライトバッファと対応して設けられ、当該第1および第2のライトバッファから出力されたデータをそれぞれ保持する第1および第2のレジスタを備える周辺回路と、を備えるデータ転送システムにおけるデータ転送方法は、前記バスブリッジ並びに前記第1および第2のライトバッファを第1のクロックで動作し、前記バスブリッジから前記第1および第2のライトバッファへ前記第1のクロックに応じて前記データを転送し、前記第1および第2のレジスタを前記第1のクロックとは非同期の第2のクロックで動作し、前記第1および第2のライトバッファと前記第1および第2のレジスタとをそれぞれ同期化することで前記第1および第2のライトバッファから前記第1および第2のレジスタへ前記データをそれぞれ転送する。   According to the present invention, at least one master, a bus bridge that receives data output from the at least one master via a first bus and outputs the data via a second bus, and the bus bridge The first and second write buffers that can hold the data output from the first and second write buffers and the first and second write buffers are provided corresponding to the first and second write buffers. A data transfer method in a data transfer system including a peripheral circuit including first and second registers for holding each of the bus bridge and the first and second write buffers with a first clock, Transferring the data from the bus bridge to the first and second write buffers according to the first clock; And the second register are operated with a second clock asynchronous to the first clock, and the first and second write buffers are synchronized with the first and second registers, respectively. The data is transferred from the first and second write buffers to the first and second registers, respectively.

本発明にかかるデータ転送方法では、バスブリッジとレジスタとの間に、バスブリッジと同一のクロックで駆動するライトバッファを設け、バスブリッジとライトバッファとを同期して動作させている。よって、バスブリッジから周辺回路(実際にはライトバッファ)へのデータの転送を高速化することができる。   In the data transfer method according to the present invention, a write buffer that is driven by the same clock as the bus bridge is provided between the bus bridge and the register, and the bus bridge and the write buffer are operated in synchronization. Therefore, the transfer of data from the bus bridge to the peripheral circuit (actually the write buffer) can be speeded up.

本発明により、システム性能を低下させることなくマスタから周辺回路へデータを転送することが可能なデータ転送システムおよびデータ転送方法を提供することができる。   According to the present invention, it is possible to provide a data transfer system and a data transfer method capable of transferring data from a master to a peripheral circuit without degrading system performance.

本発明にかかるデータ転送システムが適用されるプロセッサシステムの一例を説明するためのブロック図である。It is a block diagram for demonstrating an example of the processor system with which the data transfer system concerning this invention is applied. 実施の形態1にかかるデータ転送システムを示すブロック図である。1 is a block diagram showing a data transfer system according to a first exemplary embodiment; 実施の形態1にかかるデータ転送システムが備える周辺回路の一例を示すブロック図である。2 is a block diagram illustrating an example of a peripheral circuit included in the data transfer system according to the first exemplary embodiment; FIG. 実施の形態1にかかるデータ転送システムの動作を説明するためのタイミングチャートである。3 is a timing chart for explaining an operation of the data transfer system according to the first exemplary embodiment; 実施の形態1にかかるデータ転送システムの動作を説明するためのタイミングチャートである。3 is a timing chart for explaining an operation of the data transfer system according to the first exemplary embodiment; 比較例にかかるデータ転送システムを示すブロック図である。It is a block diagram which shows the data transfer system concerning a comparative example. 比較例にかかるデータ転送システムの動作を説明するためのタイミングチャートである。It is a timing chart for demonstrating operation | movement of the data transfer system concerning a comparative example. 実施の形態2にかかるデータ転送システムを示すブロック図である。FIG. 3 is a block diagram showing a data transfer system according to a second exemplary embodiment. 実施の形態2にかかるデータ転送システムが備える周辺回路の一例を示すブロック図である。FIG. 4 is a block diagram illustrating an example of a peripheral circuit included in a data transfer system according to a second exemplary embodiment. 実施の形態2にかかるデータ転送システムの動作を説明するためのタイミングチャートである。6 is a timing chart for explaining the operation of the data transfer system according to the second exemplary embodiment; 実施の形態2にかかるデータ転送システムの動作を説明するためのタイミングチャートである。6 is a timing chart for explaining the operation of the data transfer system according to the second exemplary embodiment; 実施の形態3にかかるデータ転送システムが備える周辺回路の一例を示すブロック図である。FIG. 6 is a block diagram illustrating an example of a peripheral circuit included in a data transfer system according to a third exemplary embodiment. 実施の形態3にかかるデータ転送システムの動作を説明するためのタイミングチャートである。10 is a timing chart for explaining the operation of the data transfer system according to the third exemplary embodiment; 実施の形態3にかかるデータ転送システムの効果を説明するための図である。FIG. 10 is a diagram for explaining the effect of the data transfer system according to the third exemplary embodiment. 特許文献1に開示されているデータ送受信装置を示す図である。1 is a diagram illustrating a data transmission / reception device disclosed in Patent Document 1. FIG. 特許文献1に開示されているデータ送受信装置の動作を示すタイミングチャートである。10 is a timing chart showing the operation of the data transmitting / receiving apparatus disclosed in Patent Document 1.

本発明の詳細な実施の形態を説明する前に、本発明が適用されるプロセッサシステムの概要について説明する。なお、本発明は、以下で説明するプロセッサシステムに適用されるものではあるが、説明するプロセッサシステムは一例であり、他のプロセッサシステムに本発明を適用することも可能である。   Before describing a detailed embodiment of the present invention, an outline of a processor system to which the present invention is applied will be described. Although the present invention is applied to a processor system described below, the processor system described is an example, and the present invention can also be applied to other processor systems.

本発明が適用されるプロセッサシステムの概略図を図1に示す。図1に示すように、本発明にかかるプロセッサシステムは、複数のPE(Processing Element)を用いることにより処理性能の向上を実現するものである。また、本発明にかかるプロセッサシステムでは、PEによる機能ブロックの分類とは別に3つのサブシステムによる機能の分類を行う。図1に示すように、本発明にかかるプロセッサシステムでは、メインPE(Processing Element)サブシステム、IO(Input Output)サブシステム、HSM(Hardware Security Module)サブシステムを有する。   A schematic diagram of a processor system to which the present invention is applied is shown in FIG. As shown in FIG. 1, the processor system according to the present invention realizes improvement in processing performance by using a plurality of PEs (Processing Elements). In the processor system according to the present invention, the function is classified by three subsystems separately from the function block classification by PE. As shown in FIG. 1, the processor system according to the present invention includes a main PE (Processing Element) subsystem, an IO (Input Output) subsystem, and an HSM (Hardware Security Module) subsystem.

メインPEサブシステムでは、予め内部に記憶されたプログラム又は外部から読み込んだプログラムに基づくプロセッサシステムに求められる具体的な処理を行う。IOサブシステムでは、メインPEサブシステム又はHSMサブシステムにより用いられる周辺装置が動作するための各種処理を行う。HSMサブシステムは、プロセッサシステムにおいて行われている処理のセキュリティ確認処理を行う。また、本発明にかかるプロセッサシステムでは、各サブシステムにクロック信号CLKa、CLKb、CLKc、CLKpが供給される。図1に示す例では、メインPEサブシステムにはクロック信号CLKaが供給され、IOサブシステムにはクロック信号CLKb、CLKpが供給され、HSMサブシステムにはクロック信号CLKcが供給される。これらのクロック信号CLKa、CLKb、CLKcは、システム全体構成の仕様に応じて、同一の周波数であっても、異なる周波数であっても良い。また、クロック信号CLKpは、周辺装置に与えられ、IOサブシステムに与えられるクロック信号CLKbとは非同期のクロック信号である。   The main PE subsystem performs specific processing required for a processor system based on a program stored in advance or a program read from the outside. The IO subsystem performs various processes for operating peripheral devices used by the main PE subsystem or the HSM subsystem. The HSM subsystem performs security confirmation processing of processing performed in the processor system. In the processor system according to the present invention, the clock signals CLKa, CLKb, CLKc, and CLKp are supplied to each subsystem. In the example shown in FIG. 1, the main PE subsystem is supplied with a clock signal CLKa, the IO subsystem is supplied with clock signals CLKb and CLKp, and the HSM subsystem is supplied with a clock signal CLKc. These clock signals CLKa, CLKb, and CLKc may have the same frequency or different frequencies depending on the specifications of the overall system configuration. The clock signal CLKp is provided to the peripheral device and is an asynchronous clock signal with respect to the clock signal CLKb provided to the IO subsystem.

続いて、より具体的に各サブシステムについて説明する。メインPEサブシステムは、メインPEa、メインPEb、第1の命令メモリ、データメモリ、システムバスを有する。メインPEサブシステムでは、メインPEa、メインPEb、命令メモリ及びデータメモリは、システムバスを介して互いに接続される。第1の命令メモリは、プログラムを格納する。データメモリは、外部から読み込んだプログラム及びプロセッサシステム内で処理されたデータを一時的に記憶する。メインPEa及びメインPEbは、それぞれ命令メモリ、データメモリ等を利用しながらプログラムを実行する。なお、メインPEaは、冗長動作が可能なように構成される。冗長動作とは、ソフトウェア的には一つのプロセッサエレメントとして動作するが、ハードウェアとしては多重化された構成又は検査回路等が付加された構成により高信頼な動作を行う動作である。冗長動作の一例として、クロック毎に多重化された回路の出力結果が同一であるか否かを比較するロックステップ動作がある。   Subsequently, each subsystem will be described more specifically. The main PE subsystem has a main PEa, a main PEb, a first instruction memory, a data memory, and a system bus. In the main PE subsystem, the main PEa, the main PEb, the instruction memory, and the data memory are connected to each other via a system bus. The first instruction memory stores a program. The data memory temporarily stores programs read from the outside and data processed in the processor system. The main PEa and the main PEb execute programs while using an instruction memory, a data memory, and the like, respectively. The main PEa is configured to be able to perform a redundant operation. The redundant operation is an operation that operates as a single processor element in terms of software, but performs a highly reliable operation by a multiplexed configuration or a configuration to which an inspection circuit or the like is added as hardware. As an example of the redundant operation, there is a lock step operation for comparing whether or not the output results of the circuits multiplexed for each clock are the same.

IOサブシステムは、周辺バス、IOPE、周辺装置を有する。IOPEは、周辺装置を利用する上で必要な処理を行う。なお、IOPEはメインPEシステムの第1の命令メモリに記憶されているプログラムに基づき動作しても良く、他の記憶領域に記憶されているプログラムに基づき動作しても良い。周辺バスは、IOPE及び周辺装置を互いに接続する。   The IO subsystem has a peripheral bus, IOPE, and peripheral devices. The IOPE performs processing necessary for using the peripheral device. The IOPE may operate based on a program stored in the first instruction memory of the main PE system, or may operate based on a program stored in another storage area. The peripheral bus connects the IOPE and peripheral devices to each other.

図1では、周辺装置として、CANユニット、FLEXRAYユニット、SPIユニット、UARTユニット、ADCユニット、WDユニット、タイマを例示した。CANユニットは、自動車の車内通信規格の一つであるCAN(Controller Area Network)に基づく通信を行う。FLEXRAYユニットは、自動車の車内通信規格の一つであるFlex Ray規格に基づく通信を行う。SPIユニットは、3線又は4線のシリアル通信であるSPI(System Packet Interface)規格の通信を行う。UART(Universal Asynchronous Receiver Transmitter)ユニットは、調歩同期方式によるシリアル信号をパラレル信号に変換し、また、その逆方向の変換を行う。ADC(Analog to Digital Converter)ユニットは、センサ等から与えられるアナログ信号をデジタル信号に変換する。WD(Watch Dog)ユニットは、所定の期間が経過したことを検出するウォッチドックタイマ機能を提供する。タイマは、時間の計測、波形生成などを行う。図1の例では、上記ユニットを周辺装置としたが、他の機能を有するユニットを含むことも可能であり、また、一部のユニットのみを有する場合も考えられる。   In FIG. 1, a CAN unit, a FLEXRAY unit, an SPI unit, a UART unit, an ADC unit, a WD unit, and a timer are illustrated as peripheral devices. The CAN unit performs communication based on CAN (Controller Area Network), which is one of in-vehicle communication standards for automobiles. The FLEXRAY unit performs communication based on the Flex Ray standard, which is one of in-vehicle communication standards for automobiles. The SPI unit performs SPI (System Packet Interface) standard communication, which is 3-wire or 4-wire serial communication. A UART (Universal Asynchronous Receiver Transmitter) unit converts a serial signal in an asynchronous manner into a parallel signal and performs conversion in the opposite direction. An ADC (Analog to Digital Converter) unit converts an analog signal supplied from a sensor or the like into a digital signal. The WD (Watch Dog) unit provides a watchdog timer function for detecting that a predetermined period has elapsed. The timer performs time measurement, waveform generation, and the like. In the example of FIG. 1, the above unit is a peripheral device, but it is possible to include a unit having another function, or a case where only a part of the unit is included.

HSMサブシステムは、セキュリティPEと、第2の命令メモリとを有する。セキュリティPEは、システムバスに接続される。セキュリティPEは、メインPEサブシステムで実行されているプログラムの正当性又はプログラムを実行して得られるデータの正当性を判断する。第2の命令メモリには、プログラムを格納する。また、第2の命令メモリは、セキュリティPEのみがアクセスできるメモリである。第2の命令メモリは、第1の命令メモリと共に1つの記憶領域として設けられていても良いが、セキュリティPEのみがアクセス可能な領域としてアクセス制御されていることが必要である。   The HSM subsystem has a security PE and a second instruction memory. The security PE is connected to the system bus. The security PE determines the validity of the program executed in the main PE subsystem or the validity of the data obtained by executing the program. A program is stored in the second instruction memory. The second instruction memory is a memory that can be accessed only by the security PE. The second instruction memory may be provided as one storage area together with the first instruction memory, but it is necessary that access control is performed as an area accessible only to the security PE.

上記説明の通り、本発明が適用されるプロセッサシステムでは、複数のPEにより処理能力を向上させながら、予期しない故障、予期しないプログラムの改変等の不具合に対して高い耐性を実現するものである。なお、ここまでに説明したプロセッサシステムは、本発明が適用されるプロセッサシステムの一例を示したものであり、例えば、命令メモリ及びデータメモリの配置及びシステム中の個数は、そのシステムのアーキテクチャにより種々考えられる。また、メモリと各プロセッサエレメントとの接続は、例えば、複数のバスを介して接続される構成であっても良く、バスを介さずにプロセッサエレメントと接続される構成であっても良く、アーキテクチャの設計により種々の構成が考えられ得る。   As described above, the processor system to which the present invention is applied realizes high tolerance against problems such as unexpected failures and unexpected program modifications while improving the processing capability by a plurality of PEs. The processor system described so far is an example of a processor system to which the present invention is applied. For example, the arrangement of instruction memory and data memory and the number in the system vary depending on the architecture of the system. Conceivable. In addition, the connection between the memory and each processor element may be, for example, a configuration connected via a plurality of buses, or a configuration connected to a processor element without passing through a bus. Various configurations can be considered depending on the design.

上記したプロセッサシステムの説明は、本発明が適用されるプロセッサシステムの全体的な構成を説明するためのものである。しかし、本発明の実施の形態の説明では、上記のプロセッサシステムの説明において説明しなかった構成要素についても適宜追加する。また、追加した当該構成要素についての説明も加える。   The above description of the processor system is for explaining the overall configuration of the processor system to which the present invention is applied. However, in the description of the embodiment of the present invention, components not described in the description of the processor system are added as appropriate. A description of the added component is also added.

実施の形態1
以下、図面を参照して本発明の実施の形態について説明する。図2は、本発明の実施の形態1にかかるデータ転送システムを示すブロック図である。本実施の形態にかかるデータ転送システムは、少なくとも一つのマスタM1〜M3(1)と、マスタM1〜M3(1)からシステムバス(第1のバス)2を介して出力されたライトデータD1〜D3を入力し、当該ライトライトデータを周辺バス(第2のバス)4を介して周辺回路5に出力するバスブリッジ3と、バスブリッジ3から出力されたライトデータを保持するライトバッファWB1〜WB3および当該ライトバッファWB1〜WB3から出力されたライトデータを保持するレジスタR1〜R3を備える周辺回路5と、を備える。本実施の形態にかかるデータ転送システムでは、バスブリッジ3およびライトバッファWB1〜WB3はクロックCLK(第1のクロック)で動作し、バスブリッジ3はライトバッファWB1〜WB3へクロックCLKに応じてライトデータD1〜D3を転送する。また、レジスタR1〜R3はクロックCLKとは非同期のクロックCLKp(第2のクロック)で動作し、ライトバッファWB1〜WB3とレジスタR1〜R3とを同期化することでライトバッファWB1〜WB3からレジスタR1〜R3へライトデータD1〜D3を転送する。以下、本実施の形態にかかるデータ転送システムについて詳細に説明する。
Embodiment 1
Embodiments of the present invention will be described below with reference to the drawings. FIG. 2 is a block diagram showing the data transfer system according to the first exemplary embodiment of the present invention. The data transfer system according to the present embodiment includes at least one master M1 to M3 (1) and write data D1 to D1 output from the masters M1 to M3 (1) via the system bus (first bus) 2. D3 is input and the write bridge data is output to the peripheral circuit 5 via the peripheral bus (second bus) 4 and the write buffers WB1 to WB3 holding the write data output from the bus bridge 3 And a peripheral circuit 5 including registers R1 to R3 that hold the write data output from the write buffers WB1 to WB3. In the data transfer system according to the present embodiment, the bus bridge 3 and the write buffers WB1 to WB3 operate with the clock CLK (first clock), and the bus bridge 3 sends write data to the write buffers WB1 to WB3 according to the clock CLK. Transfer D1-D3. The registers R1 to R3 operate with a clock CLKp (second clock) that is asynchronous with the clock CLK, and the write buffers WB1 to WB3 and the registers R1 to R3 are synchronized with each other from the write buffers WB1 to WB3 to the register R1. The write data D1 to D3 are transferred to .about.R3. The data transfer system according to this embodiment will be described in detail below.

マスタM1〜M3は、システムバス2、バスブリッジ3、および周辺バス4を介して周辺回路IP1〜IP3とアクセス可能に構成されている。マスタM1、M2、M3は、バスブリッジ3にシステムバス2を介してライトデータD1、D2、D3をそれぞれ出力する。ここで、マスタM1〜M3は、クロックCLKと同期して動作してもよく、またクロックCLKとは非同期のクロックで動作してもよい。   The masters M1 to M3 are configured to be accessible to the peripheral circuits IP1 to IP3 via the system bus 2, the bus bridge 3, and the peripheral bus 4. The masters M1, M2, and M3 output write data D1, D2, and D3 to the bus bridge 3 via the system bus 2, respectively. Here, the masters M1 to M3 may operate in synchronization with the clock CLK, or may operate with a clock asynchronous with the clock CLK.

バスブリッジ3は、マスタM1〜M3から出力されたライトデータD1〜D3をそれぞれ入力し、入力したライトデータD1〜D3を調停し、調停後のライトデータ41(D1〜D3)を一つずつ周辺バス4を介して周辺回路IP1〜IP3が備えるライトバッファWB1〜WB3に出力する。ここで、例えばマスタM1から出力されたライトデータD1は、周辺回路IP1が備えるライトバッファWB1に出力され、マスタM2から出力されたライトデータD2は、周辺回路IP2が備えるライトバッファWB2に出力され、マスタM3から出力されたライトデータD3は、周辺回路IP3が備えるライトバッファWB3に出力されるものとする。また、バスブリッジ3はクロックCLKで動作する。   The bus bridge 3 inputs the write data D1 to D3 output from the masters M1 to M3, arbitrates the input write data D1 to D3, and peripherals the write data 41 (D1 to D3) after arbitration one by one. The data is output to the write buffers WB1 to WB3 included in the peripheral circuits IP1 to IP3 via the bus 4. Here, for example, the write data D1 output from the master M1 is output to the write buffer WB1 included in the peripheral circuit IP1, and the write data D2 output from the master M2 is output to the write buffer WB2 included in the peripheral circuit IP2. The write data D3 output from the master M3 is output to the write buffer WB3 provided in the peripheral circuit IP3. The bus bridge 3 operates with the clock CLK.

周辺回路IP1〜IP3はそれぞれ、ライトバッファWB1〜WB3とレジスタR1〜R3とを備える。ライトバッファWB1〜WB3は、バスブリッジ3から出力された調停後のライトデータD1〜D3をそれぞれ保持する。ここで、バスブリッジ3およびライトバッファWB1〜WB3は共に同一のクロックCLKで動作する。なお、バスブリッジ3は調停後のライトデータD1〜D3と共に、イネーブル信号、アドレス信号をライトバッファWB1〜WB3に出力してもよい。   Peripheral circuits IP1 to IP3 include write buffers WB1 to WB3 and registers R1 to R3, respectively. The write buffers WB1 to WB3 hold the arbitrated write data D1 to D3 output from the bus bridge 3, respectively. Here, both the bus bridge 3 and the write buffers WB1 to WB3 operate with the same clock CLK. The bus bridge 3 may output an enable signal and an address signal to the write buffers WB1 to WB3 together with the write data D1 to D3 after arbitration.

また、ライトバッファWB1〜WB3は、バスブリッジ3から出力されたライトデータD1〜D3が転送途中である場合、ウェイト信号42としてハイレベルの信号を出力する。つまり、ウェイト信号がハイレベルである場合、バスブリッジ3は次の調停後のライトデータをライトバッファWB1〜WB3に出力せずに待機する。   The write buffers WB1 to WB3 output a high level signal as the wait signal 42 when the write data D1 to D3 output from the bus bridge 3 is being transferred. That is, when the wait signal is at the high level, the bus bridge 3 waits without outputting the next arbitrated write data to the write buffers WB1 to WB3.

レジスタR1〜R3は、クロックCLKとは非同期のクロックCLKpで動作する。ここで、クロックCLKpのクロック周波数とクロックCLKのクロック周波数は同一であってもよく、また、クロックCLKpのクロック周波数がクロックCLKのクロック周波数よりも遅くてもよく、逆にクロックCLKpのクロック周波数がクロックCLKのクロック周波数よりも速くてもよい。   The registers R1 to R3 operate with a clock CLKp that is asynchronous with the clock CLK. Here, the clock frequency of the clock CLKp and the clock frequency of the clock CLK may be the same, the clock frequency of the clock CLKp may be slower than the clock frequency of the clock CLK, and conversely, the clock frequency of the clock CLKp is It may be faster than the clock frequency of the clock CLK.

例えば、ライトバッファWB1からレジスタR1に、ライトバッファWB1に保持されているライトデータD1を転送する場合、ライトバッファWB1とレジスタR1とを同期化することでライトデータD1を転送することができる。周辺回路IP2、IP3についても同様である。なお、本実施の形態では、ライトバッファWB1からレジスタR1へのデータの転送速度は、バスブリッジ3からライトバッファWB1へのデータの転送速度と比べて十分に遅いものとする。   For example, when the write data D1 held in the write buffer WB1 is transferred from the write buffer WB1 to the register R1, the write data D1 can be transferred by synchronizing the write buffer WB1 and the register R1. The same applies to the peripheral circuits IP2 and IP3. In the present embodiment, the data transfer rate from write buffer WB1 to register R1 is sufficiently slower than the data transfer rate from bus bridge 3 to write buffer WB1.

図3を用いて本実施の形態にかかるデータ転送システムが備える周辺回路IP1〜IP3について詳細に説明する。なお、以下では周辺回路IP1について説明するが、周辺回路IP2、IP3についても同様である。また、以下で説明する周辺回路IP1〜IP3の構成は一例であり、同様の動作をする回路であればどのような構成であってもよい。   The peripheral circuits IP1 to IP3 included in the data transfer system according to the present embodiment will be described in detail with reference to FIG. The peripheral circuit IP1 will be described below, but the same applies to the peripheral circuits IP2 and IP3. The configuration of the peripheral circuits IP1 to IP3 described below is an example, and any configuration may be used as long as the circuit operates in the same manner.

周辺回路IP1は、ライトバッファWB1(11)、アドレスデコーダ12、イネーブル信号同期化回路13、イネーブルパルス生成回路14、およびレジスタR1(15)を備える。ここで、ライトバッファWB1(11)およびアドレスデコーダ12はクロックCLKで動作する。また、イネーブル信号同期化回路13、イネーブルパルス生成回路14、およびレジスタR1(15)は、クロックCLKpで動作する。   The peripheral circuit IP1 includes a write buffer WB1 (11), an address decoder 12, an enable signal synchronization circuit 13, an enable pulse generation circuit 14, and a register R1 (15). Here, the write buffer WB1 (11) and the address decoder 12 operate with the clock CLK. The enable signal synchronization circuit 13, the enable pulse generation circuit 14, and the register R1 (15) operate with the clock CLKp.

アドレスデコーダ12は、バスブリッジ3から出力されたアドレス信号とイネーブル信号EN_BBとを入力する。そして、アドレス信号が周辺回路IP1を指定するアドレス信号(IP1)である場合、アドレスデコーダ12はライトバッファWB1(11)およびイネーブル信号同期化回路13にイネーブル信号EN_WB1を出力する。ライトバッファWB1(11)は、ハイレベルのイネーブル信号EN_WB1が供給されるタイミングで、バスブリッジ3から出力されたライトデータD1を取り込む。   The address decoder 12 receives the address signal output from the bus bridge 3 and the enable signal EN_BB. When the address signal is an address signal (IP1) designating the peripheral circuit IP1, the address decoder 12 outputs an enable signal EN_WB1 to the write buffer WB1 (11) and the enable signal synchronization circuit 13. The write buffer WB1 (11) takes in the write data D1 output from the bus bridge 3 at the timing when the high-level enable signal EN_WB1 is supplied.

イネーブル信号同期化回路13にハイレベルのイネーブル信号EN_WB1が供給されると、イネーブル信号同期化回路13は、ライトバッファWB1(11)からレジスタR1(15)にライトデータD1を転送するタイミングを示す同期化完了信号19を生成し、イネーブルパルス生成回路14に出力する。イネーブルパルス生成回路14は、イネーブル信号同期化回路13から出力された同期化完了信号19を入力すると、ハイレベルのイネーブル信号EN_REG1をレジスタR1(15)に出力する。レジスタR1(15)にハイレベルのイネーブル信号EN_REG1が供給されると、レジスタR1(15)はライトバッファWB1(11)に保持されているライトデータD1を取り込む。   When the enable signal EN_WB1 at the high level is supplied to the enable signal synchronization circuit 13, the enable signal synchronization circuit 13 synchronizes the write data D1 from the write buffer WB1 (11) to the register R1 (15). Complete signal 19 is generated and output to enable pulse generation circuit 14. When the enable pulse generation circuit 14 receives the synchronization completion signal 19 output from the enable signal synchronization circuit 13, the enable pulse generation circuit 14 outputs a high-level enable signal EN_REG1 to the register R1 (15). When the high level enable signal EN_REG1 is supplied to the register R1 (15), the register R1 (15) takes in the write data D1 held in the write buffer WB1 (11).

以上で説明した本実施の形態にかかるデータ転送システムを図1に示したプロセッサシステムに適用すると、マスタM1〜M3は、例えば図1に示すメインPEサブシステムを構成するメインPEa、メインPEb、第1の命令メモリ、およびデータメモリ、並びにHSMサブシステムが備えるセキュリティPEの少なくとも一つとすることができる。図2に示すシステムバス2および周辺バス4はそれぞれ、図1に示すシステムバスおよび周辺バスに対応する。ここで、図2に示すシステムバス2はデータD1〜D3を同時に転送可能なマルチレイヤーバスとすることができる。図2に示すバスブリッジ3は、図1に示すプロセッサシステムが備えるシステムバスと周辺バスとの間のIOサブシステム側に設けることができる。このとき、バスブリッジ3はクロックCLKで動作するように構成する。なお、図1に示すシステムバスをマルチレイヤーバスとした場合、図1に示すシステムバスと周辺バスとの間に設けられたバスブリッジは、システムバスから複数のデータを同時に受け取ることができるように構成することができる。   When the data transfer system according to the present embodiment described above is applied to the processor system shown in FIG. 1, the masters M1 to M3 are, for example, the main PEa, the main PEb, the first PE constituting the main PE subsystem shown in FIG. One instruction memory, data memory, and at least one of security PEs included in the HSM subsystem can be used. The system bus 2 and the peripheral bus 4 shown in FIG. 2 correspond to the system bus and the peripheral bus shown in FIG. 1, respectively. Here, the system bus 2 shown in FIG. 2 can be a multi-layer bus capable of transferring data D1 to D3 simultaneously. The bus bridge 3 shown in FIG. 2 can be provided on the IO subsystem side between the system bus and the peripheral bus provided in the processor system shown in FIG. At this time, the bus bridge 3 is configured to operate with the clock CLK. When the system bus shown in FIG. 1 is a multi-layer bus, the bus bridge provided between the system bus and the peripheral bus shown in FIG. 1 can receive a plurality of data from the system bus at the same time. Can be configured.

図2に示すレジスタR1〜R3は、例えば図1に示すCANユニット、FLEXRAYユニット、SPIユニット、UARTユニット、ADCユニット、WDユニット、タイマに設ける。また、図2に示すライトバッファWB1〜WB3は、各周辺装置(CANユニット、FLEXRAYユニット、SPIユニット、UARTユニット、ADCユニット、WDユニット、タイマ)と周辺バスとの間に設ける。ここで、レジスタR1〜R3はクロックCLKpで動作し、ライトバッファWB1〜WB3はクロックCLKで動作する。例えば、図1に示すCANが図2に示す周辺回路IP1に対応する場合、図1に示すCANユニットにレジスタR1を設け、周辺バスとCANユニットとの間にライトバッファWB1を設ける。このとき、ライトバッファWB1はクロックCLKで動作し、CANユニットおよびCANユニットに設けられたレジスタR1はCLKpで動作する。   The registers R1 to R3 shown in FIG. 2 are provided in, for example, the CAN unit, FLEXRAY unit, SPI unit, UART unit, ADC unit, WD unit, and timer shown in FIG. The write buffers WB1 to WB3 shown in FIG. 2 are provided between each peripheral device (CAN unit, FLEXRAY unit, SPI unit, UART unit, ADC unit, WD unit, timer) and the peripheral bus. Here, the registers R1 to R3 operate with the clock CLKp, and the write buffers WB1 to WB3 operate with the clock CLK. For example, when the CAN shown in FIG. 1 corresponds to the peripheral circuit IP1 shown in FIG. 2, the register R1 is provided in the CAN unit shown in FIG. 1, and the write buffer WB1 is provided between the peripheral bus and the CAN unit. At this time, the write buffer WB1 operates with the clock CLK, and the CAN unit and the register R1 provided in the CAN unit operate with CLKp.

次に、本実施の形態にかかるデータ転送システムの動作について説明する。図4は、本実施の形態にかかるデータ転送システムの動作を説明するためのタイミングチャートである。図4において上段はバスブリッジ3の動作を示し、下段は周辺回路が備えるライトバッファWB1〜WB3の動作を示している。図4に示すように、バスブリッジ3とライトバッファWB1〜WB3はクロックCLKと同期して動作している。   Next, the operation of the data transfer system according to this exemplary embodiment will be described. FIG. 4 is a timing chart for explaining the operation of the data transfer system according to the present embodiment. 4, the upper stage shows the operation of the bus bridge 3, and the lower stage shows the operation of the write buffers WB1 to WB3 provided in the peripheral circuit. As shown in FIG. 4, the bus bridge 3 and the write buffers WB1 to WB3 operate in synchronization with the clock CLK.

T1のタイミングで、バスブリッジ3はイネーブル信号EN_BBおよびアドレス信号(IP1)を周辺回路IP1が備えるアドレスデコーダ12に、ライトデータD1をライトバッファWB1にそれぞれ出力する。   At the timing T1, the bus bridge 3 outputs the enable signal EN_BB and the address signal (IP1) to the address decoder 12 included in the peripheral circuit IP1, and the write data D1 to the write buffer WB1.

T2のタイミングで、周辺回路IP1が備えるアドレスデコーダ12は、ハイレベルのイネーブル信号EN_WB1をライトバッファWB1に出力する。その後、T3のタイミングで、ライトバッファWB1はバスブリッジ3から出力されたライトデータD1を取り込む。ライトバッファWB1にライトデータD1が保持された時点でバスブリッジ3のトランザクションが終了する。   At the timing T2, the address decoder 12 included in the peripheral circuit IP1 outputs a high-level enable signal EN_WB1 to the write buffer WB1. Thereafter, the write buffer WB1 takes in the write data D1 output from the bus bridge 3 at the timing of T3. When the write data D1 is held in the write buffer WB1, the transaction of the bus bridge 3 ends.

また、T3のタイミングで、バスブリッジ3はイネーブル信号EN_BBおよびアドレス信号(IP2)を周辺回路IP2が備えるアドレスデコーダ12に、ライトデータD2をライトバッファWB2にそれぞれ出力する。つまり、バスブリッジ3は、ライトバッファWB1にライトデータD1を転送した後、当該ライトバッファWB1からレジスタR1へのライトデータD1の転送の完了・未完了にかかわらずに次のライトデータD2を調停し出力する。   At the timing T3, the bus bridge 3 outputs the enable signal EN_BB and the address signal (IP2) to the address decoder 12 included in the peripheral circuit IP2, and the write data D2 to the write buffer WB2. That is, after transferring the write data D1 to the write buffer WB1, the bus bridge 3 arbitrates the next write data D2 regardless of whether or not the transfer of the write data D1 from the write buffer WB1 to the register R1 is completed. Output.

T4のタイミングで、周辺回路IP2が備えるアドレスデコーダ12は、ハイレベルのイネーブル信号EN_WB2をライトバッファWB2に出力する。その後、T5のタイミングで、ライトバッファWB2はバスブリッジ3から出力されたライトデータD2を取り込む。   At timing T4, the address decoder 12 included in the peripheral circuit IP2 outputs a high-level enable signal EN_WB2 to the write buffer WB2. Thereafter, at the timing of T5, the write buffer WB2 takes in the write data D2 output from the bus bridge 3.

また、T5のタイミングで、バスブリッジ3はイネーブル信号EN_BBおよびアドレス信号(IP3)を周辺回路IP3が備えるアドレスデコーダ12に、ライトデータD3をライトバッファWB3にそれぞれ出力する。   At time T5, the bus bridge 3 outputs the enable signal EN_BB and the address signal (IP3) to the address decoder 12 provided in the peripheral circuit IP3, and the write data D3 to the write buffer WB3.

T6のタイミングで、周辺回路IP3が備えるアドレスデコーダ12は、ハイレベルのイネーブル信号EN_WB3をライトバッファWB3に出力する。その後、T7のタイミングで、ライトバッファWB3はバスブリッジ3から出力されたライトデータD3を取り込む。   At timing T6, the address decoder 12 included in the peripheral circuit IP3 outputs a high-level enable signal EN_WB3 to the write buffer WB3. Thereafter, at the timing of T7, the write buffer WB3 takes in the write data D3 output from the bus bridge 3.

図4に示すように、例えば、バスブリッジ3からライトバッファWB1へライトデータD1を転送する場合、バスブリッジ3がライトデータD1を転送した後、2クロック後にライトバッファWB1がライトデータD1を取り込んでいる。これは、ライトデータD2、D3についても同様である。この場合、バスブリッジ3から各ライトバッファWB1〜WB3へのデータ転送は、レジスタR1〜R3へのデータ転送を待つことなく実施される。また、T1〜T7においてウェイト信号はロウレベルとなる。これは、バスブリッジ3からライトバッファWB1〜WB3へのデータ転送が2クロックで完了するため、バスブリッジ3がライトバッファWB1〜WB3へライトデータを転送する際にウェイト状態とする必要がないためである。   As shown in FIG. 4, for example, when the write data D1 is transferred from the bus bridge 3 to the write buffer WB1, the write buffer WB1 takes in the write data D1 after two clocks after the bus bridge 3 transfers the write data D1. Yes. The same applies to the write data D2 and D3. In this case, data transfer from the bus bridge 3 to the write buffers WB1 to WB3 is performed without waiting for data transfer to the registers R1 to R3. In addition, the wait signal is at a low level from T1 to T7. This is because the data transfer from the bus bridge 3 to the write buffers WB1 to WB3 is completed in two clocks, and therefore it is not necessary for the bus bridge 3 to enter a wait state when transferring write data to the write buffers WB1 to WB3. is there.

次に、図5を用いて、ライトバッファWB1〜WB3からレジスタR1〜R3へライトデータが転送される場合の動作について説明する。なお、図5ではライトバッファWB1からレジスタR1へライトデータが転送される場合についてのみ示しているが、ライトバッファWB2からレジスタR2へライトデータが転送される場合、ライトバッファWB3からレジスタR3へライトデータが転送される場合についても同様である。   Next, an operation when write data is transferred from the write buffers WB1 to WB3 to the registers R1 to R3 will be described with reference to FIG. FIG. 5 shows only the case where write data is transferred from the write buffer WB1 to the register R1, but when write data is transferred from the write buffer WB2 to the register R2, the write data is transferred from the write buffer WB3 to the register R3. The same applies to the case where is transferred.

図5に示すように、ライトバッファWB1〜WB3はクロックCLKで動作し、レジスタR1〜R3はクロックCLKとは非同期のクロックCLKpで動作している。T2のタイミングでイネーブル信号EN_WB1がハイレベルになり、T3のタイミングでライトバッファWB1にライトデータD1が保持される。また、T2のタイミングでハイレベルのイネーブル信号EN_WB1がイネーブル信号同期化回路13に供給される。T2のタイミングの後、イネーブル信号同期化回路13は、ライトバッファWB1(11)からレジスタR1(15)にライトデータD1を転送するタイミングを示す同期化完了信号19を生成する。そして、T8のタイミングで、イネーブル信号同期化回路13はイネーブルパルス生成回路14に同期化完了信号19を出力する。   As shown in FIG. 5, the write buffers WB1 to WB3 operate with the clock CLK, and the registers R1 to R3 operate with the clock CLKp that is asynchronous with the clock CLK. The enable signal EN_WB1 becomes high level at the timing T2, and the write data D1 is held in the write buffer WB1 at the timing T3. Further, the enable signal EN_WB1 at the high level is supplied to the enable signal synchronization circuit 13 at the timing of T2. After the timing T2, the enable signal synchronization circuit 13 generates a synchronization completion signal 19 indicating the timing for transferring the write data D1 from the write buffer WB1 (11) to the register R1 (15). At time T8, the enable signal synchronization circuit 13 outputs a synchronization completion signal 19 to the enable pulse generation circuit 14.

同期化完了信号19がハイレベルになったタイミングT8の1クロック後のT9のタイミングで、イネーブルパルス生成回路14は、ハイレベルのイネーブル信号EN_REG1をレジスタR1(15)に出力する。レジスタR1(15)にハイレベルのイネーブル信号EN_REG1が供給されると、T10のタイミングで、レジスタR1(15)はライトバッファWB1(11)に保持されているライトデータD1を取り込む。このような動作により、ライトバッファWB1からレジスタR1(15)にライトデータが転送される。   The enable pulse generation circuit 14 outputs a high-level enable signal EN_REG1 to the register R1 (15) at a timing T9 one clock after the timing T8 when the synchronization completion signal 19 becomes a high level. When the high-level enable signal EN_REG1 is supplied to the register R1 (15), the register R1 (15) takes in the write data D1 held in the write buffer WB1 (11) at the timing of T10. By such an operation, write data is transferred from the write buffer WB1 to the register R1 (15).

このように、本実施の形態にかかるデータ転送システムでは、クロックCLKで駆動するバスブリッジ3から当該クロックCLKとは非同期のクロックCLKpで駆動するレジスタR1〜R3にライトデータを転送する際に、各レジスタR1〜R3に対応して設けられ、バスブリッジ3と同一のクロックで駆動するライトバッファWB1〜WB3にライトデータを転送している。その後、各ライトバッファWB1〜WB3と各レジスタR1〜R3を同期させることで、各ライトバッファWB1〜WB3から各レジスタR1〜R3にライトデータを転送している。よって、バスブリッジ3からライトバッファWB1〜WB3へのアクセスが同期して行われるので、バスブリッジ3から周辺回路IP1〜IP3(実際は、ライトバッファWB1〜WB3)へのデータの転送を高速化することができる。換言すると、ライトバッファWB1〜WB3を設けることで、バスブリッジ3からみた場合にレジスタR1〜R3を隠蔽することができるので、周辺回路IP1〜IP3へのデータ転送を高速化することができる。   As described above, in the data transfer system according to the present embodiment, each write data is transferred from the bus bridge 3 driven by the clock CLK to the registers R1 to R3 driven by the clock CLKp asynchronous with the clock CLK. Write data is transferred to write buffers WB1 to WB3 provided corresponding to the registers R1 to R3 and driven by the same clock as the bus bridge 3. Thereafter, the write data is transferred from the write buffers WB1 to WB3 to the registers R1 to R3 by synchronizing the write buffers WB1 to WB3 and the registers R1 to R3. Therefore, since the access from the bus bridge 3 to the write buffers WB1 to WB3 is performed synchronously, the transfer of data from the bus bridge 3 to the peripheral circuits IP1 to IP3 (actually, the write buffers WB1 to WB3) is speeded up. Can do. In other words, by providing the write buffers WB1 to WB3, the registers R1 to R3 can be concealed when viewed from the bus bridge 3, so that the data transfer to the peripheral circuits IP1 to IP3 can be speeded up.

図6、図7を用いて本発明の比較例について説明する。図6は比較例にかかるデータ転送システムを示すブロック図である。図6に示した比較例にかかるデータ転送システムは、周辺回路がライトバッファを備えていない点が、図1に示したデータ転送システムと異なる。これ以外の構成は、図1に示したデータ転送システムと基本的には同様である。   A comparative example of the present invention will be described with reference to FIGS. FIG. 6 is a block diagram showing a data transfer system according to a comparative example. The data transfer system according to the comparative example shown in FIG. 6 is different from the data transfer system shown in FIG. 1 in that the peripheral circuit does not include a write buffer. The rest of the configuration is basically the same as that of the data transfer system shown in FIG.

すなわち、図6に示した比較例にかかるデータ転送システムにおいて、マスタM101〜M103は、バスブリッジを介して周辺回路IP101〜IP103とアクセス可能に構成されている。マスタM101、M102、M103は、バスブリッジにシステムバスを介してライトデータD101、D102、D103をそれぞれ出力する。バスブリッジは、マスタM101〜M103からライトデータD101〜D103をそれぞれ入力し、入力したライトデータD101〜D103を調停し、調停後のライトデータD101〜D103を一つずつ周辺バスを介して周辺回路IP1〜IP3が備えるレジスタR101〜R103に出力する。ここで、バスブリッジはクロックCLKで動作し、周辺回路IP1〜IP3(レジスタR101〜R103)はクロックCLKとは非同期のクロックCLKpで動作する。   That is, in the data transfer system according to the comparative example shown in FIG. 6, the masters M101 to M103 are configured to be accessible to the peripheral circuits IP101 to IP103 via the bus bridge. Masters M101, M102, and M103 output write data D101, D102, and D103 to the bus bridge via the system bus, respectively. The bus bridge inputs the write data D101 to D103 from the masters M101 to M103, arbitrates the input write data D101 to D103, and the arbitrated write data D101 to D103 one by one through the peripheral bus IP1. ˜Output to registers R101 to R103 included in IP3. Here, the bus bridge operates with the clock CLK, and the peripheral circuits IP1 to IP3 (registers R101 to R103) operate with the clock CLKp asynchronous with the clock CLK.

図7は、図6に示した比較例にかかるデータ転送システムの動作を説明するためのタイミングチャートである。図7において上段はバスブリッジの動作を示し、下段は周辺回路が備えるレジスタR101〜R103の動作を示している。図7に示すように、バスブリッジはクロックCLKで動作し、レジスタR101〜R103はクロックCLKとは非同期のクロックCLKpで動作している。   FIG. 7 is a timing chart for explaining the operation of the data transfer system according to the comparative example shown in FIG. In FIG. 7, the upper part shows the operation of the bus bridge, and the lower part shows the operation of the registers R101 to R103 provided in the peripheral circuit. As shown in FIG. 7, the bus bridge operates with the clock CLK, and the registers R101 to R103 operate with the clock CLKp asynchronous with the clock CLK.

T111のタイミングで、バスブリッジはイネーブル信号EN_BB、アドレス信号(IP101)、およびライトデータD101を周辺回路IP101に出力する。T102のタイミングで、周辺回路IP101はバスブリッジに対してハイレベルのウェイト信号122を出力する。T111のタイミング以降、バスブリッジは周辺回路IP101にデータを転送するために周辺バスを占有し続ける。   At the timing of T111, the bus bridge outputs the enable signal EN_BB, the address signal (IP101), and the write data D101 to the peripheral circuit IP101. At the timing of T102, the peripheral circuit IP101 outputs a high level wait signal 122 to the bus bridge. After the timing of T111, the bus bridge continues to occupy the peripheral bus to transfer data to the peripheral circuit IP101.

T113のタイミングでバスブリッジと周辺回路が同期化すると、バスブリッジから周辺回路IP101のレジスタR101にデータが転送される。その後、T114のタイミングでウェイト信号がロウレベルとなり、バスブリッジは次のライトデータを転送可能な状態となる。このタイミングで、バスブリッジはライトデータD102を周辺回路IP102に出力する。以降、T111〜T114と同様の動作を繰り返す。   When the bus bridge and the peripheral circuit are synchronized at the timing of T113, data is transferred from the bus bridge to the register R101 of the peripheral circuit IP101. Thereafter, the wait signal becomes low level at the timing of T114, and the bus bridge becomes ready to transfer the next write data. At this timing, the bus bridge outputs the write data D102 to the peripheral circuit IP102. Thereafter, the same operations as in T111 to T114 are repeated.

このように、図6に示した比較例にかかるデータ転送システムでは、バスブリッジとレジスタR101〜R103とが異なるクロックで動作するため、バスブリッジからレジスタR101〜R103にデータを転送するために、バスブリッジとレジスタR101〜R103とを同期化する必要があった。このため、バスブリッジからレジスタR101〜R103にライトデータを転送するのに時間がかかり、バスブリッジが一つのライトデータを転送する際に周辺バスを占有する時間が長くなるという問題があった。よって、バスブリッジがライトデータD101の次のライトデータD102を転送するには、バスブリッジからレジスタR101へのライトデータの転送が完了するのを待つ必要があり、バスブリッジからレジスタR101〜R103へのライトデータの転送に時間がかかるという問題があった。   In this way, in the data transfer system according to the comparative example shown in FIG. 6, the bus bridge and the registers R101 to R103 operate with different clocks, so that the bus bridge transfers data to the registers R101 to R103. It was necessary to synchronize the bridge and the registers R101 to R103. For this reason, it takes time to transfer write data from the bus bridge to the registers R101 to R103, and there is a problem that it takes a long time to occupy the peripheral bus when the bus bridge transfers one write data. Therefore, in order for the bus bridge to transfer the write data D102 next to the write data D101, it is necessary to wait for the completion of the transfer of the write data from the bus bridge to the register R101, and from the bus bridge to the registers R101 to R103. There was a problem that it took time to transfer the write data.

これに対して本実施の形態にかかるデータ転送システムでは、バスブリッジ3と各レジスタR1〜R3との間に、バスブリッジ3と同一のクロックで駆動するライトバッファWB1〜WB3を設けている。よって、バスブリッジ3からライトバッファWB1〜WB3へのアクセスが同期して行われるので、バスブリッジ3から周辺回路IP1〜IP3(実際は、ライトバッファWB1〜WB3)へのデータの転送を高速化することができる。換言すると、ライトバッファWB1〜WB3を設けることで、バスブリッジ3からみた場合にレジスタR1〜R3を隠蔽することができるので、周辺回路IP1〜IP3へのデータ転送を高速化することができる。すなわち、本実施の形態にかかるデータ転送システムが備えるバスブリッジ3が一つのライトデータを転送するのに必要な時間(図4のT1〜T3。つまりクロックCLKの2クロック分)は、比較例にかかるデータ転送システムが備えるバスブリッジが一つのライトデータを転送するのに必要な時間(図7のT111からT114)よりも大幅に短くなる。   In contrast, in the data transfer system according to the present embodiment, write buffers WB1 to WB3 that are driven by the same clock as the bus bridge 3 are provided between the bus bridge 3 and the registers R1 to R3. Therefore, since the access from the bus bridge 3 to the write buffers WB1 to WB3 is performed synchronously, the transfer of data from the bus bridge 3 to the peripheral circuits IP1 to IP3 (actually, the write buffers WB1 to WB3) is speeded up. Can do. In other words, by providing the write buffers WB1 to WB3, the registers R1 to R3 can be concealed when viewed from the bus bridge 3, so that the data transfer to the peripheral circuits IP1 to IP3 can be speeded up. That is, the time required for the bus bridge 3 included in the data transfer system according to the present embodiment to transfer one write data (T1 to T3 in FIG. 4, that is, two clocks CLK) is a comparative example. The time required for the bus bridge provided in such a data transfer system to transfer one write data is significantly shorter than the time required from T111 to T114 in FIG.

以上で説明したように、本実施の形態にかかる発明により、システム性能を低下させることなくマスタから周辺回路へデータを転送することが可能なデータ転送システムおよびデータ転送方法を提供することができる。   As described above, the invention according to this embodiment can provide a data transfer system and a data transfer method that can transfer data from a master to a peripheral circuit without degrading system performance.

実施の形態2
次に、本発明の実施の形態2について説明する。図8は、本実施の形態にかかるデータ転送システムを示すブロック図である。本実施の形態にかかるデータ転送システムでは、周辺回路IP11が複数のライトバッファWB11〜WB13と、ライトバッファWB11〜WB13のそれぞれに対応する複数のレジスタR11〜R13とを備える点が実施の形態1と異なる。以下、本実施の形態にかかるデータ転送システムについて詳細に説明する。
Embodiment 2
Next, a second embodiment of the present invention will be described. FIG. 8 is a block diagram showing the data transfer system according to the present embodiment. In the data transfer system according to the present embodiment, the peripheral circuit IP11 includes a plurality of write buffers WB11 to WB13 and a plurality of registers R11 to R13 corresponding to the write buffers WB11 to WB13, respectively. Different. The data transfer system according to this embodiment will be described in detail below.

マスタM11(6)は、システムバス7、バスブリッジ8、および周辺バス9を介して、周辺回路IP11(10)とアクセス可能に構成されている。マスタM11は、バスブリッジ8にシステムバス7を介してライトデータD11、D12、D13をそれぞれ出力する。ここで、マスタM11は、クロックCLKと同期して動作してもよく、またクロックCLKとは非同期のクロックで動作してもよい。   The master M11 (6) is configured to be accessible to the peripheral circuit IP11 (10) via the system bus 7, the bus bridge 8, and the peripheral bus 9. The master M11 outputs write data D11, D12, and D13 to the bus bridge 8 via the system bus 7, respectively. Here, the master M11 may operate in synchronization with the clock CLK, or may operate with a clock asynchronous with the clock CLK.

バスブリッジ8は、マスタM11から出力されたライトデータD11〜D13をそれぞれ入力し、入力したライトデータD11〜D13を一つずつ周辺バス9を介して周辺回路IP11が備えるライトバッファWB11〜WB13に出力する。ここで、例えばライトデータD11はライトバッファWB11に出力され、ライトデータD12はライトバッファWB12に出力され、ライトデータD13はライトバッファWB13に出力されるものとする。また、バスブリッジ8はクロックCLKで動作する。   The bus bridge 8 inputs the write data D11 to D13 output from the master M11, and outputs the input write data D11 to D13 one by one to the write buffers WB11 to WB13 included in the peripheral circuit IP11 via the peripheral bus 9. To do. Here, for example, the write data D11 is output to the write buffer WB11, the write data D12 is output to the write buffer WB12, and the write data D13 is output to the write buffer WB13. The bus bridge 8 operates with the clock CLK.

周辺回路IP11は、ライトバッファWB11〜WB13とレジスタR11〜R13とを備える。ライトバッファWB11〜WB13は、バスブリッジ8から出力されたライトデータD11〜D13をそれぞれ保持する。ここで、バスブリッジ8およびライトバッファWB11〜WB13は共に同一のクロックCLKで動作する。なお、バスブリッジ8はライトデータD11〜D13と共に、イネーブル信号、アドレス信号をライトバッファWB11〜WB13に出力してもよい。   Peripheral circuit IP11 includes write buffers WB11-WB13 and registers R11-R13. The write buffers WB11 to WB13 hold the write data D11 to D13 output from the bus bridge 8, respectively. Here, both the bus bridge 8 and the write buffers WB11 to WB13 operate with the same clock CLK. The bus bridge 8 may output an enable signal and an address signal together with the write data D11 to D13 to the write buffers WB11 to WB13.

また、ライトバッファWB11〜WB13は、バスブリッジ8から出力されたライトデータD11〜D13が転送途中である場合、ウェイト信号92としてハイレベルの信号を出力する。つまり、ウェイト信号がハイレベルである場合、バスブリッジ8は次のライトデータをライトバッファWB11〜WB13に出力せずに待機する。   The write buffers WB11 to WB13 output a high-level signal as the wait signal 92 when the write data D11 to D13 output from the bus bridge 8 is in the middle of transfer. That is, when the wait signal is at the high level, the bus bridge 8 waits without outputting the next write data to the write buffers WB11 to WB13.

レジスタR11〜R13は、クロックCLKとは非同期のクロックCLKpで動作する。ここで、クロックCLKpはクロックCLKよりも遅いクロックとすることができる。例えば、ライトバッファWB11からレジスタR11に、ライトバッファWB11に保持されているライトデータD11を転送する場合、ライトバッファWB11とレジスタR11とを同期化することでライトデータD11を転送することができる。ライトバッファWB12、WB13についても同様である。なお、ライトバッファWB11からレジスタR11へのデータの転送速度は、バスブリッジ8からライトバッファWB11へのデータの転送速度と比べて十分に遅いものとする。   The registers R11 to R13 operate with a clock CLKp that is asynchronous with the clock CLK. Here, the clock CLKp can be a slower clock than the clock CLK. For example, when the write data D11 held in the write buffer WB11 is transferred from the write buffer WB11 to the register R11, the write data D11 can be transferred by synchronizing the write buffer WB11 and the register R11. The same applies to the write buffers WB12 and WB13. Note that the data transfer rate from the write buffer WB11 to the register R11 is sufficiently lower than the data transfer rate from the bus bridge 8 to the write buffer WB11.

図9を用いて本実施の形態にかかるデータ転送システムが備える周辺回路IP11について詳細に説明する。なお、以下で説明する周辺回路IP11の構成は一例であり、同様の動作をする回路であればどのような構成であってもよい。   The peripheral circuit IP11 provided in the data transfer system according to the present embodiment will be described in detail with reference to FIG. Note that the configuration of the peripheral circuit IP11 described below is an example, and any configuration may be used as long as the circuit operates in the same manner.

周辺回路IP11は、ライトバッファWB11〜WB13(21_1〜21_3)、アドレスデコーダ22、イネーブル信号同期化回路23、イネーブルパルス生成回路24、およびレジスタR11〜R13(25_1〜25_3)を備える。本実施の形態では、一つの周辺回路IP11が複数のライトバッファWB11〜WB13(21_1〜21_3)と複数のレジスタR11〜R13(25_1〜25_3)とを備えている。ここで、ライトバッファWB11〜WB13(21_1〜21_3)およびアドレスデコーダ22はクロックCLKで動作する。また、イネーブル信号同期化回路23、イネーブルパルス生成回路24、およびレジスタR11〜R13(25_1〜25_3)は、クロックCLKpで動作する。   The peripheral circuit IP11 includes write buffers WB11 to WB13 (21_1 to 21_3), an address decoder 22, an enable signal synchronization circuit 23, an enable pulse generation circuit 24, and registers R11 to R13 (25_1 to 25_3). In the present embodiment, one peripheral circuit IP11 includes a plurality of write buffers WB11 to WB13 (21_1 to 21_3) and a plurality of registers R11 to R13 (25_1 to 25_3). Here, the write buffers WB11 to WB13 (21_1 to 21_3) and the address decoder 22 operate with the clock CLK. The enable signal synchronization circuit 23, the enable pulse generation circuit 24, and the registers R11 to R13 (25_1 to 25_3) operate with the clock CLKp.

アドレスデコーダ22は、バスブリッジ8から出力されたアドレス信号(WB11〜WB13)とイネーブル信号EN_BBとを入力する。そして、アドレスデコーダ22は、入力されたアドレス信号(WB11〜WB13)に対応するライトバッファWB11〜WB13(21_1〜21_3)およびイネーブル信号同期化回路23にイネーブル信号EN_WB11〜EN_WB13を出力する。ライトバッファWB11〜WB13(21_1〜21_3)は、ハイレベルのイネーブル信号EN_WB11〜EN_WB13が供給されるタイミングで、バスブリッジ8から出力されたライトデータD11〜D13を取り込む。   The address decoder 22 receives the address signals (WB11 to WB13) output from the bus bridge 8 and the enable signal EN_BB. Then, the address decoder 22 outputs enable signals EN_WB11 to EN_WB13 to the write buffers WB11 to WB13 (21_1 to 21_3) and the enable signal synchronization circuit 23 corresponding to the input address signals (WB11 to WB13). The write buffers WB11 to WB13 (21_1 to 21_3) take in the write data D11 to D13 output from the bus bridge 8 at the timing when the high level enable signals EN_WB11 to EN_WB13 are supplied.

具体的には、アドレスデコーダ22は、アドレス信号(WB11)を入力した場合、ライトバッファWB11(21_1)にハイレベルのイネーブル信号EN_WB11を出力する。ライトバッファWB11(21_1)は、ハイレベルのイネーブル信号EN_WB11が供給されるタイミングで、バスブリッジ8から出力されたライトデータD11を取り込む。同様に、アドレスデコーダ22は、アドレス信号(WB12)を入力した場合、ライトバッファWB12(21_2)にハイレベルのイネーブル信号EN_WB12を出力する。ライトバッファWB12(21_2)は、ハイレベルのイネーブル信号EN_WB12が供給されるタイミングで、バスブリッジ8から出力されたライトデータD12を取り込む。同様に、アドレスデコーダ23は、アドレス信号(WB13)を入力した場合、ライトバッファWB13(21_3)にハイレベルのイネーブル信号EN_WB13を出力する。ライトバッファWB13(21_3)は、ハイレベルのイネーブル信号EN_WB13が供給されるタイミングで、バスブリッジ8から出力されたライトデータD13を取り込む。   Specifically, when receiving the address signal (WB11), the address decoder 22 outputs a high-level enable signal EN_WB11 to the write buffer WB11 (21_1). The write buffer WB11 (21_1) takes in the write data D11 output from the bus bridge 8 at the timing when the high level enable signal EN_WB11 is supplied. Similarly, when an address signal (WB12) is input, the address decoder 22 outputs a high-level enable signal EN_WB12 to the write buffer WB12 (21_2). The write buffer WB12 (21_2) takes in the write data D12 output from the bus bridge 8 at the timing when the high level enable signal EN_WB12 is supplied. Similarly, when an address signal (WB13) is input, the address decoder 23 outputs a high-level enable signal EN_WB13 to the write buffer WB13 (21_3). The write buffer WB13 (21_3) takes in the write data D13 output from the bus bridge 8 at the timing when the high level enable signal EN_WB13 is supplied.

また、イネーブル信号同期化回路23にハイレベルのイネーブル信号EN_WB11〜EN_WB13が供給されると、イネーブル信号同期化回路23は、ライトバッファWB11〜WB13(21_1〜21_3)からレジスタR11〜R13(25_1〜25_3)にライトデータD11〜D13を転送するタイミングを示す同期化完了信号29を生成し、イネーブルパルス生成回路24に出力する。イネーブルパルス生成回路24は、イネーブル信号同期化回路23から出力された同期化完了信号29を入力すると、ハイレベルのイネーブル信号EN_REG11〜EN_REG13をレジスタR11〜R13(25_1〜25_3)に出力する。レジスタR11〜R13(25_1〜25_3)にハイレベルのイネーブル信号EN_REG11〜EN_REG13が供給されると、レジスタR11〜R13(25_1〜25_3)はライトバッファWB11〜WB13(21_1〜21_3)に保持されているライトデータD11〜D13を取り込む。   Further, when the high level enable signals EN_WB11 to EN_WB13 are supplied to the enable signal synchronization circuit 23, the enable signal synchronization circuit 23 starts from the write buffers WB11 to WB13 (21_1 to 21_3) to the registers R11 to R13 (25_1 to 25_3). ) Generates a synchronization completion signal 29 indicating the timing for transferring the write data D11 to D13, and outputs it to the enable pulse generation circuit 24. When receiving the synchronization completion signal 29 output from the enable signal synchronization circuit 23, the enable pulse generation circuit 24 outputs high level enable signals EN_REG11 to EN_REG13 to the registers R11 to R13 (25_1 to 25_3). When high level enable signals EN_REG11 to EN_REG13 are supplied to the registers R11 to R13 (25_1 to 25_3), the registers R11 to R13 (25_1 to 25_3) are held in the write buffers WB11 to WB13 (21_1 to 21_3). Data D11-D13 is taken in.

次に、本実施の形態にかかるデータ転送システムの動作について説明する。図10は、本実施の形態にかかるデータ転送システムの動作を説明するためのタイミングチャートである。図10において上段はバスブリッジ8の動作を示し、下段は周辺回路IP11が備えるライトバッファWB11〜WB13の動作を示している。図10に示すように、バスブリッジ8とライトバッファWB11〜WB13はクロックCLKと同期して動作している。   Next, the operation of the data transfer system according to this exemplary embodiment will be described. FIG. 10 is a timing chart for explaining the operation of the data transfer system according to the present embodiment. 10, the upper stage shows the operation of the bus bridge 8, and the lower stage shows the operation of the write buffers WB11 to WB13 provided in the peripheral circuit IP11. As shown in FIG. 10, the bus bridge 8 and the write buffers WB11 to WB13 operate in synchronization with the clock CLK.

T11のタイミングで、バスブリッジ8はイネーブル信号EN_BBおよびアドレス信号(WB11)を周辺回路IP11が備えるアドレスデコーダ12に、ライトデータD11をライトバッファWB11にそれぞれ出力する。   At the timing of T11, the bus bridge 8 outputs the enable signal EN_BB and the address signal (WB11) to the address decoder 12 provided in the peripheral circuit IP11 and the write data D11 to the write buffer WB11.

T12のタイミングで、周辺回路IP11が備えるアドレスデコーダ12_1は、ハイレベルのイネーブル信号EN_WB11をライトバッファWB11に出力する。その後、T13のタイミングで、ライトバッファWB11はバスブリッジ8から出力されたライトデータD11を取り込む。   At timing T12, the address decoder 12_1 included in the peripheral circuit IP11 outputs a high level enable signal EN_WB11 to the write buffer WB11. Thereafter, the write buffer WB11 takes in the write data D11 output from the bus bridge 8 at the timing of T13.

また、T13のタイミングで、バスブリッジ8はイネーブル信号EN_BBおよびアドレス信号(WB12)を周辺回路IP11が備えるアドレスデコーダ12に、ライトデータD12をライトバッファWB12にそれぞれ出力する。   At the timing of T13, the bus bridge 8 outputs the enable signal EN_BB and the address signal (WB12) to the address decoder 12 included in the peripheral circuit IP11 and the write data D12 to the write buffer WB12.

T14のタイミングで、周辺回路IP11が備えるアドレスデコーダ12は、ハイレベルのイネーブル信号EN_WB12をライトバッファWB12に出力する。その後、T15のタイミングで、ライトバッファWB12はバスブリッジ8から出力されたライトデータD12を取り込む。   At the timing T14, the address decoder 12 included in the peripheral circuit IP11 outputs a high-level enable signal EN_WB12 to the write buffer WB12. Thereafter, the write buffer WB12 takes in the write data D12 output from the bus bridge 8 at the timing of T15.

また、T15のタイミングで、バスブリッジ8はイネーブル信号EN_BBおよびアドレス信号(WB3)を周辺回路IP11が備えるアドレスデコーダ12に、ライトデータD13をライトバッファWB13にそれぞれ出力する。   At time T15, the bus bridge 8 outputs the enable signal EN_BB and the address signal (WB3) to the address decoder 12 provided in the peripheral circuit IP11 and the write data D13 to the write buffer WB13.

T16のタイミングで、周辺回路IP11が備えるアドレスデコーダ12は、ハイレベルのイネーブル信号EN_WB13をライトバッファWB13に出力する。その後、T17のタイミングで、ライトバッファWB13はバスブリッジ8から出力されたライトデータD13を取り込む。   At timing T16, the address decoder 12 included in the peripheral circuit IP11 outputs a high-level enable signal EN_WB13 to the write buffer WB13. Thereafter, the write buffer WB13 takes in the write data D13 output from the bus bridge 8 at the timing of T17.

次に、図11を用いて、ライトバッファWB11〜WB13からレジスタR11〜R13へデータが転送される場合の動作について説明する。なお、図11ではライトバッファWB11からレジスタR11へデータが転送される場合についてのみ示しているが、ライトバッファWB12からレジスタR12へデータが転送される場合、ライトバッファWB13からレジスタR13へデータが転送される場合についても同様である。   Next, an operation when data is transferred from the write buffers WB11 to WB13 to the registers R11 to R13 will be described with reference to FIG. Although FIG. 11 shows only the case where data is transferred from the write buffer WB11 to the register R11, when data is transferred from the write buffer WB12 to the register R12, data is transferred from the write buffer WB13 to the register R13. This also applies to the case where

図11に示すように、ライトバッファWB11〜WB13はクロックCLKで動作し、レジスタR11〜R13はクロックCLKとは非同期のクロックCLKpで動作している。T12のタイミングでイネーブル信号EN_WB11がハイレベルになり、T13のタイミングでライトバッファWB11にライトデータD11が保持される。また、T12のタイミングでハイレベルのイネーブル信号EN_WB11がイネーブル信号同期化回路13に供給される。T12のタイミングの後、イネーブル信号同期化回路13は、ライトバッファWB11からレジスタR11にライトデータD11を転送するタイミングを示す同期化完了信号29を生成する。そして、T18のタイミングで、イネーブル信号同期化回路13はイネーブルパルス生成回路14に同期化完了信号29を出力する。   As shown in FIG. 11, the write buffers WB11 to WB13 operate with a clock CLK, and the registers R11 to R13 operate with a clock CLKp that is asynchronous with the clock CLK. The enable signal EN_WB11 becomes high level at the timing T12, and the write data D11 is held in the write buffer WB11 at the timing T13. Further, the enable signal EN_WB11 having a high level is supplied to the enable signal synchronization circuit 13 at the timing of T12. After the timing T12, the enable signal synchronization circuit 13 generates a synchronization completion signal 29 indicating the timing for transferring the write data D11 from the write buffer WB11 to the register R11. Then, at the timing of T18, the enable signal synchronization circuit 13 outputs a synchronization completion signal 29 to the enable pulse generation circuit 14.

同期化完了信号29がハイレベルになったタイミングT18の1クロック後のT19のタイミングで、イネーブルパルス生成回路14は、ハイレベルのイネーブル信号EN_REG11をレジスタR11に出力する。レジスタR11にハイレベルのイネーブル信号EN_REG11が供給されると、T20のタイミングで、レジスタR11はライトバッファWB11に保持されているライトデータD11を取り込む。このような動作により、ライトバッファWB11からレジスタR11にデータが転送される。   The enable pulse generation circuit 14 outputs a high-level enable signal EN_REG11 to the register R11 at a timing T19 one clock after the timing T18 when the synchronization completion signal 29 becomes a high level. When the high-level enable signal EN_REG11 is supplied to the register R11, the register R11 takes in the write data D11 held in the write buffer WB11 at the timing of T20. With this operation, data is transferred from the write buffer WB11 to the register R11.

このように、本実施の形態にかかるデータ転送システムでは、クロックCLKで駆動するバスブリッジ8から当該クロックCLKとは非同期のクロックCLKpで駆動するレジスタR11〜R13にデータを転送する際に、各レジスタR11〜R13に対応して設けられ、バスブリッジ8と同一のクロックで駆動するライトバッファWB11〜WB13にデータを転送している。その後、各ライトバッファWB11〜WB13と各レジスタR11〜R13を同期させることで、各ライトバッファWB11〜WB13から各レジスタR11〜R13にデータを転送している。よって、バスブリッジ8からライトバッファWB11〜WB13へのアクセスが同期して行われるので、バスブリッジ8から周辺回路IP11が備えるライトバッファWB11〜WB13へのデータの転送を高速化することができる。換言すると、ライトバッファWB11〜WB13を設けることで、バスブリッジ8からみた場合にレジスタR11〜R13を隠蔽することができるので、周辺回路IP11へのデータ転送を高速化することができる。   As described above, in the data transfer system according to the present embodiment, when data is transferred from the bus bridge 8 driven by the clock CLK to the registers R11 to R13 driven by the clock CLKp asynchronous with the clock CLK, each register is transferred. Data is transferred to write buffers WB11 to WB13 provided corresponding to R11 to R13 and driven by the same clock as the bus bridge 8. Thereafter, by synchronizing the write buffers WB11 to WB13 and the registers R11 to R13, data is transferred from the write buffers WB11 to WB13 to the registers R11 to R13. Therefore, since access from the bus bridge 8 to the write buffers WB11 to WB13 is performed in synchronization, the data transfer from the bus bridge 8 to the write buffers WB11 to WB13 included in the peripheral circuit IP11 can be speeded up. In other words, by providing the write buffers WB11 to WB13, the registers R11 to R13 can be concealed when viewed from the bus bridge 8, so that the data transfer to the peripheral circuit IP11 can be speeded up.

以上で説明したように、本実施の形態にかかる発明により、システム性能を低下させることなくマスタから周辺回路へデータを転送することが可能なデータ転送システムおよびデータ転送方法を提供することができる。   As described above, the invention according to this embodiment can provide a data transfer system and a data transfer method that can transfer data from a master to a peripheral circuit without degrading system performance.

実施の形態3
次に、本発明の実施の形態3について説明する。本実施の形態にかかるデータ転送システムでは、周辺回路の構成が実施の形態1の場合と異なる。これ以外は実施の形態1の場合と同様であるので、同一の構成要素には同一の符号を付し重複した説明は省略する。また、本実施の形態かかる発明は実施の形態2に対しても適用することができる。
Embodiment 3
Next, a third embodiment of the present invention will be described. In the data transfer system according to the present embodiment, the configuration of the peripheral circuit is different from that in the first embodiment. Since other than this is the same as in the case of the first embodiment, the same components are denoted by the same reference numerals, and redundant description is omitted. The invention according to the present embodiment can also be applied to the second embodiment.

実施の形態1にかかるデータ転送システムでは、ライトバッファからレジスタにライトデータを転送するのに必要な時間は、ライトバッファとレジスタの同期化に必要な時間に依存するため、マスタからレジスタにライトデータを転送する順番を任意に設定することはできなかった。また、マスタは、ライトバッファからレジスタにライトデータが転送されたか否かを確認することはできなかった。本実施の形態にかかるデータ転送システムでは、ライトバッファからレジスタにライトデータが転送されたか否かを示す同期化フラグ設定回路を周辺回路に設けることで、データ転送の完了をマスタが確認することができるようになる。更に、同期化フラグ設定回路を設けることで、マスタからレジスタにライトデータを転送する順番を任意に設定することができる。   In the data transfer system according to the first embodiment, the time required to transfer write data from the write buffer to the register depends on the time required to synchronize the write buffer and the register. It was not possible to arbitrarily set the order in which In addition, the master cannot confirm whether or not the write data is transferred from the write buffer to the register. In the data transfer system according to the present embodiment, the master can confirm completion of data transfer by providing a synchronization flag setting circuit indicating whether or not write data is transferred from the write buffer to the register. become able to. Furthermore, by providing a synchronization flag setting circuit, it is possible to arbitrarily set the order in which write data is transferred from the master to the register.

図12は、本実施の形態にかかるデータ転送システムが備える周辺回路を示すブロック図である。図12に示す周辺回路では、同期化フラグ設定回路31と完了信号同期化回路32とを有する点が、実施の形態1にかかるデータ転送システムが備える周辺回路(図3参照)と異なる。なお、以下では周辺回路IP1について説明するが、周辺回路IP2、IP3についても同様である。   FIG. 12 is a block diagram showing peripheral circuits included in the data transfer system according to the present embodiment. The peripheral circuit shown in FIG. 12 is different from the peripheral circuit (see FIG. 3) included in the data transfer system according to the first embodiment in that it includes a synchronization flag setting circuit 31 and a completion signal synchronization circuit 32. The peripheral circuit IP1 will be described below, but the same applies to the peripheral circuits IP2 and IP3.

同期化フラグ設定回路31は、アドレスデコーダ12からハイレベルのイネーブル信号EN_WB1が出力されると、同期化フラグを"1"(ハイレベル)にセットする。また、同期化フラグ設定回路31は、イネーブル信号同期化回路13に同期化フラグ"1"を出力する。イネーブル信号同期化回路13に同期化フラグ"1"が供給されると、イネーブル信号同期化回路13は、ライトバッファWB1(11)からレジスタR1(15)にライトデータD1を転送するタイミングを示す同期化完了信号19を生成し、イネーブルパルス生成回路14に出力する。イネーブルパルス生成回路14は、イネーブル信号同期化回路13から出力された同期化完了信号19を入力すると、ハイレベルのイネーブル信号EN_REG1をレジスタR1(15)に出力する。レジスタR1(15)にハイレベルのイネーブル信号EN_REG1が供給されると、レジスタR1(15)はライトバッファWB1(11)に保持されているライトデータD1を取り込む。   When the high-level enable signal EN_WB1 is output from the address decoder 12, the synchronization flag setting circuit 31 sets the synchronization flag to “1” (high level). Further, the synchronization flag setting circuit 31 outputs the synchronization flag “1” to the enable signal synchronization circuit 13. When the synchronization flag “1” is supplied to the enable signal synchronization circuit 13, the enable signal synchronization circuit 13 synchronizes the write data D1 from the write buffer WB1 (11) to the register R1 (15). Complete signal 19 is generated and output to enable pulse generation circuit 14. When the enable pulse generation circuit 14 receives the synchronization completion signal 19 output from the enable signal synchronization circuit 13, the enable pulse generation circuit 14 outputs a high-level enable signal EN_REG1 to the register R1 (15). When the high level enable signal EN_REG1 is supplied to the register R1 (15), the register R1 (15) takes in the write data D1 held in the write buffer WB1 (11).

また、完了信号同期化回路32は、イネーブル信号同期化回路13から出力された同期化完了信号19を入力する。ここで、同期化完了信号19はライトバッファWB1(11)からレジスタR1(15)へのライトデータの転送の完了を示す信号である。同期化完了信号19を入力した完了信号同期化回路32は、ライトバッファWB1(11)からレジスタR1(15)へのライトデータの転送が完了したので、同期化フラグ設定回路31の同期化フラグを"0"にリセットする。   Further, the completion signal synchronization circuit 32 inputs the synchronization completion signal 19 output from the enable signal synchronization circuit 13. Here, the synchronization completion signal 19 is a signal indicating completion of transfer of write data from the write buffer WB1 (11) to the register R1 (15). The completion signal synchronization circuit 32 having received the synchronization completion signal 19 has completed the transfer of the write data from the write buffer WB1 (11) to the register R1 (15), and therefore sets the synchronization flag of the synchronization flag setting circuit 31. Reset to “0”.

すなわち、同期化フラグ設定回路31の同期化フラグがセット状態"1"の場合は、ライトバッファWB1(11)からレジスタR1(15)へのライトデータの転送が完了していないことを示している。一方、同期化フラグ設定回路31の同期化フラグがリセット状態"0"の場合は、ライトバッファWB1(11)からレジスタR1(15)へのライトデータの転送が完了したことを示している。また、各周辺回路IP1〜IP3が備える同期化フラグ設定回路31の同期化フラグは、各マスタM1〜M3に出力される。これにより、各マスタM1〜M3は、各レジスタR1〜R3にライトデータが転送されたか否かを確認することができる。   That is, when the synchronization flag of the synchronization flag setting circuit 31 is in the set state “1”, it indicates that the transfer of the write data from the write buffer WB1 (11) to the register R1 (15) is not completed. . On the other hand, when the synchronization flag of the synchronization flag setting circuit 31 is in the reset state “0”, it indicates that the transfer of the write data from the write buffer WB1 (11) to the register R1 (15) is completed. The synchronization flag of the synchronization flag setting circuit 31 provided in each peripheral circuit IP1 to IP3 is output to each master M1 to M3. As a result, each of the masters M1 to M3 can confirm whether or not the write data has been transferred to each of the registers R1 to R3.

図13は、本実施の形態にかかるデータ転送システムの動作を説明するためのフローチャートである。図13に示すフローチャートでは、マスタM1から周辺回路IP1のレジスタR1にライトデータが転送される場合について示している。   FIG. 13 is a flowchart for explaining the operation of the data transfer system according to this embodiment. The flowchart shown in FIG. 13 shows a case where write data is transferred from the master M1 to the register R1 of the peripheral circuit IP1.

T21のタイミングで、バスブリッジ3はイネーブル信号EN_BBおよびアドレス信号(IP1)を周辺回路IP1が備えるアドレスデコーダ12に、ライトデータD1をライトバッファWB1にそれぞれ出力する。   At the timing T21, the bus bridge 3 outputs the enable signal EN_BB and the address signal (IP1) to the address decoder 12 provided in the peripheral circuit IP1, and the write data D1 to the write buffer WB1.

T22のタイミングで、周辺回路IP1が備えるアドレスデコーダ12は、ハイレベルのイネーブル信号EN_WB1をライトバッファWB1に出力する。同期化フラグ設定回路31は、アドレスデコーダ12からハイレベルのイネーブル信号EN_WB1が出力されると、同期化フラグを"1"にセットする。また、同期化フラグ設定回路31は、イネーブル信号同期化回路13に同期化フラグ"1"を出力する。その後、T23のタイミングで、ライトバッファWB1はバスブリッジ3から出力されたライトデータD1を取り込む。   At timing T22, the address decoder 12 included in the peripheral circuit IP1 outputs a high level enable signal EN_WB1 to the write buffer WB1. When the high-level enable signal EN_WB1 is output from the address decoder 12, the synchronization flag setting circuit 31 sets the synchronization flag to “1”. Further, the synchronization flag setting circuit 31 outputs the synchronization flag “1” to the enable signal synchronization circuit 13. Thereafter, the write buffer WB1 takes in the write data D1 output from the bus bridge 3 at the timing of T23.

T22のタイミングの後、イネーブル信号同期化回路13は、ライトバッファWB1(11)からレジスタR1(15)にライトデータD1を転送するタイミングを示す同期化完了信号19を生成する。そして、T24のタイミングで、イネーブル信号同期化回路13はイネーブルパルス生成回路14に同期化完了信号19を出力する。   After the timing T22, the enable signal synchronization circuit 13 generates a synchronization completion signal 19 indicating the timing for transferring the write data D1 from the write buffer WB1 (11) to the register R1 (15). Then, at the timing of T24, the enable signal synchronization circuit 13 outputs a synchronization completion signal 19 to the enable pulse generation circuit 14.

T25のタイミングで、完了信号同期化回路32は、イネーブル信号同期化回路13から出力された同期化完了信号19がハイレベルとなったので、同期化フラグ設定回路31の同期化フラグを"0"にリセットする。   At the timing of T25, the completion signal synchronization circuit 32 sets the synchronization flag of the synchronization flag setting circuit 31 to “0” because the synchronization completion signal 19 output from the enable signal synchronization circuit 13 becomes high level. Reset to.

同期化完了信号19がハイレベルになったタイミングT24の1クロック後のT26のタイミングで、イネーブルパルス生成回路14は、ハイレベルのイネーブル信号EN_REG1をレジスタR1(15)に出力する。レジスタR1(15)にハイレベルのイネーブル信号EN_REG1が供給されると、T27のタイミングで、レジスタR1(15)はライトバッファWB1(11)に保持されているライトデータD1を取り込む。   The enable pulse generation circuit 14 outputs a high level enable signal EN_REG1 to the register R1 (15) at a timing T26 one clock after the timing T24 when the synchronization completion signal 19 becomes a high level. When the high level enable signal EN_REG1 is supplied to the register R1 (15), the register R1 (15) takes in the write data D1 held in the write buffer WB1 (11) at the timing of T27.

図14(a)は、実施の形態1にかかるデータ転送システムの動作を説明するための図であり、図14(b)は本実施の形態にかかるデータ転送システムの動作を説明するための図である。   FIG. 14A is a diagram for explaining the operation of the data transfer system according to the first embodiment, and FIG. 14B is a diagram for explaining the operation of the data transfer system according to the present embodiment. It is.

同期化フラグ設定回路31を持たない実施の形態1にかかるデータ転送システムでは、T30のタイミングでマスタM1からライトバッファWB1にライトデータが転送され、T31のタイミングでマスタM2からライトバッファWB2にライトデータが転送され、T32のタイミングでマスタM3からライトバッファWB3にライトデータが転送される。また、マスタM1からライトバッファWB1にライトデータが転送された後、ライトバッファWB1とレジスタR1とが同期化することで、レジスタR1にライトデータD1が転送される(T33)。同様に、マスタM2からライトバッファWB2にライトデータが転送された後、ライトバッファWB2とレジスタR2とが同期化することで、レジスタR2にライトデータD2が転送される(T36)。同様に、マスタM3からライトバッファWB3にライトデータが転送された後、ライトバッファWB3とレジスタR3とが同期化することで、レジスタR3にライトデータD3が転送される(T35)。   In the data transfer system according to the first embodiment that does not have the synchronization flag setting circuit 31, the write data is transferred from the master M1 to the write buffer WB1 at the timing T30, and the write data is transferred from the master M2 to the write buffer WB2 at the timing T31. And the write data is transferred from the master M3 to the write buffer WB3 at the timing of T32. Further, after the write data is transferred from the master M1 to the write buffer WB1, the write buffer WB1 and the register R1 are synchronized, whereby the write data D1 is transferred to the register R1 (T33). Similarly, after write data is transferred from the master M2 to the write buffer WB2, the write buffer WB2 and the register R2 are synchronized, whereby the write data D2 is transferred to the register R2 (T36). Similarly, after write data is transferred from the master M3 to the write buffer WB3, the write buffer WB3 and the register R3 are synchronized, whereby the write data D3 is transferred to the register R3 (T35).

ここで、各ライトバッファと各レジスタとが同期化するタイミングは、各ライトバッファと各レジスタにより異なる。このため、各ライトバッファから各レジスタにライトデータが転送される時間も異なる。また、各マスタは、ライトバッファからレジスタへライトデータが転送されたか否かを確認することはできなかった。よって、実施の形態1にかかるデータ転送システムでは、マスタからレジスタにライトデータを転送する順番を設定することはできなかった。   Here, the timing at which each write buffer and each register is synchronized differs depending on each write buffer and each register. For this reason, the time during which write data is transferred from each write buffer to each register is also different. In addition, each master could not confirm whether or not write data was transferred from the write buffer to the register. Therefore, in the data transfer system according to the first exemplary embodiment, the order in which write data is transferred from the master to the register cannot be set.

これに対して、本実施の形態にかかるデータ転送システムでは、周辺回路が同期化フラグ設定回路31を備えるため、レジスタへのデータ転送の順番を設定することができる。同期化フラグ設定回路31を備える本実施の形態にかかるデータ転送システムの動作について、図14(b)を用いて説明する。なお、図14(b)に示す例では、レジスタR2にライトデータが転送された後に、マスタM3からレジスタR3にライトデータを転送するように設定されているものとする。   In contrast, in the data transfer system according to the present embodiment, since the peripheral circuit includes the synchronization flag setting circuit 31, the order of data transfer to the registers can be set. The operation of the data transfer system according to the present embodiment including the synchronization flag setting circuit 31 will be described with reference to FIG. In the example shown in FIG. 14B, it is assumed that the write data is set to be transferred from the master M3 to the register R3 after the write data is transferred to the register R2.

T40のタイミングでマスタM1からライトバッファWB1にライトデータが転送され、T41のタイミングでマスタM2からライトバッファWB2にライトデータが転送される。また、T42のタイミングでは、ライトバッファWB2からレジスタR2へのデータ転送が完了していないため、周辺回路IP2の同期化フラグ設定回路31の同期化フラグは"1"となる。このとき、マスタM3は、周辺回路IP2の同期化フラグ設定回路31の同期化フラグが"1"であるので、ライトバッファWB3にライトデータD3を出力しないで待機する。一方、マスタM1はライトデータの転送順によらずにレジスタR1へライトデータを転送することができるので、T44のタイミングでマスタM1からライトバッファWB1にライトデータを転送する。その後、マスタM3は、周辺回路IP2の同期化フラグ設定回路31の同期化フラグが"0"になるまで、ライトデータD3を転送することなく待機する。   Write data is transferred from the master M1 to the write buffer WB1 at timing T40, and write data is transferred from the master M2 to the write buffer WB2 at timing T41. At the timing T42, since the data transfer from the write buffer WB2 to the register R2 is not completed, the synchronization flag of the synchronization flag setting circuit 31 of the peripheral circuit IP2 becomes “1”. At this time, the master M3 stands by without outputting the write data D3 to the write buffer WB3 because the synchronization flag of the synchronization flag setting circuit 31 of the peripheral circuit IP2 is “1”. On the other hand, since the master M1 can transfer the write data to the register R1 regardless of the transfer order of the write data, the write data is transferred from the master M1 to the write buffer WB1 at the timing of T44. Thereafter, the master M3 waits without transferring the write data D3 until the synchronization flag of the synchronization flag setting circuit 31 of the peripheral circuit IP2 becomes “0”.

T46のタイミングで、ライトバッファWB2からレジスタR2へライトデータD2が転送されると、周辺回路IP2の同期化フラグ設定回路31の同期化フラグは"0"となる。そして、T47のタイミングでマスタM3からライトバッファWB3にライトデータD3が転送され、T49のタイミングでレジスタR3にライトデータD3が転送される。   When the write data D2 is transferred from the write buffer WB2 to the register R2 at the timing T46, the synchronization flag of the synchronization flag setting circuit 31 of the peripheral circuit IP2 becomes “0”. Then, the write data D3 is transferred from the master M3 to the write buffer WB3 at the timing of T47, and the write data D3 is transferred to the register R3 at the timing of T49.

本実施の形態にかかるデータ転送システムでは、例えばアクセス(データ転送)の順番を設定したいアプリケーションにおいて、次のアクセスを発行する前に同期化フラグ設定回路31の同期化フラグを確認するようにソフトウェアを用いて設定してもよい。   In the data transfer system according to the present embodiment, for example, in an application for which the order of access (data transfer) is to be set, software is checked so as to check the synchronization flag of the synchronization flag setting circuit 31 before issuing the next access. May be used.

以上で説明したように、本実施の形態にかかるデータ転送システムでは、ライトバッファからレジスタへライトデータが転送されたか否かを示す同期化フラグ設定回路31を周辺回路に設けているので、データ転送の完了をマスタが確認することができる。更に、同期化フラグ設定回路31を設けることで、マスタからレジスタにライトデータを転送する順番を任意に設定することができる。   As described above, in the data transfer system according to the present embodiment, the synchronization flag setting circuit 31 indicating whether or not the write data is transferred from the write buffer to the register is provided in the peripheral circuit. The master can confirm the completion of. Furthermore, by providing the synchronization flag setting circuit 31, the order of transferring write data from the master to the register can be arbitrarily set.

なお、本実施の形態にかかるデータ転送システムでは、同期化フラグが"1"の場合、マスタはライトデータを転送することなく待機するので、マスタからレジスタへのライトデータの転送速度は実施の形態1にかかるデータ転送システムの場合よりも遅くなる。しかし、本実施の形態にかかるデータ転送システムでは、同期化フラグが"1"でマスタがライトバッファにアクセスしないで待機している間に、他のマスタがライトバッファにアクセスすることができる。図14(b)を用いて説明すると、T42のタイミングでは同期化フラグが"1"であるため、マスタM3はライトバッファWB3へアクセスせずに待機する。そして、マスタM3が待機しているT44のタイミングで、マスタM1がライトバッファWB1にアクセスすることができる。よって、システム性能を低下させることなくマスタから周辺回路へデータを転送することが可能となる。   In the data transfer system according to the present embodiment, when the synchronization flag is “1”, the master waits without transferring the write data, so the transfer speed of the write data from the master to the register is the same as the embodiment. 1 is slower than the data transfer system according to 1. However, in the data transfer system according to the present embodiment, other masters can access the write buffer while the synchronization flag is “1” and the master is waiting without accessing the write buffer. 14B, since the synchronization flag is “1” at the timing of T42, the master M3 waits without accessing the write buffer WB3. The master M1 can access the write buffer WB1 at the timing T44 when the master M3 is waiting. Therefore, data can be transferred from the master to the peripheral circuit without degrading the system performance.

以上、本発明を上記実施形態に即して説明したが、上記実施形態の構成にのみ限定されるものではなく、本願特許請求の範囲の請求項の発明の範囲内で当業者であればなし得る各種変形、修正、組み合わせを含むことは勿論である。   Although the present invention has been described with reference to the above embodiment, the present invention is not limited to the configuration of the above embodiment, and can be made by those skilled in the art within the scope of the invention of the claims of the claims of the present application. It goes without saying that various modifications, corrections, and combinations are included.

1、6 マスタ
2、7 システムバス
3、8 バスブリッジ
4、9 周辺バス
5、10 周辺回路
11、21 ライトバッファ
12、22 アドレスデコーダ
13、23 イネーブル信号同期化回路
14、24 イネーブルパルス生成回路
15、25 レジスタ
19、29 同期化完了信号
31 同期化フラグ設定回路
32 完了信号同期化回路
1, 6 Master 2, 7 System bus 3, 8 Bus bridge 4, 9 Peripheral bus 5, 10 Peripheral circuit 11, 21 Write buffer 12, 22 Address decoder 13, 23 Enable signal synchronization circuit 14, 24 Enable pulse generation circuit 15 , 25 Registers 19, 29 Synchronization completion signal 31 Synchronization flag setting circuit 32 Completion signal synchronization circuit

Claims (9)

少なくとも一つのマスタと、
前記少なくとも一つのマスタから第1のバスを介して出力されたデータを入力し第2のバスを介して当該データを出力するバスブリッジと、
前記バスブリッジから出力されたデータを保持可能な第1および第2のライトバッファ、並びに当該第1および第2のライトバッファと対応して設けられ、当該第1および第2のライトバッファから出力されたデータをそれぞれ保持する第1および第2のレジスタを備える周辺回路と、を備え、
前記バスブリッジ並びに前記第1および第2のライトバッファは第1のクロックで動作し、前記バスブリッジは前記第1および第2のライトバッファに前記第1のクロックに応じて前記データを転送可能であり、
前記第1および第2のレジスタは前記第1のクロックとは非同期の第2のクロックで動作し、前記第1および第2のライトバッファと前記第1および第2のレジスタとをそれぞれ同期化することで前記第1および第2のライトバッファから前記第1および第2のレジスタへ前記データを転送する、
データ転送システム。
With at least one master,
A bus bridge that inputs data output from the at least one master via a first bus and outputs the data via a second bus;
The first and second write buffers capable of holding the data output from the bus bridge, and the first and second write buffers are provided corresponding to the first and second write buffers, and are output from the first and second write buffers. A peripheral circuit comprising first and second registers for holding the data respectively,
The bus bridge and the first and second write buffers operate with a first clock, and the bus bridge can transfer the data to the first and second write buffers according to the first clock. Yes,
The first and second registers operate with a second clock asynchronous to the first clock, and synchronize the first and second write buffers with the first and second registers, respectively. Transferring the data from the first and second write buffers to the first and second registers,
Data transfer system.
前記バスブリッジは、前記第1のライトバッファにデータを転送した後、当該第1のライトバッファから前記第1のレジスタへの前記データの転送の完了・未完了にかかわらずに次のデータを前記第2のライトバッファに出力する、請求項1に記載のデータ転送システム。   After transferring data to the first write buffer, the bus bridge transfers the next data regardless of whether the transfer of the data from the first write buffer to the first register is completed or not. The data transfer system according to claim 1, wherein the data transfer system outputs to the second write buffer. 前記第1および第2のライトバッファのいずれか一方に前記データが保持された時点で前記バスブリッジのトランザクションが終了する、請求項1または2に記載のデータ転送システム。   3. The data transfer system according to claim 1, wherein the bus bridge transaction ends when the data is held in one of the first and second write buffers. 4. 前記第1および第2のライトバッファは、前記バスブリッジから出力された前記データを前記第1のクロックが立ち上がるタイミングで保持し、
前記第1および第2のレジスタは、前記第1および第2のライトバッファが前記データを出力した後、前記第2のクロックが立ち上がるタイミングで前記データを保持する、
請求項1乃至3のいずれか一項に記載のデータ転送システム。
The first and second write buffers hold the data output from the bus bridge at a timing when the first clock rises,
The first and second registers hold the data at a timing when the second clock rises after the first and second write buffers output the data,
The data transfer system according to any one of claims 1 to 3.
前記周辺回路は、前記第1および第2のライトバッファから前記第1および第2のレジスタへデータが転送されたか否かを示す同期化フラグを設定する同期化フラグ設定回路を備える、請求項1乃至4のいずれか一項に記載のデータ転送システム。   The peripheral circuit includes a synchronization flag setting circuit that sets a synchronization flag indicating whether or not data has been transferred from the first and second write buffers to the first and second registers. The data transfer system as described in any one of thru | or 4. 前記マスタのうちの少なくとも一つは前記同期化フラグの状態に応じて前記バスブリッジに前記データを出力するか否かを決定する、請求項5に記載のデータ転送システム。   6. The data transfer system according to claim 5, wherein at least one of the masters determines whether to output the data to the bus bridge according to a state of the synchronization flag. 前記マスタは、メインPE、命令メモリ、データメモリ、セキュリティPEの少なくとも一つで構成され、
前記周辺回路は、CANユニット、FLEXRAYユニット、SPIユニット、UARTユニット、ADCユニット、WDユニット、タイマのうちの少なくとも一つで構成され、
前記第1および第2のレジスタは、前記CANユニット、前記FLEXRAYユニット、前記SPIユニット、前記UARTユニット、前記ADCユニット、前記WDユニット、前記タイマのうちの少なくとも一つに設けられ、
前記第1および第2のライトバッファは、前記CANユニット、前記FLEXRAYユニット、前記SPIユニット、前記UARTユニット、前記ADCユニット、前記WDユニット、前記タイマのうちの少なくとも一つと、前記第2のバスとの間に設けられ、
前記CANユニット、前記FLEXRAYユニット、前記SPIユニット、前記UARTユニット、前記ADCユニット、前記WDユニット、前記タイマのうちの少なくとも一つおよび前記第1および第2のレジスタは前記第2のクロックで動作する、
請求項1乃至6のいずれか一項に記載のデータ転送システム。
The master is composed of at least one of a main PE, an instruction memory, a data memory, and a security PE,
The peripheral circuit includes at least one of a CAN unit, a FLEXRAY unit, an SPI unit, a UART unit, an ADC unit, a WD unit, and a timer.
The first and second registers are provided in at least one of the CAN unit, the FLEXRAY unit, the SPI unit, the UART unit, the ADC unit, the WD unit, and the timer,
The first and second write buffers include at least one of the CAN unit, the FLEXRAY unit, the SPI unit, the UART unit, the ADC unit, the WD unit, the timer, and the second bus. Between
At least one of the CAN unit, the FLEXRAY unit, the SPI unit, the UART unit, the ADC unit, the WD unit, the timer, and the first and second registers operate with the second clock. ,
The data transfer system according to any one of claims 1 to 6.
データ転送システムにおけるデータ転送方法であって、
前記データ転送システムは、
少なくとも一つのマスタと、
前記少なくとも一つのマスタから第1のバスを介して出力されたデータを入力し第2のバスを介して当該データを出力するバスブリッジと、
前記バスブリッジから出力されたデータを保持可能な第1および第2のライトバッファ、並びに当該第1および第2のライトバッファと対応して設けられ、当該第1および第2のライトバッファから出力されたデータをそれぞれ保持する第1および第2のレジスタを備える周辺回路と、を備え、
前記バスブリッジ並びに前記第1および第2のライトバッファを第1のクロックで動作し、前記バスブリッジから前記第1および第2のライトバッファへ前記第1のクロックに応じて前記データを転送し、
前記第1および第2のレジスタを前記第1のクロックとは非同期の第2のクロックで動作し、前記第1および第2のライトバッファと前記第1および第2のレジスタとをそれぞれ同期化することで前記第1および第2のライトバッファから前記第1および第2のレジスタへ前記データをそれぞれ転送する、
データ転送方法。
A data transfer method in a data transfer system, comprising:
The data transfer system includes:
With at least one master,
A bus bridge that inputs data output from the at least one master via a first bus and outputs the data via a second bus;
The first and second write buffers capable of holding the data output from the bus bridge, and the first and second write buffers are provided corresponding to the first and second write buffers, and are output from the first and second write buffers. A peripheral circuit comprising first and second registers for holding the data respectively,
Operating the bus bridge and the first and second write buffers with a first clock, transferring the data from the bus bridge to the first and second write buffers according to the first clock;
The first and second registers are operated with a second clock that is asynchronous with the first clock, and the first and second write buffers and the first and second registers are synchronized, respectively. The data is transferred from the first and second write buffers to the first and second registers, respectively.
Data transfer method.
前記バスブリッジが前記第1のライトバッファにデータを転送した後、当該第1のライトバッファから前記第1のレジスタへの前記データの転送の完了・未完了にかかわらずに次のデータを前記第2のライトバッファに出力する、請求項8に記載のデータ転送方法。   After the bus bridge transfers data to the first write buffer, the next data is transferred to the first register regardless of whether the transfer of the data from the first write buffer to the first register is completed or not. The data transfer method according to claim 8, wherein the data is output to the write buffer of 2.
JP2011080480A 2011-03-31 2011-03-31 Data transfer system and data transfer method Pending JP2012216985A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011080480A JP2012216985A (en) 2011-03-31 2011-03-31 Data transfer system and data transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011080480A JP2012216985A (en) 2011-03-31 2011-03-31 Data transfer system and data transfer method

Publications (1)

Publication Number Publication Date
JP2012216985A true JP2012216985A (en) 2012-11-08

Family

ID=47269360

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011080480A Pending JP2012216985A (en) 2011-03-31 2011-03-31 Data transfer system and data transfer method

Country Status (1)

Country Link
JP (1) JP2012216985A (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09307571A (en) * 1996-05-10 1997-11-28 Nec Eng Ltd Buffer controller
JP2002232401A (en) * 2001-01-30 2002-08-16 Hitachi Ltd Video signal synchronizing device and picture processor
JP2003114863A (en) * 2001-10-04 2003-04-18 Nec Microsystems Ltd Nonsynchronous bus interface device
JP2003263405A (en) * 2002-03-08 2003-09-19 Nec Microsystems Ltd Asynchronous interface device and asynchronous interface method
JP2005518042A (en) * 2002-02-22 2005-06-16 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Data transfer between buses with different clocks

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09307571A (en) * 1996-05-10 1997-11-28 Nec Eng Ltd Buffer controller
JP2002232401A (en) * 2001-01-30 2002-08-16 Hitachi Ltd Video signal synchronizing device and picture processor
JP2003114863A (en) * 2001-10-04 2003-04-18 Nec Microsystems Ltd Nonsynchronous bus interface device
JP2005518042A (en) * 2002-02-22 2005-06-16 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Data transfer between buses with different clocks
JP2003263405A (en) * 2002-03-08 2003-09-19 Nec Microsystems Ltd Asynchronous interface device and asynchronous interface method

Similar Documents

Publication Publication Date Title
US7430624B2 (en) High speed on-chip serial link apparatus and method
JP5459807B2 (en) Debug signaling in multiprocessor data processing systems
WO2017016178A1 (en) Interface signal remapping method based on fpga
EP2250569B1 (en) Sharing bandwidth of a single port sram between at least one dma peripheral and a cpu operating with a quadrature clock
US4853847A (en) Data processor with wait control allowing high speed access
Kessels et al. Clock synchronization through handshake signalling
JP2005518042A (en) Data transfer between buses with different clocks
US8301820B2 (en) Direct memory access for advanced high speed bus
JP2012216985A (en) Data transfer system and data transfer method
JP6030033B2 (en) Memory device
WO2019101350A1 (en) Data bus with multi-input pipeline
US6463551B1 (en) Debug circuit and microcomputer incorporating debug circuit
US7353297B2 (en) Handling of write transactions in a data processing apparatus
JP5528939B2 (en) Microcomputer
Sarekokku et al. Design and Implementation of APB Bridge based on AMBA AXI 4.0
Nawrath et al. FPGA-based implementation of APB/SPI bridge
US7519849B2 (en) Technique for providing service processor access to control and status registers of a module
EP3739463B1 (en) Circuit for asynchronous data transfer
JP6595868B2 (en) Information processing system, device, and interface control method
JP5433156B2 (en) Memory control circuit
JP2756445B2 (en) Asynchronous circuit reset method
US20140281759A1 (en) Bus protocol checker, system on chip including the same, bus protocol checking method
WO2010001515A1 (en) Bus arbitration device and navigation device using the same
JP2001051748A (en) Information processor
Herlev et al. Open core protocol (OCP) clock domain crossing interfaces

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131003

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140626

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140708

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20141104