JP2012093893A - Reconfigurable lsi - Google Patents

Reconfigurable lsi Download PDF

Info

Publication number
JP2012093893A
JP2012093893A JP2010239682A JP2010239682A JP2012093893A JP 2012093893 A JP2012093893 A JP 2012093893A JP 2010239682 A JP2010239682 A JP 2010239682A JP 2010239682 A JP2010239682 A JP 2010239682A JP 2012093893 A JP2012093893 A JP 2012093893A
Authority
JP
Japan
Prior art keywords
bit
data
reconfiguration
array
bit width
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.)
Granted
Application number
JP2010239682A
Other languages
Japanese (ja)
Other versions
JP5633303B2 (en
Inventor
Hiroshi Furukawa
浩 古川
Kiyomitsu Kato
清光 加藤
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.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor 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 Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2010239682A priority Critical patent/JP5633303B2/en
Publication of JP2012093893A publication Critical patent/JP2012093893A/en
Application granted granted Critical
Publication of JP5633303B2 publication Critical patent/JP5633303B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a reconfigurable LSI capable of converting signal lines differing in bit width.SOLUTION: The reconfigurable LSI includes a first reconfiguration array having a plurality of processor elements having a first bit width, and an inter-processor-element network configured such that the plurality of processor elements are in an arbitrary connection state based upon reconfiguration data, a second reconfiguration array having a second bit width different from the first bit width, a reconfiguration data memory which stores the reconfiguration data, and a reconfiguration control circuit which reads the data out of the reconfiguration data memory in response to a predetermined event, and sets the data in the first and second reconfiguration arrays. The first or second reconfiguration array has a bit-width conversion element which converts signal interconnects having the first bit width to signal interconnects having the second bit width.

Description

本発明は,リコンフィグ可能なLSIに関する。   The present invention relates to a reconfigurable LSI.

リコンフィグ可能なLSIは,複数のプロセッサエレメントと,プロセッサエレメント間を接続するネットワークとを有し,シーケンサである制御回路が外部または内部のイベントに応答して設定するコンフィグレーションデータに基づいて,プロセッサエレメントの構成とプロセッサエレメント間のネットワークの構成とが任意の演算状態または演算回路に構築される。   A reconfigurable LSI has a plurality of processor elements and a network for connecting the processor elements, and a processor based on configuration data set by a control circuit as a sequencer in response to an external or internal event. The configuration of the element and the configuration of the network between the processor elements are constructed in an arbitrary calculation state or calculation circuit.

リコンフィグ可能なLSIは,加算器,乗算器,比較器などの機能を有する論理演算ユニット(ALU)や,遅延回路,カウンタ,セレクタ,レジスタなどの複数種類のプロセッサエレメントが,複数個あらかじめ設けられ,さらにプロセッサエレメント間を接続するネットワークが設けられる。そして,プロセッサエレメントとネットワークとを,シーケンサを含むリコンフィグ制御部からのコンフィグレーションデータに基づいて所望の構成に再構築し,その演算状態で所定の演算を実行する。複数のプロセッサエレメントにより複数の演算回路を構築しておけば,それらの演算回路に同時にデータ処理を行わせることができる。そして,1つの演算状態でのデータ処理が完了すると,別のコンフィグレーションデータにより別の演算状態が構築され,その状態で異なるデータ処理を行う。   Reconfigurable LSIs are pre-installed with multiple types of processor elements such as logical operation units (ALU) that have functions such as adders, multipliers, and comparators, and delay circuits, counters, selectors, and registers. In addition, a network for connecting the processor elements is provided. Then, the processor element and the network are reconstructed into a desired configuration based on the configuration data from the reconfiguration control unit including the sequencer, and a predetermined calculation is executed in the calculation state. If a plurality of arithmetic circuits are constructed by a plurality of processor elements, the arithmetic circuits can simultaneously perform data processing. When the data processing in one calculation state is completed, another calculation state is constructed by another configuration data, and different data processing is performed in that state.

このように,リコンフィグ可能なLSIは,異なる演算状態を動的に再構築することで,大量のデータに対するデータ処理能力を向上させ,全体の処理効率を高めることができる。   In this way, a reconfigurable LSI can dynamically reconstruct different computation states, thereby improving the data processing capability for large amounts of data and increasing the overall processing efficiency.

特開2005−122546号公報JP 2005-122546 A 特許第3509047号公報Japanese Patent No. 3509047 特開平01−017121号公報Japanese Unexamined Patent Publication No. 01-017121 特開2007−257216号公報JP 2007-257216 A 特開2001−312481号公報JP 2001-314881 A

近年のLSIの設計環境では,ハードウエア記述言語であるRTL言語により論理設計され,そのRTL記述ファイルを論理合成して論理回路(ネットリスト)を構築し,論理検証,レイアウト設計,タイミング検証などを経て,論理設計に対応するLSIが開発されている。このようなRTL言語を利用したLSI設計環境は,ますます普及する傾向になる。   In recent LSI design environments, logic design is performed using the RTL language, which is a hardware description language, and a logic circuit (netlist) is constructed by logically synthesizing the RTL description file to perform logic verification, layout design, timing verification, etc. As a result, LSIs that support logic design have been developed. LSI design environments using such RTL languages are becoming increasingly popular.

そこで,リコンフィグ可能なLSIのコンフィグレーションデータを,RTL言語による論理設計によって生成することが求められる。   Therefore, it is required to generate reconfigurable LSI configuration data by logic design using the RTL language.

しかしながら,リコンフィグ可能なLSIは,プロセッサエレメント内,またはプロセッサエレメント間において,画一的なビット幅のデータバスを有し,画像処理や通信処理など複雑なデータ処理回路をコンフィグレーションデータにより構築する。かかるデータ処理回路は,一般に,同じビット幅のデータを高速にまたは並列して処理するよう構成される。   However, reconfigurable LSIs have a uniform data bus width within or between processor elements, and construct complex data processing circuits such as image processing and communication processing using configuration data. . Such data processing circuits are generally configured to process data of the same bit width at high speed or in parallel.

それに対して,RTL言語による論理設計では,様々なビット幅のデータを定義したり,異なるビット幅のデータを合成したり,あるビット幅のデータから一部のビットのデータを抽出したりする記述が多く存在する。その場合,最大ビット幅のプロセッサによってデータ処理回路を構築することはできるが,処理対象のデータのビット幅より広いビット幅を有するので,最適な回路構成を行うことができない。   On the other hand, in logical design using the RTL language, descriptions that define various bit width data, synthesize different bit width data, or extract some bit data from a certain bit width data There are many. In that case, the data processing circuit can be constructed by a processor having the maximum bit width, but since the bit width is wider than the bit width of the data to be processed, an optimum circuit configuration cannot be performed.

そこで,本発明の目的は,ビット幅の調整を行うことができるリコンフィグ可能なLSIを提供することにある。   Therefore, an object of the present invention is to provide a reconfigurable LSI capable of adjusting the bit width.

リコンフィグ可能なLSIの第1の側面は,コンフィグレーションデータに基づいて任意の状態に構築されるリコンフィグ可能なLSIであって,
第1のビット幅の複数のプロセッサエレメントと,前記リコンフィグレーションデータに基づいて前記複数のプロセッサエレメント間を任意の接続状態に構築するプロセッサエレメント間ネットワークとを有する第1のリコンフィグレーションアレイと,
前記第1のビット幅と異なる第2のビット幅の複数のプロセッサエレメントと,前記リコンフィグレーションデータに基づいて前記複数のプロセッサエレメント間を任意の接続状態に構築するプロセッサエレメント間ネットワークとを有する第2のリコンフィグレーションアレイと,
前記リコンフィグレーションデータを格納するリコンフィグレーションデータメモリと,
所定のイベントに応答して前記リコンフィグレーションデータメモリの前記リコンフィグレーションデータを読み出し前記第1,第2のリコンフィグレーションアレイに設定するリコンフィグ制御回路とを有し,
前記第1または第2のリコンフィグレーションアレイは,前記第1のビット幅の信号配線を前記第2のビット幅の信号配線に変換するビット幅変換エレメントを有する。
The first aspect of the reconfigurable LSI is a reconfigurable LSI constructed in an arbitrary state based on configuration data,
A first reconfiguration array comprising a plurality of processor elements having a first bit width and an inter-processor element network configured to establish an arbitrary connection state between the plurality of processor elements based on the reconfiguration data;
A plurality of processor elements having a second bit width different from the first bit width, and a network between processor elements that constructs the plurality of processor elements in an arbitrary connection state based on the reconfiguration data; Two reconfiguration arrays,
A reconfiguration data memory for storing the reconfiguration data;
A reconfiguration control circuit that reads the reconfiguration data in the reconfiguration data memory in response to a predetermined event and sets the data in the first and second reconfiguration arrays;
The first or second reconfiguration array includes a bit width conversion element that converts the signal wiring having the first bit width into the signal wiring having the second bit width.

第1の側面によれば,異なるビット幅のプロセッサエレメントのリコンフィグアレイ間でデータの結合,分割などのビット変換を行うことができるリコンフィグ可能なLSIを提供できる。   According to the first aspect, it is possible to provide a reconfigurable LSI capable of performing bit conversion such as data combination and division between reconfigurable arrays of processor elements having different bit widths.

本実施の形態におけるリコンフィグ可能なLSIの概略構成図である。It is a schematic block diagram of LSI which can be reconfigured in this Embodiment. 本実施の形態における複数のリコンフィグレーションアレイを示す図である。It is a figure which shows the some reconfiguration array in this Embodiment. 本実施の形態におけるビット幅変換エレメントを示す図である。It is a figure which shows the bit width conversion element in this Embodiment. 本実施の形態におけるリコンフィグ可能な集積回路R_LSI内のリコンフィグレーションアレイR_ARRAYを示す図である。It is a figure which shows the reconfiguration array R_ARRAY in the reconfigurable integrated circuit R_LSI in this Embodiment. 本実施の形態におけるリコンフィグレーションアレイR_ARRAYの具体例を示す図である。It is a figure which shows the specific example of reconfiguration array R_ARRAY in this Embodiment. 本実施の形態におけるリコンフィグレーションアレイR_ARRAYの具体例を示す別の図である。It is another figure which shows the specific example of reconfiguration array R_ARRAY in this Embodiment. 本実施の形態のリコンフィグ可能な集積回路の開発環境について示す図である。It is a figure shown about the development environment of the reconfigurable integrated circuit of this Embodiment. 本実施の形態におけるリコンフィグ可能な集積回路の起動シーケンスを示すフローチャート図である。It is a flowchart figure which shows the starting sequence of the reconfigurable integrated circuit in this Embodiment. 本実施の形態におけるリコンフィグ可能な集積回路の起動シーケンスを示すタイミングチャート図である。It is a timing chart figure which shows the starting sequence of the reconfigurable integrated circuit in this Embodiment. 本実施の形態におけるリコンフィグ可能な集積回路のコンフィグレーションデータの切り替えを説明する図である。It is a figure explaining switching of the configuration data of the reconfigurable integrated circuit in this Embodiment. あるRTL記述を実現する処理回路例を示す図である。It is a figure which shows the example of a processing circuit which implement | achieves a certain RTL description. 図11のデータ処理回路を16bitのリコンフィグレーションアレイR_ARRAY_2で構築した例である。This is an example in which the data processing circuit of FIG. 11 is constructed with a 16-bit reconfiguration array R_ARRAY_2. あるRTL記述を実現する処理回路例を示す図である。It is a figure which shows the example of a processing circuit which implement | achieves a certain RTL description. 図13(A)のRTL記述をリコンフィグレーションアレイで構築した例である。This is an example in which the RTL description in FIG. 図13(A)のRTL記述をリコンフィグレーションアレイで構築した例である。This is an example in which the RTL description in FIG. あるRTL記述を実現する処理回路例を示す図である。It is a figure which shows the example of a processing circuit which implement | achieves an RTL description. 図16(A)(B)のRTL記述をリコンフィグレーションアレイで構築した例である。It is an example which constructed | assembled the RTL description of FIG. 16 (A) (B) with the reconfiguration array. あるRTL記述を実現する処理回路例とそれをリコンフィグレーションアレイで構築した例を示す図である。It is a figure which shows the example which constructed | assembled the example of the processing circuit which implement | achieves a certain RTL description, and it with the reconfiguration array. 図20〜図22のRTL記述を実現する処理回路をリコンフィグレーションアレイで構築した例を示す図である。It is a figure which shows the example which constructed | assembled the processing circuit which implement | achieves the RTL description of FIGS. 20-22 by the reconfiguration array. あるRTL記述を実現する処理回路例を示す図である。It is a figure which shows the example of a processing circuit which implement | achieves an RTL description. あるRTL記述を実現する処理回路例を示す図である。It is a figure which shows the example of a processing circuit which implement | achieves a certain RTL description. あるRTL記述を実現する処理回路例を示す図である。It is a figure which shows the example of a processing circuit which implement | achieves a certain RTL description. リコンフィグ可能な集積回路のリコンフィグレーションアレイ群を示す図である。It is a figure which shows the reconfiguration array group of the integrated circuit which can be reconfigured. RTL記述ファイルの第1の例の図である。It is a figure of the 1st example of an RTL description file. 図24のRTL記述ファイルを実現する論理回路と,その論理回路をリコンフィグレーションアレイに構築した図である。FIG. 25 is a diagram in which a logic circuit that realizes the RTL description file of FIG. 24 and the logic circuit are constructed in a reconfiguration array. RTL記述ファイルの第2の例の図である。It is a figure of the 2nd example of an RTL description file. 図26のRTL記述ファイルを実現する論理回路と,その論理回路をリコンフィグレーションアレイに構築した図である。FIG. 27 is a diagram of a logic circuit that realizes the RTL description file of FIG. 26 and the logic circuit built in a reconfiguration array.

図1は,本実施の形態におけるリコンフィグ可能なLSIの概略構成図である。リコンフィグ可能(再構築可能)な集積回路R_LSIは,複数のプロセッサエレメントPEと,それらの入出力間を接続するプロセッサエレメント間ネットワークNWとを有する複数のリコンフィグレーションアレイR_ARRAYと,プロセッサエレメントPEにデータを入力しまたPEからデータを出力する入出力ポート10とを有する。   FIG. 1 is a schematic configuration diagram of a reconfigurable LSI according to the present embodiment. A reconfigurable (reconfigurable) integrated circuit R_LSI includes a plurality of reconfiguration arrays R_ARRAY having a plurality of processor elements PE and an inter-processor element network NW that connects their input / outputs, and processor elements PE. And an input / output port 10 for inputting data and outputting data from the PE.

図1には,1つのリコンフィグレーションアレイR_ARRAYだけが示されている。しかし,本実施の形態におけるリコンフィグ可能な集積回路R_LSIは,それぞれ異なるビット幅のプロセッサエレメントとネットワークとを有するリコンフィグレーションアレイを複数有する。   FIG. 1 shows only one reconfiguration array R_ARRAY. However, the reconfigurable integrated circuit R_LSI in the present embodiment has a plurality of reconfiguration arrays each having a processor element and a network having different bit widths.

複数のプロセッサエレメントPEは,加算器,乗算器,比較器などの機能を有するALUや,遅延回路,カウンタ,セレクタなどの複数種類のプロセッサエレメントである。プロセッサエレメントPEは,コンフィグレーションデータに基づいて任意の状態に構築される。また,プロセッサエレメント間ネットワークNWは,リコンフィグレーションデータに基づいて任意の接続状態に構築される。したがって,リコンフィグレーションデータを設定することで,リコンフィグレーションアレイR_ARRAYは,複数のプロセッサエレメントを任意の状態に接続して,任意のデータ処理回路に再構築可能である。   The plurality of processor elements PE are an ALU having functions such as an adder, a multiplier, and a comparator, and a plurality of types of processor elements such as a delay circuit, a counter, and a selector. The processor element PE is constructed in an arbitrary state based on the configuration data. The inter-processor element network NW is constructed in an arbitrary connection state based on the reconfiguration data. Therefore, by setting the reconfiguration data, the reconfiguration array R_ARRAY can be reconfigured to an arbitrary data processing circuit by connecting a plurality of processor elements to an arbitrary state.

図1中のリコンフィグレーションアレイR_ARRAY内には,ALU機能を有するプロセッサエレメントPE,乗算器MPYの機能を有するプロセッサエレメントPE,メモリRAMの機能を有するプロセッサエレメントPE,レジスタファイルRegFileの機能を有するプロセッサエレメントPEなどが含まれる。メモリプロセッサエレメントは,例えばテーブルデータなどを格納する。   In the reconfiguration array R_ARRAY in FIG. 1, a processor element PE having an ALU function, a processor element PE having a multiplier MPY function, a processor element PE having a memory RAM function, and a processor having a register file RegFile function Element PE etc. are included. The memory processor element stores, for example, table data.

リコンフィグ可能な集積回路R_LSIは,さらに,複数種類のコンフィグレーションデータを格納するコンフィグレーションデータメモリ14と,そのメモリ14から所定のコンフィグレーションデータを読み出してリコンフィグレーションアレイR_ARRAYに設定するリコンフィグ制御回路12とを有する。リコンフィグレーション制御回路12は,例えばメモリへのデータ読み出しとリコンフィグレーションデータの設定を指示する命令コードを有するレジスタ群であり,割込信号や状態信号などのイベントに応答して,対応する命令コードを実行する。命令コードを実行することで,リコンフィグレーションデータメモリ14から対応するコンフィグレーションデータを読み出し,リコンフィグレーションアレイR_ARRAYに設定する。   The reconfigurable integrated circuit R_LSI further includes a configuration data memory 14 for storing a plurality of types of configuration data, and a reconfiguration control for reading predetermined configuration data from the memory 14 and setting it in the reconfiguration array R_ARRAY. Circuit 12. The reconfiguration control circuit 12 is a register group having an instruction code for instructing data reading to the memory and setting of the reconfiguration data, for example, in response to an event such as an interrupt signal or a status signal. Run the code. By executing the instruction code, the corresponding configuration data is read from the reconfiguration data memory 14 and set in the reconfiguration array R_ARRAY.

リコンフィグ可能な集積回路R_LSIは,フラッシュメモリなどの外部のメモリ1に格納されているコンフィグレーションデータを含む情報を読み出し,デコーダ18を介して,リコンフィグレーション制御回路12と,コンフィグレーションデータメモリ14と,プロセッサエレメントのうちレジスタファイルRegFile及びメモリRAMのいずれかに振り分けて格納する。   The reconfigurable integrated circuit R_LSI reads information including configuration data stored in an external memory 1 such as a flash memory, and via a decoder 18, a reconfiguration control circuit 12 and a configuration data memory 14. Among the processor elements and stored in either the register file RegFile or the memory RAM.

本実施の形態では,ハードウエア記述言語の1つであるRTL言語により論理設計されたファイルが論理合成され,その論理合成により生成されたコンフィグレーションデータを含む情報RDが,チップ外部のメモリ1に格納される。そして,リコンフィグ可能な集積回路R_LSIでは,例えば電源投入時に,内蔵するローダ16が,その情報RDを外部メモリ1から読み出し,リコンフィグレーションアレイR_ARRAYまたはコンフィグレーションデータメモリ14にロードする。この初期ロード後に,ローダ16が,リコンフィグレーション制御回路12にレディー信号を出力すると,リコンフィグレーション制御回路12は,所定の命令コードを実行し,リコンフィグレーションデータによりリコンフィグレーションアレイR_ARRAYを所定の処理回路に構築する。初期設定が終了すると,リコンフィグレーションアレイ内に構築された処理回路は,入出力ポート10からの入力データを処理し,処理済みの出力データを入出力ポート10から出力する。   In this embodiment, a file logically designed by the RTL language, which is one of the hardware description languages, is logically synthesized, and information RD including configuration data generated by the logical synthesis is stored in the memory 1 outside the chip. Stored. In the reconfigurable integrated circuit R_LSI, for example, when the power is turned on, the built-in loader 16 reads the information RD from the external memory 1 and loads it into the reconfiguration array R_ARRAY or the configuration data memory 14. After the initial loading, when the loader 16 outputs a ready signal to the reconfiguration control circuit 12, the reconfiguration control circuit 12 executes a predetermined instruction code and sets the reconfiguration array R_ARRAY according to the reconfiguration data. Build in the processing circuit. When the initial setting is completed, the processing circuit built in the reconfiguration array processes input data from the input / output port 10 and outputs processed output data from the input / output port 10.

図2は,本実施の形態における複数のリコンフィグレーションアレイを示す図である。図2には,1つのリコンフィグ可能な集積回路R_LSIが内蔵する3つのリコンフィグレーションアレイの例が示されている。リコンフィグレーションアレイR_ARRAY_1は,8ビット(または4ビット)のプロセッサエレメントPEとそれらを接続するプロセッサ間ネットワークNWとを有する。したがって,入出力ポート10から8ビット(または4ビット)のデータを入力し,所定の処理を行い,8ビット(または4ビット)の処理後のデータを出力する。また,8ビット(または4ビット)のデータを所定の値と比較し1ビットの比較結果データを出力するコンパレータCMPからなるプロセッサエレメントを有する。   FIG. 2 is a diagram showing a plurality of reconfiguration arrays in the present embodiment. FIG. 2 shows an example of three reconfiguration arrays built in one reconfigurable integrated circuit R_LSI. The reconfiguration array R_ARRAY_1 has an 8-bit (or 4-bit) processor element PE and an inter-processor network NW connecting them. Therefore, 8-bit (or 4-bit) data is input from the input / output port 10, predetermined processing is performed, and 8-bit (or 4-bit) processed data is output. Further, it has a processor element comprising a comparator CMP that compares 8-bit (or 4-bit) data with a predetermined value and outputs 1-bit comparison result data.

同様に,リコンフィグレーションアレイR_ARRAY_2は,8ビット(または4ビット)の2倍の16ビット(または8ビット)のプロセッサエレメントPEとそれらを接続するプロセッサ間ネットワークNWとを有する。したがって,入出力ポート10から16ビット(または8ビット)のデータを入力し,所定の処理を行い,16ビット(または8ビット)の処理後のデータを出力する。また,16ビット(または8ビット)のデータを所定の値と比較し1ビットの比較結果データを出力するコンパレータCMPからなるプロセッサエレメントを有する。   Similarly, the reconfiguration array R_ARRAY_2 has a processor element PE of 16 bits (or 8 bits), which is twice as many as 8 bits (or 4 bits), and an interprocessor network NW connecting them. Accordingly, 16-bit (or 8-bit) data is input from the input / output port 10, predetermined processing is performed, and 16-bit (or 8-bit) processed data is output. Further, it has a processor element composed of a comparator CMP that compares 16-bit (or 8-bit) data with a predetermined value and outputs 1-bit comparison result data.

3つ目のリコンフィグレーションアレイR_ARRAY_0は,1ビットの制御信号を処理するコンパレータCMPやデコーダDECからなるプロセッサエレメントと,それらを接続するプロセッサ間ネットワークNWとを有する。このアレイR_ARRAY_0には,図示しないが,1ビットのデータを処理する所定の論理回路,セレクタなどのプロセッサエレメントであってもよい。   The third reconfiguration array R_ARRAY_0 includes a processor element including a comparator CMP and a decoder DEC that process a 1-bit control signal, and an inter-processor network NW that connects them. Although not shown, this array R_ARRAY_0 may be a processor element such as a predetermined logic circuit or selector that processes 1-bit data.

3つのリコンフィグレーションアレイR_ARRAYは,それぞれビット幅が異なる。そのため,いずれかのリコンフィグレーションアレイ内には,異なるビット幅の信号線を変換するビット幅変換エレメントBND,SPLが設けられる。   The three reconfiguration arrays R_ARRAY have different bit widths. For this reason, one of the reconfiguration arrays is provided with bit width conversion elements BND and SPL for converting signal lines having different bit widths.

ビット幅変換エレメントのうち,ビット結合エレメントBNDは,少ないビット幅の信号線に,他の信号線を結合し,または所定の値を有する信号線を結合して,より多いビット幅の信号線に変換する。図中,リコンフィグレーションアレイR_ARRAY_2内のビット結合エレメントBNDは,1ビットの信号線を16ビット(または8ビット)の信号線に,または8ビット(または4ビット)の信号線を16ビット(または8ビット)の信号線に変換する。また,リコンフィグレーションアレイR_ARRAY_1内のビット結合エレメントBNDは,1ビットの信号線を8ビット(または4ビット)の信号線に変換する。   Among the bit width conversion elements, the bit coupling element BND is a signal line having a larger bit width by coupling another signal line or a signal line having a predetermined value to a signal line having a smaller bit width. Convert. In the figure, the bit combination element BND in the reconfiguration array R_ARRAY_2 has a 1-bit signal line as a 16-bit (or 8-bit) signal line, or an 8-bit (or 4-bit) signal line as 16 bits (or (8 bit) signal line. The bit coupling element BND in the reconfiguration array R_ARRAY_1 converts a 1-bit signal line into an 8-bit (or 4-bit) signal line.

また,ビット幅変換エレメントのうち,ビット分離エレメントSPLは,多いビット幅の信号線の一部を分離して,より少ないビット幅の信号線に変換する。図中,リコンフィグレーションアレイR_ARRAY_2内のビット分離エレメントSPLは,16ビット(または8ビット)の信号線の1ビットを分離して1ビットの信号線に,または16ビット(または8ビット)の信号線の8ビット(または4ビット)を分離して8ビット(または4ビット)の信号線に変換する。また,リコンフィグレーションアレイR_ARRAY_1内のビット分離エレメントSPLは,8ビット(または4ビット)の信号線の1ビットを分離して1ビットの信号線に変換する。   Of the bit width conversion elements, the bit separation element SPL separates a part of a signal line having a large bit width and converts it into a signal line having a smaller bit width. In the figure, the bit separation element SPL in the reconfiguration array R_ARRAY_2 separates 1 bit of a 16-bit (or 8-bit) signal line and outputs it to a 1-bit signal line or a 16-bit (or 8-bit) signal. The 8 bits (or 4 bits) of the line are separated and converted to an 8 bit (or 4 bit) signal line. Further, the bit separation element SPL in the reconfiguration array R_ARRAY_1 separates one bit of the 8-bit (or 4-bit) signal line and converts it into a 1-bit signal line.

以下,図2に示されているとおり,リコンフィグーションアレイR_ARRAY_2は16ビット,R_ARRAY_1は8ビットとして説明する。   In the following description, as shown in FIG. 2, the reconfiguration array R_ARRAY_2 is 16 bits and R_ARRAY_1 is 8 bits.

図3は,本実施の形態におけるビット幅変換エレメントを示す図である。図2のビット幅変換エレメントを更に説明する図である。図中,16ビット,8ビット,1ビットのネットワークNWがそれぞれ示され,それらのネットワークからの16ビット信号線と,8ビット信号線と,1ビット信号線との間が,ビット分離エレメント20−22とビット結合エレメント23,24とによりビット幅変換される。   FIG. 3 is a diagram showing a bit width conversion element in the present embodiment. FIG. 3 is a diagram for further explaining the bit width conversion element of FIG. 2. In the figure, 16-bit, 8-bit, and 1-bit networks NW are respectively shown, and a bit separation element 20-is formed between the 16-bit signal line, the 8-bit signal line, and the 1-bit signal line from these networks. The bit width is converted by 22 and the bit coupling elements 23 and 24.

たとえば,ビット分離エレメント20は,16ビット信号線の8ビットまたは一部のビットを分離し,分離した8ビットを出力し,または一部のビットに所定の値の信号線を加えて8ビットを出力する。同様に,ビット分離エレメント22は,8ビット信号線の1ビットを分離し,分離した1ビットを出力する。また,ビット分離エレメント21は,16ビット信号線の1ビットを分離し,分離した1ビットを出力する。   For example, the bit separation element 20 separates 8 bits or a part of a 16-bit signal line, outputs the separated 8 bits, or adds a signal line of a predetermined value to a part of the bits to obtain 8 bits. Output. Similarly, the bit separation element 22 separates one bit of the 8-bit signal line and outputs the separated one bit. The bit separation element 21 separates one bit of the 16-bit signal line and outputs the separated one bit.

一方,ビット結合エレメント23は,2組の8ビット信号線を結合して16ビット信号線を出力したり,8ビット信号線に他の8ビットの値を有する信号線を追加して16ビット信号線を出力する。あるいは,ビット結合エレメント23は,1ビット信号線に15ビットの値を有する信号線を追加して16ビットを出力したり,1ビット信号線と8ビット信号線を結合しさらに7ビットの値を有する信号線を追加して16ビットを出力する。また,ビット結合エレメント24は,1ビット信号線に7ビットの値を有する信号線を追加して8ビットを出力する。   On the other hand, the bit coupling element 23 combines two sets of 8-bit signal lines to output a 16-bit signal line, or adds another signal line having a value of 8 bits to the 8-bit signal line. Output a line. Alternatively, the bit coupling element 23 adds a signal line having a 15-bit value to the 1-bit signal line and outputs 16 bits, or couples the 1-bit signal line and the 8-bit signal line to obtain a 7-bit value. A 16-bit signal is output by adding a signal line. The bit coupling element 24 adds a signal line having a 7-bit value to the 1-bit signal line and outputs 8 bits.

図中,ビット分離エレメント20,21は,図2中のリコンフィグレーションアレイR_ARRAY_2内のビット分離エレメントSPLに対応する。また,ビット分離エレメント22は,図2中のリコンフィグレーションアレイR_ARRAY_1内のビット分離エレメントSPLに対応する。さらに,ビット結合エレメント23,24は,それぞれ,図2のリコンフィグレーションアレイR_ARRAY_2,R_ARRAY_1内のビット結合エレメントBNDに対応する。   In the figure, bit separation elements 20 and 21 correspond to the bit separation element SPL in the reconfiguration array R_ARRAY_2 in FIG. The bit separation element 22 corresponds to the bit separation element SPL in the reconfiguration array R_ARRAY_1 in FIG. Further, the bit combination elements 23 and 24 correspond to the bit combination elements BND in the reconfiguration arrays R_ARRAY_2 and R_ARRAY_1 in FIG. 2, respectively.

以上,図2,3で示したとおり,リコンフィグ可能な集積回路R_LSIは,汎用的な8bitを最小単位として,8bit,16bit,32bitなど8bitの整数倍のビット幅の演算精度を有するプロセッサエレメントとプロセッサエレメント間ネットワークを有する複数のリコンフィグレーションアレイと,1bitの制御信号を処理するプロセッサエレメントとネットワークを有するリコンフィグレーションアレイとを有する。そして,異なる演算精度のリコンフィグレーションアレイ間のビット幅変換のためのビット幅変換エレメントを設け,異なるビット幅の信号の連結や分離処理を可能にする。   As shown in FIGS. 2 and 3, the reconfigurable integrated circuit R_LSI has a processor element having a calculation accuracy of an integer multiple of 8 bits such as 8 bits, 16 bits, 32 bits, etc., with a general unit of 8 bits as a minimum unit. It has a plurality of reconfiguration arrays having a network between processor elements, and a reconfiguration array having a processor element for processing 1-bit control signals and a network. Then, a bit width conversion element for converting the bit width between the reconfiguration arrays having different calculation precisions is provided, thereby enabling connection and separation processing of signals having different bit widths.

図4は,本実施の形態におけるリコンフィグ可能な集積回路R_LSI内のリコンフィグレーションアレイR_ARRAYを示す図である。図1で説明したとおり,リコンフィグレーションアレイR_ARRAYは,コンフィグレーションデータにより任意の回路に構築される複数のプロセッサエレメントPEと,それらを接続するとともに,コンフィグレーションデータにより任意の接続状態に構築されるプロセッサエレメント間ネットワークNWを有する。複数のプロセッサエレメントPEの中には,前述のビット幅変換エレメントも含まれる。   FIG. 4 is a diagram showing a reconfiguration array R_ARRAY in the reconfigurable integrated circuit R_LSI according to the present embodiment. As described with reference to FIG. 1, the reconfiguration array R_ARRAY is connected to a plurality of processor elements PE constructed in an arbitrary circuit by configuration data, and is constructed in an arbitrary connection state by configuration data. It has a network NW between processor elements. The plurality of processor elements PE include the above-described bit width conversion element.

1つのリコンフィグレーションアレイR_ARRAY内は,単一のビット幅で構成される。したがって,入出力ポート10(IN),10(OUT)も同じビット幅を有する。   One reconfiguration array R_ARRAY has a single bit width. Therefore, the input / output ports 10 (IN) and 10 (OUT) also have the same bit width.

図5は,本実施の形態におけるリコンフィグレーションアレイR_ARRAYの具体例を示す図である。プロセッサエレメントPE0〜PE3と,メモリプロセッサエレメントPE5と,それ以外のプロセッサエレメントPE4とは,プロセッサエレメント間ネットワークSW内のスイッチであるセレクタ41を介して接続可能に構成されている。各プロセッサエレメントPE0〜PE5は,コンフィグレーションデータCD0〜CD5に基づいて任意の構成に構築可能である。また,ネットワークNW内のセレクタ41(41a,41b,41c)も,コンフィグレーションデータCDsに基づいて任意の構成に構築可能である。   FIG. 5 is a diagram showing a specific example of the reconfiguration array R_ARRAY in the present embodiment. The processor elements PE0 to PE3, the memory processor element PE5, and the other processor elements PE4 are configured to be connectable via a selector 41 that is a switch in the inter-processor element network SW. Each processor element PE0-PE5 can be constructed in any configuration based on the configuration data CD0-CD5. The selector 41 (41a, 41b, 41c) in the network NW can also be constructed in an arbitrary configuration based on the configuration data CDs.

各プロセッサエレメントPEは,それぞれの演算処理を終了すると終了信号CS0〜CS3を出力する。この終了信号がイベントとしてリコンフィグレーション制御回路12に与えられ,適切なタイミングで次のコンフィグレーションデータCDがプロセッサエレメントPEに供給され,別の演算回路に構築される。   Each processor element PE outputs end signals CS0 to CS3 upon completion of the respective arithmetic processing. This end signal is given as an event to the reconfiguration control circuit 12, and the next configuration data CD is supplied to the processor element PE at an appropriate timing, and is constructed in another arithmetic circuit.

セレクタ41は,図中左下に一例として示されるとおり,コンフィグレーションデータCDを格納するレジスタ42と,レジスタ42のデータに応じて入力を選択するセレクタ回路43とを有する。さらに,セレクタ回路43の出力をクロックCKに同期してラッチするフリップフロップ44を有しても良い。また,ネットワークNWは,データの入力ポート10(IN)と出力ポート10(OUT)ともセレクタを介して所望の接続を可能にしている。   The selector 41 includes a register 42 that stores configuration data CD and a selector circuit 43 that selects an input according to the data in the register 42, as shown as an example in the lower left of the figure. Further, a flip-flop 44 that latches the output of the selector circuit 43 in synchronization with the clock CK may be provided. The network NW also enables desired connection to the data input port 10 (IN) and the output port 10 (OUT) via a selector.

図6は,本実施の形態におけるリコンフィグレーションアレイR_ARRAYの具体例を示す別の図である。図示されるとおり,プロセッサエレメントPEは,プロセッサエレメント間ネットワークNWからデータを入力し,演算部52がそれを処理し,出力部53からデータがネットワークNWに出力される。また,各プロセッサエレメントPEは,コンフィグレーションデータレジスタ50を有し,このレジスタ50にはコンフィグレーションデータメモリ14からコンフィグレーションデータCDを含む情報が設定され保持される。   FIG. 6 is another diagram showing a specific example of the reconfiguration array R_ARRAY in the present embodiment. As illustrated, the processor element PE receives data from the inter-processor element network NW, the arithmetic unit 52 processes the data, and the output unit 53 outputs the data to the network NW. Each processor element PE has a configuration data register 50. Information including the configuration data CD is set and held in the register 50 from the configuration data memory 14.

そして,その情報に基づいて,プロセッサエレメントPE内の演算部52は所定の機能を演算回路に構築される。同様に,出力部53もその情報に基づいて構築される。さらに,メモリまたはレジスタファイルのプロセッサエレメントPEには,その情報が,テーブルデータまたはレジスタ値として格納される。また,ネットワークNWもコンフィグレーションデータDCに基づいて任意の接続状態に構築される。   Based on the information, the calculation unit 52 in the processor element PE has a predetermined function built in the calculation circuit. Similarly, the output unit 53 is constructed based on the information. Further, the information is stored as table data or register values in the processor element PE of the memory or register file. The network NW is also constructed in an arbitrary connection state based on the configuration data DC.

図7は,本実施の形態のリコンフィグ可能な集積回路の開発環境について示す図である。図7には,概略的な開発工程が示されている。   FIG. 7 is a diagram showing the development environment of the reconfigurable integrated circuit of this embodiment. FIG. 7 shows a schematic development process.

まず,設計者によりRTL記述言語で記述された回路記述ファイルが生成される(S10)。図7には,3種類の回路記述ファイルが生成されている。さらに,RTL記述言語による回路記述ファイルに加えて,設計者によりライブラリ内の回路セルを組み合わせた回路記述ファイルが生成される(S12)。この回路記述ファイルは,論理回路のデータになる。   First, a circuit description file described in the RTL description language is generated by the designer (S10). In FIG. 7, three types of circuit description files are generated. Further, in addition to the circuit description file in the RTL description language, the circuit description file in which the circuit cells in the library are combined is generated by the designer (S12). This circuit description file becomes data of the logic circuit.

そして,これらの回路記述ファイルを論理合成すると,コンフィグレーションデータを含むコンフィグレーション情報が作成される(S14)。このコンフィグレーション情報は,図1に示したフラッシュメモリ1に書き込まれる(S16)。   When these circuit description files are logically synthesized, configuration information including configuration data is created (S14). This configuration information is written into the flash memory 1 shown in FIG. 1 (S16).

このように,本実施の形態のリコンフィグ可能な集積回路は,主に,RTL記述言語で論理設計された回路記述ファイルを論理合成して得られるコンフィグレーションデータの情報により,任意の回路構成に構築可能になっている。したがって,本実施の形態のリコンフィグ可能集積回路は,RTL記述言語に多く現れるような異なるビット幅のデータの結合や分離に適したプロセッサエレメントを内蔵する。   As described above, the reconfigurable integrated circuit according to the present embodiment can be arbitrarily configured according to the configuration data information obtained by logically synthesizing the circuit description file logically designed in the RTL description language. It is possible to build. Therefore, the reconfigurable integrated circuit according to the present embodiment incorporates a processor element suitable for combining and separating data having different bit widths, which often appears in the RTL description language.

図8は,本実施の形態におけるリコンフィグ可能な集積回路の起動シーケンスを示すフローチャート図である。集積回路の電源がオンになると(S20),内蔵されるローダ16が,チップ外のフラッシュメモリ1の読み出し指示を行う(S21)。これにより,フラッシュメモリ1内のコンフィグレーションデータを含む情報の読み出しが開始する(S22)。集積回路内のデコーダ18は,フラッシュメモリ1から順次読み出されるコンフィグレーション情報を解釈して,リコンフィグレーション制御部12,コンフィグレーションデータメモリ14,メモリプロセッサエレメントRAM(PE),レジスタファイルのプロセッサエレメント(RegFile(PE)などに分配し,インストールする(S23)。   FIG. 8 is a flowchart showing a start-up sequence of the reconfigurable integrated circuit in this embodiment. When the power source of the integrated circuit is turned on (S20), the built-in loader 16 instructs to read the flash memory 1 outside the chip (S21). Thereby, reading of information including configuration data in the flash memory 1 is started (S22). The decoder 18 in the integrated circuit interprets the configuration information sequentially read from the flash memory 1, and reconfigures the control unit 12, the configuration data memory 14, the memory processor element RAM (PE), and the processor element ( Distribute to RegFile (PE) etc. and install (S23).

上記のデータの書き込みが終了すると,例えばローダ16が,コンフィグレーションデータの設定を終了したことを示すレディー信号を,リコンフィグレーション制御部12に出力する。これにより,リコンフィグ可能な集積回路は動作可能状態になる(S24)。このレディー信号に応答して,リコンフィグレーション制御回路12は,コンフィグレーションデータメモリ14から最初のコンフィグレーションデータを読み出し,リコンフィグレーションアレイR_ARRAY内のプロセッサエレメントPEやネットワークNWにロードし,最初の処理回路を構築する。そして,構築された処理回路は,入力データに対して構築された機能の信号処理を行う(S25)。   When the writing of the data is finished, for example, the loader 16 outputs a ready signal indicating that the setting of the configuration data is finished to the reconfiguration control unit 12. As a result, the reconfigurable integrated circuit becomes operable (S24). In response to this ready signal, the reconfiguration control circuit 12 reads the first configuration data from the configuration data memory 14, loads it to the processor element PE or network NW in the reconfiguration array R_ARRAY, and performs the first processing. Build a circuit. Then, the constructed processing circuit performs signal processing of the constructed function on the input data (S25).

図9は,本実施の形態におけるリコンフィグ可能な集積回路の起動シーケンスを示すタイミングチャート図である。電源起動に応答してパワーオンリセットPONがLレベルになると,リコンフィグレーションアレイ内部のリセットReset_rがLレベルになり,リセット動作が始まる。それに応答して,ローダ16は,コンフィグレーションデータメモリ14をクリアしながら,外部メモリ1に対してアドレスADRを出力してそこに格納されているコンフィグレーション情報を読み出す。   FIG. 9 is a timing chart showing a start-up sequence of the reconfigurable integrated circuit in the present embodiment. When the power-on reset PON becomes L level in response to the power activation, the reset Reset_r in the reconfiguration array becomes L level, and the reset operation starts. In response to this, the loader 16 outputs the address ADR to the external memory 1 while clearing the configuration data memory 14, and reads the configuration information stored therein.

ローダ16は,コンフィグレーションデータメモリ14のクリアが完了すると,ライト信号Confg_WRをHレベルにして,コンフィグレーション情報をCRCチェックしながら,コンフィグレーションデータメモリ14に書き込む。このとき,メモリプロセッサエレメントRAM(PE)や,レジスタファイルのプロセッサエレメントRegFile(PE)にもコンフィグレーション情報の書き込みが行われる。この書き込みが終了すると,ローダ16により,内部リセット信号Reset_rが解除され,リコンフィグレーション制御回路12にレディー信号が発行される。   When the clearing of the configuration data memory 14 is completed, the loader 16 sets the write signal Confg_WR to the H level and writes the configuration information to the configuration data memory 14 while performing a CRC check. At this time, the configuration information is also written to the memory processor element RAM (PE) and the processor element RegFile (PE) of the register file. When this writing is completed, the internal reset signal Reset_r is canceled by the loader 16 and a ready signal is issued to the reconfiguration control circuit 12.

図10は,本実施の形態におけるリコンフィグ可能な集積回路のコンフィグレーションデータの切り替えを説明する図である。図10には,コンフィグレーションデータメモリ14の4つのアドレス00−11に4種類のコンフィグレーションデータが格納されていて,それら4種類のコンフィグレーションデータが,割込信号や割込条件に応じてカウンタ12_2や割り込み制御回路12_3によって切り替えられ,または,外部から直接切り替えられることを示している。   FIG. 10 is a diagram for explaining switching of configuration data of a reconfigurable integrated circuit according to the present embodiment. In FIG. 10, four types of configuration data are stored at four addresses 00-11 of the configuration data memory 14, and these four types of configuration data are countered according to interrupt signals and interrupt conditions. It can be switched by 12_2 and interrupt control circuit 12_3, or can be switched directly from the outside.

図10中に示されているとおり,モードセット12_1は,3つのモード状態を持ちうる。すなわち,第1にSimpleモードであり,所定の処理完了End0-End3を示す割込信号INTに応答して,カウンタが000-011と変化し,コンフィグレーションデータメモリ14内の異なるコンフィグレーションデータに切り替えられる。第2にFactorモードであり,所定の処理条件Int0-Int3を示す割込信号INTに応答して,それぞれの処理条件に対応したコンフィグレーションデータに切り替えられる。さらに,外部から制御回路内のレジスタ12_4を直接書き換えることで,それに対応したコンフィグレーションデータに切り替えられる。   As shown in FIG. 10, the mode set 12_1 can have three mode states. That is, the first mode is Simple mode, and the counter changes to 000-011 in response to an interrupt signal INT indicating predetermined processing completion End0-End3, and switches to different configuration data in the configuration data memory 14. It is done. Second, in the Factor mode, in response to an interrupt signal INT indicating a predetermined processing condition Int0-Int3, the configuration data is switched to the configuration data corresponding to each processing condition. Furthermore, by directly rewriting the register 12_4 in the control circuit from the outside, it is possible to switch to the corresponding configuration data.

[ビット幅変換エレメントの例]
以上,本実施の形態におけるリコンフィグ可能な集積回路の概略について説明した。以下,本実施の形態のリコンフィグレーションアレイ間のビット幅変換を行うビット幅変換エレメントの具体例について説明し,最後にあるRTL記述を実現するリコンフィグレーションアレイの具体例について説明する。
[Example of bit width conversion element]
The outline of the reconfigurable integrated circuit in the present embodiment has been described above. A specific example of a bit width conversion element that performs bit width conversion between reconfiguration arrays according to the present embodiment will be described below, and a specific example of a reconfiguration array that realizes the last RTL description will be described.

図11は,あるRTL記述を実現する処理回路例を示す図である。具体的には以下のRTL記述である。
assign X[15:0] = ( A[15:0] + B[15:0] - C[15:0] ) * 16’h0003 ;
前述のとおり,リコンフィグ可能な集積回路は,1bitの制御系リコンフィグレーションアレイと,8bitのデータ処理リコンフィグレーションアレイと,16bitのデータ処理リコンフィグレーションアレイとを有している。そして,上記の16ビット幅しかない演算は,16bitのデータ処理リコンフィグレーションアレイだけで実現される。
FIG. 11 is a diagram illustrating an example of a processing circuit for realizing a certain RTL description. Specifically, it is the following RTL description.
assign X [15: 0] = (A [15: 0] + B [15: 0]-C [15: 0]) * 16'h0003;
As described above, the reconfigurable integrated circuit has a 1-bit control system reconfiguration array, an 8-bit data processing reconfiguration array, and a 16-bit data processing reconfiguration array. The above-described calculation having only a 16-bit width is realized only by a 16-bit data processing reconfiguration array.

図11に示されるとおり,16bitのリコンフィグレーションアレイ内において,演算A + Bの加算をプロセッサエレメントPE0に割り当て,加算値A+BからCを引く減算にプロセッサエレメントPE1を割り当て,その結果を固定値"16'h0003"と乗算する演算をプロセッサエレメントPE4に割り当てている。これらの演算は全て16bit精度である。   As shown in FIG. 11, in the 16-bit reconfiguration array, the addition of the operation A + B is assigned to the processor element PE0, the processor element PE1 is assigned to the subtraction of subtracting C from the addition value A + B, and the result is fixed. An operation to multiply the value “16′h0003” is assigned to the processor element PE4. All of these operations are 16bit precision.

図12は,図11のデータ処理回路を16bitのリコンフィグレーションアレイR_ARRAY_2で構築した例である。図示しないコンフィグレーションデータにより,プロセッサエレメントPE0は加算器に,プロセッサエレメントPE1は減算器に,プロセッサエレメントPE4は乗算器にそれぞれ構築される。さらに,コンフィグレーションデータによりプロセッサエレメント間ネットワークNWは,入力ポート10(IN)の入力データA,BがプロセッサエレメントPE0に入力され,その出力と入力データCがプロセッサエレメントPE1に入力され,その出力とメモリプロセッサRAM(PE)内の変数"16'h0003"とがプロセッサエレメントPE4に入力され,その出力が出力ポート10(OUT)に出力されるように構築される。   FIG. 12 shows an example in which the data processing circuit of FIG. 11 is constructed with a 16-bit reconfiguration array R_ARRAY_2. Based on configuration data (not shown), the processor element PE0 is constructed as an adder, the processor element PE1 is constructed as a subtracter, and the processor element PE4 is constructed as a multiplier. Further, according to the configuration data, the inter-processor element network NW receives input data A and B of the input port 10 (IN) as input to the processor element PE0, and outputs and input data C as input to the processor element PE1. The variable “16′h0003” in the memory processor RAM (PE) is input to the processor element PE4, and the output is configured to be output to the output port 10 (OUT).

図11の処理回路を図12のように同じ16bitのリコンフィグレーションアレイ内で構築することは,従来と同等である。   Constructing the processing circuit of FIG. 11 in the same 16-bit reconfiguration array as shown in FIG. 12 is equivalent to the prior art.

図13は,あるRTL記述を実現する処理回路例を示す図である。この例は,16bitまたは8bitデータを演算した結果を1ビットの信号で出力する回路である。図13(A)は,以下のRTL記述である。
if (X[15:0] = 16’h0001)
すなわち,16bitのデータXが定数"16'h0001"と等しいか否かを判定するコンパレータ回路である。出力は,等しいか否かを示す1bit出力である。
FIG. 13 is a diagram illustrating an example of a processing circuit for realizing a certain RTL description. This example is a circuit that outputs the result of computing 16-bit or 8-bit data as a 1-bit signal. FIG. 13A shows the following RTL description.
if (X [15: 0] = 16'h0001)
In other words, the comparator circuit determines whether or not 16-bit data X is equal to a constant “16′h0001”. The output is a 1-bit output that indicates whether they are equal.

また,図13(B)は,以下のRTL記述であり,8bitのデータXが定数"8'h01"と等しいか否かを判定するコンパレータ回路である。この場合も,出力は,等しいか否かを示す1bit出力である。
if (X[7:0] = 8’h01)
図14,図15は,図13(A)のRTL記述をリコンフィグレーションアレイで構築した例である。まず,図13(A)のRTL記述は,16bitのデータXが定数"16'h0001"と等しいか否かを判定するコンパレータ回路であるので,16bitのリコンフィグレーションアレイR_ARRAY_2内のコンパレータプロセッサエレメントCMPにより実現される。そして,図14の例は,そのコンパレータプロセッサエレメントCMP内に定数を設定できる構成例であり,図15の例は,設定できない構成例である。
FIG. 13B shows the following RTL description, which is a comparator circuit that determines whether 8-bit data X is equal to a constant “8′h01”. Again, the output is a 1-bit output that indicates whether they are equal.
if (X [7: 0] = 8'h01)
FIGS. 14 and 15 are examples in which the RTL description of FIG. 13A is constructed by a reconfiguration array. First, since the RTL description in FIG. 13A is a comparator circuit that determines whether or not the 16-bit data X is equal to the constant “16'h0001”, the comparator processor element CMP in the 16-bit reconfiguration array R_ARRAY_2 It is realized by. The example of FIG. 14 is a configuration example in which constants can be set in the comparator processor element CMP, and the example of FIG. 15 is a configuration example that cannot be set.

図14では,入力ポート10(IN)から定数をコンパレータプロセッサエレメントCMP60内に設定し,さらに,入力ポート10(IN)からデータXを入力するように,ネットワークNWとコンパレータプロセッサエレメントCMP60が構築されている。そして,判定結果の1bitデータは,1bitのリコンフィグレーションアレイR_ARRAY_0のネットワークに出力される。   In FIG. 14, the network NW and the comparator processor element CMP60 are constructed so that constants are set in the comparator processor element CMP60 from the input port 10 (IN) and data X is input from the input port 10 (IN). Yes. Then, the 1-bit data of the determination result is output to the network of the 1-bit reconfiguration array R_ARRAY_0.

図15では,コンパレータプロセッサエレメントCMP60内に定数を設定できない構成である。そのため,定数を設定できるプロセッサエレメントPE62に,入力ポート10(IN)から定数"16'h001"を設定できるように構築される。さらに,入力ポート10(IN)からデータXを,プロセッサエレメントPE62から定数をそれぞれコンパレータプロセッサエレメントCMP60に入力するように,16bitのリコンフィグレーションアレイR_ARRAY_2内のプロセッサエレメントPE62とコンパレータプロセッサエレメントCMP60とネットワークNWとが構築される。さらに,判定結果の1bitデータは,1bitのリコンフィグレーションアレイR_ARRAY_0のネットワークに出力されるように構築される。   In FIG. 15, a constant cannot be set in the comparator processor element CMP60. Therefore, the processor element PE62 that can set a constant is constructed so that the constant "16'h001" can be set from the input port 10 (IN). Further, the processor element PE62, the comparator processor element CMP60, and the network NW in the 16-bit reconfiguration array R_ARRAY_2 are configured so that the data X is input from the input port 10 (IN) and the constant is input from the processor element PE62 to the comparator processor element CMP60. And are built. Furthermore, the 1-bit data of the determination result is constructed so as to be output to the network of the 1-bit reconfiguration array R_ARRAY_0.

図16は,あるRTL記述を実現する処理回路例を示す図である。この例は,16bitのデータを8bitデータにビット幅変換するビット分割エレメントの回路例である。図16(A)のRTL記述は次の通りである。
assign X[7:0] = IN_DATA[9:2] ;
ただし,IN_DATAは16bitデータとする。
FIG. 16 is a diagram illustrating an example of a processing circuit for realizing a certain RTL description. This example is a circuit example of a bit division element that converts 16-bit data into 8-bit data. The RTL description in FIG. 16 (A) is as follows.
assign X [7: 0] = IN_DATA [9: 2];
However, IN_DATA is 16bit data.

この場合は,16bitのデータIN_DATAの[9:2]ビットの値が,8bitデータのX[7:0]に変換されるビット分割エレメントSPL(PE)で実現される。   In this case, the value of [9: 2] bits of 16-bit data IN_DATA is realized by a bit division element SPL (PE) that is converted to X [7: 0] of 8-bit data.

一方,図16(B)のRTL記述は次の通りである。
assign X[7:0] = IN_DATA[6:2] ;
ただし,IN_DATAは16bitデータとする。
On the other hand, the RTL description of FIG. 16B is as follows.
assign X [7: 0] = IN_DATA [6: 2];
However, IN_DATA is 16bit data.

この場合は,16bitのデータIN_DATAの[6:2]ビットの値が8bitデータのX[7:0]に変換される。データIN_DATAの[6:2]ビットは,5bitであり,用意されている8bit,16bitのリコンフィグレーションアレイとビット幅が整合しない。そこで,5bitのデータがビット幅変換エレメント(ビット分割エレメント)によりデータ拡張されて8bitデータにされ,8bitのリコンフィグレーションアレイで処理される。   In this case, the [6: 2] bit value of 16-bit data IN_DATA is converted to X [7: 0] of 8-bit data. The [6: 2] bits of data IN_DATA are 5 bits, and the bit width does not match the prepared 8-bit and 16-bit reconfiguration arrays. Therefore, 5-bit data is expanded by a bit width conversion element (bit division element) to be 8-bit data and processed by an 8-bit reconfiguration array.

データX[7:0]がUnsignedデータの場合は,上位3bitを"0"で埋める。すなわち,上位3bitは,"3'b000"になる。つまり,ビット分割エレメントSPLは,16bitのデータIN_DATAの[6:2]ビットの値を分離して,データXの下位5bitとし(X[4:0]),上位3bitを"3'b000"とする。   When data X [7: 0] is Unsigned data, the upper 3 bits are filled with "0". That is, the upper 3 bits are "3'b000". In other words, the bit division element SPL separates the [6: 2] bit value of the 16-bit data IN_DATA into the lower 5 bits of the data X (X [4: 0]), and the upper 3 bits are "3'b000". To do.

また,データX[7:0]がSignedデータの場合は,上位3bitを符号拡張する。すなわち,上位3bitは"3{X[4]}"になる。つまり,ビット分割エレメントSPLは,16bitのデータIN_DATAの[6:2]ビットの値を分離して,データXの下位5bitとし(X[4:0]),上位3bitを符号ビットX[4]で拡張した"3{X[4]}"とする。   When the data X [7: 0] is signed data, the upper 3 bits are sign-extended. That is, the upper 3 bits are "3 {X [4]}". That is, the bit division element SPL separates the [6: 2] bit value of the 16-bit data IN_DATA into the lower 5 bits of the data X (X [4: 0]), and the upper 3 bits are the sign bits X [4] Let “3 {X [4]}” expanded in

図17は,図16(A)(B)のRTL記述をリコンフィグレーションアレイで構築した例である。いずれの場合も,16bitリコンフィグレーションアレイR_ARRAY_2内のビット分割エレメントSPL64が,上記のビット分割と,上位ビットの結合を行うように構築される。そして,ビット幅変換された8bitデータは,8bitリコンフィグレーションアレイR_ARRAY_1内のネットワークに出力される。   FIG. 17 is an example in which the RTL description of FIGS. 16A and 16B is constructed by a reconfiguration array. In either case, the bit division element SPL64 in the 16-bit reconfiguration array R_ARRAY_2 is constructed so as to perform the bit division and the combination of the upper bits. Then, the 8-bit data whose bit width has been converted is output to the network in the 8-bit reconfiguration array R_ARRAY_1.

図18は,あるRTL記述を実現する処理回路例とそれをリコンフィグレーションアレイで構築した例を示す図である。図18(A)の例は,16bitのデータを1bitデータにビット幅変換するビット分割エレメントの回路例である。図18(A)のRTL記述は次の通りである。
assign X = IN_DATA[1] ;
すなわち,16bitの入力データIN_DATAの1ビット目の値を1bitデータXに変換している。
FIG. 18 is a diagram showing an example of a processing circuit that realizes a certain RTL description and an example in which the processing circuit is constructed by a reconfiguration array. The example of FIG. 18A is a circuit example of a bit division element that converts 16-bit data into 1-bit data. The RTL description in FIG. 18 (A) is as follows.
assign X = IN_DATA [1];
That is, the value of the first bit of the 16-bit input data IN_DATA is converted into 1-bit data X.

図18(B)に示されるとおり,入力バッファ10(IN)から入力された16bitの入力データIN_DATA[15:0]が,16bitのリコンフィグレーションアレイR_ARRAY_2内のネットワークNWを介して,ビット分割エレメントSPL64に入力されるように構築される。そして,ビット分割エレメントSPL64では,16bitの入力データIN_DATA[15:0]のうち1bit目の値を分離して,1bitデータXに変換し,その出力は1bitのリコンフィグレーションアレイR_ARRAY_0のネットワークNWに供給するように構築される。このように,1bitのリコンフィグレーションアレイR_ARRAY_0は,1bitの制御信号だけでなく,1bitのデータ信号も処理する。   As shown in FIG. 18B, 16-bit input data IN_DATA [15: 0] input from the input buffer 10 (IN) is converted into bit division elements via the network NW in the 16-bit reconfiguration array R_ARRAY_2. Built to be input to SPL64. In the bit division element SPL64, the value of the first bit of the 16-bit input data IN_DATA [15: 0] is separated and converted to 1-bit data X, and the output is sent to the network NW of the 1-bit reconfiguration array R_ARRAY_0. Built to supply. Thus, the 1-bit reconfiguration array R_ARRAY_0 processes not only 1-bit control signals but also 1-bit data signals.

図20〜図22は,あるRTL記述を実現する処理回路例を示す図である。ここには,6種類のRTL記述とその処理回路例が示されている。これらのRTL記述は,8bitの入力データIN_DATA0[7:0]とIN_DATA1[7:0]とをそのまま結合,もしくは一部のビットを結合し残りを他の値で埋める例である。この場合は,ビット結合エレメントで実現可能である。   20 to 22 are diagrams showing examples of processing circuits for realizing a certain RTL description. Here, six types of RTL descriptions and their processing circuit examples are shown. These RTL descriptions are examples in which 8-bit input data IN_DATA0 [7: 0] and IN_DATA1 [7: 0] are combined as they are, or some bits are combined and the rest are filled with other values. In this case, it can be realized by a bit coupling element.

また,図19は,図20〜図22のRTL記述を実現する処理回路をリコンフィグレーションアレイで構築した例を示す図である。8bitのリコンフィグレーションアレイR_ARRAY_1の2つの8bitデータが,16bitのリコンフィグレーションアレイR_ARRAY_2内のビット結合エレメントBND66で構築されている。   FIG. 19 is a diagram illustrating an example in which a processing circuit that realizes the RTL description of FIGS. 20 to 22 is constructed by a reconfiguration array. Two 8-bit data of the 8-bit reconfiguration array R_ARRAY_1 is constructed by the bit combination element BND66 in the 16-bit reconfiguration array R_ARRAY_2.

図20(A)のRTL記述は次の通りである。
assign X[15:0] = {IN_DATA1[7:0], IN_DATA0[7:0]} ;
入力IN_DATA0, IN_DATA1は8bit幅のデータ,データX[15:0]は16bitのデータである。
The RTL description in FIG. 20 (A) is as follows.
assign X [15: 0] = {IN_DATA1 [7: 0], IN_DATA0 [7: 0]};
Inputs IN_DATA0 and IN_DATA1 are 8-bit data, and data X [15: 0] is 16-bit data.

このRTL記述は,入力IN_DATA0, IN_DATA1は8bit幅のデータをそれぞれ下位8ビットと上位8ビットに結合して16bitのデータX[15:0]として出力するビット結合エレメントBND(PE)で実現される。   This RTL description is realized by the bit combination element BND (PE) that inputs IN_DATA0 and IN_DATA1 combine 8-bit data to lower 8 bits and upper 8 bits and output as 16-bit data X [15: 0]. .

したがって,リコンフィグ可能な集積回路では,図19に示したとおり,例えば,入力ポート10(IN)から入力された2つの8bit入力データIN_DATA1[7:0], IN_DATA0[7:0]は,8bitのリコンフィグレーションアレイR_ARRAY_1内のネットワークNWを経由して,16bitのリコンフィグレーションアレイR_ARRAY_2内のビット結合エレメントBND66に入力され,結合されて,ネットワークNWに出力されるように構築される。   Therefore, in the reconfigurable integrated circuit, as shown in FIG. 19, for example, two 8-bit input data IN_DATA1 [7: 0] and IN_DATA0 [7: 0] input from the input port 10 (IN) are 8 bits. It is constructed such that it is input to the bit combination element BND66 in the 16-bit reconfiguration array R_ARRAY_2 via the network NW in the reconfiguration array R_ARRAY_1, combined, and output to the network NW.

図20(B)のRTL記述は次の通りである。
assign X[15:0] = {3{1'b0},IN_DATA1[4:0], IN_DATA0[7:0]} ;
入力IN_DATA0は8bit幅のデータ, IN_DATA1は5bit幅のデータ,データX[15:0]は16bitのデータである。つまり,入力IN_DATA1[4:0]は,5bit幅であり,入力IN_DATA0[7:0]と結合しても13bit幅であり,いずれのリコンフィグレーションアレイのビット幅とも整合していない。したがって,このビット結合エレメントBND(PE)は,上位の3ビットを"0"で埋める。これにより,16bitのデータX[15:0]は,Unsignedなデータとして,16bitのリコンフィグレーションアレイR_ARRAY_2で演算処理することができる。
The RTL description in FIG. 20B is as follows.
assign X [15: 0] = {3 {1'b0}, IN_DATA1 [4: 0], IN_DATA0 [7: 0]};
Input IN_DATA0 is 8-bit data, IN_DATA1 is 5-bit data, and data X [15: 0] is 16-bit data. In other words, the input IN_DATA1 [4: 0] is 5 bits wide and is 13 bits wide even if coupled to the input IN_DATA0 [7: 0], and does not match the bit width of any reconfiguration array. Therefore, this bit combination element BND (PE) fills the upper 3 bits with “0”. As a result, 16-bit data X [15: 0] can be processed as unsigned data by the 16-bit reconfiguration array R_ARRAY_2.

このRTL記述も,リコンフィグ可能な集積回路では,図19に示したとおりビット結合エレメントBND66により構築される。   This RTL description is also constructed by the bit coupling element BND66 as shown in FIG. 19 in the reconfigurable integrated circuit.

図21(C)のRTL記述は次の通りである。
assign X[15:0] = {3{IN_DATA1[4]},IN_DATA1[4:0], IN_DATA0[7:0]} ;
入力IN_DATA0は8bit幅のデータ, IN_DATA1は5bit幅のデータ,データX[15:0]は16bitのデータである。つまり,入力IN_DATA1[4:0]は,5bit幅であり,入力IN_DATA0[7:0]と結合しても13bit幅であり,いずれのリコンフィグレーションアレイのビット幅とも整合していない。この場合,図20(B)と異なり,ビット結合エレメントBND(PE)は,上位の3ビットを符号ビットIN_DATA1[4]で埋める。つまり,結合された16bitデータX[15:0]はSignedのデータになる。
The RTL description in FIG. 21C is as follows.
assign X [15: 0] = {3 {IN_DATA1 [4]}, IN_DATA1 [4: 0], IN_DATA0 [7: 0]};
Input IN_DATA0 is 8-bit data, IN_DATA1 is 5-bit data, and data X [15: 0] is 16-bit data. In other words, the input IN_DATA1 [4: 0] is 5 bits wide and is 13 bits wide even if coupled to the input IN_DATA0 [7: 0], and does not match the bit width of any reconfiguration array. In this case, unlike FIG. 20B, the bit combination element BND (PE) fills the upper 3 bits with the sign bit IN_DATA1 [4]. That is, the combined 16-bit data X [15: 0] becomes Signed data.

このRTL記述も,リコンフィグ可能な集積回路では,図19に示したとおりビット結合エレメントBND66により構築される。   This RTL description is also constructed by the bit coupling element BND66 as shown in FIG. 19 in the reconfigurable integrated circuit.

図21(D)のRTL記述は次の通りである。
assign X[15:0] = {IN_DATA1[7:0], 3{1'b0}, IN_DATA0[4:0]} ;
入力IN_DATA0は5bit幅のデータ, IN_DATA1は7bit幅のデータ,データX[15:0]は16bitのデータである。つまり,入力IN_DATA0[4:0]は,5bit幅であり,入力IN_DATA1[7:0]と結合しても13bit幅である。そこで,ビット結合エレメントBND(PE)は,下位の3ビットを"0"で埋める。これにより,16bitのデータX[15:0]は,8bit毎のデータであり,一方がUnsignedなデータとなり,16bitのリコンフィグレーションアレイR_ARRAY_2で演算処理することができる。
The RTL description in FIG. 21 (D) is as follows.
assign X [15: 0] = {IN_DATA1 [7: 0], 3 {1'b0}, IN_DATA0 [4: 0]};
Input IN_DATA0 is 5-bit width data, IN_DATA1 is 7-bit width data, and data X [15: 0] is 16-bit data. That is, the input IN_DATA0 [4: 0] is 5 bits wide and is 13 bits wide even when coupled to the input IN_DATA1 [7: 0]. Therefore, the bit combination element BND (PE) fills the lower 3 bits with “0”. As a result, the 16-bit data X [15: 0] is 8-bit data, one of which is unsigned data, and can be processed by the 16-bit reconfiguration array R_ARRAY_2.

このRTL記述も,リコンフィグ可能な集積回路では,図19に示したとおりビット結合エレメントBND66により構築される。   This RTL description is also constructed by the bit coupling element BND66 as shown in FIG. 19 in the reconfigurable integrated circuit.

図22(E)のRTL記述は次の通りである。
assign X[15:0] = {IN_DATA1[7:0], 3{IN_DATA0[4]}, IN_DATA0[4:0]} ;
入力IN_DATA0は5bit幅のデータ, IN_DATA1は8bit幅のデータ,データX[15:0]は16bitのデータである。ビット結合エレメントBND(PE)は,下位の3ビットを符号ビットIN_DATA0[4]で埋める。つまり,結合された16bitのデータX[15:0]は,8bit毎のデータであり,一方がSignedなデータとなり,16bitのリコンフィグレーションアレイR_ARRAY_2で演算処理することができる。
The RTL description in FIG. 22 (E) is as follows.
assign X [15: 0] = {IN_DATA1 [7: 0], 3 {IN_DATA0 [4]}, IN_DATA0 [4: 0]};
Input IN_DATA0 is 5-bit width data, IN_DATA1 is 8-bit width data, and data X [15: 0] is 16-bit data. The bit combination element BND (PE) fills the lower 3 bits with the sign bit IN_DATA0 [4]. In other words, the combined 16-bit data X [15: 0] is 8-bit data, and one of them is signed data, and can be processed by the 16-bit reconfiguration array R_ARRAY_2.

このRTL記述も,リコンフィグ可能な集積回路では,図19に示したとおりビット結合エレメントBND66により構築される。   This RTL description is also constructed by the bit coupling element BND66 as shown in FIG. 19 in the reconfigurable integrated circuit.

図22(F)のRTL記述は次の通りである。
assign X[15:0] = {7{1'b0},IN_DATA1[3:0], IN_DATA0[4:0]} ;
入力IN_DATA0は5bit幅のデータ, IN_DATA4は4bit幅のデータ,データX[15:0]は16bitのデータである。したがって,このビット結合エレメントBND(PE)は,上位の7ビットを"0"で埋め,入力データIN_DATA1[3:0], IN_DATA0[4:0]をそれぞれ下位の9ビットにする。このように,2組のデータを任意のビット位置に結合する。これにより,16bitのデータX[15:0]は,Unsignedなデータとして,16bitのリコンフィグレーションアレイR_ARRAY_2で演算処理することができる。
The RTL description in FIG. 22 (F) is as follows.
assign X [15: 0] = {7 {1'b0}, IN_DATA1 [3: 0], IN_DATA0 [4: 0]};
Input IN_DATA0 is 5-bit width data, IN_DATA4 is 4-bit width data, and data X [15: 0] is 16-bit data. Therefore, the bit combination element BND (PE) fills the upper 7 bits with “0” and sets the input data IN_DATA1 [3: 0] and IN_DATA0 [4: 0] to the lower 9 bits, respectively. In this way, two sets of data are combined at arbitrary bit positions. As a result, 16-bit data X [15: 0] can be processed as unsigned data by the 16-bit reconfiguration array R_ARRAY_2.

このRTL記述も,リコンフィグ可能な集積回路では,図19に示したとおりビット結合エレメントBND66により構築される。   This RTL description is also constructed by the bit coupling element BND66 as shown in FIG. 19 in the reconfigurable integrated circuit.

[具体例]
以下,2つのRTL記述ファイルの例と,その回路例,および本実施の形態のリコンフィグ可能な集積回路での構築例を示す。
[Concrete example]
In the following, two RTL description file examples, their circuit examples, and construction examples of the reconfigurable integrated circuit of this embodiment are shown.

図23は,リコンフィグ可能な集積回路のリコンフィグレーションアレイ群を示す図である。図23には,1ビット幅のプロセッサエレメントとネットワークを有するリコンフィグレーションアレイR_ARRAY_0と,同様に,8ビット幅,16ビット幅,32ビット幅のプロセッサエレメントとネットワークを有するリコンフィグレーションアレイR_ARRAY_1,R_ARRAY_2,R_ARRAY_3とが示されている。各リコンフィグレーションアレイ内には,プロセッサエレメントだけが示されているが,プロセッサエレメントを任意に接続するネットワークも設けられている。   FIG. 23 is a diagram showing a reconfiguration array group of integrated circuits that can be reconfigured. FIG. 23 shows a reconfiguration array R_ARRAY_0 having 1-bit processor elements and a network, and similarly, reconfiguration arrays R_ARRAY_1 and R_ARRAY_2 having processor elements and networks of 8 bits, 16 bits and 32 bits. , R_ARRAY_3. In each reconfiguration array, only processor elements are shown, but a network for arbitrarily connecting the processor elements is also provided.

図23中のプロセッサエレメントは,矩形の上辺に入力端子が底辺に出力端子が示されている。たとえば,コンパレータのプロセッサエレメントCMPは,2つの入力端子と1つの出力端子を有し,セレクタのプロセッサエレメントSELは,3つの入力端子(2つの入力と1つのセレクト信号端子)と1つの出力端子を有する。また,ビット幅変換エレメントであるビット結合エレメントBNDは2つの入力端子と1つの出力端子を有し,ビット分割エレメントSPL,BNDは1つの入力端子と1つの出力端子を有する。さらに,デコーダのプロセッサエレメントDECは,4つの入力端子と1つの出力端子を有する。   The processor element in FIG. 23 has an input terminal on the top side of the rectangle and an output terminal on the bottom side. For example, the processor element CMP of the comparator has two input terminals and one output terminal, and the processor element SEL of the selector has three input terminals (two inputs and one select signal terminal) and one output terminal. Have. The bit coupling element BND, which is a bit width conversion element, has two input terminals and one output terminal, and the bit division elements SPL and BND have one input terminal and one output terminal. Further, the processor element DEC of the decoder has four input terminals and one output terminal.

上記以外に,プロセッサエレメントには,レジスタREG,演算論理ユニットALUなどが設けられている。   In addition to the above, the processor element is provided with a register REG, an arithmetic logic unit ALU, and the like.

以下に説明する2つのRTL記述ファイルは,論理合成されてコンフィグレーションデータが生成され,そのコンフィグレーションデータによって,図23のリコンフィグレーションアレイ群が所望の回路に構築される。   Two RTL description files described below are logically synthesized to generate configuration data, and the reconfiguration array group shown in FIG. 23 is constructed in a desired circuit based on the configuration data.

図24は,RTL記述ファイルの第1の例である。100行目は,変数CODEが,START=1なら"0"に,START=0ならIN_DATA[12:7]になることを示す。したがって,この記述には,16bitのIN_DATAを8bitの変数CODEにビット変換の必要性が含まれている。101行目は,変数CODE=6'b100010が真であればFLAG1=1,偽であればFLAG1=0を示す。したがって,コンパレータプロセッサエレメントの回路を示している。102行目は,FLAG0,FLAG1,FLAG2の論理ORと,INHの反転との論理ANDがFLAGになることを示している。   FIG. 24 is a first example of an RTL description file. The 100th line indicates that the variable CODE is "0" if START = 1 and IN_DATA [12: 7] if START = 0. Therefore, this description includes the necessity of bit conversion from 16-bit IN_DATA to 8-bit variable CODE. The 101st line shows FLAG1 = 1 if the variable CODE = 6'b100010 is true, and FLAG1 = 0 if it is false. Therefore, the circuit of the comparator processor element is shown. Line 102 shows that the logical AND of the logical OR of FLAG0, FLAG1, and FLAG2 and the inversion of INH becomes FLAG.

さらに,103〜110行は,クロックCLKの立ち上がりエッジに応答して動作し(103行),もしFLAG=1ならTEST=0とし(104-106行),FLAG=0の場合にTMODE=1ならTEST=Aとする(107-109行)ことを示している。   Furthermore, lines 103 to 110 operate in response to the rising edge of the clock CLK (line 103). If FLAG = 1, set TEST = 0 (lines 104-106). If FLAG = 0, TMODE = 1 This indicates that TEST = A (lines 107-109).

図25は,図24のRTL記述ファイルを実現する論理回路と,その論理回路をリコンフィグレーションアレイ群に構築した図である。RTLの100行は,16bitの入力IN_DATA[15:0]を分離して[12:7]の6bitを8bitデータにするビット分割エレメントSPL70と,定数”6’b0”を格納するレジスタ72と,START=0のときにIN_DATA[12:7]を選択し,START=1のときに”6’b0”を選択してCODEを出力するセレクタ71からなる。   FIG. 25 is a diagram in which a logic circuit for realizing the RTL description file of FIG. 24 and the logic circuit are constructed in a reconfiguration array group. 100 lines of RTL consist of a bit division element SPL70 that separates 16-bit input IN_DATA [15: 0] and changes 6 bits of [12: 7] to 8 bits, a register 72 that stores constant “6'b0”, It consists of a selector 71 that selects IN_DATA [12: 7] when START = 0 and selects “6'b0” when START = 1 and outputs CODE.

さらに,RTLの101行は,定数”6’b100010”を格納するレジスタ74と,CODEと定数”6’b100010”を比較して比較結果FLAG1を出力するコンパレータ73とからなる。RTLの102行は,入力FLAG0,FLAG1,FLAG2,INHを論理演算する論理回路75からなる。また,RTLの103〜110行は,定数”32’b0”を格納するレジスタ78と,FLAGに応じて定数”32’b0”かセレクタ76の出力かを選択してTEST[31:0]を出力するセレクタ77と,TMODEに応じてA[31:0]かTEST[31:0]かを選択するセレクタ76とからなる。   Further, line 101 of the RTL includes a register 74 that stores a constant “6′b100010” and a comparator 73 that compares CODE with the constant “6′b100010” and outputs a comparison result FLAG1. Line 102 of the RTL is composed of a logic circuit 75 that performs logical operations on inputs FLAG0, FLAG1, FLAG2, and INH. Lines 103 to 110 of the RTL select register 78 that stores the constant “32'b0”, and whether the constant “32'b0” or the output of the selector 76 is selected according to FLAG, and set TEST [31: 0] A selector 77 for outputting and a selector 76 for selecting A [31: 0] or TEST [31: 0] according to TMODE are included.

図25(B)のリコンフィグレーションアレイ群には,図25(A)の論理回路の各エレメントの引用文献番号が付記されている。すなわち,16bitのリコンフィグアレイR_ARRAY_2内からはビット分割エレメント70が,8bitのリコンフィグレーションアレイR_ARRAY_1内のレジスタ72,74,コンパレータ73,セレクタ71が,32bitのリコンフィグレーションアレイR_ARRAY_3内のレジスタ78,セレクタ76,77が,そして,1bitのリコンフィグレーションアレイR_ARRAY_0内のデコーダ(論理回路)75が,それぞれネットワークにより接続されて,図25(A)の論理回路が構築されている。   In the reconfiguration array group in FIG. 25B, the cited document numbers of the elements of the logic circuit in FIG. 25A are appended. That is, from within the 16-bit reconfiguration array R_ARRAY_2, the bit division element 70, the registers 72 and 74 in the 8-bit reconfiguration array R_ARRAY_1, the comparator 73, the selector 71, the register 78 in the 32-bit reconfiguration array R_ARRAY_3, The selectors 76 and 77 and the decoder (logic circuit) 75 in the 1-bit reconfiguration array R_ARRAY_0 are connected to each other by a network, and the logic circuit of FIG.

この例では,16bitのビット分割エレメント70によって,16bitの入力IN_DATAの6bitを8bitのデータに変換して,8bitの論理演算を行うことが可能になっている。なお,FLAGなどの1ビットの制御信号は,直接,32bitのリコンフィグレーションアレイR_ARRAY_3内のセレクタの選択信号として入力されている。   In this example, the 16-bit bit division element 70 can convert 6 bits of the 16-bit input IN_DATA into 8-bit data and perform 8-bit logical operations. A 1-bit control signal such as FLAG is directly input as a selector selection signal in the 32-bit reconfiguration array R_ARRAY_3.

図26は,RTL記述ファイルの第1の例である。200行は,CLKの立ち上がりエッジまたはRESETの立ち下がりエッジで動作し,201-203行は,!RESET=1ならLO,HIを0にリセットすることを示している。また,204-224行は,LO=9ならLO=0としそれ以外ではLO=LO+1とインクリメントし,LO=9になったとき,HI=5ならHI=0としそれ以外ではHI=HI+1とインクリメントすることを示している。つまり,下位桁0-9のカウンタLOと,上位桁0-5のカウンタHIとが示されている。   FIG. 26 is a first example of an RTL description file. Line 200 operates at the rising edge of CLK or the falling edge of RESET, and lines 201-203 are! If RESET = 1, it indicates that LO and HI are reset to 0. Lines 204-224 are LO = 9 if LO = 9, otherwise LO = LO + 1, and when LO = 9, HI = 5 if HI = 5 and HI = HI otherwise. It shows that it increments with +1. That is, the counter LO of the lower digits 0-9 and the counter HI of the upper digits 0-5 are shown.

図27は,図26のRTL記述ファイルを実現する論理回路と,その論理回路をリコンフィグレーションアレイ群に構築した図である。図27(A)では,コンパレータ81はLOが定数”4’h9”と等しいか否かを判定し,判定結果がYES=1であれば,セレクタ83がレジスタ82の定数”4’h0”を選択し,判定結果がNO=0であれば,セレクタ83が加算器85のLO+1を選択し,セレクタ84がCOUNTON=1の場合に新たなカウンタ値としてセレクタ83の出力を選択し,COUNTON=0の時に出力LOを保持することを示している。以上の構成が下位側のカウンタである。   FIG. 27 is a diagram in which a logic circuit for realizing the RTL description file of FIG. 26 and the logic circuit are constructed in a reconfiguration array group. In FIG. 27A, the comparator 81 determines whether LO is equal to the constant “4′h9”. If the determination result is YES = 1, the selector 83 sets the constant “4′h0” in the register 82. If the determination result is NO = 0, the selector 83 selects LO + 1 of the adder 85, and if the selector 84 is COUNTON = 1, the output of the selector 83 is selected as a new counter value, and the COUNTON This indicates that the output LO is held when = 0. The above configuration is the lower counter.

さらに,レジスタ86,コンパレータ87,レジスタ88,セレクタ89,加算器90,セレクタ92は,上記の下位側のカウンタと同様の構成である。そして,セレクタ91がLO=4の時にセレクタ89の出力を選択し,LO=4以外の時は出力を保持し出力に変更を加えないことを示している。これらの構成が上位側のカウンタである。   Further, the register 86, the comparator 87, the register 88, the selector 89, the adder 90, and the selector 92 have the same configuration as the above-described lower counter. Then, when the selector 91 is LO = 4, the output of the selector 89 is selected. When the selector 91 is other than LO = 4, the output is held and the output is not changed. These configurations are the upper counters.

そして,図27(B)では,16bitのリコンフィグレーションアレイR\ARRAY_2内のプロセッサエレメント80-85により下位側のカウンタが構築され,8bitのリコンフィグレーションアレイR\ARRAY_1内のプロセッサエレメント86-92により上位側のカウンタが構築されている。このRTL記述例では,ビット変換エレメントは利用されていない。   In FIG. 27B, a lower counter is constructed by the processor elements 80-85 in the 16-bit reconfiguration array R \ ARRAY_2, and the processor elements 86-92 in the 8-bit reconfiguration array R \ ARRAY_1. Thus, the upper counter is constructed. In this RTL description example, the bit conversion element is not used.

以上の通り,本実施の形態によれば,リコンフィグ可能な集積回路が,ビット幅が異なるリコンフィグレーションアレイを複数有し,ビット幅を変換するプロセッサエレメントを有しているので,RTL記述のようにビット幅の異なる変数への変換の記述が多い場合でも,柔軟に対応して,RTL記述に対応した回路を構築することができる。   As described above, according to the present embodiment, the reconfigurable integrated circuit has a plurality of reconfiguration arrays having different bit widths and has a processor element for converting the bit width. Thus, even when there are many descriptions of conversion to variables with different bit widths, it is possible to construct a circuit corresponding to RTL description flexibly.

以上の実施の形態をまとめると,次の付記のとおりである。   The above embodiment is summarized as follows.

(付記1)
コンフィグレーションデータに基づいて任意の状態に構築されるリコンフィグ可能なLSIであって,
第1のビット幅の複数のプロセッサエレメントと,前記リコンフィグレーションデータに基づいて前記複数のプロセッサエレメント間を任意の接続状態に構築するプロセッサエレメント間ネットワークとを有する第1のリコンフィグレーションアレイと,
前記第1のビット幅と異なる第2のビット幅の複数のプロセッサエレメントと,前記リコンフィグレーションデータに基づいて前記複数のプロセッサエレメント間を任意の接続状態に構築するプロセッサエレメント間ネットワークとを有する第2のリコンフィグレーションアレイと,
前記リコンフィグレーションデータを格納するリコンフィグレーションデータメモリと,
所定のイベントに応答して前記リコンフィグレーションデータメモリから前記リコンフィグレーションデータを読み出し前記第1,第2のリコンフィグレーションアレイに設定するリコンフィグレーション制御回路とを有し,
前記第1または第2のリコンフィグレーションアレイは,前記第1のビット幅の信号配線を前記第2のビット幅の信号配線に変換するビット幅変換エレメントを有するリコンフィグ可能なLSI。
(Appendix 1)
A reconfigurable LSI constructed in an arbitrary state based on configuration data,
A first reconfiguration array comprising a plurality of processor elements having a first bit width and an inter-processor element network configured to establish an arbitrary connection state between the plurality of processor elements based on the reconfiguration data;
A plurality of processor elements having a second bit width different from the first bit width, and a network between processor elements that constructs the plurality of processor elements in an arbitrary connection state based on the reconfiguration data; Two reconfiguration arrays,
A reconfiguration data memory for storing the reconfiguration data;
A reconfiguration control circuit that reads the reconfiguration data from the reconfiguration data memory and sets the first and second reconfiguration arrays in response to a predetermined event;
The first or second reconfiguration array is a reconfigurable LSI having a bit width conversion element for converting the signal wiring having the first bit width into the signal wiring having the second bit width.

(付記2)
付記1において,
前記ビット幅変換エレメントは,前記第1のビット幅の信号線を結合して前記第2のビット幅の信号線に変換するビット結合エレメントを有するリコンフィグ可能なLSI。
(Appendix 2)
In Appendix 1,
The reconfigurable LSI, wherein the bit width conversion element includes a bit coupling element that couples the first bit width signal line and converts the signal line to the second bit width signal line.

(付記3)
付記1において,
前記ビット幅変換エレメントは,前記第2のビット幅の信号線の一部を前記第1のビット幅の信号線に変換するビット分割エレメントを有するリコンフィグ可能なLSI。
(Appendix 3)
In Appendix 1,
The reconfigurable LSI, wherein the bit width conversion element includes a bit division element for converting a part of the signal line having the second bit width into the signal line having the first bit width.

(付記4)
付記1乃至3のいずれかにおいて,
前記第1,第2のビット幅は,8ビットの整数倍のビット幅であるリコンフィグ可能なLSI。
(Appendix 4)
In any one of appendices 1 to 3,
The reconfigurable LSI, wherein the first and second bit widths are integer multiples of 8 bits.

(付記5)
付記1乃至3のいずれかにおいて,
前記第1のビット幅は,1ビットであり,前記第2のビット幅は4ビットの整数倍のビット幅であるリコンフィグ可能なLSI。
(Appendix 5)
In any one of appendices 1 to 3,
The reconfigurable LSI, wherein the first bit width is 1 bit, and the second bit width is a bit width that is an integral multiple of 4 bits.

(付記6)
付記1乃至3のいずれかにおいて,
さらに,電源起動時に外部メモリから前記コンフィグレーションデータをロードし,前記コンフィグレーションメモリに格納するローダを有するリコンフィグ可能なLSI。
(Appendix 6)
In any one of appendices 1 to 3,
Furthermore, a reconfigurable LSI having a loader that loads the configuration data from an external memory when the power is turned on and stores the configuration data in the configuration memory.

(付記7)
付記6において,
RTL記述されたファイルを論理合成して得られたコンフィグレーションデータが前記外部メモリに格納されていて,
前記RTL記述内の前記第1のビット幅のデータを前記第2のビット幅のデータに変換する記述に対応するコンフィグレーションデータに基づいて,前記ビット幅変換エレメントが,前記第1のビット幅のデータの信号線を前記第2のビット幅のデータの信号線に変換するよう構築されるリコンフィグ可能なLSI。
(Appendix 7)
In Appendix 6,
Configuration data obtained by logical synthesis of a file described in RTL is stored in the external memory,
Based on the configuration data corresponding to the description for converting the first bit width data in the RTL description into the second bit width data, the bit width conversion element has the first bit width data. A reconfigurable LSI constructed to convert a data signal line to a data signal line of the second bit width.

(付記8)
付記2において,
前記ビット結合エレメントは,前記第1のビット幅の信号線以外の値を前記第2のビット幅の信号線に追加するリコンフィグ可能なLSI。
(Appendix 8)
In Appendix 2,
The bit coupling element is a reconfigurable LSI that adds a value other than the signal line having the first bit width to the signal line having the second bit width.

R_ARRAY:リコンフィグレーションアレイ PE:プロセッサエレメント
SPL:ビット分割エレメント BND:ビット結合エレメント
NW:プロセッサエレメント間ネットワーク
R_ARRAY: Reconfiguration array PE: Processor element
SPL: Bit division element BND: Bit combination element
NW: Network between processor elements

Claims (5)

コンフィグレーションデータに基づいて任意の状態に構築されるリコンフィグ可能なLSIであって,
第1のビット幅の複数のプロセッサエレメントと,前記リコンフィグレーションデータに基づいて前記複数のプロセッサエレメント間を任意の接続状態に構築するプロセッサエレメント間ネットワークとを有する第1のリコンフィグレーションアレイと,
前記第1のビット幅と異なる第2のビット幅の複数のプロセッサエレメントと,前記リコンフィグレーションデータに基づいて前記複数のプロセッサエレメント間を任意の接続状態に構築するプロセッサエレメント間ネットワークとを有する第2のリコンフィグレーションアレイと,
前記リコンフィグレーションデータを格納するリコンフィグレーションデータメモリと,
所定のイベントに応答して前記リコンフィグレーションデータメモリから前記リコンフィグレーションデータを読み出し前記第1,第2のリコンフィグレーションアレイに設定するリコンフィグレーション制御回路とを有し,
前記第1または第2のリコンフィグレーションアレイは,前記第1のビット幅の信号配線を前記第2のビット幅の信号配線に変換するビット幅変換エレメントを有するリコンフィグ可能なLSI。
A reconfigurable LSI constructed in an arbitrary state based on configuration data,
A first reconfiguration array comprising a plurality of processor elements having a first bit width and an inter-processor element network configured to establish an arbitrary connection state between the plurality of processor elements based on the reconfiguration data;
A plurality of processor elements having a second bit width different from the first bit width, and a network between processor elements that constructs the plurality of processor elements in an arbitrary connection state based on the reconfiguration data; Two reconfiguration arrays,
A reconfiguration data memory for storing the reconfiguration data;
A reconfiguration control circuit that reads the reconfiguration data from the reconfiguration data memory and sets the first and second reconfiguration arrays in response to a predetermined event;
The first or second reconfiguration array is a reconfigurable LSI having a bit width conversion element for converting the signal wiring having the first bit width into the signal wiring having the second bit width.
請求項1において,
前記ビット幅変換エレメントは,前記第1のビット幅の信号線を結合して前記第2のビット幅の信号線に変換するビット結合エレメントを有するリコンフィグ可能なLSI。
In claim 1,
The reconfigurable LSI, wherein the bit width conversion element includes a bit coupling element that couples the first bit width signal line and converts the signal line to the second bit width signal line.
請求項1において,
前記ビット幅変換エレメントは,前記第2のビット幅の信号線の一部を前記第1のビット幅の信号線に変換するビット分割エレメントを有するリコンフィグ可能なLSI。
In claim 1,
The reconfigurable LSI, wherein the bit width conversion element includes a bit division element for converting a part of the signal line having the second bit width into the signal line having the first bit width.
請求項1乃至3のいずれかにおいて,
前記第1,第2のビット幅は,4ビットの整数倍のビット幅であるリコンフィグ可能なLSI。
In any one of Claims 1 thru | or 3,
The reconfigurable LSI, wherein the first and second bit widths are integer multiples of 4 bits.
請求項1乃至3のいずれかにおいて,
さらに,電源起動時に外部メモリから前記コンフィグレーションデータをロードし,前記コンフィグレーションメモリに格納するローダを有するリコンフィグ可能なLSI。
In any one of Claims 1 thru | or 3,
Furthermore, a reconfigurable LSI having a loader that loads the configuration data from an external memory when the power is turned on and stores the configuration data in the configuration memory.
JP2010239682A 2010-10-26 2010-10-26 Reconfigurable LSI Expired - Fee Related JP5633303B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010239682A JP5633303B2 (en) 2010-10-26 2010-10-26 Reconfigurable LSI

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010239682A JP5633303B2 (en) 2010-10-26 2010-10-26 Reconfigurable LSI

Publications (2)

Publication Number Publication Date
JP2012093893A true JP2012093893A (en) 2012-05-17
JP5633303B2 JP5633303B2 (en) 2014-12-03

Family

ID=46387162

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010239682A Expired - Fee Related JP5633303B2 (en) 2010-10-26 2010-10-26 Reconfigurable LSI

Country Status (1)

Country Link
JP (1) JP5633303B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012243086A (en) * 2011-05-19 2012-12-10 Renesas Electronics Corp Semiconductor integrated circuit device
CN111367846A (en) * 2018-12-25 2020-07-03 瑞昱半导体股份有限公司 Data bit width converter and system chip thereof

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05108347A (en) * 1991-09-20 1993-04-30 Mitsubishi Heavy Ind Ltd Pipeline arithmetic circuit
JP2006172219A (en) * 2004-12-16 2006-06-29 Toshiba Corp Automated design device for semiconductor integrated circuit, automated design method for semiconductor integrated circuit, and automated design program for semiconductor integrated circuit
JP2007172400A (en) * 2005-12-22 2007-07-05 Sanyo Electric Co Ltd Processor
JP2008204356A (en) * 2007-02-22 2008-09-04 Fujitsu Ltd Re-configurable circuit
WO2008107969A1 (en) * 2007-03-06 2008-09-12 Fujitsu Microelectronics Limited Arithmetic device
JP2009020738A (en) * 2007-07-12 2009-01-29 Toshiba Corp Processor device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05108347A (en) * 1991-09-20 1993-04-30 Mitsubishi Heavy Ind Ltd Pipeline arithmetic circuit
JP2006172219A (en) * 2004-12-16 2006-06-29 Toshiba Corp Automated design device for semiconductor integrated circuit, automated design method for semiconductor integrated circuit, and automated design program for semiconductor integrated circuit
JP2007172400A (en) * 2005-12-22 2007-07-05 Sanyo Electric Co Ltd Processor
JP2008204356A (en) * 2007-02-22 2008-09-04 Fujitsu Ltd Re-configurable circuit
WO2008107969A1 (en) * 2007-03-06 2008-09-12 Fujitsu Microelectronics Limited Arithmetic device
JP2009020738A (en) * 2007-07-12 2009-01-29 Toshiba Corp Processor device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012243086A (en) * 2011-05-19 2012-12-10 Renesas Electronics Corp Semiconductor integrated circuit device
CN111367846A (en) * 2018-12-25 2020-07-03 瑞昱半导体股份有限公司 Data bit width converter and system chip thereof

Also Published As

Publication number Publication date
JP5633303B2 (en) 2014-12-03

Similar Documents

Publication Publication Date Title
CN110383237B (en) Reconfigurable matrix multiplier system and method
JP3573755B2 (en) Image processing processor
EP1703414B1 (en) Reconfigurable processor with a shared functional unit
US7362132B2 (en) Reconfigurable integrated circuit device to automatically configure an initialization circuit
US7734896B2 (en) Enhanced processor element structure in a reconfigurable integrated circuit device
JP2008537268A (en) An array of data processing elements with variable precision interconnection
KR20100092805A (en) A processor with reconfigurable architecture
Garzia et al. CREMA: A coarse-grain reconfigurable array with mapping adaptiveness
JP5633303B2 (en) Reconfigurable LSI
JP3479385B2 (en) Information processing device
JP2006011825A (en) Reconfigurable arithmetic unit and semiconductor device
JP2006302132A (en) Signal processor, reconfigurable logic circuit device and reconfigurable sequential circuit
JP5678782B2 (en) Reconfigurable integrated circuit device
JP2006018411A (en) Processor
JP2003241960A (en) Processor, and computation instruction processing method and computation control method therein
US7047271B2 (en) DSP execution unit for efficient alternate modes for processing multiple data sizes
JP3144859B2 (en) Arithmetic logic unit
JP7250953B2 (en) Data processing equipment and artificial intelligence chips
US20110225395A1 (en) Data processing system and control method thereof
JP4413052B2 (en) Data flow graph processing apparatus and processing apparatus
KR100737802B1 (en) Modular digital signal processor block and system-on-chip using thereof
JP2000293357A (en) Microprocessor
JP2004362446A (en) Computer and computing method
JPH04133170A (en) Calculation processing module for microprocessor central processing unit
US20060271610A1 (en) Digital signal processor having reconfigurable data paths

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130627

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140331

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140408

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140605

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140708

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140829

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140916

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140929

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees