JP4753709B2 - Data multiplexing storage device and processing device - Google Patents

Data multiplexing storage device and processing device Download PDF

Info

Publication number
JP4753709B2
JP4753709B2 JP2005368898A JP2005368898A JP4753709B2 JP 4753709 B2 JP4753709 B2 JP 4753709B2 JP 2005368898 A JP2005368898 A JP 2005368898A JP 2005368898 A JP2005368898 A JP 2005368898A JP 4753709 B2 JP4753709 B2 JP 4753709B2
Authority
JP
Japan
Prior art keywords
data
circuit
memory
multiplexed
multiplexing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005368898A
Other languages
Japanese (ja)
Other versions
JP2007172284A (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 JP2005368898A priority Critical patent/JP4753709B2/en
Publication of JP2007172284A publication Critical patent/JP2007172284A/en
Application granted granted Critical
Publication of JP4753709B2 publication Critical patent/JP4753709B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明はデータ記憶装置に関し、特に、データを多重化して記憶することにより、個別に記憶する場合に比して記憶容量を抑えることが可能な多重化記憶装置、処理装置等に関する。   The present invention relates to a data storage device, and more particularly, to a multiplexed storage device, a processing device, and the like that can suppress the storage capacity by multiplexing and storing data as compared with the case of individually storing data.

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

例えば、衛星放送では、季節などにより、放送モ一ドを切り換えて画質の調整などを行うこともある。このため、従来の受信機では、放送モ一ドごとに複数の回路を予めハードウェア上に作り込んでおき、放送モードに合わせて選択器で回路を切り換えて受信している。従って、受信機の他の放送モード用の回路はその間遊んでいることになる。   For example, in satellite broadcasting, the image quality may be adjusted by switching the broadcasting mode depending on the season. For this reason, in a conventional 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.

モード切り替えのように、複数の専用回路を切り督えて使用し、その切り替え間隔が比較的長い場合、複数の専用回路を作り込む代わりに、切り替え時にLSIを再構成することにすれば、回路構成をシンプルにして汎用性を高め、実装コストを抑えることができる。このようなニーズに応えるべく、動的に再構成可能なLSIに関心が高まってきている。特に、携帯電話やPDA(Personal Data Assistant)などのモバイル端末に総裁されるLSIは小型化が必携であり、LSIを動的に再構成し、用途に合わせて適宜機能を切り替えることができれば、LSIの実装面積を小さく抑えることができる。
特開平10−256383号公報(全文、第1−第4図)
When switching between multiple dedicated circuits, such as mode switching, and when the switching interval is relatively long, instead of creating multiple dedicated circuits, the LSI can be reconfigured at the time of switching. This makes it simple to increase versatility and reduce mounting costs. In order to meet such needs, there is an increasing interest in dynamically reconfigurable LSIs. In particular, LSIs governed by mobile terminals such as mobile phones and PDAs (Personal Data Assistants) must be downsized, and if LSIs can be dynamically reconfigured and the functions can be switched appropriately according to the application, The mounting area can be kept small.
Japanese Patent Laid-Open No. 10-256383 (full text, FIGS. 1 to 4)

上述のように、FPGAは回路構成の設計自由度が高く、汎用的である反面、基本セル間の接続を可能とするため、多数のスイッチとスイッチのON/OFFを制御するための制御回路を含む必要があり、実装面積が大きくなってしまう。一方で、装置の小型化・高密度実装などの要望により、FPGAの小型化も要望されており、メモリなどのサイズにも制限が生じてしまう。このため、求められる機能の高度化に伴って、限られた容量のメモリをより有効に活用できるようにすることが望まれる。   As described above, the FPGA has a high degree of freedom in design of the circuit configuration and is versatile. On the other hand, in order to enable connection between basic cells, a control circuit for controlling ON / OFF of a large number of switches and switches is provided. It is necessary to include, and the mounting area becomes large. On the other hand, due to demands for downsizing and high-density mounting of devices, downsizing of FPGAs is also demanded, and the size of memory and the like is also limited. For this reason, it is desired that a limited amount of memory can be used more effectively as the required functions become more sophisticated.

特に、動的に再構成可能なFPGAの場合、例えば、FPGAを第1の処理回路に構成して処理結果をメモリに保存し、続いて、FPGAを第2の処理回路に構成して、元の処理結果を追加的に処理するなどの処理も可能である。このような場合、アプリケーションによっては、大量の中間データ及び最終データが生成され、限られた容量のメモリの有効利用が必要である。   In particular, in the case of a dynamically reconfigurable FPGA, for example, the FPGA is configured in a first processing circuit, the processing result is stored in a memory, and then the FPGA is configured in a second processing circuit. It is also possible to perform processing such as additional processing of the processing result. In such a case, depending on the application, a large amount of intermediate data and final data are generated, and it is necessary to effectively use a limited amount of memory.

メモリの有効利用の問題は、高密度化と機能の高度化とを要求される近時の処理回路においては、FPGAに限らず、種々の処理回路において、共通に存在する問題である。   The problem of effective use of memory is a problem that exists in common in various processing circuits, not limited to FPGAs, in recent processing circuits that require higher density and higher function.

本発明は、上記状況に鑑みてなされたものであり、その目的は、限られた記憶容量を有効に或いは効率的に利用可能な記憶装置及びそれをもちいた処理回路を提供することにある。
また、本発明の他の目的は、集積回路の回路規模の縮小化に貢献することにある。
The present invention has been made in view of the above situation, and an object thereof is to provide a storage device that can effectively or efficiently use a limited storage capacity and a processing circuit using the storage device.
Another object of the present invention is to contribute to reducing the circuit scale of an integrated circuit.

上記目的を達成するため、本発明の第1の観点に係るデータ多重化記憶装置は、
データを、各アドレス位置に所定のデータサイズで格納するメモリと、
複数のデータを多重化して、前記メモリの各アドレスに格納する格納手段と、
前記メモリの各アドレス位置に格納したデータを読み出して、分離することにより元のデータを再生するデータ再生手段と、
を備えることを特徴とする。
In order to achieve the above object, a data multiplexing storage device according to the first aspect of the present invention provides:
A memory for storing data at a predetermined data size at each address position;
Storage means for multiplexing a plurality of data and storing them at each address of the memory;
Data reproduction means for reproducing the original data by reading and separating the data stored in each address position of the memory;
It is characterized by providing.

予め定められた基準に従って、前記メモリの各アドレスにデータを多重化して格納するか多重化せずに格納するかを切り替え、前記メモリの各アドレスに格納されているデータを分割するか、分割しないかを切り替えて制御する切り替え制御手段を配置してもよい。   According to a predetermined standard, data is switched between being stored and not multiplexed at each address of the memory, and the data stored at each address of the memory is divided or not divided You may arrange | position the switching control means which switches and controls these.

前記切り替え制御手段は、例えば、多重化対象となるデータの関連性、前記メモリのアクセス時間、メモリアクセスの処理量、前記メモリの使用量、処理速度の少なくとも1つに基づいて多重化するか否かを決定する手段を備える。   Whether the switching control means multiplexes based on at least one of relevance of data to be multiplexed, memory access time, memory access processing amount, memory usage, processing speed, for example. Means for determining whether or not.

例えば、前記格納手段は、一対の複素データを多重化して前記メモリの1つのアドレス位置に格納し、前記データ再生手段は、前記メモリの1つのアドレス位置から読み出したデータを分割することにより、元の一対のデータを再生する。   For example, the storage means multiplexes a pair of complex data and stores it in one address position of the memory, and the data reproduction means divides the data read from one address position of the memory, thereby The pair of data is reproduced.

例えば、前記格納手段は、順番にアクセスされるべき複数のデータについて、連続する所定数のデータ単位で多重化して前記メモリに格納し、前記データ再生手段は、各アドレス位置から多重化されたデータを順次読み出して、分割することにより、前記順番にアクセスされるべき複数のデータを再生する。   For example, the storage means multiplexes a plurality of data to be accessed in order in a predetermined number of consecutive data units and stores them in the memory, and the data reproduction means stores the data multiplexed from each address position. Are sequentially read and divided to reproduce a plurality of data to be accessed in the order.

例えば、前記格納手段は、相関のある一対のデータを多重化して各アドレス位置に前記メモリに格納し、前記データ再生手段は、各アドレス位置から多重化されたデータを順次読み出して、分割することにより、相関のある一対のデータを再生する。   For example, the storage means multiplexes a pair of correlated data and stores them in the memory at each address position, and the data reproduction means sequentially reads and divides the multiplexed data from each address position. Thus, a pair of correlated data is reproduced.

例えば、前記格納手段は、同時にアクセスするデータが無く、且つ、データの多重・分離処理の処理量が予め定められた値よりも大きくなる場合には、データの多重を行わない。   For example, the storage means does not perform data multiplexing when there is no data to be accessed at the same time and the amount of data multiplexing / demultiplexing processing is greater than a predetermined value.

上記構成のデータ多重化記憶装置は、処理装置に用いて好適である。この場合、処理手段で処理したデータを処理して前記格納手段に供給して前記メモリに多重化して記憶し、或いは、前記データ再生手段で再生されたデータを処理手段で処理する。   The data multiplexing storage device having the above configuration is suitable for use in a processing device. In this case, the data processed by the processing means is processed and supplied to the storage means and multiplexed and stored in the memory, or the data reproduced by the data reproduction means is processed by the processing means.

また、リコンフィギュラブル回路で処理したデータを前記格納手段に供給して前記メモリに多重化して記憶し、或いは、前記データ再生手段で再生されたデータをリコンフィギュラブル回路で処理することも可能である。この場合、例えば、前記リコンフィギュラブル回路が、第1の回路構成で処理したデータを前記格納手段に供給して前記メモリに多重化して格納し、設定手段により回路構成を第2の回路構成に切り替えらた後で、前記データ再生手段を介して前記メモリから読み出したデータを処理するようにしてもよい。このような構成とすれば、メモリにデータを多重化せずに格納する場合に比して、メモリのサイズを抑えて回路全体のサイズを小さくすることができる。また、全体のサイズに変更がなければ、リコンフィギュラブル回路のサイズを大きくすること等が可能である。   It is also possible to supply the data processed by the reconfigurable circuit to the storage means and store the data multiplexed in the memory, or to process the data reproduced by the data reproduction means by the reconfigurable circuit. is there. In this case, for example, the reconfigurable circuit supplies the data processed by the first circuit configuration to the storage means, multiplexes and stores the data in the memory, and changes the circuit configuration to the second circuit configuration by the setting means. After the switching, the data read from the memory via the data reproducing means may be processed. With such a configuration, the size of the entire circuit can be reduced by suppressing the size of the memory as compared with the case where data is stored in the memory without being multiplexed. If the overall size is not changed, the size of the reconfigurable circuit can be increased.

本発明によれば、複数データを多重化してメモリに格納するので、多重化しない場合に対して、大量のデータを格納することが可能となる。   According to the present invention, since a plurality of data is multiplexed and stored in the memory, a large amount of data can be stored as compared with the case where the data is not multiplexed.

以下、この発明の実施の形態に係る多重化記憶装置を備える処理装置10を説明する。
この処理装置10は、図1に示すように、集積回路装置26を備える。集積回路装置26は、回路構成を再構成可能とする機能を有する。集積回路装置26は1チップで構成され、リコンフィギュラブル回路12と、設定部14と、制御部18と、メモリ20と、出力回路22と、メモリ制御回路24と、バス42と、レジスタ群44,46とを備える。
Hereinafter, a processing device 10 including a multiplexed storage device according to an embodiment of the present invention will be described.
The processing apparatus 10 includes an integrated circuit device 26 as shown in FIG. The integrated circuit device 26 has a function that makes it possible to reconfigure the circuit configuration. The integrated circuit device 26 is configured by one chip, and includes a reconfigurable circuit 12, a setting unit 14, a control unit 18, a memory 20, an output circuit 22, a memory control circuit 24, a bus 42, and a register group 44. , 46.

リコンフィギュラブル回路12は、設定を変更することにより、機能の変更を可能とする。   The reconfigurable circuit 12 can change the function by changing the setting.

設定部14は、第1設定部14a、第2設定部14b、第3設定部14c、第4設定部14dおよび選択器16を有し、リコンフィギュラブル回路12に所期の回路を構成するための設定データ40を供給する。   The setting unit 14 includes a first setting unit 14a, a second setting unit 14b, a third setting unit 14c, a fourth setting unit 14d, and a selector 16, and configures an intended circuit in the reconfigurable circuit 12. The setting data 40 is supplied.

レジスタ群46は、リコンフィギュラブル回路12の中間出力データを一次記憶する。
バス42は、フィードバックパスとして機能し、リコンフィギュラブル回路12の中間出力を、リコンフィギュラブル回路12の入力に接続する。
レジスタ群44は、バスを介してフィードバックされた中間出力データを一次記憶して、リコンフィギュラブル回路12の入力に供給する。
The register group 46 primarily stores the intermediate output data of the reconfigurable circuit 12.
The bus 42 functions as a feedback path, and connects the intermediate output of the reconfigurable circuit 12 to the input of the reconfigurable circuit 12.
The register group 44 temporarily stores the intermediate output data fed back via the bus and supplies it to the input of the reconfigurable circuit 12.

メモリ20は、各アドレス位置(1アドレス)に1ワード(2バイト(16ビット))の記憶容量を有するメモリ回路であり、DRAM(Dinamic Randam Access Memory)などから構成される。メモリ20は、リコンフィギュラブル回路12から出力される中間データを多重化して、記憶容量を節約した上で、記憶する。   The memory 20 is a memory circuit having a storage capacity of 1 word (2 bytes (16 bits)) at each address position (1 address), and includes a DRAM (Dinamic Randam Access Memory) or the like. The memory 20 multiplexes the intermediate data output from the reconfigurable circuit 12 to save the storage capacity and store it.

出力回路22は、データフリップフロップ(D−FF)などの順序回路から構成され、リコンフィギュラブル回路12の出力を受ける。   The output circuit 22 includes a sequential circuit such as a data flip-flop (D-FF) and receives the output of the reconfigurable circuit 12.

メモリ制御回路24は、リコンフィギュラブル回路12の出力する中間データを多重化してメモリ20に格納し、また、メモリ20から読み出したデータを分離することで元の2つのデータを再生し、バス42上に出力する。メモリ制御回路24による、記憶データの多重化処理及び元のデータの復元処理については、図4を参照して後述する。   The memory control circuit 24 multiplexes the intermediate data output from the reconfigurable circuit 12 and stores the multiplexed data in the memory 20. The memory control circuit 24 reproduces the original two data by separating the data read from the memory 20. Output above. The memory data multiplexing process and the original data restoring process performed by the memory control circuit 24 will be described later with reference to FIG.

リコンフィギュラブル回路12は組合せ回路または順序回路などの論理回路として構成される。   The reconfigurable circuit 12 is configured as a logic circuit such as a combinational circuit or a sequential circuit.

リコンフィギュラブル回路12は、機能の変更が可能な論理回路を有して構成される。具体的にリコンフィギュラブル回路12は、複数の演算機能を選択的に実行可能な論理回路を複数段に配列させた構成を有し、前段の論理回路列の出力と後段の論理回路列の入力との接続関係を設定可能な接続部を含む。複数の論理回路は、マトリックス状に配置される。各論理回路の機能と、論理回路間の接続関係は、設定部14により供給される設定データ40に基づいて設定される。設定データ40は、以下の手順で生成される。   The reconfigurable circuit 12 includes a logic circuit whose function can be changed. Specifically, the reconfigurable circuit 12 has a configuration in which a plurality of logic circuits capable of selectively executing a plurality of arithmetic functions are arranged in a plurality of stages, and an output of a preceding logic circuit string and an input of a succeeding logic circuit string The connection part which can set the connection relation with is included. The plurality of logic circuits are arranged in a matrix. The function of each logic circuit and the connection relationship between the logic circuits are set based on setting data 40 supplied by the setting unit 14. The setting data 40 is generated by the following procedure.

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

また、記憶部34に設けられている設定データ生成部32は、データフローグラフ38から設定データ40を生成する。設定データ40は、データフローグラフ38をリコンフィギュラブル回路12にマッピングするためのデータであり、リコンフィギュラブル回路12における論理回路の機能や論理回路間の接続関係を定める。本実施の形態では、設定データ生成部32が、1つの生成対象回路60を分割してできる複数の回路の設定データ40を生成する。   Further, the setting data generation unit 32 provided in the storage unit 34 generates setting data 40 from the data flow graph 38. The setting data 40 is data for mapping the data flow graph 38 to the reconfigurable circuit 12 and determines the function of the logic circuit in the reconfigurable circuit 12 and the connection relationship between the logic circuits. In the present embodiment, the setting data generation unit 32 generates setting data 40 for a plurality of circuits obtained by dividing one generation target circuit 60.

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

各分割回路の出力データ(中間データ)は、メモリ20に多重化して効率よく格納され、リコンフィギュラブル回路12の回路構成が切り替えられた後、読み出されて分離されて、入力に供給される。   The output data (intermediate data) of each division circuit is multiplexed and efficiently stored in the memory 20, and after the circuit configuration of the reconfigurable circuit 12 is switched, it is read out, separated, and supplied to the input. .

任意の生成対象回路60は、データフローグラフ38の横方向で分割されてもよい。横方向に分割する幅は、リコンフィギュラブル回路12における論理回路の1段当たりの個数以下に定められる。   The arbitrary generation target circuit 60 may be divided in the horizontal direction of the data flow graph 38. The width to be divided in the horizontal direction is determined to be equal to or less than the number of logic circuits in the reconfigurable circuit 12 per stage.

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

以上の手順を実行することにより、記憶部34は、リコンフィギュラブル回路12を所期の生成対象回路60として構成するための複数の設定データ40を記憶する。複数の設定データ40は、分割回路Aを構成するための設定データA、分割回路Bを構成するための設定データB、分割回路Cを構成するための設定データC、および分割回路Dを構成するための設定データDである。   By executing the above procedure, the storage unit 34 stores a plurality of setting data 40 for configuring the reconfigurable circuit 12 as the intended generation target circuit 60. The plurality of setting data 40 constitute setting data A for configuring the dividing circuit A, setting data B for configuring the dividing circuit B, setting data C for configuring the dividing circuit C, and dividing circuit D. This is setting data D.

図3は、リコンフィギュラブル回路12の構成図である。リコンフィギュラブル回路12は、複数の論理回路50の列が複数段にわたって配列されたもので、各段に設けられた接続部52によって、前段の論理回路50の列の出力と後段の論理回路50の列の入力が設定により任意に接続可能な構造となっている。各論理回路50は、論理和、論理積、ビットシフトなどの複数種類の多ビット演算を設定により選択的に実行できる、例えば、ALU(算術論理回路;Arithmetic Logic Unit)などから構成される。   FIG. 3 is a configuration diagram of the reconfigurable circuit 12. The reconfigurable circuit 12 includes a plurality of columns of logic circuits 50 arranged in a plurality of stages, and the connection unit 52 provided in each stage outputs the output of the column of the logic circuit 50 in the preceding stage and the logic circuit 50 in the subsequent stage. The input of the column of can be connected arbitrarily by setting. Each logic circuit 50 includes, for example, an ALU (arithmetic logic unit) that can selectively execute a plurality of types of multi-bit operations such as logical sum, logical product, and bit shift by setting.

図3に示すように、リコンフィギュラブル回路12は、横方向にY個、縦方向にX個のALU50が配置されたALU50のアレイとして構成される。第1段のALU11、ALU12、・・・、ALU1Yには、入力変数や定数が入力され、設定された所定の演算がなされる。演算結果の出力は、第1段の接続部52に設定された接続に従って、第2段のALU21、ALU22、・・・、ALU2Yに入力される。第1段の接続部52においては、第1段のALU50の列の出力と第2段のALU50の列の入力の間で任意の接続関係、あるいは、決められた組み合わせのうちより選択された接続関係を実現できるように結線が構成されており、設定により所期の結線が有効となる。以下、第(X−1)段の接続部52まで、同様の構成であり、最終段である第X段のALU50の列は演算の最終結果を出力する。   As shown in FIG. 3, the reconfigurable circuit 12 is configured as an array of ALUs 50 in which Y ALUs 50 in the horizontal direction and X ALUs 50 in the vertical direction are arranged. Input variables and constants are input to the first-stage ALU11, ALU12,..., ALU1Y, and a set predetermined calculation is performed. The output of the calculation result is input to the second-stage ALU 21, ALU 22,..., ALU 2Y according to the connection set in the first-stage connection unit 52. In the first-stage connection unit 52, an arbitrary connection relationship between the output of the column of the first-stage ALU 50 and the input of the column of the second-stage ALU 50, or a connection selected from a predetermined combination The connection is configured so that the relationship can be realized, and the intended connection is enabled by setting. Hereinafter, the connection section 52 of the (X-1) th stage has the same configuration, and the column of the ALU 50 of the Xth stage, which is the final stage, outputs the final result of the calculation.

図1に戻って、リコンフィギュラブル回路12の構成時、制御部18は、1つの生成対象回路60を構成するための複数の設定データ40を選択する。ここでは、制御部18が、図2に示す生成対象回路60を構成するための設定データ40、すなわち分割回路Aの設定データA、分割回路Bの設定データB、分割回路Cの設定データCおよび分割回路Dの設定データDを選択するものとする。制御部18は、選択した設定データ40を設定部14に供給する。設定部14はキャッシュメモリや他の種類のメモリを有し、供給される設定データ40をそれぞれ保持する。   Returning to FIG. 1, when configuring the reconfigurable circuit 12, the control unit 18 selects a plurality of setting data 40 for configuring one generation target circuit 60. Here, the control unit 18 sets the setting data 40 for configuring the generation target circuit 60 shown in FIG. 2, that is, the setting data A of the dividing circuit A, the setting data B of the dividing circuit B, the setting data C of the dividing circuit C, and Assume that the setting data D of the dividing circuit D is selected. The control unit 18 supplies the selected setting data 40 to the setting unit 14. The setting unit 14 includes a cache memory and other types of memory, and holds the supplied setting data 40.

設定部14は、選択された設定データ40をリコンフィギュラブル回路12に設定し、リコンフィギュラブル回路12の回路を再構成する。これにより、リコンフィギュラブル回路12は、所期の演算を実行できる。   The setting unit 14 sets the selected setting data 40 in the reconfigurable circuit 12 and reconfigures the circuit of the reconfigurable circuit 12. As a result, the reconfigurable circuit 12 can execute a desired calculation.

次に、図1に示すメモリ20、メモリ制御回路24、バス42、レジスタ群44,46、の構成と動作とを図4を参照して説明する。
リコンフィギュラブル回路12が出力するデータのうち、最終的な出力データは、出力回路22を介して集積回路装置26の外部に出力される。一方、中間的な出力データ(中間データ)は、複数の出力レジスタ46a〜46cから構成されるレジスタ群46を介して出力される。中間データは、制御部18の制御に従って、メモリ制御回路24を構成する多重化回路241に供給される。多重化回路241は、2つのデータを多重化して、メモリ20に格納することにより、メモリスペースを有効活用する。
Next, the configuration and operation of the memory 20, the memory control circuit 24, the bus 42, and the register groups 44 and 46 shown in FIG. 1 will be described with reference to FIG.
Of the data output from the reconfigurable circuit 12, final output data is output to the outside of the integrated circuit device 26 via the output circuit 22. On the other hand, intermediate output data (intermediate data) is output through a register group 46 including a plurality of output registers 46a to 46c. The intermediate data is supplied to the multiplexing circuit 241 constituting the memory control circuit 24 under the control of the control unit 18. The multiplexing circuit 241 multiplexes two pieces of data and stores them in the memory 20 to effectively use the memory space.

ここで、多重化回路241が実行する多重化処理について説明する。
本実施形態においては、図5(a)に示すように、メモリ20の各アドレス位置(アクセス単位)は1ワード(2バイト)の容量を有し、リコンフィギュラブル回路12から出力される中間データは、図5(b)に示すように、1ワード構成であるものの、少なくとも上位1バイト(8ビット)は全て「0」の無効データであり、下位1バイトのみが有効(実効)データであるものとする。
Here, the multiplexing process executed by the multiplexing circuit 241 will be described.
In this embodiment, as shown in FIG. 5A, each address position (access unit) of the memory 20 has a capacity of 1 word (2 bytes), and the intermediate data output from the reconfigurable circuit 12 As shown in FIG. 5B, although it has a 1-word configuration, at least the upper 1 byte (8 bits) is all “0” invalid data, and only the lower 1 byte is valid (effective) data. Shall.

このような場合でも、通常であれば、1アドレスに1データが格納される。   Even in such a case, normally, one data is stored at one address.

しかし、本実施の形態においては、多重化回路241は、2つのデータを多重化して、メモリ20の1アドレスに格納することにより、メモリ20を有効に活用する。   However, in the present embodiment, the multiplexing circuit 241 makes effective use of the memory 20 by multiplexing two pieces of data and storing them in one address of the memory 20.

まず、多重化回路241が、多重化するデータを図5(c)に示すそれぞれ2バイトのデータD1とD2であるとする。多重化回路241は、一方のデータ、例えば、データD2を上位(MSB)方向に8ビットシフトする。このとき、各下位ビットにはビットデータ「0」を供給する。続いて、他方のデータD1とシフトした一方のデータD2との論理和を取って、両データを多重化し、下位1バイトにD1,上位1バイトにD2が含まれた多重化データを生成する。
多重化回路241はこのようにして生成した多重化データをメモリ20の適当なアドレス位置に格納する。
First, it is assumed that the data to be multiplexed by the multiplexing circuit 241 is 2-byte data D1 and D2 shown in FIG. The multiplexing circuit 241 shifts one data, for example, the data D2 by 8 bits in the upper (MSB) direction. At this time, bit data “0” is supplied to each lower bit. Subsequently, the logical sum of the other data D1 and the shifted one data D2 is taken, and both data are multiplexed to generate multiplexed data including D1 in the lower 1 byte and D2 in the upper 1 byte.
The multiplexing circuit 241 stores the multiplexed data generated in this way at an appropriate address position in the memory 20.

このようにして格納されたデータを読み出す際には、メモリ制御回路24を構成する分離回路242が、図5(d)に示すように、制御部18の制御に従って、読み出し対象の2バイトデータを読み出し、データ0Fh(0000000011111111)と論理積をとることにより、読み出した1ワードデータの下位1バイトに格納されていたデータD1を復元する。   When reading the data stored in this way, the separation circuit 242 constituting the memory control circuit 24 reads the 2-byte data to be read according to the control of the control unit 18 as shown in FIG. The data D1 stored in the lower 1 byte of the read 1 word data is restored by reading and taking the logical product with the data 0Fh (0000000011111111).

また、読み出した2バイトデータを下位方向に8ビットシフトすることにより、読み出した1ワードデータの上位1バイトに格納されていたデータD2を復元する。この際、上位ビットには0を供給する。   Further, by shifting the read 2-byte data by 8 bits in the lower direction, the data D2 stored in the upper 1 byte of the read 1-word data is restored. At this time, 0 is supplied to the upper bits.

分離回路242は、読み出した再生した2つのデータを、例えば、バス42を介して、入力レジスタ群46に供給し、リコンフィギュラブル回路12の入力に供給する。   The separation circuit 242 supplies the read two reproduced data to, for example, the input register group 46 via the bus 42 and supplies the input register group 46 with the input.

次に、上記構成の処理装置の10の動作を、生成対象回路60を、図6に例示するQPKS(quadrature phase shift keying)変調信号の復調(直交検波)回路とした場合を例に説明する。   Next, the operation of the processing apparatus 10 having the above-described configuration will be described by taking as an example the case where the generation target circuit 60 is a QPKS (quadrature phase shift keying) modulation signal demodulation (orthogonal detection) circuit illustrated in FIG.

まず、図6に示す復調回路について説明する。
同調回路104は、目的周波数に同調し、アンテナ102を介して信号を受信する。受信信号は、増幅などの処理を行った後、A/D(アナログデジタル)変換回路106により、ディジタル信号に変換され、一旦バッファ回路108に格納される。
First, the demodulation circuit shown in FIG. 6 will be described.
The tuning circuit 104 tunes to a target frequency and receives a signal via the antenna 102. The received signal is subjected to processing such as amplification, then converted to a digital signal by an A / D (analog / digital) conversion circuit 106 and temporarily stored in the buffer circuit 108.

バッファ回路108に格納されたデータはミクサ110と114に供給される。
ミクサ110は供給された受信信号とコサイン信号(cosωt)とを混合して、同相成分の信号Iを生成し、これをローパスフィルタ(LPF)112がフィルタリングして同相成分FIを生成する。
The data stored in the buffer circuit 108 is supplied to the mixers 110 and 114.
The mixer 110 mixes the supplied reception signal and the cosine signal (cosωt) to generate an in-phase component signal I, which is filtered by a low-pass filter (LPF) 112 to generate an in-phase component FI.

ミクサ114は供給された受信信号とサイン信号(sinωt)とを混合して、直交成分の信号Qを生成し、これをローパスフィルタ(LPF)116がフィルタリングして直交成分FQを生成する。   The mixer 114 mixes the supplied reception signal and the sine signal (sin ωt) to generate a quadrature component signal Q, which is filtered by a low-pass filter (LPF) 116 to generate a quadrature component FQ.

このような構成を実現するため、リコンフィギュラブル回路12は、第1設定部14aの設定により、まず、ミクサ(乗算器)110,114として構成されて、1フレーム分の同相成分Iと直交成分Qを求める。求めた1フレーム分の同相成分Iと直交成分Qとは、多重化回路241により多重化され、メモリ20に格納される。続いて、リコンフィギュラブル回路12は、ローパスフィルタ112,116として再構成される。メモリ20に格納されていた1フレーム分の同相成分Iと直交成分Qとが、分離回路242により順次読み出されて分離され、リコンフィギュラブル回路12の入力に投入される。リコンフィギュラブル回路12は、同相成分Iと直交成分Qをフィルタリングして、同相成分FIと直交成分FQとを求め、出力回路22を介して外部に出力する。
この処理をフレーム単位に繰り返して実行する。
In order to realize such a configuration, the reconfigurable circuit 12 is first configured as mixers (multipliers) 110 and 114 according to the setting of the first setting unit 14a, and the in-phase component I and the quadrature component for one frame. Q is calculated. The obtained in-phase component I and quadrature component Q for one frame are multiplexed by the multiplexing circuit 241 and stored in the memory 20. Subsequently, the reconfigurable circuit 12 is reconfigured as low-pass filters 112 and 116. The in-phase component I and the quadrature component Q for one frame stored in the memory 20 are sequentially read and separated by the separation circuit 242 and input to the input of the reconfigurable circuit 12. The reconfigurable circuit 12 filters the in-phase component I and the quadrature component Q to obtain the in-phase component FI and the quadrature component FQ, and outputs them to the outside via the output circuit 22.
This process is repeated for each frame.

リコンフィギュラブル回路12がミクサ110,114として動作している間、メモリ20の各アドレス位置には、図7に示すように、同相成分のデータIと直交成分のデータQの対応するもの同士が多重化して格納される。   While the reconfigurable circuit 12 operates as the mixers 110 and 114, at each address position in the memory 20, as shown in FIG. 7, corresponding data of the in-phase component data I and the quadrature component data Q are present. Multiplexed and stored.

即ち、リコンフィギュラブル回路12から同相成分I(x)と直交成分Q(x)とが出力され、これが多重化回路241により多重化されて多重化データI(x)Q(x)が生成され、これが1つのアドレス位置に格納される。以後、I(x+1)とQ(x+1)、I(x+2)とQ(x+2)、..とが順次出力され、多重化回路241により、多重化データI(x+1)Q(x+1)、I(x+2)Q(x+2)、..が生成され、これらがアドレスを順次更新しながら、格納される。   That is, the in-phase component I (x) and the quadrature component Q (x) are output from the reconfigurable circuit 12, and are multiplexed by the multiplexing circuit 241 to generate multiplexed data I (x) Q (x). This is stored in one address location. Thereafter, I (x + 1) and Q (x + 1), I (x + 2) and Q (x + 2),. . Are sequentially output, and the multiplexed data 241 outputs multiplexed data I (x + 1) Q (x + 1), I (x + 2) Q (x + 2),. . Are generated and stored while sequentially updating the addresses.

一方、リコンフィギュラブル回路12がローパスフィルタとして動作している間、メモリ20の各アドレス位置から、同相成分のデータIと直交成分のデータQの多重化データI(x)Q(x)、I(x+1)Q(x+1)、I(x+2)Q(x+2)、..が読み出される。そして、分離回路242により、同相成分と直交成分とが分離されて、元のデータI(x)とQ(x)、I(x+1)とQ(x+1)、I(x+2)とQ(x+2)、..が順次再生され、バス42上に出力される。再生されたデータIとQは、バス42と入力レジスタ44(44a〜44c)を介してリコンフィギュラブル回路12に供給され、フィルタリング処理が行われる。   On the other hand, while the reconfigurable circuit 12 operates as a low-pass filter, multiplexed data I (x) Q (x), I of the in-phase component data I and the quadrature component data Q from each address position in the memory 20. (X + 1) Q (x + 1), I (x + 2) Q (x + 2),. . Is read out. Then, the separation circuit 242 separates the in-phase component and the quadrature component, and the original data I (x) and Q (x), I (x + 1) and Q (x + 1), I (x + 2) and Q (x + 2) ,. . Are sequentially reproduced and output onto the bus 42. The reproduced data I and Q are supplied to the reconfigurable circuit 12 via the bus 42 and the input register 44 (44a to 44c), and a filtering process is performed.

このような構成によれば、メモリ20の各アドレス位置に、2つのデータI(x)とQ(x)とを格納できる。従って、各アドレス位置に同相成分のデータIと直交成分のデータQとをそれぞれ格納する場合に比して、2倍のデータをメモリ20に格納することができる。従って、メモリ20の記憶容量が同一ならば、IとQを別々のアドレスに格納する場合に比して、2倍の量のデータを蓄積することができる。換言すれば、同一量のデータを格納するのであれば、メモリ20の記憶容量を1/2にすることができる。   According to such a configuration, two data I (x) and Q (x) can be stored in each address position of the memory 20. Therefore, twice as much data can be stored in the memory 20 as compared with the case where the in-phase component data I and the quadrature component data Q are stored in each address position. Therefore, if the storage capacity of the memory 20 is the same, twice the amount of data can be accumulated as compared with the case where I and Q are stored at different addresses. In other words, if the same amount of data is stored, the storage capacity of the memory 20 can be halved.

なお、前述したように、生成対象回路60を横方向に分割することも可能である。
例えば、図8に示すように、リコンフィギュラブル回路12を、まず、同相成分処理用の回路(ミクサ110,ローパスフィルタ112)として構成して、A/D変換後の受信データを処理して同相成分のデータFIを求めてメモリ20に格納し、続いて、リコンフィギュラブル回路12を、直交成分処理用の回路(ミクサ114,ローパスフィルタ116)として再構成して、同一のデータを処理して、直交成分のデータFQを求めるようにしてもよい。
As described above, the generation target circuit 60 can be divided in the horizontal direction.
For example, as shown in FIG. 8, the reconfigurable circuit 12 is first configured as a circuit for in-phase component processing (mixer 110, low-pass filter 112), and the received data after A / D conversion is processed to perform in-phase processing. The component data FI is obtained and stored in the memory 20, and then the reconfigurable circuit 12 is reconfigured as a quadrature component processing circuit (mixer 114, low-pass filter 116) to process the same data. The orthogonal component data FQ may be obtained.

この場合には、リコンフィギュラブル回路12が同相成分を処理している間は、メモリ制御回路24には、同相成分のデータFI(x)、FI(x+1)、FI(x+2)、FI(x+3)...が順次供給される。多重化回路241は、図9(a)に示すように、連続する2つのデータFI(x)とFI(x+1)、FI(x+2)とFI(x+3)...を多重化し、メモリ20の各アドレス位置に順次格納する。   In this case, while the reconfigurable circuit 12 is processing the in-phase component, the memory control circuit 24 has the in-phase component data FI (x), FI (x + 1), FI (x + 2), FI (x + 3). ). . . Are sequentially supplied. As shown in FIG. 9A, the multiplexing circuit 241 includes two continuous data FI (x) and FI (x + 1), FI (x + 2) and FI (x + 3). . . Are multiplexed and sequentially stored in each address position of the memory 20.

