JP4330472B2 - Processing equipment - Google Patents

Processing equipment Download PDF

Info

Publication number
JP4330472B2
JP4330472B2 JP2004086773A JP2004086773A JP4330472B2 JP 4330472 B2 JP4330472 B2 JP 4330472B2 JP 2004086773 A JP2004086773 A JP 2004086773A JP 2004086773 A JP2004086773 A JP 2004086773A JP 4330472 B2 JP4330472 B2 JP 4330472B2
Authority
JP
Japan
Prior art keywords
circuit
data
constant
setting
alu
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 - Lifetime
Application number
JP2004086773A
Other languages
Japanese (ja)
Other versions
JP2005277673A (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 JP2004086773A priority Critical patent/JP4330472B2/en
Publication of JP2005277673A publication Critical patent/JP2005277673A/en
Application granted granted Critical
Publication of JP4330472B2 publication Critical patent/JP4330472B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

この発明は、集積回路技術に関し、特にリコンフィギュラブル回路を備えた処理装置に関する。   The present invention relates to integrated circuit technology, and more particularly, to a processing apparatus including a reconfigurable 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)による設計と比べると、実装面積が非常に大きくなり、コスト高になる。そこで、FPGAを動的に再構成することで、回路構成の再利用を図る方法が提案されている(例えば、特許文献1参照。)。
特開平10−256383号公報
An FPGA (Field Programmable Gate Array) can design circuit configuration relatively freely by writing circuit data after LSI manufacture, 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 connecting 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 as compared with an ASIC (Application Specific IC) design. Thus, a method has been proposed in which the circuit configuration is reused by dynamically reconfiguring the FPGA (see, for example, Patent Document 1).
Japanese Patent Laid-Open No. 10-256383

FPGAは回路構成の設計自由度が高く、汎用的である反面、全ての基本セル間の接続を可能とするため、多数のスイッチとスイッチのON/OFFを制御するための制御回路を含む必要があり、必然的に制御回路の実装面積が大きくなる。また、基本セル間の接続に複雑な配線パターンをとるため、配線が長くなる傾向があり、さらに1本の配線に多くのスイッチが接続される構造のため、遅延が大きくなる。そのため、FPGAによるLSIは、試作や実験のために利用されるにとどまることが多く、実装効率、性能、コストなどを考えると、量産には適していない。さらに、FPGAでは、多数のLUT方式の基本セルに構成情報を送る必要があるため、回路のコンフィグレーションにはかなりの時間がかかる。そのため、瞬時に回路構成の切り替えが必要な用途にはFPGAは適していない。   The FPGA has a high degree of design freedom in circuit configuration and is general-purpose. On the other hand, in order to enable connection between all the basic cells, it is necessary to include a large number of switches and a control circuit for controlling ON / OFF of the switches. This inevitably increases the mounting area of the control circuit. Further, since a complicated wiring pattern is used for the connection between the basic cells, the wiring tends to be long, and the delay increases because of the structure in which many switches are connected to one wiring. For this reason, FPGA based LSIs are often used only for trial manufacture and experiments, and are not suitable for mass production in view of mounting efficiency, performance, cost, and the like. Furthermore, in the FPGA, it is necessary to send configuration information to a large number of basic cells of the LUT method, so that it takes a considerable time to configure the circuit. For this reason, the FPGA is not suitable for applications that require instantaneous switching of the circuit configuration.

それらの課題を解決するため、近年、ALU(Arithmetic Logic Unit)と呼ばれる基本演算機能を持つ多機能素子を多段に並べたALUアレイの検討が行われるようになった。ALUアレイでは、処理が上から下の一方向に流れるので、水平方向のALUを結ぶ配線は基本的には不要である。そのため、FPGAと比較して回路規模を小さくすることが可能となる。従来、ALUに対して定数をどのように与えるといった実装レベルの研究については行われていない。   In order to solve these problems, in recent years, an ALU array called an ALU (Arithmetic Logic Unit) in which multi-functional elements having basic arithmetic functions are arranged in multiple stages has been studied. In the ALU array, processing flows in one direction from the top to the bottom, so wiring that connects the ALUs in the horizontal direction is basically unnecessary. Therefore, the circuit scale can be reduced as compared with the FPGA. Conventionally, there has been no research on implementation level such as how to give constants to ALU.

本発明はこうした状況に鑑みてなされたもので、その目的は、定数データを効率よくALUなどの論理回路に与えることのできる技術の提供にある。   The present invention has been made in view of such circumstances, and an object thereof is to provide a technique capable of efficiently supplying constant data to a logic circuit such as an ALU.

発明の処理装置は、数の演算機能を選択的に実行可能な論理回路を複数備えたリコンフィギュラブル回路と、論理回路の機能を設定して、前記リコンフィギュラブル回路に所期の回路を構成するための設定データを記憶する設定部と、前記リコンフィギュラブル回路に所期の設定データを供給するように前記設定部を制御する制御部とを備え、前記設定部は、定数データを記憶する複数のテーブルを保持すると共に、テーブルに記憶した定数データを論理回路の入力に供給し、前記リコンフィギュラブル回路は、複数のテーブルの出力と、論理回路の入力とを接続する接続部を有することを特徴とする。
Processing apparatus of the present invention includes a reconfigurable circuit having a plurality of selectively executable logic circuit multiple calculation function, set the function of the logic circuit, intended circuit to the reconfigurable circuit And a control unit for controlling the setting unit to supply desired setting data to the reconfigurable circuit, and the setting unit stores constant data. While holding a plurality of tables to be stored and supplying constant data stored in the tables to the input of the logic circuit, the reconfigurable circuit has a connection unit for connecting the outputs of the plurality of tables and the inputs of the logic circuit. It is characterized by having .

なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、コンピュータプログラムとして表現したものもまた、本発明の態様として有効である。   It should be noted that any combination of the above components and the expression of the present invention expressed as a method, apparatus, system, and computer program are also effective as an aspect of the present invention.

本発明によれば、定数データを効率よくリコンフィギュラブル回路に供給することのできる技術を提供することができる。   ADVANTAGE OF THE INVENTION According to this invention, the technique which can supply constant data to a reconfigurable circuit efficiently can be provided.

図1は、実施の形態に係る処理装置10の構成図である。処理装置10は、集積回路装置26を備える。集積回路装置26は、回路構成を再構成可能とする機能を有する。集積回路装置26は1チップとして構成され、リコンフィギュラブル回路12、設定部14、制御部18、内部状態保持回路20、出力回路22および経路部24を備える。リコンフィギュラブル回路12は、設定を変更することにより、機能の変更を可能とする。   FIG. 1 is a configuration diagram of a processing apparatus 10 according to the embodiment. The processing device 10 includes an integrated circuit device 26. The integrated circuit device 26 has a function that makes it possible to reconfigure the circuit configuration. The integrated circuit device 26 is configured as one chip, and includes a reconfigurable circuit 12, a setting unit 14, a control unit 18, an internal state holding circuit 20, an output circuit 22, and a path unit 24. The reconfigurable circuit 12 can change the function by changing the setting.

設定部14は、第1設定部14a、第2設定部14b、第3設定部14c、第4設定部14dおよび選択器16を有し、リコンフィギュラブル回路12に所期の回路を構成するための設定データ40を供給する。設定部14は、プログラムカウンタのカウント値に基づいて記憶したデータを出力するコマンドメモリとして構成されてもよい。経路部24は、フィードバックパスとして機能し、リコンフィギュラブル回路12の出力を、リコンフィギュラブル回路12の入力に接続する。内部状態保持回路20および出力回路22は、例えばデータフリップフロップ(D−FF)などの順序回路として構成され、リコンフィギュラブル回路12の出力を受ける。内部状態保持回路20は経路部24に接続されている。リコンフィギュラブル回路12は組合せ回路として構成される。   The setting unit 14 includes a first setting unit 14a, a second setting unit 14b, a third setting unit 14c, a fourth setting unit 14d, and a selector 16, and configures an intended circuit in the reconfigurable circuit 12. The setting data 40 is supplied. The setting unit 14 may be configured as a command memory that outputs stored data based on the count value of the program counter. The path unit 24 functions as a feedback path, and connects the output of the reconfigurable circuit 12 to the input of the reconfigurable circuit 12. The internal state holding circuit 20 and the output circuit 22 are configured as sequential circuits such as a data flip-flop (D-FF), for example, and receive the output of the reconfigurable circuit 12. The internal state holding circuit 20 is connected to the path unit 24. The reconfigurable circuit 12 is configured as a combinational circuit.

