JP5025509B2 - Arithmetic processing circuit - Google Patents

Arithmetic processing circuit Download PDF

Info

Publication number
JP5025509B2
JP5025509B2 JP2008021889A JP2008021889A JP5025509B2 JP 5025509 B2 JP5025509 B2 JP 5025509B2 JP 2008021889 A JP2008021889 A JP 2008021889A JP 2008021889 A JP2008021889 A JP 2008021889A JP 5025509 B2 JP5025509 B2 JP 5025509B2
Authority
JP
Japan
Prior art keywords
logic circuit
circuit unit
output
arithmetic processing
arithmetic
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.)
Expired - Fee Related
Application number
JP2008021889A
Other languages
Japanese (ja)
Other versions
JP2009181487A (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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co Ltd
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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP2008021889A priority Critical patent/JP5025509B2/en
Publication of JP2009181487A publication Critical patent/JP2009181487A/en
Application granted granted Critical
Publication of JP5025509B2 publication Critical patent/JP5025509B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

この発明は、演算処理回路に関する。特に多倍長演算が可能な演算処理回路であり、ある論理回路から他の論理回路へのキャリー出力を有するものに関する。   The present invention relates to an arithmetic processing circuit. In particular, the present invention relates to an arithmetic processing circuit capable of performing a multiple-length operation and having a carry output from one logic circuit to another logic circuit.

近年、アプリケーションに応じてハードウェアの動作を変更可能なリコンフィギュラブルプロセッサの開発が進められている。リコンフィギュラブルプロセッサを実現するためのアーキテクチャとしては、DSP(Digital Signal Processor)や、FPGA(Field Programmable Gate Array)を用いる方法が存在する。   In recent years, development of reconfigurable processors capable of changing hardware operations in accordance with applications has been underway. As an architecture for realizing a reconfigurable processor, there are methods using a DSP (Digital Signal Processor) and an FPGA (Field Programmable Gate Array).

FPGA(Field Programmable Gate Array)はLSI製造後に回路データを書き込んで比較的自由に回路構成を設計することが可能であり、専用ハードウェアの設計に利用されている。FPGAは、論理回路の真理値表を格納するためのルックアップテーブル(LUT)と出力用のフリップフロップからなる基本セルと、その基本セル間を結ぶプログラマブルな配線リソースとを含む。FPGAでは、LUTに格納するデータと配線データを書き込むことで目的とする論理演算を実現できる。しかし、FPGAでLSIを設計した場合、ASIC(Application Specific IC)による設計と比べると、実装面積が非常に大きくなり、コスト高になる。そこで、LSI内の演算回路の構成を動的に再構成することで、回路構成の再利用を図る方法が提案されている(例えば、特許文献1参照)。   An FPGA (Field Programmable Gate Array) can design circuit configuration relatively freely by writing circuit data after the LSI is manufactured, and is used for designing dedicated hardware. The FPGA includes a lookup table (LUT) for storing a truth table of a logic circuit, a basic cell composed of an output flip-flop, and a programmable wiring resource that connects the basic cells. In the FPGA, a target logical operation can be realized by writing data stored in the LUT and wiring data. However, when an LSI is designed using an FPGA, the mounting area is very large and the cost is high compared to an ASIC (Application Specific IC) design. Therefore, a method has been proposed in which the circuit configuration is reused by dynamically reconfiguring the configuration of the arithmetic circuit in the LSI (see, for example, Patent Document 1).

また、近年、ALU(Arithmetic Logic Unit)と呼ばれる基本的な演算機能(演算機能とは、たとえば、加算や減算の機能である)を有する論理回路を段方向及び列方向にマトリック配置したALUアレイを用いたリコンフィギュラブル回路が提案されている(例えば、特許文献2、非特許文献1)。このリコンフィギュラブル回路では、ALUの機能を制御する命令セット及びALU間の接続先を制御する接続データセットからなる構成情報が各ALUに設定されることにより、所望の演算処理回路として機能する。   In recent years, an ALU array in which logic circuits having basic arithmetic functions called ALUs (Arithmetic Logic Units) (arithmetic functions are, for example, addition and subtraction functions) are arranged in a matrix and in a matrix direction. A reconfigurable circuit used has been proposed (for example, Patent Document 2 and Non-Patent Document 1). In this reconfigurable circuit, configuration information including an instruction set for controlling the function of the ALU and a connection data set for controlling a connection destination between the ALUs is set in each ALU, thereby functioning as a desired arithmetic processing circuit.

ALUアレイによるリコンフィギュラブル回路では、FPGAによるリコンフィギュラブル回路よりも実装サイズを小型化できる上、回路の再構成が高速に実行できるという利点がある。このため、各種の規格に対応した処理回路を1つのLSIで実現できること、および新しい規格にもソフトウエアのアップデートにより即座に対応可能という利点がある。   A reconfigurable circuit using an ALU array has advantages in that the mounting size can be reduced as compared with a reconfigurable circuit using an FPGA, and the circuit can be reconfigured at high speed. For this reason, there is an advantage that a processing circuit corresponding to various standards can be realized by one LSI, and that a new standard can be immediately supported by software update.

図9は、特許文献2で開示されたリコンフィギュラブル回路400の構成を示す図である。a11、a12、…、a16、a21、…、a26、a31、…、a36はALUである。各ALUは、設定データに従って演算機能が設定される。例えば、設定データに従って、あるときは加算器、あるときは減算器、論理和演算器、論理積演算器、ビットシフト演算器などとして機能する。   FIG. 9 is a diagram illustrating a configuration of the reconfigurable circuit 400 disclosed in Patent Document 2. In FIG. a11, a12, ..., a16, a21, ..., a26, a31, ..., a36 are ALUs. Each ALU has an arithmetic function set according to the setting data. For example, according to the setting data, it functions as an adder in some cases, a subtracter, a logical sum operator, a logical product operator, a bit shift arithmetic unit, etc. in some cases.

また、リコンフィギュラブル回路400は、ALUによる論理回路の集合体を複数備えた構造を有する。即ち、a11、…、a16による1段目の論理回路は集合体g1を成し、a21、…、a26による2段目の論理回路は集合体g2を成し、a31、…、a36による3段目の論理回路は集合体g3を成す。   Further, the reconfigurable circuit 400 has a structure including a plurality of sets of logic circuits based on ALU. That is, the first-stage logic circuit composed of a11,..., A16 forms an aggregate g1, and the second-stage logic circuit composed of a21,..., A26 forms an aggregate g2, and includes three stages composed of a31,. The logic circuit of the eye forms an aggregate g3.

また、ALUによる演算の出力は、同列に配置された次段のALUと、その左右の列に配置されたALUに制限されるように構成されている。例えば、a22に関して言えば、その演算出力は、a31、a32、a33のみに接続される。このように、リコンフィギュラブル回路400では、ALUによる演算出力の接続を、次段の同列のALUとその左右の列のALUに制限する(いわゆる接続制限のある回路構成とする)ことにより、回路規模の小型化を図っている。   Further, the output of the calculation by the ALU is limited to the next-stage ALU arranged in the same column and the ALUs arranged in the left and right columns. For example, with regard to a22, the calculation output is connected only to a31, a32, and a33. As described above, in the reconfigurable circuit 400, the connection of the arithmetic output by the ALU is limited to the ALU in the same column in the next stage and the ALUs in the left and right columns (a circuit configuration having a so-called connection limitation), The scale is being reduced.

図10に、リコンフィギュラブル回路400による演算の実行例を示す。これは、第1段に配置されたALUa13とALUa14からの出力(それぞれA、Bとする)を第2段に配置されたALUa23で加算(A+Bの演算を実行)して第3段に配置されたALUa33へ出力すると共に、ALUa13とALUa14からの出力を第2段に配置されたALUa24で減算(A−Bの演算を実行)して第3段に配置されたALUa34へ出力するものである。
特開平10−256383号公報 特開2005−182654号公報 : 「情報家電向け小型リコンフィギュラブルデバイス」、三洋電機技報 VOL.37, No.2, MARCH 2006 通巻第77号
FIG. 10 shows an execution example of the operation by the reconfigurable circuit 400. This is the output from the ALUa 13 and ALUa 14 arranged in the first stage (referred to as A and B, respectively) by the ALUa 23 arranged in the second stage (execution of A + B) is arranged in the third stage. Are output to the ALUa 33, and the outputs from the ALUa13 and ALUa14 are subtracted by the ALUa24 arranged in the second stage (A-B calculation is executed) and output to the ALUa34 arranged in the third stage.
Japanese Patent Laid-Open No. 10-256383 JP 2005-182654 A : "Small Reconfigurable Device for Information Appliances", Sanyo Engineering Reports VOL.37, No.2, MARCH 2006 Volume 77

上記のリコンフィギュラブル回路により処理回路を実現する場合、処理内容によっては、リコンフィギュラブル回路のALUが可能な演算ビット数を超える、多ビットの演算が必要になる場合がある。即ち、リコンフィギュラブル回路を用いた多倍長演算の実現が求められている。   When the processing circuit is realized by the above reconfigurable circuit, depending on the processing contents, a multi-bit operation exceeding the number of operation bits that the ALU of the reconfigurable circuit can perform may be required. That is, realization of multiple length arithmetic using a reconfigurable circuit is required.

多倍長演算とは、一般的には、例えば演算ビット幅が16ビットのALUを用いて、32ビットの演算(倍長演算)や48ビットの演算(3倍長演算)などを行うことをいう。加算演算における倍長演算は、ALUで行った加算のキャリーを、上位のALUに渡すことで実行できる。   In general, a multiple-precision operation means performing, for example, a 32-bit operation (double-length operation) or a 48-bit operation (triple-length operation) using an ALU having an operation bit width of 16 bits. Say. The double length operation in the addition operation can be executed by passing the carry of the addition performed by the ALU to the upper ALU.

多倍長演算を行うためには、特許文献2のリコンフィギュラブル回路400を、図11で示すリコンフィギュラブル回路300のように変更することが、まず考えられる。このリコンフィギュラブル回路300は、各ALUがキャリー出力cを有し、このキャリー出力は、左隣の列に位置するALUへ接続される。   In order to perform multiple length arithmetic, it is first considered to change the reconfigurable circuit 400 of Patent Document 2 to the reconfigurable circuit 300 shown in FIG. In this reconfigurable circuit 300, each ALU has a carry output c, and this carry output is connected to the ALU located in the left adjacent column.

図12を参照して、図11のリコンフィギュラブル回路300により倍長加算を行う例を示す。ここでは、ALUの演算ビット幅を16ビットとし、32ビット変数であるAとBの加算を行い、加算結果C(32ビット変数)を得る例を説明する。まず、ALUa14からの出力がAの下位16ビットデータであるAL、ALUa15からの出力がBの下位16ビットデータであるBL、ALUa12からの出力がAの上位16ビットデータであるAH、ALUa13からの出力がBの上位16ビットデータであるBHであるとする。下位データの計算は、加算機能が割り当てられたALUa24により行われ、演算結果であるAL+BLは、Cの下位16ビットであるCLとしてALUa34へ出力される。また、キャリーはALUa23へ出力される。一方、上位データの計算は、加算機能が割り当てられたALUa23により行われ、演算結果であるAH+BH+キャリーは、Cの上位16ビットであるCHとして、ALUa33へ出力される。このようにすれば倍長演算が可能となる。   An example in which double length addition is performed by the reconfigurable circuit 300 of FIG. 11 will be described with reference to FIG. Here, an example will be described in which the arithmetic bit width of the ALU is 16 bits, and A and B which are 32-bit variables are added to obtain an addition result C (32-bit variable). First, the output from ALUa14 is AL, which is the lower 16-bit data of A, the output from ALUa15 is BL, which is the lower 16-bit data of B, and the output from ALUa12 is the upper 16-bit data of A, AH, ALUa13 Assume that the output is BH, which is the upper 16-bit data of B. The calculation of the lower data is performed by the ALU a 24 to which the addition function is assigned, and the operation result AL + BL is output to the ALU a 34 as CL which is the lower 16 bits of C. The carry is output to the ALU a23. On the other hand, the calculation of the upper data is performed by the ALUa 23 to which the addition function is assigned, and the AH + BH + carry as the operation result is output to the ALUa 33 as CH which is the upper 16 bits of C. In this way, double length calculation is possible.

しかしながら、図11のリコンフィギュラブル回路300では、演算の内容によっては倍長演算が実行できない場合がある。リコンフィギュラブル回路300のような接続制限のあるリコンフィギュラブル回路では、ALUからの演算出力先が制限されているため、もともとALUの割り当てには制約がある。これに加え、倍長演算を実行しようとすると、キャリー出力についても考慮する必要があり、特にリコンフィギュラブル回路300のようにキャリー出力が隣の列のALUに接続されるような場合、ALUの割り当てに更なる制約が生じるからである。以下に具体例を説明する。   However, in the reconfigurable circuit 300 of FIG. 11, a double-length operation may not be executed depending on the content of the operation. In a reconfigurable circuit with connection restrictions such as the reconfigurable circuit 300, the operation output destination from the ALU is limited, and therefore there is a restriction on the allocation of the ALU. In addition to this, when a double length operation is to be executed, it is necessary to consider the carry output. In particular, when the carry output is connected to the ALU in the adjacent column as in the reconfigurable circuit 300, the ALU This is because there are further restrictions on allocation. A specific example will be described below.

図13を参照して、A+B、A−Bの加減算の同時処理を、リコンフィギュラブル回路300により倍長演算で行う場合を説明する。リコンフィギュラブル回路300で倍長演算を行うには、上位データの加算を行うALUと、下位データの加算を行うALUが隣り合うように配置する必要がある。同様に、上位データの減算を行うALUと、下位データの減算を行うALUも隣り合うように配置する必要がある。例えば、Aの上位データAH、下位データALをそれぞれALUa12、a13に設定し、Bの上位データBH、下位データBLをそれぞれALUa14、a15に設定し、上位加算、下位加算をそれぞれALUa22、a23で実行させ、上位減算、下位減算をそれぞれALUa24、ALUa25で実行させるものとする。この場合、下位加算を行うためにALとBLをALUa23へ入力させる必要があるが、BLは2列右の上段にあるALUa15に設定されているので、リコンフィギュラブル回路300では、a23による加算を行うことができない。   With reference to FIG. 13, a case where simultaneous processing of addition and subtraction of A + B and AB is performed by double length calculation by the reconfigurable circuit 300 will be described. In order to perform a double length operation in the reconfigurable circuit 300, it is necessary to arrange an ALU that adds upper data and an ALU that adds lower data to be adjacent to each other. Similarly, the ALU that subtracts the upper data and the ALU that subtracts the lower data need to be arranged adjacent to each other. For example, A upper data AH and lower data AL are set in ALUa12 and a13, B upper data BH and lower data BL are set in ALUa14 and a15, respectively, and upper addition and lower addition are executed in ALUa22 and a23, respectively. It is assumed that upper subtraction and lower subtraction are executed by ALUa 24 and ALUa 25, respectively. In this case, it is necessary to input AL and BL to the ALUa 23 in order to perform the lower addition, but since the BL is set to the ALUa 15 at the upper right of the two columns, the reconfigurable circuit 300 performs the addition by the a23. I can't do it.

上記の課題に鑑み、本発明はリコンフィギュラブルプロセッサ等の演算処理回路において多倍長演算を効率的に行うことができる演算処理回路を提供することを目的とする。   In view of the above problems, an object of the present invention is to provide an arithmetic processing circuit that can efficiently perform multiple-length arithmetic in an arithmetic processing circuit such as a reconfigurable processor.

本発明のある態様は、段方向と列方向にマトリクス状に構成された複数の論理回路部を備え、所定の論理回路部からの演算出力が、次段に配置された論理回路部のうち一部の論理回路部に制限されて接続されるよう構成された演算処理回路であって、前記所定の論理回路部がキャリー出力を備え、該キャリー出力が、該所定の論理回路部から2列以上離れた列に位置する論理回路部に接続するよう構成されることを特徴とする。   An embodiment of the present invention includes a plurality of logic circuit units configured in a matrix in the stage direction and the column direction, and an operation output from a predetermined logic circuit unit is one of the logic circuit units arranged in the next stage. An arithmetic processing circuit configured to be connected to a limited number of logic circuit units, wherein the predetermined logic circuit unit includes a carry output, and the carry output is two or more columns from the predetermined logic circuit unit It is characterized in that it is configured to be connected to a logic circuit portion located in a remote column.

係る演算処理回路では、例えば論理回路部からの演算出力先が近接列に配置された論理回路部のみに制限されているような場合、キャリー出力を遠隔列の論理回路部へ接続するので、多倍長演算実行時におけるALU割り当ての制約を緩和できるので、多倍長演算を効率的に行うことができる。   In such an arithmetic processing circuit, for example, when the operation output destination from the logic circuit unit is limited to only the logic circuit unit arranged in the adjacent column, the carry output is connected to the logic circuit unit in the remote column, Since restrictions on ALU allocation during execution of double length operations can be relaxed, multiple length operations can be performed efficiently.

上記演算処理回路においては、前記論理回路部からの演算出力を保持する状態保持部を更に備え、論理回路部からの演算出力は、前記状態保持部を介して次段の論理回路部へ入力され、前記所定の論理回路部からのキャリー出力が、該所定の論理回路部の次段に位置する論理回路部に接続するよう構成されるものでも良い。   The arithmetic processing circuit further includes a state holding unit that holds an arithmetic output from the logic circuit unit, and the arithmetic output from the logic circuit unit is input to the next-stage logic circuit unit via the state holding unit. The carry output from the predetermined logic circuit unit may be connected to the logic circuit unit located at the next stage of the predetermined logic circuit unit.

この態様の演算処理回路において、前記所定の論理回路部からの演算出力が、次段に配置された論理回路部のうち前記所定の論理回路部からp列(但し、pは自然数)以内に配置された論理回路部に制限されて接続されるよう構成され、前記キャリー出力が、該所定の論理回路部から(p+1)列以上離れた列に位置する論理回路部に接続するよう構成されるようにしても良い。   In the arithmetic processing circuit of this aspect, the arithmetic output from the predetermined logic circuit unit is arranged within p columns (where p is a natural number) from the predetermined logic circuit unit among the logic circuit units arranged in the next stage. The carry output is configured to be connected to a logic circuit unit located in a column separated by (p + 1) columns or more from the predetermined logic circuit unit. Anyway.

本発明の他の態様は、段方向に構成された複数の論理回路部を備え、所定の論理回路部からの演算出力が、前記複数の論理回路のうち、一部の論理回路部に制限されて接続されるよう構成された演算処理回路であって、前記所定の論理回路部がキャリー出力を備え、該キャリー出力が、該所定の論理回路部から2列以上離れた列に位置する論理回路部に接続するよう構成されることを特徴とする。   Another aspect of the present invention includes a plurality of logic circuit units configured in a stage direction, and an operation output from a predetermined logic circuit unit is limited to a part of the plurality of logic circuits. Arithmetic circuit configured to be connected to each other, wherein the predetermined logic circuit unit includes a carry output, and the carry output is located in a column separated from the predetermined logic circuit unit by two or more columns It is comprised so that it may connect to a part.

係る演算処理回路では、多倍長演算の効率化に加え、回路規模の小型化が図れる。   In such an arithmetic processing circuit, the circuit scale can be reduced in addition to the efficiency of the multiple length arithmetic.

この態様の演算処理回路においては、前記所定の論理回路部からの演算出力が、前記所定の論理回路部からp列(但し、pは自然数)以内に配置された論理回路部に制限されて接続されるよう構成され、前記キャリー出力が、該所定の論理回路部から(p+1)列以上離れた論理回路部に接続するよう構成されても良い。   In the arithmetic processing circuit of this aspect, the arithmetic output from the predetermined logic circuit unit is limited to the logic circuit unit arranged within p columns (where p is a natural number) from the predetermined logic circuit unit. The carry output may be connected to a logic circuit unit separated by (p + 1) columns or more from the predetermined logic circuit unit.

また、上記の各態様の演算処理回路において、論理回路部は、該論理回路の外部から供給される設定データに従って演算機能の変更が可能であっても良い。ここで、演算機能とは、例えば、加算演算や減算演算などをいう。   In the arithmetic processing circuit of each aspect described above, the logic circuit unit may be capable of changing the arithmetic function in accordance with setting data supplied from the outside of the logic circuit. Here, the calculation function refers to, for example, an addition operation or a subtraction operation.

また、上記各態様の演算処理回路において、同一段に、n×k個(但し、n、kは、2以上の整数)の論理回路部が配置され、前記所定の論理回路部がキャリー出力を備え、該キャリー出力が、該所定の論理回路部からk列離れた列に位置する論理回路部に接続するよう構成されるようにしても良い。   Further, in the arithmetic processing circuit of each aspect described above, n × k logic circuit units (where n and k are integers of 2 or more) are arranged on the same stage, and the predetermined logic circuit unit outputs a carry output. The carry output may be configured to be connected to a logic circuit unit located in a column separated by k columns from the predetermined logic circuit unit.

この発明によれば、いわゆる接続制限のある演算処理回路において多倍長演算を効率的に行うことができる。   According to the present invention, multiple length arithmetic can be efficiently performed in an arithmetic processing circuit having a so-called connection restriction.

図1は、実施の形態に係る処理装置10の構成、並びに設定データ生成装置30の構成を示す図である。   FIG. 1 is a diagram illustrating a configuration of a processing device 10 and a configuration of a setting data generation device 30 according to the embodiment.

<処理装置10の構成>
処理装置10は、1チップとして構成される集積回路からなり、リコンフィギュラブル回路12、設定部14、制御部18を備える。
<Configuration of Processing Device 10>
The processing device 10 includes an integrated circuit configured as one chip, and includes a reconfigurable circuit 12, a setting unit 14, and a control unit 18.

リコンフィギュラブル回路12は、機能の変更が可能なALUによる論理回路を複数備えた構造を有する。このようなリコンフィギュラブル回路12は、後述する設定部14から供給される設定データに従って動作する演算回路として機能する。即ちリコンフィギュラブル回路12は、外部からの入力データに対して、前記設定データに従った演算を行い、演算結果を出力する。このリコンフィギュラブル回路12の構成については後で詳しく説明する。なお、リコンフィギュラブル回路12は、本願発明の演算処理回路の一例に相当するものである。   The reconfigurable circuit 12 has a structure including a plurality of logic circuits using ALUs whose functions can be changed. Such a reconfigurable circuit 12 functions as an arithmetic circuit that operates in accordance with setting data supplied from a setting unit 14 to be described later. That is, the reconfigurable circuit 12 performs an operation according to the setting data on externally input data, and outputs an operation result. The configuration of the reconfigurable circuit 12 will be described in detail later. The reconfigurable circuit 12 corresponds to an example of an arithmetic processing circuit according to the present invention.

設定部14は、リコンフィギュラブル回路12に所望の演算回路を構成するための設定データを供給する。設定部14から設定データを供給することにより、リコンフィギュラブル回路12は所望の演算回路として構成される。この設定データは後述する設定データ生成装置30で生成される。   The setting unit 14 supplies setting data for configuring a desired arithmetic circuit to the reconfigurable circuit 12. By supplying setting data from the setting unit 14, the reconfigurable circuit 12 is configured as a desired arithmetic circuit. This setting data is generated by a setting data generation device 30 described later.

制御部18は、処理装置10の各部、即ち、リコンフィギュラブル回路12、設定部14を制御する。   The control unit 18 controls each unit of the processing apparatus 10, that is, the reconfigurable circuit 12 and the setting unit 14.

<設定データ生成装置30の構成>
設定データ生成装置30は、リコンフィギュラブル回路12で実現されるべき処理の動作を設定したプログラムを解析し、リコンフィギュラブル回路12にマッピングするための設定データを生成する。この設定データは、リコンフィギュラブル回路12における論理回路の機能や論理回路間の接続関係を定める。設定データ生成装置30により生成された設定データは、設定部14を介してリコンフィギュラブル回路12へ供給される。
<Configuration of Setting Data Generating Device 30>
The setting data generation device 30 analyzes a program that sets the operation of processing to be realized by the reconfigurable circuit 12 and generates setting data for mapping to the reconfigurable circuit 12. This setting data determines the function of the logic circuit in the reconfigurable circuit 12 and the connection relationship between the logic circuits. The setting data generated by the setting data generation device 30 is supplied to the reconfigurable circuit 12 via the setting unit 14.

<リコンフィギュラブル回路12の構成 (その1)>
図2は、リコンフィギュラブル回路12の模式図である。リコンフィギュラブル回路12は、段方向と列方向にマトリクス状に配置された複数のALU(a11、a12、…、a16、a21、…、a26、a31、…、a36)を備える。本実施形態は、請求項の発明でいうところのp=1の場合の一例である。
<Configuration of Reconfigurable Circuit 12 (Part 1)>
FIG. 2 is a schematic diagram of the reconfigurable circuit 12. The reconfigurable circuit 12 includes a plurality of ALUs (a11, a12,..., A16, a21,..., A26, a31,..., A36) arranged in a matrix in the step direction and the column direction. This embodiment is an example in the case of p = 1 as referred to in the claimed invention.

各ALUは、設定データに従って演算機能が設定される。例えば、設定データに従って、あるときは加算器、あるときは減算器、論理和演算器、論理積演算器、ビットシフト演算器、…、などとして機能する。また、a11、…、a16による1段目の論理回路は集合体g1を成し、a21、…、a26による2段目の論理回路は集合体g2を成し、a31、…、a36による3段目の論理回路は集合体g3を成すように構成されている。   Each ALU has an arithmetic function set according to the setting data. For example, according to the setting data, it functions as an adder in some cases, a subtracter in other cases, a logical sum operation unit, a logical product operation unit, a bit shift operation unit,. In addition, the first stage logic circuit by a11,..., A16 forms an aggregate g1, and the second stage logic circuit by a21,..., A26 forms an aggregate g2, and three stages by a31,. The logic circuit of the eye is configured to form an aggregate g3.

また、ALUによる演算の出力は、同列に配置された次段のALUと、その左右の列に配置されたALUに制限されるように構成されている。即ち、ALUによる演算の出力が、該ALUから1列以内に配置された他のALUに制限されて接続されるよう構成される。例えば、a22に関して言えば、その演算出力は、a31、a32、a33のみに接続される。   Further, the output of the calculation by the ALU is limited to the next-stage ALU arranged in the same column and the ALUs arranged in the left and right columns. In other words, the output of the operation by the ALU is limited and connected to other ALUs arranged within one column from the ALU. For example, with regard to a22, the calculation output is connected only to a31, a32, and a33.

また、一部のALUはキャリー出力を備えている(ここでは、a25、a26)。これらのALUからのキャリー出力は、該ALUから3列離れた列に位置する他のALUに接続するよう構成される。例えば、ALUa25からのキャリー出力がALUa22に接続され、ALUa26からのキャリー出力がALUa23に接続されている。リコンフィギュラブル回路12では、キャリー出力が離れている列数が3であるので、この列数3が請求項の発明でいうところの(p+1)以上、すなわち2以上の条件を満足している。   Some ALUs have carry outputs (here, a25, a26). Carry outputs from these ALUs are configured to connect to other ALUs located in a row three columns away from the ALU. For example, the carry output from ALUa 25 is connected to ALUa 22, and the carry output from ALUa 26 is connected to ALUa 23. In the reconfigurable circuit 12, since the number of columns in which the carry output is separated is 3, this number of columns 3 satisfies the condition of (p + 1) or more, that is, 2 or more, as stated in the invention of the claims.

図3を参照して、図2のリコンフィギュラブル回路12による倍長加減算(A+B、及びA−B)を同時処理する例を説明する。ここでは、リコンフィギュラブル回路12の各ALUの演算ビット幅は16ビットであり、A、Bはそれぞれ32ビット変数であるものとする。まず、ALUa15からの出力データがAの下位16ビットデータであるAL、ALUa16からの出力データがBの下位16ビットデータであるBL、ALUa12からの出力データがAの上位16ビットデータであるAH、ALUa13からの出力データがBの上位16ビットデータであるBHとする。   With reference to FIG. 3, an example in which double length addition / subtraction (A + B and AB) by the reconfigurable circuit 12 of FIG. 2 is simultaneously processed will be described. Here, it is assumed that the operation bit width of each ALU of the reconfigurable circuit 12 is 16 bits, and A and B are 32-bit variables. First, the output data from ALUa 15 is AL, which is the lower 16-bit data of A, the output data from ALUa 16 is BL, which is the lower 16-bit data of B, and the output data from ALUa 12 is AH, which is the upper 16-bit data of A. Assume that the output data from the ALUa 13 is BH, which is the upper 16-bit data of B.

下位の加算は、加算機能が割り当てられたALUa25により行われ、加算結果であるCLはALUa35へ出力される。また、ALUa25での加算で発生したキャリーはALUa22へ出力される。一方、上位の加算は、加算機能が割り当てられたALUa22により行われ、加算結果であるCHはALUa32へ出力される。   The lower addition is performed by the ALUa 25 to which the addition function is assigned, and the addition result CL is output to the ALUa 35. The carry generated by the addition at ALUa 25 is output to ALUa 22. On the other hand, the higher-order addition is performed by the ALUa 22 to which the addition function is assigned, and CH as the addition result is output to the ALUa 32.

一方、下位減算は、減算機能が割り当てられたALUa26により行われ、減算結果であるDLはALUa36へ出力される。また、ALUa26での減算で発生したキャリーはALUa23へ出力される。一方、上位減算は、減算機能が割り当てられたALUa23により行われ、減算結果であるDHは、ALUa33へ出力される。   On the other hand, the lower order subtraction is performed by the ALUa 26 to which the subtraction function is assigned, and the DL as the subtraction result is output to the ALUa 36. The carry generated by the subtraction at the ALUa 26 is output to the ALUa 23. On the other hand, the upper subtraction is performed by the ALUa 23 to which the subtraction function is assigned, and the subtraction result DH is output to the ALUa 33.

リコンフィギュラブル回路12では、キャリー出力を3列離れた列に位置するALUに接続しているため、上位データの演算を行うALUと下位データの演算を行うALUを離して配置することができるので接続制限と干渉しない。したがって、上位の演算を行うALU、下位の演算を行うALUのそれぞれの配置を、単精度演算の場合と同じALUの配置により実行することができるので、多倍長演算を効率的に行うことができる。即ち、回路の利用効率、及び演算の実行速度を低下させることなく、倍長演算を行うことができる。   In the reconfigurable circuit 12, since the carry output is connected to the ALU located in a column separated by three columns, the ALU that performs the upper data calculation and the ALU that performs the lower data calculation can be arranged separately. Does not interfere with connection restrictions. Therefore, the arrangement of the ALU that performs the upper calculation and the ALU that performs the lower calculation can be executed by the same arrangement of the ALU as in the case of the single precision calculation, so that the multiple length calculation can be performed efficiently. it can. In other words, double-length arithmetic can be performed without reducing circuit utilization efficiency and arithmetic execution speed.

なお、図2では、一部のALUのみがキャリー出力を有するように記載しているが、全てのALUがキャリー出力を有していても良い。逆に、例えば、加減算は偶数段のALUで実行するというようなルールを予め設定しておくことにより、一部のALUにのみキャリー出力を設ける構成にすることもできる。これにより、キャリー出力の配線を必要最小限に抑えることができ、リコンフィギュラブル回路の小型化、低消費電力化が図れる。   In FIG. 2, it is described that only some ALUs have carry outputs, but all ALUs may have carry outputs. On the other hand, for example, by setting a rule such that addition / subtraction is performed by an even number of ALUs in advance, it is possible to provide a carry output only for some ALUs. As a result, the wiring of the carry output can be suppressed to the minimum necessary, and the reconfigurable circuit can be reduced in size and power consumption can be reduced.

<リコンフィギュラブル回路の構成例(その2)>
図4は、リコンフィギュラブル回路12Bの構成を示すものである。
<Configuration example of reconfigurable circuit (2)>
FIG. 4 shows a configuration of the reconfigurable circuit 12B.

このリコンフィギュラブル回路12Bでは、各論理回路(L11、…、L64)には、ALUの他、各ALUからの演算出力を受けるD型フリップフロップ(以下、「DFF」と記す)を備える。本実施形態も、請求項の発明でいうところのp=1の場合の一例である。   In the reconfigurable circuit 12B, each logic circuit (L11,..., L64) includes an ALU and a D-type flip-flop (hereinafter referred to as “DFF”) that receives an operation output from each ALU. This embodiment is also an example in the case of p = 1 as referred to in the claimed invention.

DFFに格納された各ALUからの出力データは、クロックに同期して次段のALUへ出力される。これにより、パイプライン処理が可能となり、各段のALUで別々の演算を同時に実行することができる。   Output data from each ALU stored in the DFF is output to the next-stage ALU in synchronization with the clock. As a result, pipeline processing can be performed, and different operations can be simultaneously executed by the ALUs of the respective stages.

また、一部のALUはキャリー出力を備えている(例えば、a42、a52、a62)。これらのALUからのキャリー出力は、キャリー用DFF(d1、d2又はd3)を介して、次段の3列離れた列に位置するALUへ接続される。リコンフィギュラブル回路12Bでは、キャリー出力が離れている列数が3であるので、請求項の発明でいうところの(p+1)以上、すなわち2以上の条件を満足している。   Some ALUs have carry outputs (for example, a42, a52, a62). The carry outputs from these ALUs are connected to the ALUs located in the next three columns away via the carry DFF (d1, d2, or d3). In the reconfigurable circuit 12B, since the number of columns in which the carry output is separated is 3, the condition of (p + 1) or more, that is, 2 or more as defined in the claimed invention is satisfied.

図5を参照して、リコンフィギュラブル回路12Bによる、倍長加算(A+B)及び倍長減算(A−B)を同時に処理する例を説明する。   With reference to FIG. 5, an example in which double length addition (A + B) and double length subtraction (AB) are simultaneously processed by the reconfigurable circuit 12B will be described.

まず、第1のタイミングでは、第1段の論理回路L51、L61のALUa51、a61から、ALとBLがそれぞれ出力される。また、論理回路L51、L61のDFFd51、d52にもALとBLがそれぞれ格納される。   First, at the first timing, AL and BL are output from the ALUs a51 and a61 of the first stage logic circuits L51 and L61, respectively. Further, AL and BL are also stored in DFFs d51 and d52 of the logic circuits L51 and L61, respectively.

次に、第2のタイミングでは、d51、d61に格納されたデータが第2段の論理回路L52、L62のALUa52、a62の両方へ出力される。そして、a52ではALとBLの加算が行われる。その加算結果であるCLは、論理回路L52のDFFd52に保存されると共に、加算によるキャリーは、キャリー用DFF(d2)に保存される。一方、a62ではALとBLの減算が行われる。その減算結果であるDLは、論理回路L62のDFFd62に保存されると共に、減算によるキャリーは、キャリー用DFF(d3)に保存される。また、この第2のタイミングでは、第1段の論理回路L22、L32のALUa22、a32から、AHとBHがそれぞれ出力される。また、論理回路L22、L32のDFFd22、d32にもAHとBHがそれぞれ格納される。   Next, at the second timing, the data stored in d51 and d61 are output to both ALUs 52 and a62 of the second stage logic circuits L52 and L62. In a52, AL and BL are added. The addition result CL is stored in the DFF d52 of the logic circuit L52, and the carry by the addition is stored in the carry DFF (d2). On the other hand, at a62, AL and BL are subtracted. The subtraction result DL is stored in the DFF d62 of the logic circuit L62, and the carry by the subtraction is stored in the carry DFF (d3). At the second timing, AH and BH are output from the ALUs a22 and a32 of the first-stage logic circuits L22 and L32, respectively. Further, AH and BH are also stored in DFFs d22 and d32 of the logic circuits L22 and L32, respectively.

第3のタイミングでは、DFFd22、d32、d42、d52、並びにキャリー用DFFd2、d3に格納されたデータが第3段の論理回路へ出力される。論理回路L23のALUa23には、L22からのAH、L32からのBH、d2からのキャリーが入力され、a23ではこれらの加算演算が行われる。加算結果であるCHは、DFFd23に保存される。論理回路L33のALUa33には、L22からのAH、L32からのBH、d3からのキャリーが入力され、a33ではこれらの減算演算が行われる。減算結果であるDHは、DFFd33に保存される。   At the third timing, the data stored in the DFFs d22, d32, d42, and d52 and the carry DFFs d2 and d3 are output to the third-stage logic circuit. The ALUa23 of the logic circuit L23 receives AH from L22, BH from L32, and carry from d2, and these addition operations are performed in a23. CH that is the addition result is stored in DFF d23. The ALUa33 of the logic circuit L33 receives AH from L22, BH from L32, and carry from d3, and these subtraction operations are performed at a33. The subtraction result DH is stored in DFFd33.

また、第3のタイミングでは、論理回路L53のALUa53にはL52からのCLが、論理回路L63のALUa63にはL62からのDHが入力される。   At the third timing, CL from L52 is input to ALUa53 of the logic circuit L53, and DH from L62 is input to ALUa63 of the logic circuit L63.

第4のタイミングでは、d23、d33に格納されたデータが第4段の論理回路へ出力される。そして、論理回路L24のALUa24にはL23からのCHが入力され、論理回路L34のALUa34にはL33からのDHが入力される。   At the fourth timing, the data stored in d23 and d33 is output to the fourth-stage logic circuit. Then, CH from L23 is input to ALUa24 of logic circuit L24, and DH from L33 is input to ALUa34 of logic circuit L34.

上記のようにして、リコンフィギュラブル回路12Bにより、倍長の加減算(A+B)、(A−B)を同時処理ができる。   As described above, double-length addition / subtraction (A + B) and (A−B) can be simultaneously processed by the reconfigurable circuit 12B.

また、リコンフィギュラブル回路12Bでは、演算のパイプライン処理を行うことができる。例えば、第2のタイミングで、第1段の論理回路L51、L61にあるALUa51、a61に前記のAL及びBLとは異なる値をそれぞれ設定し、第3のタイミングで、第2段の論理回路L22、L32にあるALUa22、a32に、前記のAHとBHとは異なる変数を設定することにより、前述の加減算(A+B)、(A−B)と異なる演算を実行させることができる。   Further, the reconfigurable circuit 12B can perform pipeline processing of operations. For example, at the second timing, values different from the AL and BL are respectively set in the ALUs a51 and a61 in the first stage logic circuits L51 and L61, and at the third timing, the second stage logic circuit L22. By setting a variable different from AH and BH in ALUa22 and a32 in L32, it is possible to execute an operation different from the addition / subtraction (A + B) and (A−B).

また、リコンフィギュラブル回路12Bによれば、このようなパイプライン処理を行う場合における演算速度を向上させることもできる。例えば、キャリー出力を同段の3列離れた列に位置するALUに接続すると、上位加算を行うALUは下位加算を行うALUからのキャリー入力を待つ必要がある。この待ち時間を考慮して1クロックの周期を設定すると、1クロックの周期が長くなり、演算が遅くなる。これに対し、リコンフィギュラブル回路12Bでは、上位演算を行う論理回路を、下位演算を行う論理回路の下段に配置し、上位演算と下位演算を異なるタイミングで実行しているので、キャリー入力の待ち時間を考慮する必要が無く、クロック周期を短縮できる。これにより、演算速度を向上させることができる。   Further, according to the reconfigurable circuit 12B, it is possible to improve the calculation speed when performing such pipeline processing. For example, when the carry output is connected to an ALU located in a column separated by three columns in the same stage, the ALU that performs upper addition needs to wait for the carry input from the ALU that performs lower addition. If the period of one clock is set in consideration of this waiting time, the period of one clock becomes long and the calculation becomes slow. On the other hand, in the reconfigurable circuit 12B, the logic circuit that performs the upper operation is arranged in the lower stage of the logic circuit that performs the lower operation, and the upper operation and the lower operation are executed at different timings. There is no need to consider time, and the clock cycle can be shortened. Thereby, calculation speed can be improved.

<リコンフィギュラブル回路12の構成例(その3)>
上記例のリコンフィギュラブル回路では、ALUからのキャリー出力を3列離れた列に位置するALUへ接続配線しているが、これに限られるものではない。
<Configuration Example of Reconfigurable Circuit 12 (Part 3)>
In the reconfigurable circuit of the above example, the carry output from the ALU is connected and wired to the ALU located in a column separated by three columns, but the present invention is not limited to this.

例えば、横方向(同一段)にn×k個のALUが並んでいるリコンフィギュラブル回路でn倍長の演算を処理する場合、k個毎にALUを分けて、左右の一方から下位からの演算を割り当てていくことが考えられる。この場合、キャリーはk列離れた列に位置するALUに接続するようにすれば良い。   For example, when processing an n-fold length operation in a reconfigurable circuit in which n × k ALUs are arranged in the horizontal direction (same stage), the ALU is divided for each k pieces, It is conceivable to assign operations. In this case, the carry may be connected to an ALU located in a row separated by k rows.

図6は、横方向に6個のALUが並んだリコンフィギュラブル回路12Cを用いて3倍長の演算を行う例を示したものである。このリコンフィギュラブル回路12Cは、ALUによる演算出力が、同列に配置された次段のALUと、その左右の列に配置されたALUに制限されるように構成されている。ALUを2個毎に分け、下位、中位、上位の演算という様に演算器を割り当てる。この場合、キャリーの接続は、下位と中位、中位と上位との接続となり、2列離れた列に位置するALUにキャリーを接続する。   FIG. 6 shows an example in which a triple-length operation is performed using a reconfigurable circuit 12C in which six ALUs are arranged in the horizontal direction. The reconfigurable circuit 12C is configured such that the operation output by the ALU is limited to the next-stage ALU arranged in the same column and the ALU arranged in the left and right columns. The ALU is divided into two, and arithmetic units are assigned such as lower, middle, and upper operations. In this case, the carry connection is a connection between the lower level and the middle level, and the middle level and the higher level, and the carry is connected to an ALU located in a row two columns away.

このようにすることで、k個毎のALUのそれぞれでは、接続制限が同位の演算にのみ影響されるので、倍長演算による接続制限の影響を受けることがなく、効率的になる。なお、本構成例のリコンフィギュラブル回路12Cも、請求項の発明でいうところのp=1の場合の一例である。また、このリコンフィギュラブル回路12Cでは、キャリー出力が離れている列数が2であり、請求項の発明でいうところの(p+1)以上、すなわち2以上の条件を満足している。   In this way, in each of the k ALUs, since the connection limit is affected only by the operation of the peer, it is not affected by the connection limit by the double length calculation, and becomes efficient. Note that the reconfigurable circuit 12C of this configuration example is also an example in the case of p = 1 in the invention of the claims. Further, in this reconfigurable circuit 12C, the number of columns in which the carry output is separated is 2, which satisfies the condition of (p + 1) or more, that is, 2 or more as stated in the invention of the claims.

<リコンフィギュラブル回路の構成例(その4)>
図7は、1段構成でループバックさせるリコンフィギュラブル回路12Dの構成を示す図である。各論理回路からの出力は、同じ論理回路の入力、及びその左右の列にある論理回路の入力へ接続される。本実施形態も、請求項の発明でいうところのp=1の場合の一例である。
<Configuration example of reconfigurable circuit (4)>
FIG. 7 is a diagram showing a configuration of a reconfigurable circuit 12D that loops back in a single-stage configuration. The output from each logic circuit is connected to the same logic circuit input and to the logic circuit inputs in the left and right columns. This embodiment is also an example in the case of p = 1 as referred to in the claimed invention.

また、各論理回路のALUは、設定データに従って演算機能を変更させることが可能である。タイミングごとに演算の種類を切り替る制御を行うことにより、例えば図4で示した演算と同様の演算を行うことができる。   The ALU of each logic circuit can change the arithmetic function according to the setting data. By performing control to switch the type of calculation at each timing, for example, the same calculation as that shown in FIG. 4 can be performed.

このようなリコンフィギュラブル回路を用いた倍長の加算(A+B)、減算(A−B)の実行例を以下に説明する。   An execution example of double-length addition (A + B) and subtraction (AB) using such a reconfigurable circuit will be described below.

まず、第1のタイミングでは、ALUa5からAの下位データであるALが、ALUa6からBの下位データであるBLが設定される。また、ALUa5の演算出力を受けるDFF5にはALが、ALUa6の演算出力を受けるDFF6にはBLが保持される。   First, at the first timing, AL that is the lower data of A from ALUa5 to BL that is the lower data of ALUa6 to B is set. Further, AL is held in DFF5 that receives the arithmetic output of ALUa5, and BL is held in DFF6 that receives the arithmetic output of ALUa6.

次の、第2のタイミングでは、ALUa5に加算機能が、ALUa6に減算機能が設定される。また、DFF5、DFF6にそれぞれ記憶されたAL、BLはa5、a6の両方へ出力される。そして、ALUa5では、DFF5から出力されたALとDFF6から出力されたBLによる加算演算、即ち下位データの加算が行われる。一方、ALUa6では、DFF5から出力されたALとDFF6から出力されたBLによる減算演算、即ち下位データの減算が行われる。ALUa5での加算結果であるCLはDFF5に格納され、ALUa6での減算結果であるDLはDFF6に格納される。また、ALUa5、a6での加算、減算により発生したキャリーは、それぞれキャリー用DFF1、キャリー用DFF2へ出力される。リコンフィギュラブル回路12Cでは、キャリー出力が離れている列数が3であるので、請求項の発明でいうところの(p+1)以上、すなわち2以上の条件を満足している。   At the next second timing, the addition function is set to ALUa5 and the subtraction function is set to ALUa6. AL and BL stored in DFF5 and DFF6 are output to both a5 and a6. In ALUa5, an addition operation by AL output from DFF5 and BL output from DFF6, that is, addition of lower data is performed. On the other hand, in ALUa6, a subtraction operation by AL output from DFF5 and BL output from DFF6, that is, subtraction of lower-order data is performed. CL, which is the addition result in ALUa5, is stored in DFF5, and DL, which is the subtraction result in ALUa6, is stored in DFF6. Carries generated by addition and subtraction in ALUs a5 and a6 are output to carry DFF1 and carry DFF2, respectively. In the reconfigurable circuit 12C, since the number of columns in which the carry output is separated is 3, the condition of (p + 1) or more, that is, 2 or more as defined in the claimed invention is satisfied.

また、前記の第2のタイミングでは、ALUa2にAの上位データであるAHが、ALUa3にBの上位データであるBHが設定される。そして、DFF2にはAHが、DFF3にはBHが保持される。   At the second timing, AH, which is the upper data of A, is set in ALUa2, and BH, which is the upper data of B, is set in ALUa3. DFF2 holds AH and DFF3 holds BH.

次の、第3のタイミングでは、ALUa2に加算機能が、ALUa3に減算機能が設定される。DFF2、DFF3にそれぞれ記憶されたAH、BHはa2、a3の両方へ出力される。キャリー用DFF1、キャリー用DFF2にそれぞれ記憶されたキャリーは、それぞれa2、a3へ出力される。そして、ALUa2では、DFF2から出力されたAHとDFF3から出力されたBHと、キャリー用DFF1から出力されたキャリーによる加算演算、即ち上位データの加算が行われる。一方、ALUa3では、DFF2から出力されたAHとDFF3から出力されたBHとキャリー用DFF2から出力されたキャリーによる減算演算、即ち上位データの減算が行われる。   At the next third timing, the addition function is set to ALUa2, and the subtraction function is set to ALUa3. AH and BH respectively stored in DFF2 and DFF3 are output to both a2 and a3. The carry stored in carry DFF1 and carry DFF2 is output to a2 and a3, respectively. In ALUa2, addition operation is performed by the AH output from the DFF2, the BH output from the DFF3, and the carry output from the carry DFF1, that is, the upper data is added. On the other hand, in ALUa3, subtraction is performed by the AH output from DFF2, the BH output from DFF3, and the carry output from carry DFF2, that is, the upper data is subtracted.

また、前記第3のタイミングでは、ALUa5には、第2タイミングにおける下位の加算結果であるCLが出力され、ALUa6には、第2タイミングにおける下位の減算結果であるDLが出力される。   At the third timing, CL, which is the lower addition result at the second timing, is output to ALUa5, and DL, which is the lower subtraction result at the second timing, is output to ALUa6.

続く第4のタイミングでは、ALUa2には、第3タイミングにおける上位の加算結果であるCHが出力され、ALUa3には、第3タイミングにおける上位の減算結果であるDHが出力される。このように、1段構成でループバックさせる構成のリコンフィギュラブル回路によっても倍長演算を実現することができる。   At the subsequent fourth timing, CH, which is the upper addition result at the third timing, is output to ALUa2, and DH, which is the upper subtraction result at the third timing, is output to ALUa3. As described above, the double length operation can be realized also by a reconfigurable circuit configured to be looped back in a single stage configuration.

上記の実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。   The above-described embodiment is to be considered as illustrative in all points and not restrictive. The scope of the present invention is shown not by the above description of the embodiments but by the scope of claims for patent, and is intended to include meanings equivalent to the scope of claims for patent and all modifications within the scope.

なお、上記では、倍長演算を行うリコンフィギュラブル回路を例に説明したが、倍長演算と単精度演算の両方を行うリコンフィギュラブル回路も本願発明の範囲に含まれる。例えば、図4のリコンフィギュラブル回路12Bの一部を図8のように構成することで実現できる。例えばa13、a23、a33など下位からのキャリー入力を受けるALUのキャリー入力の手前に選択器MUXを設け、単精度演算を実行するときは0をMUXに選択させ、倍長演算を実行するときは下位ビットからのキャリー入力(例えば、図8の例では、a62のキャリー出力を一旦保持するDFFd3の出力)をMUXに選択させるようにすればよい。なお、リコンフィギュラブル回路12Bだけでなく、リコンフィギュラブル回路12、12C、12Dにおいても同様な改良を行うことにより倍長演算と単精度演算の両方を行うことができる。   In the above description, the reconfigurable circuit that performs the double length operation is described as an example. However, a reconfigurable circuit that performs both the double length operation and the single precision operation is also included in the scope of the present invention. For example, it can be realized by configuring a part of the reconfigurable circuit 12B of FIG. 4 as shown in FIG. For example, a selector MUX is provided in front of carry inputs of ALUs such as a13, a23, and a33, and when performing a single precision operation, 0 is selected by the MUX, and a double length operation is performed. The carry input from the lower bits (for example, in the example of FIG. 8, the output of DFFd3 that temporarily holds the carry output of a62) may be selected by the MUX. Note that not only the reconfigurable circuit 12B but also the reconfigurable circuits 12, 12C, and 12D can perform both double length arithmetic and single precision arithmetic by performing the same improvement.

実施の形態に係る処理装置10、設定データ生成装置30の構成を示す図である。It is a figure which shows the structure of the processing apparatus 10 and setting data generation apparatus 30 which concern on embodiment. リコンフィギュラブル回路12の構成を示す模式図である。2 is a schematic diagram showing a configuration of a reconfigurable circuit 12. FIG. リコンフィギュラブル回路12により倍長加算(A+B)及び倍長減算(A−B)を同時に処理する例を説明する図である。It is a figure explaining the example which processes double length addition (A + B) and double length subtraction (AB) simultaneously by the reconfigurable circuit 12. FIG. リコンフィギュラブル回路12Bの構成を示す模式図である。It is a schematic diagram which shows the structure of the reconfigurable circuit 12B. リコンフィギュラブル回路12Bにより倍長加算(A+B)及び倍長減算(A−B)を同時に処理する例を説明する図である。It is a figure explaining the example which processes double length addition (A + B) and double length subtraction (AB) simultaneously by the reconfigurable circuit 12B. 同一段に6個のALUが並んだリコンフィギュラブル回路を用いて3倍長の演算を行う例を示す図である。It is a figure which shows the example which performs a 3 times length calculation using the reconfigurable circuit which arranged 6 ALU in the same stage. リコンフィギュラブル回路12Dの構成を示す模式図である。It is a schematic diagram which shows the structure of reconfigurable circuit 12D. 倍長演算、単精度演算の両方が可能なリコンフィギュラブル回路12Bの一部分を示す図である。It is a figure which shows a part of reconfigurable circuit 12B in which both a double length calculation and a single precision calculation are possible. 従来のリコンフィギュラブル回路400の模式図である。FIG. 6 is a schematic diagram of a conventional reconfigurable circuit 400. リコンフィギュラブル回路400による演算の実行例を示す図である。FIG. 6 is a diagram illustrating an execution example of a calculation by the reconfigurable circuit 400. リコンフィギュラブル回路300の模式図である。3 is a schematic diagram of a reconfigurable circuit 300. FIG. リコンフィギュラブル回路300により倍長加算を行う例を示す図である。5 is a diagram illustrating an example in which double length addition is performed by the reconfigurable circuit 300. FIG.


リコンフィギュラブル回路300により、倍長加算(A+B)及び倍長減算(A−B)を同時に処理する例を示す図である。It is a figure which shows the example which processes double length addition (A + B) and double length subtraction (AB) simultaneously by the reconfigurable circuit 300. FIG.

符号の説明Explanation of symbols

10 処理装置
12 リコンフィギュラブル回路
14 設定部
18 制御部
30 設定データ生成装置
DESCRIPTION OF SYMBOLS 10 Processing apparatus 12 Reconfigurable circuit 14 Setting part 18 Control part 30 Setting data generation apparatus

Claims (7)

段方向と列方向にマトリクス状に構成された複数の論理回路部を備え、
所定の論理回路部からの演算出力が、次段に配置された論理回路部のうち一部の論理回路部に制限されて接続されるよう構成されると共に論理回路部が上位演算と下位演算を個別に実行し多倍長演算を行う演算処理回路であって、
前記下位演算を実行する所定の論理回路部がキャリー出力を備え、該キャリー出力が、該所定の論理回路部から2列以上離れた列に位置する上位演算論理回路部に接続するよう構成されることを特徴とする、演算処理回路。
Provided with a plurality of logic circuit sections arranged in a matrix in the step direction and the column direction,
Operation output from a given logic circuit portion, the configured Rutotomoni logic circuit portion upper level computing and lower operations to be connected is limited to the logic circuit section of a part of the logic circuit portion disposed on the next stage An arithmetic processing circuit that individually executes and performs multiple length arithmetic ,
The predetermined logic circuit unit that executes the lower operation includes a carry output, and the carry output is configured to be connected to an upper operation logic circuit unit located in a column that is two or more columns away from the predetermined logic circuit unit. An arithmetic processing circuit characterized by that.
前記論理回路部からの演算出力を保持する状態保持部を更に備え、
論理回路部からの演算出力は、前記状態保持部を介して次段の論理回路部へ入力され、
前記所定の論理回路部からのキャリー出力が、該所定の論理回路部の次段に位置する論理回路部に接続するよう構成されることを特徴とする、請求項1記載の演算処理回路。
A state holding unit for holding an operation output from the logic circuit unit;
The operation output from the logic circuit unit is input to the logic circuit unit of the next stage through the state holding unit,
The arithmetic processing circuit according to claim 1, wherein a carry output from the predetermined logic circuit unit is configured to be connected to a logic circuit unit located at a next stage of the predetermined logic circuit unit.
段方向に構成された複数の論理回路部を備え、
所定の論理回路部からの演算出力が、前記複数の論理回路のうち、一部の論理回路部に制限されて接続されるよう構成されると共に論理回路部が上位演算と下位演算を個別に実行し多倍長演算を行う演算処理回路であって、
前記下位演算所定の論理回路部がキャリー出力を備え、該キャリー出力が、該所定の論理回路部から2列以上離れた列に位置する上位演算論理回路部に接続するよう構成されることを特徴とする、演算処理回路。
Provided with a plurality of logic circuit parts configured in the stage direction,
Operation output from a given logic circuit section, among the plurality of logic circuits, perform individually configured Rutotomoni logic circuit portion upper level computing and lower operations to be connected are restricted to a subset of the logic circuit portion An arithmetic processing circuit that performs multiple length arithmetic ,
The lower operation predetermined logic circuit unit includes a carry output, and the carry output is configured to be connected to an upper operation logic circuit unit located in a column separated from the predetermined logic circuit unit by two or more columns. An arithmetic processing circuit.
前記所定の論理回路部からの演算出力が、次段に配置された論理回路部のうち前記所定の論理回路部からp列(但し、pは自然数)以内に配置された論理回路部に制限されて接続されるよう構成され、
前記キャリー出力が、該所定の論理回路部から(p+1)列以上離れた列に位置する論理回路部に接続するよう構成されることを特徴とする、請求項1又は2かに記載の演算処理回路。
An operation output from the predetermined logic circuit unit is limited to a logic circuit unit arranged within p columns (where p is a natural number) from the predetermined logic circuit unit among the logic circuit units arranged in the next stage. Configured to be connected
3. The arithmetic processing according to claim 1, wherein the carry output is configured to be connected to a logic circuit unit located in a column separated by (p + 1) columns or more from the predetermined logic circuit unit. 4. circuit.
前記所定の論理回路部からの演算出力が、前記所定の論理回路部からp列(但し、pは自然数)以内に配置された論理回路部に制限されて接続されるよう構成され、
前記キャリー出力が、該所定の論理回路部から(p+1)列以上離れた論理回路部に接続するよう構成されることを特徴とする、請求項3に記載の演算処理回路。
An arithmetic output from the predetermined logic circuit unit is limited and connected to a logic circuit unit arranged within p columns (where p is a natural number) from the predetermined logic circuit unit,
4. The arithmetic processing circuit according to claim 3, wherein the carry output is configured to be connected to a logic circuit unit separated by (p + 1) columns or more from the predetermined logic circuit unit. 5.
前記論理回路部は、該論理回路の外部から供給される設定データに従って演算機能の変更が可能であることを特徴とする、請求項1ないし5のいずれかに記載の演算処理回路。   The arithmetic processing circuit according to claim 1, wherein the logic circuit unit can change an arithmetic function in accordance with setting data supplied from the outside of the logic circuit. 同一段に、n×k個(但し、n、kは、2以上の整数)の論理回路部が配置され、
前記所定の論理回路部がキャリー出力を備え、該キャリー出力が、該所定の論理回路部からk列離れた列に位置する論理回路部に接続するよう構成されることを特徴とする、請求項1ないし6のいずれかに記載の演算処理回路。
On the same stage, n × k logic circuits (where n and k are integers of 2 or more) are arranged,
The predetermined logic circuit unit includes a carry output, and the carry output is configured to be connected to a logic circuit unit located in a column separated by k columns from the predetermined logic circuit unit. The arithmetic processing circuit according to any one of 1 to 6.
JP2008021889A 2008-01-31 2008-01-31 Arithmetic processing circuit Expired - Fee Related JP5025509B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008021889A JP5025509B2 (en) 2008-01-31 2008-01-31 Arithmetic processing circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008021889A JP5025509B2 (en) 2008-01-31 2008-01-31 Arithmetic processing circuit

Publications (2)

Publication Number Publication Date
JP2009181487A JP2009181487A (en) 2009-08-13
JP5025509B2 true JP5025509B2 (en) 2012-09-12

Family

ID=41035393

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008021889A Expired - Fee Related JP5025509B2 (en) 2008-01-31 2008-01-31 Arithmetic processing circuit

Country Status (1)

Country Link
JP (1) JP5025509B2 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8517376D0 (en) * 1985-07-09 1985-08-14 Jesshope C R Processor array
JP2000010762A (en) * 1998-06-19 2000-01-14 Mitsubishi Electric Corp Floating-point operation device
JP4104538B2 (en) * 2003-12-22 2008-06-18 三洋電機株式会社 Reconfigurable circuit, processing device provided with reconfigurable circuit, function determination method of logic circuit in reconfigurable circuit, circuit generation method, and circuit

Also Published As

Publication number Publication date
JP2009181487A (en) 2009-08-13

Similar Documents

Publication Publication Date Title
US10417004B2 (en) Pipelined cascaded digital signal processing structures and methods
US7953956B2 (en) Reconfigurable circuit with a limitation on connection and method of determining functions of logic circuits in the reconfigurable circuit
US7971172B1 (en) IC that efficiently replicates a function to save logic and routing resources
US10275219B2 (en) Bit-serial multiplier for FPGA applications
JP2014186461A (en) Arithmetic processing device and arithmetic processing method
US20100281235A1 (en) Reconfigurable floating-point and bit-level data processing unit
CN112074810B (en) Parallel processing apparatus
JP5025509B2 (en) Arithmetic processing circuit
JP2006011825A (en) Reconfigurable arithmetic unit and semiconductor device
US20070198811A1 (en) Data-driven information processor performing operations between data sets included in data packet
Shun et al. A VLSI architecture for a run-time multi-precision reconfigurable Booth multiplier
JP2019219753A (en) Semiconductor device and control method thereof
JP5116499B2 (en) Arithmetic processing circuit
US10691416B2 (en) Performing constant modulo arithmetic
Ilić et al. Address generation unit as accelerator block in DSP
US20060031279A1 (en) Highly parallel structure for fast multi cycle binary and decimal adder unit
JP4553615B2 (en) Processing equipment
JP2004318670A (en) Arithmetic unit and operational circuit
JP4413052B2 (en) Data flow graph processing apparatus and processing apparatus
US7007059B1 (en) Fast pipelined adder/subtractor using increment/decrement function with reduced register utilization
JP4357326B2 (en) Reconfigurable circuit and processing device
Sasipriya et al. Vedic Multiplier Design Using Modified Carry Select Adder with Parallel Prefix Adder
JP4330472B2 (en) Processing equipment
JP5115307B2 (en) Semiconductor integrated circuit
CN108701021B (en) Processing element

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110111

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20111117

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20111130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120306

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120425

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: 20120522

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120619

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

Free format text: PAYMENT UNTIL: 20150629

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees