JP4357326B2 - Reconfigurable circuit and processing device - Google Patents
Reconfigurable circuit and processing device Download PDFInfo
- Publication number
- JP4357326B2 JP4357326B2 JP2004083416A JP2004083416A JP4357326B2 JP 4357326 B2 JP4357326 B2 JP 4357326B2 JP 2004083416 A JP2004083416 A JP 2004083416A JP 2004083416 A JP2004083416 A JP 2004083416A JP 4357326 B2 JP4357326 B2 JP 4357326B2
- Authority
- JP
- Japan
- Prior art keywords
- input
- data
- circuit
- alu
- connection
- 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
Links
- 238000012545 processing Methods 0.000 title claims description 41
- 230000006870 function Effects 0.000 claims description 26
- 238000000034 method Methods 0.000 description 20
- 238000004364 calculation method Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 10
- 108091023043 Alu Element Proteins 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
Images
Description
この発明は、機能の変更が可能なリコンフィギュラブル回路に関し、特にリコンフィギュラブル回路に含まれる論理回路に対してデータを供給する技術に関する。 The present invention relates to a reconfigurable circuit whose function can be changed, and more particularly to a technique for supplying data to a logic circuit included in the 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参照。)。
例えば衛星放送では、季節などにより、放送モードを切り替えて画質の調整などを行うこともある。受信機では、放送モードごとに複数の回路を予めハードウェア上に作り込んでおき、放送モードに合わせて選択器で回路を切り替えて受信している。したがって、受信機の他の放送モード用の回路はその間、遊んでいることになる。モード切り替えのように、複数の専用回路を切り替えて使用し、その切り替え間隔が比較的長い場合、複数の専用回路を作り込む代わりに、切り替え時にLSIを瞬時に再構成することにすれば、回路構造をシンプルにして汎用性を高め、同時に実装コストを抑えることができる。このようなニーズに応えるべく、動的に再構成可能なLSIに製造業界の関心が集まっている。特に、携帯電話やPDA(Personal Data Assistance)などのモバイル端末に搭載されるLSIは小型化が必須であり、LSIを動的に再構成し、用途に合わせて適宜機能を切り替えることができれば、LSIの実装面積を抑えることができる。 For example, in satellite broadcasting, image quality may be adjusted by switching broadcast modes depending on the season. In the receiver, a plurality of circuits are built in hardware for each broadcast mode in advance, and the circuit is switched by a selector according to the broadcast mode for reception. Therefore, the other broadcast mode circuits of the receiver are idle during that time. When switching and using multiple dedicated circuits, such as mode switching, and the switching interval is relatively long, instead of creating multiple dedicated circuits, the LSI can be reconfigured instantaneously at the time of switching. The structure can be simplified to improve versatility, and at the same time the mounting cost can be reduced. In order to meet such needs, the manufacturing industry has attracted attention to dynamically reconfigurable LSIs. In particular, LSIs mounted on mobile terminals such as cellular phones and PDAs (Personal Data Assistance) must be downsized, and if LSIs can be dynamically reconfigured and functions can be switched appropriately according to the application, Mounting area can be reduced.
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と比較して回路規模を小さくすることが可能となる。 In order to solve these problems, in recent years, an ALU array called ALU (Arithmetic Logic Unit) in which multi-functional elements having a plurality of basic arithmetic functions are arranged in multiple stages has been studied. In the ALU array, processing flows in one direction from the upper stage to the lower stage, so that wiring that connects the ALUs in the horizontal direction is basically unnecessary. Therefore, the circuit scale can be reduced as compared with the FPGA.
一方で、ALUアレイにおいても、各ALUに対して各種データを供給して、効率的に演算処理を実行することが好ましい。そのためにはデータをALUに供給するための経路や結線、および経路や結線を選択するためのスイッチなどの構成が必要となる。回路において、結線やスイッチの占める面積の割合は無視できず、ALUアレイの処理の高速性を追求すると、ALUアレイ自体およびALUアレイ周辺の回路規模が大きくなる傾向がある。特に、モバイル端末にALUアレイを搭載する場合には、効率的な演算処理を実現しながら、回路規模を抑えることが好ましい。 On the other hand, also in the ALU array, it is preferable to supply various data to each ALU and execute the arithmetic processing efficiently. For this purpose, a configuration such as a route and connection for supplying data to the ALU, and a switch for selecting the route and connection are required. In the circuit, the proportion of the area occupied by the connection and the switch cannot be ignored, and if the high-speed processing of the ALU array is pursued, the circuit scale around the ALU array itself and the ALU array tends to increase. In particular, when an ALU array is mounted on a mobile terminal, it is preferable to reduce the circuit scale while realizing efficient arithmetic processing.
本発明はこうした状況に鑑みてなされたもので、その目的は、回路規模を抑えつつ、ALUアレイなどから構成される処理装置の処理能力を向上することのできる技術を提供することにある。 The present invention has been made in view of such circumstances, and an object of the present invention is to provide a technique capable of improving the processing capability of a processing apparatus including an ALU array while suppressing the circuit scale.
上記課題を解決するために、本発明のある態様は、それぞれが複数の演算機能を選択的に実行可能な論理回路の多段配列と、前段の論理回路の出力と後段の論理回路の入力の接続関係を設定可能な接続部とを備えたリコンフィギュラブル回路であって、前記論理回路には、第1入力端子と第2入力端子の少なくとも2つの入力端子が設けられており、前記接続部は、前記論理回路間の接続用結線とは別に、第1入力端子に第1データを入力可能とし、且つ第2入力端子に第1入力端子には入力しない第2データを入力可能とする入力用結線を有して構成される。また、前記接続部の1段あたりに入力される第2データの数が、当該リコンフィギュラブル回路の1段あたりの論理回路の個数未満に制限されることを特徴とする。この態様のリコンフィギュラブル回路によると、第1入力端子に第2データを入力しないことで、第1入力端子にデータを供給するための選択部などの構成を小さくすることができ、回路規模を削減することができる。また、入力データの数を制限することにより、入力用結線を簡素化し、回路規模を更に削減することができる。
In order to solve the above problems, according to one aspect of the present invention, there is provided a multi-stage arrangement of logic circuits each capable of selectively executing a plurality of arithmetic functions, and connection between an output of a preceding logic circuit and an input of a subsequent logic circuit A reconfigurable circuit including a connection unit capable of setting a relationship, wherein the logic circuit includes at least two input terminals of a first input terminal and a second input terminal, and the connection unit includes: In addition to the connection for connection between the logic circuits, the first data can be input to the first input terminal, and the second data that can be input to the second input terminal that is not input to the first input terminal can be input. Constructed with connections. The number of second data input per stage of the connection unit is limited to less than the number of logic circuits per stage of the reconfigurable circuit. According to the reconfigurable circuit of this aspect, by not inputting the second data to the first input terminal, the configuration of the selection unit for supplying data to the first input terminal can be reduced, and the circuit scale can be reduced. Can be reduced. Also, by limiting the number of input data, the input connection can be simplified and the circuit scale can be further reduced.
本発明の別の態様は、それぞれが複数の演算機能を選択的に実行可能な論理回路の多段配列と、前段の論理回路の出力と後段の論理回路の入力の接続関係を設定可能な接続部とを備えたリコンフィギュラブル回路と、接続部に接続され、リコンフィギュラブル回路の出力データを接続部に入力可能な第1入力経路と、接続部に接続され、定数データを接続部に論理回路に入力可能な第2入力経路とを備える処理装置に関する。この態様の処理装置において、論理回路には、第1入力端子と第2入力端子の少なくとも2つの入力端子が設けられており、接続部は、論理回路間の接続用結線とは別に、第1入力端子に第1入力経路から供給される出力データのみを、第2入力端子に第2入力経路から供給される定数データのみを入力可能な入力用結線を有して構成される。また、前記接続部の1段あたりに入力される前記データの数が、当該リコンフィギュラブル回路の1段あたりの論理回路の個数未満に制限されることを特徴とする。この態様の処理装置によると、第1入力端子や第2入力端子に入力するデータの数を制限することで、入力端子にデータを供給するための選択部などの構成を小さくすることができる。
Another aspect of the present invention is a multi-stage arrangement of logic circuits each capable of selectively executing a plurality of arithmetic functions, and a connection section capable of setting a connection relationship between an output of a preceding logic circuit and an input of a succeeding logic circuit A reconfigurable circuit including: a first input path that is connected to the connection unit and can input output data of the reconfigurable circuit to the connection unit; and connected to the connection unit and constant data is input to the logic circuit. The present invention relates to a processing device including a second input path that can be input to the input. In the processing apparatus of this aspect, the logic circuit is provided with at least two input terminals of the first input terminal and the second input terminal, and the connection portion is provided separately from the connection connection between the logic circuits. Only the output data supplied from the first input path to the input terminal and only the constant data supplied from the second input path to the second input terminal can be input. Further, the number of data input per stage of the connection unit is limited to less than the number of logic circuits per stage of the reconfigurable circuit. According to the processing apparatus of this aspect, by limiting the number of data input to the first input terminal and the second input terminal, it is possible to reduce the configuration of a selection unit for supplying data to the input terminal.
論理回路は、複数種類の多ビット演算を選択的に実行可能な算術論理回路であってよい。 The logic circuit may be an arithmetic logic circuit capable of selectively executing a plurality of types of multi-bit operations.
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、コンピュータプログラムとして表現したものもまた、本発明の態様として有効である。 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.
本発明によれば、リコンフィギュラブル回路の処理能力を維持または向上しながら、回路規模を縮小化する技術を提供することができる。 According to the present invention, it is possible to provide a technique for reducing the circuit scale while maintaining or improving the processing capability of the reconfigurable circuit.
図1は、実施の形態に係る処理装置10の構成図である。処理装置10は、回路構成を再構成可能とする機能を有する集積回路装置26を備える。集積回路装置26は1チップとして構成され、リコンフィギュラブル回路12、設定部14、制御部18、内部状態保持回路20、出力回路22、フィードバック経路24およびマルチプレクサ部25を備える。リコンフィギュラブル回路12は、設定を変更することにより、機能の変更を可能とする。リコンフィギュラブル回路12は組合せ回路または順序回路等の論理回路として構成される。フィードバック経路24を通ってリコンフィギュラブル回路12の出力と入力を接続する経路を、リコンフィギュラブル回路12の出力を論理回路に入力可能な入力経路と呼ぶ。
FIG. 1 is a configuration diagram of a
リコンフィギュラブル回路12は、それぞれが複数の演算機能を選択的に実行可能な論理回路の多段配列と、前段の論理回路の出力と後段の論理回路の入力の接続関係を設定可能な接続部とを備える。構造的には、複数の論理回路列の間に、論理回路列間の接続用結線を設定する接続部が設けられる。リコンフィギュラブル回路12は、複数段に配列された各論理回路の機能、および論理回路間の接続を任意に設定することで、機能の変更を可能とする。
The
設定部14は、リコンフィギュラブル回路12に所期の回路を構成するための設定データ40を供給する。設定部14は、プログラムカウンタのカウント値に基づいて記憶したデータを出力するコマンドメモリとして構成されてもよい。この場合、制御部18がプログラムカウンタの出力を制御する。この場合、設定データ40はコマンドメモリから出力されるコマンドデータであってよい。
The
フィードバック経路24は、フィードバックパスとして機能し、リコンフィギュラブル回路12の出力を、リコンフィギュラブル回路12の入力に接続する。内部状態保持回路20および出力回路22は、例えばデータフリップフロップ(DFF)などの順序回路として構成され、リコンフィギュラブル回路12の出力を受ける。内部状態保持回路20はフィードバック経路24に接続されており、リコンフィギュラブル回路12の出力をリコンフィギュラブル回路12の入力にフィードバックさせる。
The
リコンフィギュラブル回路12は、機能の変更が可能な論理回路を有して構成される。複数の論理回路は、マトリックス状に配置された構造をとってもよい。各論理回路の機能と、論理回路間の接続関係は、設定部14により供給される設定データ40に基づいて設定される。設定データ40は、以下の手順で生成される。
The
集積回路装置26により実現されるべきプログラム36が、記憶部34に保持されている。プログラム36は、回路における処理の動作を記述した動作記述を示し、信号処理回路または信号処理アルゴリズムなどをC言語などの高級言語で記述したものである。コンパイル部30は、記憶部34に格納されたプログラム36をコンパイルし、データフローグラフ(DFG)38に変換して記憶部34に格納する。データフローグラフ38は、回路における演算間の実行順序の依存関係を表現し、入力変数および定数の演算の流れをグラフ構造で示したものである。一般に、データフローグラフ38は、上から下に向かって演算が進むように作成される。
A
設定データ生成部32は、データフローグラフ38から設定データ40を生成する。設定データ40は、データフローグラフ38をリコンフィギュラブル回路12にマッピングするためのデータであり、リコンフィギュラブル回路12における論理回路の機能や論理回路間の接続関係を定める。設定データ生成部32が、1つの生成すべき回路を分割してできる複数の回路の設定データ40を生成してもよい。
The setting
図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
特に、生成すべきターゲット回路42がリコンフィギュラブル回路12よりも大きい場合に、設定データ生成部32は、リコンフィギュラブル回路12にマッピングできる大きさになるように、ターゲット回路42を分割することが好ましい。設定データ生成部32は、リコンフィギュラブル回路12における論理回路の配列構造とデータフローグラフ38によって、ターゲット回路42の分割方法を定める。リコンフィギュラブル回路12の配列構造は、制御部18から設定データ生成部32に伝えられてもよく、また予め記憶部34に記録されていてもよい。また、制御部18が、ターゲット回路42の分割方法を設定データ生成部32に指示してもよい。
In particular, when the
以上の手順を実行することにより、記憶部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
図1に戻って、本実施の形態において、フィードバック経路24には、マルチプレクサ部(MUX)25が設けられている。マルチプレクサ部25は、内部状態保持回路20の複数のDFFからの出力データおよび外部からの入力データを選択的にリコンフィギュラブル回路12の論理回路に供給する機能を有する。
Returning to FIG. 1, in the present embodiment, the
リコンフィギュラブル回路12の論理回路は、変数ないしは定数を用いた演算を行う。加算や乗算は、その典型的な例である。したがって、リコンフィギュラブル回路12の出力データを、次回以降に再構成するリコンフィギュラブル回路12における変数データとして使用する場面が度々発生する。図1に示す処理装置10においては、リコンフィギュラブル回路12の出力データが、フィードバック経路24により供給されており、全ての出力データをリコンフィギュラブル回路12の各論理回路に入力することも可能である。これにより、論理回路はフィードバックされた演算に必要なデータを直接取得することができ、所期の演算処理を実行することができる。
The logic circuit of the
しかしながら、全てのデータを、例えばリコンフィギュラブル回路12における全論理回路に入力すると、配線に必要な面積が大きくなる。回路規模の縮小化は、実装面積の問題だけでなく、消費電力を削減にもつながることから、集積回路技術における重要な課題の一つであり、それは、本実施の形態で示す集積回路装置26にとっても例外ではない。以上の理由から、本実施の形態の処理装置10では、フィードバック経路24による出力データ数を制限し、回路規模の縮小化を図ってもよい。
However, if all data is input to all logic circuits in the
図3は、実施の形態におけるリコンフィギュラブル回路12を示す。リコンフィギュラブル回路12は、それぞれが複数の演算機能を選択的に実行可能な論理回路の多段配列と、前段の論理回路の出力と後段の論理回路の入力の接続関係を任意に設定可能な接続部52とを備える。リコンフィギュラブル回路12では、論理回路の多段配列構造により、上段から下段に向かって演算が進められる。なお、本明細書および特許請求の範囲において「多段」とは、複数の段を意味する。
FIG. 3 shows the
リコンフィギュラブル回路12は、論理回路としてALU(Arithmetic Logic Unit)を有している。ALUは、複数種類の多ビット演算を選択的に実行可能な算術論理回路であって、論理和、論理積、ビットシフトなどの複数種類の多ビット演算を設定により選択的に実行できる。各ALUは、複数の演算機能を設定するためのセレクタを有して構成されている。ALUは、2つの入力端子を有して構成される。
The
リコンフィギュラブル回路12は、縦方向にX個、横方向にY個のALUが配置されたX段Y列のALUアレイとして構成される。ここでは、縦方向に3個、横方向に6個のALUが配置された3段6列のALUアレイを示している。リコンフィギュラブル回路12は、接続部52およびALU列53を備える。ALU列53は複数段に設けられ、接続部52は前後段のALU列53の間に設けられて、前段のALUの出力と後段のALUの入力の接続関係を設定する。
The
図3に示す例では、第1段のALU列53aと第2段のALU列53bの間に、第2段を構成する接続部52bが設けられ、第2段のALU列53bと第3段のALU列53cの間に、第3段を構成する接続部52cが設けられる。なお、第1段を構成する接続部52aは、第1段のALU列53aの上側に設けられる。
In the example shown in FIG. 3, a
第1段のALU11、ALU12、・・・、ALU16には、入力変数や定数が入力され、設定された所定の演算がなされる。演算結果の出力は、第2段の接続部52bに設定された接続にしたがって、第2段のALU21、ALU22、・・・、ALU26に入力される。第2段の接続部52bにおいては、第1段のALU列53aの出力と第2段のALU列53bの入力の間で任意の接続関係、あるいは予め定められた接続関係の組合せの中から選択された接続関係を実現できるように接続用結線が構成されており、設定により所期の結線が有効となる。第2段のALU21、ALU22、・・・、ALU26には、ALU列53aの出力が入力され、設定された所定の演算がなされる。演算結果の出力は、第3段の接続部52cの接続用結線において設定された接続にしたがって、第3段のALU31、ALU32、・・・、ALU36に入力される。
Input variables and constants are input to the first-stage ALU 11,
最終段となる第3段のALU列53cからの出力データは、内部状態保持回路20に出力される。内部状態保持回路20は、フィードバック経路24を介して、出力データを接続部52aに入力する。
Output data from the third-
各接続部52は、複数のSW(スイッチ)を有して構成される。図示の例では各接続部52あたり、6つのSWを示しているが、SWは各ALUの入力端子に対して設けられる。ここで各ALUは2つの入力端子をもつことから、接続部52は、実際には12個のSWを有して構成される。SWはマルチプレクサとして構成され、上段のALUからの出力データ、フィードバック経路24から供給される出力データ、または設定部14から供給される定数データなどを、対応するALUの入力端子に対して選択的に出力する機能をもつ。
Each connection unit 52 is configured to have a plurality of SWs (switches). In the illustrated example, six SWs are shown for each connection unit 52, but the SWs are provided for the input terminals of each ALU. Here, since each ALU has two input terminals, the connection unit 52 is actually configured with twelve SWs. The SW is configured as a multiplexer, and selectively outputs the output data from the upper ALU, the output data supplied from the
図4は、実施の形態におけるリコンフィギュラブル回路12およびその周辺回路を示す。内部状態保持回路20は、最終段のALU列53cにおけるALUに対応して、6つのDFFを有する。フィードバック経路24は、6つのDFF出力データをマルチプレクサ部25に供給する。
FIG. 4 shows the
マルチプレクサ部25は、複数のマルチプレクサから構成され、各マルチプレクサは、外部入力と内部状態保持回路20からのデータを選択し、選択したデータを第1入力経路17に出力する。第1入力経路17はリコンフィギュラブル回路12の接続部52a、52b、52cに接続され、リコンフィギュラブル回路12の出力データまたは外部入力データを、各接続部52a、52b、52cに入力することができる。リコンフィギュラブル回路12の出力データまたは外部入力データは、変数データを構成する。マルチプレクサにおけるデータ選択は、設定データ40により行われてもよく、また制御部18からの選択指示により行われてもよい。以下、第1入力経路17によるデータの入力を「変数入力」と呼ぶ。なお、フィードバック経路24から第1入力経路17により構成される経路の全体を、リコンフィギュラブル回路12の出力データをALUに入力可能な第1入力経路と呼んでもよい。
The
設定部14は、定数データを記憶した定数RAM部15を有する。定数RAM部15は、制御部18からの読出指示に基づいて、第2入力経路19に定数データを出力する。なお設定部14がコマンドメモリとして構成される場合は、コマンドメモリが第2入力経路19に定数データを出力する。第2入力経路19はリコンフィギュラブル回路12の接続部52a、52b、52cに接続され、定数RAM部15から供給される定数データを、各接続部52a、52b、52cに入力することができる。以下、第2入力経路19による定数データの入力を「定数入力」と呼ぶ。
The setting
ALU列53へのデータの直接入力を可能とするために、接続部52は、第1入力経路17および第2入力経路19から供給されるデータをALU列53の所期のALUに与えるべく、第1入力経路17および第2入力経路19とALUとを結線する機能をもつ。接続部52は、ALU間を接続する接続用結線とは別に、第1入力経路17および第2入力経路19から供給されるデータをALUに入力可能な入力用結線を備えている。これにより、ALUはSWからデータを受け取ることができ、所期の演算処理を実行することが可能となる。
In order to enable direct input of data to the ALU column 53, the connection unit 52 provides the data supplied from the first input path 17 and the
本実施の形態では、接続部52に供給する定数データおよび変数データを、接続部52のSWの個数よりも少なく制限している。すなわち、接続部52に供給する定数データおよび変数データを、1段あたり6つのALUに対して4つに制限している。そのため、定数入力に関していえば、第2入力経路19は、4×3(ALU段数)の12個の配線を有して構成される。
In the present embodiment, the constant data and variable data supplied to the connection unit 52 are limited to be smaller than the number of SWs of the connection unit 52. That is, the constant data and variable data supplied to the connection unit 52 are limited to four for six ALUs per stage. Therefore, regarding the constant input, the
変数入力に関していうと、マルチプレクサ部25は、3段のALU列53に対応する3つのマルチプレクサ群を有し、各マルチプレクサ群は4つのマルチプレクサを有して、各ALU列53に対して4つの変数データを入力可能とする。したがってマルチプレクサ部25は、12個のマルチプレクサを有している。各マルチプレクサには、1つの外部入力データと、6つのDFFからの出力データが供給される。したがって、マルチプレクサは、計7つのデータから1つのデータを選択して出力する7:1マルチプレクサとして構成される。
Regarding the variable input, the
変数入力および定数入力を全てのALUに対して認めてもよいが、その場合は、第2入力経路19の配線数が18個となり、またマルチプレクサ部25のマルチプレクサの個数および第1入力経路17の配線数も18個となる。このように、全ALUへのデータ入力を可能とする場合には、第1入力経路17、第2入力経路19およびマルチプレクサ部25の回路規模が大きくなり、また各接続部52において入力用結線も複雑となるため、接続部52の回路規模も大きくなる。そこで、本実施の形態では、各接続部52への入力数を制限することによって、回路規模の縮小化を図っている。これは、同段に配置された6つのALUのうち、5つ以上のALUが定数入力や変数入力を必要とする確率が低いという発明者の知見に基づいている。
Variable input and constant input may be allowed for all ALUs, but in that case, the number of wires in the
仮に、1段中の5つ以上のALUが変数データを必要とする場合には、第1入力経路17を通じて1段のALUに4つの変数データを供給し、残りの変数データを、第1入力経路17を通じて下段のALUに供給することで、処理を継続することができる。同様に、1段中の5つ以上のALUが定数データを必要とする場合には、第2入力経路19を通じて1段のALUに4つの定数データを供給し、残りの定数データを、第2入力経路19を通じて下段のALUに供給することで、処理を継続することができる。この場合、DFGが大きくなり、処理時間が増える可能性はあるが、その確率が大きくないことを鑑みると、処理高速性の厳密な追求よりも回路規模の削減を図る方が、全体としてのメリットが大きい。
If five or more ALUs in one stage require variable data, four variable data are supplied to the first stage ALU through the first input path 17 and the remaining variable data is supplied to the first input. The processing can be continued by supplying to the lower ALU through the path 17. Similarly, when five or more ALUs in one stage require constant data, four constant data are supplied to the one stage ALU through the
図5は、ALUに入力可能なデータ種類の一例を示す。既述のように、ALUは2つの入力端子を有して構成され、それぞれの入力端子に対応して設けられたSWから所期のデータを供給される。この例では、入力端子aに対応するSW1および入力端子bに対応するSW2が、1つ前段のALU出力データ、定数データ、変数データの3種類のデータをそれぞれ入力され、設定データ40に基づいて、いずれかのデータをALUに選択出力する。
FIG. 5 shows an example of data types that can be input to the ALU. As described above, the ALU is configured to have two input terminals, and desired data is supplied from the SW provided corresponding to each input terminal. In this example, SW1 corresponding to the input terminal a and SW2 corresponding to the input terminal b are respectively input with three types of data of ALU output data, constant data, and variable data of the previous stage, and based on the setting
図6は、図5に示すSWへの入力の詳細を示す。6つの前段ALU出力データ、4つの定数データ、4つの変数データが、それぞれSW1およびSW2に入力される。したがって、SW1およびSW2は、計14のデータから1つのデータを選択して出力する14:1マルチプレクサとして構成される。 FIG. 6 shows the details of the input to the SW shown in FIG. Six previous-stage ALU output data, four constant data, and four variable data are input to SW1 and SW2, respectively. Therefore, SW1 and SW2 are configured as a 14: 1 multiplexer that selects and outputs one data from a total of 14 data.
図7は、ALUにおける演算の1例を示す。IN_aは入力端子aの入力データを示し、IN_bは入力端子bの入力データを示す。演算例として、加算、減算、ビットAND、ビットOR、ビットEXOR、符号反転をベリログ(Verilog)表記したものが示される。図5および図6に示したSWへの入力構成では、入力端子aおよび入力端子bに対して全てのデータが入力可能であるため、入力端子aに入力されるデータおよび入力端子bに入力されるデータの全ての組合せを実現でき、ALUにおける演算を容易に実行することができる。 FIG. 7 shows an example of operations in the ALU. IN_a indicates input data of the input terminal a, and IN_b indicates input data of the input terminal b. As an example of operation, Verilog representation of addition, subtraction, bit AND, bit OR, bit EXOR, and sign inversion is shown. In the input configuration to the SW shown in FIGS. 5 and 6, since all data can be input to the input terminal a and the input terminal b, the data input to the input terminal a and the input terminal b are input. All combinations of data can be realized, and operations in the ALU can be easily executed.
ここで、定数データについて考察すると、例えば、定数データの1入力演算、例えば定数をビットシフトする演算については、予めコンパイル部30がプログラムをもとに計算できる。コンパイル部30は、その計算結果をもとにデータフローグラフ38を作成できるため、定数データの1入力演算をALUで処理する必要はない。したがって、ALU上で1入力演算を行う場合は、その入力は、前段ALUからの出力データか変数データとなる。
Here, considering the constant data, for example, a one-input operation of constant data, for example, an operation for bit-shifting a constant can be calculated in advance by the compiling
また2入力演算の場合、2入力ともに定数データの場合は、上述のように、予めコンパイル部30がプログラムをもとに計算できる。例えば、定数同士の加算などである。コンパイル部30は、その計算結果をもとにデータフローグラフ38を作成できるため、定数データの2入力演算をALUで処理する必要はない。したがって、ALU上で2入力演算を行う場合は、その両方ともが定数データであることはなく、定数データは多くとも1入力でしかない。
In the case of two-input arithmetic, if both the two inputs are constant data, the compiling
以上の考察から、ALUにおける入力端子aおよび入力端子bの双方に定数データが供給される場合はなく、したがって、図5および図6に示されるように、SW1およびSW2の双方に定数データを入力する必要がないことが分かる。本発明者は、以上の考察をもとに、図5および図6に示す入力の構成に無駄があるとの知見を得るに達し、SW1およびSW2への入力構成が、いたずらにSWの回路規模を増大させていることを見出した。 From the above consideration, constant data is not supplied to both the input terminal a and the input terminal b in the ALU. Therefore, as shown in FIGS. 5 and 6, constant data is input to both SW1 and SW2. It turns out that there is no need to do. Based on the above consideration, the present inventor has obtained knowledge that the input configuration shown in FIGS. 5 and 6 is useless, and the input configuration to SW1 and SW2 is unnecessarily large. It was found to increase.
図8は、実施の形態におけるALUの入力構成を示す。図8に示す入力構成は、図5および図6に示すALUの入力構成を改善するものである。 FIG. 8 shows the input configuration of the ALU in the embodiment. The input configuration shown in FIG. 8 improves the input configuration of the ALU shown in FIGS.
図8に示すALUの入力構成では、定数入力をSW1のみとし、SW2への定数入力は行わない。接続部52は、入力端子aに定数データおよび変数データを入力可能とし、入力端子bに変数データを入力可能とする入力用結線を有する。すなわち、入力用結線は、入力端子bに変数データを入力可能とし、入力端子aに変数データとともに、入力端子bには入力しない定数データを入力可能とする。上記した考察により、入力端子aおよび入力端子bの双方に定数データを入力する必要がないため、SW2への定数入力を省略することができる。なお、1つ前段のALUからの出力データは接続用結線によりSW1およびSW2に入力される。 In the input configuration of the ALU shown in FIG. 8, the constant input is only SW1, and the constant input to SW2 is not performed. Connection unit 52 has an input connection that allows constant data and variable data to be input to input terminal a and allows variable data to be input to input terminal b. That is, the input connection enables variable data to be input to the input terminal b, and constant data not input to the input terminal b can be input together with the variable data to the input terminal a. According to the above consideration, since it is not necessary to input constant data to both the input terminal a and the input terminal b, it is possible to omit constant input to SW2. Note that the output data from the previous ALU is input to SW1 and SW2 by connection connection.
図9は、図8に示すSWへの入力の詳細を示す。SW1には、6つの前段ALU出力データ、4つの定数データおよび4つの変数データが入力される。一方、SW2には、6つの前段ALU出力データおよび4つの変数データが入力される。これにより、SW2を計10のデータから1つのデータを選択して出力する10:1マルチプレクサとして構成できるため、図6に示すSWの入力構成と比較すると、SW2の回路規模を削減することができる。回路規模の縮小化は、実装面積の問題だけでなく、消費電力を削減することにもつながる。 FIG. 9 shows details of the input to the SW shown in FIG. SW1 is input with six previous-stage ALU output data, four constant data, and four variable data. On the other hand, six previous-stage ALU output data and four variable data are input to SW2. Thereby, SW2 can be configured as a 10: 1 multiplexer that selects and outputs one data out of a total of 10 data, so that the circuit scale of SW2 can be reduced compared to the SW input configuration shown in FIG. . The reduction in circuit scale leads not only to the problem of mounting area but also to reducing power consumption.
図10は、実施の形態におけるALUの入力構成を示し、図8に示す入力構成よりもさらにSWへの入力を制限したものである。 FIG. 10 shows the input configuration of the ALU according to the embodiment, and the input to the SW is further restricted than the input configuration shown in FIG.
図10に示すALUの入力構成では、定数入力をSW1のみとし、SW2への定数入力は行わないだけでなく、変数入力をSW2のみとし、SW1への変数入力を行わない。接続部52は、入力端子aに定数データを入力可能とし、入力端子bに変数データを入力可能とする入力用結線を有する。すなわち、入力用結線は、入力端子bに入力端子aには入力しない変数データを入力可能とし、入力端子aに入力端子bには入力しない定数データを入力可能とする。 In the input configuration of the ALU shown in FIG. 10, not only the constant input is SW1 and the constant input to SW2 is not performed, but the variable input is only SW2 and the variable input to SW1 is not performed. The connection unit 52 has an input connection that allows constant data to be input to the input terminal a and allows variable data to be input to the input terminal b. That is, the input connection allows variable data not input to the input terminal a to be input to the input terminal b, and constant data not input to the input terminal b can be input to the input terminal a.
したがって、接続部52は、入力端子aに定数データおよび前段ALU出力データのいずれかを供給し、入力端子bに変数データおよび前段ALU出力データのいずれかを供給する。 Therefore, the connection unit 52 supplies either constant data or previous-stage ALU output data to the input terminal a, and supplies either variable data or previous-stage ALU output data to the input terminal b.
図11は、図10に示すSWへの入力の詳細を示す。SW1には、6つの前段ALU出力データおよび4つの定数データが入力される。一方、SW2には、6つの前段ALU出力データおよび4つの変数データが入力される。これにより、SW1およびSW2を計10のデータから1つのデータを選択して出力する10:1マルチプレクサとして構成できるため、図9に示すSWの入力構成と比較すると、SW2の回路規模をさらに削減することができる。 FIG. 11 shows the details of the input to the SW shown in FIG. Six pre-stage ALU output data and four constant data are input to SW1. On the other hand, six previous-stage ALU output data and four variable data are input to SW2. As a result, SW1 and SW2 can be configured as a 10: 1 multiplexer that selects and outputs one data from a total of 10 data, so that the circuit scale of SW2 is further reduced compared to the SW input configuration shown in FIG. be able to.
図12は、接続部52において、4つの定数入力および4つの変数入力と、各ALUの接続に制限をつけた1例を示す。図中、点線で囲われたALUは、a〜dのいずれかの定数入力および変数入力が入力される範囲を示す。図示のように、接続部52は、第1入力経路17および第2入力経路19から入力された複数のデータをそれぞれ供給可能とするALUの範囲を、入力するデータごとにそれぞれ異なるように設定している。これは、第1入力経路17および第2入力経路19に対応付けて、接続部52における入力用結線を形成することで実現される。
FIG. 12 shows an example in which the connection unit 52 restricts connection of four constant inputs, four variable inputs, and each ALU. In the figure, ALU surrounded by a dotted line indicates a range in which a constant input and variable input of any of a to d are input. As shown in the figure, the connection unit 52 sets the ALU range in which a plurality of data input from the first input path 17 and the
接続部52はこの範囲を、1段に含まれる複数のALUのうち一方の端部に配置されたALU1から他方の端部に配置されたALU6にかけて徐々にずらして設定している。すなわち、定数データaおよび変数データaは、ALU1〜ALU3の範囲に存在するALUに供給可能とされる。同様に、定数データbおよび変数データbは、ALU2〜ALU4の範囲に存在するALUに供給可能とされ、定数データcおよび変数データcは、ALU3〜ALU5の範囲に存在するALUに供給可能とされ、定数データdおよび変数データdは、ALU4〜ALU6の範囲に存在するALUに供給可能とされる。このように、ALU1からALU6までの間で、データを供給可能とする範囲を徐々にずらしていくことにより、入力用結線の回路規模を抑えつつ、各データをALUに万遍なく割り振ることができる。
The connection unit 52 sets this range by gradually shifting the range from the
このように、定数データおよび変数データを供給可能なALUの範囲を制限することによって、接続部52の入力用結線を単純化することができ、接続部52の回路規模を削減できる。 In this way, by restricting the range of the ALU that can supply constant data and variable data, the input connection of the connection unit 52 can be simplified, and the circuit scale of the connection unit 52 can be reduced.
図13は、各ALUに対応するSWへの入力の詳細を示す。ここでは、図12で説明したように、定数入力および変数入力と各ALUの接続に制限をつけている。図13(a)は、ALU1に対応するSWの入力構成を示し、図13(b)は、ALU2に対応するSWの入力構成を示し、図13(c)は、ALU3に対応するSWの入力構成を示し、図13(d)は、ALU4に対応するSWの入力構成を示し、図13(e)は、ALU5に対応するSWの入力構成を示し、図13(f)は、ALU6に対応するSWの入力構成を示す。 FIG. 13 shows details of input to the SW corresponding to each ALU. Here, as described with reference to FIG. 12, the connection between the constant input and variable input and each ALU is limited. 13A shows the input configuration of the SW corresponding to ALU1, FIG. 13B shows the input configuration of the SW corresponding to ALU2, and FIG. 13C shows the input of the SW corresponding to ALU3. FIG. 13 (d) shows the input configuration of the SW corresponding to ALU4, FIG. 13 (e) shows the input configuration of the SW corresponding to ALU5, and FIG. 13 (f) corresponds to ALU6. The input configuration of the SW to be performed is shown.
各ALUの接続に制限をつけることで、ALU1およびALU6に対応するSWは、それぞれ7:1マルチプレクサで実現でき、ALU2およびALU5に対応するSWは、それぞれ8:1マルチプレクサで実現でき、ALU3およびALU4に対応するSWは、それぞれ9:1マルチプレクサで実現できる。このようにマルチプレクサを小さく構成できることで、回路規模を削減することができる。 By limiting the connection of each ALU, the SW corresponding to ALU1 and ALU6 can be realized by a 7: 1 multiplexer, and the SW corresponding to ALU2 and ALU5 can be realized by an 8: 1 multiplexer, respectively. ALU3 and ALU4 Each SW corresponding to can be realized by a 9: 1 multiplexer. Since the multiplexer can be made small in this way, the circuit scale can be reduced.
図10のようにSWへの入力を制限することで、回路規模を削減することが可能となるが、入力を制限したことで、図7に示したようなALUにおける演算では、1段のALU列での処理が不可能なケースが生じる。具体的には、入力端子aと入力端子bの順序関係が重要となる減算の場合である。これは、図7に示すALU演算において、減算として(IN_a−IN_b)しか規定されておらず、図10の入力制限では、入力端子aに前段ALU出力または定数入力のいずれか、入力端子bに前段ALU出力または変数入力のいずれかしか入力されないことに起因する。図14〜図16に、1段のALU列での処理が不可能なケースを示す。 By limiting the input to the SW as shown in FIG. 10, it is possible to reduce the circuit scale. However, by limiting the input, the operation in the ALU as shown in FIG. There are cases where processing in a column is impossible. Specifically, this is a case of subtraction in which the order relationship between the input terminal a and the input terminal b is important. In the ALU operation shown in FIG. 7, only (IN_a−IN_b) is defined as subtraction. With the input restriction in FIG. 10, either the previous stage ALU output or the constant input is applied to the input terminal a, and the input terminal b is applied. This is due to the fact that either the previous stage ALU output or the variable input is input. FIG. 14 to FIG. 16 show cases in which processing with a single ALU row is impossible.
図14は、(変数入力)−(変数入力)の処理を示す。変数入力は入力端子aに入力できないため、図14(a)に示すDFGをリコンフィギュラブル回路12にマッピングすることはできない。そこで、図14(b)に示すように、2つの段に配置されるALUの入力端子bを使って変数入力を行うことで、(変数入力)−(変数入力)を実行できる。なお、“nop”は演算を実行しないスルー用のノードを示す。
FIG. 14 shows the processing of (variable input)-(variable input). Since variable input cannot be input to the input terminal a, the DFG shown in FIG. 14A cannot be mapped to the
図15は、(変数入力)−(定数入力)の処理を示す。変数入力は入力端子aに入力できず、定数入力は入力端子bに入力できないため、図15(a)に示すDFGをリコンフィギュラブル回路12にマッピングすることはできない。そこで、図15(b)に示すように、上の段に入力した変数入力および定数入力を下の段に入力端子を入れ替えて供給することで、(変数入力)−(定数入力)を実行できる。
FIG. 15 shows the processing of (variable input)-(constant input). Since variable input cannot be input to the input terminal a and constant input cannot be input to the input terminal b, the DFG shown in FIG. 15A cannot be mapped to the
図16は、(前段ALU出力)−(定数入力)の処理を示す。定数入力は入力端子bに入力できないため、図16(a)に示すDFGをリコンフィギュラブル回路12にマッピングすることはできない。そこで、図16(b)に示すように、上の段に入力した定数入力を下の段の入力端子bに供給することで、(前段ALU出力)−(定数入力)を実行できる。
FIG. 16 shows the processing of (previous stage ALU output)-(constant input). Since constant input cannot be input to the input terminal b, the DFG shown in FIG. 16A cannot be mapped to the
以上、図14〜図16に、1段のALU列で処理できない例を示した。この場合であっても、2段のALU列を使用することで、各減算処理を実行することができる。2段のALU列を使用すると、リコンフィギュラブル回路12における回路の再構成速度は若干落ちるものの、このような減算は全体の演算処理の中のごく一部であり、一方で回路規模を大きく削減できるため、その利点の方が大きい。なお、以下では、図15および図16に示した減算処理を1段のALU列で実行させるようALUの機能を追加する。
As described above, FIGS. 14 to 16 show examples in which processing cannot be performed with a single ALU column. Even in this case, each subtraction process can be executed by using a two-stage ALU sequence. When a two-stage ALU sequence is used, the reconfiguration speed of the
図17は、ALUにおける演算の別の例を示す。図7に示した演算例に対して、図17の演算例では、減算2(IN_b−IN_a)を追加している。なお、減算1は、図7における減算に対応する。図5のALU入力例に示すように、回路規模の縮小化に配慮せず、双方の入力端子に全データを供給する場合は、1つの減算(IN_a−IN_b)でよかったが、図10に示すようにALUの入力制限を行う場合には、減算2を追加することで、回路の再構成速度を高速にできる。
FIG. 17 shows another example of operations in the ALU. With respect to the calculation example shown in FIG. 7, subtraction 2 (IN_b−IN_a) is added in the calculation example of FIG.
図18は、(変数入力)−(定数入力)の処理を示す。変数入力を入力端子b、定数入力を入力端子aに入力し、ALUの演算機能を(IN_b−IN_a)に設定することで、(変数入力)−(定数入力)を1段のALU列で実行できるようになる。 FIG. 18 shows the processing of (variable input)-(constant input). By inputting the variable input to the input terminal b, the constant input to the input terminal a, and setting the arithmetic function of the ALU to (IN_b-IN_a), (variable input)-(constant input) is executed in a single ALU sequence. become able to.
図19は、(前段ALU出力)−(定数入力)の処理を示す。定数入力を入力端子a、前段ALU出力を入力端子bに入力し、ALUの演算機能を(IN_b−IN_a)に設定することで、(前段ALU出力)−(定数入力)を1段のALU列で実行できるようになる。 FIG. 19 shows the processing of (previous stage ALU output) − (constant input). By inputting the constant input to the input terminal a, the previous stage ALU output to the input terminal b, and setting the arithmetic function of the ALU to (IN_b-IN_a), the (previous stage ALU output)-(constant input) is a single stage ALU sequence. Can be executed with
図20は、加算器を示す。a、bは入力、cinは桁上げ入力、coutは桁上げ出力、qは出力を示す。 FIG. 20 shows an adder. a and b are inputs, cin is a carry input, cout is a carry output, and q is an output.
図21は、加減算器(a−b)を示す。加減算器は加算器に対して、マルチプレクサ1つと反転回路1つが追加されただけであり、追加した回路は、加算器部分に比べて相当小さい。 FIG. 21 shows an adder / subtracter (ab). The adder / subtracter is only added one multiplexer and one inverting circuit to the adder, and the added circuit is considerably smaller than the adder portion.
図22は、図21に示す加減算器に減算2、つまり(b−a)の機能を追加した加減算器を示す。図21に示す加減算器に比べて入力a、b部分に選択器が2つ追加されているが、これら追加した回路は加減算器に比べて相当小さい。従って、ALUの回路は若干大きくなるものの、本来ALUに設けられている図21に示す加減算器(a−b)との共通部分がほとんどを占めるので、回路規模はさほど増加しない。したがって、図17に示す減算2の演算機能を追加することで、効率の良いDFGを作成することができ、またコンパイラにおける処理が容易になり、コンパイル時間の短縮も可能となる。このように、図10のような入力制限を行った場合であっても、処理速度を落とすことなく、トータルの回路規模を効果的に削減することができる。
FIG. 22 shows an adder / subtracter in which the function of (b−a) is added to the adder / subtracter shown in FIG. 21. Compared to the adder / subtracter shown in FIG. 21, two selectors are added to the inputs a and b, but these added circuits are considerably smaller than the adder / subtractor. Therefore, although the circuit of the ALU becomes slightly larger, the circuit scale does not increase so much because the common part with the adder / subtracter (ab) shown in FIG. Therefore, by adding the
なお、図14に示した(変数入力)―(変数入力)の演算は、演算全体からみれば、出現頻度は小さいと考えられるので、DFGがごく僅かに大きくなったとしても回路規模の削減のメリットが勝る。 Note that the (variable input)-(variable input) operation shown in FIG. 14 is considered to have a low appearance frequency when viewed from the whole operation, so that even if the DFG becomes very small, the circuit scale can be reduced. Merits are better.
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。 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列53cからなされているが、出力は、第1段のALU列53aからなされてもよく、また第2段のALU列53bからなされてもよい。
In the embodiment, the output of the
例えば、リコンフィギュラブル回路12におけるALUの配列は、縦方向にのみ接続を許した多段配列に限らず、横方向の接続も許した、メッシュ状の配列であってもよい。また、上記の説明では、段を飛ばして論理回路を接続する接続用結線は設けられていないが、このような段を飛ばす接続用結線を設ける構成としてもよい。
For example, the array of ALUs in the
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。 The embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.
10・・・処理装置、12・・・リコンフィギュラブル回路、14・・・設定部、17・・・第1入力経路、18・・・制御部、19・・・第2入力経路、20・・・内部状態保持回路、22・・・出力回路、24・・・フィードバック経路、25・・・マルチプレクサ部、26・・・集積回路装置、34・・・記憶部、52・・・接続部、53・・・ALU列。
DESCRIPTION OF
Claims (2)
前記論理回路には、第1入力端子と第2入力端子の少なくとも2つの入力端子が設けられており、
前記接続部は、前記論理回路間の接続用結線とは別に、第1入力端子に第1データを入力可能とし、且つ第2入力端子に第1入力端子には入力しない第2データを入力可能とする入力用結線を有し、
前記接続部の1段あたりに入力される第2データの数が、当該リコンフィギュラブル回路の1段あたりの論理回路の個数未満に制限されることを特徴とするリコンフィギュラブル回路。
Reconfigurable circuit having a multi-stage arrangement of logic circuits each capable of selectively executing a plurality of arithmetic functions, and a connection section capable of setting a connection relationship between the output of the preceding logic circuit and the input of the succeeding logic circuit Because
The logic circuit includes at least two input terminals, a first input terminal and a second input terminal,
The connection unit can input first data to the first input terminal and input second data not to be input to the first input terminal to the first input terminal separately from the connection for connection between the logic circuits. have a input for connection to,
The reconfigurable circuit, wherein the number of second data input per stage of the connection unit is limited to less than the number of logic circuits per stage of the reconfigurable circuit.
前記接続部に接続され、前記リコンフィギュラブル回路の出力データを前記接続部に入力可能な第1入力経路と、
前記接続部に接続され、定数データを前記接続部に論理回路に入力可能な第2入力経路とを備え、前記論理回路には、第1入力端子と第2入力端子の少なくとも2つの入力端子が設けられており、
前記接続部は、前記論理回路間の接続用結線とは別に、第1入力端子に第1入力経路から供給される出力データのみを、第2入力端子に第2入力経路から供給される定数データのみを入力可能な入力用結線を有し、
前記接続部の1段あたりに入力される前記データの数が、当該リコンフィギュラブル回路の1段あたりの論理回路の個数未満に制限されることを特徴とする処理装置。
Reconfigurable circuit having a multi-stage arrangement of logic circuits each capable of selectively executing a plurality of arithmetic functions, and a connection section capable of setting a connection relationship between the output of the preceding logic circuit and the input of the succeeding logic circuit When,
A first input path connected to the connection unit and capable of inputting output data of the reconfigurable circuit to the connection unit;
A second input path connected to the connecting portion and capable of inputting constant data to the connecting portion to the logic circuit, wherein the logic circuit has at least two input terminals, a first input terminal and a second input terminal. Provided,
In addition to the connection for connection between the logic circuits, the connection unit outputs only output data supplied from the first input path to the first input terminal, and constant data supplied from the second input path to the second input terminal. only to have the input for the connection can be input to,
The processing apparatus , wherein the number of data input per stage of the connection unit is limited to less than the number of logic circuits per stage of the reconfigurable circuit .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004083416A JP4357326B2 (en) | 2004-03-22 | 2004-03-22 | Reconfigurable circuit and processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004083416A JP4357326B2 (en) | 2004-03-22 | 2004-03-22 | Reconfigurable circuit and processing device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005275455A JP2005275455A (en) | 2005-10-06 |
JP4357326B2 true JP4357326B2 (en) | 2009-11-04 |
Family
ID=35175111
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004083416A Expired - Lifetime JP4357326B2 (en) | 2004-03-22 | 2004-03-22 | Reconfigurable circuit and processing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4357326B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4958224B2 (en) * | 2007-06-29 | 2012-06-20 | 日本電信電話株式会社 | Processing circuit |
JP4962305B2 (en) | 2007-12-26 | 2012-06-27 | 富士通セミコンダクター株式会社 | Reconfigurable circuit |
-
2004
- 2004-03-22 JP JP2004083416A patent/JP4357326B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2005275455A (en) | 2005-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7953956B2 (en) | Reconfigurable circuit with a limitation on connection and method of determining functions of logic circuits in the reconfigurable circuit | |
JP4275013B2 (en) | Data flow graph processing device, processing device, reconfigurable circuit. | |
EP1271474B1 (en) | Function block | |
JP4484756B2 (en) | Reconfigurable circuit and processing device | |
JP4011007B2 (en) | Integrated circuit device and processing device having reconfigurable circuit | |
JP4357326B2 (en) | Reconfigurable circuit and processing device | |
JP4553615B2 (en) | Processing equipment | |
JP4413052B2 (en) | Data flow graph processing apparatus and processing apparatus | |
JP4553614B2 (en) | Processing equipment | |
JP4260197B2 (en) | Processing equipment | |
JP4669781B2 (en) | Processing equipment | |
JP4330472B2 (en) | Processing equipment | |
JP4156010B2 (en) | Processing equipment | |
JP4748944B2 (en) | Processing equipment | |
JP4597075B2 (en) | Operation mapping method to reconfigurable circuit, reconfigurable circuit, and data flow graph | |
JP4562678B2 (en) | Data flow graph reconstruction device, setting data generation device for reconfigurable circuit, and processing device | |
JP4562679B2 (en) | Data flow graph generator | |
JP2004221997A (en) | Reconfigurable circuit and integrated circuit capable of using the same | |
JP4011012B2 (en) | Processing device with reconfigurable circuit | |
JP5116499B2 (en) | Arithmetic processing circuit | |
JP4610236B2 (en) | Setting data generator | |
JP4601567B2 (en) | Data flow graph generation method and processing apparatus | |
JP2007172285A (en) | Reconfigurable circuit and processor | |
JP5025509B2 (en) | Arithmetic processing circuit | |
JP2010086041A (en) | Multiplication method, processor, and arithmetic unit |
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: 20081031 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081105 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081217 |
|
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: 20090707 |
|
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: 20090804 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120814 Year of fee payment: 3 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4357326 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: 20120814 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130814 Year of fee payment: 4 |