リコンフィギュラブル回路12は、機能の変更が可能な論理回路を有して構成される。具体的にリコンフィギュラブル回路12は、複数の演算機能を選択的に実行可能な論理回路の集合体を複数段に配列させた構成を有し、前段の論理回路列の出力と後段の論理回路列の入力との接続関係を設定可能な接続部を含む。以下、論理回路の集合体を、単に「論理回路」とも呼ぶ。この接続部は、設定部14から出力される定数データを、所望の論理回路の入力に供給するための接続関係を設定する機能ももつ。複数の論理回路は、マトリックス状に配置される。各論理回路の機能と、論理回路列の間に設けられる接続部の接続関係、さらには論理回路の入力に供給される定数データは、設定部14により供給される設定データ40に基づいて設定される。設定データ40は、以下の手順で生成される。   The reconfigurable circuit 12 includes a logic circuit whose function can be changed. Specifically, the reconfigurable circuit 12 has a configuration in which a set of logic circuits capable of selectively executing a plurality of arithmetic functions is arranged in a plurality of stages, and the output of the preceding logic circuit array and the following logic circuit Includes a connection that can set the connection relationship with the column input. Hereinafter, a collection of logic circuits is also simply referred to as “logic circuit”. This connection unit also has a function of setting a connection relationship for supplying constant data output from the setting unit 14 to an input of a desired logic circuit. The plurality of logic circuits are arranged in a matrix. The function of each logic circuit, the connection relationship of the connection units provided between the logic circuit columns, and the constant data supplied to the input of the logic circuit are set based on the setting data 40 supplied by the setting unit 14. The The setting data 40 is generated by the following procedure.

集積回路装置26により実現されるべきプログラム36が、記憶部34に保持されている。プログラム36は、信号処理回路または信号処理アルゴリズムなどをC言語などの高級言語で記述したものである。コンパイル部30は、記憶部34に格納されたプログラム36をコンパイルし、データフローグラフ38に変換して記憶部34に格納する。データフローグラフ38は、入力変数および定数の演算の流れをグラフ構造で表現したものである。   A program 36 to be realized by the integrated circuit device 26 is held in the storage unit 34. The program 36 describes a signal processing circuit or a signal processing algorithm in a high-level language such as C language. The compiling unit 30 compiles the program 36 stored in the storage unit 34, converts it into a data flow graph 38, and stores it in the storage unit 34. The data flow graph 38 expresses the flow of calculation of input variables and constants in a graph structure.

設定データ生成部32は、データフローグラフ38から設定データ40を生成する。設定データ40は、データフローグラフ38をリコンフィギュラブル回路12にマッピングするためのデータであり、リコンフィギュラブル回路12における論理回路の機能や、論理回路列の間に設けられる接続部の接続関係、さらには論理回路の入力に供給する定数データなどを定める。本実施の形態では、設定データ生成部32が、1つの回路を分割してできる複数の回路の設定データ40を生成する。   The setting data generation unit 32 generates setting data 40 from the data flow graph 38. The setting data 40 is data for mapping the data flow graph 38 to the reconfigurable circuit 12. The function of the logic circuit in the reconfigurable circuit 12, the connection relationship of the connection units provided between the logic circuit strings, Furthermore, constant data to be supplied to the input of the logic circuit is determined. In the present embodiment, the setting data generation unit 32 generates setting data 40 for a plurality of circuits obtained by dividing one circuit.

図2は、1つの生成するべきターゲット回路42を分割してできる複数の回路の設定データ40について説明するための図である。1つのターゲット回路42を分割して生成される回路を、「分割回路」と呼ぶ。この例では、1つのターゲット回路42が、4つの分割回路、すなわち分割回路A、分割回路B、分割回路C、分割回路Dに分割されている。ターゲット回路42は、データフローグラフ38における演算の流れにしたがって分割される。データフローグラフ38において、上から下に向かう方向に演算の流れが表現される場合には、そのデータフローグラフ38を上から所定の間隔で切り取り、その切り取った部分を分割回路として設定する。流れにしたがって切り取る間隔は、リコンフィギュラブル回路12における論理回路の段数以下に定められる。ターゲット回路42は、データフローグラフ38の横方向で分割されてもよい。横方向に分割する幅は、リコンフィギュラブル回路12における論理回路の1段当たりの個数以下に定められる。   FIG. 2 is a diagram for explaining setting data 40 of a plurality of circuits that are obtained by dividing one target circuit 42 to be generated. A circuit generated by dividing one target circuit 42 is referred to as a “divided circuit”. In this example, one target circuit 42 is divided into four divided circuits, that is, divided circuit A, divided circuit B, divided circuit C, and divided circuit D. The target circuit 42 is divided according to the calculation flow in the data flow graph 38. In the data flow graph 38, when the calculation flow is expressed in a direction from the top to the bottom, the data flow graph 38 is cut from the top at a predetermined interval, and the cut portion is set as a dividing circuit. The interval to be cut according to the flow is determined to be equal to or less than the number of logic circuit stages in the reconfigurable circuit 12. The target circuit 42 may be divided in the horizontal direction of the data flow graph 38. The width to be divided in the horizontal direction is determined to be equal to or less than the number of logic circuits in the reconfigurable circuit 12 per stage.

特に、生成すべきターゲット回路42がリコンフィギュラブル回路12よりも大きい場合に、設定データ生成部32は、リコンフィギュラブル回路12にマッピングできる大きさになるように、ターゲット回路42を分割することが好ましい。設定データ生成部32は、リコンフィギュラブル回路12における論理回路の配列構造とデータフローグラフ38によって、ターゲット回路42の分割方法を定める。リコンフィギュラブル回路12の配列構造は、制御部18から設定データ生成部32に伝えられてもよく、また予め記憶部34に記録されていてもよい。また、制御部18が、ターゲット回路42の分割方法を設定データ生成部32に指示してもよい。   In particular, when the target circuit 42 to be generated is larger than the reconfigurable circuit 12, the setting data generation unit 32 may divide the target circuit 42 so as to have a size that can be mapped to the reconfigurable circuit 12. preferable. The setting data generation unit 32 determines the division method of the target circuit 42 based on the arrangement structure of the logic circuits in the reconfigurable circuit 12 and the data flow graph 38. The arrangement structure of the reconfigurable circuit 12 may be transmitted from the control unit 18 to the setting data generation unit 32 or may be recorded in the storage unit 34 in advance. In addition, the control unit 18 may instruct the setting data generation unit 32 on how to divide the target circuit 42.

以上の手順を実行することにより、記憶部34は、リコンフィギュラブル回路12を所期の回路として構成するための複数の設定データ40を記憶する。複数の設定データ40は、分割回路Aを構成するための設定データ40a、分割回路Bを構成するための設定データ40b、分割回路Cを構成するための設定データ40c、および分割回路Dを構成するための設定データ40dである。既述のごとく、複数の設定データ40は、1つのターゲット回路42を分割した複数の分割回路をそれぞれ表現したものである。このように、リコンフィギュラブル回路12の回路規模に応じて、生成すべきターゲット回路42の設定データ40を生成することにより、汎用性の高い処理装置10を実現することが可能となる。別の視点からみると、本実施の形態の処理装置10によれば、回路規模の小さいリコンフィギュラブル回路12を用いて、所望の回路を再構成することが可能となる。   By executing the above procedure, the storage unit 34 stores a plurality of setting data 40 for configuring the reconfigurable circuit 12 as a desired circuit. The plurality of setting data 40 constitute setting data 40a for configuring the dividing circuit A, setting data 40b for configuring the dividing circuit B, setting data 40c for configuring the dividing circuit C, and a dividing circuit D. This is setting data 40d. As described above, the plurality of setting data 40 represent a plurality of divided circuits obtained by dividing one target circuit 42, respectively. As described above, by generating the setting data 40 of the target circuit 42 to be generated according to the circuit scale of the reconfigurable circuit 12, it is possible to realize the processing apparatus 10 with high versatility. From another point of view, according to the processing device 10 of the present embodiment, it is possible to reconfigure a desired circuit using the reconfigurable circuit 12 having a small circuit scale.

図3は、リコンフィギュラブル回路12の構成図である。リコンフィギュラブル回路12は、複数の論理回路50の列が複数段にわたって配列されたもので、各段に設けられた接続部52によって、前段の論理回路列の出力と後段の論理回路列の入力が設定により任意に接続可能な構造となっている。また接続部52は、設定部14から出力される定数データを、所期の論理回路50に供給するための接続関係を設定する機能も有している。入力接続部51は、外部からの入力ないしは出力選択部53より出力される値、または設定部14から出力される定数データを、1段目の論理回路列における所期の論理回路50に供給するための接続関係を設定する機能を有する。ここでは、論理回路50の例としてALUを示す。ALUは、論理和、論理積、ビットシフトなどの複数種類の多ビット演算を設定により選択的に実行できる算術論理回路である。各ALUは、複数の演算機能を選択するためのセレクタを有している。   FIG. 3 is a configuration diagram of the reconfigurable circuit 12. The reconfigurable circuit 12 includes a plurality of stages of logic circuits 50 arranged in a plurality of stages, and a connection unit 52 provided in each stage outputs an output of a preceding logic circuit string and an input of a subsequent logic circuit string. Has a structure that can be arbitrarily connected by setting. The connection unit 52 also has a function of setting a connection relationship for supplying constant data output from the setting unit 14 to the intended logic circuit 50. The input connection unit 51 supplies an external input or output value from the output selection unit 53 or constant data output from the setting unit 14 to the intended logic circuit 50 in the first stage logic circuit array. Has a function of setting a connection relationship. Here, an ALU is shown as an example of the logic circuit 50. The ALU is an arithmetic logic circuit that can selectively execute a plurality of types of multi-bit operations such as logical sum, logical product, and bit shift by setting. Each ALU has a selector for selecting a plurality of arithmetic functions.

