JP5241268B2 - Dynamically reconfigurable computing device and semiconductor device - Google Patents

Dynamically reconfigurable computing device and semiconductor device Download PDF

Info

Publication number
JP5241268B2
JP5241268B2 JP2008044547A JP2008044547A JP5241268B2 JP 5241268 B2 JP5241268 B2 JP 5241268B2 JP 2008044547 A JP2008044547 A JP 2008044547A JP 2008044547 A JP2008044547 A JP 2008044547A JP 5241268 B2 JP5241268 B2 JP 5241268B2
Authority
JP
Japan
Prior art keywords
output
input
logical operation
operation unit
logical
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.)
Active
Application number
JP2008044547A
Other languages
Japanese (ja)
Other versions
JP2009206611A (en
Inventor
友美 江井
治 遠山
孝行 峯岸
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2008044547A priority Critical patent/JP5241268B2/en
Publication of JP2009206611A publication Critical patent/JP2009206611A/en
Application granted granted Critical
Publication of JP5241268B2 publication Critical patent/JP5241268B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Logic Circuits (AREA)

Description

この発明は、動的に演算回路を構成することのできる動的再構成可能演算装置に関するものである。   The present invention relates to a dynamically reconfigurable arithmetic device capable of dynamically configuring an arithmetic circuit.

従来の動的再構成可能演算装置として、DSP(Digital Signal Processor)のような汎用性と、専用回路のような高い性能を併せ持つことのできる動的再構成デバイスがあった。このような従来の動的再構成デバイスでは、演算ユニットであるALU(Arithmetic Logic Unit)と、DMU(Data Management Unit)、レジスタファイル、バスセレクタ、命令メモリなどが含まれるプロセッサエレメント(PE)を2次元アレイ状に並べている。そして、命令メモリ内に格納された個々の命令コードにより、ALU/DMUで実行されるべき演算や、PE間の接続関係を指定していた(例えば、非特許文献1参照)。   As a conventional dynamic reconfigurable arithmetic device, there has been a dynamic reconfigurable device capable of having both versatility such as a DSP (Digital Signal Processor) and high performance such as a dedicated circuit. In such a conventional dynamic reconfiguration device, an arithmetic unit ALU (Arithmetic Logic Unit) and two processor elements (PE) including a DMU (Data Management Unit), a register file, a bus selector, an instruction memory, and the like are provided. They are arranged in a dimensional array. And the operation which should be performed by ALU / DMU and the connection relationship between PE were specified by each instruction code stored in the instruction memory (for example, refer nonpatent literature 1).

本村正人、若林一敏、粟島亨、戸井崇雄著、「DRPのデバイス・アーキテクチャ」、CQ出版、Design Wave Magazine 2004年8月号、p.62−68Masato Motomura, Kazutoshi Wakabayashi, Satoshi Samejima, Takao Toi, “Device Architecture of DRP”, CQ Publishing, Design Wave Magazine August 2004, p. 62-68

しかしながら、上記従来の動的再構成可能演算装置のように、ALUを含む複数のプロセッサエレメントの組み合わせで構成する場合、多様なアプリケーションを実現できる柔軟性がある反面、回路規模が大きくなってしまう問題があり、また、アプリケーションによっては、多種多様な処理が必要ではないものもあるため面積効率が悪くなるという問題があった。   However, when configured with a combination of a plurality of processor elements including an ALU as in the above-described conventional dynamic reconfigurable arithmetic device, there is a problem that a variety of applications can be realized, but the circuit scale increases. In addition, depending on the application, there is a problem that the area efficiency is deteriorated because there are some applications that do not require various kinds of processing.

この発明は上記のような課題を解決するためになされたもので、面積効率の高い動的再構成可能演算装置を得ることを目的とする。   The present invention has been made to solve the above-described problems, and an object of the present invention is to obtain a dynamic reconfigurable arithmetic device with high area efficiency.

この発明に係る動的再構成可能演算装置は、それぞれが、2入力の値の論理演算を行う複数の第1論理演算ユニットと、複数の第1論理演算ユニットの出力のうち二つの出力を入力として論理演算を行う複数の第2論理演算ユニットと、複数の第2論理演算ユニットの出力のうち二つの出力を入力として論理演算を行う複数の第3論理演算ユニットと、複数の第3論理演算ユニットの二つの出力を入力として論理演算を行う第4論理演算ユニットと、複数の第1論理演算ユニットの出力のうち一つの出力と複数の第2論理演算ユニットの出力のうち一つの出力とを選択する複数の第1接続選択手段と、複数の第1論理演算ユニットの出力のうち一つの出力と複数の第2論理演算ユニットの出力のうち一つの出力と複数の第3論理演算ユニットの出力のうち一つの出力とを選択する第2接続選択手段と、複数の第1論理演算ユニットの出力のうち一つの出力と複数の第2論理演算ユニットの出力のうち一つの出力と複数の第3論理演算ユニットの出力のうち一つの出力と第4論理演算ユニットの出力とを選択する第3接続選択手段とを備え、論理演算ユニットは、複数種類の論理演算素子と、当該複数種類の論理演算素子の出力のうち一つの出力を論理演算ユニットの出力として選択する接続選択手段とを備えたことを特徴とするものである。 The dynamic reconfigurable arithmetic device according to the present invention inputs a plurality of first logical arithmetic units each performing a logical operation of two-input values and two outputs of the outputs of the plurality of first logical arithmetic units. A plurality of second logic operation units that perform logic operations, a plurality of third logic operation units that perform logic operations using two outputs of the outputs of the plurality of second logic operation units as inputs, and a plurality of third logic operations A fourth logical operation unit that performs a logical operation using the two outputs of the unit as an input, and one output among a plurality of first logical operation units and one output among a plurality of second logical operation units. A plurality of first connection selecting means to select, one output among the outputs of the plurality of first logic operation units, one output among the outputs of the plurality of second logic operation units, and a plurality of third logic operation units Second connection selecting means for selecting one of the outputs; one output among the outputs of the plurality of first logic operation units; one output among the outputs of the plurality of second logic operation units; And a third connection selection means for selecting one of the outputs of the three logical operation units and the output of the fourth logical operation unit. The logical operation unit includes a plurality of types of logic operation elements and the plurality of types of logic operations. Connection selection means for selecting one of the outputs of the arithmetic elements as the output of the logical operation unit is provided .

この発明の動的再構成可能演算装置は、複数の第1論理演算ユニットと、複数の第2論理演算ユニットと、複数の第3論理演算ユニットと、第4論理演算ユニットとをツリー状に接続し、これらの論理演算ユニットの出力を、複数の第1接続選択手段と、第2接続選択手段と、第3接続選択手段とによって選択的に切り替えるようにしたので、例えば、8並列の1段の論理演算、4並列の2段の論理演算、2並列の3段の論理演算、4段の論理演算といった論理演算が選択的に実行でき、論理演算に特化した面積効率の高い動的再構成可能演算装置を得ることができる。また、論理演算ユニットは、複数種類の論理演算素子と、複数種類の論理演算素子の出力のうち一つの出力を論理演算ユニットの出力として選択する接続選択手段とを備えたので、種々の演算を行う動的再構成可能演算装置を容易に実現することができる。
The dynamic reconfigurable arithmetic device according to the present invention connects a plurality of first logic operation units, a plurality of second logic operation units, a plurality of third logic operation units, and a fourth logic operation unit in a tree shape. Since the outputs of these logical operation units are selectively switched by a plurality of first connection selection means, second connection selection means, and third connection selection means, for example, one stage in 8 parallels Logic operations such as 4-parallel 2-stage logic operations, 2-parallel 3-stage logic operations, 4-stage logic operations can be selectively executed, and area-specific dynamic re-operation specialized for logic operations A configurable computing device can be obtained. In addition, the logical operation unit includes a plurality of types of logical operation elements and connection selection means for selecting one of the outputs of the plurality of types of logical operation elements as the output of the logical operation unit. It is possible to easily realize a dynamic reconfigurable arithmetic device to be performed.

実施の形態1.
図1は、この発明の実施の形態1による動的再構成可能演算装置を示す構成図である。
図において、動的再構成可能演算装置は、論理演算ユニット100〜107,200〜203,300,301,400、セレクタ500〜503を備えており、これらがツリー状に構成されている。論理演算ユニット100〜107,200〜203,300,301,400は、それぞれが2入力の論理演算ユニットであり、外部から与えられるセレクト信号sel100〜sel107、sel200〜sel203、sel300、sel301、sel400に基づいて、それぞれ論理演算ユニット内に備えた複数種類の論理演算素子の出力をそれぞれの論理演算ユニットの出力として選択するように構成されている(論理演算ユニット内の構成については後述する)。ここで、論理演算ユニット100〜107が第1論理演算ユニットに対応し、論理演算ユニット200〜203が第2論理演算ユニット、論理演算ユニット300,301が第3論理演算ユニット、論理演算ユニット400が第4論理演算ユニットに対応している。
Embodiment 1 FIG.
FIG. 1 is a block diagram showing a dynamically reconfigurable arithmetic device according to Embodiment 1 of the present invention.
In the figure, the dynamically reconfigurable arithmetic unit includes logical arithmetic units 100 to 107, 200 to 203, 300, 301, and 400, and selectors 500 to 503, which are configured in a tree shape. Each of the logical operation units 100 to 107, 200 to 203, 300, 301, and 400 is a two-input logical operation unit, and is based on select signals sel100 to sel107, sel200 to sel203, sel300, sel301, and sel400 given from the outside. Thus, the outputs of a plurality of types of logic operation elements provided in the respective logic operation units are selected as the outputs of the respective logic operation units (the configuration in the logic operation unit will be described later). Here, the logical operation units 100 to 107 correspond to the first logical operation unit, the logical operation units 200 to 203 are the second logical operation unit, the logical operation units 300 and 301 are the third logical operation unit, and the logical operation unit 400 is the logical operation unit 400. This corresponds to the fourth logical operation unit.

論理演算ユニット100には、入力データ100aと入力データ100bが入力されるように構成されている。同様に、論理演算ユニット101には、入力データ101aと入力データ101bが、論理演算ユニット102には、入力データ102aと入力データ102bが、論理演算ユニット103には、入力データ103aと入力データ103bが、論理演算ユニット104には、入力データ104aと入力データ104bが、論理演算ユニット105には、入力データ105aと入力データ105bが、論理演算ユニット106には、入力データ106aと入力データ106bが、論理演算ユニット107には、入力データ107aと入力データ107bが、それぞれ接続される。出力100c〜107cは、それぞれ、論理演算ユニット100〜107の出力である。   The logical operation unit 100 is configured to receive input data 100a and input data 100b. Similarly, the logical operation unit 101 has input data 101a and input data 101b, the logical operation unit 102 has input data 102a and input data 102b, and the logical operation unit 103 has input data 103a and input data 103b. The logical operation unit 104 has input data 104a and input data 104b, the logical operation unit 105 has input data 105a and input data 105b, and the logical operation unit 106 has input data 106a and input data 106b. Input data 107a and input data 107b are connected to the arithmetic unit 107, respectively. The outputs 100c to 107c are outputs of the logical operation units 100 to 107, respectively.

論理演算ユニット200には、論理演算ユニット100の出力100cと論理演算ユニット101の出力101cが入力される。同様に、論理演算ユニット201には、論理演算ユニット102の出力102cと論理演算ユニット103の出力103cが、論理演算ユニット202には、論理演算ユニット104の出力104cと論理演算ユニット105の出力105cが、論理演算ユニット203には、論理演算ユニット106の出力106cと論理演算ユニット107の出力107cが、それぞれ接続される。出力200a〜203aは、それぞれ、論理演算ユニット200〜203の出力である。   The logical operation unit 200 receives the output 100 c of the logical operation unit 100 and the output 101 c of the logical operation unit 101. Similarly, the logical operation unit 201 has an output 102c of the logical operation unit 102 and an output 103c of the logical operation unit 103, and the logical operation unit 202 has an output 104c of the logical operation unit 104 and an output 105c of the logical operation unit 105. The logical operation unit 203 is connected to the output 106c of the logical operation unit 106 and the output 107c of the logical operation unit 107, respectively. The outputs 200a to 203a are the outputs of the logical operation units 200 to 203, respectively.

論理演算ユニット300には、論理演算ユニット200の出力200aと論理演算ユニット201の出力201aが入力される。同様に、論理演算ユニット301には、論理演算ユニット202の出力202aと論理演算ユニット203の出力203aが入力される。出力300a,301aは、それぞれ論理演算ユニット300,301の出力である。
論理演算ユニット400には、論理演算ユニット300の出力300aと論理演算ユニット301の出力301aが入力される。出力400aは、論理演算ユニット400の出力である。
The logical operation unit 300 receives the output 200a of the logical operation unit 200 and the output 201a of the logical operation unit 201. Similarly, the logical operation unit 301 receives the output 202a of the logical operation unit 202 and the output 203a of the logical operation unit 203. Outputs 300a and 301a are outputs of the logical operation units 300 and 301, respectively.
The logical operation unit 400 receives the output 300a of the logical operation unit 300 and the output 301a of the logical operation unit 301. The output 400a is an output of the logical operation unit 400.

セレクタ500は、2to1セレクタであり、外部から与えられる1ビットのセレクト信号sel500に基づいて、論理演算ユニット200の出力200aと論理演算ユニット104の出力104cのうち一方を選択するように構成されている。同様に、セレクタ501は、セレクト信号sel501に基づいて、論理演算ユニット201の出力201aと論理演算ユニット105の出力105cのうち一方を選択する。出力500a,501aは、セレクタ500,501の選択出力である。また、これらセレクタ500,501が第1接続選択手段に対応している。   The selector 500 is a 2to1 selector and is configured to select one of the output 200a of the logical operation unit 200 and the output 104c of the logical operation unit 104 based on a 1-bit select signal sel500 given from the outside. . Similarly, the selector 501 selects one of the output 201 a of the logical operation unit 201 and the output 105 c of the logical operation unit 105 based on the select signal sel 501. Outputs 500a and 501a are selection outputs of the selectors 500 and 501. These selectors 500 and 501 correspond to first connection selection means.

セレクタ502は、3to1セレクタであり、外部から与えられる2ビットのセレクト信号sel502に基づいて、論理演算ユニット300の出力300a、論理演算ユニット202の出力202a、論理演算ユニット106の出力106cのうちいずれかを選択するように構成されている。出力502aは、セレクタ502の出力である。セレクタ503は、4to1セレクタであり、外部から与えられる2ビットのセレクト信号sel503に基づいて、論理演算ユニット400の出力400a、論理演算ユニット301の出力301a、論理演算ユニット203の出力203a、論理演算ユニット107の出力107cのうちいずれかを選択するように構成されている。出力503aは、セレクタ503の出力である。また、セレクタ502が第2接続選択手段に、セレクタ503が第3接続選択手段に対応している。   The selector 502 is a 3to1 selector, and based on a 2-bit select signal sel 502 given from the outside, one of the output 300a of the logical operation unit 300, the output 202a of the logical operation unit 202, and the output 106c of the logical operation unit 106 is selected. Is configured to select. An output 502 a is an output of the selector 502. The selector 503 is a 4to1 selector, and based on a 2-bit select signal sel 503 given from outside, the output 400a of the logical operation unit 400, the output 301a of the logical operation unit 301, the output 203a of the logical operation unit 203, and the logical operation unit One of the 107 outputs 107c is selected. The output 503a is the output of the selector 503. The selector 502 corresponds to the second connection selection unit, and the selector 503 corresponds to the third connection selection unit.

図2は、論理演算ユニット100〜107,200〜203,300,301,400の内部の構成を示す図である。すなわち、図2に示す論理演算ユニット1が図1の各論理演算ユニット100〜107,200〜203,300,301,400に対応し、図2中のセレクト信号SELが、図1におけるセレクト信号sel100〜107,200〜203,300,301,400に対応している。   FIG. 2 is a diagram illustrating an internal configuration of the logical operation units 100 to 107, 200 to 203, 300, 301, and 400. That is, the logical operation unit 1 shown in FIG. 2 corresponds to each of the logical operation units 100 to 107, 200 to 203, 300, 301, and 400 in FIG. 1, and the select signal SEL in FIG. To 107, 200 to 203, 300, 301, 400.

論理演算ユニット1は、NOT演算子2、2入力EXOR演算子3、2入力OR演算子4、2入力AND演算子5、セレクタ6を備えている。NOT演算子2は、入力データINBの否定を演算し、出力2aを出力する。2入力EXOR演算子3は、入力データINAと入力データINBの排他的論理和を演算し、出力3aを出力する。2入力OR演算子4は、入力データINAと入力データINBの論理和を演算し、出力4aを出力する。2入力AND演算子5は、入力データINAと入力データINBの論理積を演算し、出力5aを出力する。セレクタ6は、4to1のセレクタであり、外部から与えられる2ビットのセレクト信号SELに基づいて、上記演算子出力2a〜5aを選択し、論理演算ユニット1の出力として出力OUTを出力する。   The logical operation unit 1 includes a NOT operator 2, a 2-input EXOR operator 3, a 2-input OR operator 4, a 2-input AND operator 5, and a selector 6. The NOT operator 2 calculates negation of the input data INB and outputs an output 2a. The 2-input EXOR operator 3 calculates an exclusive OR of the input data INA and the input data INB and outputs an output 3a. The 2-input OR operator 4 calculates a logical sum of the input data INA and the input data INB, and outputs an output 4a. The 2-input AND operator 5 calculates the logical product of the input data INA and the input data INB, and outputs an output 5a. The selector 6 is a 4to1 selector, selects the operator outputs 2a to 5a based on a 2-bit select signal SEL given from the outside, and outputs an output OUT as an output of the logical operation unit 1.

このように構成された動的再構成可能演算装置では、入力データ100aと100bが入力された論理演算ユニット100からは、外部から入力される2ビットのセレクト信号sel100により選択された論理演算出力100cが得られる。同様に、入力データ101aと101bが入力された論理演算ユニット101からは、セレクト信号sel101により選択された論理演算出力101cが得られ、入力データ102aと102bが入力された論理演算ユニット102からは、セレクト信号sel102により選択された論理演算出力102cが得られ、入力データ103aと103bが入力された論理演算ユニット103からは、セレクト信号sel103により選択された論理演算出力103cが得られ、入力データ104aと104bが入力された論理演算ユニット104からは、セレクト信号sel104により選択された論理演算出力104cが得られ、入力データ105aと105bが入力された論理演算ユニット105からは、セレクト信号sel105により選択された論理演算出力105cが得られ、入力データ106aと106bが入力された論理演算ユニット106からは、セレクト信号sel106により選択された論理演算出力106cが得られ、入力データ107aと107bが入力された論理演算ユニット107からは、セレクト信号sel107により選択された論理演算出力107cが得られる。   In the dynamically reconfigurable arithmetic unit configured as described above, the logical operation output 100c selected by the 2-bit select signal sel100 input from the outside from the logical operation unit 100 to which the input data 100a and 100b are input. Is obtained. Similarly, from the logical operation unit 101 to which the input data 101a and 101b are input, the logical operation output 101c selected by the select signal sel101 is obtained, and from the logical operation unit 102 to which the input data 102a and 102b are input, The logic operation output 102c selected by the select signal sel102 is obtained, and the logic operation unit 103 to which the input data 103a and 103b are input obtains the logic operation output 103c selected by the select signal sel103, and the input data 104a and The logical operation unit 104 selected by the select signal sel 104 is obtained from the logical operation unit 104 to which 104b is input, and the select signal sel 105 is used from the logical operation unit 105 to which the input data 105a and 105b are input. The selected logical operation output 105c is obtained, and from the logical operation unit 106 to which the input data 106a and 106b are input, the logical operation output 106c selected by the select signal sel 106 is obtained, and the input data 107a and 107b are input. From the logical operation unit 107, the logical operation output 107c selected by the select signal sel107 is obtained.

続いて、論理演算ユニット100,101で得られた論理演算出力100cと101cが論理演算ユニット200に入力され、2ビットのセレクト信号sel200により選択された論理演算出力100cと101cの論理演算出力200aが得られる。同様に、論理演算ユニット102,103で得られた論理演算出力102cと103cが入力された論理演算ユニット201からは、セレクト信号sel201により選択された論理演算出力102cと103cの論理演算出力201aが得られ、論理演算ユニット104,105で得られた論理演算出力104cと105cが入力された論理演算ユニット202からは、セレクト信号sel202により選択された論理演算出力104cと105cの論理演算出力202aが得られ、論理演算ユニット106,107で得られた論理演算出力106cと107cが入力された論理演算ユニット203からは、セレクト信号sel203により選択された論理演算出力106cと107cの論理演算出力203aが得られる。   Subsequently, the logical operation outputs 100c and 101c obtained by the logical operation units 100 and 101 are input to the logical operation unit 200, and the logical operation outputs 100c and 101c selected by the 2-bit select signal sel200 are obtained. can get. Similarly, from the logical operation unit 201 to which the logical operation outputs 102c and 103c obtained by the logical operation units 102 and 103 are input, the logical operation output 201a of the logical operation outputs 102c and 103c selected by the select signal sel201 is obtained. From the logical operation unit 202 to which the logical operation outputs 104c and 105c obtained by the logical operation units 104 and 105 are inputted, the logical operation output 202a of the logical operation outputs 104c and 105c selected by the select signal sel202 is obtained. From the logical operation unit 203 to which the logical operation outputs 106c and 107c obtained by the logical operation units 106 and 107 are input, the logical operation output 203a of the logical operation outputs 106c and 107c selected by the select signal sel203 is obtained.

続いて、論理演算ユニット200,201で得られた論理演算出力200aと201aが論理演算ユニット300に入力され、2ビットのセレクト信号sel300により選択された論理演算出力200aと201aの論理演算出力300aが得られる。同様に、論理演算ユニット202,203で得られた論理演算出力202aと203aが入力された論理演算ユニット301からは、セレクト信号sel301により選択された論理演算出力202aと203aの論理演算出力301aが得られる。   Subsequently, the logical operation outputs 200a and 201a obtained by the logical operation units 200 and 201 are input to the logical operation unit 300, and the logical operation outputs 200a and 201a selected by the 2-bit select signal sel300 are obtained. can get. Similarly, from the logical operation unit 301 to which the logical operation outputs 202a and 203a obtained by the logical operation units 202 and 203 are input, the logical operation output 301a of the logical operation outputs 202a and 203a selected by the select signal sel301 is obtained. It is done.

続いて、論理演算ユニット300,301で得られた論理演算出力300aと301aが論理演算ユニット400に入力され、2ビットのセレクト信号sel400により選択された論理演算出力300aと301aの論理演算出力400aが得られる。   Subsequently, the logical operation outputs 300a and 301a obtained by the logical operation units 300 and 301 are input to the logical operation unit 400, and the logical operation outputs 300a and 301a selected by the 2-bit select signal sel400 are output. can get.

また、上記演算で得られた論理演算出力200aと104cがセレクタ500に入力され、外部から入力される1ビットのセレクト信号sel500により選択され、セレクタ出力500aが得られる。同様に、論理演算出力201aと105cが入力されたセレクタ501からは、1ビットのセレクト信号sel501により選択されたセレクタ出力501aが得られ、論理演算出力300a,202a,106cが入力されたセレクタ502からは、2ビットのセレクト信号sel502により選択されたセレクタ出力502aが得られ、論理演算出力400a,301a,203a,107cが入力されたセレクタ503からは、2ビットのセレクト信号sel503により選択されたセレクタ出力503aが得られる。
なお、以上の演算で得られた論理演算出力100c,101c,102c,103c,セレクタ出力501a〜503aは、いずれも外部に出力することができる。
Further, the logical operation outputs 200a and 104c obtained by the above operation are input to the selector 500 and selected by a 1-bit select signal sel500 input from the outside, and a selector output 500a is obtained. Similarly, a selector output 501a selected by a 1-bit select signal sel501 is obtained from the selector 501 to which the logical operation outputs 201a and 105c are input, and from the selector 502 to which the logical operation outputs 300a, 202a, and 106c are input. The selector output 502a selected by the 2-bit select signal sel502 is obtained, and the selector output selected by the 2-bit select signal sel503 is received from the selector 503 to which the logical operation outputs 400a, 301a, 203a, 107c are input. 503a is obtained.
Note that the logical operation outputs 100c, 101c, 102c, and 103c and the selector outputs 501a to 503a obtained by the above operations can be output to the outside.

次に、実施の形態1の動的再構成可能演算装置における128ビット排他的論理和演算を行う場合の具体例について説明する。
図3−1および図3−2は、8並列排他的論理和演算時の回路構成を示す説明図である。
1つの論理演算ユニットで16ビットの演算ができるものとすると、128ビットの2入力論理演算を行うためには、論理演算ユニットが8並列で必要となる。128ビットの2入力をINAとINBとすると、論理演算ユニット100の一方の入力100aにINAの112〜127ビット目を入力し、もう一方の入力100bにINBの112〜127ビット目を入力する。なお、図中、例えば[127:112]が112〜127ビット目のデータといったように、[b:a]がa〜bビット目のデータを表している。同様に、論理演算ユニット101の入力101aと101bにはそれぞれINAとINBの96〜111ビット目を入力し、論理演算ユニット102の入力102aと102bにはそれぞれINAとINBの80〜95を入力し、論理演算ユニット103の入力103aと103bにはそれぞれINAとINBの64〜79を入力し、論理演算ユニット104の入力104aと104bにはそれぞれINAとINBの48〜63を入力し、論理演算ユニット105の入力105aと105bにはそれぞれINAとINBの32〜47ビット目を入力し、論理演算ユニット106の入力106aと106bにはそれぞれINAとINBの16〜31ビット目を入力し、論理演算ユニット107の入力107aと107bにはそれぞれINAとINBの0〜15ビット目を入力する。
Next, a specific example in the case of performing a 128-bit exclusive OR operation in the dynamically reconfigurable arithmetic device of the first embodiment will be described.
FIGS. 3A and 3B are explanatory diagrams illustrating a circuit configuration at the time of 8-parallel exclusive OR operation.
Assuming that a single logical operation unit can perform a 16-bit operation, in order to perform a 128-bit 2-input logical operation, 8 logical operation units are required in parallel. Assuming that the two 128-bit inputs are INA and INB, the 112th to 127th bits of INA are input to one input 100a of the logical operation unit 100, and the 112th to 127th bits of INB are input to the other input 100b. In the figure, [b: a] represents the data of the a to b bits, for example, [127: 112] is the data of the 112th to 127th bits. Similarly, the 96th to 111th bits of INA and INB are input to the inputs 101a and 101b of the logical operation unit 101, respectively, and 80 to 95 of INA and INB are input to the inputs 102a and 102b of the logical operation unit 102, respectively. INA and INB 64 to 79 are input to the inputs 103a and 103b of the logical operation unit 103, respectively, and INA and INB 48 to 63 are input to the inputs 104a and 104b of the logical operation unit 104, respectively. The INA and INB bits 32 to 47 are input to the 105 inputs 105a and 105b, respectively, and the 16th to 31st bits of INA and INB are input to the inputs 106a and 106b of the logic operation unit 106, respectively. 107 inputs 107a and 107b are respectively INA and I. To enter a 0-15 bit of B.

また、論理演算ユニット100〜107において、それぞれEXOR演算子の出力を選択するようにセレクト信号sel100〜107を設定することで、論理演算ユニット100の出力100cからは、INAとINBの排他的論理和演算出力OUTの112〜127ビット目が出力される。同様に、論理演算ユニット101の出力101cからはOUTの96〜111ビット目が出力され、論理演算ユニット102の出力102cからはOUTの80〜95ビット目が出力され、論理演算ユニット103の出力103cからはOUTの64〜79ビット目が出力され、論理演算ユニット104の出力104cからはOUTの48〜63ビット目が出力され、論理演算ユニット105の出力105cからはOUTの32〜47ビット目が出力され、論理演算ユニット106の出力106cからはOUTの16〜31ビット目が出力され、論理演算ユニット107の出力107cからはOUTの0〜15ビット目が出力される。   In addition, by setting the select signals sel100 to 107 so as to select the output of the EXOR operator in the logical operation units 100 to 107, respectively, the exclusive OR of INA and INB is output from the output 100c of the logical operation unit 100. The 112th to 127th bits of the calculation output OUT are output. Similarly, the 96th to 111th bits of OUT are output from the output 101c of the logical operation unit 101, the 80th to 95th bits of OUT are output from the output 102c of the logical operation unit 102, and the output 103c of the logical operation unit 103 is output. Outputs the 64th to 79th bits of OUT, the 48th to 63rd bits of OUT from the output 104c of the logical operation unit 104, and the 32nd to 47th bits of OUT from the output 105c of the logical operation unit 105. The 16th to 31st bits of OUT are output from the output 106c of the logical operation unit 106, and the 0th to 15th bits of OUT are output from the output 107c of the logical operation unit 107.

続いて、論理演算ユニット104〜107の出力104c〜107cは、それぞれセレクタ500〜503に入力される。セレクタ500では、セレクト信号sel500により出力104cが選択され、セレクタ出力500aからはINAとINBの排他的論理和演算出力OUTの48〜63ビット目が出力される。同様に、セレクタ501では、セレクト信号sel501により出力105cが選択され、セレクタ出力501aからはOUTの32〜47ビット目が出力され、セレクタ502では、セレクト信号sel502により出力106cが選択され、セレクタ出力502aからはOUTの16〜31ビット目が出力され、セレクタ503では、セレクト信号sel503により出力107cが選択され、セレクタ出力503aからはOUTの0〜16ビット目が出力される。以上により、128ビットの2入力INAとINBの排他的論理和演算出力OUTが求められる。   Subsequently, the outputs 104c to 107c of the logical operation units 104 to 107 are input to the selectors 500 to 503, respectively. In the selector 500, the output 104c is selected by the select signal sel500, and the 48th to 63rd bits of the exclusive OR operation output OUT of INA and INB are output from the selector output 500a. Similarly, in the selector 501, the output 105c is selected by the select signal sel501, and the 32nd to 47th bits of OUT are output from the selector output 501a. In the selector 502, the output 106c is selected by the select signal sel502, and the selector output 502a. Outputs the 16th to 31st bits of OUT, the selector 503 selects the output 107c by the select signal sel503, and the selector output 503a outputs the 0th to 16th bits of OUT. As described above, an exclusive OR operation output OUT of 128-bit 2-input INA and INB is obtained.

次に、4並列の4入力論理和演算の動作例を説明する。
図4−1および図4−2は、4入力論理和演算を4並列で動作させる場合の回路構成を示す説明図である。
4入力の論理和演算を行うには、2入力の論理演算ユニットが1段目に2個、2段目に1個、計3個必要となる。従って、図4−1および図4−2に示す1段目に8個の論理演算ユニットが配置されている回路構成では、4並列に4入力論理和演算を行うことができる。
Next, an operation example of 4-parallel 4-input OR operation will be described.
FIGS. 4A and 4B are explanatory diagrams illustrating a circuit configuration in a case where 4-input OR operation is performed in parallel.
In order to perform a 4-input OR operation, two 2-input logic operation units are required, ie, two in the first stage and one in the second stage. Therefore, in the circuit configuration in which eight logical operation units are arranged in the first stage shown in FIG. 4A and FIG. 4B, four-input OR operation can be performed in parallel.

まず、論理演算ユニット100の一方の入力100aにはINA0、もう一方の入力100bにはINA1を入力し、OR演算子の出力を選択するようにsel100を設定することにより、論理演算ユニット100の出力100cとしてINA0とINA1の論理和演算出力が得られる。同様に、入力101aにINA2、入力101bにINA3を入力し、OR演算子の出力を選択するようにsel101を設定した論理演算ユニット101からは、INA2とINA3の論理和演算出力101cが得られ、入力102aにINB0、入力102bにINB1を入力し、OR演算子の出力を選択するようにsel102を設定した論理演算ユニット102からは、INB0とINB1の論理和演算出力102cが得られ、入力103aにINB2、入力103bにINB3を入力し、OR演算子の出力を選択するようにsel103を設定した論理演算ユニット103からは、INB2とINB3の論理和演算出力103cが得られ、入力104aにINC0、入力104bにINC1を入力し、OR演算子の出力を選択するようにsel104を設定した論理演算ユニット104からは、INC0とINC1の論理和演算出力104cが得られ、入力105aにINC2、入力105bにINC3を入力し、OR演算子の出力を選択するようにsel105を設定した論理演算ユニット105からは、INC2とINC3の論理和演算出力105cが得られ、入力106aにIND0、入力106bにIND1を入力し、OR演算子の出力を選択するようにsel106を設定した論理演算ユニット106からは、IND0とIND1の論理和演算出力106cが得られ、入力107aにIND2、入力107bにIND3を入力し、OR演算子の出力を選択するようにsel107を設定した論理演算ユニット107からは、IND2とIND3の論理和演算出力107cが得られる。   First, INA0 is input to one input 100a of the logical operation unit 100, INA1 is input to the other input 100b, and the output of the logical operation unit 100 is set by selecting sel100 to select the output of the OR operator. As 100c, an OR operation output of INA0 and INA1 is obtained. Similarly, from the logical operation unit 101 in which INA2 is input to the input 101a, INA3 is input to the input 101b, and sel101 is set so as to select the output of the OR operator, a logical sum operation output 101c of INA2 and INA3 is obtained. From the logical operation unit 102 in which INB0 is input to the input 102a, INB1 is input to the input 102b, and sel102 is set so as to select the output of the OR operator, the logical sum operation output 102c of INB0 and INB1 is obtained. The logical operation unit 103 in which INB3 is input to INB2 and input 103b and sel103 is set so as to select the output of the OR operator is obtained as a logical OR operation output 103c of INB2 and INB3, and INC0 and input are input to input 104a. Enter INC1 in 104b and select the output of the OR operator In other words, the logical operation unit 104 having the sel 104 set obtains the logical OR operation output 104c of INC0 and INC1, inputs INC2 to the input 105a, INC3 to the input 105b, and selects the sel 105 to select the output of the OR operator. From the set logical operation unit 105, the logical sum operation output 105c of INC2 and INC3 is obtained, IND0 is input to the input 106a, IND1 is input to the input 106b, and sel106 is set to select the output of the OR operator. From the arithmetic unit 106, a logical sum operation output 106c of IND0 and IND1 is obtained, IND2 is input to the input 107a, IND3 is input to the input 107b, and the logical operation unit 107 in which sel 107 is set to select the output of the OR operator. From IND2 and IND3 107c can be obtained.

続いて、論理演算ユニット200の一方の入力に論理演算ユニット100の出力100cを入力し、もう一方の入力に論理演算ユニット101の出力101cを入力し、OR演算子の出力を選択するようにsel200を設定することにより、論理演算ユニット200の出力200aとして、100cと101cの論理和演算出力、すなわち、INA0、INA1、INA2、INA3の論理和演算出力が得られる。同様に、論理演算ユニット102の出力102cと論理演算ユニット103の出力103cを入力し、OR演算子の出力を選択するようにsel201を設定した論理演算ユニット201からは、102cと103cの論理和演算出力、すなわち、INB0、INB1、INB2、INB3の論理和演算出力201aが得られ、論理演算ユニット104の出力104cと論理演算ユニット105の出力105cを入力し、OR演算子の出力を選択するようにsel202を設定した論理演算ユニット202からは、104cと105cの論理和演算出力、すなわち、INC0、INC1、INC2、INC3の論理和演算出力202aが得られ、論理演算ユニット106の出力106cと論理演算ユニット107の出力107cを入力し、OR演算子の出力を選択するようにsel203を設定した論理演算ユニット203からは、106cと107cの論理和演算出力、すなわち、IND0、IND1、IND2、IND3の論理和演算出力203aが得られる。   Subsequently, the output 100c of the logical operation unit 100 is input to one input of the logical operation unit 200, the output 101c of the logical operation unit 101 is input to the other input, and the output of the OR operator is selected. As the output 200a of the logical operation unit 200, the logical sum operation output of 100c and 101c, that is, the logical sum operation output of INA0, INA1, INA2, and INA3 is obtained. Similarly, the logical operation unit 201 that inputs the output 102c of the logical operation unit 102 and the output 103c of the logical operation unit 103 and sets the sel 201 so as to select the output of the OR operator is used to perform an OR operation of 102c and 103c. The output, that is, the logical sum operation output 201a of INB0, INB1, INB2, and INB3 is obtained, the output 104c of the logical operation unit 104 and the output 105c of the logical operation unit 105 are input, and the output of the OR operator is selected. From the logical operation unit 202 in which sel 202 is set, the logical sum operation output of 104c and 105c, that is, the logical sum operation output 202a of INC0, INC1, INC2, and INC3 is obtained, and the output 106c of the logical operation unit 106 and the logical operation unit The output 107c of 107 is input and O From logic unit 203 to set the sel203 so as to select the output of the operator, 106c and 107c ORed output, i.e., IND0, IND1, IND2, IND3 the logical sum operation output 203a is obtained.

続いて、一方の入力に論理演算ユニット200の出力200aを入力し、もう一方の入力に論理演算ユニット104の出力104cを入力したセレクタ500には、出力200aを選択するようにセレクト信号sel500を設定することにより、OUTAとして、論理演算ユニット200の出力200a、すなわち、INA0、INA1、INA2、INA3の論理和演算出力が得られる。同様に、論理演算ユニット201の出力201aと論理演算ユニット105の出力105cを入力したセレクタ501には、出力201aを選択するようにセレクト信号sel501を設定することにより、OUTBとして、論理演算ユニット201の出力201a、すなわち、INB0、INB1、INB2、INB3の論理和演算出力が得られる。論理演算ユニット300の出力300a、論理演算ユニット202の出力202a、論理演算ユニット106の出力106cを入力したセレクタ502には、出力202aを選択するようにセレクト信号sel502を設定することにより、OUTCとして、論理演算ユニット202の出力202a、すなわち、INC0、INC1、INBC、INC3の論理和演算出力が得られる。論理演算ユニット400の出力400a、論理演算ユニット301の出力301a、論理演算ユニット203の出力203a、論理演算ユニット107の出力107cを入力したセレクタ503には、出力203aを選択するようにセレクト信号sel503を設定することにより、OUTDとして、論理演算ユニット203の出力203a、すなわち、IND0、IND1、IND2、IND3の論理和演算出力が得られる。以上により、4入力の論理和演算出力OUTA〜OUTDが4並列同時に出力される。   Subsequently, in the selector 500 in which the output 200a of the logical operation unit 200 is input to one input and the output 104c of the logical operation unit 104 is input to the other input, the select signal sel500 is set so as to select the output 200a. As a result, the output 200a of the logical operation unit 200, that is, the logical OR operation output of INA0, INA1, INA2, and INA3 is obtained as OUTA. Similarly, the selector 501 that receives the output 201a of the logical operation unit 201 and the output 105c of the logical operation unit 105 sets the select signal sel501 so as to select the output 201a. An output 201a, that is, an OR operation output of INB0, INB1, INB2, and INB3 is obtained. By setting the select signal sel502 to select the output 202a, the selector 502 that receives the output 300a of the logical operation unit 300, the output 202a of the logical operation unit 202, and the output 106c of the logical operation unit 106 is set as OUTC. An output 202a of the logical operation unit 202, that is, a logical sum operation output of INC0, INC1, INBC, INC3 is obtained. The selector 503 to which the output 400a of the logical operation unit 400, the output 301a of the logical operation unit 301, the output 203a of the logical operation unit 203, and the output 107c of the logical operation unit 107 are input is supplied with a select signal sel503 so as to select the output 203a. By setting, the output 203a of the logical operation unit 203, that is, the logical sum operation output of IND0, IND1, IND2, and IND3 is obtained as OUTD. As described above, four-input OR operation outputs OUTA to OUTD are simultaneously output in parallel.

次に、2並列の8入力論理積演算の動作例を説明する。
図5−1および図5−2は、8入力論理積演算を2並列で動作させる場合の回路構成を示す説明図である。
8入力の論理積演算を行うには、2入力の論理演算ユニットが1段目に4個、2段目に2個、3段目に1個必要となる。従って、図5−1および図5−2に示す1段目に8個の論理演算ユニットが配置されている回路構成では、2並列に8入力論理積演算を行うことができる。
Next, an operation example of 2-parallel 8-input AND operation will be described.
FIGS. 5A and 5B are explanatory diagrams illustrating a circuit configuration in the case of operating two 8-input AND operations in parallel.
In order to perform an 8-input AND operation, four 2-input logical operation units are required in the first stage, two in the second stage, and one in the third stage. Therefore, in the circuit configuration in which eight logical operation units are arranged in the first stage shown in FIGS. 5A and 5B, two-input 8-input AND operations can be performed in parallel.

まず、論理演算ユニット100の一方の入力100aにはINA0、もう一方の入力100bにはINA1を入力し、AND演算子の出力を選択するようにsel100を設定することにより、論理演算ユニット100の出力100cとしてINA0とINA1の論理積演算出力が得られる。同様に、入力101aにINA2、入力101bにINA3を入力し、AND演算子の出力を選択するようにsel101を設定した論理演算ユニット101からは、INA2とINA3の論理積演算出力101cが得られ、入力102aにINA4、入力102bにINA5を入力し、AND演算子の出力を選択するようにsel102を設定した論理演算ユニット102からは、INA4とINA5の論理積演算出力102cが得られ、入力103aにINA6、入力103bにINA7を入力し、AND演算子の出力を選択するようにsel103を設定した論理演算ユニット103からは、INA6とINA7の論理積演算出力103cが得られ、入力104aにINB0、入力104bにINB1を入力し、AND演算子の出力を選択するようにsel104を設定した論理演算ユニット104からは、INB0とINB1の論理積演算出力104cが得られ、入力105aにINB2、入力105bにINB3を入力し、AND演算子の出力を選択するようにsel105を設定した論理演算ユニット105からは、INB2とINB3の論理積演算出力105cが得られ、入力106aにINB4、入力106bにINB5を入力し、AND演算子の出力を選択するようにsel106を設定した論理演算ユニット106からは、INB4とINB5の論理積演算出力106cが得られ、入力107aにINB6、入力107bにINB7を入力し、AND演算子の出力を選択するようにsel107を設定した論理演算ユニット107からは、INB6とINB7の論理積演算出力107cが得られる。   First, INA0 is input to one input 100a of the logical operation unit 100, INA1 is input to the other input 100b, and the output of the logical operation unit 100 is set by selecting sel100 to select the output of the AND operator. A logical product operation output of INA0 and INA1 is obtained as 100c. Similarly, from the logical operation unit 101 in which INA2 is input to the input 101a, INA3 is input to the input 101b, and sel101 is set so as to select the output of the AND operator, an AND operation output 101c of INA2 and INA3 is obtained. INA4 is input to the input 102a, INA5 is input to the input 102b, and the logical operation unit 102 in which sel102 is set so as to select the output of the AND operator obtains the AND operation output 102c of INA4 and INA5, and is input to the input 103a. The logical operation unit 103 in which INA7 is input to INA6 and the input 103b and sel103 is set so as to select the output of the AND operator is obtained as the logical product output 103c of INA6 and INA7, and INB0 and input are input to the input 104a. Input INB1 to 104b and output AND operator From the logical operation unit 104 in which sel 104 is set to be selected, the logical product operation output 104c of INB0 and INB1 is obtained, INB2 is input to the input 105a, and INB3 is input to the input 105b, and the output of the AND operator is selected. The logical operation unit 105 in which sel 105 is set provides the logical product operation output 105c of INB2 and INB3, INB4 is input to the input 106a, INB5 is input to the input 106b, and the sel 106 is selected to select the output of the AND operator. From the set logical operation unit 106, the logical product operation output 106c of INB4 and INB5 is obtained, INB6 is input to the input 107a, INB7 is input to the input 107b, and the logic in which sel107 is set to select the output of the AND operator From the arithmetic unit 107, INB6 and INB7 ANDing the output 107c can be obtained.

続いて、論理演算ユニット200の一方の入力に論理演算ユニット100の出力100cを入力し、もう一方の入力に論理演算ユニット101の出力101cを入力し、AND演算子の出力を選択するようにsel200を設定することにより、論理演算ユニット200の出力200aとして、100cと101cの論理積演算出力、すなわち、INA0、INA1、INA2、INA3の論理積演算出力が得られる。同様に、論理演算ユニット102の出力102cと論理演算ユニット103の出力103cを入力し、AND演算子の出力を選択するようにsel201を設定した論理演算ユニット201からは、102cと103cの論理積演算出力、すなわち、INA4、INA5、INA6、INA7の論理積演算出力201aが得られ、論理演算ユニット104の出力104cと論理演算ユニット105の出力105cを入力し、AND演算子の出力を選択するようにsel202を設定した論理演算ユニット202からは、104cと105cの論理積演算出力、すなわち、INB0、INB1、INB2、INB3の論理積演算出力202aが得られ、論理演算ユニット106の出力106cと論理演算ユニット107の出力107cを入力し、AND演算子の出力を選択するようにsel203を設定した論理演算ユニット203からは、106cと107cの論理積演算出力、すなわち、INB4、INB5、INB6、INB7の論理積演算出力203aが得られる。   Subsequently, the output 100c of the logical operation unit 100 is input to one input of the logical operation unit 200, the output 101c of the logical operation unit 101 is input to the other input, and the output of the AND operator is selected. Is set as the output 200a of the logical operation unit 200, the logical product output of 100c and 101c, that is, the logical product output of INA0, INA1, INA2, and INA3 is obtained. Similarly, the logical operation unit 201 which inputs the output 102c of the logical operation unit 102 and the output 103c of the logical operation unit 103 and sets the sel 201 so as to select the output of the AND operator is the logical product operation of 102c and 103c. The output, that is, the logical product operation output 201a of INA4, INA5, INA6, and INA7 is obtained, and the output 104c of the logical operation unit 104 and the output 105c of the logical operation unit 105 are input, and the output of the AND operator is selected. From the logical operation unit 202 in which sel 202 is set, a logical product operation output of 104c and 105c, that is, a logical product operation output 202a of INB0, INB1, INB2, and INB3 is obtained, and an output 106c of the logical operation unit 106 and the logical operation unit Input the output 107c of 107 From logic unit 203 to set the sel203 so as to select the output of the AND operator, 106c and 107c ANDed output, i.e., INB4, INB5, INB6, INB7 of logical operation output 203a is obtained.

続いて、論理演算ユニット300の一方の入力に論理演算ユニット200の出力200aを入力し、もう一方の入力に論理演算ユニット201の出力201aを入力し、AND演算子の出力を選択するようにsel300を設定することにより、論理演算ユニット300の出力300aとして、200aと201aの論理積演算出力、すなわち、INA0、INA1、INA2、INA3、INA4、INA5、INA6、INA7の論理積演算出力が得られる。同様に、論理演算ユニット202の出力202aと論理演算ユニット203の出力203aを入力し、AND演算子の出力を選択するようにsel301を設定した論理演算ユニット301からは、202aと203aの論理積演算出力、すなわち、INB0、INB1、INB2、INB3、INB4、INB5、INB6、INB7の論理積演算出力301aが得られる。   Subsequently, the output 200a of the logical operation unit 200 is input to one input of the logical operation unit 300, the output 201a of the logical operation unit 201 is input to the other input, and the output of the AND operator is selected. Is set as the output 300a of the logical operation unit 300, the logical product output of 200a and 201a, that is, the logical product operation output of INA0, INA1, INA2, INA3, INA4, INA5, INA6, and INA7. Similarly, from the logical operation unit 301 in which the output 202a of the logical operation unit 202 and the output 203a of the logical operation unit 203 are input and the sel 301 is set so as to select the output of the AND operator, the logical product operation of 202a and 203a is performed. Output, that is, a logical product operation output 301a of INB0, INB1, INB2, INB3, INB4, INB5, INB6, and INB7 is obtained.

続いて、一つの入力に論理演算ユニット300の出力300aを入力し、一つの入力に論理演算ユニット202の出力202a、一つの入力に論理演算ユニット106の出力106cを入力したセレクタ502には、出力300aを選択するようにセレクト信号sel502を設定することにより、OUTAとして、論理演算ユニット300の出力300a、すなわち、INA0、INA1、INA2、INA3、INA4、INA5、INA6、INA7の論理積演算出力が得られる。同様に、論理演算ユニット400の出力400a、論理演算ユニット301の出力301a、論理演算ユニット203の出力203a、論理演算ユニット107の出力107cを入力したセレクタ503には、出力301aを選択するようにセレクト信号sel503を設定することにより、OUTBとして、論理演算ユニット301の出力301a、すなわち、INB0、INB1、INB2、INB3、INB4、INB5、INB6、INB7の論理積演算出力が得られる。以上により、8入力の論理積演算出力OUTA、OUTBが2並列同時に出力される。   Subsequently, the output 300a of the logical operation unit 300 is input to one input, the output 202a of the logical operation unit 202 is input to one input, and the output 106c of the logical operation unit 106 is input to one input to the selector 502. By setting the select signal sel502 to select 300a, the output 300a of the logical operation unit 300, that is, the logical product operation output of INA0, INA1, INA2, INA3, INA4, INA5, INA6, and INA7 is obtained as OUTA. It is done. Similarly, the selector 503 to which the output 400a of the logical operation unit 400, the output 301a of the logical operation unit 301, the output 203a of the logical operation unit 203, and the output 107c of the logical operation unit 107 are selected so as to select the output 301a. By setting the signal sel503, an output 301a of the logical operation unit 301, that is, an AND operation output of INB0, INB1, INB2, INB3, INB4, INB5, INB6, and INB7 is obtained as OUTB. As described above, the 8-input AND operation outputs OUTA and OUTB are simultaneously output in parallel.

次に、16入力論理積演算の動作例を説明する。
図6−1および図6−2は、16入力論理積演算時の回路構成を示す説明図である。
図6−1および図6−2に示す2入力の論理演算ユニットが1段目に8個配置されている回路構成では、16入力までの論理演算が可能である。
Next, an operation example of 16-input AND operation will be described.
FIGS. 6A and 6B are explanatory diagrams illustrating a circuit configuration at the time of 16-input AND operation.
In the circuit configuration in which eight 2-input logical operation units shown in FIGS. 6A and 6B are arranged in the first stage, logical operations up to 16 inputs can be performed.

まず、論理演算ユニット100の一方の入力100aにはIN0、もう一方の入力100bにはIN1を入力し、AND演算子の出力を選択するようにsel100を設定することにより、論理演算ユニット100の出力100cとしてIN0とIN1の論理積演算出力が得られる。同様に、入力101aにIN2、入力101bにIN3を入力し、AND演算子の出力を選択するようにsel101を設定した論理演算ユニット101からは、IN2とIN3の論理積演算出力101cが得られ、入力102aにIN4、入力102bにIN5を入力し、AND演算子の出力を選択するようにsel102を設定した論理演算ユニット102からは、IN4とIN5の論理積演算出力102cが得られ、入力103aにIN6、入力103bにIN7を入力し、AND演算子の出力を選択するようにsel103を設定した論理演算ユニット103からは、IN6とIN7の論理積演算出力103cが得られ、入力104aにIN8、入力104bにIN9を入力し、AND演算子の出力を選択するようにsel104を設定した論理演算ユニット104からは、IN8とIN9の論理積演算出力104cが得られ、入力105aにIN10、入力105bにIN11を入力し、AND演算子の出力を選択するようにsel105を設定した論理演算ユニット105からは、IN10とIN11の論理積演算出力105cが得られ、入力106aにIN12、入力106bにIN13を入力し、AND演算子の出力を選択するようにsel106を設定した論理演算ユニット106からは、IN12とIN13の論理積演算出力106cが得られ、入力107aにIN14、入力107bにIN15を入力し、AND演算子の出力を選択するようにsel107を設定した論理演算ユニット107からは、IN14とIN15の論理積演算出力107cが得られる。   First, IN0 is input to one input 100a of the logical operation unit 100, IN1 is input to the other input 100b, and the output of the logical operation unit 100 is set by selecting sel100 to select the output of the AND operator. A logical product operation output of IN0 and IN1 is obtained as 100c. Similarly, from the logical operation unit 101 in which IN2 is input to the input 101a, IN3 is input to the input 101b, and sel101 is set so as to select the output of the AND operator, a logical product operation output 101c of IN2 and IN3 is obtained. An AND operation output 102c of IN4 and IN5 is obtained from the logical operation unit 102 in which IN4 is input to the input 102a, IN5 is input to the input 102b, and sel102 is set so as to select the output of the AND operator. The logical operation unit 103 in which IN7 is input to IN6 and input 103b and sel103 is set so as to select the output of the AND operator is obtained as AND operation output 103c of IN6 and IN7, and IN8 and input are input to input 104a. Enter IN9 in 104b and set sel104 to select the output of the AND operator. The logical operation unit 104 thus determined obtains the logical product operation output 104c of IN8 and IN9, inputs IN10 to the input 105a, IN11 to the input 105b, and sets the sel 105 to select the output of the AND operator. A logical product operation output 105c of IN10 and IN11 is obtained from the arithmetic unit 105, IN12 is input to the input 106a, IN13 is input to the input 106b, and the logical operation unit 106 in which sel 106 is set to select the output of the AND operator. From the logical operation unit 107 in which the logical product operation output 106c of IN12 and IN13 is obtained, IN14 is input to the input 107a, IN15 is input to the input 107b, and the sel 107 is set so as to select the output of the AND operator. The AND operation output 107c of IN14 and IN15 is obtained. .

続いて、論理演算ユニット200の一方の入力に論理演算ユニット100の出力100cを入力し、もう一方の入力に論理演算ユニット101の出力101cを入力し、AND演算子の出力を選択するようにsel200を設定することにより、論理演算ユニット200の出力200aとして、100cと101cの論理積演算出力、すなわち、IN0、IN1、IN2、IN3の論理積演算出力が得られる。同様に、論理演算ユニット102の出力102cと論理演算ユニット103の出力103cを入力し、AND演算子の出力を選択するようにsel201を設定した論理演算ユニット201からは、102cと103cの論理積演算出力、すなわち、IN4、IN5、IN6、IN7の論理積演算出力201aが得られ、論理演算ユニット104の出力104cと論理演算ユニット105の出力105cを入力し、AND演算子の出力を選択するようにsel202を設定した論理演算ユニット202からは、104cと105cの論理積演算出力、すなわち、IN8、IN9、IN10、IN11の論理積演算出力202aが得られ、論理演算ユニット106の出力106cと論理演算ユニット107の出力107cを入力し、AND演算子の出力を選択するようにsel203を設定した論理演算ユニット203からは、106cと107cの論理積演算出力、すなわち、IN12、IN13、IN14、IN15の論理積演算出力203aが得られる。   Subsequently, the output 100c of the logical operation unit 100 is input to one input of the logical operation unit 200, the output 101c of the logical operation unit 101 is input to the other input, and the output of the AND operator is selected. Is set as the output 200a of the logical operation unit 200, the logical product output of 100c and 101c, that is, the logical product operation output of IN0, IN1, IN2, and IN3 is obtained. Similarly, the logical operation unit 201 which inputs the output 102c of the logical operation unit 102 and the output 103c of the logical operation unit 103 and sets the sel 201 so as to select the output of the AND operator is the logical product operation of 102c and 103c. An output, that is, an AND operation output 201a of IN4, IN5, IN6, and IN7 is obtained, and the output 104c of the logic operation unit 104 and the output 105c of the logic operation unit 105 are input, and the output of the AND operator is selected. From the logical operation unit 202 in which sel 202 is set, a logical product operation output of 104c and 105c, that is, a logical product operation output 202a of IN8, IN9, IN10, and IN11 is obtained. The output 106c of the logical operation unit 106 and the logical operation unit 107 output 107c is input and AND operation Of from logic unit 203 to set the sel203 as to select outputs, 106c and 107c ANDed output, i.e., IN12, IN13, IN14, IN15 of logical operation output 203a is obtained.

続いて、論理演算ユニット300の一方の入力に論理演算ユニット200の出力200aを入力し、もう一方の入力に論理演算ユニット201の出力201aを入力し、AND演算子の出力を選択するようにsel300を設定することにより、論理演算ユニット300の出力300aとして、出力200aと出力201aの論理積演算出力、すなわち、IN0、IN1、IN2、IN3、IN4、IN5、IN6、IN7の論理積演算出力が得られる。同様に、論理演算ユニット202の出力202aと論理演算ユニット203の出力203aを入力し、AND演算子の出力を選択するようにsel301を設定した論理演算ユニット301からは、出力202aと出力203aの論理積演算出力、すなわち、IN8、IN9、IN10、IN11、IN12、IN13、IN14、IN15の論理積演算出力301aが得られる。   Subsequently, the output 200a of the logical operation unit 200 is input to one input of the logical operation unit 300, the output 201a of the logical operation unit 201 is input to the other input, and the output of the AND operator is selected. Is obtained as the output 300a of the logical operation unit 300, that is, the logical product operation output of the output 200a and the output 201a, that is, the logical product operation output of IN0, IN1, IN2, IN3, IN4, IN5, IN6, and IN7. It is done. Similarly, from the logical operation unit 301 that receives the output 202a of the logical operation unit 202 and the output 203a of the logical operation unit 203 and sets the sel 301 to select the output of the AND operator, the logic of the output 202a and the output 203a A product operation output, that is, a logical product operation output 301a of IN8, IN9, IN10, IN11, IN12, IN13, IN14, and IN15 is obtained.

続いて、論理演算ユニット400の一方の入力に論理演算ユニット300の出力300aを入力し、もう一方の入力に論理演算ユニット301の出力301aを入力し、AND演算子の出力を選択するようにsel400を設定することにより、論理演算ユニット400の出力400aとして、出力300aと出力301aの論理積演算出力、すなわち、IN0、IN1、IN2、IN3、IN4、IN5、IN6、IN7、IN8、IN9、IN10、IN11、IN12、IN13、IN14、IN15の論理積演算出力が得られる。   Subsequently, the output 300a of the logical operation unit 300 is input to one input of the logical operation unit 400, the output 301a of the logical operation unit 301 is input to the other input, and the output of the AND operator is selected. As an output 400a of the logical operation unit 400, a logical product operation output of the output 300a and the output 301a, that is, IN0, IN1, IN2, IN3, IN4, IN5, IN6, IN7, IN8, IN9, IN10, An AND operation output of IN11, IN12, IN13, IN14, and IN15 is obtained.

続いて、一つの入力に論理演算ユニット400の出力400aを入力し、一つの入力に論理演算ユニット301の出力301aを入力し、一つの入力に論理演算ユニット203の出力203a、一つの入力に論理演算ユニット107の出力107cを入力したセレクタ503には、出力400aを選択するようにセレクト信号sel503を設定することにより、OUTとして、IN0、IN1、IN2、IN3、IN4、IN5、IN6、IN7、IN8、IN9、IN10、IN11、IN12、IN13、IN14、IN15の論理積演算出力が得られる。以上により、16入力の論理積演算出力OUTが出力される。   Subsequently, the output 400a of the logical operation unit 400 is input to one input, the output 301a of the logical operation unit 301 is input to one input, the output 203a of the logical operation unit 203 is input to one input, and the logic is input to one input. By setting the select signal sel 503 so as to select the output 400a, the selector 503 that has received the output 107c of the arithmetic unit 107 is set to OUT as IN0, IN1, IN2, IN3, IN4, IN5, IN6, IN7, IN8. , IN9, IN10, IN11, IN12, IN13, IN14, and IN15 are obtained. As a result, a 16-input AND operation output OUT is output.

上記のように、実施の形態1の回路は、ツリー状に構成することで回路の小型化を図ることが可能であるのと同時に、1段の論理演算であれば8並列に、2段の論理演算であれば4並列に、3段の論理演算であれば2並列に実行可能であり、処理の高速化を図ることが可能である。   As described above, the circuit of the first embodiment can be reduced in size by configuring it in a tree shape. At the same time, if one-stage logic operation is performed, two parallel stages are provided. If it is a logical operation, it can be executed in four parallels, and if it is a three-stage logical operation, it can be executed in two parallels, and the processing speed can be increased.

以上のように、実施の形態1の動的再構成可能演算装置によれば、それぞれが、2入力の値の論理演算を行う複数の第1論理演算ユニットと、複数の第1論理演算ユニットの出力のうち二つの出力を入力として論理演算を行う複数の第2論理演算ユニットと、複数の第2論理演算ユニットの出力のうち二つの出力を入力として論理演算を行う複数の第3論理演算ユニットと、複数の第3論理演算ユニットの二つの出力を入力として論理演算を行う第4論理演算ユニットと、複数の第1論理演算ユニットの出力のうち一つの出力と複数の第2論理演算ユニットの出力のうち一つの出力とを選択する複数の第1接続選択手段と、複数の第1論理演算ユニットの出力のうち一つの出力と複数の第2論理演算ユニットの出力のうち一つの出力と複数の第3論理演算ユニットの出力のうち一つの出力とを選択する第2接続選択手段と、複数の第1論理演算ユニットの出力のうち一つの出力と複数の第2論理演算ユニットの出力のうち一つの出力と複数の第3論理演算ユニットの出力のうち一つの出力と第4論理演算ユニットの出力とを選択する第3接続選択手段とを備えたので、面積効率の高い動的再構成可能演算装置を得ることができる。   As described above, according to the dynamically reconfigurable arithmetic device of the first embodiment, each of a plurality of first logical operation units that perform a logical operation of two-input values and a plurality of first logical operation units. A plurality of second logical operation units that perform logical operations using two outputs as inputs, and a plurality of third logical operation units that perform logical operations using two outputs among the outputs of the plurality of second logical operation units A fourth logic operation unit that performs a logical operation using two outputs of the plurality of third logic operation units as inputs, and one output of the plurality of first logic operation units and a plurality of second logic operation units. A plurality of first connection selecting means for selecting one of the outputs; one output among the outputs of the plurality of first logic operation units and one of the outputs of the plurality of second logic operation units; of A second connection selecting means for selecting one of the outputs of the three logic operation units; one of the outputs of the plurality of first logic operation units and one of the outputs of the plurality of second logic operation units; Since there is provided a third connection selection means for selecting one of the outputs and the outputs of the plurality of third logic operation units and the output of the fourth logic operation unit, the area reconfigurable operation device having high area efficiency Can be obtained.

また、実施の形態1の動的再構成可能演算装置によれば、論理演算ユニットは、複数種類の論理演算素子と、複数種類の論理演算素子の出力のうち一つの出力を論理演算ユニットの出力として選択する接続選択手段とを備えたので、種々の演算を行う動的再構成可能演算装置を容易に実現することができる。   In addition, according to the dynamically reconfigurable arithmetic device of the first embodiment, the logical operation unit outputs one output among a plurality of types of logical operation elements and the outputs of the plurality of types of logical operation elements. And a connection selection means for selecting as a dynamic reconfigurable arithmetic device that performs various calculations can be easily realized.

また、実施の形態1の動的再構成可能演算装置によれば、論理演算ユニットが備える複数種類の論演算素子を、AND、OR、NOT、EXORとしたので、例えば、8並列排他的論理和演算や4並列4入力論理和演算、あるいは2並列8入力論理積演算や16入力論理積演算といった論理演算を実現することができる。   Further, according to the dynamically reconfigurable arithmetic device of the first embodiment, since the plurality of types of logical operation elements included in the logical operation unit are AND, OR, NOT, and EXOR, for example, 8 parallel exclusive OR Logical operations such as operations, 4-parallel 4-input OR operations, 2-parallel 8-input AND operations, and 16-input AND operations can be realized.

実施の形態2.
実施の形態2は、実施の形態1の構成において論理演算ユニット100〜107の一方の入力側に記憶素子であるレジスタと第4接続選択手段であるセレクタとを備えたものである。
図7−1および図7−2は、実施の形態2における動的再構成可能演算装置を示す構成図である。
図示の動的再構成可能演算装置は、論理演算ユニット100〜107,200〜203,300,301,400,セレクタ500〜503,700〜707,レジスタ600〜607を備えている。ここで、レジスタ600〜607は、それぞれセレクタ700〜707を介して論理演算ユニット100〜107の一方の入力に接続される記憶素子であり、予め所定の値が設定されている。セレクタ700〜707は、2to1のセレクタであり、一方の入力をレジスタ600〜607の出力600a〜607aとして、もう一方の入力を入力データ100b〜107bとし、セレクタ出力700a〜707aを論理演算ユニット100〜107の入力となるように接続されている。これ以外の構成は、実施の形態1の構成と同様であるため、対応する部分に同一符号を付してその説明を省略する。
Embodiment 2. FIG.
The second embodiment includes a register as a storage element and a selector as a fourth connection selection means on one input side of the logical operation units 100 to 107 in the configuration of the first embodiment.
FIGS. 7A and 7B are configuration diagrams illustrating the dynamically reconfigurable arithmetic device according to the second embodiment.
The illustrated dynamically reconfigurable arithmetic unit includes logical arithmetic units 100 to 107, 200 to 203, 300, 301, 400, selectors 500 to 503, 700 to 707, and registers 600 to 607. Here, the registers 600 to 607 are storage elements connected to one input of the logical operation units 100 to 107 via the selectors 700 to 707, respectively, and predetermined values are set in advance. The selectors 700 to 707 are 2-to-1 selectors. One input is the outputs 600a to 607a of the registers 600 to 607, the other input is the input data 100b to 107b, and the selector outputs 700a to 707a are the logic operation units 100 to 100. 107 are connected so as to be input. Since the configuration other than this is the same as the configuration of the first embodiment, the corresponding parts are denoted by the same reference numerals and the description thereof is omitted.

レジスタ600〜607には、必要に応じて予め値を設定する。入力データ100bとレジスタ600の出力600aがセレクタ700に入力され、外部から入力される1ビットのセレクト信号sel700により選択され、セレクタ出力700aが得られる。同様に、入力データ101bとレジスタ601の出力601aが入力されたセレクタ701からは、セレクト信号sel701により選択されたセレクタ出力701aが得られ、入力データ102bとレジスタ602の出力602aが入力されたセレクタ702からは、セレクト信号sel702により選択されたセレクタ出力702aが得られ、入力データ103bとレジスタ603の出力603aが入力されたセレクタ703からは、セレクト信号sel703により選択されたセレクタ出力703aが得られ、入力データ104bとレジスタ604の出力604aが入力されたセレクタ704からは、セレクト信号sel704により選択されたセレクタ出力704aが得られ、入力データ105bとレジスタ605の出力605aが入力されたセレクタ705からは、セレクト信号sel705により選択されたセレクタ出力705aが得られ、入力データ106bとレジスタ606の出力606aが入力されたセレクタ706からは、セレクト信号sel706により選択されたセレクタ出力706aが得られ、入力データ107bとレジスタ607の出力607aが入力されたセレクタ707からは、セレクト信号sel707により選択されたセレクタ出力707aが得られる。   Values are set in advance in the registers 600 to 607 as necessary. The input data 100b and the output 600a of the register 600 are input to the selector 700, and are selected by a 1-bit select signal sel700 input from the outside, and a selector output 700a is obtained. Similarly, the selector 701 to which the input data 101b and the output 601a of the register 601 are input provides the selector output 701a selected by the select signal sel701, and the selector 702 to which the input data 102b and the output 602a of the register 602 are input. The selector output 702a selected by the select signal sel 702 is obtained, and the selector output 703a selected by the select signal sel 703 is obtained from the selector 703 to which the input data 103b and the output 603a of the register 603 are inputted. A selector output 704a selected by the select signal sel 704 is obtained from the selector 704 to which the data 104b and the output 604a of the register 604 are input, and the input data 105b and the output 605a of the register 605 are obtained. The selector output 705 a selected by the select signal sel 705 is obtained from the input selector 705, and the selector output 706 a selected by the select signal sel 706 is received from the selector 706 to which the input data 106 b and the output 606 a of the register 606 are input. From the selector 707 to which the input data 107b and the output 607a of the register 607 are input, the selector output 707a selected by the select signal sel707 is obtained.

続いて、入力データ100aと上記の演算で得られたセレクタ出力700aが入力された論理演算ユニット100からは、外部から入力される2ビットのセレクト信号sel100により選択された論理演算出力100cが得られる。同様に、入力データ101aとセレクタ出力701aが入力された論理演算ユニット101からは、セレクト信号sel101により選択された論理演算出力101cが得られ、入力データ102aとセレクタ出力702aが入力された論理演算ユニット102からは、セレクト信号sel102により選択された論理演算出力102cが得られ、入力データ103aとセレクタ出力703aが入力された論理演算ユニット103からは、セレクト信号sel103により選択された論理演算出力103cが得られ、入力データ104aとセレクタ出力704aが入力された論理演算ユニット104からは、セレクト信号sel104により選択された論理演算出力104cが得られ、入力データ105aとセレクタ出力705aが入力された論理演算ユニット105からは、セレクト信号sel105により選択された論理演算出力105cが得られ、入力データ106aとセレクタ出力706aが入力された論理演算ユニット106からは、セレクト信号sel106により選択された論理演算出力106cが得られ、入力データ107aとセレクタ出力707aが入力された論理演算ユニット107からは、セレクト信号sel107により選択された論理演算出力107cが得られる。   Subsequently, from the logical operation unit 100 to which the input data 100a and the selector output 700a obtained by the above operation are input, the logical operation output 100c selected by the 2-bit select signal sel100 input from the outside is obtained. . Similarly, from the logical operation unit 101 to which the input data 101a and the selector output 701a are input, the logical operation output 101c selected by the select signal sel101 is obtained, and the logical operation unit to which the input data 102a and the selector output 702a are input. The logical operation output 102c selected by the select signal sel102 is obtained from 102, and the logical operation output 103c selected by the select signal sel103 is obtained from the logical operation unit 103 to which the input data 103a and the selector output 703a are input. From the logical operation unit 104 to which the input data 104a and the selector output 704a are input, the logical operation output 104c selected by the select signal sel104 is obtained, and the input data 105a and the selector output 705a are input. A logical operation output 105c selected by the select signal sel105 is obtained from the logical operation unit 105, and a logical operation output selected by the select signal sel106 is received from the logical operation unit 106 to which the input data 106a and the selector output 706a are input. 106c is obtained, and the logical operation unit 107 selected by the select signal sel107 is obtained from the logical operation unit 107 to which the input data 107a and the selector output 707a are input.

次に、実施の形態2におけるAESのMix‐Column演算の動作例を説明する。
AESとは、Advanced Encryption Standardの略で、共通鍵暗号化方式の名称である。AESのプロセスのひとつにMix‐Column演算があり、Mix‐Column演算は、数式1に示す行列演算で表される。

Figure 0005241268
Next, an operation example of the AES Mix-Column operation in the second embodiment will be described.
AES is an abbreviation for Advanced Encryption Standard and is the name of a common key encryption method. One of the AES processes is a Mix-Column operation. The Mix-Column operation is expressed by a matrix operation shown in Equation 1.
Figure 0005241268

これを多項式に展開すると、数式2〜5で表される。
S′0={02}・S0+{03}・S1+{01}・S2+{01}・S3 (数式2)
S′1={01}・S0+{02}・S1+{03}・S2+{01}・S3 (数式3)
S′2={01}・S0+{01}・S1+{02}・S2+{03}・S3 (数式4)
S′3={03}・S0+{01}・S1+{01}・S2+{02}・S3 (数式5)
係数は1、2、3のみであるため、数式2〜5は、数式6〜9のように表すことができる。
S′0=(S0+S0)+(S1+S1+S1)+S2+S3 (数式6)
S′1=S0+(S1+S1)+(S2+S2+S2)+S3 (数式7)
S′2=S0+S1+(S2+S2)+(S3+S3+S3) (数式8)
S′3=(S0+S0+S0)+S1+S2+(S3+S3) (数式9)
ここで、Mix‐Column演算で扱われるのはガロア体であるため、加算“+”は排他的論理和演算となる。従って、数式6〜9は、論理演算子を用いて数式10〜13のように表される。

Figure 0005241268
When this is expanded into a polynomial, it is expressed by Equations 2-5.
S ′ 0 = {02} · S 0 + {03} · S 1 + {01} · S 2 + {01} · S 3 (Formula 2)
S ′ 1 = {01} · S 0 + {02} · S 1 + {03} · S 2 + {01} · S 3 (Formula 3)
S ′ 2 = {01} · S 0 + {01} · S 1 + {02} · S 2 + {03} · S 3 (Formula 4)
S ′ 3 = {03} · S 0 + {01} · S 1 + {01} · S 2 + {02} · S 3 (Formula 5)
Since the coefficients are only 1, 2, and 3, Equations 2 to 5 can be expressed as Equations 6 to 9.
S ′ 0 = (S 0 + S 0 ) + (S 1 + S 1 + S 1 ) + S 2 + S 3 (Formula 6)
S ′ 1 = S 0 + (S 1 + S 1 ) + (S 2 + S 2 + S 2 ) + S 3 (Formula 7)
S ′ 2 = S 0 + S 1 + (S 2 + S 2 ) + (S 3 + S 3 + S 3 ) (Formula 8)
S ′ 3 = (S 0 + S 0 + S 0 ) + S 1 + S 2 + (S 3 + S 3 ) (Formula 9)
Here, since it is a Galois field that is handled in the Mix-Column operation, the addition “+” is an exclusive OR operation. Therefore, Expressions 6 to 9 are expressed as Expressions 10 to 13 using logical operators.
Figure 0005241268

図8−1および図8−2は、実施の形態2におけるAESのMix‐Column演算の数式10の回路構成を示す説明図である。
まず、レジスタ600,601,602,603,604,606に定数0を設定する。また、入力105bにはS1を、入力107bにはS0を入力する。
続いて、セレクタ700の一方の入力に100bを入力し、もう一方の入力にレジスタ600の出力600aを入力し、レジスタ出力600aを選択するようにセレクト信号sel700を設定することで、セレクタ700の出力700aからはレジスタ出力600a、すなわち定数0が得られる。同様に、入力101bとレジスタ出力601aが入力されるセレクタ701に、レジスタ出力601aを選択するようにセレクト信号sel701を設定することで、出力701aからレジスタ出力601a、すなわち定数0が得られ、入力102bとレジスタ出力602aが入力されるセレクタ702に、レジスタ出力602aを選択するようにセレクト信号sel702を設定することで、出力702aからレジスタ出力602a、すなわち定数0が得られ、入力103bとレジスタ出力603aが入力されるセレクタ703に、レジスタ出力603aを選択するようにセレクト信号sel703を設定することで、出力703aからレジスタ出力603a、すなわち定数0が得られ、入力104bとレジスタ出力604aが入力されるセレクタ704に、レジスタ出力604aを選択するようにセレクト信号sel704を設定することで、出力704aからレジスタ出力604a、すなわち定数0が得られ、入力105bとレジスタ出力605aが入力されるセレクタ705に、入力105bを選択するようにセレクト信号sel705を設定することで、出力705aから入力105b、すなわちS1が得られ、入力106bとレジスタ出力606aが入力されるセレクタ706に、レジスタ出力606aを選択するようにセレクト信号sel706を設定することで、出力706aからレジスタ出力606a、すなわち定数0が得られ、入力107bとレジスタ出力607aが入力されるセレクタ707に、入力107bを選択するようにセレクト信号sel707を設定することで、出力707aから入力107b、すなわちS0が得られる。
FIGS. 8A and 8B are explanatory diagrams illustrating a circuit configuration of Expression 10 of the AES Mix-Column operation according to the second embodiment.
First, a constant 0 is set in the registers 600, 601, 602, 603, 604, and 606. Further, S 1 is input to the input 105b, and S 0 is input to the input 107b.
Subsequently, 100b is input to one input of the selector 700, the output 600a of the register 600 is input to the other input, and the select signal sel700 is set so as to select the register output 600a, whereby the output of the selector 700 is output. From 700a, a register output 600a, that is, a constant 0 is obtained. Similarly, by setting the select signal sel701 so as to select the register output 601a in the selector 701 to which the input 101b and the register output 601a are input, the register output 601a, that is, the constant 0 is obtained from the output 701a, and the input 102b By setting the select signal sel 702 so as to select the register output 602a in the selector 702 to which the register output 602a is input, the register output 602a, that is, the constant 0 is obtained from the output 702a, and the input 103b and the register output 603a are By setting the select signal sel 703 so as to select the register output 603a in the input selector 703, the register output 603a, that is, the constant 0 is obtained from the output 703a, and the input 104b and the register output 604a are input. By setting the select signal sel 704 to the register 704 so as to select the register output 604a, the register output 604a, that is, the constant 0 is obtained from the output 704a, and the input 105b and the register output 605a are input to the selector 705. by setting the select signals sel705 to select 105b, input 105b from the output 705a, i.e. S 1 is obtained, the selector 706 inputs 106b and the register output 606a is input, so as to select the register output 606a By setting the select signal sel 706, the register output 606a, that is, the constant 0 is obtained from the output 706a. The selector 707 to which the input 107b and the register output 607a are input is set to select the input 107b. By constant, inputs 107b from the output 707a, that is, S 0 is obtained.

続いて、論理演算ユニット100の一方の入力100aにはある値を、もう一方の入力にはセレクタ出力700aを入力し、AND演算子の出力を選択するようにsel100を設定することにより、論理演算ユニット100の出力100cとして、ある値と700a、すなわち定数0の論理積演算出力、すなわち定数0が得られる。また、論理演算ユニット101の一方の入力101aにはS3を、もう一方の入力にはセレクタ出力701aを入力し、OR演算子の出力を選択するようにsel101を設定することにより、論理演算ユニット101の出力101cとして、S3と701a、すなわち定数0の論理和演算出力、すなわちS3が得られる。また、論理演算ユニット102の一方の入力102aにはある値を、もう一方の入力にはセレクタ出力702aを入力し、AND演算子の出力を選択するようにsel102を設定することにより、論理演算ユニット102の出力102cとして、ある値と702a、すなわち定数0の論理積演算出力、すなわち定数0が得られる。論理演算ユニット103の一方の入力103aにはS2を、もう一方の入力にはセレクタ出力703aを入力し、OR演算子の出力を選択するようにsel103を設定することにより、論理演算ユニット103の出力103cとして、S2と703a、すなわち定数0の論理和演算出力、すなわちS2が得られる。 Subsequently, a certain value is input to one input 100a of the logical operation unit 100, a selector output 700a is input to the other input, and sel100 is set so as to select the output of the AND operator. As an output 100c of the unit 100, a logical product operation output of a certain value and 700a, that is, a constant 0, that is, a constant 0 is obtained. Also, the S 3 to one input 101a of the arithmetic logic unit 101 receives the selector output 701a to the other input, by setting the sel101 to select the output of the OR operator, a logical operation unit as the output 101c of the 101, S 3 and 701a, i.e. the logical OR operation output constant 0, that is, S 3 is obtained. In addition, a certain value is input to one input 102a of the logical operation unit 102, a selector output 702a is input to the other input, and the sel 102 is set so as to select the output of the AND operator. As an output 102c of 102, a logical product operation output of a certain value and 702a, that is, a constant 0, that is, a constant 0 is obtained. S 2 is input to one input 103 a of the logical operation unit 103, the selector output 703 a is input to the other input, and sel 103 is set so as to select the output of the OR operator. as output 103c, S 2 and 703a, i.e. the logical OR operation output of the constant 0, i.e. S 2 is obtained.

また、論理演算ユニット104の一方の入力104aにはS1を、もう一方の入力にはセレクタ出力704aを入力し、OR演算子の出力を選択するようにsel104を設定することにより、論理演算ユニット104の出力104cとして、S1と704a、すなわち定数0の論理和演算出力、すなわちS1が得られる。論理演算ユニット105の一方の入力105aにはS1を、もう一方の入力にはセレクタ出力705aを入力し、EXOR演算子の出力を選択するようにsel105を設定することにより、論理演算ユニット105の出力105cとして、S1と705a、すなわちS1の排他的論理和演算出力(S1 1)が得られる。なお、は排他的論理和の演算子を示している。また、論理演算ユニット106の一方の入力106aにはある値を、もう一方の入力にはセレクタ出力706aを入力し、AND演算子の出力を選択するようにsel106を設定することにより、論理演算ユニット106の出力106cとして、ある値と706a、すなわち定数0の論理積演算出力、すなわち定数0が得られる。論理演算ユニット107の一方の入力107aにはS0を、もう一方の入力にはセレクタ出力707aを入力し、EXOR演算子の出力を選択するようにsel107を設定することにより、論理演算ユニット107の出力107cとして、S0と707a、すなわちS0の排他的論理和演算出力(S0 0)が得られる。 Moreover, the S 1 to one input 104a of the arithmetic logic unit 104 receives the selector output 704a to the other input, by setting the sel104 to select the output of the OR operator, a logical operation unit as the output 104c of the 104, S 1 and 704a, i.e. the logical OR operation output constant 0, that is, S 1 is obtained. The S 1 to one input 105a of the logic unit 105, the other input to the input selector output 705a, to select the output of the EXOR operator by setting the SEL 105, arithmetic logic unit 105 as output 105c, S 1 and 705a, i.e. XOR operation outputs of S 1 (S 1 ∧ S 1 ) is obtained. Note that indicates an exclusive OR operator. In addition, a certain value is input to one input 106a of the logical operation unit 106, a selector output 706a is input to the other input, and the sel 106 is set so as to select the output of the AND operator. As an output 106c of 106, a logical product operation output of a certain value and 706a, that is, a constant 0, that is, a constant 0 is obtained. The S 0 to one input 107a of the logic unit 107, the other input to the input selector output 707a, to select the output of the EXOR operator by setting the Sel107, arithmetic logic unit 107 as output 107c, S 0 and 707a, i.e. XOR operation outputs of S 0 (S 0 ∧ S 0 ) is obtained.

続いて、論理演算ユニット200の一方の入力に論理演算ユニット100の出力100cを入力し、もう一方の入力に論理演算ユニット101の出力101cを入力し、EXOR演算子の出力を選択するようにsel200を設定することにより、論理演算ユニット200の出力200aとして、100cと101cの排他的論理和演算出力、すなわち、定数0とS3の排他的論理和演算出力、すなわちS3が得られる。同様に、論理演算ユニット102の出力102cと論理演算ユニット103の出力103cを入力し、EXOR演算子の出力を選択するようにsel201を設定した論理演算ユニット201からは、102cと103cの排他的論理和演算出力、すなわち、定数0とS2の排他的論理和演算出力201a、すなわちS2が得られ、論理演算ユニット104の出力104cと論理演算ユニット105の出力105cを入力し、EXOR演算子の出力を選択するようにsel202を設定した論理演算ユニット202からは、104cと105cの排他的論理和演算出力、すなわち、S1と(S1 1)の排他的論理和演算出力202a、すなわち(S1 1 1)が得られ、論理演算ユニット106の出力106cと論理演算ユニット107の出力107cを入力し、EXOR演算子の出力を選択するようにsel203を設定した論理演算ユニット203からは、106cと107cの排他的論理和演算出力、すなわち、定数0と(S0 0)の排他的論理和演算出力203a、すなわち(S0 0)が得られる。 Subsequently, the output 100c of the logical operation unit 100 is input to one input of the logical operation unit 200, the output 101c of the logical operation unit 101 is input to the other input, and the output of the EXOR operator is selected. by setting, as an output 200a of the logic unit 200, an exclusive OR operation output 100c and 101c, i.e., XOR operation outputs the constant 0 and S 3, that is, S 3 is obtained. Similarly, the logical operation unit 201 that inputs the output 102c of the logical operation unit 102 and the output 103c of the logical operation unit 103 and sets sel 201 so as to select the output of the EXOR operator is used as the exclusive logic of 102c and 103c. sum operation output, i.e., XOR operation outputs 201a constants 0 and S 2, i.e. S 2 is obtained by inputting the output 105c of the output 104c and the logical operation unit 105 of the arithmetic logic unit 104, the EXOR operator the logical operation unit 202 sets the sel202 to select the output, the exclusive OR operation output 104c and 105c, i.e., the exclusive-OR operation output 202a of the S 1 and (S 1 S 1), namely (S 1 ∧ S 1 ∧ S 1) is obtained, the output 106c and logic unit of the arithmetic logic unit 106 Enter the 07 output 107c, from the logic operation unit 203 to set the sel203 so as to select the output of the EXOR operator of 106c and 107c XOR output, i.e., the constant 0 (S 0 S 0 ) of the exclusive OR operation output 203a, that is, (S 0 ∧S 0 ).

続いて、論理演算ユニット300の一方の入力に論理演算ユニット200の出力200aを入力し、もう一方の入力に論理演算ユニット201の出力201aを入力し、EXOR演算子の出力を選択するようにsel300を設定することにより、論理演算ユニット300の出力300aとして、200aと201aの排他的論理和演算出力、すなわち、S3とS2の排他的論理和演算出力(S2 3)が得られる。同様に、論理演算ユニット202の出力202aと論理演算ユニット203の出力203aを入力し、EXOR演算子の出力を選択するようにsel301を設定した論理演算ユニット301からは、202aと203aの排他的論理和演算出力、すなわち、(S1 1 1)と(S0 0)の排他的論理和演算出力301a、すなわち(S0 0 (S1 1 1)が得られる。 Subsequently, the output 200a of the logical operation unit 200 is input to one input of the logical operation unit 300, the output 201a of the logical operation unit 201 is input to the other input, and the output of the EXOR operator is selected. by setting, as an output 300a of the logic unit 300, an exclusive OR operation output 200a and 201a, i.e., XOR operation outputs of S 3 and S 2 (S 2 ∧ S 3 ) is obtained . Similarly, from the logical operation unit 301 that inputs the output 202a of the logical operation unit 202 and the output 203a of the logical operation unit 203 and sets sel 301 so as to select the output of the EXOR operator, the exclusive logic of 202a and 203a is obtained. sum operation output, i.e., (S 1 ∧ S 1 ∧ S 1) and (S 0 S 0) of the exclusive OR operation output 301a, i.e. (S 0 ∧ S 0) ∧ (S 1 ∧ S 1 ∧ S 1 ) is obtained.

続いて、論理演算ユニット400の一方の入力に論理演算ユニット300の出力300aを入力し、もう一方の入力に論理演算ユニット301の出力301aを入力し、EXOR演算子の出力を選択するようにsel400を設定することにより、論理演算ユニット400の出力400aとして、300aと301a、すなわち、(S2 3)と(S0 0 (S1 1 1)の排他的論理和演算出力、すなわち、(S0 0 (S1 1 1 (S2 3)が得られる。 Subsequently, the output 300a of the logical operation unit 300 is input to one input of the logical operation unit 400, the output 301a of the logical operation unit 301 is input to the other input, and the output of the EXOR operator is selected. by setting, as an output 400a of the logic unit 400, 300a and 301a, i.e., exclusive of (S 2 S 3) and (S 0 ∧ S 0) ∧ (S 1 ∧ S 1 ∧ S 1) ORed output, i.e., is obtained (S 0 ∧ S 0) ∧ (S 1 ∧ S 1 ∧ S 1) ∧ (S 2 ∧ S 3).

続いて、一つの入力に論理演算ユニット400の出力400aを入力し、一つの入力に論理演算ユニット301の出力301aを入力し、一つの入力に論理演算ユニット203の出力203a、一つの入力に論理演算ユニット107の出力107cを入力したセレクタ503に、400aを選択するようにセレクト信号sel503を設定することにより、数式10の出力S′0として、(S0 0 (S1 1 1 (S2 3)が得られる。
数式11〜13についても同様に演算出力を得られる。
Subsequently, the output 400a of the logical operation unit 400 is input to one input, the output 301a of the logical operation unit 301 is input to one input, the output 203a of the logical operation unit 203 is input to one input, and the logic is input to one input. By setting the select signal sel 503 so as to select 400a in the selector 503 to which the output 107c of the arithmetic unit 107 is input, the output S ′ 0 of Equation 10 is (S 0 S 0 ) (S 1 S 1 ∧ S 1) ∧ (S 2 ∧ S 3) is obtained.
The calculation output can be similarly obtained for the mathematical expressions 11 to 13.

以上のように、実施の形態2の動的再構成可能演算装置によれば、任意の値を保持する複数の記憶素子と、複数の記憶素子の出力と所定の入力とを選択する第4接続選択手段を設け、複数の第1論理演算ユニットは第4接続選択手段の選択結果を、2入力のうちの一方の入力とするようにしたので、第1論理演算ユニットへの入力データとして毎回入力しなければならないような場合でもこれを省略することができ、データ入力によるサイクル数の削減やバス幅の削減を図ることができる。   As described above, according to the dynamically reconfigurable computing device of the second embodiment, the plurality of storage elements that hold arbitrary values, and the fourth connection that selects the outputs and the predetermined inputs of the plurality of storage elements Since the selection means is provided, and the plurality of first logical operation units are set so that the selection result of the fourth connection selection means is one of the two inputs, it is input every time as input data to the first logical operation unit. This can be omitted even if it must be done, and the number of cycles and the bus width can be reduced by data input.

実施の形態3.
図9は、実施の形態3における半導体装置を示すものである。
図9において、半導体装置7は、実施の形態1または実施の形態2の動的再構成可能演算装置8と、動的再構成可能演算装置8に入力される演算前のデータあるいは演算後のデータのうち少なくとも一方のデータを格納する入出力データバッファ9を備える。このような半導体装置7は、所定の演算処理を指定するプロセッサであるCPU10と、半導体装置7が処理するデータを格納するメモリ11とバスライン12を介して接続されている。
Embodiment 3 FIG.
FIG. 9 shows a semiconductor device according to the third embodiment.
In FIG. 9, the semiconductor device 7 includes a dynamic reconfigurable arithmetic device 8 according to the first embodiment or the second embodiment, and data before operation or data input to the dynamic reconfigurable arithmetic device 8 Are provided with an input / output data buffer 9 for storing at least one of the data. Such a semiconductor device 7 is connected via a bus line 12 to a CPU 10 that is a processor that designates predetermined arithmetic processing, and a memory 11 that stores data processed by the semiconductor device 7.

CPU10は、動的再構成可能演算装置8において処理する入力データを、ある単位分、メモリ11からバスライン12を介して入出力データバッファ9に格納する。動的再構成可能演算装置8は、CPU10からの指示により、入出力データバッファ9から入力データを読み込み、演算を開始する。演算が終了すると、動的再構成可能演算装置8から入出力データバッファ9へ演算後のデータが書き込まれる。ある単位分の演算が終了すると、CPU10は入出力データバッファ9に格納されている演算後のデータを、バスライン12を介してメモリ11に書き込む。   The CPU 10 stores input data to be processed in the dynamically reconfigurable arithmetic unit 8 from the memory 11 to the input / output data buffer 9 via the bus line 12 for a certain unit. The dynamically reconfigurable computing device 8 reads input data from the input / output data buffer 9 according to an instruction from the CPU 10 and starts computation. When the computation is completed, the data after computation is written from the dynamically reconfigurable computing device 8 to the input / output data buffer 9. When the calculation for a certain unit is completed, the CPU 10 writes the post-calculation data stored in the input / output data buffer 9 into the memory 11 via the bus line 12.

以上のように、実施の形態3の半導体装置によれば、動的再構成可能演算装置は、所定の演算処理を指定するプロセッサからの指示に基づいて、その指示に対応した演算処理を行うと共に、動的再構成可能演算装置に入力される演算前のデータまたは演算後のデータのうち、少なくとも一方のデータを格納するバッファを設けたので、プロセッサとの接続が容易な半導体装置を実現することができる。   As described above, according to the semiconductor device of the third embodiment, the dynamically reconfigurable arithmetic device performs arithmetic processing corresponding to the instruction based on the instruction from the processor specifying the predetermined arithmetic processing. Since a buffer for storing at least one of pre-computed data and post-computed data input to the dynamically reconfigurable computing device is provided, a semiconductor device that can be easily connected to the processor is realized. Can do.

この発明の実施の形態1による動的再構成可能演算装置を示す構成図である。BRIEF DESCRIPTION OF THE DRAWINGS It is a block diagram which shows the dynamic reconfigurable arithmetic unit by Embodiment 1 of this invention. この発明の実施の形態1の動的再構成可能演算装置における論理演算ユニットの内部構成図である。It is an internal block diagram of the logical operation unit in the dynamically reconfigurable operation device according to the first embodiment of the present invention. この発明の実施の形態1の動的再構成可能演算装置を用いた8並列排他的論理和演算時の回路構成を示す説明図である。It is explanatory drawing which shows the circuit structure at the time of 8 parallel exclusive OR calculation using the dynamic reconfigurable arithmetic unit of Embodiment 1 of this invention. この発明の実施の形態1の動的再構成可能演算装置を用いた8並列排他的論理和演算時の回路構成を示す説明図である。It is explanatory drawing which shows the circuit structure at the time of 8 parallel exclusive OR calculation using the dynamic reconfigurable arithmetic unit of Embodiment 1 of this invention. この発明の実施の形態1の動的再構成可能演算装置を用いた4並列の4入力論理和演算の回路構成を示す説明図である。It is explanatory drawing which shows the circuit structure of 4 parallel 4 input OR operation using the dynamic reconfigurable arithmetic unit of Embodiment 1 of this invention. この発明の実施の形態1の動的再構成可能演算装置を用いた4並列の4入力論理和演算の回路構成を示す説明図である。It is explanatory drawing which shows the circuit structure of 4 parallel 4 input OR operation using the dynamic reconfigurable arithmetic unit of Embodiment 1 of this invention. この発明の実施の形態1の動的再構成可能演算装置を用いた8入力論理積演算を2並列で動作させる場合の回路構成を示す説明図である。It is explanatory drawing which shows the circuit structure in the case of operating 8 input AND operation using the dynamic reconfigurable arithmetic unit of Embodiment 1 of this invention in parallel. この発明の実施の形態1の動的再構成可能演算装置を用いた8入力論理積演算を2並列で動作させる場合の回路構成を示す説明図である。It is explanatory drawing which shows the circuit structure in the case of operating 8 input AND operation using the dynamic reconfigurable arithmetic unit of Embodiment 1 of this invention in parallel. この発明の実施の形態1の動的再構成可能演算装置を用いた16入力論理積演算の場合の回路構成を示す説明図である。It is explanatory drawing which shows the circuit structure in the case of 16 input AND operation using the dynamic reconfigurable arithmetic unit of Embodiment 1 of this invention. この発明の実施の形態1の動的再構成可能演算装置を用いた16入力論理積演算の場合の回路構成を示す説明図である。It is explanatory drawing which shows the circuit structure in the case of 16 input AND operation using the dynamic reconfigurable arithmetic unit of Embodiment 1 of this invention. この発明の実施の形態2による動的再構成可能演算装置を示す構成図である。It is a block diagram which shows the dynamic reconfigurable arithmetic unit by Embodiment 2 of this invention. この発明の実施の形態2による動的再構成可能演算装置を示す構成図である。It is a block diagram which shows the dynamic reconfigurable arithmetic unit by Embodiment 2 of this invention. この発明の実施の形態2による動的再構成可能演算装置を用いたAESのMix‐Column演算の数式10の回路構成を示す説明図である。It is explanatory drawing which shows the circuit structure of Formula 10 of the Mix-Column calculation of AES using the dynamic reconfigurable arithmetic unit by Embodiment 2 of this invention. この発明の実施の形態2による動的再構成可能演算装置を用いたAESのMix‐Column演算の数式10の回路構成を示す説明図である。It is explanatory drawing which shows the circuit structure of Formula 10 of the Mix-Column calculation of AES using the dynamic reconfigurable arithmetic unit by Embodiment 2 of this invention. この発明の実施の形態3による半導体装置を示す構成図である。It is a block diagram which shows the semiconductor device by Embodiment 3 of this invention.

符号の説明Explanation of symbols

1,100〜107,200〜203,300,301,400 論理演算ユニット、2 NOT演算子、3 EXOR演算子、4 OR演算子、5 AND演算子、6 セレクタ、7 半導体装置、8 動的再構成可能演算装置、9 入出力データバッファ、10 CPU、11 メモリ、12 バスライン、100a〜107a,100b〜107b 論理演算ユニットの入力、100c〜107c,200a〜203a,300a,301a,400a 論理演算ユニットの出力、500〜503,700〜707 セレクタ、600〜607 レジスタ、600a〜607a レジスタ出力、700a〜707a セレクタ出力。   1, 100 to 107, 200 to 203, 300, 301, 400 Logical operation unit, 2 NOT operator, 3 EXOR operator, 4 OR operator, 5 AND operator, 6 selector, 7 semiconductor device, 8 dynamic re Configurable arithmetic unit, 9 input / output data buffer, 10 CPU, 11 memory, 12 bus lines, 100a to 107a, 100b to 107b, logical operation unit input, 100c to 107c, 200a to 203a, 300a, 301a, 400a logical operation unit Output, 500-503, 700-707 selector, 600-607 register, 600a-607a register output, 700a-707a selector output.

Claims (4)

それぞれが、2入力の値の論理演算を行う複数の第1論理演算ユニットと、
前記複数の第1論理演算ユニットの出力のうち二つの出力を入力として論理演算を行う複数の第2論理演算ユニットと、
前記複数の第2論理演算ユニットの出力のうち二つの出力を入力として論理演算を行う複数の第3論理演算ユニットと、
前記複数の第3論理演算ユニットの二つの出力を入力として論理演算を行う第4論理演算ユニットと、
前記複数の第1論理演算ユニットの出力のうち一つの出力と前記複数の第2論理演算ユニットの出力のうち一つの出力とを選択する複数の第1接続選択手段と、
前記複数の第1論理演算ユニットの出力のうち一つの出力と前記複数の第2論理演算ユニットの出力のうち一つの出力と前記複数の第3論理演算ユニットの出力のうち一つの出力とを選択する第2接続選択手段と、
前記複数の第1論理演算ユニットの出力のうち一つの出力と前記複数の第2論理演算ユニットの出力のうち一つの出力と前記複数の第3論理演算ユニットの出力のうち一つの出力と前記第4論理演算ユニットの出力とを選択する第3接続選択手段とを備え
前記論理演算ユニットは、複数種類の論理演算素子と、当該複数種類の論理演算素子の出力のうち一つの出力を論理演算ユニットの出力として選択する接続選択手段とを備えたことを特徴とする動的再構成可能演算装置。
A plurality of first logical operation units each performing a logical operation of two-input values;
A plurality of second logic operation units that perform a logic operation using two outputs of the outputs of the plurality of first logic operation units as inputs;
A plurality of third logic operation units that perform a logic operation using two outputs of the outputs of the plurality of second logic operation units as inputs;
A fourth logical operation unit that performs a logical operation using two outputs of the plurality of third logical operation units as inputs;
A plurality of first connection selecting means for selecting one output among the outputs of the plurality of first logic operation units and one output among the outputs of the plurality of second logic operation units;
One output among the outputs of the plurality of first logic operation units, one output among the outputs of the plurality of second logic operation units, and one output among the outputs of the plurality of third logic operation units are selected. Second connection selection means for
One output of the outputs of the plurality of first logic operation units, one output of the outputs of the plurality of second logic operation units, one output of the outputs of the plurality of third logic operation units, and the first A third connection selection means for selecting the output of the four logic operation units ;
The logic operation unit includes a plurality of types of logic operation elements and connection selection means for selecting one of the outputs of the plurality of types of logic operation elements as an output of the logic operation unit. Reconfigurable computing device.
論理演算ユニットが備える複数種類の論演算素子が、AND、OR、NOT、EXORであることを特徴とする請求項1記載の動的再構成可能装置。 A plurality of types of logical operation elements included in the logic operation unit, AND, OR, NOT, dynamically reconfigurable device of claim 1 Symbol mounting characterized in that it is a EXOR. 任意の値を保持する複数の記憶素子と、前記複数の記憶素子の出力と所定の入力とを選択する第4接続選択手段を設け、前記複数の第1論理演算ユニットは前記第4接続選択手段の選択結果を、2入力のうちの一方の入力とすることを特徴とする請求項1または請求項2記載の動的再構成可能演算装置。 A plurality of storage elements that hold arbitrary values, and a fourth connection selection unit that selects an output and a predetermined input of the plurality of storage elements are provided, and the plurality of first logical operation units are the fourth connection selection unit. selection results, dynamically reconfigurable operation apparatus according to claim 1 or claim 2 wherein, characterized in that one input of the two inputs. 請求項1から請求項のうちのいずれか1項記載の動的再構成可能演算装置を備え、当該動的再構成可能演算装置は、所定の演算処理を指定するプロセッサからの指示に基づいて、当該指示に対応した演算処理を行うと共に、前記動的再構成可能演算装置に入力される演算前のデータまたは演算後のデータのうち、少なくとも一方のデータを格納するバッファを設けたことを特徴とする半導体装置。 A dynamic reconfigurable arithmetic device according to any one of claims 1 to 3 , comprising the dynamic reconfigurable arithmetic device based on an instruction from a processor that designates predetermined arithmetic processing. In addition to performing arithmetic processing corresponding to the instruction, a buffer is provided for storing at least one of the pre-computation data and post-computation data input to the dynamically reconfigurable computing device. A semiconductor device.
JP2008044547A 2008-02-26 2008-02-26 Dynamically reconfigurable computing device and semiconductor device Active JP5241268B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008044547A JP5241268B2 (en) 2008-02-26 2008-02-26 Dynamically reconfigurable computing device and semiconductor device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008044547A JP5241268B2 (en) 2008-02-26 2008-02-26 Dynamically reconfigurable computing device and semiconductor device

Publications (2)

Publication Number Publication Date
JP2009206611A JP2009206611A (en) 2009-09-10
JP5241268B2 true JP5241268B2 (en) 2013-07-17

Family

ID=41148486

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008044547A Active JP5241268B2 (en) 2008-02-26 2008-02-26 Dynamically reconfigurable computing device and semiconductor device

Country Status (1)

Country Link
JP (1) JP5241268B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114731157A (en) * 2020-01-14 2022-07-08 Yoda-S株式会社 Arithmetic device

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3170599B2 (en) * 1996-03-01 2001-05-28 経済産業省産業技術総合研究所長 Programmable LSI and its operation method
JP4502662B2 (en) * 2004-02-20 2010-07-14 アルテラ コーポレイション Multiplier-accumulator block mode split
JP4409526B2 (en) * 2006-04-14 2010-02-03 株式会社半導体理工学研究センター Optical flow processor
JP5196905B2 (en) * 2007-08-03 2013-05-15 三菱電機株式会社 Dynamically reconfigurable computing device and semiconductor device

Also Published As

Publication number Publication date
JP2009206611A (en) 2009-09-10

Similar Documents

Publication Publication Date Title
CN101218560B (en) Apparatus and method for configurable processing
US10417004B2 (en) Pipelined cascaded digital signal processing structures and methods
CN106610813B (en) Method and apparatus for executing product series operation in Multiplier Accumulators block
JP2866606B2 (en) Rotary priority selection circuit for instruction execution order
US11734216B2 (en) Cascade communications between FPGA tiles
CN112070222A (en) Processing architecture, accelerator and method for federal learning
JP6308095B2 (en) Arithmetic circuit and control method of arithmetic circuit
US7460666B2 (en) Combinational circuit, encryption circuit, method for constructing the same and program
US11507531B2 (en) Apparatus and method to switch configurable logic units
JP5241268B2 (en) Dynamically reconfigurable computing device and semiconductor device
US6751773B2 (en) Coding apparatus capable of high speed operation
JP4255475B2 (en) Data-driven information processing device
CN1635731A (en) Reconfigurable password coprocessor circuit
US11016822B1 (en) Cascade streaming between data processing engines in an array
KR101977873B1 (en) Hardware-implemented modular inversion module
JP2011517496A (en) Polynomial data processing operations
TW200306492A (en) Fast multiplication circuits
US20030041300A1 (en) Universal device for processing Reed-Solomon forward error-correction encoded messages
JP5196905B2 (en) Dynamically reconfigurable computing device and semiconductor device
US20130339412A1 (en) Data processing apparatus and method
WO2021258954A1 (en) Data processing apparatus and data processing method
JP2004220377A (en) Reconfigurable circuit, and integrated circuit device and data conversion device capable of using it
KR100656406B1 (en) Optimal normal basis finite field operator
CN118278023A (en) Multistage data comparison method and device based on isomorphic encryption
JP2020140120A (en) Arithmetic processing method, arithmetic processing device, and semiconductor device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101202

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121030

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121113

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121212

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130305

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130402

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

Free format text: PAYMENT UNTIL: 20160412

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250