また、リコンフィギュラブル回路12が直交成分を処理している間は、メモリ制御回路24には、直交成分のデータFQ(x)、FQ(x+1)、FQ(x+2)、FQ(x+3)...が順次供給される。多重化回路241は、図9(b)に示すように、連続する2つのデータFQ(x)とFQ(x+1)、FQ(x+2)とFQ(x+3)...を多重化し、メモリ20の各アドレス位置に順次格納する。   While the reconfigurable circuit 12 is processing the quadrature component, the memory control circuit 24 stores the quadrature component data FQ (x), FQ (x + 1), FQ (x + 2), FQ (x + 3). . . Are sequentially supplied. As shown in FIG. 9B, the multiplexing circuit 241 includes two continuous data FQ (x) and FQ (x + 1), FQ (x + 2) and FQ (x + 3). . . Are multiplexed and sequentially stored in each address position of the memory 20.

分離回路242は、このようにして格納されている各データを制御回路18の制御に従って読み出して、適宜分離し、外部に出力し、或いはリコンフィギュラブル回路12に再供給する。   The separation circuit 242 reads each data stored in this way under the control of the control circuit 18, appropriately separates it, outputs it to the outside, or re-supplies it to the reconfigurable circuit 12.

図5〜図7に示したように、複素数データであるIとQとを同時にアクセスする必要が生じる場合には、これを多重化することにより多重化・分離に要する時間を抑えてメモリ容量を抑えることが可能となる。
一方、図8,図9に示したように、連続するデータに同時にアクセスする必要が生じる場合には、これらを多重化することにより多重化・分離に要する時間を抑えてメモリ容量を抑えることが可能となる。
As shown in FIGS. 5 to 7, when it is necessary to simultaneously access complex data I and Q, the time required for multiplexing and demultiplexing can be suppressed by multiplexing these to reduce the memory capacity. It becomes possible to suppress.
On the other hand, as shown in FIG. 8 and FIG. 9, when it is necessary to access continuous data at the same time, the time required for multiplexing / separation can be suppressed by multiplexing these to reduce the memory capacity. It becomes possible.

また、例えば、図5の回路で、同相成分Iと直交成分Qとの間に時間差が存在し、例えば、同相成分I(x)と直交成分Q(x+a)、I(x+1)とQ(x+a+1)、I(x+2)とQ(x+a+2)、...とを同時にアクセスするデータの位置関係に相関がある場合には、図10(a)に示すように、位置的に相関のあるデータ同士を多重化することが望ましい。例えば、同相成分のデータ又は直交成分のデータがレジスタなどの遅延素子を介して供給される場合に、このような場面が生ずる。   Also, for example, in the circuit of FIG. 5, there is a time difference between the in-phase component I and the quadrature component Q. For example, the in-phase component I (x) and the quadrature component Q (x + a), I (x + 1) and Q (x + a + 1) ), I (x + 2) and Q (x + a + 2),. . . When there is a correlation in the positional relationship between data that simultaneously access and, as shown in FIG. 10 (a), it is desirable to multiplex data that have a positional correlation. For example, such a situation occurs when in-phase component data or quadrature component data is supplied via a delay element such as a register.

同様に、同相成分FIのデータ列内及び直交成分FQのデータ列内でも、離れた位置のデータをアクセスが行われる場合には、図10(b)、(c)に示すように、同時にアクセスするデータ同士を多重化することが望ましい。   Similarly, in the case where data at different positions are accessed in the data sequence of the in-phase component FI and the data sequence of the quadrature component FQ, as shown in FIGS. 10B and 10C, they are accessed simultaneously. It is desirable to multiplex data to be processed.

データを多重化するか否か、どのように多重化するかは、例えば、図11に示す判断基準に従って、決定される。   Whether or not to multiplex data is determined in accordance with, for example, the criteria shown in FIG.

まず、メモリ20の各アドレス位置の記憶容量と多重化される対象のデータ(I,Q)のビット幅との間に多重化する余裕があるか否かを、例えば、メモリの使用量などに基づいて判別する(ステップS11)。例えば、メモリ20の各アドレス位置が1ワードで、2つのデータの有効データが1バイトより大きい場合、データを多重化することはできない。逆に、一方のデータの有効データが7ビットで、他方のデータが9ビットであるならば、多重化は可能である。   First, whether or not there is a margin for multiplexing between the storage capacity of each address position of the memory 20 and the bit width of the data (I, Q) to be multiplexed is, for example, the amount of memory used Based on the determination (step S11). For example, when each address position in the memory 20 is one word and the valid data of two data is larger than 1 byte, the data cannot be multiplexed. Conversely, if the valid data of one data is 7 bits and the other data is 9 bits, multiplexing is possible.

次に、同一相対アドレスのデータを同時にアクセスするか否かを判別する(ステップS12)。即ち、複素データ(I,Q)のように、それぞれのデータ配列内の相対アドレス(位置)が等しいものを同時にアクセスするか否かを判別する。相対アドレスが等しいものを同時にアクセスすると判別した場合(ステップS12;Yes)、多重分離処理の時間的・処理的余裕があるか否かを判別する(ステップS13)。   Next, it is determined whether or not data with the same relative address is accessed simultaneously (step S12). That is, it is determined whether or not data having the same relative address (position) in each data array is accessed simultaneously, such as complex data (I, Q). If it is determined that the same relative address is accessed simultaneously (step S12; Yes), it is determined whether there is a time / processing margin for the demultiplexing process (step S13).

時間的・処理的余裕があると判断すれば(ステップS13;Yes)、I(x)とQ(x)のように、それぞれのデータ配列で相対位置が同一のデータ同士を多重化する第1の多重化方法を採用する(ステップS14)。この多重化方法は、複素データ(I,Q)のように、複数のデータ配列内の同一の相対アドレスのデータを同時にアクセスする場合などに、特に有効である。   If it is determined that there is a time / processing allowance (step S13; Yes), the first data that multiplexes data having the same relative position in each data array as in I (x) and Q (x). The multiplexing method is adopted (step S14). This multiplexing method is particularly effective when simultaneously accessing data having the same relative address in a plurality of data arrays, such as complex data (I, Q).

一方、ステップS12又はS13で、Noと判別された場合には、同時にアクセスする相対アドレスに相関があるか否かを判別する(ステップS15)。例えば、図10(a)に示したように、2つのデータ配列I(x)とQ(x+a)を同時にアクセスする場合や、図10(b)、(c)に示したように1つのデータ配列I(x)内で、FI(x)とFI(y)を同時にアクセスする場合や、FQ(x)とFQ(x+b)を同時にアクセスする場合には、相関があると判別する。   On the other hand, if it is determined as No in step S12 or S13, it is determined whether there is a correlation between the relative addresses accessed simultaneously (step S15). For example, as shown in FIG. 10 (a), when two data arrays I (x) and Q (x + a) are accessed simultaneously, or as shown in FIGS. 10 (b) and 10 (c), one data When FI (x) and FI (y) are accessed simultaneously in array I (x), or when FQ (x) and FQ (x + b) are accessed simultaneously, it is determined that there is a correlation.