図示のように、リコンフィギュラブル回路12は、横方向にY個、縦方向にX個のALUが配置されたALUアレイとして構成される。第1段のALU11、ALU12、・・・、ALU1Yには、入力接続部51を介して入力変数や定数が入力され、設定された所定の演算がなされる。演算結果の出力は、第1段の接続部52に設定された接続にしたがって、第2段のALU21、ALU22、・・・、ALU2Yに入力される。第1段の接続部52においては、第1段のALU列の出力と第2段のALU列の入力の間で任意の接続関係を実現できるように結線が構成されており、設定により所期の結線が有効となる。以下、第(X−1)段の接続部52まで、同様の構成であり、最終段である第X段のALU列は、リコンフィギュラブル回路12にマッピングされた演算の最終結果を、出力選択部53に出力する。出力選択部53は、図1に示す出力回路22ないしは内部状態保持回路20の機能に相当する。   As shown in the figure, the reconfigurable circuit 12 is configured as an ALU array in which Y ALUs in the horizontal direction and X ALUs in the vertical direction are arranged. Input variables and constants are input to the first-stage ALU11, ALU12,..., ALU1Y via the input connection unit 51, and set predetermined calculations are performed. The output of the calculation result is input to the second-stage ALU 21, ALU 22,..., ALU 2Y according to the connection set in the first-stage connection unit 52. In the first stage connection section 52, the connection is configured so as to realize an arbitrary connection relationship between the output of the first stage ALU column and the input of the second stage ALU column. The connection is effective. Hereinafter, the configuration is the same up to the (X-1) -th stage connection unit 52, and the final-stage X-th ALU column selects the final result of the operation mapped to the reconfigurable circuit 12 as an output. To the unit 53. The output selection unit 53 corresponds to the function of the output circuit 22 or the internal state holding circuit 20 shown in FIG.

図4は、データフローグラフ38の例を示す図である。データフローグラフ38においては、入力される変数や定数の演算の流れが段階的にグラフ構造で表現されている。図中、演算子は丸印で示されている。設定データ生成部32は、このデータフローグラフ38をリコンフィギュラブル回路12にマッピングするための設定データ40を生成する。特にデータフローグラフ38をリコンフィギュラブル回路12にマッピングしきれない場合には、データフローグラフ38を複数の領域に分割して、分割回路の設定データ40を生成する。データフローグラフ38による演算の流れを回路上で実現するべく、設定データ40は、演算機能を割り当てる論理回路を特定し、また論理回路間の接続関係を定め、さらに入力変数や入力定数などを定義したデータとなる。したがって、設定データ40は、各論理回路50の機能を選択するセレクタに供給する選択情報、接続部52の結線を設定する接続情報、必要な変数データや定数データなどを含んで構成される。   FIG. 4 is a diagram illustrating an example of the data flow graph 38. In the data flow graph 38, the flow of operations of input variables and constants is expressed step by step in a graph structure. In the figure, operators are indicated by circles. The setting data generation unit 32 generates setting data 40 for mapping the data flow graph 38 to the reconfigurable circuit 12. In particular, when the data flow graph 38 cannot be mapped to the reconfigurable circuit 12, the data flow graph 38 is divided into a plurality of regions, and setting data 40 for the divided circuit is generated. In order to realize the flow of calculation by the data flow graph 38 on the circuit, the setting data 40 specifies the logic circuit to which the calculation function is assigned, defines the connection relationship between the logic circuits, and further defines input variables, input constants, etc. Data. Therefore, the setting data 40 includes selection information supplied to a selector that selects the function of each logic circuit 50, connection information for setting the connection of the connection unit 52, necessary variable data, constant data, and the like.

図1に戻って、回路の構成時、制御部18は、1つの回路を構成するための複数の設定データ40を選択する。ここでは、制御部18が、図2に示すターゲット回路42を構成するための設定データ40、すなわち分割回路Aの設定データ40a、分割回路Bの設定データ40b、分割回路Cの設定データ40cおよび分割回路Dの設定データ40dを選択するものとする。制御部18は、選択した設定データ40を設定部14に供給する。設定部14は、プログラムカウンタのカウント値に基づいてデータを出力するコマンドメモリを有し、供給される設定データ40をそれぞれ保持する。なお、設定部14は、キャッシュメモリや他の種類のメモリを有してもよい。具体的に制御部18は、設定データ40aを第1設定部14aに、設定データ40bを第2設定部14bに、設定データ40cを第3設定部14cに、設定データ40dを第4設定部14dに供給する。   Returning to FIG. 1, at the time of circuit configuration, the control unit 18 selects a plurality of setting data 40 for configuring one circuit. Here, the control unit 18 sets the setting data 40 for configuring the target circuit 42 shown in FIG. 2, that is, the setting data 40a of the dividing circuit A, the setting data 40b of the dividing circuit B, the setting data 40c of the dividing circuit C, and the dividing data. Assume that the setting data 40d of the circuit D is selected. The control unit 18 supplies the selected setting data 40 to the setting unit 14. The setting unit 14 has a command memory that outputs data based on the count value of the program counter, and holds the supplied setting data 40. The setting unit 14 may include a cache memory and other types of memory. Specifically, the control unit 18 sets the setting data 40a to the first setting unit 14a, the setting data 40b to the second setting unit 14b, the setting data 40c to the third setting unit 14c, and the setting data 40d to the fourth setting unit 14d. To supply.

設定部14は、選択された設定データ40をリコンフィギュラブル回路12に設定し、リコンフィギュラブル回路12の回路を再構成する。これにより、リコンフィギュラブル回路12は、所期の演算を実行できる。リコンフィギュラブル回路12は、基本セルとして高性能の演算能力のあるALUを用いており、またリコンフィギュラブル回路12および設定部14を1チップ上に構成することから、コンフィグレーションを高速に、例えば1クロックで実現することができる。制御部18はクロック機能を有し、クロック信号は、内部状態保持回路20および出力回路22に供給される。また制御部18はカウンタ回路を含み、カウント信号を選択器16に供給してもよい。この場合、カウンタ回路は4進カウンタである。   The setting unit 14 sets the selected setting data 40 in the reconfigurable circuit 12 and reconfigures the circuit of the reconfigurable circuit 12. As a result, the reconfigurable circuit 12 can execute a desired calculation. The reconfigurable circuit 12 uses an ALU having a high-performance computing capability as a basic cell, and the reconfigurable circuit 12 and the setting unit 14 are configured on one chip, so that the configuration can be performed at a high speed, for example, It can be realized with one clock. The control unit 18 has a clock function, and the clock signal is supplied to the internal state holding circuit 20 and the output circuit 22. The control unit 18 may include a counter circuit and supply a count signal to the selector 16. In this case, the counter circuit is a quaternary counter.

図5は、信号処理のフローチャートを示す。制御部18は、カウンタ回路からのカウント信号に合わせて、リコンフィギュラブル回路12に複数の設定データ40、すなわち設定データ40a、設定データ40b、設定データ40cおよび設定データ40dを順次供給するように設定部14を制御する。設定部14が、複数の設定データ40をリコンフィギュラブル回路12に順次供給することにより、全体として1つの回路が構成されることになる。出力回路22は、設定部14によりリコンフィギュラブル回路12が複数回、ここでは4回構成されると、リコンフィギュラブル回路12の出力を出力する。この回数は、使用する設定データ40の個数となる。以下、具体的な手順を示す。   FIG. 5 shows a flowchart of signal processing. The control unit 18 is set so as to sequentially supply a plurality of setting data 40, that is, setting data 40a, setting data 40b, setting data 40c, and setting data 40d, to the reconfigurable circuit 12 in accordance with the count signal from the counter circuit. The unit 14 is controlled. The setting unit 14 sequentially supplies a plurality of setting data 40 to the reconfigurable circuit 12, so that one circuit is configured as a whole. The output circuit 22 outputs the output of the reconfigurable circuit 12 when the setting unit 14 configures the reconfigurable circuit 12 a plurality of times, here, four times. This number of times is the number of setting data 40 to be used. The specific procedure is shown below.

まず、制御部18が、選択器16を制御して第1設定部14aを選択する。選択器16は、カウンタ回路により制御されてもよい。第1設定部14aは、分割回路Aの設定データ40aをリコンフィギュラブル回路12に供給し、リコンフィギュラブル回路12上に分割回路Aを構成する(S10)。分割回路Aが構成されると同時に、入力データが分割回路Aに供給される。組合せ回路である分割回路Aは、次のクロック信号までの間に、演算処理を実行する。   First, the control unit 18 controls the selector 16 to select the first setting unit 14a. The selector 16 may be controlled by a counter circuit. The first setting unit 14a supplies the setting data 40a of the dividing circuit A to the reconfigurable circuit 12, and configures the dividing circuit A on the reconfigurable circuit 12 (S10). At the same time as the dividing circuit A is configured, input data is supplied to the dividing circuit A. The dividing circuit A, which is a combinational circuit, performs arithmetic processing until the next clock signal.

制御部18がクロック信号を内部状態保持回路20に供給すると、内部状態保持回路20は、分割回路Aによる処理結果を保持する(S12)。S10およびS12のステップを第1サイクルと呼ぶ。同時に、制御部18が、選択器16を制御して第2設定部14bを選択する。第2設定部14bは、分割回路Bの設定データ40bをリコンフィギュラブル回路12に供給し、リコンフィギュラブル回路12上に分割回路Bを構成する。このとき、内部状態保持回路20に保持された分割回路Aの処理結果が、経路部24を通って分割回路Bの入力に供給される(S14)。分割回路Bは、次のクロック信号までの間に、演算処理を実行する。   When the control unit 18 supplies the clock signal to the internal state holding circuit 20, the internal state holding circuit 20 holds the processing result by the dividing circuit A (S12). Steps S10 and S12 are referred to as a first cycle. At the same time, the control unit 18 controls the selector 16 to select the second setting unit 14b. The second setting unit 14 b supplies the setting data 40 b of the dividing circuit B to the reconfigurable circuit 12 and configures the dividing circuit B on the reconfigurable circuit 12. At this time, the processing result of the dividing circuit A held in the internal state holding circuit 20 is supplied to the input of the dividing circuit B through the path unit 24 (S14). The dividing circuit B executes arithmetic processing until the next clock signal.

制御部18が次のクロック信号を内部状態保持回路20に供給すると、内部状態保持回路20は、分割回路Bの処理結果を保持する(S16)。S14およびS16のステップを第2サイクルと呼ぶ。同時に、制御部18が、選択器16を制御して第3設定部14cを選択する。第3設定部14cは、分割回路Cの設定データ40cをリコンフィギュラブル回路12に供給し、リコンフィギュラブル回路12上に分割回路Cを構成する。このとき、内部状態保持回路20に保持された分割回路Bの処理結果が、経路部24を通って分割回路Cの入力に供給される(S18)。分割回路Cは、次のクロック信号までの間に、演算処理を実行する。   When the control unit 18 supplies the next clock signal to the internal state holding circuit 20, the internal state holding circuit 20 holds the processing result of the dividing circuit B (S16). Steps S14 and S16 are referred to as a second cycle. At the same time, the control unit 18 controls the selector 16 to select the third setting unit 14c. The third setting unit 14 c supplies the setting data 40 c of the dividing circuit C to the reconfigurable circuit 12 and configures the dividing circuit C on the reconfigurable circuit 12. At this time, the processing result of the dividing circuit B held in the internal state holding circuit 20 is supplied to the input of the dividing circuit C through the path unit 24 (S18). The dividing circuit C executes arithmetic processing until the next clock signal.

制御部18が次のクロック信号を内部状態保持回路20に供給すると、内部状態保持回路20は、分割回路Cの処理結果を保持する(S20)。S18およびS20のステップを第3サイクルと呼ぶ。同時に、制御部18が、選択器16を制御して第4設定部14dを選択する。第4設定部14dは、分割回路Dの設定データ40dをリコンフィギュラブル回路12に供給し、リコンフィギュラブル回路12上に分割回路Dを構成する。このとき、内部状態保持回路20に保持された分割回路Cの処理結果が、経路部24を通って分割回路Dの入力に供給される(S22)。分割回路Dは、次のクロック信号までの間に、演算処理を実行する。   When the control unit 18 supplies the next clock signal to the internal state holding circuit 20, the internal state holding circuit 20 holds the processing result of the dividing circuit C (S20). Steps S18 and S20 are referred to as a third cycle. At the same time, the control unit 18 controls the selector 16 to select the fourth setting unit 14d. The fourth setting unit 14 d supplies the setting data 40 d of the dividing circuit D to the reconfigurable circuit 12 and configures the dividing circuit D on the reconfigurable circuit 12. At this time, the processing result of the dividing circuit C held in the internal state holding circuit 20 is supplied to the input of the dividing circuit D through the path section 24 (S22). The dividing circuit D executes arithmetic processing until the next clock signal.

制御部18が次のクロック信号を出力回路22に供給すると、出力回路22は、分割回路Dの処理結果を出力する(S24)。S22およびS24のステップを第4サイクルと呼ぶ。第1サイクルから第4サイクルまでの処理を繰り返し行う場合には、再度、制御部18が選択器16を制御して第1設定部14aを選択し、リコンフィギュラブル回路12上に分割回路Aを構成して、入力データが供給される。   When the control unit 18 supplies the next clock signal to the output circuit 22, the output circuit 22 outputs the processing result of the dividing circuit D (S24). Steps S22 and S24 are referred to as a fourth cycle. When the processes from the first cycle to the fourth cycle are repeated, the control unit 18 again controls the selector 16 to select the first setting unit 14a, and the dividing circuit A is installed on the reconfigurable circuit 12. Configure and input data is supplied.

以上のように、1つのターゲット回路42を分割した複数の分割回路A〜Dをリコンフィギュラブル回路12上に順次構成し、各分割回路の出力を次の分割回路の入力にフィードバックして各分割回路における演算処理を実行し、最後に構成された分割回路Dから、ターゲット回路42の出力を取り出す。S10からS24までにかかる時間は4クロック分であり、本実施の形態の処理装置10によると、限られたリコンフィギュラブル回路12の回路規模のなかで、効率よい演算処理を実行することができる。また、リコンフィギュラブル回路12の回路規模が小さいため、消費電力も小さくできる。   As described above, a plurality of divided circuits A to D obtained by dividing one target circuit 42 are sequentially configured on the reconfigurable circuit 12, and the output of each divided circuit is fed back to the input of the next divided circuit to each divided circuit. Arithmetic processing in the circuit is executed, and the output of the target circuit 42 is taken out from the last divided circuit D. The time taken from S10 to S24 is 4 clocks, and according to the processing device 10 of the present embodiment, efficient arithmetic processing can be executed within the limited circuit scale of the reconfigurable circuit 12. . Further, since the circuit scale of the reconfigurable circuit 12 is small, power consumption can be reduced.

制御部18は、内部状態保持回路20および出力回路22に同一のクロック信号を供給してもよいが、出力回路22に供給するクロック信号の周期を、内部状態保持回路20に供給するクロック信号の周期の4倍に設定してもよい。内部状態保持回路20および出力回路22に同一のクロック信号を供給する場合は、内部状態保持回路20に出力回路22の役目をもたせ、1つの回路にまとめることもできる。この場合は、出力先の回路以降で必要な信号を取り出すための回路が必要となる。図5に示した例では1つのターゲット回路42を4サイクルの分割回路で表現したため、出力回路22の動作周期が内部状態保持回路20の動作周期の4倍となっているが、周期の比は、ターゲット回路42の分割数に応じて変化する。また、この例では第1設定部14a〜第4設定部14dの4つの設定部を利用したが、この数もターゲット回路42の分割数に応じて変動することは当業者に容易に理解されるところである。なお、特に説明はしていないが、論理回路50、入力接続部51および接続部52についてD−FFを付加して、いわゆるパイプライン処理を行うことも可能である。   The control unit 18 may supply the same clock signal to the internal state holding circuit 20 and the output circuit 22, but the cycle of the clock signal supplied to the output circuit 22 is set to the clock signal supplied to the internal state holding circuit 20. You may set to 4 times the period. When the same clock signal is supplied to the internal state holding circuit 20 and the output circuit 22, the internal state holding circuit 20 can serve as the output circuit 22 and can be combined into one circuit. In this case, a circuit for extracting necessary signals after the output destination circuit is required. In the example shown in FIG. 5, since one target circuit 42 is represented by a 4-cycle divided circuit, the operation cycle of the output circuit 22 is four times the operation cycle of the internal state holding circuit 20, but the cycle ratio is , Depending on the number of divisions of the target circuit 42. In this example, the four setting units of the first setting unit 14a to the fourth setting unit 14d are used. However, it is easily understood by those skilled in the art that this number also varies depending on the number of divisions of the target circuit 42. By the way. Although not specifically described, it is also possible to perform so-called pipeline processing by adding D-FFs to the logic circuit 50, the input connection unit 51, and the connection unit 52.

