JP4669781B2 - Processing equipment - Google Patents

Processing equipment Download PDF

Info

Publication number
JP4669781B2
JP4669781B2 JP2005370914A JP2005370914A JP4669781B2 JP 4669781 B2 JP4669781 B2 JP 4669781B2 JP 2005370914 A JP2005370914 A JP 2005370914A JP 2005370914 A JP2005370914 A JP 2005370914A JP 4669781 B2 JP4669781 B2 JP 4669781B2
Authority
JP
Japan
Prior art keywords
bits
data
circuit
ram
bit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2005370914A
Other languages
Japanese (ja)
Other versions
JP2007172400A (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 JP2005370914A priority Critical patent/JP4669781B2/en
Publication of JP2007172400A publication Critical patent/JP2007172400A/en
Application granted granted Critical
Publication of JP4669781B2 publication Critical patent/JP4669781B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、リコンフィギュラブル回路を備える処理装置に関する。   The present invention relates to a processing apparatus including a reconfigurable circuit.

最近、携帯電話、GPS、VICSなど、無線通信が広く普及し、無線機の種類も増えている。これらの無線機またはその機能をすべてハードウエアで実装すると、コストや実装面積が嵩む。そこで、ハードウエアとしては汎用的な能力を有する回路を搭載しておき、それにロードするソフトウエアを切り替えることで多様な機能を実現する「ソフトウエア無線機」という考え方がある。   Recently, wireless communications such as mobile phones, GPS, and VICS have become widespread, and the types of wireless devices are increasing. If these radios or their functions are all implemented by hardware, the cost and mounting area increase. Therefore, there is a concept of “software radio” that implements various functions by installing a circuit having general-purpose capability as hardware and switching software loaded thereon.

ソフトウエア無線機を実現する回路として、FPGA(Field Programmable Gate Array)やDSP(Digital Signal Processor)がある。特許文献1には、FPGAを動的に再構成することで、回路構成の再利用を図る方法が提案されている。動的変更が可能なタイプの回路を以下リコンフィギュラブル回路という。   Circuits that implement a software defined radio include an FPGA (Field Programmable Gate Array) and a DSP (Digital Signal Processor). Patent Document 1 proposes a method of reusing a circuit configuration by dynamically reconfiguring an FPGA. The type of circuit that can be dynamically changed is hereinafter referred to as a reconfigurable circuit.

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

論理回路の演算機能と論理回路どうしの接続を動的に構成するリコンフィギュラブル回路では、論理回路の演算処理ビット数とメモリの1アドレスのビット数が等しく構成されているのが一般である(例えば、特許文献2参照)。
特開平10−256383号公報 特開2005−276854号公報
In a reconfigurable circuit that dynamically configures a logic circuit operation function and a connection between logic circuits, it is common that an operation processing bit number of the logic circuit is equal to a bit number of one address of the memory ( For example, see Patent Document 2).
Japanese Patent Laid-Open No. 10-256383 JP 2005-276854 A

例えば衛星放送では、季節などにより、放送モードを切り替えて画質の調整などを行うことがある。衛星放送受信機では、放送モードごとに複数の回路を予めハードウェア上に作り込んでおき、放送モードに合わせて選択器で回路を切り替えて受信している。従って、受信機の他の放送モード用の回路はその間遊んでいることになる。モード切替のように、複数の専用回路を切り替えて使用し、その切替間隔が比較的長い場合、複数の専用回路を作り込む代わりに、切替時にLSIを瞬時に再構成することにすれば、回路構造を簡単にして汎用性を高め同時に実装コストを抑えることができる。このようなニーズに応えるべく、動的に再構成可能なLSIに製造業界の関心が高まってきている。特に、携帯電話やPDA(Personal Digital Assistant)などのモバイル端末に搭載されるLSIは小型化が必要であり、LSIを動的に再構成し、用途に合わせて適宜機能を切り替えることができれば、LSIの実装面積を小さく抑えることができる。   For example, in satellite broadcasting, image quality may be adjusted by switching broadcast modes depending on the season. In the satellite broadcast 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 and versatility can be improved, and at the same time the mounting cost can be reduced. In order to meet such needs, the manufacturing industry has become increasingly interested in dynamically reconfigurable LSIs. In particular, LSIs mounted on mobile terminals such as mobile phones and PDAs (Personal Digital Assistants) need to be miniaturized. If LSIs can be dynamically reconfigured and functions can be switched appropriately according to the application, The mounting area can be kept small.

FPGAは回路構成の設計自由度が高く、汎用的である反面、全ての基本セル間の接続を可能とするため、多数のスイッチとスイッチのON/OFFを制御するための制御回路を含む必要があり、必然的に制御回路の実装面積が大きくなる。また、基本セル間の接続に複雑な配線パターンをとるため、配線が長くなる傾向がある。さらに1本の配線に多くのスイッチが接続される構造であるため、遅延が大きくなる。そのため、FPGAによるLSIは、試作や実験のために利用されるにとどまることが多く、実装効率、性能コストなどを考えると、量産には適していない。さらに、FPGAによるLSIでは、多数のLUT方式の基本セルに設定データを送る必要があるため、回路のコンフィギュレーションにはかなりの時間を要する。そのため、瞬時に回路構成の切替が必要な用途にはFPGAによるLSIは適していない。   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. Moreover, since a complicated wiring pattern is used for connection between basic cells, the wiring tends to be long. Furthermore, the delay is increased 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 and performance cost. Furthermore, in the LSI based on the FPGA, it is necessary to send setting data 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, FPGA LSIs are not suitable for applications that require instantaneous switching of the circuit configuration.

それらの課題を解決するため、近年、ALU(Arithmetic Logic Unit)と呼ばれる基本演算機能を複数有する多機能素子を用いたリコンフィギュラブルプロセッサの開発が進められている。リコンフィギュラブルプロセッサでは、コマンドデータが設定されることにより、ALU回路の演算機能構成と接続部が制御され、全体として所期の演算処理回路を実現することが可能となる。コマンドデータは、一般にC言語等の高級プログラム言語で記述されたソースプログラムからDFG(Data Flow Graph)と呼ばれるデータフローを作成し、その情報をもとに作成される。   In order to solve these problems, in recent years, a reconfigurable processor using a multi-functional element called ALU (Arithmetic Logic Unit) having a plurality of basic arithmetic functions has been developed. In the reconfigurable processor, the command data is set to control the arithmetic function configuration and the connection part of the ALU circuit, so that the desired arithmetic processing circuit can be realized as a whole. Command data is generally created based on the data flow called DFG (Data Flow Graph) created from a source program written in a high-level programming language such as C language.

図11に示すように、従来のメモリ構成を備えたプロセッサ(特許文献2参照)では、ALUの演算処理ビット数とメモリの1アドレスのビット数が等しく、ALUの入出力データをそのまま格納していた。そのため、ALUの入出力データの有効なビット数が小さい場合、本来不要な上位のビットもメモリに格納しており、無駄にメモリを使用していた。特に、ALUの処理ビット数が、例えば32ビットやさらに64ビットに拡大すると、無駄に使用されるメモリが増大する。   As shown in FIG. 11, in a processor having a conventional memory configuration (see Patent Document 2), the number of arithmetic processing bits of the ALU is equal to the number of bits of one address of the memory, and the input / output data of the ALU is stored as it is. It was. For this reason, when the number of effective bits of the input / output data of the ALU is small, the upper bits that are originally unnecessary are also stored in the memory, and the memory is used wastefully. In particular, if the number of ALU processing bits is increased to, for example, 32 bits or even 64 bits, the memory that is wasted is increased.

本発明はこうした状況に鑑みてなされたものであり、その目的は、回路規模の縮小化に貢献するリコンフィギュラブル回路を備えた処理装置を提供することである。   The present invention has been made in view of such circumstances, and an object thereof is to provide a processing apparatus including a reconfigurable circuit that contributes to a reduction in circuit scale.

上記目的を達成するため、本発明の第1の観点に係る処理装置は、それぞれが複数の算術論理演算機能を選択的に実行可能な複数の論理回路から構成される演算部と、前記複数の論理回路の間の接続関係を保持する接続部と、を備えるリコンフィギュラブル回路を含む処理装置において、前記論理回路で使用するデータを格納する記憶手段と、前記記憶手段に格納するデータの有効ビット数が前記記憶手段の1アドレスで指定されるメモリワードのビット数を超える場合、前記データを前記メモリワードのビット数を有する複数の部分に分けて、複数の前記メモリワードに格納する分割格納手段と、前記分割格納手段で複数のメモリワードに分割されて格納されたデータを、該複数のメモリワードから読み出すときに、元のビット数のデータに復元する連結読み出し手段と、を備えることを特徴とする。   In order to achieve the above object, a processing device according to a first aspect of the present invention includes an arithmetic unit including a plurality of logic circuits each capable of selectively executing a plurality of arithmetic logic operation functions, In a processing apparatus including a reconfigurable circuit comprising a connection unit that holds a connection relationship between logic circuits, a storage unit that stores data used in the logic circuit, and a valid bit of data stored in the storage unit Divided storage means for dividing the data into a plurality of portions having the number of bits of the memory word and storing the data in a plurality of memory words when the number exceeds the number of bits of the memory word specified by one address of the storage means When the data stored by being divided into a plurality of memory words by the divided storage means is read from the plurality of memory words, the data of the original number of bits Characterized in that it comprises a coupling reading means for restoring, the.

本発明の第2の観点に係る処理装置は、それぞれが複数の算術論理演算機能を選択的に実行可能な複数の論理回路から構成される演算部と、前記複数の論理回路の間の接続関係を保持する接続部と、を備えるリコンフィギュラブル回路を含む処理装置において、前記論理回路で使用するデータを格納する記憶手段と、前記記憶手段に格納するデータの有効ビット数が前記記憶手段の1アドレスで指定されるメモリワードのビット数を超えない場合、前記データを復元可能でかつ前記メモリワードのビット数以下のビット数に変更してメモリに格納する縮退格納手段と、前記縮退格納手段で前記メモリワードのビット数以下のビット数に変更して格納されたデータを読み出すときに、前記論理回路の入力ビット数に合わせて前記データを復元する拡張読み出し手段と、を備えることを特徴とする。   A processing device according to a second aspect of the present invention is a processing unit comprising a plurality of logic circuits each capable of selectively executing a plurality of arithmetic logic operation functions, and a connection relationship between the plurality of logic circuits. In a processing apparatus including a reconfigurable circuit including a connection unit that holds the data, a storage unit that stores data used in the logic circuit, and the number of effective bits of the data stored in the storage unit is 1 of the storage unit. If the number of bits of the memory word specified by the address does not exceed, the degenerate storage means that can restore the data and change the number of bits to be equal to or less than the number of bits of the memory word and store in the memory, and the degenerate storage means When reading the stored data after changing the number of bits to the number of bits of the memory word or less, the data is restored in accordance with the number of input bits of the logic circuit. Characterized in that it and a extended reading means.

本発明の第3の観点に係る処理装置は、前記記憶手段と、前記分割格納手段と、前記連結読み出し手段と、前記縮退格納手段と、前記拡張読み出し手段と、を備えることを特徴とする。   A processing apparatus according to a third aspect of the present invention includes the storage unit, the divided storage unit, the concatenated reading unit, the degenerate storage unit, and the extended reading unit.

さらに、前記論理回路で使用するデータを格納する前記記憶手段の1つのアドレスで指定されるメモリワードのビット数が、前記論理回路で処理するデータのビット数よりも小さいことを特徴とする。   Further, the number of bits of a memory word specified by one address of the storage means for storing data used in the logic circuit is smaller than the number of bits of data processed in the logic circuit.

好ましくは、前記分割格納手段は、前記記憶手段の前記メモリワードのビット数を有する複数の部分に分けられたデータのそれぞれを、元のデータにおけるビット位置に従って、格納する記憶領域が限定されていることを特徴とする。   Preferably, the divided storage means has a limited storage area for storing each of the data divided into a plurality of portions having the number of bits of the memory word of the storage means according to the bit position in the original data. It is characterized by that.

特に、前記分割格納手段又は前記縮退格納手段は、前記演算部から出力されるデータの数を前記データの有効ビット数に応じて制限することを特徴とする。   In particular, the divided storage means or the degenerate storage means limits the number of data output from the arithmetic unit according to the number of effective bits of the data.

また特に、前記連結読み出し手段又は前記拡張読み出し手段は、前記演算部に入力するデータの数を前記データの有効ビット数に応じて制限することを特徴とする。   In particular, the concatenated reading unit or the extended reading unit limits the number of data input to the arithmetic unit according to the number of effective bits of the data.

さらに、前記分割格納手段又は前記縮退格納手段は、前記演算部から出力される各データの有効ビット数に応じて、使用する前記メモリワード数の合計が同時に書き込み可能なメモリワード数を超えないように、同時に前記演算部から出力される前記データ数を制限することを特徴とする。   Further, the divided storage means or the degenerate storage means may prevent the total number of memory words to be used from exceeding the number of memory words that can be simultaneously written according to the number of effective bits of each data output from the arithmetic unit. In addition, the number of data output from the arithmetic unit at the same time is limited.

またさらに、前記連結読み出し手段又は前記拡張読み出し手段は、前記演算部に入力される各データの有効ビット数に応じて使用する前記メモリワード数の合計が同時に読み込み可能なメモリワード数を超えないように、同時に前記演算部に入力するデータ数を制限することを特徴とする。   Still further, the concatenated reading means or the extended reading means may prevent the total number of memory words used according to the number of valid bits of each data input to the arithmetic unit from exceeding the number of memory words that can be read simultaneously. In addition, the number of data input to the arithmetic unit at the same time is limited.

なお、好ましくは、前記分割格納手段又は前記縮退格納手段は、前記演算部から出力されるデータの数を前記データの有効ビット数に応じて制限するか、さらに、前記演算部から出力される各データの有効ビット数に応じて使用する前記メモリワード数の合計が同時に書き込み可能なメモリワード数を超えないように、同時に前記演算部から出力されるデータ数を制限し、そして、前記連結読み出し手段又は前記拡張読み出し手段は、前記演算部に入力するデータの数を前記データの有効ビット数に応じて制限するか、さらに、前記演算部に入力される各データの有効ビット数に応じて使用する前記メモリワード数の合計が同時に読み込み可能なメモリワード数を超えないように、同時に前記演算部に入力するデータ数を制限することを特徴とする。   Preferably, the divided storage unit or the degenerate storage unit limits the number of data output from the calculation unit according to the number of effective bits of the data, or further outputs each of the data output from the calculation unit. The number of data simultaneously output from the arithmetic unit is limited so that the total number of memory words used according to the number of valid bits of data does not exceed the number of simultaneously writeable memory words, and the concatenated reading means Alternatively, the extended reading means limits the number of data input to the calculation unit according to the number of effective bits of the data, or further uses the data according to the number of effective bits of each data input to the calculation unit. The number of data to be simultaneously input to the arithmetic unit is limited so that the total number of memory words does not exceed the number of memory words that can be read simultaneously. To.

本発明の第4の観点に係る処理装置は、前記いずれかの処理装置であって、前記複数の論理回路において選択的に実行する複数の算術論理演算機能と、前記複数の論理回路の間の接続関係を設定して、前記リコンフィギュラブル回路の動作を制御する設定データの生成において、前記複数の論理演算回路が実行する所期の演算処理を記述したプログラムに基づいて、前記論理回路の入出力データの有効ビット数を判定し、前記設定データを生成することを特徴とする。   A processing device according to a fourth aspect of the present invention is any one of the processing devices, comprising: a plurality of arithmetic logic operation functions selectively executed in the plurality of logic circuits; and a plurality of logic circuits between the plurality of logic circuits. In the generation of setting data for setting the connection relation and controlling the operation of the reconfigurable circuit, the input of the logic circuit is based on a program that describes the intended arithmetic processing executed by the plurality of logical arithmetic circuits. The setting data is generated by determining the number of valid bits of the output data.

本発明の処理装置によれば、従来のリコンフィギュラブル回路よりデータの有効ビット数に近いビット数でメモりに格納できるため、効率的なメモリの使用が可能となり、必要なメモリの容量が少なくてすむ。そして、メモリの容量が少なくなることにより、回路規模を縮小することができる。   According to the processing apparatus of the present invention, since it is possible to store the memory with the number of bits closer to the effective number of data than in the conventional reconfigurable circuit, it is possible to use the memory efficiently and to reduce the necessary memory capacity. Tesumu. And the circuit scale can be reduced by reducing the memory capacity.

本発明に係る処理装置の一実施の形態について、図を参照して説明する。図1は、本発明の一実施の形態に係るリコンフィギュラブル回路を含む処理装置の構成を示すブロック図である。図1に示すように、処理装置10は、集積回路装置26を備える。集積回路装置26は、回路構成を再構成可能とする機能を有する。集積回路装置26は1チップとして構成され、リコンフィギュラブル回路1、設定部14、制御部18、内部状態保持回路20、出力回路22および経路部24を備える。リコンフィギュラブル回路1は、設定を変更することにより、機能の変更を可能とする。   An embodiment of a processing apparatus according to the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing a configuration of a processing apparatus including a reconfigurable circuit according to an embodiment of the present invention. As shown in FIG. 1, the processing apparatus 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 1, 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 1 can change the function by changing the setting.

設定部14は、第1設定部14a、第2設定部14b、第3設定部14c、第4設定部14dおよび選択器16を有し、リコンフィギュラブル回路1に所期の回路を構成するための設定データ40を供給する。経路部24は、フィードバックパスとして機能し、リコンフィギュラブル回路1の出力を、リコンフィギュラブル回路1の入力に接続する。内部状態保持回路20および出力回路22は、例えばデータフリップフロップ(D−FF)などの順序回路あるいはメモリで構成され、リコンフィギュラブル回路1の出力を受ける。内部状態保持回路20は経路部24に接続されている。内部状態保持回路20は、リコンフィギュラブル回路1で使用するデータを記憶する記憶部4を備える。リコンフィギュラブル回路1は組合せ回路、またはD−FFのような状態保持を含む順序回路として構成される。   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 1. The setting data 40 is supplied. The path unit 24 functions as a feedback path, and connects the output of the reconfigurable circuit 1 to the input of the reconfigurable circuit 1. The internal state holding circuit 20 and the output circuit 22 are configured by a sequential circuit such as a data flip-flop (D-FF) or a memory, for example, and receive the output of the reconfigurable circuit 1. The internal state holding circuit 20 is connected to the path unit 24. The internal state holding circuit 20 includes a storage unit 4 that stores data used in the reconfigurable circuit 1. The reconfigurable circuit 1 is configured as a combinational circuit or a sequential circuit including state holding such as D-FF.

図2は、ALUアレイを用いたリコンフィギュラブル回路1の構成例を示す図である。図2に示すように、リコンフィギュラブル回路1は、機能の変更が可能な算術論理演算ユニットなどを含む論理回路(ALU)2の集合体を複数備えた構造を有し、また、それぞれの集合体の間に設けられて、集合体間のALU2の接続を選択的に確立可能な少なくとも1つの接続部3を有する。   FIG. 2 is a diagram illustrating a configuration example of the reconfigurable circuit 1 using an ALU array. As shown in FIG. 2, the reconfigurable circuit 1 has a structure including a plurality of sets of logic circuits (ALU) 2 including arithmetic logic units and the like whose functions can be changed. It is provided between the bodies and has at least one connection part 3 capable of selectively establishing the connection of the ALU 2 between the aggregates.

リコンフィギュラブル回路1において、演算機能を選択的に実行可能な複数のALU2がマトリックス状に配列されて、図2の例では、X段Y列のALUアレイを構成し、各段に配列された複数のALU2が集合体を構成して、前段の集合体における処理結果が、接続部3において選択的に確立される接続にしたがって後段の集合体に引き渡される。上段から下段への論理回路間のデータ渡しは、論理回路間の接続切替を行う接続スイッチに接続データセットを設定することで、下段のどのALU2にデータを渡すかが定められる。動作時には、構成情報に従って演算処理し、結果を出力する。   In the reconfigurable circuit 1, a plurality of ALUs 2 capable of selectively executing an arithmetic function are arranged in a matrix form. In the example of FIG. 2, an ALU array of X stages and Y columns is configured and arranged in each stage. A plurality of ALUs 2 constitute an aggregate, and the processing result in the upstream aggregate is delivered to the downstream aggregate according to the connection selectively established in the connection unit 3. Data transfer between the logic circuits from the upper stage to the lower stage is determined to which ALU 2 in the lower stage the data is transferred by setting a connection data set in a connection switch that switches connection between the logic circuits. During operation, arithmetic processing is performed according to the configuration information and the result is output.

各論理回路(ALU)2の機能と、論理回路間の接続関係は、図1に示す設定部14により供給される設定データ40に基づいて設定される。設定データ40は、以下の手順で生成される。   The function of each logic circuit (ALU) 2 and the connection relationship between the logic circuits are set based on setting data 40 supplied by the setting unit 14 shown in FIG. The setting data 40 is generated by the following procedure.

集積回路装置26により実現されるべきプログラム36が、設定記憶部34に保持されている。プログラム36は、信号処理回路または信号処理アルゴリズムなどをC言語などの高級言語で記述したものである。コンパイル部30は、設定記憶部34に格納されたプログラム36をコンパイルし、データフローグラフ(DFG)38に変換して設定記憶部34に格納する。データフローグラフ38は、入力変数および定数による入力データから出力データに至る演算ないしはデータの流れをグラフ構造で表現したものである。ここで、コンパイル部30は、リコンフィギュラブル回路1におけるALU2の集合体の接続制限に応じて、データフローグラフ38を生成する。   A program 36 to be realized by the integrated circuit device 26 is held in the setting 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 setting storage unit 34, converts it into a data flow graph (DFG) 38, and stores it in the setting storage unit 34. The data flow graph 38 is a graph structure representing operations or data flow from input data to output data by input variables and constants. Here, the compiling unit 30 generates the data flow graph 38 according to the connection limitation of the aggregate of ALUs 2 in the reconfigurable circuit 1.

設定データ生成部32は、データフローグラフ38から設定データ40を生成する。設定データ40は、データフローグラフ38をリコンフィギュラブル回路1にマッピングするためのデータであり、リコンフィギュラブル回路1におけるALU2の機能や論理回路間の接続関係を定める。   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 1 and defines the function of the ALU 2 in the reconfigurable circuit 1 and the connection relationship between the logic circuits.

(実施の形態1)
図3は、本発明に係る処理装置10において、リコンフィギュラブル回路1が使用するデータを記憶する記憶部4の構成の一例を示す図である。本実施の形態では、リコンフィギュラブル回路1のALUアレイは、演算処理ビット数が32ビットである。記憶部4はメモリ5として、1アドレスで指定されるメモリワードが16ビットのRAM5a、5bを2系統備える。記憶部4は、演算処理ビット数が32ビットのALUからの出力を、1アドレスのメモリワードが16ビットのRAMに格納する。図中の太線は32ビットのデータ線を、細線は16ビットのデータ線を表す。
(Embodiment 1)
FIG. 3 is a diagram showing an example of the configuration of the storage unit 4 that stores data used by the reconfigurable circuit 1 in the processing apparatus 10 according to the present invention. In the present embodiment, the ALU array of the reconfigurable circuit 1 has an arithmetic processing bit number of 32 bits. The storage unit 4 includes two systems of RAMs 5a and 5b each having a 16-bit memory word designated by one address as the memory 5. The storage unit 4 stores the output from the ALU having the number of arithmetic processing bits of 32 bits in a RAM having a memory word of 1 address as 16 bits. In the figure, a thick line represents a 32-bit data line, and a thin line represents a 16-bit data line.

記憶部4は、リコンフィギュラブル回路1の32ビットのデータをそのまま受けるレジスタ7aと、32ビットのデータの下位16ビットを受けるレジスタ7bを備える。32ビットレジスタ7aのデータは、上位16ビットのデータと下位16ビットのデータを選択する選択回路(MUX)6aに入力される。下位16ビットを受けるレジスタ7bは、RAM5bに接続している。   The storage unit 4 includes a register 7a that receives the 32-bit data of the reconfigurable circuit 1 as it is, and a register 7b that receives the lower 16 bits of the 32-bit data. The data in the 32-bit register 7a is input to a selection circuit (MUX) 6a that selects upper 16-bit data and lower 16-bit data. The register 7b that receives the lower 16 bits is connected to the RAM 5b.

RAM5a、5bの読み出し側には、レジスタ7c、7dと、ビット拡張回路8と、選択回路6bと、合成回路9a、9bが設けられている。ビット拡張回路8は、RAM5bから読み出したデータのMSB(最上位ビット)を拡張して、上位16ビットを生成する。選択回路6bは、ビット拡張回路8の出力とRAM5aのデータを選択する。合成回路9aは、RAM5aのデータを下位16ビットとし、そのMSBを拡張した16ビットを上位16ビットとして、元のデータを生成する。合成回路9bは、RAM5bのデータを下位ビットとし、選択回路6bの出力を上位16ビットとして元のデータを生成する。   On the read side of the RAMs 5a and 5b, registers 7c and 7d, a bit expansion circuit 8, a selection circuit 6b, and synthesis circuits 9a and 9b are provided. The bit expansion circuit 8 expands the MSB (most significant bit) of the data read from the RAM 5b to generate upper 16 bits. The selection circuit 6b selects the output of the bit extension circuit 8 and the data of the RAM 5a. The synthesizing circuit 9a generates the original data with the data in the RAM 5a as the lower 16 bits and the 16 bits obtained by extending the MSB as the upper 16 bits. The synthesizing circuit 9b generates original data with the data of the RAM 5b as the lower bits and the output of the selection circuit 6b as the upper 16 bits.

次に、記憶部4の動作を説明する。図3に示すように、記憶部4は2つのRAM5a、5bを一対とし、ALU2からの出力データの有効ビット数が17ビット以上であれば一対の2つのRAM5a、5bに上位と下位のそれぞれを格納する。すなわち、選択回路6aはレジスタ7aのデータの上位16ビットを選択してRAM5aに記憶する。下位16ビットはRAM5bに記憶される。メモリ5を構成する一対となるRAM5a、5bのうち、RAM5aが上位用、RAM5bが下位用である。   Next, the operation of the storage unit 4 will be described. As shown in FIG. 3, the storage unit 4 has a pair of two RAMs 5a and 5b, and if the number of effective bits of output data from the ALU 2 is 17 bits or more, the upper and lower parts are respectively stored in the pair of two RAMs 5a and 5b. Store. That is, the selection circuit 6a selects the upper 16 bits of the data in the register 7a and stores it in the RAM 5a. The lower 16 bits are stored in the RAM 5b. Of the pair of RAMs 5a and 5b constituting the memory 5, the RAM 5a is for the upper level and the RAM 5b is for the lower level.

分割して格納したデータは上位16ビットと下位16ビットをそれぞれRAM5a、5bから読み出しビット結合を行い、元の32ビットのデータとしてALU2に入力する。選択回路6bは、RAM5aのデータを選択し、合成回路9bの上位16ビットとする。合成回路9bの下位16ビットはRAM5bのデータ(レジスタ7dのデータ)とする。こうして、RAM5a、5bに分割して記憶された32ビットのデータは、合成回路9bで元の32ビットデータに連結して読み出される。   The divided and stored data is read out from the RAMs 5a and 5b for the upper 16 bits and the lower 16 bits, respectively, and is coupled to the ALU 2 as the original 32-bit data. The selection circuit 6b selects the data in the RAM 5a and sets it as the upper 16 bits of the synthesis circuit 9b. The lower 16 bits of the synthesis circuit 9b are the RAM 5b data (register 7d data). In this way, the 32-bit data divided and stored in the RAMs 5a and 5b is read out by being combined with the original 32-bit data by the synthesis circuit 9b.

ALUからの出力の有効ビット数が16ビット以下の場合は、32ビットの下位16ビットのみをRAM5a又はRAM5bに格納する。その際、いずれのRAM5a、5bに格納してもよい。例えば、連続する16ビット以下のデータは、RAM5aとRAM5bの未使用領域の多い方のRAMに格納する。RAM5aに下位16ビットを格納する場合、選択回路6aは下位16ビットを選択して、RAM5aに格納する。そのとき、RAM5bは異なる16ビット以下のデータを格納してもよい。RAM5bに下位16ビットのみを格納する場合、レジスタ7bから下位16ビットをRAM5bに格納する。そのとき、RAM5aは異なる16ビット以下のデータを格納してもよい。   When the number of effective bits output from the ALU is 16 bits or less, only the lower 16 bits of 32 bits are stored in the RAM 5a or RAM 5b. At that time, the data may be stored in any of the RAMs 5a and 5b. For example, continuous data of 16 bits or less is stored in the RAM with the larger unused area of the RAM 5a and RAM 5b. When the lower 16 bits are stored in the RAM 5a, the selection circuit 6a selects the lower 16 bits and stores them in the RAM 5a. At that time, the RAM 5b may store different data of 16 bits or less. When only the lower 16 bits are stored in the RAM 5b, the lower 16 bits from the register 7b are stored in the RAM 5b. At that time, the RAM 5a may store different data of 16 bits or less.

下位16ビットのみが格納されたデータは、RAM5a又はRAM5bから読み出したときに、データのビット拡張を行い、元の32ビットのデータとしてALU2に入力する。すなわち、RAM5aに格納された下位16ビットデータを読み出すときには、合成回路9aでRAM5aのデータ(レジスタ7cのデータ)を下位16ビットとし、レジスタ7cのMSBを拡張した16ビットを上位16ビットとして、元のデータを生成する。   When data having only the lower 16 bits stored therein is read from the RAM 5a or 5b, the data is bit-extended and input to the ALU 2 as the original 32-bit data. That is, when the lower 16-bit data stored in the RAM 5a is read, the data in the RAM 5a (data in the register 7c) is set as the lower 16 bits in the synthesis circuit 9a, and the 16 bits obtained by extending the MSB of the register 7c are set as the upper 16 bits. Generate data for

下位16ビットのMSBを拡張する方法は、データの型によって異なる。例えば、16ビットのデータが文字コードのような符号の場合は、上位16ビットに拡張するビットは常に0でよい。データが整数型で負の数が2の補数表示である場合は、上位16ビットに拡張するビットは、下位16ビットのMSBと同じビットである必要がある。すなわち、正数の場合は0を上位16ビットに詰め、負数の場合は1を上位16ビットに詰める。ALU2において、上位16ビットが整数型以外では用いられることがなければ、ビット拡張回路8は常に整数型と同じ処理を行うものであってもよい。   The method of extending the lower 16 bits MSB differs depending on the data type. For example, when 16-bit data is a code such as a character code, the bit extended to the upper 16 bits may always be 0. When the data is an integer type and the negative number is 2's complement notation, the bit extended to the upper 16 bits needs to be the same bit as the MSB of the lower 16 bits. That is, in the case of a positive number, 0 is padded to upper 16 bits, and in the case of a negative number, 1 is padded to upper 16 bits. In ALU2, if the upper 16 bits are not used for anything other than the integer type, the bit extension circuit 8 may always perform the same processing as the integer type.

RAM5bに格納された下位16ビットのみのデータを読み出すときには、ビット拡張回路8は、RAM5bから読み出したデータのMSB(最上位ビット)を拡張して、上位16ビットを生成する。選択回路6bは、ビット拡張回路8の出力を選択して、合成回路9bの上位16ビットとする。合成回路9bは、RAM5bのデータ(レジスタ7dのデータ)を下位16ビットとし、選択回路6bの出力(ビット拡張回路8で生成された上位16ビット)を上位16ビットとして元のデータを生成する。   When reading only the lower 16 bits of data stored in the RAM 5b, the bit expansion circuit 8 expands the MSB (most significant bit) of the data read from the RAM 5b to generate upper 16 bits. The selection circuit 6b selects the output of the bit expansion circuit 8 and sets the higher 16 bits of the synthesis circuit 9b. The synthesizing circuit 9b generates original data using the data in the RAM 5b (data in the register 7d) as the lower 16 bits and the output of the selection circuit 6b (the upper 16 bits generated by the bit expansion circuit 8) as the upper 16 bits.

こうして、RAM5a又はRAM5bに下位16ビットのみが格納されたデータは、合成回路9a又は合成回路9bで元の32ビットデータに拡張されて読み出される。   In this way, the data in which only the lower 16 bits are stored in the RAM 5a or 5b is expanded and read by the combining circuit 9a or the combining circuit 9b to the original 32-bit data.

ALU2からの出力データの有効ビット数が16ビット以下の場合、図11に示す従来の記憶部4aの構成では不要な上位16ビットのデータもメモリに格納していたが、本実施の形態1の記憶部4により不要なデータの格納が削減され、従来よりも効率的にメモリ5にデータを格納することが可能となる。その結果、メモリの容量が少なくなることにより、回路規模を縮小することができる。   When the number of effective bits of output data from the ALU 2 is 16 bits or less, the upper 16-bit data unnecessary in the configuration of the conventional storage unit 4a shown in FIG. 11 is also stored in the memory. Storage of unnecessary data is reduced by the storage unit 4, and data can be stored in the memory 5 more efficiently than in the past. As a result, the circuit scale can be reduced by reducing the memory capacity.

図3では、RAM5aは16ビット又は32ビットの上位のデータを格納し、RAM5bは16ビット又は32ビットの下位のデータを格納する。そのため、メモリ5への入力において、左のRAM5aには上位16ビットか下位16ビットかを選択する選択回路(MUX)6aが備わっているが、右のRAM5bには常に下位のデータが書き込まれるため、選択回路は必要ない。   In FIG. 3, the RAM 5a stores 16-bit or 32-bit upper data, and the RAM 5b stores 16-bit or 32-bit lower data. Therefore, in the input to the memory 5, the left RAM 5a is provided with a selection circuit (MUX) 6a for selecting whether the upper 16 bits or the lower 16 bits, but lower data is always written in the right RAM 5b. The selection circuit is not necessary.

記憶部4からの出力においては、元のデータが32ビットのデータの場合の左のRAM5aからの出力である上位16ビットと、元のデータが16ビットの場合の右のRAM5bからの出力をビット拡張した上位16ビットとを選択する選択回路6bと、選択回路6bからの出力を上位16ビットとし、右のRAM5bからの出力を下位16ビットとしてビット統合を行い32ビットのデータとする合成回路9bが備わっている。また、下位16ビットのデータが左のRAM5aに格納されている場合に、左のRAM5aからの出力をビット拡張し32ビットのデータとする合成回路9aが備わっている。合成回路9aの上位16ビットは常に左のRAM5aからの出力をビット拡張した16ビットのデータであるため、選択回路6bのような上位16ビットを選択する選択回路は必要ない。   In the output from the storage unit 4, the upper 16 bits that are output from the left RAM 5a when the original data is 32-bit data and the output from the right RAM 5b when the original data is 16 bits are bits. A selection circuit 6b that selects the expanded upper 16 bits, and an output from the selection circuit 6b as upper 16 bits, and a synthesis circuit 9b that performs bit integration with the output from the right RAM 5b as lower 16 bits to generate 32-bit data. Is equipped. In addition, when lower 16-bit data is stored in the left RAM 5a, there is provided a synthesis circuit 9a that expands the output from the left RAM 5a to 32-bit data. Since the upper 16 bits of the combining circuit 9a are always 16-bit data obtained by bit-extending the output from the left RAM 5a, a selection circuit for selecting the upper 16 bits such as the selection circuit 6b is not necessary.

図4は、図3の記憶部4の構成を用いた場合の、ALU2からメモリ5に到る回路構成例を示す図である。3個のALU2が、図3の1対のRAM5a、5bにアクセス可能である。左のRAM5aには、上位16ビットと下位16ビットの両方を入力可能とするため、ALU3個×上位下位2個の計6個から1個の16ビットデータを選択する6→1の選択回路(MUX)6cが備わっている。また、右のRAM5bには下位16ビットのみが入力されるため、ALU3個×下位1個の計3個から1個の16ビットデータを選択する3→1の選択回路(MUX)6dが備わっている。   FIG. 4 is a diagram showing a circuit configuration example from the ALU 2 to the memory 5 when the configuration of the storage unit 4 of FIG. 3 is used. Three ALUs 2 can access the pair of RAMs 5a and 5b in FIG. In order to allow both the upper 16 bits and the lower 16 bits to be input to the left RAM 5a, a 6 → 1 selection circuit (selecting one 16-bit data from a total of 6 ALUs 3 × upper and lower 2) ( MUX) 6c. Further, since only the lower 16 bits are input to the right RAM 5b, a 3 → 1 selection circuit (MUX) 6d for selecting one 16-bit data from a total of three ALUs 3 × lower ones is provided. Yes.

6→1MUX6cが上位16ビットを選択する場合、3→1MUX6dは同じALUの出力の下位16ビットを選択する。6→1MUX6cが下位16ビットを選択する場合、3→1MUX6dは異なるALU2の出力の下位16ビットを選択してもよい。従って、この3個のALU2からの出力は、有効ビット数が16ビット以下のデータ2個か、17ビット以上のデータ1個に制限される。また、ALU2への入力においても同様で、入力データの有効ビット数が16ビット以下のデータ2個(種類)か、17ビット以上のデータ1個(種類)に制限される。このように、ALU2の入出力制限は、データの有効ビット数に依存する。   When 6 → 1MUX 6c selects the upper 16 bits, 3 → 1 MUX 6d selects the lower 16 bits of the output of the same ALU. When 6 → 1MUX 6c selects the lower 16 bits, 3 → 1 MUX 6d may select the lower 16 bits of the output of a different ALU2. Therefore, the output from the three ALUs 2 is limited to two pieces of data having an effective bit number of 16 bits or less or one piece of data having 17 bits or more. The same applies to the input to the ALU 2. The number of valid bits of input data is limited to two data (types) of 16 bits or less or one data (type) of 17 bits or more. As described above, the input / output limit of the ALU 2 depends on the number of effective bits of data.

ALU2の入出力データの有効ビット数は、リコンフィギュラブル回路1で実行する所期の演算処理を記述したプログラム36に基づいて判定される。所期の演算処理がC言語で記述される場合、変数の型やコメント文で有効ビット数を判定できる。例えば、変数の型がint型(整数型)であればその変数の有効ビット数は32ビットとして、short型であれば有効ビット数が16ビットとして判定できる。そして、設定データ生成部32は、設定データ40を作成するときに、ALU2の入出力データの判定結果に基づいた有効ビット数から、上述した制限でRAM5a、5bにデータを格納するための設定データ40を作成する。   The number of effective bits of the input / output data of the ALU 2 is determined based on a program 36 describing an intended arithmetic process executed by the reconfigurable circuit 1. When the intended arithmetic processing is described in C language, the number of effective bits can be determined by a variable type or a comment sentence. For example, if the variable type is int type (integer type), the effective bit number of the variable can be determined as 32 bits, and if the variable type is short type, the effective bit number can be determined as 16 bits. Then, when creating the setting data 40, the setting data generation unit 32 sets the setting data for storing the data in the RAMs 5a and 5b with the above-described restrictions from the number of effective bits based on the determination result of the input / output data of the ALU2. 40 is created.

図5は、複数対のRAM5a、5b、5c、5dを用いた記憶部4の構成を示す。図3及び図4の記憶部4では一対のRAM5a、5bを用いた構成であるが、図5のように複数対のRAM構成でもよい。図5は2対のRAM5a、5bと、RAMc、dを用いた構成であり、この場合入出力データの有効ビット数が16ビット以下のデータ4個(種類)か、17ビット以上のデータ2個(種類)か、17ビット以上のデータ1個(種類)と16ビット以下のデータ1個(種類)に制限される。   FIG. 5 shows a configuration of the storage unit 4 using a plurality of pairs of RAMs 5a, 5b, 5c, and 5d. The storage unit 4 in FIGS. 3 and 4 has a configuration using a pair of RAMs 5a and 5b, but may have a plurality of pairs of RAM configurations as shown in FIG. FIG. 5 shows a configuration using two pairs of RAMs 5a and 5b and RAMc and d. In this case, the number of effective bits of input / output data is four (types) of 16 bits or less, or two data of 17 bits or more. (Type) or one data (type) of 17 bits or more and one data (type) of 16 bits or less.

図5に示す記憶部のように2対のRAMを用いる場合、リコンフィギュラブル回路のALU2を2つに分けて、一方は左の1対のRAM5a、5bにアクセスし、他方は右の1対のRAM5c、5dにアクセスするように構成してもよい。全てのALU2がいずれの対のRAM5a、5b、5c、5dにアクセスできるようにしてもよい。   When two pairs of RAMs are used like the storage unit shown in FIG. 5, the ALU2 of the reconfigurable circuit is divided into two, one accesses the left pair of RAMs 5a and 5b, and the other accesses the right pair. The RAMs 5c and 5d may be accessed. All ALUs 2 may be allowed to access any pair of RAMs 5a, 5b, 5c, 5d.

本実施の形態では、32ビットのデータを上位16ビットと下位16ビットに分けて記憶部4に格納する場合について説明したが、データのビット数と記憶部4に格納するビット数は32ビットと16ビットに限られない。メモリ5は、ALU2の入出力ビット数を格納できる数のRAMで構成されていればよい。例えば、データのビット数が16ビットの場合に、記憶部4に格納するビット数が8ビットの2つの部分に分割して格納する構成とすることができる。また、データが64ビットの場合、上位32ビットと下位32ビットに分割して記憶部に格納する構成であってもよい。データを上位と下位の2部分に分けて格納する構成は、図3及び図4の構成と同様である。   In the present embodiment, the case where 32-bit data is divided into upper 16 bits and lower 16 bits and stored in the storage unit 4 has been described. However, the number of data bits and the number of bits stored in the storage unit 4 are 32 bits. It is not limited to 16 bits. The memory 5 only needs to be composed of a number of RAMs that can store the number of input / output bits of the ALU 2. For example, when the number of data bits is 16, the storage unit 4 can be divided and stored in two parts of 8 bits. In addition, when the data is 64 bits, the data may be divided into upper 32 bits and lower 32 bits and stored in the storage unit. The configuration for storing data in two parts, upper and lower, is the same as the configuration of FIGS.

さらに、データを多くの部分に分割して記憶部に格納する構成も可能である。例えば、64ビットのデータを16ビットずつの4つの部分に分けて記憶部に格納する構成とすることができる。その場合、データの有効ビット数が16ビット以下、32ビット以下、48ビット以下、48ビットを越える場合の4通りに分けて、4つの16ビットRAMにデータを格納する。   Furthermore, a configuration in which data is divided into many parts and stored in the storage unit is also possible. For example, 64-bit data can be divided into four portions of 16 bits and stored in the storage unit. In that case, data is stored in four 16-bit RAMs divided into four cases where the number of effective bits of data is 16 bits or less, 32 bits or less, 48 bits or less, and more than 48 bits.

図6は64ビットALUアレイから出力されるデータを4つの16ビットRAMに格納する場合の記憶部4の構成例を示す。図6において、白抜き線は64ビットのデータ線を、太線は32ビットのデータ線を、細線は16ビットのデータ線を表す。図6の記憶部4は、図3の記憶部4における分割を2段階で行い、また拡張及び合成を2段階で行う構成になっている。   FIG. 6 shows an example of the configuration of the storage unit 4 when data output from the 64-bit ALU array is stored in four 16-bit RAMs. In FIG. 6, a white line represents a 64-bit data line, a thick line represents a 32-bit data line, and a thin line represents a 16-bit data line. The storage unit 4 in FIG. 6 is configured to perform the division in the storage unit 4 in FIG. 3 in two stages, and to perform expansion and synthesis in two stages.

64ビットデータの有効ビットが32ビットを超える場合は、データはRAM5a、5b、5c、5dの4つに16ビットずつ分割して格納される。64ビットデータの有効ビットが32ビット以下の場合、64ビットの下位32ビットのデータのみがRAM5aと5b、又はRAM5cと5dに格納される。さらに、データの有効ビット数が16ビット以下の場合は、64ビットの最下位16ビットのデータのみが、RAM5a、5b、5c又は5dのいずれかに格納される。   When the effective bits of 64-bit data exceed 32 bits, the data is divided into 16 bits and stored in four RAMs 5a, 5b, 5c, and 5d. When the valid bits of 64-bit data are 32 bits or less, only 64-bit lower 32-bit data is stored in RAMs 5a and 5b or RAMs 5c and 5d. Furthermore, when the number of valid bits of data is 16 bits or less, only the 64-bit least significant 16-bit data is stored in any of the RAMs 5a, 5b, 5c, or 5d.

なお、対をなすRAMの1アドレスで指定されるメモリワードのビット数は不均一であってもよい。例えば、RAM5aが8ビットであり、RAM5bが24ビットの構成であってもよい。その場合、データの有効ビット数が8ビット以下であれば、RAM5a又はRAM5bに格納される。また、データの有効ビット数が9ビット以上24ビット以下であれば、RAM5bに格納される。さらに、データの有効ビット数が25ビット以上であれば、RAM5aとRAM5bに対として格納される。   Note that the number of bits of the memory word specified by one address of the paired RAM may be non-uniform. For example, the RAM 5a may be 8 bits and the RAM 5b may be 24 bits. In that case, if the number of effective bits of data is 8 bits or less, it is stored in the RAM 5a or RAM 5b. If the effective bit number of the data is 9 bits or more and 24 bits or less, it is stored in the RAM 5b. Furthermore, if the number of valid bits of data is 25 bits or more, the data is stored as a pair in the RAM 5a and RAM 5b.

図7は、メモリ5をビット数の異なる3つのRAMで構成した記憶部4の例を示す。図7において、太い実線は32ビットのデータ線を、細い実線は16ビットのデータ線を、点線は8ビットのデータ線を表す。リコンフィギュラブル回路1のALUアレイは、演算処理ビット数が32ビットである。記憶部4はメモリ5として、1アドレスで指定されるメモリワードが16ビットのRAM5aと、1アドレスで指定されるメモリワードが8ビットのRAM5e及び5fを備える。記憶部4は、演算処理ビット数が32ビットのALUからの出力を、1アドレスのメモリワードが16ビットのRAM5aと、8ビットのRAM5e及び5fに格納する。   FIG. 7 shows an example of the storage unit 4 in which the memory 5 is composed of three RAMs having different numbers of bits. In FIG. 7, a thick solid line represents a 32-bit data line, a thin solid line represents a 16-bit data line, and a dotted line represents an 8-bit data line. The ALU array of the reconfigurable circuit 1 has an arithmetic processing bit number of 32 bits. The storage unit 4 includes, as a memory 5, a RAM 5a having a 16-bit memory word specified by one address and RAMs 5e and 5f having an 8-bit memory word specified by one address. The storage unit 4 stores the output from the ALU having the number of arithmetic processing bits of 32 bits in the RAM 5a in which the memory word at one address is 16 bits and the 8-bit RAMs 5e and 5f.

記憶部4は、リコンフィギュラブル回路1の32ビットのデータをそのまま受けるレジスタ7aと、32ビットのデータの下位16ビットを受けるレジスタ7bと、32ビットのデータの最下位8ビットを受けるレジスタ7cを備える。32ビットレジスタ7aのデータは、上位16ビットのデータ(D1とD2)、中央の16ビットのデータ(D2とD3)又は下位16ビットのデータ(D3とD4)を選択する選択回路(MUX)6aに入力される。選択回路6aの出力は、RAM5aに入力される。   The storage unit 4 includes a register 7a that receives the 32-bit data of the reconfigurable circuit 1 as it is, a register 7b that receives the lower 16 bits of the 32-bit data, and a register 7c that receives the least significant 8 bits of the 32-bit data. Prepare. The data in the 32-bit register 7a is selected from upper 16-bit data (D1 and D2), central 16-bit data (D2 and D3) or lower 16-bit data (D3 and D4). Is input. The output of the selection circuit 6a is input to the RAM 5a.

下位16ビットを受けるレジスタ7bは、その16ビットのうち、上位8ビットと下位8ビットを選択する選択回路(MUX)6bに入力される。選択回路6bの出力は、RAM5eに入力される。最下位8ビットを受けるレジスタ7cは、RAM5fに接続している。   The register 7b that receives the lower 16 bits is input to a selection circuit (MUX) 6b that selects the upper 8 bits and the lower 8 bits of the 16 bits. The output of the selection circuit 6b is input to the RAM 5e. The register 7c that receives the least significant 8 bits is connected to the RAM 5f.

RAM5a、5e及び5fの読み出し側には、レジスタ7d、7e、7f、7g、7hと、ビット拡張回路8a、8b、8cと、選択回路6c、6d、6e、6fと、合成回路9a、9b、9cが設けられている。ビット拡張回路8aは、RAM5aから読み出した16ビットデータ(レジスタ7d)のMSB(最上位ビット)を拡張した8ビットを生成する。ビット拡張回路8bは、RAM5eから読み出した8ビットデータ(レジスタ7e)のMSBを拡張した8ビットを生成する。ビット拡張回路8cは、RAM5fから読み出した8ビットデータ(レジスタ7f)のMSBを拡張した8ビットを生成する。   On the reading side of the RAMs 5a, 5e and 5f, registers 7d, 7e, 7f, 7g and 7h, bit expansion circuits 8a, 8b and 8c, selection circuits 6c, 6d, 6e and 6f, and synthesis circuits 9a, 9b, 9c is provided. The bit extension circuit 8a generates 8 bits obtained by extending the MSB (most significant bit) of the 16-bit data (register 7d) read from the RAM 5a. The bit extension circuit 8b generates 8 bits by extending the MSB of the 8-bit data (register 7e) read from the RAM 5e. The bit extension circuit 8c generates 8 bits by extending the MSB of the 8-bit data (register 7f) read from the RAM 5f.

拡大回路7gは、ビット拡張回路8bの出力を2倍の16ビットに拡大する。拡大回路7hは、ビット拡張回路8cの出力を2倍の16ビットに拡大する。   The expansion circuit 7g expands the output of the bit expansion circuit 8b to double 16 bits. The expansion circuit 7h expands the output of the bit expansion circuit 8c to double 16 bits.

選択回路6cは、RAM5aのデータと拡大回路7gのデータを選択して、合成回路9bの中央の16ビットデータ(D2とD3)とする。選択回路6dは、RAM5aのデータと拡大回路7g又は7hのデータを選択して、合成回路9cの上位16ビットデータ(D1とD2)とする。選択回路6eは、ビット拡張回路8aの出力とビット拡張回路8bの出力を選択して、合成回路9bの上位8ビットデータ(D1)とする。選択回路6fは、RAM5eのデータとビット拡張回路8cの出力を選択して、合成回路9cの下位16ビットの上位側8ビットデータ(D3)とする。   The selection circuit 6c selects the data of the RAM 5a and the data of the enlargement circuit 7g to obtain the 16-bit data (D2 and D3) at the center of the synthesis circuit 9b. The selection circuit 6d selects the data of the RAM 5a and the data of the enlargement circuit 7g or 7h, and uses the data as the upper 16-bit data (D1 and D2) of the synthesis circuit 9c. The selection circuit 6e selects the output of the bit expansion circuit 8a and the output of the bit expansion circuit 8b, and sets it as the upper 8-bit data (D1) of the synthesis circuit 9b. The selection circuit 6f selects the data of the RAM 5e and the output of the bit expansion circuit 8c, and uses the lower 16 bits of the synthesis circuit 9c as the higher-order 8-bit data (D3).

次に、記憶部4の動作を説明する。図7に示すように、記憶部4は3つのRAM5a、5e、5fを一組とし、ALU2からの出力データの有効ビット数が25ビット以上であれば一組の3つのRAM5a、5e、5fに分割して格納する。すなわち、選択回路6aはレジスタ7aのデータの上位16ビットを選択してRAM5aに記憶する。下位16ビットのうち上位側8ビットは、選択回路6bで選択されてRAM5eに格納される。最下位8ビットは、RAM5fに格納される。   Next, the operation of the storage unit 4 will be described. As shown in FIG. 7, the storage unit 4 is a set of three RAMs 5a, 5e, and 5f. If the number of effective bits of output data from the ALU 2 is 25 bits or more, the set of three RAMs 5a, 5e, and 5f Divide and store. That is, the selection circuit 6a selects the upper 16 bits of the data in the register 7a and stores it in the RAM 5a. Of the lower 16 bits, the upper 8 bits are selected by the selection circuit 6b and stored in the RAM 5e. The least significant 8 bits are stored in the RAM 5f.

有効ビット数24ビット以下で分割して格納したデータは上位16ビットと下位16ビットの上位側8ビットと下位側8ビットをそれぞれRAM5a、5e、5fから読み出してビット結合を行い、元の32ビットのデータとしてALU2に入力する。選択回路6dは、RAM5aのデータを選択し、合成回路9cの上位16ビットとする。選択回路6fはRAM5eのデータ(レジスタ7eのデータ)を選択し、合成回路9cの下位16ビットの上位側8ビットとする。そして、合成回路9cの下位16ビットの下位側8ビット(D4)は、RAM5fのデータ(レジスタ7f)のデータとする。こうして、RAM5a、5e、5fに分割して記憶された32ビットのデータは、合成回路9cで元の32ビットデータに連結して読み出される。   The data stored with the effective number of bits divided into 24 bits or less is read out from the upper 5 bits and lower 8 bits of the upper 16 bits and lower 16 bits from the RAMs 5a, 5e, and 5f, respectively, and bit-combined to obtain the original 32 bits. Is input to the ALU 2 as the data. The selection circuit 6d selects the data in the RAM 5a and sets it as the upper 16 bits of the synthesis circuit 9c. The selection circuit 6f selects the data in the RAM 5e (the data in the register 7e), and sets the upper 8 bits of the lower 16 bits of the synthesis circuit 9c. The lower 8 bits (D4) of the lower 16 bits of the synthesis circuit 9c are used as the data of the RAM 5f (register 7f). Thus, the 32-bit data divided and stored in the RAMs 5a, 5e, and 5f is read out by being combined with the original 32-bit data by the synthesis circuit 9c.

ALUからの出力の有効ビット数が17ビット以上、24ビット以下の場合は、32ビットの中央の16ビットのデータ(D2とD3)をRAM5aに格納し、最下位8ビットのデータ(D4)をRAM5eに格納する。すなわち、選択回路6aは、レジスタ7aのデータの中央16ビットを選択してRAM5aに格納する。最下位8ビットのデータ(D4)は、選択回路6bでレジスタ7bから選択されてRAM5eに格納される。   When the number of valid bits output from the ALU is 17 bits or more and 24 bits or less, the 16 bits data (D2 and D3) at the center of 32 bits are stored in the RAM 5a, and the least significant 8 bits data (D4) is stored. Store in the RAM 5e. That is, the selection circuit 6a selects the central 16 bits of the data in the register 7a and stores it in the RAM 5a. The least significant 8-bit data (D4) is selected from the register 7b by the selection circuit 6b and stored in the RAM 5e.

有効ビット数が17ビット以上、24ビット以下で分割して格納されたデータは、合成回路9bで元の32ビットデータに連結して読み出される。選択回路6cはRAM5aのデータ(レジスタ7dのデータ)を選択して32ビットの中央の16ビットデータ(D2とD3)とする。合成回路9bの最下位8ビットはRAM5eのデータとする。選択回路6eは、ビット拡張回路8aの出力を選択して合成回路9bの最上位8ビットのデータとする。   The data divided and stored with the effective bit number being 17 bits or more and 24 bits or less is read out by being combined with the original 32-bit data by the synthesis circuit 9b. The selection circuit 6c selects the data in the RAM 5a (data in the register 7d) and uses it as 16-bit data (D2 and D3) in the center of 32 bits. The least significant 8 bits of the synthesis circuit 9b are data in the RAM 5e. The selection circuit 6e selects the output of the bit extension circuit 8a and sets it as the most significant 8-bit data of the synthesis circuit 9b.

ALUからの出力の有効ビット数が16ビット以下の場合は、32ビットの下位16ビットのみをRAM5a、又はRAM5e及び5fに格納する。例えば、連続する16ビット以下のデータは、RAM5aとRAM5e及び5fの未使用領域の多い方のRAMに格納する。RAM5aに下位16ビットを格納する場合、選択回路6aは下位16ビット(D3とD4)を選択して、RAM5aに格納する。そのとき、RAM5e及び5fは異なる16ビット以下のデータを格納してもよい。RAM5e及び5fに下位16ビットのみを格納する場合、選択回路6bはレジスタ7bから上位側8ビット(D3)を選択してRAM5eに格納し、レジスタ7cから最下位8ビット(D4)をRAM5fに格納する。そのとき、RAM5aは異なる16ビット以下のデータを格納してもよい。   When the number of effective bits output from the ALU is 16 bits or less, only the lower 16 bits of 32 bits are stored in the RAM 5a or the RAMs 5e and 5f. For example, continuous data of 16 bits or less is stored in the RAM 5a, RAM 5e, and 5f with the larger unused area. When storing the lower 16 bits in the RAM 5a, the selection circuit 6a selects the lower 16 bits (D3 and D4) and stores them in the RAM 5a. At that time, the RAMs 5e and 5f may store different data of 16 bits or less. When only the lower 16 bits are stored in the RAMs 5e and 5f, the selection circuit 6b selects the upper 8 bits (D3) from the register 7b and stores them in the RAM 5e, and stores the lowest 8 bits (D4) from the register 7c in the RAM 5f. To do. At that time, the RAM 5a may store different data of 16 bits or less.

下位16ビットのみが格納されたデータは、RAM5a又はRAM5e及び5fから読み出したときに、データのビット拡張を行い、元の32ビットのデータとしてALU2に入力する。すなわち、RAM5aに格納された下位16ビットデータを読み出すときには、合成回路9aでRAM5aのデータ(レジスタ7dのデータ)を下位16ビットとし、レジスタ7dのMSBを拡張した8ビットを2倍の上位16ビットに拡大して、元のデータを生成する。   When data having only the lower 16 bits stored therein is read from the RAM 5a or the RAMs 5e and 5f, the data is bit-extended and input to the ALU 2 as the original 32-bit data. That is, when reading the lower 16-bit data stored in the RAM 5a, the synthesizing circuit 9a sets the data in the RAM 5a (data in the register 7d) to the lower 16 bits, and the 8 bits obtained by extending the MSB of the register 7d is twice the upper 16 bits. To the original data.

RAM5e及びRAM5fに格納された下位16ビットを読み出すときには、合成回路9cで読み出しデータの連結を行う。最下位8ビットはRAM5fから読み出したデータとする。選択回路6fは、RAM5eのデータを選択して下位16ビットの上位側8ビットのデータ(D3)とする。ビット拡張回路8bは、レジスタ7eのMSBを拡張し、拡大回路7gはさらに2倍の16ビットに拡大する。選択回路6dは、拡大回路7gのデータを選択して、合成回路9cの上位16ビットとする。   When reading the lower 16 bits stored in the RAM 5e and RAM 5f, the combining circuit 9c concatenates the read data. The least significant 8 bits are data read from the RAM 5f. The selection circuit 6f selects the data in the RAM 5e and sets it as the upper 16-bit data (D3) of the lower 16 bits. The bit expansion circuit 8b expands the MSB of the register 7e, and the expansion circuit 7g further expands to double 16 bits. The selection circuit 6d selects the data of the enlargement circuit 7g and sets it as the upper 16 bits of the synthesis circuit 9c.

ALU2からの出力の有効ビット数が8ビット以下の場合は、32ビットの最下位8ビットのみをRAM5e又はRAM5fに格納する。選択回路6bで最下位8ビットを選択してRAM5eに格納するか、最下位8ビット(レジスタ7cで表される)をRAM5fに格納する。また、32ビットの下位16ビットをRAM5aに格納してもよい。この場合は、有効ビット数が16ビット以下の場合の格納、読み出しと同様になる。   When the number of effective bits output from the ALU 2 is 8 bits or less, only the least significant 8 bits of 32 bits are stored in the RAM 5e or RAM 5f. The selection circuit 6b selects the least significant 8 bits and stores them in the RAM 5e, or stores the least significant 8 bits (represented by the register 7c) in the RAM 5f. Further, the lower 16 bits of 32 bits may be stored in the RAM 5a. In this case, it is the same as storage and reading when the number of effective bits is 16 bits or less.

最下位8ビットのみを格納したデータは、合成回路9b又は9cで元の32ビットに拡張して読み出される。RAM5eから最下位8ビットのみが格納されたデータを読み出す場合は、選択回路6cで拡大回路7gのデータを選択して中央16ビットとする。選択回路6eは、ビット拡張回路8bの出力を選択して合成回路9bの最上位8ビット(D1)とする。合成回路9bの最下位8ビットは、RAM5eから読み出したデータ(レジスタ7eで表される)とする。   Data storing only the least significant 8 bits is expanded and read by the combining circuit 9b or 9c to the original 32 bits. When reading data in which only the least significant 8 bits are stored from the RAM 5e, the data of the enlargement circuit 7g is selected by the selection circuit 6c to be the center 16 bits. The selection circuit 6e selects the output of the bit expansion circuit 8b and sets it as the most significant 8 bits (D1) of the synthesis circuit 9b. The least significant 8 bits of the synthesis circuit 9b are data (represented by the register 7e) read from the RAM 5e.

RAM5fから最下位8ビットのみが格納されたデータを読み出す場合、選択回路6dは、拡大回路7hのデータ(ビット拡張回路8cの出力を2倍に拡大したデータである)を選択して合成回路9cの上位16ビットとする。選択回路6fは、ビット拡張回路8cの出力を選択して、合成回路9cの下位16ビットの上位側8ビット(D3)とする。合成回路9cの最下位8ビットは、RAM5fから読み出したデータ(レジスタ7fで表される)とする。   When reading data in which only the least significant 8 bits are stored from the RAM 5f, the selection circuit 6d selects the data of the expansion circuit 7h (the data obtained by doubling the output of the bit expansion circuit 8c) and combines the circuit 9c. Are the upper 16 bits. The selection circuit 6f selects the output of the bit expansion circuit 8c and sets it as the upper 8 bits (D3) of the lower 16 bits of the synthesis circuit 9c. The least significant 8 bits of the synthesis circuit 9c are data read from the RAM 5f (represented by the register 7f).

図7の記憶部4は、ALU2からの出力データの有効ビット数が8ビット以下であれば、RAM5eまたはRAM5fに下位8ビットを格納することができる。また、有効ビット数が9ビット以上16ビット以下であれば、RAM5a又はRAM5e+RAM5fに下位16ビットを格納することができ、17ビット以上24ビット以下であればRAM5a+RAM5eに下位24ビットを格納することができる。そして、25ビット以上であれば、RAM5a+RAM5e+RAM5fに32ビットを格納することができる。   The storage unit 4 in FIG. 7 can store the lower 8 bits in the RAM 5e or RAM 5f if the number of valid bits of the output data from the ALU 2 is 8 bits or less. If the number of valid bits is 9 bits or more and 16 bits or less, the lower 16 bits can be stored in the RAM 5a or RAM 5e + RAM 5f, and if it is 17 bits or more and 24 bits or less, the lower 24 bits can be stored in the RAM 5a + RAM 5e. . If it is 25 bits or more, 32 bits can be stored in the RAM 5a + RAM 5e + RAM 5f.

RAMのビット数が小さくなるほど、RAMの利用効率が向上しRAMの容量は少なくなるが、MUX等のRAM周辺回路と設定データ数が増加するため、最良の形態は回路全体の規模とシステムに依存するところである。   The smaller the number of bits of RAM, the more efficient the use of RAM and the smaller the capacity of RAM. However, since the RAM peripheral circuit such as MUX and the number of set data increase, the best mode depends on the scale of the entire circuit and the system. I'm about to do it.

図3、4、6及び7では、理解を容易にするためにメモリ5の入力側と出力側にレジスタ7a、7b等を記載したが、レジスタはデータを保持する回路でなく、データ線であってもよい。   3, 4, 6, and 7, the registers 7 a and 7 b are illustrated on the input side and output side of the memory 5 for easy understanding, but the registers are not data holding circuits but data lines. May be.

(実施の形態2)
図8は、本発明に係る処理装置10において、リコンフィギュラブル回路1が使用するデータを記憶する記憶部4の構成の異なる例を示す図である。図3の記憶部4と同様、演算処理ビット数が32ビットのALU2からの出力データを、1アドレスのメモリワードが16ビットのRAMに格納する。本実施の形態では、リコンフィギュラブル回路1のALUアレイは、演算処理ビット数が32ビットである。
(Embodiment 2)
FIG. 8 is a diagram illustrating an example of a different configuration of the storage unit 4 that stores data used by the reconfigurable circuit 1 in the processing apparatus 10 according to the present invention. Similar to the storage unit 4 in FIG. 3, the output data from the ALU 2 having a 32-bit arithmetic processing bit number is stored in a RAM having a 16-bit memory word at one address. In the present embodiment, the ALU array of the reconfigurable circuit 1 has an arithmetic processing bit number of 32 bits.

記憶部4はメモリ5として、1アドレスで指定されるメモリワードが16ビットのRAMを2系統備える。記憶部4は、演算処理ビット数が32ビットのALU2から出力を1アドレスのメモリワードが16ビットのRAMに格納する。図中の太線は32ビットのデータ線を、細線は16ビットのデータ線を表す。   The storage unit 4 includes, as the memory 5, two RAMs each having a 16-bit memory word designated by one address. The storage unit 4 stores an output from the ALU 2 having a 32-bit arithmetic processing bit number in a RAM having a 16-bit memory word at one address. In the figure, a thick line represents a 32-bit data line, and a thin line represents a 16-bit data line.

記憶部4は、リコンフィギュラブル回路1の32ビットのデータを受けるレジスタ7と、そのレジスタ7の上位16ビットと下位16ビットを選択する選択回路6aを備える。選択回路6aの出力は、RAM5aに接続している。また、レジスタの下位16ビットは、RAM5bに接続している。   The storage unit 4 includes a register 7 that receives 32-bit data of the reconfigurable circuit 1, and a selection circuit 6 a that selects upper 16 bits and lower 16 bits of the register 7. The output of the selection circuit 6a is connected to the RAM 5a. The lower 16 bits of the register are connected to the RAM 5b.

RAM5a、5bの読み出し側には、選択回路6b、6eと、レジスタ7eと、ビット拡張回路8と、合成回路9bが設けられている。選択回路6eは、RAM5aの1メモリワードのデータと、RAM5bの1メモリワードのデータを選択してレジスタ7eに入力する。レジスタ7eは、合成回路9bの下位16ビットに接続している。ビット拡張回路8は、レジスタ7eのデータのMSB(最上位ビット)を拡張して、上位16ビットを生成する。選択回路6bは、ビット拡張回路8の出力とRAM5aのデータを選択する。合成回路9bは、レジスタ7eのデータを下位16ビットとし、選択回路6bの出力を上位16ビットとして、元のデータを生成する。   On the read side of the RAMs 5a and 5b, selection circuits 6b and 6e, a register 7e, a bit expansion circuit 8, and a synthesis circuit 9b are provided. The selection circuit 6e selects one memory word data in the RAM 5a and one memory word data in the RAM 5b and inputs the selected data to the register 7e. The register 7e is connected to the lower 16 bits of the synthesis circuit 9b. The bit expansion circuit 8 expands the MSB (most significant bit) of the data in the register 7e to generate upper 16 bits. The selection circuit 6b selects the output of the bit extension circuit 8 and the data of the RAM 5a. The synthesizing circuit 9b generates the original data with the data in the register 7e as the lower 16 bits and the output of the selection circuit 6b as the upper 16 bits.

次に、記憶部4の動作を説明する。図8に示すように、2つのRAM5a、5bを1対とし、ALU2からの出力データの有効ビット数が17ビット以上であれば、一対の2つのRAM5a、5bに上位16ビットと下位16ビットのそれぞれを格納する。すなわち、選択回路6aはレジスタ7の上位16ビットを選択してRAM5aに記憶する。レジスタ7の下位16ビットはRAM5bに記憶される。この場合、メモリ5の一対となるRAM5a、5bのうち、RAM5aが上位用、RAM5bが下位用となる。   Next, the operation of the storage unit 4 will be described. As shown in FIG. 8, if two RAMs 5a and 5b are paired and the number of effective bits of output data from ALU2 is 17 bits or more, upper 16 bits and lower 16 bits are stored in a pair of two RAMs 5a and 5b. Store each one. That is, the selection circuit 6a selects the upper 16 bits of the register 7 and stores it in the RAM 5a. The lower 16 bits of the register 7 are stored in the RAM 5b. In this case, of the pair of RAMs 5a and 5b of the memory 5, the RAM 5a is for the upper level and the RAM 5b is for the lower level.

分割して格納したデータは上位16ビットと下位16ビットをそれぞれRAM5a、5bから読み出してビット結合を行い、元の32ビットのデータとしてALU2に入力する。選択回路6bは、RAM5aのデータを選択し、合成回路9bの上位16ビットとする。選択回路6eは、RAM5bのデータを選択してレジスタ7eにセットする。レジスタ7eのデータは、合成回路9bの下位16ビットとなる。この場合、ビット拡張回路8の出力は使用されない。合成回路9bの上位16ビットは、選択回路6bの出力であるRAM5aのデータであり、下位16ビットはRAM5bのデータ(レジスタ7eのデータ)である。こうして、RAM5a、5bに分割して記憶された32ビットのデータは、合成回路9bで元の32ビットデータに連結して読み出される。   The divided data stored in the upper 16 bits and lower 16 bits are read out from the RAMs 5a and 5b, bit-combined, and input to the ALU 2 as the original 32-bit data. The selection circuit 6b selects the data in the RAM 5a and sets it as the upper 16 bits of the synthesis circuit 9b. The selection circuit 6e selects the data in the RAM 5b and sets it in the register 7e. The data in the register 7e is the lower 16 bits of the synthesis circuit 9b. In this case, the output of the bit extension circuit 8 is not used. The upper 16 bits of the combining circuit 9b are data of the RAM 5a that is the output of the selection circuit 6b, and the lower 16 bits are data of the RAM 5b (data of the register 7e). In this way, the 32-bit data divided and stored in the RAMs 5a and 5b is read out by being combined with the original 32-bit data by the synthesis circuit 9b.

ALU2からの出力の有効ビット数が16ビット以下の場合は、32ビットの下位16ビットのみをRAM5a又はRAM5bに格納する。その際、いずれのRAM5a、5bに格納してもよい。例えば、連続する16ビット以下のデータは、RAM5aとRAM5bの未使用領域の多い方のRAMに格納する。RAM5aに下位16ビットを格納する場合、選択回路6aはレジスタ7の下位16ビットを選択して、RAM5aに格納する。そのとき、RAM5bは使用されない。RAM5bに下位16ビットのみを格納する場合、レジスタ7から下位16ビットをRAM5bに格納する。そのとき、RAM5aは使用されない。   When the number of effective bits output from the ALU 2 is 16 bits or less, only the lower 16 bits of 32 bits are stored in the RAM 5a or RAM 5b. At that time, the data may be stored in any of the RAMs 5a and 5b. For example, continuous data of 16 bits or less is stored in the RAM with the larger unused area of the RAM 5a and RAM 5b. When the lower 16 bits are stored in the RAM 5a, the selection circuit 6a selects the lower 16 bits of the register 7 and stores it in the RAM 5a. At that time, the RAM 5b is not used. When only the lower 16 bits are stored in the RAM 5b, the lower 16 bits from the register 7 are stored in the RAM 5b. At that time, the RAM 5a is not used.

下位16ビットのみが格納されたデータは、RAM5a又はRAM5bから読み出したときに、データのビット拡張を行い、元の32ビットのデータとしてALU2に入力する。すなわち、RAM5aに格納された下位16ビットデータを読み出すときには、選択回路6eでRAM5aのデータを選択してレジスタ7eにセットする。ビット拡張回路8は、レジスタ7eのMSBを拡張して、上位16ビットを生成する。選択回路6bは、ビット拡張回路8の出力を選択して、合成回路9bの上位16ビットとする。レジスタ7eのデータ(RAM5aのデータ)は、合成回路9bの下位16ビットとなる。合成回路9bは、RAM5aのデータ(レジスタ7eのデータ)を下位16ビットとし、レジスタ7eのMSBを拡張した16ビットを上位16ビットとして、元のデータを生成する。   When data having only the lower 16 bits stored therein is read from the RAM 5a or 5b, the data is bit-extended and input to the ALU 2 as the original 32-bit data. That is, when reading the lower 16-bit data stored in the RAM 5a, the selection circuit 6e selects the data in the RAM 5a and sets it in the register 7e. The bit extension circuit 8 extends the MSB of the register 7e to generate upper 16 bits. The selection circuit 6b selects the output of the bit expansion circuit 8 and sets the higher 16 bits of the synthesis circuit 9b. The data in the register 7e (data in the RAM 5a) is the lower 16 bits of the synthesis circuit 9b. The synthesizing circuit 9b generates original data with the data in the RAM 5a (data in the register 7e) as the lower 16 bits and the 16 bits obtained by extending the MSB of the register 7e as the upper 16 bits.

RAM5bに格納された下位16ビットのみのデータを読み出すときには、選択回路6eはRAM5bのデータを選択してレジスタ7eにセットする。ビット拡張回路8は、レジスタ7eのMSBを拡張して、上位16ビットを生成する。選択回路6bは、ビット拡張回路8の出力を選択して、合成回路9bの上位16ビットとする。レジスタ7eのデータ(RAM5bのデータ)は、合成回路9bの下位16ビットとなる。合成回路9bは、RAM5bのデータ(レジスタ7eのデータ)を下位ビットとし、選択回路6bの出力(ビット拡張回路8で生成された上位16ビット)を上位16ビットとして元のデータを生成する。   When reading data of only the lower 16 bits stored in the RAM 5b, the selection circuit 6e selects the data in the RAM 5b and sets it in the register 7e. The bit extension circuit 8 extends the MSB of the register 7e to generate upper 16 bits. The selection circuit 6b selects the output of the bit expansion circuit 8 and sets the higher 16 bits of the synthesis circuit 9b. The data in the register 7e (data in the RAM 5b) is the lower 16 bits of the synthesis circuit 9b. The synthesizing circuit 9b generates original data using the data in the RAM 5b (data in the register 7e) as lower bits and the output of the selection circuit 6b (upper 16 bits generated by the bit expansion circuit 8) as upper 16 bits.

こうして、RAM5a又はRAM5bに下位16ビットのみが格納されたデータは、合成回路9bで元の32ビットデータに拡張されて読み出される。   In this way, the data in which only the lower 16 bits are stored in the RAM 5a or 5b is expanded and read by the combining circuit 9b into the original 32-bit data.

ALU2からの出力の有効ビット数が16ビット以下の場合、図3の形態と同様、不要な上位16ビットのデータの格納が削減され、従来よりも効率的に記憶部4にデータを格納することが可能となる。図8では、左のRAM5aはALU2からの32ビットの出力データの上位16ビット又は下位16ビットのデータを格納し、右のRAM5bはALU2からの32ビットの出力データの下位16ビットのデータを格納する。図3の記憶部4の構成では、有効ビット数が16ビット以下のデータであれば、RAM5a、5bに同時に読み書き可能であるが、図8の記憶部4では、16ビット以下のデータであってもどちらか一方のRAM5a又は5bにしか読み書きできない。しかし、図3の構成では記憶部4の出力の32ビットを選択する選択回路が省略されており、それを含めて回路規模を比較すると、図8の構成は図3の構成に比べて選択回路(MUX)の数が少ないため回路規模が小さい。   When the number of effective bits output from the ALU 2 is 16 bits or less, storage of unnecessary upper 16 bits of data is reduced as in the case of FIG. 3, and data is stored in the storage unit 4 more efficiently than before. Is possible. In FIG. 8, the left RAM 5a stores upper 16 bits or lower 16 bits of 32-bit output data from ALU2, and the right RAM 5b stores lower 16 bits of 32-bit output data from ALU2. To do. In the configuration of the storage unit 4 in FIG. 3, if the number of effective bits is 16 bits or less, the RAM 5a and 5b can be simultaneously read / written. However, in the storage unit 4 in FIG. Can only read and write to either one of the RAMs 5a or 5b. However, in the configuration of FIG. 3, the selection circuit for selecting the 32 bits of the output of the storage unit 4 is omitted, and when the circuit scale is compared including that, the configuration of FIG. 8 is compared with the configuration of FIG. Since the number of (MUX) is small, the circuit scale is small.

図9は、図8の記憶部4の構成を用いた場合の、ALU2からメモリ5に到る回路構成例を示す図である。3個のALU2が、図8の1対のRAM5a、5bにアクセス可能である。32ビットのALU2からの出力データを選択する3→1MUX6fが備わっている。従って、この3個のALU2からの出力は、有効ビット数に関係なく1個に制限される。また、ALU2への入力においても同様で、有効ビット数に関係なくデータ1個(種類)に制限される。このように、ALU2の入出力制限がデータの有効ビット数に依存しないため、1対のRAM5a、5b構成を一つのメモリ5としてみなすと、従来のRAM構成と同様の処理が適用可能となる。   FIG. 9 is a diagram illustrating a circuit configuration example from the ALU 2 to the memory 5 when the configuration of the storage unit 4 of FIG. 8 is used. Three ALUs 2 can access the pair of RAMs 5a and 5b in FIG. A 3 → 1 MUX 6f for selecting output data from the 32-bit ALU 2 is provided. Therefore, the output from the three ALUs 2 is limited to one regardless of the number of effective bits. The same applies to the input to the ALU 2 and is limited to one data (type) regardless of the number of effective bits. As described above, since the input / output limitation of the ALU 2 does not depend on the number of effective bits of data, if the pair of RAMs 5a and 5b is regarded as one memory 5, the same processing as the conventional RAM configuration can be applied.

ALU2の入出力データの有効ビット数は、リコンフィギュラブル回路1で実行する所期の演算処理を記述したプログラム36に基づいて判定される。所期の演算処理がC言語で記述される場合、変数の型やコメント文で有効ビット数を判定できる。そして、設定データ生成部32は、設定データ40を作成するときに、ALU2の入出力データの判定結果に基づいた有効ビット数から、上述した制限でRAM5a、5bにデータを格納するための設定データ40を作成する。   The number of effective bits of the input / output data of the ALU 2 is determined based on a program 36 describing an intended arithmetic process executed by the reconfigurable circuit 1. When the intended arithmetic processing is described in C language, the number of effective bits can be determined by a variable type or a comment sentence. Then, when creating the setting data 40, the setting data generation unit 32 sets the setting data for storing the data in the RAMs 5a and 5b with the above-described restrictions from the number of effective bits based on the determination result of the input / output data of the ALU2. 40 is created.

図10は、複数対のRAM5a、5b、5c、5dを用いた記憶部4の構成を示す。図8、図9では1対のRAM構成であるが、図10のように複数対のRAM構成でもよい。図10は2対のRAM5a、5bとRAM5c、5dを、それぞれ図8又は図9の記憶部4の構成で用いた例である。この場合入出力データは有効ビット数に関係なく2個(種類)に制限される。   FIG. 10 shows a configuration of the storage unit 4 using a plurality of pairs of RAMs 5a, 5b, 5c, and 5d. 8 and 9 show a pair of RAM configurations, but a plurality of pairs of RAM configurations may be used as shown in FIG. FIG. 10 shows an example in which two pairs of RAMs 5a and 5b and RAMs 5c and 5d are used in the configuration of the storage unit 4 shown in FIG. In this case, the input / output data is limited to two (types) regardless of the number of effective bits.

図3と図8の記憶部4の構成は、それぞれALU2の入出力制限が異なる。いずれの構成を採用するかは、処理装置10を適用するシステムの特性に合わせて決められる。なお、2つの実施の形態を組み合わせた形態も可能である。   The configuration of the storage unit 4 in FIGS. 3 and 8 is different in input / output restrictions of the ALU 2. Which configuration is adopted is determined according to the characteristics of the system to which the processing apparatus 10 is applied. A combination of the two embodiments is also possible.

本実施の形態においても、32ビットのデータを上位16ビットと下位16ビットに分けて記憶部4に格納する場合について説明したが、データのビット数と記憶部に格納するビット数は32ビットと16ビットに限られない。例えば、データのビット数が16ビットの場合に、記憶部に格納するビット数が8ビットの2つの部分に分割して格納する構成とすることができる。また、データが64ビットの場合、上位32ビットと下位32ビットに分割して記憶部に格納する構成であってもよい。データを上位と下位の2部分に分けて格納する構成は、図8及び図9の構成と同様である。   Also in this embodiment, the case where 32-bit data is divided into upper 16 bits and lower 16 bits and stored in the storage unit 4 has been described. However, the number of bits of data and the number of bits stored in the storage unit are 32 bits. It is not limited to 16 bits. For example, when the number of bits of data is 16 bits, it can be configured to be divided and stored in two parts where the number of bits stored in the storage unit is 8 bits. In addition, when the data is 64 bits, the data may be divided into upper 32 bits and lower 32 bits and stored in the storage unit. The configuration for storing data divided into two parts, upper and lower, is the same as the configuration of FIGS.

さらに、データを多くの部分に分割して記憶部に格納する構成も可能である。また、対をなすRAMの1アドレスで指定されるメモリワードのビット数は不均一であってもよい。   Furthermore, a configuration in which data is divided into many parts and stored in the storage unit is also possible. In addition, the number of bits of the memory word specified by one address of the paired RAM may be non-uniform.

図8及び9では、理解を容易にするためにメモリ5の入力側と出力側にレジスタ7、7e等を記載したが、レジスタはデータを保持する回路でなく、データ線であってもよい。   8 and 9, the registers 7, 7e and the like are shown on the input side and output side of the memory 5 for easy understanding, but the registers may be data lines instead of circuits for holding data.

本発明により、効率的に記憶部4にデータを格納することができるため、全体のメモリ容量が従来よりも削減され、回路規模を縮小化できる。   According to the present invention, since data can be efficiently stored in the storage unit 4, the entire memory capacity is reduced as compared with the conventional case, and the circuit scale can be reduced.

なお、各実施の形態で説明した処理装置10、リコンフィギュラブル回路1及び記憶部
4の回路構成は一例であり、任意に変更及び修正が可能である。記憶部4の構成は、実施の形態で示したものがすべてではなく、これらに限定されるものではない。
Note that the circuit configurations of the processing device 10, the reconfigurable circuit 1, and the storage unit 4 described in the embodiments are merely examples, and can be arbitrarily changed and modified. The configuration of the storage unit 4 is not limited to that shown in the embodiment, and is not limited to these.

本発明の実施の形態に係るリコンフィギュラブル回路を備える処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of a processing apparatus provided with the reconfigurable circuit which concerns on embodiment of this invention. 本発明の実施の形態に係るリコンフィギュラブル回路の構成の例を示すブロック図である。It is a block diagram which shows the example of a structure of the reconfigurable circuit which concerns on embodiment of this invention. 本発明に係る処理装置において、リコンフィギュラブル回路が使用するデータを記憶する記憶部の構成の一例を示す図である。It is a figure which shows an example of a structure of the memory | storage part which memorize | stores the data which a reconfigurable circuit uses in the processing apparatus which concerns on this invention. 図3の記憶部の構成を用いた場合の、ALUからメモリに到る回路構成例を示す図である。FIG. 4 is a diagram illustrating a circuit configuration example from an ALU to a memory when the configuration of the storage unit in FIG. 3 is used. 複数対のRAMを用いた記憶部の構成を示す図である。It is a figure which shows the structure of the memory | storage part using several pairs RAM. 64ビットALUアレイから出力されるデータを4つの16ビットRAMに格納する場合の記憶部の構成例を示す図である。It is a figure which shows the structural example of the memory | storage part in the case of storing the data output from a 64-bit ALU array in four 16-bit RAM. メモリをビット数の異なる3つのRAMで構成した記憶部の例を示す図である。It is a figure which shows the example of the memory | storage part which comprised memory by three RAM from which bit numbers differ. 本発明に係る処理装置において、リコンフィギュラブル回路が使用するデータを記憶する記憶部の構成の異なる例を示す図である。It is a figure which shows the example from which the structure of the memory | storage part which memorize | stores the data which a reconfigurable circuit uses is different in the processing apparatus which concerns on this invention. 図8の記憶部の構成を用いた場合の、ALUからメモリに到る回路構成例を示す図である。FIG. 9 is a diagram illustrating a circuit configuration example from an ALU to a memory when the configuration of the storage unit in FIG. 8 is used. 複数対のRAMを用いた記憶部の構成を示す図である。It is a figure which shows the structure of the memory | storage part using several pairs RAM. 従来のリコンフィギュラブル回路における記憶部の例を示す図である。It is a figure which shows the example of the memory | storage part in the conventional reconfigurable circuit.

符号の説明Explanation of symbols

1 リコンフィギュラブル回路
2 論理回路(ALU)
3 接続部
4 記憶部
5 メモリ
5a、5b、5c、5d、5e、5f RAM
6a、6b、6c、6d、6e、6f 選択回路
7、7a、7b、7c、7d、7e、7f レジスタ
7g、7h 拡大回路
8、8a、8b ビット拡張回路
9a、9b、9c 合成回路
10 処理装置
30 コンパイル部
32 設定データ生成部
34 設定記憶部
36 プログラム
38 データフローグラフ
40 設定データ
1 Reconfigurable circuit
2 Logic circuit (ALU)
3 connections
4 storage
5 Memory 5a, 5b, 5c, 5d, 5e, 5f RAM
6a, 6b, 6c, 6d, 6e, 6f selection circuit 7, 7a, 7b, 7c, 7d, 7e, 7f register
7g, 7h Enlarged circuit
8, 8a, 8b bit expansion circuit
9a, 9b, 9c synthesis circuit
10 Processing device
30 Compilation section
32 Setting data generator
34 Setting memory
36 programs
38 Data flow graph
40 Setting data

Claims (8)

それぞれが複数の算術論理演算機能を選択的に実行可能な複数の論理回路から構成される演算部と、
前記複数の論理回路の間の接続関係を保持する接続部と、
を備えるリコンフィギュラブル回路を含む処理装置において、
前記論理回路で使用するデータを格納する記憶手段と、
前記記憶手段に格納するデータのビット数が前記記憶手段の1アドレスで指定されるメモリワードのビット数を超え、かつ、前記データの有効ビット数が前記メモリワードのビット数を超えない場合、前記データを前記メモリワードのビット数以下のビット数に変更して1つのメモリワードに格納する縮退格納手段と、
前記縮退格納手段で前記メモリワードのビット数以下のビット数に変更して格納されたデータを読み出すときに、前記論理回路の入力ビット数に合わせて前記データを復元する拡張読み出し手段と、
を備えることを特徴とする処理装置。
An arithmetic unit composed of a plurality of logic circuits each capable of selectively executing a plurality of arithmetic logic operation functions;
A connection unit for maintaining a connection relationship between the plurality of logic circuits;
In a processing apparatus including a reconfigurable circuit comprising:
Storage means for storing data used in the logic circuit;
When the number of bits of data stored in the storage means exceeds the number of bits of a memory word specified by one address of the storage means, and the number of valid bits of the data does not exceed the number of bits of the memory word , Degenerate storage means for changing data to a number of bits less than or equal to the number of bits of the memory word and storing it in one memory word;
Extended read means for restoring the data in accordance with the number of input bits of the logic circuit when the data stored in the degenerate storage means is changed to a bit number equal to or less than the number of bits of the memory word ; and
A processing apparatus comprising:
前記記憶手段に格納するデータのビット数が前記メモリワードのビット数を超え、かつ、前記データの有効ビット数が前記メモリワードのビット数を超える場合、前記データを前記メモリワードのビット数を有する複数の部分に分けて、複数のメモリワードに格納する分割格納手段と、
前記分割格納手段で前記複数のメモリワードに分割されて格納されたデータを、前記複数のメモリワードから読み出すときに、元のビット数のデータに復元する連結読み出し手段と、
を備えることを特徴とする請求項1に記載の処理装置。
If the number of bits of data stored in the storage means exceeds the number of bits of the memory word and the number of valid bits of the data exceeds the number of bits of the memory word, the data has the number of bits of the memory word. Divided storage means for dividing into a plurality of parts and storing in a plurality of memory words;
Concatenated read means for restoring the original number of bits when reading from the plurality of memory words, the data divided and stored in the plurality of memory words by the divided storage means,
The processing apparatus according to claim 1, further comprising:
前記分割格納手段は、前記記憶手段の前記メモリワードのビット数を有する複数の部分
に分けられたデータのそれぞれを、元のデータにおけるビット位置に従って、格納する記
憶領域が限定されている請求項2に記載の処理装置。
The divided storage means has a plurality of portions having the number of bits of the memory word of the storage means
Each of the divided data is stored according to the bit position in the original data.
The processing apparatus according to claim 2, wherein the storage area is limited .
前記分割格納手段又は前記縮退格納手段は、前記演算部から出力されるデータの数を前
記データの有効ビット数に応じて制限することを特徴とする請求項1乃至3のいずれか1
項に記載の処理装置。
The divided storage unit or the degenerate storage unit is configured to calculate the number of data output from the arithmetic unit.
4. The method according to claim 1, wherein the number of bits is limited according to the number of effective bits of the data.
The processing apparatus according to item.
前記連結読み出し手段又は前記拡張読み出し手段は、前記演算部に入力するデータの数
を前記データの有効ビット数に応じて制限することを特徴とする請求項1乃至4のいずれ
か1項に記載の処理装置。
The concatenated reading means or the extended reading means is the number of data input to the arithmetic unit.
The processing apparatus according to any one of claims 1 to 4, characterized in that to limit in accordance with the number of effective bits of the data.
前記分割格納手段又は前記縮退格納手段は、前記演算部から出力される各データの有効
ビット数に応じて、使用する前記メモリワードの数の合計が同時に書き込み可能なメモリ
ワードの数を超えないように、前記演算部から同時に出力される前記データの数を制限す
ることを特徴とする請求項に記載の処理装置。
The divided storage unit or the degenerate storage unit is configured to validate each data output from the arithmetic unit.
Memory in which the total number of memory words to be used can be written simultaneously according to the number of bits
5. The processing apparatus according to claim 4 , wherein the number of the data simultaneously output from the arithmetic unit is limited so as not to exceed the number of words .
前記連結読み出し手段又は前記拡張読み出し手段は、前記演算部に入力される各データ
の有効ビット数に応じて、使用する前記メモリワードの数の合計が同時に読み込み可能な
メモリワードの数を超えないように、前記演算部に同時に入力するデータ数を制限するこ
とを特徴とする請求項に記載の処理装置。
The concatenated reading means or the extended reading means is each data input to the arithmetic unit.
Depending on the number of valid bits, the total number of memory words used can be read simultaneously
6. The processing apparatus according to claim 5 , wherein the number of data simultaneously input to the arithmetic unit is limited so as not to exceed the number of memory words .
前記複数の論理回路において選択的に実行する複数の算術論理演算機能と、前記複数の
論理回路の間の接続関係を設定して、前記リコンフィギュラブル回路の動作を制御する設
定データの生成において
前記複数の論理回路が実行する所期の演算処理を記述したプログラムに基づいて、前記
論理回路の入出力データの有効ビット数を判定し、前記設定データを生成することを特徴
とする請求項1乃至7のいずれか1項に記載の処理装置。
A plurality of arithmetic logic operation functions selectively executed in the plurality of logic circuits;
A setting for controlling the operation of the reconfigurable circuit by setting a connection relationship between logic circuits.
In the generation of constant data ,
Based on a program describing an intended arithmetic process executed by the plurality of logic circuits,
Determining the number of effective bits of the input and output data of the logic circuit, the processing apparatus according to any one of claims 1 to 7, characterized in that to generate the configuration data.
JP2005370914A 2005-12-22 2005-12-22 Processing equipment Active JP4669781B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005370914A JP4669781B2 (en) 2005-12-22 2005-12-22 Processing equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005370914A JP4669781B2 (en) 2005-12-22 2005-12-22 Processing equipment

Publications (2)

Publication Number Publication Date
JP2007172400A JP2007172400A (en) 2007-07-05
JP4669781B2 true JP4669781B2 (en) 2011-04-13

Family

ID=38298862

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005370914A Active JP4669781B2 (en) 2005-12-22 2005-12-22 Processing equipment

Country Status (1)

Country Link
JP (1) JP4669781B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4989354B2 (en) * 2007-08-09 2012-08-01 三洋電機株式会社 Data flow graph generation device, setting data generation device, processing device, and data flow graph generation method
JP5633303B2 (en) * 2010-10-26 2014-12-03 富士通セミコンダクター株式会社 Reconfigurable LSI

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63282874A (en) * 1987-05-15 1988-11-18 Fuji Electric Co Ltd Interface circuit
JPH0916540A (en) * 1995-06-30 1997-01-17 Nec Corp Multiprocessor device
JPH10256383A (en) * 1997-03-12 1998-09-25 Toshiba Corp Semiconductor device and circuit constitution method thereof
JP2000222208A (en) * 1999-01-29 2000-08-11 Mitsubishi Electric Corp Information processor, instruction assignment controlling method, its device and computer-readable storage medium recording instruction assignment controlling program
JP2005276854A (en) * 2004-03-22 2005-10-06 Sanyo Electric Co Ltd Processing equipment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63282874A (en) * 1987-05-15 1988-11-18 Fuji Electric Co Ltd Interface circuit
JPH0916540A (en) * 1995-06-30 1997-01-17 Nec Corp Multiprocessor device
JPH10256383A (en) * 1997-03-12 1998-09-25 Toshiba Corp Semiconductor device and circuit constitution method thereof
JP2000222208A (en) * 1999-01-29 2000-08-11 Mitsubishi Electric Corp Information processor, instruction assignment controlling method, its device and computer-readable storage medium recording instruction assignment controlling program
JP2005276854A (en) * 2004-03-22 2005-10-06 Sanyo Electric Co Ltd Processing equipment

Also Published As

Publication number Publication date
JP2007172400A (en) 2007-07-05

Similar Documents

Publication Publication Date Title
CN105703765B (en) Reconfigurable device based on DRAM
US7571303B2 (en) Reconfigurable integrated circuit
US7464251B2 (en) Method and apparatus for configuring arbitrary sized data paths comprising multiple context processing elements
KR100910777B1 (en) Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements
JP4593866B2 (en) Method and apparatus for incorporating a multiplier into an FPGA
US8138788B2 (en) Reconfigurable device
JP4275013B2 (en) Data flow graph processing device, processing device, reconfigurable circuit.
JP4484756B2 (en) Reconfigurable circuit and processing device
JP4438000B2 (en) Reconfigurable logic block, programmable logic circuit device having reconfigurable logic block, and method for configuring reconfigurable logic block
JP2008537268A (en) An array of data processing elements with variable precision interconnection
KR20050106014A (en) Electronic circuit with array of programmable logic cells
JP4669781B2 (en) Processing equipment
JP4553615B2 (en) Processing equipment
JP5336398B2 (en) Semiconductor integrated circuit and semiconductor integrated circuit configuration changing method
JP4468452B2 (en) Computer device with a reconfigurable architecture to incorporate global cellular automata
JP4673739B2 (en) Reconfigurable circuit
US20070067379A1 (en) Data processing apparatus
JP4357326B2 (en) Reconfigurable circuit and processing device
JP4601567B2 (en) Data flow graph generation method and processing apparatus
US20060107027A1 (en) General purpose micro-coded accelerator
JP4413052B2 (en) Data flow graph processing apparatus and processing apparatus
JP4562679B2 (en) Data flow graph generator
JP2019047516A (en) Reconfigurable semiconductor device
JP3896083B2 (en) Reconfigurable circuit and integrated circuit device using it
JP3515997B2 (en) Programmable semiconductor device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080522

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091106

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091124

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100125

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

R155 Notification before disposition of declining of application

Free format text: JAPANESE INTERMEDIATE CODE: R155

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110117

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

Free format text: PAYMENT UNTIL: 20140121

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4669781

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

Year of fee payment: 3