同時にアクセスする相対アドレスに相関がある場合(ステップS15;Yes)、多重分離処理の時間的・処理的余裕があるか否かを判別する(ステップS16)。時間的・処理的余裕があれば(ステップS16;Yes)、I(x)とQ(x+a)、I(x)とI(y)、Q(x)とQ(x+b)のように、相関がある位置のデータ同士を多重化する多重化方法2を選択する(ステップS17)。この方法は、例えば、Sin、Cosデータなどのように、同時にアクセスする相対アドレスに相関がある場合や、前述のように、複素データの一方に遅延があるような場合に有効である。   If there is a correlation between the relative addresses accessed at the same time (step S15; Yes), it is determined whether or not there is a time / processing margin for the demultiplexing process (step S16). If there is a time and processing allowance (step S16; Yes), I (x) and Q (x + a), I (x) and I (y), Q (x) and Q (x + b) are correlated. Multiplexing method 2 for multiplexing data at a certain position is selected (step S17). This method is effective when there is a correlation between the relative addresses accessed simultaneously, such as Sin and Cos data, or when there is a delay in one of the complex data as described above.

一方、ステップS15又はS16で、Noと判別された場合には、多重分離処理の時間的・処理的余裕があるか否かを判別する(ステップS18)。時間的・処理的余裕があれば(ステップS18;Yes)、I(x)とI(x+1)、Q(y)とQ(y+1)のように、同一データ配列内で連続する位置のデータ同士を多重化する多重化方法3を選択する(ステップS19)。この多重化方法は、2つの配列データへのアクセスが同時ではなく、アクセス時間や、アクセス処理量(多重・分離処理)に余裕がある場合、又は、同じ配列データの連続するデータに同時にアクセスする場合などに特に有効である。   On the other hand, if NO is determined in step S15 or S16, it is determined whether there is a time / processing margin for the demultiplexing process (step S18). If there is time and processing allowance (step S18; Yes), data at consecutive positions in the same data array such as I (x) and I (x + 1), Q (y) and Q (y + 1) Is selected (step S19). In this multiplexing method, access to two pieces of array data is not simultaneous, and access time and access processing amount (multiplexing / separation processing) are available, or continuous data of the same array data is accessed simultaneously. This is particularly effective in some cases.

ステップS19でもNoと判別された場合、即ち、メモリのアクセス時間、メモリのアクセスの処理量、メモリの使用量、処理速度などに基づいて、多重化の余裕が無いと判別された場合には、データの多重化を行わないと判断する(ステップS20)。   If it is also determined No in step S19, that is, if it is determined that there is no room for multiplexing based on the memory access time, the memory access processing amount, the memory usage, the processing speed, etc., It is determined that data is not multiplexed (step S20).

なお、多重・分離処理の時間的処理量的余裕は、例えば、メモリアクセスの処理時間、メモリアクセスの処理量、処理速度、多重化処理に要する時間及び分離処理に要する時間を予め求めておき、メモリ20へのアクセス(ライト・リード)がリコンフィギュラブル回路12の処理速度よりも短いときに余裕があると判断し、長いときには余裕が無いと判断する。   Note that the amount of time required for the multiplexing / demultiplexing processing is determined in advance, for example, the memory access processing time, the memory access processing amount, the processing speed, the time required for the multiplexing processing, and the time required for the separation processing. When the access (write / read) to the memory 20 is shorter than the processing speed of the reconfigurable circuit 12, it is determined that there is a margin, and when it is long, it is determined that there is no margin.

また、図11に示す判別処理をコンパイル部30が行って、判別結果に応じたデータフローグラフ38を生成するようにしてもよい。   In addition, the compiling unit 30 may perform the determination process illustrated in FIG. 11 to generate the data flow graph 38 according to the determination result.

この場合、例えば、記憶部34に、メモリ20のアドレス位置のサイズ、多重化回路241と分離部242の処理時間、通常のメモリ20へのアクセス時間、メモリアクセスの処理量、リコンフィギュラブル回路12の動作クロックの周波数(処理速度)、入力信号のサンプリング周波数などのデータを登録しておく。また、プログラム36には、上述の判別処理を実行するための判別プログラムを格納しておく。コンパイル部30は、コンパイルの過程で、リコンフィギュラブル回路12の動作をシミュレートし、上述の条件のいずれに合致するかを判別し、多重化の有無・多重化方法を特定し、判別結果に対応するデータフロー図を生成する。設定データ生成部32は、生成されたデータフローに対応する設定データ40を生成する。制御部18は、生成された設定データ40を設定部14に供給する。   In this case, for example, in the storage unit 34, the size of the address position of the memory 20, the processing time of the multiplexing circuit 241 and the separation unit 242, the access time to the normal memory 20, the processing amount of memory access, the reconfigurable circuit 12 The data such as the operation clock frequency (processing speed) and the sampling frequency of the input signal are registered in advance. The program 36 stores a determination program for executing the above-described determination processing. The compiling unit 30 simulates the operation of the reconfigurable circuit 12 during the compiling process, determines which of the above conditions is met, specifies the presence / absence of multiplexing, the multiplexing method, and outputs the determination result. Generate a corresponding data flow diagram. The setting data generation unit 32 generates setting data 40 corresponding to the generated data flow. The control unit 18 supplies the generated setting data 40 to the setting unit 14.

このような構成によれば、多重化の有無・多重化方法の設定自体を自動化することができる。   According to such a configuration, the presence / absence of multiplexing / setting of the multiplexing method itself can be automated.

以上、本発明の実施の形態を説明したが、この発明は上記実施の形態に限定されず、種々の変形及び応用が可能である。
例えば、上記実施の形態においては、受信回路の復調回路に本願発明を適用した例を示したが、本願発明を適用するアプリケーションは任意であり、上述したような同時にアクセスされる複数のデータ配列、データ配列内の複数のデータに同時にアクセスする場合などに、広く適用可能である。
Although the embodiments of the present invention have been described above, the present invention is not limited to the above-described embodiments, and various modifications and applications are possible.
For example, in the above-described embodiment, an example in which the present invention is applied to the demodulation circuit of the receiving circuit has been shown. However, an application to which the present invention is applied is arbitrary, and a plurality of data arrays accessed simultaneously as described above, This is widely applicable when accessing a plurality of data in the data array simultaneously.

上記実施の形態においては、ハードウエア構成が大きく、占有面積が大きくなる傾向のあるFPGAに本願発明を適用することによりメモリ容量を抑える例を示した。即ち、リコンフィギュラブル回路12の処理結果(中間データ)を多重化してメモリ20に格納し、さらに、リコンフィギュラブル回路12の回路構成を切り替えて、元のデータを再生して処理する構成とすることにより、メモリ20のサイズを抑えて、集積回路チップ26内のメモリ20の占有面積を抑えることができる。このような構成は、リコンフィギュラブル回路12の処理内容が高度化・複雑化してリコンフィギュラブル回路12の占有面積が増大する場合や、集積回路チップ26のより高密度化が要求される場合などに特に有効である。同様に、リコンフィギュラブル回路12が処理又は生成するデータが大量である場合には、メモリ20のサイズを抑える上で効果的である。   In the above-described embodiment, an example in which the memory capacity is suppressed by applying the present invention to an FPGA having a large hardware configuration and a large occupied area has been shown. That is, the processing result (intermediate data) of the reconfigurable circuit 12 is multiplexed and stored in the memory 20, and the circuit configuration of the reconfigurable circuit 12 is switched to reproduce and process the original data. As a result, the size of the memory 20 can be reduced, and the area occupied by the memory 20 in the integrated circuit chip 26 can be reduced. In such a configuration, when the processing content of the reconfigurable circuit 12 is advanced and complicated, the occupied area of the reconfigurable circuit 12 is increased, or when the integrated circuit chip 26 is required to have a higher density. Is particularly effective. Similarly, when a large amount of data is processed or generated by the reconfigurable circuit 12, it is effective in reducing the size of the memory 20.

ただし、この発明はこれに限定されず、本願発明を適用する集積回路の種類は任意である。例えば、DSP(Digital Signal Processor)やCPU(Central Processing Unit)などに本願発明を適用し、内部メモリの容量をおさえてもよい。   However, the present invention is not limited to this, and the type of integrated circuit to which the present invention is applied is arbitrary. For example, the present invention may be applied to a DSP (Digital Signal Processor), a CPU (Central Processing Unit), and the like to reduce the capacity of the internal memory.

さらに、上記実施の形態においては、集積回路素子内のメモリ格納するデータを多重化する例を示したが、図12に示すような、集積回路(処理装置)70から外部バス72を介してアクセスする必要があるような外部(外付け)メモリ76にデータを格納・読み出しする場合に、メモリ制御回路74を配置してデータを多重化・分離することにより、1度に複数のデータをアクセス可能とし、アクセスを高速化することも可能である。   Furthermore, in the above embodiment, an example of multiplexing data stored in the memory in the integrated circuit element has been shown. However, access from the integrated circuit (processing device) 70 via the external bus 72 as shown in FIG. When storing / reading data to / from an external (external) memory 76, it is necessary to multiplex / separate the data by arranging the memory control circuit 74 so that a plurality of data can be accessed at once. It is possible to speed up access.

上記実施の形態においては、主に、メモリの各記憶位置を1ワード構成、各データの有効ビット数を8ビットとする例を示したが、メモリの記憶位置のサイズや各データの有効ビット数は任意である。例えば、メモリの各記憶位置(アドレス位置)を2ワード構成とし、各データの有効ビット数を16ビットとしたり、一方のデータの有効ビット数を10ビットとし、他方のデータの有効ビット数を22ビットとするなどしてもよい。   In the above embodiment, the example in which each memory storage location is configured with one word and the number of effective bits of each data is 8 bits, but the size of the memory storage location and the number of effective bits of each data is mainly shown. Is optional. For example, each storage position (address position) of the memory has a 2-word configuration, the number of effective bits of each data is 16 bits, the number of effective bits of one data is 10 bits, and the number of effective bits of the other data is 22 It may be a bit.

また、多重化するデータは、2つに限定されず、3つ以上のデータを多重化してもよい。   Further, the data to be multiplexed is not limited to two, and three or more data may be multiplexed.

以上説明したように、本実施の形態によれば、メモリのビット幅に対して、保持するデータのビット幅小さく、複数データを多重する余裕がある場合、データアクセスの関連性、メモリアクセス時間、データアクセス処理量、等を考慮してメモリを使用量、処理速度などの要求条件に最も適した方法でデータの多重を行う。これにより、必要となるメモリ使用量を削減、或いは、処理速度の高速化を図ることができる。   As described above, according to the present embodiment, when the bit width of the data to be held is smaller than the bit width of the memory and there is room to multiplex a plurality of data, the relevance of data access, the memory access time, In consideration of the data access processing amount, etc., the data is multiplexed by a method most suitable for the required conditions such as the usage amount and processing speed of the memory. As a result, the required memory usage can be reduced or the processing speed can be increased.

本発明の実施の形態に係るFPGA回路(処理装置)の構成を示すブロック図である。It is a block diagram which shows the structure of the FPGA circuit (processing apparatus) which concerns on embodiment of this invention. 図1に示す設定部の構成を示すブロック図である。It is a block diagram which shows the structure of the setting part shown in FIG. 図1に示すリコンフィギュラブル回路の構成例を示す図である。FIG. 2 is a diagram illustrating a configuration example of a reconfigurable circuit illustrated in FIG. 1. 図1に示すリコンフィギュラブル回路、メモリ制御回路、及び、メモリ、の構成と動作を説明するためのブロック図である。FIG. 2 is a block diagram for explaining the configuration and operation of a reconfigurable circuit, a memory control circuit, and a memory shown in FIG. 1. 多重化処理及び分離処理を説明するための図であり、(a)はメモリの1アドレス(1記憶位置)の構成を示し、(b)はデータの構成を示し、(c)は多重化の方法を示し、(d)は分離の方法を示す。It is a figure for demonstrating a multiplexing process and a separation process, (a) shows the structure of 1 address (1 storage position) of a memory, (b) shows the structure of data, (c) shows the structure of multiplexing. The method is shown, and (d) shows the separation method. 図1の処理回路で実現される復調回路の一例を示す図である。It is a figure which shows an example of the demodulation circuit implement | achieved by the processing circuit of FIG. 図6の回路を構成した場合に、メモリの各記憶位置に格納される複素データを多重化したデータの例を示す図である。FIG. 7 is a diagram illustrating an example of data obtained by multiplexing complex data stored in each storage position of the memory when the circuit of FIG. 6 is configured. 図1の処理回路で実現される復調回路の他の例を示す図である。It is a figure which shows the other example of the demodulation circuit implement | achieved by the processing circuit of FIG. 図8の回路を構成した場合に、メモリの各記憶位置に格納される連続してアクセスされるデータを多重化したデータの例を示す図である。FIG. 9 is a diagram illustrating an example of data obtained by multiplexing the continuously accessed data stored in each storage position of the memory when the circuit of FIG. 8 is configured. 図6の回路を構成した場合に、メモリの各記憶位置に格納される、同時にアクセスされるアドレスが相関を有するデータを多重化したデータの例を示す図であり、(a)は、異なるデータ配列のデータを同時にアクセスする場合、(b)と(c)は同一のデータ配列のデータをアクセスする場合の例を示す。FIG. 7 is a diagram illustrating an example of data obtained by multiplexing data having addresses correlated at the same time, which are stored at each storage location of the memory when the circuit of FIG. 6 is configured, and FIG. (B) and (c) show examples of accessing data of the same data array when accessing the data of the array at the same time. データの多重化を行うか否か、行う場合には、どのような多重化を行うかを判別するためのフローチャートである。It is a flowchart for discriminating whether or not to multiplex data and what kind of multiplexing is to be performed. この発明を外部メモリをアクセスする場合に適用した場合の構成例を示すブロック図である。It is a block diagram which shows the structural example at the time of applying this invention when accessing external memory.