図6は、処理装置10においてリコンフィギュラブル回路12に定数データを供給するための構成を示す。定数データを供給するために、制御部18はプログラムカウンタ62を有し、設定部14はコマンドメモリ61および定数テーブル70を有する。コマンドメモリ61は、各ALUの機能を定める設定データ、入力接続部51、接続部52および出力選択部53における接続を定める設定データ(図6において設定データを供給するための接続線については図示を省略)、および各ALUに入力する定数に関する設定データを保持している。ALU機能を定める設定データは、各ALUにおける論理機能を選択するべく、ALUのセレクタに供給するためのセレクト値であり、接続を定める設定データは、入力接続部51、接続部52および出力選択部53における結線を定めるためのデータである。以下、本実施の形態において入力接続部51と接続部52の機能は実質的に同じであるため、以下、入力接続部51を接続部52として表現することもある。定数に関する設定データは、各ALUに入力する定数を格納した定数テーブル70のアドレスデータである。コマンドメモリ61に保持されるデータは、設定データ40として生成されたデータであり、回路を分割して生成する場合には、それぞれの分割した設定データ40に対応する。コマンドメモリ61に保持されたデータは、プログラムカウンタ62のカウンタ値によって読み出されていく。以下では、リコンフィギュラブル回路12に1つの回路を生成する場合を例にとり、ALUの入力に定数を供給する方法を説明する。なお、リコンフィギュラブル回路12に生成する回路は、最終的に生成すべきターゲット回路42であるか、それを分割した分割回路であるかは問わない。   FIG. 6 shows a configuration for supplying constant data to the reconfigurable circuit 12 in the processing apparatus 10. In order to supply constant data, the control unit 18 has a program counter 62, and the setting unit 14 has a command memory 61 and a constant table 70. The command memory 61 sets setting data for determining the function of each ALU, setting data for setting connections in the input connection unit 51, the connection unit 52, and the output selection unit 53 (the connection lines for supplying the setting data in FIG. 6 are not shown). And setting data relating to constants input to each ALU. The setting data defining the ALU function is a select value for supplying to the selector of the ALU to select the logical function in each ALU, and the setting data defining the connection includes the input connection unit 51, the connection unit 52, and the output selection unit. 53 is data for determining a connection at 53. Hereinafter, since the functions of the input connecting portion 51 and the connecting portion 52 are substantially the same in the present embodiment, the input connecting portion 51 may be expressed as the connecting portion 52 hereinafter. The setting data regarding the constant is the address data of the constant table 70 that stores the constant input to each ALU. The data held in the command memory 61 is data generated as the setting data 40, and corresponds to the divided setting data 40 when the circuit is divided and generated. The data held in the command memory 61 is read by the counter value of the program counter 62. In the following, a method for supplying a constant to the input of the ALU will be described, taking as an example the case where one circuit is generated in the reconfigurable circuit 12. It does not matter whether the circuit generated in the reconfigurable circuit 12 is the target circuit 42 to be finally generated or a divided circuit obtained by dividing it.

定数テーブル70は、リコンフィギュラブル回路12のALUに供給する定数データを記憶する。定数テーブル70はRAMで構成され、複数存在するのが好ましい。入力接続部51および接続部52は、コマンドメモリ61から出力される接続用の設定データに基づいて、複数の定数テーブル70の出力と、ALUの入力とを接続する。RAMである各定数テーブル70は、複数のデータを格納する領域を有してもよいが、1回の読出しでは、1つのデータしか読み出されることはできない。したがって、例えば複数回のサイクルで所期のターゲット回路42を構成する場合、各定数テーブル70は、1つの分割回路に供給する定数データを複数個有さず、言い換えると、1つの分割回路に供給される定数データは、それぞれ異なる定数テーブル70にて記憶されることが好ましい。これにより、各定数テーブル70からの1回の読出しで、必要な定数データを所期のALUに設定することが可能となり、定数データの設定時間を短縮することが可能となる。   The constant table 70 stores constant data supplied to the ALU of the reconfigurable circuit 12. The constant table 70 is composed of a RAM, and preferably there are a plurality of constant tables. The input connection unit 51 and the connection unit 52 connect the outputs of the plurality of constant tables 70 and the inputs of the ALU based on the connection setting data output from the command memory 61. Each constant table 70 that is a RAM may have an area for storing a plurality of data, but only one data can be read by one reading. Therefore, for example, when the intended target circuit 42 is configured by a plurality of cycles, each constant table 70 does not have a plurality of constant data to be supplied to one divided circuit, in other words, is supplied to one divided circuit. The constant data to be executed is preferably stored in different constant tables 70. Thereby, it is possible to set necessary constant data in the intended ALU by one reading from each constant table 70, and it is possible to shorten the setting time of the constant data.

図7は、コマンドメモリ61の出力データを説明するための図である。コマンドメモリ61は、複数の定数テーブル70a〜70nに対して、各ALUの入力に必要な定数を格納したアドレスデータを供給する。定数テーブル70は、コマンドメモリ61からアドレスデータを受けて、そのアドレスに記憶される定数データを接続部52に出力する。   FIG. 7 is a diagram for explaining the output data of the command memory 61. The command memory 61 supplies address data storing constants necessary for input of each ALU to the plurality of constant tables 70a to 70n. The constant table 70 receives address data from the command memory 61 and outputs constant data stored at the address to the connection unit 52.

コマンドメモリ61は、ALUの入力を、前段のALUの出力、外部からの入力および/または定数テーブル70の出力と接続させるための接続設定データを接続部52に与える。接続部52は、接続設定データを受けて、所期の接続関係を実現する。これにより、演算に定数を必要とするALUには、接続部52により定数テーブル70から定数データが供給されることになる。またコマンドメモリ61は、ALUが所期の演算機能を実行するためのデータをALUに供給する。リコンフィギュラブル回路12における全ての接続部52、ALUに対して上記したデータを供給することで、リコンフィギュラブル回路12が所期の回路を構成することができる。   The command memory 61 provides the connection unit 52 with connection setting data for connecting the input of the ALU with the output of the previous ALU, the input from the outside, and / or the output of the constant table 70. The connection unit 52 receives the connection setting data and realizes an intended connection relationship. As a result, constant data is supplied from the constant table 70 by the connection unit 52 to the ALU that requires constants for calculation. Further, the command memory 61 supplies data for the ALU to execute an intended arithmetic function to the ALU. By supplying the above-described data to all the connection parts 52 and ALUs in the reconfigurable circuit 12, the reconfigurable circuit 12 can constitute an intended circuit.

以下、定数テーブル70とALUの関係について説明する。
定数テーブル70は、各ALUに対して設けられてもよい。定数テーブル70をALUの数だけ用意することで、接続部52における結線を容易にすることができる。すなわち、定数テーブル70とALUの対応が1対1に定まるため、接続部52では予め定数テーブル70とALUとを接続する配線と、その配線をオンオフするスイッチを設けるだけでよいという利点がある。したがって、配線部を小さく構成でき、回路の小型化および低消費電力化を実現することができる。またコンパイラの構成が容易になるため、コンパイラソフトの削減、コンパイル時間の短縮も実現することができる。
Hereinafter, the relationship between the constant table 70 and the ALU will be described.
A constant table 70 may be provided for each ALU. By preparing as many constant tables 70 as the number of ALUs, connection at the connection unit 52 can be facilitated. That is, since the correspondence between the constant table 70 and the ALU is determined on a one-to-one basis, the connection unit 52 has an advantage that it is only necessary to previously provide a wiring for connecting the constant table 70 and the ALU and a switch for turning on / off the wiring. Therefore, the wiring portion can be made small, and the circuit can be reduced in size and power consumption. In addition, since the compiler configuration is simplified, it is possible to reduce compiler software and compile time.

定数テーブル70は、ALU列の各段に対して設けられてもよい。定数テーブル70を各段に対して設けることで、各段における接続部52と定数テーブル70とを対応付けることができるため、接続部52における結線を比較的容易にすることができる。すなわち、定数テーブル70とALU列の対応が1対1に定まるため、接続部52では予め定数テーブル70とALU列に含まれるALUとを接続する配線と、その配線を選択するセレクタを設ければよいという利点がある。定数テーブル70を各ALUに対して設ける場合と比較すると、ALU列に対して設けることで、同一のALU列に存在するALUで定数テーブル70の格納領域を共有化できる。例えば、定数テーブル70の格納領域を同一ALU列のALU数以下とすることにより、定数テーブル70の規模をトータルで小さくできる可能性がある。したがって、配線部を比較的小さく構成でき、回路の小型化および低消費電力化を実現することができる。またコンパイラの構成が容易になるため、コンパイラソフトの削減、コンパイル時間の短縮も実現することができる。   The constant table 70 may be provided for each stage of the ALU column. By providing the constant table 70 for each stage, the connection section 52 and the constant table 70 in each stage can be associated with each other, so that the connection in the connection section 52 can be made relatively easy. That is, since the correspondence between the constant table 70 and the ALU column is determined on a one-to-one basis, if the connection unit 52 is provided with a wiring for connecting the constant table 70 and the ALU included in the ALU column in advance and a selector for selecting the wiring. There is an advantage of being good. Compared to the case where the constant table 70 is provided for each ALU, the storage area of the constant table 70 can be shared by ALUs existing in the same ALU column by providing the ALU column. For example, by making the storage area of the constant table 70 equal to or less than the number of ALUs in the same ALU column, there is a possibility that the scale of the constant table 70 can be reduced in total. Therefore, the wiring portion can be made relatively small, and the circuit can be reduced in size and power consumption. In addition, since the compiler configuration is simplified, it is possible to reduce compiler software and compile time.

定数テーブル70は、ALUやALU列に対応させずに設けられてもよい。この場合、接続部52と定数テーブル70との配線は必要となるが、定数テーブル70の個数または各定数テーブル70の回路規模を減らすことができる。これは図7に示した例に相当する。リコンフィギュラブル回路12に回路を構成する場合、全てのALUが定数を必要とする可能性は極めて低いため、複数の定数テーブル70を全ALUで共有化することで、定数テーブル70の領域確保に必要な回路規模を削減することができるという利点がある。定数テーブル70に必要な領域が少なくなるため、回路の小型化および低消費電力化を実現することができる。
なお定数テーブル70の配置パターンは、上記の構成に限定されず、他の態様をとってもよい。
The constant table 70 may be provided without corresponding to the ALU or the ALU column. In this case, wiring between the connection unit 52 and the constant table 70 is necessary, but the number of constant tables 70 or the circuit scale of each constant table 70 can be reduced. This corresponds to the example shown in FIG. When a circuit is configured in the reconfigurable circuit 12, it is very unlikely that all ALUs need constants. Therefore, by sharing a plurality of constant tables 70 with all ALUs, the area of the constant table 70 can be secured. There is an advantage that the required circuit scale can be reduced. Since the area required for the constant table 70 is reduced, it is possible to reduce the size and power consumption of the circuit.
The arrangement pattern of the constant table 70 is not limited to the above configuration, and may take other forms.

図8は、前後7点を利用する7タップからなるFIRフィルタ回路を示す。以下、このFIR(Finite Impulse Response)フィルタ回路を、本実施の形態における処理装置10で実現する具体例を示す。このFIRフィルタ回路の定数a1、a2、a3、a4は、図示のごとく、対称に設定されている。   FIG. 8 shows a 7-tap FIR filter circuit using front and rear 7 points. Hereinafter, a specific example in which the FIR (Finite Impulse Response) filter circuit is realized by the processing apparatus 10 according to the present embodiment will be described. The constants a1, a2, a3, and a4 of this FIR filter circuit are set symmetrically as shown in the figure.

図9は、図8で示すFIRフィルタ回路を置き換えた回路を示す。回路の置き換えは、フィルタ係数の対称性を利用している。   FIG. 9 shows a circuit in which the FIR filter circuit shown in FIG. 8 is replaced. The circuit replacement uses the symmetry of the filter coefficient.

図10は、図9に示すFIRフィルタ回路をコンパイルして作成したデータフローグラフ38aを示す。図中、“+”は加算を示し、“×”は乗算を示し、“MOV”はスルー用のパスを示す。“MOV”は、詳細には、入力されたデータに対して演算処理を行わず、データを下段に通過させるノードであることを意味する。ここでは、前段のALUの出力に対して、a1、a2、a3、a4で表現される所定の定数が乗算されている。   FIG. 10 shows a data flow graph 38a created by compiling the FIR filter circuit shown in FIG. In the figure, “+” indicates addition, “×” indicates multiplication, and “MOV” indicates a through path. More specifically, “MOV” means a node that does not perform arithmetic processing on the input data and passes the data to the lower stage. Here, the output of the previous ALU is multiplied by a predetermined constant expressed by a1, a2, a3, and a4.

図11は、図10に示すデータフローグラフ38aをリコンフィギュラブル回路12にマッピングした例を示す。なお、ここではリコンフィギュラブル回路12が4列4段のALUを有してデータフローグラフ38aを一度にマッピングできる例を想定している。例えばリコンフィギュラブル回路12が4列2段のALUを有する場合は、データフローグラフ38aを2段ずつに分割し、順にリコンフィギュラブル回路12にマッピングして、最初の分割回路の出力を次の分割回路の入力として利用することで、データフローグラフ38aの回路を実現することができる。   FIG. 11 shows an example in which the data flow graph 38 a shown in FIG. 10 is mapped to the reconfigurable circuit 12. Here, it is assumed that the reconfigurable circuit 12 has four rows and four stages of ALUs and can map the data flow graph 38a at a time. For example, when the reconfigurable circuit 12 has 4 rows and two stages of ALUs, the data flow graph 38a is divided into two stages and sequentially mapped to the reconfigurable circuit 12, and the output of the first divided circuit is set to the next The circuit of the data flow graph 38a can be realized by using it as an input of the dividing circuit.

データフローグラフ38aにおいては、2段目のALU列に対して定数入力が行われている。ここでは、4つの定数テーブル70a、70b、70c、70dが用意されており、それぞれに分散されて4つの定数データa1、a2、a3、a4が記憶されている。なお、既述したように、リコンフィギュラブル回路12にマッピングするときに必要なデータを分散して定数テーブル70に格納しておくことで、複数の定数テーブル70からの1回のデータ読出しにより、所期のデータをALUに対して供給することが可能となる。図11に示す例でも、定数テーブル70が、定数入力が必要な全てのALUに対して定数データを同時に供給することができるように構成されている。図中、定数テーブル70中に示される「X」は、任意のデータが記憶されていることを表現する。   In the data flow graph 38a, constant input is performed for the second-stage ALU column. Here, four constant tables 70a, 70b, 70c, and 70d are prepared, and four constant data a1, a2, a3, and a4 are stored in a distributed manner. As described above, the data necessary for mapping to the reconfigurable circuit 12 is distributed and stored in the constant table 70, so that data can be read once from the plurality of constant tables 70. It is possible to supply the desired data to the ALU. Also in the example shown in FIG. 11, the constant table 70 is configured so that constant data can be simultaneously supplied to all ALUs that require constant input. In the figure, “X” shown in the constant table 70 represents that arbitrary data is stored.

入力接続部51、接続部52、出力選択部53における接続関係は、コマンドメモリ61による接続設定データにより定められる。なお、ここでは上下段のALU列の接続については言及せず、定数テーブル70の出力とALUの入力との接続関係について示す。コマンドメモリ61は、定数テーブル70aに対してアドレス0を、定数テーブル70bに対してアドレス1を、定数テーブル70cに対してアドレス2を、定数テーブル70dに対してアドレス0を入力する。定数テーブル70aは、データa1をALU21の入力に供給し、定数テーブル70bは、データa2をALU22の入力に供給し、定数テーブル70cは、データa3をALU23の入力に供給し、定数テーブル70dは、データa4をALU24の入力に供給する。なお、この例では偶然にも第2段のALU列に全ての定数データが入力されているが、定数データは複数段にまたがって供給されることが可能である。これにより、図10に示すデータフローグラフ38aがリコンフィギュラブル回路12上にマッピングされる。   Connection relationships in the input connection unit 51, connection unit 52, and output selection unit 53 are determined by connection setting data from the command memory 61. Here, the connection of the output of the constant table 70 and the input of the ALU is shown without mentioning the connection of the upper and lower ALU columns. The command memory 61 inputs address 0 to the constant table 70a, address 1 to the constant table 70b, address 2 to the constant table 70c, and address 0 to the constant table 70d. The constant table 70a supplies data a1 to the input of the ALU 21, the constant table 70b supplies data a2 to the input of the ALU 22, the constant table 70c supplies data a3 to the input of the ALU 23, and the constant table 70d Data a4 is supplied to the input of the ALU 24. In this example, all constant data is accidentally input to the second-stage ALU column, but the constant data can be supplied across a plurality of stages. As a result, the data flow graph 38 a shown in FIG. 10 is mapped onto the reconfigurable circuit 12.

図12は、リコンフィギュラブル回路12にて生成するべきターゲット回路の例を示す。このターゲット回路は、複数の回路、すなわち直列に並べられた三段のFIRで構成される。FIRの形式は図10に示したとおりであり、入力する定数のみが異なるものを例にあげる。FIR1およびFIR2の係数は、以下のとおりである。
FIR1:a1=100、a2=200、a3=300、a4=400
FIR2:a1=200、a2=400、a3=800、a4=1600
ターゲット回路は、FIR1、FIR2、FIR1をリコンフィギュラブル回路12上に順次生成することによって、構成することができる。
FIG. 12 shows an example of a target circuit to be generated by the reconfigurable circuit 12. This target circuit is composed of a plurality of circuits, that is, three-stage FIRs arranged in series. The FIR format is as shown in FIG. 10, and only the constants to be input are different. The coefficients of FIR1 and FIR2 are as follows.
FIR1: a1 = 100, a2 = 200, a3 = 300, a4 = 400
FIR2: a1 = 200, a2 = 400, a3 = 800, a4 = 1600
The target circuit can be configured by sequentially generating FIR1, FIR2, and FIR1 on the reconfigurable circuit 12.

図13は、定数テーブル70のデータ格納例を示す。ターゲット回路には2つのFIR1が含まれているが、定数をテーブルとしてもつことによって、FIR1の定数データを2重にもつ必要はなく、定数テーブル70に格納した定数データを2つのFIR1の間で共用することが可能となる。また、FIR1とFIR2には、重複する定数200、400が存在しているが、これらについても、FIR1とFIR2の間で共用することが可能である。このとき、FIR1の生成時に必要となるFIR1の定数100、200、300、400については、定数テーブル70a、70b、70c、70dに分散して記憶させ、同じタイミングで読み出せることが好ましい。この例では、定数テーブル70a、70b、70c、70dのアドレス0に、FIR1の定数が分散して記憶されている。また、FIR2の生成時に必要となるFIR2の定数200、400、800、1600についても、同様に定数テーブル70a、70b、70c、70dに分散して記憶させ、同じタイミングで読み出せることが好ましい。定数200が定数テーブル70bに、定数400が定数テーブル70dに記憶されているため、この例では、定数800を定数テーブル70aに、定数1600を定数テーブル70cに記憶させることとしている。異なるタイミングで同一値のデータを使用する場合には、定数テーブル70に保持された1つのデータを共用することが好ましい。使用する定数をテーブル化することで、同一の定数データの使い回しが可能となり、そのためにテーブルを記憶するメモリ領域を小さく形成できることで、回路規模の縮小化を実現することが可能となる。   FIG. 13 shows an example of data storage in the constant table 70. The target circuit includes two FIR1s. However, by having constants as a table, it is not necessary to have the constant data of FIR1 twice. The constant data stored in the constant table 70 is transferred between the two FIR1s. It becomes possible to share. Further, there are overlapping constants 200 and 400 in FIR1 and FIR2, but these can also be shared between FIR1 and FIR2. At this time, it is preferable that the constants 100, 200, 300, and 400 of the FIR1 that are required when generating the FIR1 are distributed and stored in the constant tables 70a, 70b, 70c, and 70d, and read at the same timing. In this example, constants of FIR1 are distributed and stored at address 0 of the constant tables 70a, 70b, 70c, and 70d. In addition, it is preferable that the constants 200, 400, 800, and 1600 of the FIR2 that are required when generating the FIR2 are similarly distributed and stored in the constant tables 70a, 70b, 70c, and 70d, and can be read at the same timing. Since the constant 200 is stored in the constant table 70b and the constant 400 is stored in the constant table 70d, in this example, the constant 800 is stored in the constant table 70a and the constant 1600 is stored in the constant table 70c. When data of the same value is used at different timings, it is preferable to share one data held in the constant table 70. By making the constants to be used as a table, it is possible to reuse the same constant data. For this reason, a memory area for storing the table can be formed small, so that the circuit scale can be reduced.

図14は、図12に示すFIR1をリコンフィギュラブル回路12にマッピングした例を示す。入力接続部51、接続部52、出力選択部53における接続関係は、コマンドメモリ61による接続設定データにより定められる。コマンドメモリ61は、定数テーブル70aに対してアドレス0を、定数テーブル70bに対してアドレス0を、定数テーブル70cに対してアドレス0を、定数テーブル70dに対してアドレス0を入力する。定数テーブル70aは、定数100をALU21の入力に供給し、定数テーブル70bは、定数200をALU22の入力に供給し、定数テーブル70cは、定数300をALU23の入力に供給し、定数テーブル70dは、定数400をALU24の入力に供給する。これにより、FIR1をリコンフィギュラブル回路12にマッピングすることができる。   FIG. 14 shows an example in which the FIR 1 shown in FIG. 12 is mapped to the reconfigurable circuit 12. Connection relationships in the input connection unit 51, connection unit 52, and output selection unit 53 are determined by connection setting data from the command memory 61. The command memory 61 inputs address 0 to the constant table 70a, address 0 to the constant table 70b, address 0 to the constant table 70c, and address 0 to the constant table 70d. The constant table 70a supplies the constant 100 to the input of the ALU 21, the constant table 70b supplies the constant 200 to the input of the ALU 22, the constant table 70c supplies the constant 300 to the input of the ALU 23, and the constant table 70d A constant 400 is supplied to the input of the ALU 24. As a result, FIR1 can be mapped to the reconfigurable circuit 12.

図15は、図12に示すFIR2をリコンフィギュラブル回路12にマッピングした例を示す。入力接続部51、接続部52、出力選択部53における接続関係は、コマンドメモリ61による接続設定データにより定められる。なお、入力接続部51においては、図12における1段目のFIR1の出力が入力され、第1段のALU列に供給されることになる。コマンドメモリ61は、定数テーブル70aに対してアドレス1を、定数テーブル70bに対してアドレス0を、定数テーブル70cに対してアドレス1を、定数テーブル70dに対してアドレス0を入力する。定数テーブル70aは、定数800をALU23の入力に供給し、定数テーブル70bは、定数200をALU21の入力に供給し、定数テーブル70cは、定数1600をALU24の入力に供給し、定数テーブル70dは、定数400をALU22の入力に供給する。これにより、FIR2をリコンフィギュラブル回路12にマッピングすることができる。   FIG. 15 shows an example in which the FIR 2 shown in FIG. 12 is mapped to the reconfigurable circuit 12. Connection relationships in the input connection unit 51, connection unit 52, and output selection unit 53 are determined by connection setting data from the command memory 61. In the input connection unit 51, the output of the first stage FIR1 in FIG. 12 is input and supplied to the first stage ALU column. The command memory 61 inputs address 1 to the constant table 70a, address 0 to the constant table 70b, address 1 to the constant table 70c, and address 0 to the constant table 70d. The constant table 70a supplies the constant 800 to the input of the ALU 23, the constant table 70b supplies the constant 200 to the input of the ALU 21, the constant table 70c supplies the constant 1600 to the input of the ALU 24, and the constant table 70d A constant 400 is supplied to the input of the ALU 22. Thereby, FIR2 can be mapped to the reconfigurable circuit 12.

なお、図12に示すターゲット回路を構成するためには、図14に示すFIR1をリコンフィギュラブル回路12上に再構成し、図15に示すFIR2の出力を第1段のALU列に供給する。定数テーブル70から定数を供給することで、FIR1、FIR2、FIR1を順にリコンフィギュラブル回路12上に効率よく生成することができる。以上に示したように、FIR1については2回出現するが、定数は全て同じであるため、共通化が可能である。また、FIR1とFIR2とでは、定数200と定数400を共通化することができる。したがって、演算に要する12個の定数を6つの領域に記憶すればよいことになり、テーブル領域の削減、それにともなう回路規模の小型化および低消費電力化を実現することができる。   In order to configure the target circuit shown in FIG. 12, FIR1 shown in FIG. 14 is reconfigured on the reconfigurable circuit 12, and the output of FIR2 shown in FIG. 15 is supplied to the first-stage ALU column. By supplying constants from the constant table 70, FIR1, FIR2, and FIR1 can be efficiently generated on the reconfigurable circuit 12 in order. As described above, FIR1 appears twice, but the constants are all the same, and thus can be shared. Further, the constant 200 and the constant 400 can be shared by the FIR1 and the FIR2. Accordingly, twelve constants required for the calculation need only be stored in six areas, and the table area can be reduced, the circuit scale can be reduced, and the power consumption can be reduced.

図16は、コマンドメモリ61に定数を直接記憶させる例を示す。定数テーブルを利用せずに、コマンドメモリ61に定数を記憶させることでも、各ALUに定数を供給することが可能となる。上記の実施例で示したように、定数テーブルを利用した場合には、必要なデータのみを記憶すればよいためメモリ容量が少なくてすみ、回路規模の削減および低消費電力化を実現することが可能である。一方、コマンドメモリ61からALUに定数を供給する場合には、テーブルからのデータ読み出しに伴う回路遅延が発生しないという利点がある。   FIG. 16 shows an example in which constants are directly stored in the command memory 61. By storing constants in the command memory 61 without using the constant table, the constants can be supplied to each ALU. As shown in the above embodiment, when a constant table is used, only necessary data needs to be stored, so the memory capacity can be reduced, and the circuit scale can be reduced and the power consumption can be reduced. Is possible. On the other hand, when a constant is supplied from the command memory 61 to the ALU, there is an advantage that a circuit delay associated with data reading from the table does not occur.

以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。   The present invention has been described based on the embodiments. The embodiments are exemplifications, and it will be understood by those skilled in the art that various modifications can be made to combinations of the respective constituent elements and processing processes, and such modifications are within the scope of the present invention. .

例えば、リコンフィギュラブル回路12におけるALUの配列は、縦方向にのみ接続を許した多段配列に限らず、横方向の接続も許した、メッシュ状の配列であってもよい。また、上記の説明では、段を飛ばして論理回路を接続する結線は設けられていないが、このような段を飛ばす接続結線を設ける構成としてもよい。   For example, the array of ALUs in the reconfigurable circuit 12 is not limited to a multistage array that allows connection only in the vertical direction, but may be a mesh-like array that allows connection in the horizontal direction. In the above description, the connection for connecting the logic circuits by skipping the stages is not provided, but the connection connection for skipping such stages may be provided.

実施の形態に係る処理装置の構成図である。It is a block diagram of the processing apparatus which concerns on embodiment. 1つの回路を分割してできる複数の回路の設定データについて説明するための図である。It is a figure for demonstrating the setting data of the several circuit which can divide | segment one circuit. リコンフィギュラブル回路の構成図である。It is a block diagram of a reconfigurable circuit. データフローグラフの例を示す図である。It is a figure which shows the example of a data flow graph. 信号処理のフローチャートを示す図である。It is a figure which shows the flowchart of a signal processing. 処理装置においてリコンフィギュラブル回路に定数データを供給するための構成を示す図である。It is a figure which shows the structure for supplying constant data to a reconfigurable circuit in a processing apparatus. コマンドメモリの出力データを説明するための図である。It is a figure for demonstrating the output data of a command memory. 前後7点を利用する7タップからなるFIRフィルタ回路を示す図である。It is a figure which shows the FIR filter circuit which consists of 7 taps using the front and back 7 points. 図8で示すFIRフィルタ回路を置き換えた回路を示す図である。It is a figure which shows the circuit which replaced the FIR filter circuit shown in FIG. 図9に示すFIRフィルタ回路をコンパイルして作成したデータフローグラフを示す図である。It is a figure which shows the data flow graph produced by compiling the FIR filter circuit shown in FIG. 図10に示すデータフローグラフをリコンフィギュラブル回路にマッピングした例を示す図である。FIG. 11 is a diagram showing an example in which the data flow graph shown in FIG. 10 is mapped to a reconfigurable circuit. リコンフィギュラブル回路にて生成するべきターゲット回路の例を示す図である。It is a figure which shows the example of the target circuit which should be produced | generated by a reconfigurable circuit. 定数テーブルのデータ格納例を示す図である。It is a figure which shows the example of data storage of a constant table. 図12に示すFIR1をリコンフィギュラブル回路にマッピングした例を示す図である。It is a figure which shows the example which mapped FIR1 shown in FIG. 12 to the reconfigurable circuit. 図12に示すFIR2をリコンフィギュラブル回路にマッピングした例を示す図である。It is a figure which shows the example which mapped FIR2 shown in FIG. 12 to the reconfigurable circuit. コマンドメモリに定数を直接記憶させる例を示す図である。It is a figure which shows the example which memorize | stores a constant directly in a command memory.

符号の説明Explanation of symbols

10・・・処理装置、12・・・リコンフィギュラブル回路、14・・・設定部、16・・・選択器、18・・・制御部、20・・・内部状態保持回路、22・・・出力回路、24・・・経路部、26・・・集積回路装置、30・・・コンパイル部、32・・・設定データ生成部、34・・・記憶部、36・・・プログラム、38・・・データフローグラフ、40・・・設定データ、42・・・ターゲット回路、50・・・論理回路、51・・・入力接続部、52・・・接続部、53・・・出力選択部、61・・・コマンドメモリ、62・・・プログラムカウンタ、70・・・定数テーブル。 DESCRIPTION OF SYMBOLS 10 ... Processing apparatus, 12 ... Reconfigurable circuit, 14 ... Setting part, 16 ... Selector, 18 ... Control part, 20 ... Internal state holding circuit, 22 ... Output circuit 24... Path unit 26... Integrated circuit device 30 .. compile unit 32... Setting data generation unit 34. Data flow graph, 40 ... setting data, 42 ... target circuit, 50 ... logic circuit, 51 ... input connection unit, 52 ... connection unit, 53 ... output selection unit, 61 ... Command memory, 62 ... Program counter, 70 ... Constant table.

Claims (1)

数の演算機能を選択的に実行可能な論理回路を複数備えたリコンフィギュラブル回路と、
論理回路の機能を設定して、前記リコンフィギュラブル回路に所期の回路を構成するための設定データを記憶する設定部と、
前記リコンフィギュラブル回路に所期の設定データを供給するように前記設定部を制御する制御部とを備え、
前記設定部は、定数データを記憶する複数のテーブルを保持すると共に、テーブルに記憶した定数データを論理回路の入力に供給し、
前記リコンフィギュラブル回路は、複数のテーブルの出力と、論理回路の入力とを接続する接続部を有することを特徴とする処理装置。

A reconfigurable circuit having a plurality of selectively executable logic circuit multiple arithmetic function,
A setting unit configured to set a function of the logic circuit and store setting data for configuring a desired circuit in the reconfigurable circuit;
A control unit for controlling the setting unit to supply desired setting data to the reconfigurable circuit;
The setting unit holds a plurality of tables for storing constant data and supplies the constant data stored in the table to the input of the logic circuit.
The reconfigurable circuit includes a connection unit that connects an output of a plurality of tables and an input of a logic circuit .

JP2004086773A 2004-03-24 2004-03-24 Processing equipment Expired - Lifetime JP4330472B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004086773A JP4330472B2 (en) 2004-03-24 2004-03-24 Processing equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004086773A JP4330472B2 (en) 2004-03-24 2004-03-24 Processing equipment

Publications (2)

Publication Number Publication Date
JP2005277673A JP2005277673A (en) 2005-10-06
JP4330472B2 true JP4330472B2 (en) 2009-09-16

Family

ID=35176881

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004086773A Expired - Lifetime JP4330472B2 (en) 2004-03-24 2004-03-24 Processing equipment

Country Status (1)

Country Link
JP (1) JP4330472B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4673739B2 (en) * 2005-12-21 2011-04-20 三洋電機株式会社 Reconfigurable circuit
JP4962305B2 (en) 2007-12-26 2012-06-27 富士通セミコンダクター株式会社 Reconfigurable circuit

Also Published As

Publication number Publication date
JP2005277673A (en) 2005-10-06

Similar Documents

Publication Publication Date Title
JP4104538B2 (en) Reconfigurable circuit, processing device provided with reconfigurable circuit, function determination method of logic circuit in reconfigurable circuit, circuit generation method, and circuit
US7895586B2 (en) Data flow graph processing method, reconfigurable circuit and processing apparatus
US8138788B2 (en) Reconfigurable device
JP4484756B2 (en) Reconfigurable circuit and processing device
JP4423953B2 (en) Semiconductor integrated circuit
JP4011007B2 (en) Integrated circuit device and processing device having reconfigurable circuit
WO2004088500A1 (en) Programmable logic device
JP4330472B2 (en) Processing equipment
US20070260805A1 (en) Computer with a Reconfigurable Architecture for Integrating a Global Cellular Automaton
JP4553615B2 (en) Processing equipment
JP4260197B2 (en) Processing equipment
JP4413052B2 (en) Data flow graph processing apparatus and processing apparatus
JP4562679B2 (en) Data flow graph generator
JP4156010B2 (en) Processing equipment
JP4260086B2 (en) Data flow graph generation device, processing device, reconfigurable circuit.
JP4748944B2 (en) Processing equipment
JP4357326B2 (en) Reconfigurable circuit and processing device
JP4208751B2 (en) Data flow graph processing device.
JP4553614B2 (en) Processing equipment
JP4562678B2 (en) Data flow graph reconstruction device, setting data generation device for reconfigurable circuit, and processing device
JP5116499B2 (en) Arithmetic processing circuit
JP2006065786A (en) Processing apparatus
JP4610236B2 (en) Setting data generator
JP2005128709A (en) Processing device equipped with reconfigurable circuit
JP2004221997A (en) Reconfigurable circuit and integrated circuit capable of using the same

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080723

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090217

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090417

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

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

R151 Written notification of patent or utility model registration

Ref document number: 4330472

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20120626

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130626

Year of fee payment: 4