符号の説明Explanation of symbols

10 処理回路
12 リコンフィギュラブル回路
14 設定部
18 制御部
20 メモリ
24 メモリ制御回路
42 バス
26 集積回路装置
DESCRIPTION OF SYMBOLS 10 Processing circuit 12 Reconfigurable circuit 14 Setting part 18 Control part 20 Memory 24 Memory control circuit 42 Bus 26 Integrated circuit device

Claims (5)

データを、各アドレス位置に所定のデータサイズで格納するメモリと、
複数のデータを多重化して、前記メモリの各アドレスに格納する格納手段と、
前記メモリの各アドレス位置に格納したデータを読み出して、分離することにより元のデータを再生するデータ再生手段と、
所定の基準に従って、前記メモリの各アドレスに格納すべきデータを決定する決定手段と、を備え、
前記決定手段は、
同時にアクセスされる複数のデータが、それぞれのデータ配列内の相対位置が等しい関係にある第1のタイプである場合は、この複数のデータを多重化して前記メモリの1つのアドレス位置に格納させ、
同時にアクセスされる複数のデータが、それぞれのデータ配列内の相対位置に相関がある関係にある第2のタイプである場合は、この複数のデータを多重化して前記メモリの1つのアドレス位置に格納させる、
ことを特徴とするデータ多重化記憶装置。
A memory for storing data at a predetermined data size at each address position;
Storage means for multiplexing a plurality of data and storing them at each address of the memory;
Data reproduction means for reproducing the original data by reading and separating the data stored in each address position of the memory;
Determining means for determining data to be stored at each address of the memory according to a predetermined standard,
The determining means includes
When the plurality of data accessed simultaneously is the first type in which the relative positions in the respective data arrays are equal , the plurality of data is multiplexed and stored in one address position of the memory,
When a plurality of data accessed at the same time is the second type in which the relative positions in the respective data arrays are correlated , the plurality of data are multiplexed and stored in one address position of the memory. Let
A data multiplexed storage device.
前記決定手段は、
前記複数のデータが第1及び第2タイプのいずれでも無い場合、順番にアクセスされるべき複数のデータについて、連続する所定数のデータ単位で多重化して前記メモリに格納させる、
ことを特徴とする請求項1に記載のデータ多重化記憶装置。
The determining means includes
When the plurality of data is neither the first type nor the second type, the plurality of data to be accessed in order is multiplexed in a predetermined number of consecutive data units and stored in the memory.
The data multiplexed storage device according to claim 1.
前記決定手段は、
データの多重化及び分離処理の処理量が予め定められた値よりも大きくなる場合には、データの多重化を行わない、
ことを特徴とする請求項1又は2に記載のデータ多重化記憶装置。
The determining means includes
When the amount of data multiplexing and separation processing is greater than a predetermined value, data multiplexing is not performed.
The data multiplexing storage device according to claim 1 or 2, characterized in that
請求項1乃至のいずれか1項に記載のデータ多重化記憶装置と、
データを処理して前記格納手段に供給し、或いは、前記データ再生手段で再生されたデータを処理する処理手段と、を備える処理装置。
A data multiplexed storage device according to any one of claims 1 to 3 ,
And a processing unit that processes the data and supplies the data to the storage unit, or processes the data reproduced by the data reproduction unit.
請求項1乃至のいずれか1項に記載のデータ多重化記憶装置と、
データを処理して前記格納手段に供給し、或いは、前記データ再生手段で再生されたデータを処理するリコンフィギュラブル回路と、
前記リコンフィギュラブル回路の回路構成を切り替えて設定する設定手段と、を備える処理装置。
A data multiplexed storage device according to any one of claims 1 to 3 ,
A reconfigurable circuit that processes data and supplies it to the storage means, or processes data reproduced by the data reproduction means;
And a setting unit that switches and sets the circuit configuration of the reconfigurable circuit.
JP2005368898A 2005-12-21 2005-12-21 Data multiplexing storage device and processing device Expired - Fee Related JP4753709B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005368898A JP4753709B2 (en) 2005-12-21 2005-12-21 Data multiplexing storage device and processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005368898A JP4753709B2 (en) 2005-12-21 2005-12-21 Data multiplexing storage device and processing device

Publications (2)

Publication Number Publication Date
JP2007172284A JP2007172284A (en) 2007-07-05
JP4753709B2 true JP4753709B2 (en) 2011-08-24

Family

ID=38298768

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005368898A Expired - Fee Related JP4753709B2 (en) 2005-12-21 2005-12-21 Data multiplexing storage device and processing device

Country Status (1)

Country Link
JP (1) JP4753709B2 (en)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5378744A (en) * 1976-12-23 1978-07-12 Fujitsu Ltd Arithmetic system for complex number
JPS57146341A (en) * 1981-03-04 1982-09-09 Hitachi Ltd Data processor
JPS6286912A (en) * 1985-10-14 1987-04-21 Fujitsu Ltd Filter arithmetic control system
JP3038760B2 (en) * 1990-03-05 2000-05-08 ソニー株式会社 Digital signal processor
US5572691A (en) * 1993-04-21 1996-11-05 Gi Corporation Apparatus and method for providing multiple data streams from stored data using dual memory buffers
JPH07202635A (en) * 1994-01-06 1995-08-04 Nippon Steel Corp Digital signal processor
JP2778478B2 (en) * 1994-09-21 1998-07-23 日本電気株式会社 Correlation processor
JP4011007B2 (en) * 2003-01-15 2007-11-21 三洋電機株式会社 Integrated circuit device and processing device having reconfigurable circuit
JP2004272817A (en) * 2003-03-11 2004-09-30 Ricoh Co Ltd Method for controlling image memory

Also Published As

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

Similar Documents

Publication Publication Date Title
US11870881B2 (en) Method of operation for a configurable number theoretic transform (NTT) butterfly circuit for homomorphic encryption
US9323716B2 (en) Hierarchical reconfigurable computer architecture
JP4982080B2 (en) Digital filter
US6754805B1 (en) Method and apparatus for configurable multi-cell digital signal processing employing global parallel configuration
US5561617A (en) Pyramid processor integrated circuit
US7725681B2 (en) Parallel processing array
JP4704646B2 (en) Reconfigurable finite response filter using canonical sign digit coefficient representation
US6463518B1 (en) Generation of memory addresses for accessing a memory utilizing scheme registers
JP4011007B2 (en) Integrated circuit device and processing device having reconfigurable circuit
JP4753709B2 (en) Data multiplexing storage device and processing device
US6848042B1 (en) Integrated circuit and method of outputting data from a FIFO
WO2005033939A1 (en) Processor and integrated circuit comprising reconfigurable circuit, and processing method utilizing it
JP4260197B2 (en) Processing equipment
US7613760B1 (en) Efficient implementation of multi-channel integrators and differentiators in a programmable device
US7996657B2 (en) Reconfigurable computing circuit
JP4748944B2 (en) Processing equipment
JP4156010B2 (en) Processing equipment
JP3896083B2 (en) Reconfigurable circuit and integrated circuit device using it
JP4413052B2 (en) Data flow graph processing apparatus and processing apparatus
JP2010097356A (en) Arithmetic processor, communication equipment and broadcasting receiver mounted with the same, and information processor
JP2005276854A (en) Processing equipment
Kartheek et al. FPGA Based High Speed 8-Tap FIR Filter
Warrier et al. Reconfigurable DSP block design for dynamically reconfigurable architecture
Liang et al. Dynamic coarse grain dataflow reconfiguration technique for real-time systems design
JP2005128709A (en) Processing device equipped with reconfigurable circuit

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

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101116

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110106

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110208

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110311

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110407

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110426

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110524

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

Free format text: PAYMENT UNTIL: 20140603

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140603

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees