JP2010206513A - Semiconductor device - Google Patents

Semiconductor device Download PDF

Info

Publication number
JP2010206513A
JP2010206513A JP2009049661A JP2009049661A JP2010206513A JP 2010206513 A JP2010206513 A JP 2010206513A JP 2009049661 A JP2009049661 A JP 2009049661A JP 2009049661 A JP2009049661 A JP 2009049661A JP 2010206513 A JP2010206513 A JP 2010206513A
Authority
JP
Japan
Prior art keywords
circuit
cell
data
variable
address
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.)
Withdrawn
Application number
JP2009049661A
Other languages
Japanese (ja)
Inventor
Yoshika Kawamura
嘉郁 川村
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2009049661A priority Critical patent/JP2010206513A/en
Publication of JP2010206513A publication Critical patent/JP2010206513A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To reduce a burden of function settings to a variable logic in the configuration where a storage circuit for achieving a variable logic function is handled as a circuit equivalent with a logic circuit. <P>SOLUTION: A semiconductor device includes a function reconfiguration memory device (8) which is controlled by an access control device (2). The function reconfiguration memory device includes: an interface control circuit which receives an access request from the access control device; a plurality of function reconfiguration cells (20) connected to the interface control circuit; and a variable arithmetic cell (101) provided in one-to-one correspondence to each of the function reconfiguration cells for performing arithmetic operation upon receipt of output from the function reconfiguration cells. A control circuit of each function reconfiguration cell performs logic operation by autonomously controlling data, such as truth value data that are initially set to a control field and a data field of a storage circuit during a first operation mode, on the basis of data in the control field during a second operation mode. The variable arithmetic cell is enabled to perform the arithmetic operation on the basis of control data or the like output from the control field of the storage circuit. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は記憶回路を用いて可変可能に論理機能を実現することができる半導体装置に関し、例えばプログラマブルに周辺機能を実現することができる可変論理モジュールを備えた半導体データ処理装置に適用して有効な技術に関する。   The present invention relates to a semiconductor device capable of variably realizing a logic function using a memory circuit, and is effective when applied to, for example, a semiconductor data processing device including a variable logic module capable of realizing a peripheral function in a programmable manner. Regarding technology.

可変論理モジュール若しくは可変論理デバイス(リコンフィギュラブルデバイス)としてPLD(プログラマブル・ロジック・デバイス)若しくはFPLD(フィールドPLD)が既に利用されている。本発明者は先に、特許文献1に記載されるように、可変論理モジュールの論理構成をダイナミックに書き換えること、そして、周辺回路のような実回路に可変論理モジュールを適用することについて着眼することにより、可変論理機能を実現するための記憶回路を論理回路と等価な回路として扱うことができる半導体装置を開発した。   As a variable logic module or a variable logic device (reconfigurable device), a PLD (programmable logic device) or an FPLD (field PLD) has already been used. The present inventor previously focused on dynamically rewriting the logic configuration of the variable logic module and applying the variable logic module to an actual circuit such as a peripheral circuit as described in Patent Document 1. Therefore, a semiconductor device that can treat a memory circuit for realizing a variable logic function as a circuit equivalent to a logic circuit has been developed.

国際公開第2008/142767号International Publication No. 2008/142767

本発明者は可変論理機能を実現するための記憶回路を論理回路と等価な回路として扱う可変論理モジュールについて更に検討したところ、可変論理モジュールの一部の機能追加や機能変更のために記憶回路の制御データの書き換えを常に伴う場合には、制御データの修正や再作成の負担が大きくなることが見出された。更に、処理の高速化という要請に対して並列演算処理への対応を容易化することの必要性が見出された。   The present inventor further examined a variable logic module that treats a memory circuit for realizing a variable logic function as a circuit equivalent to the logic circuit. It has been found that when control data is constantly rewritten, the burden of correction and re-creation of control data increases. Furthermore, it has been found that there is a need for facilitating the correspondence to parallel arithmetic processing in response to a request for high-speed processing.

本発明の目的は、可変論理機能を実現するための記憶回路を論理回路と等価な回路として扱う構成において可変論理に対する機能設定の負担を部分的に軽減することができる半導体装置を提供することにある。   An object of the present invention is to provide a semiconductor device capable of partially reducing the burden of function setting for variable logic in a configuration in which a memory circuit for realizing a variable logic function is handled as a circuit equivalent to a logic circuit. is there.

本発明の別の目的は、可変論理機能を実現するための記憶回路を論理回路と等価な回路として扱う構成において、可変論理に対する機能設定の負担を部分的に軽減することができると共に、並列演算処理への対応も容易な半導体装置を提供することにある。   Another object of the present invention is that, in a configuration in which a memory circuit for realizing a variable logic function is handled as a circuit equivalent to a logic circuit, the function setting burden for the variable logic can be partially reduced, and a parallel operation An object of the present invention is to provide a semiconductor device that can easily cope with processing.

本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。   The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.

本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。   The following is a brief description of an outline of typical inventions disclosed in the present application.

本発明に係る半導体装置はCPUなどのアクセス制御装置の制御を受ける機能再構成メモリ装置を有し、この機能再構成メモリ装置は、前記アクセス制御装置からのアクセス要求をインタフェース制御回路で受け、このインタフェース制御回路に複数の機能再構成セルと前記機能再構成セルに一対一対応で設けられ前記機能再構成セルからの出力を受けて演算を行う可変演算セルが接続される。機能再構成セルは記憶回路と制御回路を有し、制御回路は第1の動作モードで記憶回路の制御フィールドとデータフィールに初期的に格納された真理値データのようなデータの読み出しアドレスを、第2の動作モードにおいて前記制御フィールドのデータに基づいて自律的に制御することによって論理動作を行う。一方、可変演算セルは前記記憶回路の前記制御フィールドから出力される制御データ又はアクセス制御装置によって初期設定される制御データに基づいて演算動作が可能にされ、例えば機能再構成セルからの最終的な論理動作出力に対して更に反転等の論理演算を追加的に行う。   A semiconductor device according to the present invention includes a function reconfigurable memory device that is controlled by an access control device such as a CPU. The function reconfigurable memory device receives an access request from the access control device by an interface control circuit. The interface control circuit is connected to a plurality of function reconfigurable cells and a variable arithmetic cell that is provided in a one-to-one correspondence with the function reconfigurable cells and performs an operation upon receiving an output from the function reconfigurable cell. The function reconfigurable cell has a memory circuit and a control circuit, and the control circuit has a read address of data such as truth data initially stored in the control field and data field of the memory circuit in the first operation mode, In the second operation mode, a logical operation is performed by autonomously controlling based on the data in the control field. On the other hand, the variable operation cell can be operated based on the control data output from the control field of the storage circuit or the control data initialized by the access control device, for example, the final operation from the function reconfigurable cell. A logical operation such as inversion is additionally performed on the logical operation output.

これにより、真理値データを格納する記憶回路の読み出しを機能再構成セルそれ自体で自律的に制御することができるから、可変論理機能を実現するための記憶回路を論理回路と等価な回路として扱うことができる。したがって、実現可能な論理構成や論理規模に融通性を得ることができ、また、小さなチップ占有面積で大きな論理規模にも対応可能な可変論理機能を実現可能になる。演算回路機能の全てを機能再構成セルに負担させずに、前記制御フィールドから出力される制御データ等に基づいて演算を行う可変演算セルを備えるから、可変論理に対する機能設定の負担を部分的に軽減することができる。   As a result, reading of the memory circuit for storing the truth value data can be autonomously controlled by the function reconfigurable cell itself, so that the memory circuit for realizing the variable logic function is treated as a circuit equivalent to the logic circuit. be able to. Therefore, it is possible to obtain flexibility in the feasible logic configuration and logic scale, and it is possible to realize a variable logic function that can cope with a large logic scale with a small chip occupation area. Since it has a variable operation cell that performs an operation based on control data output from the control field without burdening the function reconfigurable cell with all of the arithmetic circuit functions, the burden of function setting for the variable logic is partially Can be reduced.

前記複数の可変演算セルによる演算結果の出力データを並列的に受けて演算を行う演算回路を更に設け、前記演算回路が演算結果を保持するデータレジスタを前記アクセス制御装置がアクセス可能にされる。これにより、並列演算処理への対応も容易である。   An arithmetic circuit that receives the output data of the operation result from the plurality of variable operation cells in parallel and performs an operation is further provided, and the access control device can access a data register in which the operation circuit holds the operation result. Thereby, it is easy to cope with parallel arithmetic processing.

また、第1の動作モードにおける前記記憶回路に対するランダムアクセス用のアドレスマッピングに対し、第2の動作モードにおける機能再構成セルに論理動作結果を取得するためのメモリマップドI/Oレジスタアドレスを個別化する。これにより、機能再構成セルに対する論理機能をダイナミックに再構成してもそれによる論理動作結果を取得するためのリードアドレスに変更を生ぜず、機能再構成セルに対する論理機能をダイナミックに再構成することが容易になる。特に、機能再構成セルに周辺機能が設定される場合、中央処理装置等によるメモリアクセス経路と、周辺回路に対するアクセス経路を分離しているアーキテクチャとの整合を考慮する場合には、アクセス要求主体からインタフェース制御回路に対する機能再構成セルへの機能設定用アクセス経路と、機能設定された機能再構成セルへのアクセス経路とを分離すればよい。   In addition, for the address mapping for random access to the memory circuit in the first operation mode, the memory mapped I / O register address for acquiring the logic operation result is individually obtained in the function reconfigurable cell in the second operation mode. Turn into. As a result, even if the logic function for the function reconfigurable cell is dynamically reconfigured, the logical address for the function reconfigurable cell is dynamically reconfigured without changing the read address for acquiring the logic operation result. Becomes easier. In particular, when a peripheral function is set in the function reconfigurable cell, when considering the matching between the memory access path by the central processing unit and the architecture separating the access path to the peripheral circuit, the access requesting entity The function setting access path to the function reconfigurable cell for the interface control circuit may be separated from the function set access path to the function reconfigurable cell.

本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。   The effects obtained by the representative ones of the inventions disclosed in the present application will be briefly described as follows.

すなわち、可変論理機能を実現するための記憶回路を論理回路と等価な回路として扱うことができると共に、可変論理に対する機能設定の負担を部分的に軽減することができる。   That is, the memory circuit for realizing the variable logic function can be handled as a circuit equivalent to the logic circuit, and the function setting burden for the variable logic can be partially reduced.

図1は機能再構成セルを備えた可変機能ユニットの一例を示すブロック図である。FIG. 1 is a block diagram illustrating an example of a variable function unit including a function reconfigurable cell. 図2は複数の可変機能ユニットのアレイ構成を例示するブロック図である。FIG. 2 is a block diagram illustrating an array configuration of a plurality of variable function units. 図3は機能再構成メモリの全体的な構成を例示するブロック図である。FIG. 3 is a block diagram illustrating the overall configuration of the function reconfigurable memory. 図4は機能再構成メモリにおける可変演算セル101のアレイ構成の別の例を示すブロック図である。FIG. 4 is a block diagram showing another example of the array configuration of the variable operation cells 101 in the function reconfigurable memory. 図5は図4の機能再構成メモリの全体的な構成を例示するブロック図である。FIG. 5 is a block diagram illustrating the overall configuration of the function reconfiguration memory of FIG. 図6は可変機能ユニットの第2の例を示すブロック図である。FIG. 6 is a block diagram showing a second example of the variable function unit. 図7は複数個の可変機能ユニット100Aのアレイ構成を例示するブロック図である。FIG. 7 is a block diagram illustrating an array configuration of a plurality of variable function units 100A. 図8は複数個の可変機能ユニット100Aのアレイ構成とともに演算回路110を採用して構成される機能再構成メモリ8の全体的な構成を例示するブロック図である。FIG. 8 is a block diagram illustrating an overall configuration of the function reconfiguration memory 8 configured by employing the arithmetic circuit 110 together with an array configuration of a plurality of variable function units 100A. 図9は機能再構成メモリにおける可変演算セル101Aのアレイ構成の別の例を示すブロック図である。FIG. 9 is a block diagram showing another example of the array configuration of the variable operation cell 101A in the function reconfigurable memory. 図10は図9の機能再構成メモリの全体的な構成を例示するブロック図である。FIG. 10 is a block diagram illustrating the overall configuration of the function reconfiguration memory of FIG. 図11は可変機能ユニットの第3の例を示すブロック図である。FIG. 11 is a block diagram showing a third example of the variable function unit. 図12は機能再構成セルと経路選択回路のアドレスマッピングを例示するアドレスマップである。FIG. 12 is an address map illustrating the address mapping between the function reconfigurable cell and the route selection circuit. 図13は機能再構成セルにおける論理動作の基本概念を示す説明図である。FIG. 13 is an explanatory diagram showing the basic concept of the logic operation in the function reconfigurable cell. 図14は図13の内部シーケンスを例示するフローチャートである。FIG. 14 is a flowchart illustrating the internal sequence of FIG. 図15Aは機能再構成セルでリロード型ダウンカウンタを構成する場合の例が示すブロック図である。FIG. 15A is a block diagram illustrating an example in which a reloadable down counter is configured with function reconfigurable cells. 図15Bは図15Aの機能再構成セルにおける記憶回路の保持情報を例示する説明図である。FIG. 15B is an explanatory diagram illustrating information held in the memory circuit in the function reconfigurable cell of FIG. 15A. 図15Cは図15Aの機能再構成セルによるダウンカウント動作のフローチャートである。FIG. 15C is a flowchart of the down-count operation by the function reconfigurable cell of FIG. 15A. 図16は2個の機能再構成セルでリロード型ダウンカウンタを構成する場合の例を示すブロック図である。FIG. 16 is a block diagram showing an example in which a reload type down counter is configured with two function reconfigurable cells. 図17は図15Aの構成で3ビットカウンタを構成する場合の例を示すデータ例である。FIG. 17 is a data example showing an example in which a 3-bit counter is configured with the configuration of FIG. 15A. 図18は図17による3ビットカウンタ動作の動作シーケンスを例示するフローチャートである。FIG. 18 is a flowchart illustrating an operation sequence of the 3-bit counter operation shown in FIG. 図19は図13の論理動作基本概念図に対応する具体的な動作例を示す動作説明図である。FIG. 19 is an operation explanatory diagram showing a specific operation example corresponding to the logical operation basic conceptual diagram of FIG. 図20は3ビットカウンタを夫々構成する機能再構成セルを接続選択回路で接続して6ビットカウンタを構成する例を示すブロック図である。FIG. 20 is a block diagram showing an example in which a 6-bit counter is configured by connecting function reconfigurable cells constituting the 3-bit counter by a connection selection circuit. 図21は本発明の一例に係るデータプロセッサを全体的に示すブロック図である。FIG. 21 is a block diagram generally showing a data processor according to an example of the present invention. 図22はCPUによる機能再構成メモリのアクセス形態を例示する説明図である。FIG. 22 is an explanatory diagram illustrating an access mode of the function reconfigurable memory by the CPU. 図23Aはレジスタ102に設定される演算制御データのデータフォーマットを例示する説明図である。FIG. 23A is an explanatory diagram illustrating the data format of operation control data set in the register 102. 図23Bは論理演算指定フィールドCRF2が指定する論理演算の種別を例示する説明図である。FIG. 23B is an explanatory diagram illustrating the types of logical operations designated by the logical operation designation field CRF2. 図23Cは可変演算セル101に対するイネーブル信号Cond_LEの意義を例示する説明図である。FIG. 23C is an explanatory diagram illustrating the significance of the enable signal Cond_LE for the variable operation cell 101. 図24Aは1つの可変機能ユニット100における機能再構成セル20と可変演算セル101との関係を示す説明図である。FIG. 24A is an explanatory diagram showing the relationship between the function reconfigurable cell 20 and the variable operation cell 101 in one variable function unit 100. 図24Bは可変演算セルの機能を模式的に示す説明図である。FIG. 24B is an explanatory diagram schematically showing the function of the variable operation cell. 図24Cは入力データDAT_D,DAT_Cに対してワード単位で否定論理演算を行って演算結果データL(DAT_D)、L(DAT_C)を出力する場合を例示する動作説明図である。FIG. 24C is an operation explanatory diagram illustrating a case where a negative logic operation is performed on input data DAT_D and DAT_C in units of words and operation result data L (DAT_D) and L (DAT_C) are output. 図24Dは入力データDAT_D,DAT_Cの指定ビットに対して否定論理演算を行って演算結果データL(DAT_D)、L(DAT_C)を出力する場合を例示する動作説明図である。FIG. 24D is an operation explanatory diagram illustrating a case where the operation result data L (DAT_D) and L (DAT_C) are output by performing a negative logic operation on the designated bits of the input data DAT_D and DAT_C. 図25は複数の可変演算セル101の出力に対して演算回路110で並列演算を行う動作形態を例示する説明図である。FIG. 25 is an explanatory diagram illustrating an operation mode in which the arithmetic circuit 110 performs parallel arithmetic on the outputs of the plurality of variable arithmetic cells 101. 図26には複数の可変演算セル101の出力をカスケード接続して順次演算を行う動作形態を例示する説明図である。FIG. 26 is an explanatory diagram illustrating an operation mode in which the outputs of the plurality of variable calculation cells 101 are cascade-connected to perform sequential calculation. 図27Aは前後の可変機能ユニット100Aのカスケード接続形態を模式的に示すブロック図である。FIG. 27A is a block diagram schematically showing a cascade connection form of the front and rear variable function units 100A. 図27Bは可変演算セル101Aの機能を模式的に示す説明図である。FIG. 27B is an explanatory diagram schematically showing functions of the variable operation cell 101A. 図27Cは入力データDAT_D(n),DAT_C(n)とL(DAT_D(n-1)),L(DAT_C(n-1))に対してワード単位で論理和演算を行って演算結果データL(DAT_D(n))、L(DAT_C(n))を出力する場合を例示する動作説明図である。FIG. 27C shows an operation result data L obtained by performing a logical OR operation on input data DAT_D (n), DAT_C (n) and L (DAT_D (n-1)), L (DAT_C (n-1)) in units of words. It is operation | movement explanatory drawing which illustrates the case where (DAT_D (n)) and L (DAT_C (n)) are output. 図27Dは入力データDAT_D(n),DAT_C(n)とL(DAT_D(n-1)),L(DAT_C(n-1))の第3ビットに対して論理積を行い、他のビットに対してはTML2側の入力データDAT_D(n),DAT_C(n)をスルーで出力する場合を例示する動作説明図である。FIG. 27D shows the logical product of the input data DAT_D (n), DAT_C (n) and the third bit of L (DAT_D (n-1)), L (DAT_C (n-1)), and the other bits. On the other hand, it is an operation explanatory diagram illustrating the case where the input data DAT_D (n) and DAT_C (n) on the TML2 side are output through. 図28は複数の可変演算セル101Aの出力をカスケード接続して順次演算を行う動作形態を例示するブロック図である。FIG. 28 is a block diagram illustrating an operation mode in which the outputs of the plurality of variable calculation cells 101A are cascade-connected to perform sequential calculation. 図29Aは可変演算セル101Bを模式的に示すブロック図である。FIG. 29A is a block diagram schematically showing the variable calculation cell 101B. 図29Bはセレクタ104,105による選択形態を例示する説明図である。FIG. 29B is an explanatory diagram illustrating a selection form by the selectors 104 and 105. 図30はCPU2によって演算制御レジスタ(ACREG)に初期設定された制御データに基づいて可変演算セル101Cの演算動作を制御可能にした機能再構成メモリ8Aを例示するブロック図である。FIG. 30 is a block diagram illustrating a function reconfigurable memory 8A that can control the arithmetic operation of the variable arithmetic cell 101C based on the control data initially set by the CPU 2 in the arithmetic control register (ACREG).

1.実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
1. First, an outline of a typical embodiment of the invention disclosed in the present application will be described. Reference numerals in the drawings referred to in parentheses in the outline description of the representative embodiments merely exemplify what are included in the concept of the components to which the reference numerals are attached.

〔1〕本発明に係る半導体装置はアクセス制御装置(2)と、前記アクセス制御装置の制御を受ける機能再構成メモリ装置(8)とを有する。前記機能再構成メモリ装置は、前記アクセス制御装置からアクセス要求を受けるインタフェース制御回路(40,41,42)と、前記インタフェース制御回路に接続される複数の機能再構成セル(20)と、前記機能再構成セルに一対一対応で設けられ前記機能再構成セルからの出力を受けて演算を行う可変演算セル(101,101A,101B,101C)と、前記可変演算セルの出力を別の可変演算セル又は別の機能再構成セルに供給可能にするための伝達回路(35、IBUS)と、を有する。前記機能再構成セルは記憶回路(23)と制御回路(24)を有する。前記記憶回路は前記制御回路から出力されるアドレス情報に基づいてアクセスされるデータフィールド(27_D)と制御フィールド(27_C)を有する。前記制御回路は、第1の動作モードでは前記アクセス制御装置からのアクセス要求に伴って前記インタフェース制御回路に与えられるアドレス情報に基づいて前記記憶回路をランダムアクセスし、第2動作モードでは先に前記記憶回路から読出した制御フィールドの情報又は外部イベント入力に基づいて前記記憶回路の次の読出しアドレスを自律的に制御する。前記伝達回路は前記インタフェース制御回路から与えられるデータに基づいて伝達経路が設定される。   [1] A semiconductor device according to the present invention includes an access control device (2) and a function reconfigurable memory device (8) under the control of the access control device. The function reconfigurable memory device includes an interface control circuit (40, 41, 42) that receives an access request from the access control device, a plurality of function reconfigurable cells (20) connected to the interface control circuit, and the function A variable operation cell (101, 101A, 101B, 101C) that is provided in a one-to-one correspondence with the reconfiguration cell and performs an operation upon receiving an output from the function reconfiguration cell, and another variable operation cell that outputs the variable operation cell Or a transmission circuit (35, IBUS) for enabling supply to another function reconfigurable cell. The function reconfigurable cell has a memory circuit (23) and a control circuit (24). The memory circuit has a data field (27_D) and a control field (27_C) that are accessed based on address information output from the control circuit. The control circuit randomly accesses the storage circuit based on address information given to the interface control circuit in response to an access request from the access control device in the first operation mode, and first in the second operation mode The next read address of the storage circuit is autonomously controlled based on the control field information read from the storage circuit or the external event input. In the transmission circuit, a transmission path is set based on data given from the interface control circuit.

これによれば、記憶回路の読み出しを機能再構成セルそれ自体で自律的に制御することができるから、可変論理機能を実現するための記憶回路を論理回路と等価な回路として扱うことができる。したがって、実現可能な論理構成や論理規模に融通性を得ることができ、また、小さなチップ占有面積で大きな論理規模にも対応可能な可変論理機能を実現可能になる。演算回路機能の全てを機能再構成セルに負担させずに演算を行う可変演算セルを備えるから、可変論理に対する機能設定の負担を部分的に軽減することができる。   According to this, since reading of the memory circuit can be autonomously controlled by the function reconfigurable cell itself, the memory circuit for realizing the variable logic function can be handled as a circuit equivalent to the logic circuit. Therefore, it is possible to obtain flexibility in the feasible logic configuration and logic scale, and it is possible to realize a variable logic function that can cope with a large logic scale with a small chip occupation area. Since a variable operation cell that performs an operation without burdening the function reconfigurable cell with all of the arithmetic circuit functions is provided, it is possible to partially reduce the burden of function setting for the variable logic.

〔2〕項1の半導体装置において、前記可変演算セル(101,101A,101B)は、前記記憶回路の前記制御フィールドから出力される制御データに基づいて演算動作が制御される。前記可変演算セルの演算動作を機能再構成セルによる論理動作と同期させ易くなる。   [2] In the semiconductor device of [1], the variable operation cells (101, 101A, 101B) are controlled in operation based on control data output from the control field of the memory circuit. It becomes easy to synchronize the arithmetic operation of the variable arithmetic cell with the logical operation by the function reconfigurable cell.

〔3〕項1の半導体装置において、前記可変演算セル(101C)は、前記アクセス制御装置によって演算制御レジスタ(143)に初期設定される制御データに基づいて演算動作が制御される。機能再構成セルの制御フィールドに対する設定内容に依存させずに可変演算セルを論理動作させることが可能になる。   [3] In the semiconductor device according to item 1, the variable operation cell (101C) is controlled in operation based on control data initially set in the operation control register (143) by the access control device. The variable operation cell can be logically operated without depending on the setting contents for the control field of the function reconfigurable cell.

〔4〕<次読み出しアドレス>項1の半導体装置において、前記第2動作モードにおいて前記制御回路は、前記アクセス要求に伴って前記インタフェース制御回路に供給されるアドレス情報(ADR_EXT)、所定の外部イベント入力(EXEVT)を条件に前記制御回路が決定するアドレス情報、先に記憶回路のデータフィールドから読み出されたアドレス情報、又は先に前記記憶回路に出力したアドレス情報のアドレス演算により得られるアドレス情報を、前記次の読み出しアドレスとして出力する。   [4] <Next Read Address> In the semiconductor device according to item 1, in the second operation mode, the control circuit sends address information (ADR_EXT) supplied to the interface control circuit in response to the access request, a predetermined external event. Address information determined by the control circuit on condition of input (EXEV), address information previously read from the data field of the memory circuit, or address information obtained by address calculation of the address information previously output to the memory circuit Are output as the next read address.

〔5〕<演算指示>項4の半導体装置において、前記可変演算セルは、複数ビットの処理単位で演算データの入出力を行い、前記制御フィールドから出力される制御データに基づいて論理演算の種別と演算対象データビットを決定する。これにより制御データの設定次第で論理演算の種別を選択でき、また、演算対象ビットについても選択でき、機能再構成セルの論理演算結果に対して簡単にしかもある程度の融通性を持って演算を追加することが可能になる。   [5] <Operation instruction> In the semiconductor device according to item 4, the variable operation cell inputs / outputs operation data in a processing unit of a plurality of bits, and performs a logical operation type based on the control data output from the control field. And the operation target data bits are determined. This makes it possible to select the type of logical operation depending on the control data setting, and also to select the bit to be operated, so that operations can be easily added to the logical operation result of the function reconfigurable cell with a certain degree of flexibility. It becomes possible to do.

〔6〕<スイッチマトリクス回路>項5の半導体装置において、前記伝達回路は、隣り合う機能再構成セル及び可変論理セルの接続が可変可能にされるスイッチ回路(36)と、前記スイッチ回路を接続する信号配線(IBUS)とを有する。スイッチ回路により機能再構成セル及び可変論理セルの接続が可変になるからプログラマブル可能な論理動作や演算動作に対して更に融通性が増す。   [6] <Switch matrix circuit> In the semiconductor device according to item 5, the transmission circuit connects the switch circuit to a switch circuit (36) in which connection between adjacent function reconfigurable cells and variable logic cells is variable. Signal wiring (IBUS). Since the connection between the function reconfigurable cell and the variable logic cell is variable by the switch circuit, the flexibility for the programmable logic operation and arithmetic operation is further increased.

〔7〕項6の半導体装置において、前記スイッチ回路は、前記アクセス制御装置により前記インタフェース制御回路を介して書き込まれるデータによって隣り合う機能再構成セル及び可変論理セルの接続が決定される。   [7] In the semiconductor device of [6], the switch circuit determines connection between adjacent function reconfigurable cells and variable logic cells based on data written by the access control device via the interface control circuit.

〔8〕<並列複数入力に対する論理演算>項5の半導体装置において、前記可変演算セルは、演算対象データの入力端子として、対応する記憶回路からの出力を受ける第1入力端子(TML1)と、別の可変論理セルの出力を受ける第2入力端子(TML2)とを別々に備える。これにより、可変演算セルは並列複数入力に対する論理演算が可能にされる。   [8] <Logical operation for parallel plural inputs> In the semiconductor device according to item 5, the variable operation cell includes a first input terminal (TML1) that receives an output from a corresponding storage circuit as an input terminal of operation target data; A second input terminal (TML2) for receiving the output of another variable logic cell is provided separately. Thereby, the variable operation cell can perform a logical operation on a plurality of parallel inputs.

〔9〕項1の半導体装置において、前記複数の可変演算セルによる演算結果の出力データを並列的に受けて演算を行う演算回路(110)を更に有する。前記演算回路は演算結果を保持するデータレジスタ(112)を備える。前記アクセス制御装置は前記インタフェース制御回路を通して前記データレジスタをアクセス可能にされる。これにより、並列演算処理への対応も容易である。   [9] The semiconductor device according to [1], further including an arithmetic circuit (110) that receives the output data of the arithmetic results from the plurality of variable arithmetic cells in parallel and performs arithmetic operations. The arithmetic circuit includes a data register (112) for holding an arithmetic result. The access control device can access the data register through the interface control circuit. Thereby, it is easy to cope with parallel arithmetic processing.

〔10〕項9の半導体装置において、前記データレジスタにはアクセス制御装置のアドレス空間に配置された第1のメモリマップドIOレジスタアドレスが割当てられる。   [10] In the semiconductor device of [9], a first memory mapped IO register address arranged in an address space of the access control device is assigned to the data register.

〔11〕項10の半導体装置において、前記第1の動作モードにおいて前記機能再構成メモリ装置に含まれる前記記憶回路には前記アクセス制御装置のアドレス空間に配置されたメモリアドレスが割当てられる。   [11] In the semiconductor device of [10], a memory address arranged in an address space of the access control device is assigned to the storage circuit included in the function reconfigurable memory device in the first operation mode.

〔12〕項11の半導体装置において、前記第2動作モードにおいて前記機能再構成メモリ装置の夫々に前記アクセス制御装置のアドレス空間に配置されたメモリマップドIOレジスタアドレスが割当てられる。   [12] In the semiconductor device of [11], a memory mapped IO register address arranged in an address space of the access control device is assigned to each of the function reconfigurable memory devices in the second operation mode.

これによれば、第1の動作モードにおける前記記憶回路に対するランダムアクセス用のアドレスマッピングに対し、第2の動作モードにおける機能再構成セルに論理動作結果を取得するためのメモリマップドI/Oレジスタアドレスを個別化することにより、機能再構成セルに対する論理機能をダイナミックに再構成してもそれによる論理動作結果を取得するためのリードアドレスに変更を生ぜず、機能再構成セルに対する論理機能をダイナミックに再構成することが容易になる。特に、機能再構成セルに周辺機能が設定される場合、中央処理装置等によるメモリアクセス経路と、周辺回路に対するアクセス経路を分離しているアーキテクチャとの整合を考慮する場合には、アクセス要求主体からインタフェース制御回路に対する機能再構成セルへの機能設定用アクセス経路と、機能設定された機能再構成セルへのアクセス経路とを分離すればよい。   According to this, for the address mapping for random access to the storage circuit in the first operation mode, the memory mapped I / O register for acquiring the logic operation result in the function reconfigurable cell in the second operation mode By individualizing the address, even if the logic function for the function reconfigurable cell is dynamically reconfigured, the logical address for the function reconfigurable cell is dynamically changed without changing the read address for acquiring the logic operation result. It will be easy to reconfigure. In particular, when a peripheral function is set in the function reconfigurable cell, when considering the matching between the memory access path by the central processing unit and the architecture separating the access path to the peripheral circuit, the access requesting entity The function setting access path to the function reconfigurable cell for the interface control circuit may be separated from the function set access path to the function reconfigurable cell.

〔13〕本発明の実質同一の観点による別の半導体装置は、アクセス制御装置と、前記アクセス制御装置の制御を受ける機能再構成メモリ装置とを有する。前記機能再構成メモリ装置は、前記アクセス制御装置からアクセス要求を受けるインタフェース制御回路と、前記インタフェース制御回路に接続される複数の機能再構成セルと、前記機能再構成セルに一対一対応で設けられ前記機能再構成セルからの出力を受けて演算を行う可変演算セルと、前記可変演算セルの出力を別の可変演算セル又は別の機能再構成セルに供給可能にするための伝達回路と、前記複数の可変演算セルによる演算結果の出力データを並列的に受けて演算を行う演算回路と、を有する。前記機能再構成セルは記憶回路と制御回路を有する。前記記憶回路は前記制御回路から出力されるアドレス情報に基づいてアクセスされるデータフィールドと制御フィールドを有する。前記制御回路は、第1の動作モードでは前記アクセス制御装置からのアクセス要求に伴って前記インタフェース制御回路に与えられるアドレス情報に基づいて前記記憶回路をランダムアクセスし、第2動作モードでは先に前記記憶回路から読出した制御フィールドの情報又は外部イベント入力に基づいて前記記憶回路の次の読出しアドレスを自律的に制御する。前記可変演算セルは、演算対象データの入力端子として、対応する記憶回路からの出力を受ける第1入力端子と、別の可変論理セルの出力を受ける第2入力端子とを別々に備える。前記伝達回路は前記インタフェース制御回路から与えられるデータに基づいて伝達経路が設定される。   [13] Another semiconductor device according to the substantially same aspect of the present invention includes an access control device and a function reconfigurable memory device that is controlled by the access control device. The function reconfigurable memory device is provided in a one-to-one correspondence with an interface control circuit that receives an access request from the access control device, a plurality of function reconfigurable cells connected to the interface control circuit, and the function reconfigurable cell. A variable operation cell that performs an operation by receiving an output from the function reconfigurable cell, a transmission circuit for enabling the output of the variable operation cell to be supplied to another variable operation cell or another function reconfigurable cell, An arithmetic circuit that receives the output data of the operation results from the plurality of variable operation cells and performs the operation in parallel. The function reconfigurable cell has a memory circuit and a control circuit. The storage circuit has a data field and a control field that are accessed based on address information output from the control circuit. The control circuit randomly accesses the storage circuit based on address information given to the interface control circuit in response to an access request from the access control device in the first operation mode, and first in the second operation mode The next read address of the storage circuit is autonomously controlled based on the control field information read from the storage circuit or the external event input. The variable operation cell separately includes a first input terminal that receives an output from a corresponding memory circuit and a second input terminal that receives an output of another variable logic cell as input terminals for operation target data. In the transmission circuit, a transmission path is set based on data given from the interface control circuit.

〔14〕項13の半導体装置において、前記可変演算セルは、前記記憶回路の前記制御フィールドから出力される制御データに基づいて演算動作が制御される。前記可変演算セルの演算動作を機能再構成セルによる論理動作と同期させ易くなる。   [14] In the semiconductor device of item 13, the variable operation cell is controlled in operation based on control data output from the control field of the memory circuit. It becomes easy to synchronize the arithmetic operation of the variable arithmetic cell with the logical operation by the function reconfigurable cell.

〔15〕項13の半導体装置において、前記可変演算セルは、前記アクセス制御装置によって演算制御レジスタに初期設定される制御データに基づいて演算動作が制御される。機能再構成セルの制御フィールドに対する設定内容に依存させずに可変演算セルを論理動作させることが可能になる。   [15] In the semiconductor device of item 13, the variable operation cell is controlled in operation based on control data initially set in the operation control register by the access control device. The variable operation cell can be logically operated without depending on the setting contents for the control field of the function reconfigurable cell.

〔16〕項13の半導体装置において、前記演算回路は演算結果を保持するデータレジスタを備え、前記アクセス制御装置は前記インタフェース制御回路を通して前記データレジスタをアクセス可能にされる。   [16] In the semiconductor device of item 13, the arithmetic circuit includes a data register for holding an arithmetic result, and the access control device is allowed to access the data register through the interface control circuit.

2.実施の形態の詳細
実施の形態について更に詳述する。
2. Details of Embodiments Embodiments will be further described in detail.

《データプロセッサ》
図21には本発明の一例に係るデータプロセッサ1が例示される。同図に示されるデータプロセッサは、特に制限されないが、相補型MOS集積回路製造技術により単結晶シリコンのような1個の半導体基板に形成されている。
<Data processor>
FIG. 21 illustrates a data processor 1 according to an example of the present invention. The data processor shown in the figure is not particularly limited, but is formed on a single semiconductor substrate such as single crystal silicon by a complementary MOS integrated circuit manufacturing technique.

データプロセッサ1はプログラムに従って命令をフェッチして実行するアクセス制御装置としての中央処理装置(CPU)2、CPU2が実行するプログラム等が格納されたリード・オンリ・メモリ(ROM)3、CPU2のワーク領域等に用いられるランダム・アクセス・メモリ(RAM)4、及びCPU2による初期設定に従ってデータ転送を制御するダイレクト・メモリ・アクセス・コントローラ(DMAC)5を有し、それらはシステムバス(第1バス)SBUSに接続される。システムバスSBUSはバスステートコントローラ(BSC)6を介して周辺バス(第2バス)PBUSに接続する。システムバスSBUSはCPU2の動作周波数に同期してデータ、アドレス及びバスコマンド等が伝送される高速バスとして位置付けられる。これに対して、周辺バスPBUSは動作速度の遅い周辺回路が接続され、データ等が低速で伝送される。CPU2等が周辺回路に対するアクセス要求を発行すると、BSC6はそのアクセス要求に係る周辺回路のマッピングアドレスに応じて、周辺バスを介するアクセスに必要なバスサイクル数や並列データビット数等のバス制御を行う。   The data processor 1 is a central processing unit (CPU) 2 as an access control device that fetches and executes instructions according to a program, a read only memory (ROM) 3 that stores programs executed by the CPU 2, and a work area of the CPU 2 A random access memory (RAM) 4 used for the above, and a direct memory access controller (DMAC) 5 for controlling data transfer according to an initial setting by the CPU 2, which are a system bus (first bus) SBUS Connected to. The system bus SBUS is connected to a peripheral bus (second bus) PBUS via a bus state controller (BSC) 6. The system bus SBUS is positioned as a high-speed bus that transmits data, addresses, bus commands, and the like in synchronization with the operating frequency of the CPU 2. On the other hand, the peripheral bus PBUS is connected to a peripheral circuit having a low operation speed, and data and the like are transmitted at a low speed. When the CPU 2 or the like issues an access request to the peripheral circuit, the BSC 6 performs bus control such as the number of bus cycles and the number of parallel data bits necessary for access via the peripheral bus according to the mapping address of the peripheral circuit related to the access request. .

前記システムバスSBUSと周辺バスPBUSの双方には機能再構成メモリ(RCFGM)8が接続される。機能再構成メモリ8はCPU2等によりシステムバスSBUSから書き込まれた論理機能設定情報(コンフィグレーション情報)などに従って可変可能に論理機能が設定され、設定された論理機能に対して周辺バスPBUS経由でデータの入出力が可能にされる。   A function reconfiguration memory (RCFGM) 8 is connected to both the system bus SBUS and the peripheral bus PBUS. In the function reconfigurable memory 8, logical functions are variably set according to logical function setting information (configuration information) written from the system bus SBUS by the CPU 2 or the like, and data is set via the peripheral bus PBUS for the set logical functions. I / O is enabled.

周辺バスPBUSに接続された周辺回路として、ディジタル信号をアナログ信号に変換して外部に出力するディジタル・アナログ・コンバータ(DAC)10、CPU2の命令実行状態等を監視するウォッチドッグタイマ(WDT)11、インプットキャプチャ及びコンペアマッチ等のタイマ・カウンタ動作可能なタイマ(TMR)12、シリアルコミュニケーションインタフェースコントローラ(SCI)13、パルス幅変調回路(PWM)15、及び割込みコントローラ(INTC)16が例示される。同図には割込み信号としてINTa,INTbが代表的に示され、割込みコントローラ16は割込み信号に対する割り込みマスク制御や優先レベル制御を行って割込み信号を受け付け、受け付けた割込み信号に応ずるベクタを発行すると共に、CPU2に割込み要求信号IRQを発行し、前記ベクタが示す割込み処理プログラムをCPU2に実行させる。周辺回路として、その他に図示を省略するIOポート等が設けられている。   As a peripheral circuit connected to the peripheral bus PBUS, a digital / analog converter (DAC) 10 that converts a digital signal into an analog signal and outputs the analog signal, and a watch dog timer (WDT) 11 that monitors an instruction execution state of the CPU 2 and the like A timer (TMR) 12 capable of timer / counter operations such as input capture and compare match, a serial communication interface controller (SCI) 13, a pulse width modulation circuit (PWM) 15, and an interrupt controller (INTC) 16 are exemplified. In the figure, INTa and INTb are representatively shown as interrupt signals. The interrupt controller 16 performs interrupt mask control and priority level control on the interrupt signal, receives the interrupt signal, and issues a vector corresponding to the received interrupt signal. The CPU 2 issues an interrupt request signal IRQ to cause the CPU 2 to execute the interrupt processing program indicated by the vector. In addition, an IO port (not shown) is provided as a peripheral circuit.

機能再構成メモリ8は複数の可変機能ユニット(VFU)100、外部からのアクセス要求に応答して前記機能再構成セル20を制御するインタフェース制御回路(IFCNT)21、演算回路(LOB)110等を備える。可変機能ユニット(VFU)100は、インタフェース制御回路21に接続される機能再構成セル(ACMU)20と機能再構成セルからの出力を受けて演算を行う可変演算セル(LOC)101(101A)から成る。前記可変演算セルの出力は詳細を後述するスイッチマトリクス回路のような伝達回路を介して別の可変演算セル又は別の機能再構成セルに供給される。   The function reconfiguration memory 8 includes a plurality of variable function units (VFU) 100, an interface control circuit (IFCNT) 21 that controls the function reconfiguration cell 20 in response to an access request from the outside, an arithmetic circuit (LOB) 110, and the like. Prepare. The variable function unit (VFU) 100 includes a function reconfigurable cell (ACMU) 20 connected to the interface control circuit 21 and a variable operation cell (LOC) 101 (101A) that receives an output from the function reconfigurable cell and performs an operation. Become. The output of the variable arithmetic cell is supplied to another variable arithmetic cell or another function reconfigurable cell via a transmission circuit such as a switch matrix circuit, the details of which will be described later.

機能再構成セル20はCPU2等によりシステムバスSBUSから書き込まれたコンフィグレーション情報に従って可変可能に論理機能が設定される。図21において複数の機能再構成セル20の一部には、FIFOバッファ(FIFO_B)、16ビットパルス幅変調回路(PWM_16b)、8ビットパルス幅変調回路(PWM_8b)、シリアル送信ユニット(SCI_Tx)、シリアル受信ユニット(SCI_Rx)、及び24ビットタイマ(TMR_24b)の論理機能が設定されている。残りの機能再構成セル20はシステムバスSBUSを介してランダムアクセス可能な内部メモリ(ITNR_RAM)として利用可能にされる。設定された論理動作に用いるデータの書込み、論理動作の開始の指示、及び論理動作結果のデータリードは周辺バスPBUS経由で行われる。可変演算セル101(101A)は可変論理セル20による論理動作の結果に対して更に演算を追加するとき等に利用され、演算機能は可変であるがハードウェアによってある程度限定され、演算回路機能の全てを機能再構成セル20のためのコンフィグレーション情報に負担させずに、可変論理に対する機能設定の負担を部分的に軽減するために配置されている。また、演算回路110は複数の可変演算セル101(101A)の演算結果を並列に受けとって演算したりする並列演算への対応を容易化するために配置されている。機能再構成セル20及び可変演算セル101(101A)による処理を直列的に行なう場合はその詳細は後述するが前記スイッチマトリクス回路などを利用することによって実現可能である。   In the function reconfigurable cell 20, a logical function is set variably in accordance with configuration information written from the system bus SBUS by the CPU 2 or the like. In FIG. 21, some of the plurality of function reconfigurable cells 20 include a FIFO buffer (FIFO_B), a 16-bit pulse width modulation circuit (PWM_16b), an 8-bit pulse width modulation circuit (PWM_8b), a serial transmission unit (SCI_Tx), a serial The logical functions of the receiving unit (SCI_Rx) and the 24-bit timer (TMR_24b) are set. The remaining function reconfigurable cells 20 are made available as an internal memory (ITNR_RAM) that can be randomly accessed via the system bus SBUS. Writing of data used for the set logical operation, an instruction to start the logical operation, and data reading of the logical operation result are performed via the peripheral bus PBUS. The variable operation cell 101 (101A) is used when further operations are added to the result of the logic operation by the variable logic cell 20, and the operation function is variable but limited to some extent by hardware. Is arranged in order to partially reduce the function setting burden for the variable logic without burdening the configuration information for the function reconfigurable cell 20. In addition, the arithmetic circuit 110 is arranged to facilitate the correspondence to the parallel operation in which the operation results of the plurality of variable operation cells 101 (101A) are received in parallel. When the processing by the function reconfigurable cell 20 and the variable operation cell 101 (101A) is performed in series, the details thereof will be described later, but this can be realized by using the switch matrix circuit or the like.

《可変機能ユニットの第1の例》
図1には可変機能ユニット(VFU)100の一例が示される。機能再構成セル20は記憶回路(MRY)23と制御回路(MCNT)24を有する。記憶回路23は例えばシングルポートのスタティック・ランダム・アクセスメモリ(SRAM)25と、アドレスラッチ回路(ADRLAT)26によって構成される。SRAM25はメモリアレイ27、アドレスデコーダ(SDEC)28、及びタイミングコントローラ(TMCNT)29を備える。メモリアレイ27はアドレスラッチ回路26から供給されるアドレス信号によってアクセスされるデータフィールド(DFLD)27_Dと制御フィールド(CFLD)27_Cを有する。アドレスデコーダ(SDEC)28はアドレスラッチ回路(ADRLAT)26から出力されるアドレス信号をデコードして、データフィールド(DFLD)27_D及び制御フィールド(CFLD)27_Cの夫々からアクセス単位のメモリセルを選択する。タイミングコントローラ(TMCNT)29は選択されたアクセス単位のメモリセルに対してリード・ライト信号RW_j(j=0〜m)で指示されたリード動作又はライト動作を制御する。
<< First example of variable function unit >>
FIG. 1 shows an example of a variable function unit (VFU) 100. The function reconfigurable cell 20 has a memory circuit (MRY) 23 and a control circuit (MCNT) 24. The storage circuit 23 includes, for example, a single port static random access memory (SRAM) 25 and an address latch circuit (ADRLAT) 26. The SRAM 25 includes a memory array 27, an address decoder (SDEC) 28, and a timing controller (TMCNT) 29. The memory array 27 has a data field (DFLD) 27_D and a control field (CFLD) 27_C that are accessed by an address signal supplied from the address latch circuit 26. The address decoder (SDEC) 28 decodes the address signal output from the address latch circuit (ADRLAT) 26 and selects an access unit memory cell from each of the data field (DFLD) 27_D and the control field (CFLD) 27_C. The timing controller (TMCNT) 29 controls the read operation or write operation instructed by the read / write signal RW_j (j = 0 to m) with respect to the memory cell of the selected access unit.

制御回路24はアドレスラッチ回路26にアドレス信号を供給するセレクタ(ADRSL)30、アドレスラッチ回路26がラッチしたアドレス信号を+1づつインクリメントするアドレスインクリメンタ(ICRM)31、及びアクセス制御デコーダ(ACDEC)32を有する。セレクタ30には、データフィールド27_Dから読み出された情報DAT_D、アドレスインクリメンタ31の出力、及びバスSBUS,PBUSから供給されたアクセスアドレス情報の一部のアドレス情報ADR_EXTが入力される。アクセス制御デコーダ32には制御フィールド27_Cから読み出された制御情報DAT_C、外部イベント信号EXEVT、当該機能再構成セル20に対するランダムアクセス選択信号RDMAE_j、ロジックイネーブル信号LOGE_j、及びIOアクセス選択信号IOAE_jが供給され、それに基づいてセレクタ30の出力動作、および可変演算セル101の演算動作等を制御する。メモリアレイ27には図示しないアドレスフィールド(AFLD)と当該アドレスフィールドの出力をセレクタ30への入力とするパス(DAT_A)とを更に有し、メモリアレイ27にアクセスし前記アドレスフィールドからの出力をアクセス制御デコーダによりメモリアレイ27の次のアクセスアドレスとすることも可能である。   The control circuit 24 includes a selector (ADRSL) 30 that supplies an address signal to the address latch circuit 26, an address incrementer (ICRM) 31 that increments the address signal latched by the address latch circuit 26 by 1, and an access control decoder (ACDEC) 32. Have The selector 30 receives the information DAT_D read from the data field 27_D, the output of the address incrementer 31, and part of the address information ADR_EXT of the access address information supplied from the buses SBUS and PBUS. The access control decoder 32 is supplied with control information DAT_C read from the control field 27_C, an external event signal EXEVT, a random access selection signal RDMAE_j for the function reconfigurable cell 20, a logic enable signal LOGJ_j, and an IO access selection signal IOAE_j. Based on this, the output operation of the selector 30, the operation operation of the variable operation cell 101, and the like are controlled. The memory array 27 further includes an address field (AFLD) (not shown) and a path (DAT_A) that uses the output of the address field as an input to the selector 30 to access the memory array 27 and access the output from the address field. It is also possible to set the next access address of the memory array 27 by the control decoder.

ランダムアクセス選択信号RDMAE_jがアクティブにされたときアクセス制御デコーダ32はセレクタ30にアドレス情報ADR_EXTを選択させ、そのアドレス情報ADR_EXTに従ってタイミングコントローラ29にリード/ライト信号RW_jに従ったアクセス動作を指示する。これによってSRAM25はアドレス情報ADR_EXTで指定されるアドレスに対してランダムアクセス可能になる。   When the random access selection signal RDMAE_j is activated, the access control decoder 32 causes the selector 30 to select the address information ADR_EXT, and instructs the timing controller 29 to perform an access operation according to the read / write signal RW_j according to the address information ADR_EXT. As a result, the SRAM 25 can randomly access the address specified by the address information ADR_EXT.

IOアクセス選択信号IOAE_jがアクティブにされ、リード/ライト信号RW_jによりリード動作が指示されたとき、アクセス制御デコーダ32はそのときのアドレスラッチ回路26のアドレスラッチ状態を維持したままそのラッチアドレス情報に従ってタイミングコントローラ29にリードアクセス動作を指示する。これにより、機能再構成セル20のIOアクセス選択信号IOAE_jがアクティブにされると、そのときSRAM25で選択されている記憶領域に対してアクセス可能になり、SRAM25に対して一つのメモリマップドIOデータレジスタに対する読出しと等価なアクセス動作が可能になる。また、IOアクセス選択信号IOAE_jがアクティブにされ、リード・ライト信号RW_jによりライト動作が指示されたとき、アクセス制御デコーダ32はアドレス情報ADR_EXTをアドレスセレクタ30に選択させ、そのアドレス情報ADR_EXTをアドレスラッチ26にセットして、SRAM25に対する読出しアドレスを初期設定することができる。このように、IOアクセス選択信号IOAE_jがイネーブルにされたとき書込み対象とされるアドレスラッチ回路26は書込み対象とされるメモリマップドIOレジスタと等価のレジスタとして把握することができる。この等価レジスタをスタートアドレス設定用等価IOレジスタと称する。また、IOアクセス選択信号IOAE_jがイネーブルにされたとき読出し対象とされるSRAMのメモリ領域は読出し対象とされるメモリマップドIOレジスタと等価のレジスタとして把握することができる。この等価レジスタをデータリード用等価IOレジスタと称する。   When the IO access selection signal IOAE_j is activated and a read operation is instructed by the read / write signal RW_j, the access control decoder 32 keeps the address latch state of the address latch circuit 26 at that time and performs the timing according to the latch address information. The controller 29 is instructed to perform a read access operation. Thereby, when the IO access selection signal IOAE_j of the function reconfigurable cell 20 is activated, the storage area selected by the SRAM 25 can be accessed at that time, and one memory mapped IO data is accessed for the SRAM 25. An access operation equivalent to reading a register becomes possible. When the IO access selection signal IOAE_j is activated and a write operation is instructed by the read / write signal RW_j, the access control decoder 32 causes the address selector 30 to select the address information ADR_EXT, and the address information ADR_EXT is address latch 26. The read address for the SRAM 25 can be initialized. Thus, when the IO access selection signal IOAE_j is enabled, the address latch circuit 26 to be written can be grasped as a register equivalent to the memory mapped IO register to be written. This equivalent register is referred to as a start address setting equivalent IO register. Further, when the IO access selection signal IOAE_j is enabled, the SRAM memory area to be read can be grasped as an equivalent register to the memory mapped IO register to be read. This equivalent register is referred to as a data read equivalent IO register.

ロジックイネーブル信号LOGE_jがアクティブにされたとき、アクセス制御デコーダ32はそのときアドレスラッチ26が保持しているアドレスをスタートアドレスとして、そのアクティブ期間にSRAM25のメモリリードサイクルを繰り返し起動し、サイクル毎に、制御フィールド27_Cから読み出される制御情報DAT_Cに従ってセレクタ30の選択動作を制御する。外部イベント信号EXEVTがイネーブルにされたとき、アクセス制御デコーダ32は当該メモリリードサイクルにおいてアドレスセレクタ30に特定のアドレス(例えばSRAM25の先頭アドレス)を出力させる。ロジックイネーブル信号LOGE_jがイネーブルにされたときスタートアドレスを保持するアドレスラッチ26はロジック動作の開始を指示するイネーブルビットの書込み対象とされるメモリマップドIOレジスタと等価のレジスタとして把握することができる。この等価レジスタをロジックイネーブル用等価IOレジスタと称する。   When the logic enable signal LOGJ_j is activated, the access control decoder 32 starts the memory read cycle of the SRAM 25 repeatedly during the active period using the address held by the address latch 26 as the start address, and for each cycle, The selection operation of the selector 30 is controlled in accordance with the control information DAT_C read from the control field 27_C. When the external event signal EXEVT is enabled, the access control decoder 32 causes the address selector 30 to output a specific address (for example, the start address of the SRAM 25) in the memory read cycle. When the logic enable signal LOG_j is enabled, the address latch 26 that holds the start address can be grasped as a register equivalent to a memory mapped IO register to which an enable bit for instructing the start of the logic operation is to be written. This equivalent register is referred to as a logic enable equivalent IO register.

前記ランダムアクセス可能にされる動作形態は第1の動作モードとされる。前述のIOアクセス選択信号IOAE_jがアクティブにされるIOアクセス動作形態及びロジックイネーブル信号LOGE_jがアクティブにされるロジック動作形態は、前記第1の動作モードに対して第2の動作モードとされる。   The operation mode in which random access is enabled is the first operation mode. The IO access operation mode in which the IO access selection signal IOAE_j is activated and the logic operation mode in which the logic enable signal LOGE_j is activated are the second operation mode with respect to the first operation mode.

この機能再構成セル20によれば、記憶回路23の読み出しを機能再構成セル20それ自体で自律的に制御することができる。例えば、前記制御回路24はSRAM25の次の読出しアドレスを先にSRAM25から読出した制御フィールドCFLDの情報DAT_Cやアクセス制御デコーダ32に供給される外部イベント信号EXEVTの入力に基づいて自律的に制御することが可能である。これにより、可変論理機能を実現するための記憶回路23を論理回路と等価な回路として扱うことができる。したがって、実現可能な論理構成や論理規模に融通性を得ることができ、また、小さなチップ占有面積で大きな論理規模にも対応可能な可変論理機能を実現可能になる。   According to this function reconfigurable cell 20, reading of the memory circuit 23 can be autonomously controlled by the function reconfigurable cell 20 itself. For example, the control circuit 24 autonomously controls the next read address of the SRAM 25 based on the information DAT_C of the control field CFLD read from the SRAM 25 and the input of the external event signal EXEVT supplied to the access control decoder 32. Is possible. Thereby, the memory circuit 23 for realizing the variable logic function can be handled as a circuit equivalent to the logic circuit. Therefore, it is possible to obtain flexibility in the feasible logic configuration and logic scale, and it is possible to realize a variable logic function that can cope with a large logic scale with a small chip occupation area.

また、機能再構成セル20の制御回路24は、外部からインタフェース制御回路21に与えられるロジックイネーブルのための指示に基づいて、前記記憶回路23のメモリアレイ27に対するライトプロテクションを行う。これにより、論理機能を実現するために一旦記憶部に設定されたデータがランダムアクセスによって誤って消去又は書き換えされる虞を未然に防止することができる。ロジックイネーブルのための指示は、先にメモリアレイ27から読み出した制御フィールド27_Cの情報を用いて前記メモリアレイの次の読み出しアドレスを決める動作を行う指示である。設定された論理機能を実行する動作が指示されたとき、その論理機能が不所望に変更されることはない。   Further, the control circuit 24 of the function reconfigurable cell 20 performs write protection on the memory array 27 of the storage circuit 23 based on an instruction for logic enable given to the interface control circuit 21 from the outside. As a result, it is possible to prevent the risk that data once set in the storage unit for realizing the logical function is erroneously erased or rewritten by random access. The instruction for logic enable is an instruction to perform an operation of determining the next read address of the memory array using the information of the control field 27_C previously read from the memory array 27. When an operation for executing the set logical function is instructed, the logical function is not changed undesirably.

可変演算セル101は論理演算フィールド(LGCF)103と制御レジスタ(REG_L)102から成る。論理演算フィールド103は論理和、論理積、反転、排他的論理和、排他的論理積などの論理演算機能が選択可能にされ、それら論理演算機能は、ハードワイヤードロジック、又は真理値表データを参照して論理機能を実現するルックアップテーブル方式により実現される。制御レジスタ102には制御フィールド27_Cからの制御データをアクセス制御デコーダ32が解読して演算制御データがセットされる。論理演算フィールド103はイネーブル信号Cond_LEにより動作可能にされると、制御レジスタ102にセットされた演算制御データに基づいて論理演算機能が選択される。演算結果はL(DAT_D)、L(DAT_C)として出力される。特に制限されないが、L(DAT_D)はDAT_Dに対する演算結果に対応され、L(DAT_C)はDAT_Cに対する演算結果に対応される。イネーブル信号Cond_LEは、例えばCPU2等からの指示に従ってバスインタフェース回路4が出力する。   The variable operation cell 101 includes a logical operation field (LGCF) 103 and a control register (REG_L) 102. In the logical operation field 103, logical operation functions such as logical sum, logical product, inversion, exclusive logical sum, and exclusive logical product can be selected, and these logical operation functions refer to hard wired logic or truth table data. Thus, it is realized by a look-up table method for realizing a logical function. The control data is set in the control register 102 by the access control decoder 32 decoding the control data from the control field 27_C. When the logical operation field 103 is enabled by the enable signal Cond_LE, the logical operation function is selected based on the operation control data set in the control register 102. The calculation result is output as L (DAT_D) and L (DAT_C). Although not particularly limited, L (DAT_D) corresponds to the calculation result for DAT_D, and L (DAT_C) corresponds to the calculation result for DAT_C. The enable signal Cond_LE is output by the bus interface circuit 4 in accordance with an instruction from the CPU 2 or the like, for example.

図2には複数の可変機能ユニット100のアレイ構成が例示される。複数の可変機能ユニット100はマトリクス配置され、左右に隣接する可変機能ユニット100の間には接続経路選択回路(RSW)35が配置される。可変機能ユニット100及び接続経路選択回路35は行単位で内部バスIBUS_i(i=0,1,…)に接続される。内部バスIBUS_iはアドレスバスIABUS_iとデータバスIDBUS_i等に大別される。内部アドレスバスIABUS_iは制御回路24に前記アドレスADR_EXTを供給する。内部データバスIDBUS_iは可変機能ユニット100との間で情報DAT_C,DAT_D及びL(DAT_C),L(DAT_D)等を伝達するために用いられる。接続経路選択回路35は、可変機能ユニット100のデータDAT_C,DAT_D及びL(DAT_C),L(DAT_D)の伝達経路を上下又は左右に隣接する可変機能ユニット100、もしくは対応行の内部データバスIDBUS_iの間で選択的に接続するスイッチ回路36と、前記スイッチ回路36のスイッチ制御情報を保持するための接続用記憶回路37とを有する。またスイッチ回路36は可変機能ユニット100から入力したデータL(DAT_D),L(DAT_C)をそのまま出力して、複数のスイッチ回路36からデータL(DAT_D),L(DAT_C)を並列に供給可能にする動作形態を有する。接続用記憶回路37は内部バスIABUS_i,IDBUS_iを介してランダムアクセスされることによってスイッチ回路36のための所要のスイッチ制御情報が設定される。記憶回路23に対するランダムアクセスが指示されたときは、接続用記憶回路37の設定内容にかかわらず、スイッチ回路36は、ランダムアクセス選択信号RDMAE_jにより、ランダムアクセス対象にされる記憶回路23を内部データバスIDBUS_iに接続するように制御される。   FIG. 2 illustrates an array configuration of a plurality of variable function units 100. The plurality of variable function units 100 are arranged in a matrix, and a connection path selection circuit (RSW) 35 is disposed between the variable function units 100 adjacent to the left and right. The variable function unit 100 and the connection path selection circuit 35 are connected to the internal bus IBUS_i (i = 0, 1,...) In units of rows. The internal bus IBUS_i is roughly divided into an address bus IABUS_i and a data bus IDBUS_i. The internal address bus IABUS_i supplies the address ADR_EXT to the control circuit 24. The internal data bus IDBUS_i is used to transmit information DAT_C, DAT_D, L (DAT_C), L (DAT_D) and the like to and from the variable function unit 100. The connection path selection circuit 35 passes the transmission paths of the data DAT_C, DAT_D and L (DAT_C), L (DAT_D) of the variable function unit 100 vertically or horizontally adjacent to the variable function unit 100 or the internal data bus IDBUS_i of the corresponding row. And a connection storage circuit 37 for holding switch control information of the switch circuit. The switch circuit 36 outputs the data L (DAT_D) and L (DAT_C) input from the variable function unit 100 as they are, and can supply the data L (DAT_D) and L (DAT_C) in parallel from the plurality of switch circuits 36. It has the operation form to do. The connection storage circuit 37 is randomly accessed via the internal buses IABUS_i and IDBUS_i, whereby necessary switch control information for the switch circuit 36 is set. When random access to the storage circuit 23 is instructed, the switch circuit 36 uses the random access selection signal RDMAE_j to set the storage circuit 23 to be accessed as an internal data bus regardless of the setting contents of the connection storage circuit 37. It is controlled to connect to IDBUS_i.

一の機能再構成セル20のデータDAT_C,DAT_Dを他の機能再構成セル20又は他の可変演算セル101に、また、可変演算セル101のデータL(DAT_C),L(DAT_D)を他の機能再構成セル20又は他の可変演算セル101に伝達することが可能であるから、複数の機能再構成セル20間でそれぞれの前記自律制御を連動させることが可能になり、また、その際に可変演算セル101を用いることができる。複数の機能再構成セル20を直列的に動作させ、あるいは並列的に動作させて、一単位の論理機能を実現することが可能になる。具体例は後で詳述する。   Data DAT_C and DAT_D of one function reconfigurable cell 20 are transferred to another function reconfigurable cell 20 or other variable calculation cell 101, and data L (DAT_C) and L (DAT_D) of variable calculation cell 101 are set to other functions. Since it can be transmitted to the reconfigurable cell 20 or another variable arithmetic cell 101, it becomes possible to link the autonomous control among a plurality of function reconfigurable cells 20, and variable at that time. An arithmetic cell 101 can be used. A plurality of function reconfigurable cells 20 can be operated in series or in parallel to realize a unit of logic function. Specific examples will be described later.

機能再構成セル20の記憶回路23には論理機能を定義するためのコンフィギュレーション情報がランダムアクセス設定され、接続経路選択回路35の接続用記憶回路37には接続経路を定義するためのコンフィグレーション情報がランダムアクセスによって設定される。論理機能が設定された機能再構成セル20に論理動作の開始が指示されると、その論理動作によって得られる情報は左右又は上下に配置された別の機能再構成セル20に接続経路選択回路35を介して伝達可能にされ、また、機能再構成セル20の論理動作による情報は前記メモリマップドIOレジスタに対する読出しと等価なアクセス動作により対応するバスIBUS_iを介して外部に読み出し可能にされる。   Configuration information for defining a logic function is randomly set in the memory circuit 23 of the function reconfigurable cell 20, and configuration information for defining a connection path in the connection memory circuit 37 of the connection path selection circuit 35. Is set by random access. When the function reconfigurable cell 20 to which the logic function is set is instructed to start the logic operation, the information obtained by the logic operation is transferred to another function reconfigurable cell 20 arranged on the left or right or top and bottom. The information by the logic operation of the function reconfigurable cell 20 can be read to the outside via the corresponding bus IBUS_i by an access operation equivalent to reading to the memory mapped IO register.

図3には機能再構成メモリ8の全体的な構成が例示される。バスSBUS,PBUSからのアクセス要求に応答して、図2で説明した複数個の可変機能ユニット100と接続経路選択回路35のアレイに対する制御を行うインタフェース制御回路として、バスインタフェース回路(BUSIF)40、アドレスデコーダ(ADEC)41、及び内部バス選択回路(IBSL)42を有する。   FIG. 3 illustrates the overall configuration of the function reconfiguration memory 8. In response to an access request from the buses SBUS and PBUS, a bus interface circuit (BUSIF) 40 is used as an interface control circuit for controlling the array of the plurality of variable function units 100 and the connection path selection circuit 35 described in FIG. An address decoder (ADEC) 41 and an internal bus selection circuit (IBSL) 42 are included.

前記複数個の機能再構成セル20の記憶回路23のメモリエリア(SRAM25の記憶領域)には図12に例示されるように、第1のアドレス範囲AA1のアドレスがマッピングされる。第1のアドレス範囲AA1はシステムバスSBUSに接続するメモリ空間の一部のアドレス空間とされる。また、前記夫々の機能再構成セル20のための等価的なメモリマップドIOレジスタとして把握することができる前記スタートアドレス設定用等価IOレジスタ、データリード用等価IOレジスタ及びロジックイネーブル用等価IOレジスタには第2のアドレス範囲AA2のアドレスがマッピングされる。図12において1個の機能再構成セルにおけるSRAMのアドレスは256ワード分のアドレスとされ、1個の機能再構成セルにおける前記3個の等価的なメモリマップドIOレジスタのアドレスは3ワード分のアドレスとされる。第2のアドレス範囲AA2は周辺バスPBUSに接続される周辺回路のレジスタ等に割り当てられるメモリマップドIOアドレス空間の一部のアドレス空間とされる。前記接続用記憶回路37の記憶領域には第3のアドレス範囲AA3のアドレスがマッピングされる。第3のアドレス範囲AA3はシステムバスSBUS若しくは周辺バスPBUSに接続するメモリ空間の一部のアドレス空間とされる。   As illustrated in FIG. 12, the addresses of the first address range AA1 are mapped to the memory area of the memory circuit 23 (the memory area of the SRAM 25) of the plurality of function reconfigurable cells 20. The first address range AA1 is a partial address space of the memory space connected to the system bus SBUS. The start address setting equivalent IO register, the data read equivalent IO register, and the logic enable equivalent IO register can be grasped as equivalent memory mapped IO registers for the respective function reconfigurable cells 20. Is mapped with the address of the second address range AA2. In FIG. 12, the address of SRAM in one function reconfigurable cell is 256 words, and the address of the three equivalent memory mapped IO registers in one function reconfigurable cell is 3 words. Address. The second address range AA2 is a partial address space of the memory-mapped IO address space allocated to the peripheral circuit registers and the like connected to the peripheral bus PBUS. The address of the third address range AA3 is mapped to the storage area of the connection storage circuit 37. The third address range AA3 is a part of the memory space connected to the system bus SBUS or the peripheral bus PBUS.

バスステートコントローラ6は、第1又は第3のアドレス範囲AA1,AA3へのアクセス要求があったときデータプロセッサのアドレス空間中のメモリアドレス空間へのアクセスとしてアクセス制御を行い、第2のアドレス空間AA2へのアクセス要求があった時はデータプロセッサのアドレス空間中のIOアドレス空間へのアクセスとしてアクセス制御を行う。第1乃至第3のいずれのアドレス範囲へのアクセスであったとしても機能再構成メモリ8のバスインタフェース回路40がアクセスの受付をする。第1又は第3のアドレス範囲AA1,AA3へのアクセス要求があったときはバスインタフェース回路40はメモリウインドウイネーブル信号CMEをアクティブとし、第2のアドレス範囲AA2のアクセス要求があったときバスインタフェース回路40はロジックウインドウイネーブル信号CREをアクティブとする。アクセス要求に係るデータの方向はアクセス要求元から発行されるリード信号RD及びライト信号WTによって判別される。尚、メモリウインドウイネーブル信号CME及びロジックウインドウイネーブル信号CREは例えばアドレスデコーダ41に供給される。   The bus state controller 6 performs access control as an access to the memory address space in the address space of the data processor when there is an access request to the first or third address range AA1, AA3, and the second address space AA2 When an access request is made, access control is performed as an access to the IO address space in the address space of the data processor. The bus interface circuit 40 of the function reconfigurable memory 8 accepts access regardless of the access to any of the first to third address ranges. The bus interface circuit 40 activates the memory window enable signal CME when there is an access request to the first or third address range AA1, AA3, and the bus interface circuit when there is an access request for the second address range AA2. 40 activates the logic window enable signal CRE. The direction of data related to the access request is determined by a read signal RD and a write signal WT issued from the access request source. The memory window enable signal CME and the logic window enable signal CRE are supplied to the address decoder 41, for example.

アドレスデコーダ41はアクセス要求に係るアドレス信号の上位側ビットをデコードして、アレイ状に配置された機能再構成セル20と接続経路選択回路35のうち何れの回路が指定されているかを判別する。接続経路選択回路35が指定されているときは当該回路の接続用記憶回路37をイネーブルとし、対応する内部バスIBUS_iをバス選択回路42に選択させてシステムバスSBUSに接続し、そのアクセス要求に伴うアドレス信号の下位側アドレス情報を用いて当該接続用記憶回路37をランダムアクセス可能にする。これにより、CPU2等は第3のアドレス範囲AA3のアドレスを指定するランダムアクセスにより接続用記憶回路37に書き込みを行って機能再構成セル20間の接続を任意に定義することができる。   The address decoder 41 decodes the higher-order bits of the address signal related to the access request, and determines which one of the function reconfigurable cell 20 and the connection path selection circuit 35 arranged in the array is designated. When the connection path selection circuit 35 is designated, the connection storage circuit 37 of the circuit is enabled, the corresponding internal bus IBUS_i is selected by the bus selection circuit 42 and connected to the system bus SBUS, and the access request is accompanied. Using the lower address information of the address signal, the connection storage circuit 37 can be randomly accessed. Thereby, the CPU 2 and the like can arbitrarily define the connection between the function reconfigurable cells 20 by writing to the connection storage circuit 37 by random access designating the address in the third address range AA3.

また、アドレスデコーダ41は、アドレスデコードにより、アドレス範囲AA1のアドレスにより機能再構成セル20が指定されていることを判別したときは、当該機能再構成セルに割り当てられたRDMAE_jをアクティブとし、対応する内部バスIBUS_iをバス選択回路42に選択させてシステムバスSBUSに接続し、そのアクセス要求に伴うアドレス信号の下位側アドレス情報を用いて当該接続用記憶回路37をランダムアクセス可能にする。これにより、CPU2等は第1のアドレス範囲AA1のアドレスを指定するランダムアクセスによって記憶回路23のSRAM25に書き込みを行って当該機能再構成セル20の論理構成を任意に定義することができる。   Further, when the address decoder 41 determines by address decoding that the function reconfigurable cell 20 is designated by the address in the address range AA1, the address decoder 41 activates RDMAE_j assigned to the function reconfigurable cell and responds accordingly. The internal bus IBUS_i is selected by the bus selection circuit 42 and connected to the system bus SBUS, and the low-order address information of the address signal accompanying the access request is used to enable random access to the connection storage circuit 37. Thereby, the CPU 2 and the like can arbitrarily define the logical configuration of the function reconfigurable cell 20 by writing to the SRAM 25 of the storage circuit 23 by random access designating the address in the first address range AA1.

アドレスデコーダ41は、アドレスデコードにより、アドレス範囲AA2のアドレスにより機能再構成セル20の前記等価的なメモリマップドIOレジスタが指定されていることを判別したときは、指定された等価的なメモリマップドIOレジスタに応じて、IOAE_j又はLOGE_jをアクティブとし、リード・ライト信号RW_jを生成する。   When the address decoder 41 determines by the address decoding that the equivalent memory mapped IO register of the function reconfigurable cell 20 is specified by the address in the address range AA2, the specified equivalent memory map Depending on the IO register, IOAE_j or LOGJ is activated, and the read / write signal RW_j is generated.

即ち、そのとき、周辺バスPBUSから前記スタートアドレス設定用等価IOレジスタを指定してライト信号WTにより書き込み動作が指示されたとき、アドレスデコーダ41はそのアクセス要求に伴うアドレス信号の下位側アドレス情報で指定される機能再構成セル20に割り当てられたIOAE_jをアクティブとする。更に、リード・ライト信号RW_jによってライト動作を指定する。これによって当該機能再構成セル20のADRSEL30を経由してADRLAT26に書き込みデータがセットされる。   That is, at that time, when the write operation is instructed by the write signal WT by specifying the start address setting equivalent IO register from the peripheral bus PBUS, the address decoder 41 uses the lower address information of the address signal accompanying the access request. The IOAE_j assigned to the designated function reconfigurable cell 20 is activated. Further, the write operation is designated by the read / write signal RW_j. As a result, write data is set in the ADRLAT 26 via the ADRSEL 30 of the function reconfigurable cell 20.

また、そのとき、周辺バスPBUSから前記ロジックイネーブル用等価IOレジスタを指定してリード信号RDにより読み出し動作が指示されたとき、アドレスデコーダ41はそのアクセス要求に伴うアドレス信号の下位側アドレス情報で指定される機能再構成セル20に割り当てられたLOGE_jをアクティブとする。更に、リード・ライト信号RW_jによってリード動作を指定する。これによって当該機能再構成セル20のアクセス制御デコーダ32はそのときアドレスラッチ26が保持しているアドレスをスタートアドレスとしてそのアクティブ期間にSRAM25のメモリリードサイクルを繰り返し起動し、サイクル毎にデータフィールド27_Dから読み出されるデータ情報DAT_Dをセレクタに帰還させ、サイクル毎に、制御フィールド27_Cから読み出される制御情報DAT_Cに従ってセレクタ30の選択動作を制御して、論理動作を実現する。   At that time, when the logic enable equivalent IO register is specified from the peripheral bus PBUS and a read operation is instructed by the read signal RD, the address decoder 41 is specified by the lower address information of the address signal accompanying the access request. LOG_j assigned to the function reconfigurable cell 20 to be activated is activated. Further, the read operation is designated by the read / write signal RW_j. As a result, the access control decoder 32 of the function reconfigurable cell 20 starts the memory read cycle of the SRAM 25 repeatedly during the active period using the address held by the address latch 26 as the start address, and from the data field 27_D every cycle. The read data information DAT_D is fed back to the selector, and the logic operation is realized by controlling the selection operation of the selector 30 in accordance with the control information DAT_C read from the control field 27_C every cycle.

また、そのとき、周辺バスPBUSから前記データリード用等価IOレジスタを指定してリード信号RDにより読み出し動作が指示されたとき、アドレスデコーダ41はそのアクセス要求に伴うアドレス信号の下位側アドレス情報で指定される機能再構成セル20に割り当てられたIOAE_jをアクティブとする。更に、バスインタフェース回路40はリード・ライト信号RW_jによってリード動作を指定する。これによって当該機能再構成セル20のADRLAT26が保持しているアドレス情報によって選択されるSRAM25の記憶領域からリードされる情報をバスインタフェース回路40が受け取って周辺バスPBUSにリードデータとして出力する。これにより、CPU2等は論理機能が設定された機能再構成セル20による論理動作の結果を第2のアドレス範囲AA2のアドレスを指定するリードアクセスによって任意に取得することができる。バスインタフェース回路40は論理動作の結果の一つとして論理動作完了のような要求を認識すると、割り込み信号を割り込みコントローラ16に供給することができる。これによる割り込みが与えられたCPU2は例えば前記データリード用等価IOレジスタに対するリード動作を指定することによって当該論理動作を終了した機能再構成セル20から論理動作の結果を取得する動作ルーチンに移行したりすることが可能になる。   At that time, when the read operation is instructed by the read signal RD by designating the data read equivalent IO register from the peripheral bus PBUS, the address decoder 41 designates the lower address information of the address signal accompanying the access request. The IOAE_j assigned to the function reconfigurable cell 20 to be executed is activated. Further, the bus interface circuit 40 designates a read operation by the read / write signal RW_j. As a result, the bus interface circuit 40 receives information read from the storage area of the SRAM 25 selected by the address information held in the ADRLAT 26 of the function reconfigurable cell 20 and outputs it as read data to the peripheral bus PBUS. Thereby, the CPU 2 or the like can arbitrarily obtain the result of the logical operation by the function reconfigurable cell 20 in which the logical function is set by the read access designating the address in the second address range AA2. When the bus interface circuit 40 recognizes a request such as completion of the logic operation as one of the results of the logic operation, the bus interface circuit 40 can supply an interrupt signal to the interrupt controller 16. For example, the CPU 2 to which the interrupt is given shifts to an operation routine for acquiring the result of the logic operation from the function reconfigurable cell 20 which has finished the logic operation by designating the read operation to the data read equivalent IO register. It becomes possible to do.

上述のように、前記記憶回路に対するランダムアクセス用のアドレスマッピング(第1のアドレス範囲)に対し、機能設定された機能再構成セルによる論理動作結果を取得するために機能再構成セルに割り当てたメモリマップドI/Oアドレスのようなアドレス(第2のアドレス範囲のアドレス)を個別化することにより、機能再構成セルに対する論理機能をダイナミックに再構成してもそれによる論理動作結果を取得するためのリードアドレスに変更を生ぜず、機能再構成セルに対する論理機能をダイナミックに再構成することが容易になる。   As described above, the memory allocated to the function reconfigurable cell in order to obtain the logical operation result by the function reconfigurable cell with the function set for the address mapping (first address range) for random access to the memory circuit. In order to obtain a logic operation result by dynamically reconfiguring a logic function for a function reconfigurable cell by individualizing an address (address in the second address range) such as a mapped I / O address Therefore, it is easy to dynamically reconfigure the logic function for the function reconfigurable cell without changing the read address.

機能再構成セル20における論理動作の基本概念が図7に示される。制御回路24は条件COND=1で外部アドレスADR_EXTであるアドレスYを記憶回路23のアクセスアドレスとし、条件COND=0の間は、制御情報DAT_Cで決まる内部シーケンスにしたがってデータ情報DAT_Dで指定されるアドレスによって記憶回路23をアクセスする。図14に例示されるように、内部シーケンスにしたがって処理Aを行っているとき、条件COND=0の間は内部シーケンスで規定されるデータ情報DAT_Dにより指定されるアドレスに応じて処理Bに分岐することが可能であり、また、条件COND=1の時に外部アドレスADR_EXTで指定される処理Cに分岐することも可能である。ここで、前記条件CONDは、前記CPU2などによる機能再構成メモリ8に対するアクセス形態によって決まる条件、更には、前記制御情報DAT_Cで決まる条件として把握すればよい。   The basic concept of logic operation in the function reconfigurable cell 20 is shown in FIG. The control circuit 24 uses the address Y, which is the external address ADR_EXT under the condition COND = 1, as the access address of the storage circuit 23. During the condition COND = 0, the address specified by the data information DAT_D according to the internal sequence determined by the control information DAT_C To access the memory circuit 23. As illustrated in FIG. 14, when the process A is performed according to the internal sequence, the process branches to the process B according to the address specified by the data information DAT_D defined by the internal sequence while the condition COND = 0. It is also possible to branch to the process C specified by the external address ADR_EXT when the condition COND = 1. Here, the condition COND may be grasped as a condition determined by the access form to the function reconfiguration memory 8 by the CPU 2 or the like, and further as a condition determined by the control information DAT_C.

機能再構成セル20でリロード型ダウンカウンタを構成する場合の例が図15Aに示される。ここではTYPE、CFLAGは制御情報DAT_Cに含まれるものとする。図15Bには記憶回路23の保持情報が例示される。DataはデータフィールドDFLDの情報、addressはアドレスラッチ回路26に供給されるアドレス情報を意味する。例えば、CFLAG=1(COND=1)のとき外部アドレスADR_EXTとして“0110”が入力されると、これをアドレスとしてCFLAG=0、Data=“0101”が読み出され、読み出されたデータが次の読み出しアドレスとされ、以下同様の動作がCFLAG=1になるまで繰り返される。この間に出力されるデータ情報DAT_Dは“1010”から“0000”までのダウンカウント値とされる。COND=1のとき再度、カウント初期値をリロードしてダウンカウントを繰り返すことができる。図15Cには前記ダウンカウント動作におけるフローチャートが例示される。   An example in which a reloadable down counter is configured with the function reconfigurable cell 20 is shown in FIG. 15A. Here, TYPE and CFLAG are assumed to be included in the control information DAT_C. FIG. 15B illustrates information held in the memory circuit 23. Data means information of the data field DFLD, and address means address information supplied to the address latch circuit 26. For example, when “0110” is input as the external address ADR_EXT when CFLAG = 1 (COND = 1), CFLAG = 0 and Data = “0101” are read using this as the address, and the read data is the next The same operation is repeated until CFLAG = 1 = 1. The data information DAT_D output during this period is a down count value from “1010” to “0000”. When COND = 1, the count initial value can be reloaded again to repeat down-counting. FIG. 15C illustrates a flowchart in the down-counting operation.

2個の機能再構成セル20でリロード型ダウンカウンタを構成する場合の例が図16に示される。下位バイトの出力データDAT_Dの全ビットがオール“0”になったとき、CFLAGを上位バイトの機能再構成セル20の制御回路に与えて上位バイトの動作を開始させる。上位バイトの出力データDAT_Dの全ビットがオール“0”になったときマルチバイトのダウンカウントが完了され、再度、下位バイトのカウント初期値をリロードすることによってマルチバイトのダウンカウントを再開することができる。   An example in which a reload type down counter is configured by two function reconfigurable cells 20 is shown in FIG. When all the bits of the output data DAT_D of the lower byte are all “0”, CFLAG is given to the control circuit of the function reconfigurable cell 20 of the upper byte to start the operation of the upper byte. When all the bits of the output data DAT_D of the upper byte are all “0”, the multi-byte down-count is completed, and the multi-byte down-count can be restarted by reloading the lower byte count initial value again. it can.

図15Aの構成で3ビットカウンタを構成する場合の例を図17に示す。図17にはSRAMの記憶データが例示される。同図に示されるNext Address欄はアドレスラッチ回路26の値を意味する。最後に示された[Reg]はCFLAG=1によって外部から任意にアドレスが設定可能であることを意味する。図18には図17による3ビットカウンタ動作の動作シーケンスを例示する。ステップS11−1においてNにアドレスの初期値として“000”を設定し、ステップS11−2においてアドレス”000“のNext Addressフィールドに格納されている値”111“をNの値として設定し、ステップS11−3においてアドレス”111“のCFLAGフィールドに格納されている値”0“を判定する。以降、ステップS11−2とS11−3とをCFLAGフィールドの値が”1“になるまで繰り返す。この繰り返しの過程においてアドレスNのDataフィールドの値は値”111“から”000“までの1ダウンカウンタとして出力される。   FIG. 17 shows an example in which a 3-bit counter is configured with the configuration of FIG. 15A. FIG. 17 illustrates data stored in the SRAM. The Next Address column shown in the figure means the value of the address latch circuit 26. [Reg] shown at the end means that an address can be arbitrarily set from the outside by CFLAG = 1. FIG. 18 illustrates an operation sequence of the 3-bit counter operation according to FIG. In step S11-1, N is set to "000" as the initial address value, and in step S11-2, the value "111" stored in the Next Address field of address "000" is set as the N value. In S11-3, the value “0” stored in the CFLAG field of the address “111” is determined. Thereafter, steps S11-2 and S11-3 are repeated until the value of the CFLAG field becomes “1”. In the process of repetition, the value of the Data field at address N is output as a 1-down counter from “111” to “000”.

図13の論理動作基本概念図に対応する具体的な動作例が図19に示される。外部トリガとして、例えば前記スタートアドレス設定用等価IOレジスタの指定によって初期アドレス値として “111”がアドレスラッチ26に入力される(S1)。次いで、ロジックイネーブル用等価IOレジスタの指定によって、アドレスラッチ26のアドレス情報がSRAM25に供給開始されることにより論理動作が起動される(S2)。これにより、そのアドレスで指定されたデータフィールドDFLDからデータ情報DAT_Dとして“110”がセレクタ30に供給され(S3)、また、制御フィールドCFLDから制御情報DAT_Cとして情報“101”がアクセス制御デコーダ32に供給される(S4)。アクセス制御デコーダ32はその情報“101”をデコードし、S3により帰還された情報“110”を選択し(S5)、今度はこの情報“110”をアドレスとしてSRAM25のアクセスが行われる(S6)。以下同様に動作が繰り返されて所要の論理動作(3ビットダウンカウンタ動作)が行われる。CLKはSRAM25のメモリサイクル等を規定する、機能再構成セル20の動作基準クロック信号である。   A specific operation example corresponding to the logical operation basic conceptual diagram of FIG. 13 is shown in FIG. As an external trigger, for example, “111” is input to the address latch 26 as an initial address value by designating the start address setting equivalent IO register (S1). Next, the logic operation is started when the address information of the address latch 26 is started to be supplied to the SRAM 25 by the designation of the logic enable equivalent IO register (S2). As a result, “110” is supplied to the selector 30 as the data information DAT_D from the data field DFLD designated by the address (S3), and the information “101” is supplied from the control field CFLD as the control information DAT_C to the access control decoder 32. Is supplied (S4). The access control decoder 32 decodes the information “101”, selects the information “110” fed back in S3 (S5), and this time the SRAM 25 is accessed using this information “110” as an address (S6). Thereafter, the same operation is repeated to perform a required logical operation (3-bit down counter operation). CLK is an operation reference clock signal of the function reconfigurable cell 20 that defines a memory cycle of the SRAM 25 and the like.

3ビットカウンタを夫々構成する機能再構成セル20を接続選択回路35で接続して6ビットカウンタを構成する例を図20に示す。本構成では夫々の機能再構成セルは3ビットアップカウンタ動作を行う例を示しており、データフィールドDFLDの設定値と外部から供給される初期アドレス値が図19の例と異なっている。機能再構成セル20_Lは下位3ビット、20_Uは上位3ビットを構成し、接続経路選択回路35は、下位3ビットを構成する機能再構成セル20_Lの制御フィールドCFLDの最下位ビットの反転値を、上位3ビットを構成する機能再構成セル20_Uのロジックイネーブル信号LOGE_jとして供給する。カウント動作を開始する前に機能再構成セル20_L、20_Uのアドレスラッチ回路26に初期アドレス値として“000”をセットし、その後、LOGE_iをアクティブとして機能再構成セル20_Lに下位3ビットのカウント動作を開始させる。下位3ビットの機能再構成セル20_Lによるアップカウントが終了して制御情報DAT_Cが“100”を出力する1サイクル期間だけLOGE_jをアクティブに変化させて、機能再構成セル20_Uに上位3ビットのカウント動作を行わせる。機能再構成セル20_Lの制御情報DAT_Cが“100”を出力した場合、20_Lのアドレス制御デコーダ32はセレクタ30に対して外部からの入力を選択してアドレスラッチ回路26にセットすることから、外部入力値としては“001”をセットしておけばよい。   FIG. 20 shows an example in which a function reconfigurable cell 20 constituting a 3-bit counter is connected by a connection selection circuit 35 to constitute a 6-bit counter. In this configuration, each function reconfigurable cell shows an example in which a 3-bit up counter operation is performed, and the set value of the data field DFLD and the initial address value supplied from the outside are different from the example of FIG. The function reconfigurable cell 20_L constitutes the lower 3 bits, 20_U constitutes the upper 3 bits, and the connection path selection circuit 35 obtains the inverted value of the least significant bit of the control field CFLD of the function reconfigurable cell 20_L constituting the lower 3 bits. This is supplied as the logic enable signal LOG_j of the function reconfigurable cell 20_U constituting the upper 3 bits. Before starting the count operation, “000” is set as an initial address value in the address latch circuit 26 of the function reconfigurable cells 20_L and 20_U, and then LOG_i is made active and the function reconfigurable cell 20_L performs a count operation of lower 3 bits. Let it begin. LOG_j is changed to active only for one cycle during which up-counting by the lower 3 bits of the function reconfigurable cell 20_L ends and the control information DAT_C outputs “100”, and the upper 3 bits of the function reconfigurable cell 20_U is counted. To do. When the control information DAT_C of the function reconfigurable cell 20_L outputs “100”, the 20_L address control decoder 32 selects the input from the outside to the selector 30 and sets it in the address latch circuit 26. As a value, “001” may be set.

CPUによる機能再構成メモリ8のアクセス形態が図22に例示される。CPU2やDMAC5による機能再構成メモリ8に対するランダムアクセスは経路PAS_Sを用いて行われる。このアクセス動作は機能再構成セル20及び接続経路選択回路35に対して機能を設定するためのコンフィギュレーション情報の設定に用いられる。また、論理機能の設定に用いられなかった機能再構成セル20を内部RAM(ITNR_RAM)としてリード・ライトアクセスする場合である。また、CPU2やDMAC5による機能再構成メモリ8に対するメモリマップドIOレジスタアクセスは経路PAS_Pを用いて行われる。このアクセス動作は、例えば前記スタートアドレス設定用等価IOレジスタ、データリード用等かIOレジスタ、ロジックイネーブル用等価IOレジスタに対するアクセスに用いられる。ランダムアクセス用のアドレスマッピングとメモリマップドIOレジスタアクセス用のアドレスマッピングは相互に分離されている。   An access mode of the function reconfigurable memory 8 by the CPU is illustrated in FIG. Random access to the function reconfiguration memory 8 by the CPU 2 or DMAC 5 is performed using the path PAS_S. This access operation is used for setting configuration information for setting functions for the function reconfigurable cell 20 and the connection path selection circuit 35. This is also the case where the function reconfigurable cell 20 that has not been used for setting the logic function is read / write accessed as an internal RAM (ITNR_RAM). Further, the memory mapped IO register access to the function reconfigurable memory 8 by the CPU 2 and the DMAC 5 is performed using the path PAS_P. This access operation is used, for example, for accessing the start address setting equivalent IO register, data read or IO register, and logic enable equivalent IO register. The address mapping for random access and the address mapping for memory mapped IO register access are separated from each other.

以上の如く、機能再構成セル20及び接続経路選択回路35に所要のコンフィギュレーション情報を設定することにより、単数又は複数の機能再構成セル20を用いて所要の周辺機能を実現することができる。この機能を用いることにより、単数又は複数の機能再構成セル20に、論理演算、算術演算、更には符号化/復号演算などの所要の演算機能を実現することも可能である。このとき、機能再構成メモリ8は、図1に例示されるように、機能再構成セル20と共に論理機能がある程度限定された可変演算セル101を備え、機能再構成セル20に対する演算機能設定の負担を軽減している。   As described above, by setting required configuration information in the function reconfigurable cell 20 and the connection path selection circuit 35, a required peripheral function can be realized using one or a plurality of function reconfigurable cells 20. By using this function, it is possible to realize a required arithmetic function such as a logical operation, an arithmetic operation, and further an encoding / decoding operation in one or a plurality of function reconfigurable cells 20. At this time, as illustrated in FIG. 1, the function reconfiguration memory 8 includes a variable operation cell 101 having a logic function limited to some extent together with the function reconfiguration cell 20, and a load of operation function setting for the function reconfiguration cell 20. Has been reduced.

次に、機能再構成セル20に付加された可変演算セル101及び並列演算を容易化するための演算回路110について更に説明する。   Next, the variable arithmetic cell 101 added to the function reconfigurable cell 20 and the arithmetic circuit 110 for facilitating parallel arithmetic will be further described.

図23Aにはレジスタ102に設定される演算制御データのデータフォーマットが例示される。入力選択フィールドCRF1、論理演算指定フィールドCRF2、及び論理演算のビット指定フィールドCRF3を有する。図1の例では入力選択フィールドCRF1は無視される。論理演算指定フィールドCRF2は論理演算の種別を指定する。論理演算のビット指定フィールドCRF3は、入力される演算対象データのどのビットを演算対象ビットにするかを指定する。ここでは演算対象データの入力単位をワードと称する。図23Bに例示される論理演算指定フィールドCRF2は3ビットで論理演算の種別、例えば論理和、排他的論理和、論理積、否定論理を指定し、“000”乃至 “011”はワード単位の演算を指定し、“100”乃至“111”はビット単位の演算を指定する。ビット単位の演算指定において、演算対象ビットは、図23Bに例示される4ビットのビット指定フィールドCRF3で指定される。ここでは1ワード16ビットまで対応できる。図1の例において論理和、排他的論理和、又は論理積の2入力の一方の演算対象データはDAT_D,DAT_Cであり、他方の演算対象データは特に制限されないが、外部入力されるデータではなく、LGCF103に固有の固定値とされる。或いは、一方の演算対象データをDAT_D、他方の演算対象データをDAT_Cとし、演算結果をL(DAT_D)とし、L(DAT_C)にはDAT_Cをそのまま出力する。図23Cには可変演算セル101に対するイネーブル信号Cond_LEの意義が例示される。“0”であれば演算対象データはDAT_D,DAT_Cをスルーで出力し、“1”であれば演算制御データの指定に従って演算を行う。   FIG. 23A illustrates the data format of the operation control data set in the register 102. It has an input selection field CRF1, a logical operation designation field CRF2, and a logical operation bit designation field CRF3. In the example of FIG. 1, the input selection field CRF1 is ignored. The logical operation designation field CRF2 designates the type of logical operation. The logical operation bit specification field CRF3 specifies which bit of the input operation target data is to be the operation target bit. Here, the input unit of the operation target data is referred to as a word. The logical operation designation field CRF2 illustrated in FIG. 23B is 3 bits and designates the type of logical operation, for example, logical sum, exclusive logical sum, logical product, negative logic, and “000” to “011” are word unit operations. And “100” to “111” designate bitwise operations. In the operation designation in bit units, the operation target bit is designated by a 4-bit bit designation field CRF3 illustrated in FIG. 23B. Here, up to 16 bits per word can be supported. In the example of FIG. 1, one operation target data of two inputs of logical sum, exclusive logical sum, or logical product is DAT_D, DAT_C, and the other operation target data is not particularly limited, but is not externally input data. , And a fixed value unique to the LGCF 103. Alternatively, one operation target data is DAT_D, the other operation target data is DAT_C, an operation result is L (DAT_D), and DAT_C is output to L (DAT_C) as it is. FIG. 23C illustrates the significance of the enable signal Cond_LE for the variable operation cell 101. If “0”, the data to be calculated outputs DAT_D and DAT_C through, and if “1”, the calculation is performed according to the specification of the calculation control data.

図24A乃至図24Dには可変演算セル101による演算例が示される。図24Aには1つの可変機能ユニット100における機能再構成セル20と可変演算セル101との関係が示される。図24Bには可変演算セルの機能が模式的に示される。図24Cには入力データDAT_D,DAT_Cに対してワード単位で否定論理演算を行って演算結果データL(DAT_D)、L(DAT_C)を出力する場合を例示する。図24Dは入力データDAT_D,DAT_Cの指定ビットに対して否定論理演算を行って演算結果データL(DAT_D)、L(DAT_C)を出力する場合を例示する。   24A to 24D show calculation examples by the variable calculation cell 101. FIG. FIG. 24A shows the relationship between the function reconfigurable cell 20 and the variable operation cell 101 in one variable function unit 100. FIG. 24B schematically shows the function of the variable operation cell. FIG. 24C illustrates a case where the operation result data L (DAT_D) and L (DAT_C) are output by performing a negative logic operation on the input data DAT_D and DAT_C in units of words. FIG. 24D illustrates a case where a negative logic operation is performed on the designated bits of the input data DAT_D and DAT_C, and operation result data L (DAT_D) and L (DAT_C) are output.

図25には複数の可変演算セル101の出力に対して演算回路110で並列演算を行う動作形態が例示される。演算回路の演算種別は並列入力データに対する論理和、論理積、排他的論理和、排他的論理積などとされ、その演算種別は固定であってもよいし、CPU2からの初期設定によって可変であってもよい。演算結果は、当該演算回路110内のデータレジスタ(DOTREG)112に蓄積される。当該データレジスタ112には固有のIOアドレスが割当てられ、蓄積された演算結果は、当該レジスタ112を指定するIOレジスタリードアクセスによって、内部バスIBUS_0を経由して外部に読出し可能にされる。並列的な演算経路は接続経路選択回路35における接続用記憶回路37に書き込まれる設定データによって決定されればよい。   FIG. 25 illustrates an operation mode in which the arithmetic circuit 110 performs parallel arithmetic on the outputs of the plurality of variable arithmetic cells 101. The arithmetic type of the arithmetic circuit is logical sum, logical product, exclusive logical sum, exclusive logical product or the like for parallel input data, and the arithmetic type may be fixed or variable depending on the initial setting from the CPU 2. May be. The calculation result is stored in a data register (DOTREG) 112 in the calculation circuit 110. A unique IO address is assigned to the data register 112, and the accumulated calculation result can be read out to the outside via the internal bus IBUS_0 by an IO register read access designating the register 112. The parallel computation path may be determined by setting data written to the connection storage circuit 37 in the connection path selection circuit 35.

図26には複数の可変演算セル101の出力をカスケード接続して順次演算を行う動作形態が例示される。カスケード接続された初段の可変演算セル101は機能再構成セル20から出力されるデータDAT_D,DAT_Cを入力して演算を行う。第2段目以降の可変演算セル101は前段の可変演算セル101の出力データL(DAT_D),L(DAT_C)を入力して演算を行う。直列的な演算経路は接続経路選択回路35における接続用記憶回路37に書き込まれる設定データによって決定される。   FIG. 26 illustrates an operation mode in which the outputs of a plurality of variable calculation cells 101 are connected in cascade and the calculation is performed sequentially. The cascade-connected first-stage variable arithmetic cell 101 inputs data DAT_D and DAT_C output from the function reconfigurable cell 20 and performs arithmetic operations. The variable calculation cells 101 in the second and subsequent stages perform calculations by inputting the output data L (DAT_D) and L (DAT_C) of the variable calculation cell 101 in the previous stage. A serial operation path is determined by setting data written in the connection storage circuit 37 in the connection path selection circuit 35.

図4及び図5には機能再構成メモリ8における可変演算セル101のアレイ構成の別の例が示される。図4は図2に対応され、図5は図3に対応される。図2及び図3との相違点は、演算回路110を備えず、可変演算セル101から演算回路110への演算データL(DAT_D),L(DAT_C)の並列パスを廃止したことである。図25の並列接続形態による演算動作を行うことはできないが、その分、ハードウェアの縮小が可能になる。   4 and 5 show another example of the array configuration of the variable operation cells 101 in the function reconfigurable memory 8. 4 corresponds to FIG. 2, and FIG. 5 corresponds to FIG. The difference from FIG. 2 and FIG. 3 is that the arithmetic circuit 110 is not provided and the parallel path of the arithmetic data L (DAT_D) and L (DAT_C) from the variable arithmetic cell 101 to the arithmetic circuit 110 is eliminated. Although the arithmetic operation according to the parallel connection mode of FIG. 25 cannot be performed, the hardware can be reduced accordingly.

《可変機能ユニットの第2の例》
図6には可変機能ユニットの第2の例が示される。同図に示される可変機能ユニット100Aは図1とは異なる可変演算セル101Aを有する。可変演算セル101Aは論理演算フィールド(LGCF)103Aと前記制御レジスタ(REG_L)102を備え、論理演算フィールド103Aは、演算対象データの入力端子として、対応する記憶回路23からの出力を受ける複数の第1入力端子TML1と、別の可変論理セルの出力を受ける複数の第2入力端子TML2とを別々に備える。図7には複数個の可変機能ユニット100Aのアレイ構成が例示され、図8には複数個の可変機能ユニット100Aのアレイ構成とともに前記演算回路110を採用して構成される機能再構成メモリ8の全体的な構成が例示される。図7及び図8の構成は図2及び図3に比べてデータL(DAT_D),L(DAT_C)の伝達経路12が追加されている。図7図から明らかなように、一つの可変演算セル101Aから出力されるデータL(DAT_D),L(DAT_C)は接続経路選択回路35を介して別の可変演算セル101Aの第2入力端子TML2に入力可能にされる。
<< Second example of variable function unit >>
FIG. 6 shows a second example of the variable function unit. The variable function unit 100A shown in the figure has a variable operation cell 101A different from that shown in FIG. The variable operation cell 101A includes a logical operation field (LGCF) 103A and the control register (REG_L) 102. The logical operation field 103A serves as an input terminal for operation target data and receives a plurality of second outputs from the corresponding storage circuit 23. One input terminal TML1 and a plurality of second input terminals TML2 receiving the output of another variable logic cell are separately provided. FIG. 7 illustrates an array configuration of a plurality of variable function units 100A, and FIG. 8 illustrates a function reconfiguration memory 8 configured using the arithmetic circuit 110 together with an array configuration of a plurality of variable function units 100A. The overall configuration is illustrated. 7 and 8 has a transmission path 12 for data L (DAT_D) and L (DAT_C) added as compared to FIGS. As apparent from FIG. 7, the data L (DAT_D) and L (DAT_C) output from one variable arithmetic cell 101A are connected to the second input terminal TML2 of another variable arithmetic cell 101A via the connection path selection circuit 35. Can be entered.

レジスタ102における演算制御データのデータフォーマットは図23A乃至図23Cで説明した通りであるが、入力選択フィールドCRF1は無視されず、論理演算フィールド103に否定論理を選択するときその入力を第1入力端子TML1又は第2入力端子TML2の何れにするかを指定する。論理演算フィールド103は、特に制限されないが、前述と同様に、論理和、排他的論理和、論理積、又は否定論理の論理演算が可能にされ、論理和、排他的論理和、又は論理積が指定されたときは第1入力端子TML1からの入力データと第2入力端子TML1からの入力データとを演算対象にする。演算動作の種類は論理演算指定フィールドCRF2で指定され、演算対象ビットの指定はビット指定フィールドCRF3で指定される。指定以外の演算対象ビットは、特に制限されないが、入力選択フィールドCRF1で指定されている入力側の対応ビットがスルーで出力される。   The data format of the operation control data in the register 102 is as described with reference to FIGS. 23A to 23C. However, the input selection field CRF1 is not ignored, and when the negative logic is selected in the logic operation field 103, the input is the first input terminal. Designate whether to use TML1 or the second input terminal TML2. The logical operation field 103 is not particularly limited, but as described above, logical operation of logical sum, exclusive logical sum, logical product, or negative logic is enabled, and logical sum, exclusive logical sum, or logical product is When specified, the input data from the first input terminal TML1 and the input data from the second input terminal TML1 are to be calculated. The type of calculation operation is specified in the logical calculation designation field CRF2, and the calculation target bit is specified in the bit designation field CRF3. The calculation target bits other than those specified are not particularly limited, but the corresponding bits on the input side specified in the input selection field CRF1 are output through.

図27A乃至図27Dには可変演算セル101Aによる演算例が示される。図27Aには前後の可変機能ユニット100Aのカスケード接続形態を模式的に示す。論理演算フィールド103Aは、論理和、排他的論理和、又は論理積が指定されたとき、対応する機能再構成セル20の出力DAT_D,DAT_Cと前段の論理演算フィールド103Aから出力される演算結果データL(DAT_D),L(DAT_C)を演算して後段の可変機能ユニット100Aに出力する。図27Bには可変演算セル101Aの機能が模式的に示される。図27Cには入力データDAT_D(n),DAT_C(n)とL(DAT_D(n-1)),L(DAT_C(n-1))に対してワード単位で論理和演算を行って演算結果データL(DAT_D(n))、L(DAT_C(n))を出力する場合を例示する。図27Dは入力データDAT_D(n),DAT_C(n)とL(DAT_D(n-1)),L(DAT_C(n-1))の第3ビットに対して論理積を行い、他のビットに対してはTML2側の入力データDAT_D(n),DAT_C(n)をスルーで出力する場合を例示する。   FIG. 27A to FIG. 27D show calculation examples by the variable calculation cell 101A. FIG. 27A schematically shows a cascade connection form of the front and rear variable function units 100A. In the logical operation field 103A, when logical sum, exclusive logical sum, or logical product is designated, the output DAT_D, DAT_C of the corresponding function reconfigurable cell 20 and the operation result data L output from the preceding logical operation field 103A (DAT_D) and L (DAT_C) are calculated and output to the subsequent variable function unit 100A. FIG. 27B schematically shows the function of the variable operation cell 101A. FIG. 27C shows a logical OR operation on input data DAT_D (n), DAT_C (n) and L (DAT_D (n-1)), L (DAT_C (n-1)), and results data An example of outputting L (DAT_D (n)) and L (DAT_C (n)) will be described. FIG. 27D shows the logical product of the input data DAT_D (n), DAT_C (n) and the third bit of L (DAT_D (n-1)), L (DAT_C (n-1)), and the other bits. On the other hand, a case where the input data DAT_D (n) and DAT_C (n) on the TML2 side is output through is illustrated.

図28には複数の可変演算セル101Aの出力をカスケード接続して順次演算を行う動作形態が例示される。カスケード接続された格段の可変演算セル101Aは機能再構成セル20から出力されるデータDAT_D,DAT_C(入力端子TML1からの入力データ)と入力端子TML2からの入力データに対して演算を行う。直列的な演算経路は接続経路選択回路35における接続用記憶回路37に書き込まれる設定データによって決定される。   FIG. 28 illustrates an operation mode in which the outputs of a plurality of variable calculation cells 101A are cascade-connected to perform calculation sequentially. The exceptional variable arithmetic cell 101A connected in cascade performs arithmetic on the data DAT_D, DAT_C (input data from the input terminal TML1) output from the function reconfigurable cell 20 and the input data from the input terminal TML2. A serial operation path is determined by setting data written in the connection storage circuit 37 in the connection path selection circuit 35.

複数の可変演算セル101Aの出力に対して演算回路110で並列演算を行う動作形態は上述と同様であるからその詳細な説明は省略する。   Since the operation mode in which the arithmetic circuit 110 performs parallel arithmetic on the outputs of the plurality of variable arithmetic cells 101A is the same as described above, detailed description thereof is omitted.

図9及び図10には機能再構成メモリ8における可変演算セル101Aのアレイ構成の別の例が示される。図9は図2に対応され、図10は図3に対応される。図2及び図3との相違点は、演算回路110を備えず、可変演算セル101Aから演算回路110への演算データL(DAT_D),L(DAT_C)の並列パスを廃止したことである。並列接続形態による演算動作を行うことはできないが、その分、ハードウェアの縮小が可能になる。   FIGS. 9 and 10 show another example of the array configuration of the variable operation cell 101A in the function reconfigurable memory 8. FIG. 9 corresponds to FIG. 2, and FIG. 10 corresponds to FIG. The difference from FIG. 2 and FIG. 3 is that the arithmetic circuit 110 is not provided and the parallel path of the arithmetic data L (DAT_D) and L (DAT_C) from the variable arithmetic cell 101A to the arithmetic circuit 110 is abolished. Although it is not possible to perform an arithmetic operation in a parallel connection form, the hardware can be reduced accordingly.

《可変機能ユニットの第3の例》
図11には可変機能ユニットの第3の例が示される。同図に示される可変機能ユニット100Bは図6とは異なる可変演算セル101Bを有する。可変演算セル101Bは論理演算フィールド(LGCF)103Aの出力を入力端子TML2に戻すための帰還経路130を備え、入力端子TML2の入力として、帰還経路130からのデータ又は前段のデータL(DAT_D),L(DAT_C)を選択するセレクタ(INSLC)104,105を備える点が図6と相違される。その他の構成は図6と同様であるからその詳細な説明は省略する。
<< Third example of variable function unit >>
FIG. 11 shows a third example of the variable function unit. The variable function unit 100B shown in the figure has a variable operation cell 101B different from that shown in FIG. The variable operation cell 101B includes a feedback path 130 for returning the output of the logic operation field (LGCF) 103A to the input terminal TML2, and data from the feedback path 130 or previous stage data L (DAT_D), 6 is different from FIG. 6 in that selectors (INSLC) 104 and 105 for selecting L (DAT_C) are provided. Since other configurations are the same as those in FIG. 6, a detailed description thereof will be omitted.

図29A及び図29Bには可変演算セル101Bにおけるセレクタ104,105の選択制御形態が例示される。図29Aに可変演算セル101Bを模式的に示すとおり、セレクタ104,105はレジスタ102の入力選択フィールドCRF1の値によって選択動作を行う。選択形態は図29Bに例示される。この構成により、可変演算セル101Bによる演算形態が更に増える。   29A and 29B exemplify the selection control form of the selectors 104 and 105 in the variable arithmetic cell 101B. As schematically shown in FIG. 29A, the variable arithmetic cell 101B performs the selection operation according to the value of the input selection field CRF1 of the register 102. The selection form is illustrated in FIG. 29B. With this configuration, the number of calculation forms by the variable calculation cell 101B is further increased.

《可変機能ユニットの第4の例》
以上の説明では前記可変演算セル101,101A、101Bは、前記記憶回路23の前記制御フィールド27_Cから出力される制御データに基づいて演算動作が制御されるものとして説明した。本発明はそれに限定されず、CPUによって演算制御レジスタに初期設定される制御データに基づいて演算動作が制御されるようにしてもよいし、双方を併用してもよい。
<< Fourth example of variable function unit >>
In the above description, the variable operation cells 101, 101A, 101B have been described as being controlled in operation based on control data output from the control field 27_C of the storage circuit 23. The present invention is not limited to this, and the arithmetic operation may be controlled based on control data initially set in the arithmetic control register by the CPU, or both may be used in combination.

図30にはCPU2によって演算制御レジスタ(ACREG)に初期設定された制御データに基づいて可変演算セル101Cの演算動作を制御可能にした機能再構成メモリ8Aが例示される。可変機能ユニット100Cは前記可変機能ユニット100Aに対しては可変演算セル101Cの構成が相違される。140は可変演算セル101Cのための演算制御回路であり、入出力バッファ(IOBUF)141、データレジスタ(DATREG)142、及び演算制御レジスタ(ACREG)143を備える。演算制御レジスタ(ACREG)140はCPU2によって演算制御データが初期設定される。データレジスタ(DATREG)141は演算結果が格納されるメモリマップドIOレジスタとされ、CPU2によってアクセス可能にされる。可変演算セル101Cは可変演算セル101A、101Bに対してレジスタ102への制御データが演算制御レジスタ(ACREG)143から行われる点が相違され、その他も構成は図6などに基づいて説明した内容と同様であり、その詳細な説明は省略する。   FIG. 30 illustrates a function reconfigurable memory 8A that can control the arithmetic operation of the variable arithmetic cell 101C based on the control data initially set by the CPU 2 in the arithmetic control register (ACREG). The variable functional unit 100C is different from the variable functional unit 100A in the configuration of the variable arithmetic cell 101C. An arithmetic control circuit 140 for the variable arithmetic cell 101C includes an input / output buffer (IOBUF) 141, a data register (DATREG) 142, and an arithmetic control register (ACREG) 143. In the arithmetic control register (ACREG) 140, arithmetic control data is initialized by the CPU 2. The data register (DATREG) 141 is a memory mapped IO register in which the operation result is stored, and is accessible by the CPU 2. The variable arithmetic cell 101C is different from the variable arithmetic cells 101A and 101B in that control data to the register 102 is transmitted from the arithmetic control register (ACREG) 143, and the other configurations are the same as those described with reference to FIG. This is the same, and detailed description thereof is omitted.

図30の説明では可変演算セル101Cが予めカスケード接続された構成を一例としたが、図8等で説明したスイッチマトリクス回路を用いたアレイ構成にも適用可能であることは言うまでもない。   In the description of FIG. 30, the configuration in which the variable operation cells 101C are cascade-connected in advance is taken as an example, but it is needless to say that the present invention can be applied to the array configuration using the switch matrix circuit described in FIG.

以上説明したマイクロコンピュータ1によれば以下の作用効果がある。   The microcomputer 1 described above has the following effects.

(1)記憶回路23の読み出しを機能再構成セル20それ自体で自律的に制御することができる。したがって、可変論理機能を実現するための記憶回路23を論理回路と等価な回路として扱うことができ、実現可能な論理構成に融通性があり、小さなチップ占有面積で大きな論理規模にも対応可能な可変論理機能を実現可能になる。   (1) Reading of the memory circuit 23 can be autonomously controlled by the function reconfigurable cell 20 itself. Therefore, the memory circuit 23 for realizing the variable logic function can be handled as a circuit equivalent to the logic circuit, the logic configuration that can be realized is flexible, and it can cope with a large logic scale with a small chip occupation area. A variable logic function can be realized.

(2)CPU2等は第3のアドレス範囲AA3に対するライトアクセス要求を行なうことにより、そのアクセス要求に係るアドレスが割り当てられた前記接続用記憶回路35をランダムアクセスして、機能再構成セル20の間の接続を定義するためのスイッチ制御情報を任意に書き込むことができる。   (2) The CPU 2 or the like makes a write access request to the third address range AA3, thereby randomly accessing the connection storage circuit 35 to which the address related to the access request is assigned, and between the function reconfigurable cells 20 The switch control information for defining the connection can be arbitrarily written.

(3)CPU2等は第1のアドレス範囲AA1に対してアクセス要求を行なうことにより、そのアクセス要求に係るアドレスが割り当てられている機能再構成セル20のSRAM25をランダムアクセスして、前記機能再構成セル20のSRAM25に所定の論理機能を実現するための情報を任意に定義することができる。   (3) The CPU 2 or the like makes an access request to the first address range AA1, thereby randomly accessing the SRAM 25 of the function reconfigurable cell 20 to which the address related to the access request is assigned, and reconfiguring the function. Information for realizing a predetermined logic function can be arbitrarily defined in the SRAM 25 of the cell 20.

(4)CPU2等は第2のアドレス範囲AA2に対してデータリード用等価IOレジスタアクセスを要求することにより、制御回路24がSRAM23から出力している情報を前記論理機能によって得られた結果としてリードすることができる。これにより、CPU2等は論理機能が設定された機能再構成セル20による論理動作の結果を第2のアドレス範囲AA2のアドレスを指定したリードアクセスによって任意に取得することができる。   (4) The CPU 2 or the like requests the data read equivalent IO register access to the second address range AA2, thereby reading the information output from the SRAM 23 by the control circuit 24 as a result obtained by the logic function. can do. Thereby, the CPU 2 or the like can arbitrarily obtain the result of the logical operation by the function reconfigurable cell 20 in which the logical function is set by the read access designating the address in the second address range AA2.

(5)ランダムアクセス用のAA1,AA3のアドレスマッピングに対し、機能設定された機能再構成セル20による論理動作結果を取得したりするために機能再構成セル20に割り当てたメモリマップドIOアドレスのようなAA2のアドレスマッピングを個別化することにより、機能再構成セル20及び接続選択回路35に対する論理機能をダイナミックに再構成してもそれによる論理動作結果を取得するためのリードアドレス等に変更を生ぜず、機能再構成セル20に対する論理機能をダイナミックに再構成することが容易になる。   (5) The memory mapped IO address assigned to the function reconfigurable cell 20 in order to obtain the logical operation result by the function reconfigurable cell 20 with the function set for the address mapping of AA1 and AA3 for random access By individualizing the address mapping of AA2 as described above, even if the logic function for the function reconfigurable cell 20 and the connection selection circuit 35 is dynamically reconfigured, the read address or the like for obtaining the logic operation result is changed. Therefore, it is easy to dynamically reconfigure the logic function for the function reconfigurable cell 20.

(6)CPU2からバスインタフェース回路40に対する機能再構成セル20への機能設定用アクセス経路にシステムバスSBUSを用い、機能設定された機能再構成セル20への等価的メモリマップドレジスタアクセスのための経路に周辺バスを用い、双方の経路が分離されるから、機能再構成セル20に周辺機能を設定して利用する場合には、CPU2等によるメモリアクセス経路と、周辺回路に対するアクセス経路を分離しているアーキテクチャとの整合を容易に図ることができる。   (6) The system bus SBUS is used as a function setting access path from the CPU 2 to the function reconfigurable cell 20 for the bus interface circuit 40, and an equivalent memory-mapped register access to the function reconfigured cell 20 having the function set is performed. Since the peripheral bus is used as the path and both paths are separated, when the peripheral function is set in the function reconfigurable cell 20, the memory access path by the CPU 2 or the like and the access path to the peripheral circuit are separated. It can be easily matched with the existing architecture.

(7)演算回路機能の全てを機能再構成セル20に負担させずに演算を行う可変演算セル101,101A、101Bを備えるから、可変論理に対する機能設定の負担を部分的に軽減することができる。   (7) Since the variable operation cells 101, 101A, and 101B that perform the operation without burdening the function reconfigurable cell 20 with all of the arithmetic circuit functions are provided, it is possible to partially reduce the function setting burden for the variable logic. .

(8)前記可変演算セル101,101A、101Bは、前記記憶回路の前記制御フィールド27_Cから出力される制御データに基づいて演算動作が制御されるから、可変演算セルの演算動作を機能再構成セル20による論理動作と同期させ易くなる。   (8) Since the arithmetic operation of the variable arithmetic cells 101, 101A, 101B is controlled based on the control data output from the control field 27_C of the storage circuit, the arithmetic operation of the variable arithmetic cells is function reconfigurable cell. It becomes easy to synchronize with the logic operation by 20.

(9)可変演算セル101Cは、CPU2によって演算制御レジスタ143に初期設定される制御データに基づいて演算動作が制御されるから、能再構成セル20の制御フィールドに対する設定内容に依存させずに可変演算セルを論理動作させることが可能になる。   (9) Since the calculation operation of the variable calculation cell 101C is controlled based on the control data initially set in the calculation control register 143 by the CPU 2, the variable calculation cell 101C is variable without depending on the setting contents for the control field of the capacity reconfigurable cell 20. It becomes possible to perform a logical operation of the operation cell.

以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。   Although the invention made by the present inventor has been specifically described based on the embodiments, it is needless to say that the present invention is not limited thereto and can be variously modified without departing from the gist thereof.

機能再構成メモリ8はSRAMで構成した例を説明したが、例えばMRAMで構成しても良い。MRAMは高速の読出し/書込動作が可能とされる不揮発性メモリである。既知の他の不揮発性メモリであるFlashメモリや相変化メモリ等で構成することも可能である。MRAMとFlashメモリとを比較すると読出し/書込動作ともにMRAMが高速であり、Flashメモリの持つ書換え回数の制限がないという利点がある。相変化メモリと比較すると、読出し/書込動作速度はほぼ同等であるが、相変化メモリに比べて熱耐性が高いという利点がある。一方でMRAMは磁気記憶方式であることから、耐磁性が相変化メモリに比べて低い。使用環境に応じて機能再構成メモリ8を構成するメモリを選択すればよい。   The function reconfigurable memory 8 has been described as being configured with SRAM, but may be configured with, for example, MRAM. The MRAM is a non-volatile memory that enables high-speed read / write operations. It can also be configured by a flash memory, a phase change memory, or the like, which is another known nonvolatile memory. Comparing the MRAM and the flash memory, there is an advantage that the read / write operation is faster in the MRAM and there is no limit on the number of rewrites the flash memory has. Compared with the phase change memory, the read / write operation speed is almost the same, but there is an advantage that the heat resistance is higher than that of the phase change memory. On the other hand, since MRAM is a magnetic storage system, its magnetic resistance is lower than that of phase change memory. What is necessary is just to select the memory which comprises the function reconfiguration | reconstruction memory 8 according to use environment.

機能再構成メモリ8を不揮発性メモリで構成することで、一旦構成した論理機能は電源が遮断されたとしても維持されるとの利点を得ることができ、またROM3に格納しているプログラムを機能再構成メモリ8のランダムアクセス可能な内部メモリ(ITNR_RAM)の一部空間に格納することができる。MRAMや相変化メモリで構成することで中央処理装置のワーク領域としてのRAM4に代えて、ランダムアクセス可能な内部メモリ(ITNR_RAM)の他の空間を用いることも可能となる。   By configuring the function reconfigurable memory 8 with a non-volatile memory, it is possible to obtain the advantage that the once configured logic function is maintained even if the power is cut off, and the program stored in the ROM 3 is functioned. The reconfigurable memory 8 can be stored in a partial space of a random accessible internal memory (ITNR_RAM). By configuring with an MRAM or a phase change memory, it is possible to use another space of an internally accessible memory (ITNR_RAM) instead of the RAM 4 as a work area of the central processing unit.

また、等価的メモリマップドIOレジスタアクセスは一例であり、そのためのLOGE_j等のイネーブル信号や、等価的メモリマップドIOレジスタの種類は適宜変更可能である。また、システムバスと周辺バスを分けるアーキテクチャを採用しない場合には機能再構成セルに対するランダムアクセス経路と等価的メモリマップドIOレジスタアクセスの経路を分離しなくてもよい。マトリクス配置された機能再構成セルとバスの接続形態として、X,Y方向にバスを配置し、X,Yのそれぞれの方向からアドレシングしてバスに接続する接続形態を採用してもよい。機能再構成セルによって実現される周辺機能は上記に限定されず適宜変更可能である。また、CPUに対する所謂周辺機能に限定されない。アクセラレータのようにCPUの負担を軽減する演算機能等を割り当てることも可能である。アクセス制御装置はCPUに限定されない。機能再構成メモリと一緒に半導体装置に搭載される回路は図21に限定されず、半導体集積回路の機能や用途に応じて適宜変更可能である。半導体装置はシングルチップに限定されず、マルチチップをモジュール基板に搭載して封止したシステム・イン・パッケージのような半導体装置にも適用することができる。クロック発生制御、クロックイネーブル制御が付加された機能再構成セルはPWMやカウンタ以外の種々の回路機能の実現に広く適用することができる。本発明は可変論理モジュールを備えた半導体データ処理装置等の半導体装置に広く適用することができる。   Also, the equivalent memory mapped IO register access is an example, and the enable signal for LOGG_j and the type of the equivalent memory mapped IO register can be changed as appropriate. If an architecture that separates the system bus and the peripheral bus is not adopted, the random access path for the function reconfigurable cell and the equivalent memory mapped IO register access path need not be separated. As a connection form between the function reconfigurable cells arranged in matrix and the bus, a connection form in which buses are arranged in the X and Y directions and addressed from the X and Y directions and connected to the bus may be employed. The peripheral functions realized by the function reconfigurable cell are not limited to the above and can be changed as appropriate. Moreover, it is not limited to so-called peripheral functions for the CPU. It is also possible to assign a calculation function or the like that reduces the burden on the CPU, such as an accelerator. The access control device is not limited to a CPU. The circuit mounted on the semiconductor device together with the function reconfigurable memory is not limited to that shown in FIG. 21 and can be changed as appropriate according to the function and application of the semiconductor integrated circuit. The semiconductor device is not limited to a single chip, and can also be applied to a semiconductor device such as a system-in-package in which a multichip is mounted on a module substrate and sealed. The function reconfigurable cell to which clock generation control and clock enable control are added can be widely applied to the realization of various circuit functions other than PWM and counter. The present invention can be widely applied to semiconductor devices such as a semiconductor data processing device provided with a variable logic module.

1 データプロセッサ
2 中央処理装置(CPU)
4 ランダム・アクセス・メモリ(RAM)
5 ダイレクト・メモリ・アクセス・コントローラ(DMAC)
SBUS システムバス(第1バス)
6 バス・ステート・コントローラ(BSC)
PBUS 周辺バス(第2バス)
8 機能再構成メモリ(RCFGM)
16 割込みコントローラ(INTC)
20 機能再構成セル(ACMU)
21 インタフェース制御回路(IFCNT)
23 記憶回路(MRY)
24 制御回路(MCONT)
25 スタティック・ランダム・アクセスメモリ(SRAM)
26 アドレスラッチ回路(ADRLAT)
27 メモリアレイ27
28 アドレスデコーダ(SDEC)
29 タイミングコントローラ(TMCNT)
27_D データフィールド(DFLD)
27_C 制御フィールド(CFLD)
30 セレクタ(ADRSL)
31 アドレスインクリメンタ(ICRM)
32 アクセス制御デコーダ(ACDEC)
DAT_C 制御情報
EXEVT 外部イベント信号
RDMAE_j ランダムアクセス選択信号
IOAE_j IOアクセス選択信号
RW_j リード/ライト信号
LOGE_j ロジックイネーブル信号
35 接続経路選択回路
IBUS_i 内部バス
IABUS_i 内部アドレスバス
IDBUS_i 内部データバス
36 スイッチ回路
37 接続用記憶回路
40 バスインタフェース回路(BUSIF)
41 アドレスデコーダ(ADEC)
42 内部バス選択回路(IBSL)
AA1 第1のアドレス範囲
AA2 第2のアドレス範囲
AA3 第3のアドレス範囲
51 演算制御部
52 演算ロジック部
53 メモリ部
54 演算制御部
55 演算ロック部
100,100A,100B、100C 可変機能ユニット
101,101A,101B,101C 可変演算セル
102 制御レジスタ
103,103A 論理演算フィールド
104,105 入力選択回路(INSLC)
TML1 第1入力端子
TML2 第2入力端子
110 演算回路
1 Data processor 2 Central processing unit (CPU)
4 Random access memory (RAM)
5 Direct memory access controller (DMAC)
SBUS system bus (first bus)
6 Bus State Controller (BSC)
PBUS peripheral bus (second bus)
8 Function reconfiguration memory (RCFGM)
16 Interrupt controller (INTC)
20 Function Reconfigurable Cell (ACMU)
21 Interface control circuit (IFCNT)
23 Memory circuit (MRY)
24 Control circuit (MCONT)
25 Static random access memory (SRAM)
26 Address latch circuit (ADRLAT)
27 Memory array 27
28 Address decoder (SDEC)
29 Timing controller (TMCNT)
27_D Data field (DFLD)
27_C Control field (CFLD)
30 Selector (ADRSL)
31 Address Incrementer (ICRM)
32 Access Control Decoder (ACDEC)
DAT_C Control information EXEVT External event signal RDME_j Random access selection signal IOAE_j IO access selection signal RW_j Read / write signal LOG_j Logic enable signal 35 Connection path selection circuit IBUS_i Internal bus IABUS_i Internal address bus IDBUS_i Internal data bus 36 Switch circuit 37 Connection circuit 37 40 Bus interface circuit (BUSIF)
41 Address decoder (ADEC)
42 Internal bus selection circuit (IBSL)
AA1 First address range AA2 Second address range AA3 Third address range 51 Operation control unit 52 Operation logic unit 53 Memory unit 54 Operation control unit 55 Operation lock unit 100, 100A, 100B, 100C Variable function unit 101, 101A , 101B, 101C Variable operation cell 102 Control register 103, 103A Logic operation field 104, 105 Input selection circuit (INSLC)
TML1 first input terminal TML2 second input terminal 110 arithmetic circuit

Claims (16)

アクセス制御装置と、前記アクセス制御装置の制御を受ける機能再構成メモリ装置とを有し、
前記機能再構成メモリ装置は、前記アクセス制御装置からアクセス要求を受けるインタフェース制御回路と、前記インタフェース制御回路に接続される複数の機能再構成セルと、前記機能再構成セルに一対一対応で設けられ前記機能再構成セルからの出力を受けて演算を行う可変演算セルと、前記可変演算セルの出力を別の可変演算セル又は別の機能再構成セルに供給可能にするための伝達回路と、を有し、
前記機能再構成セルは記憶回路と制御回路を有し、
前記記憶回路は前記制御回路から出力されるアドレス情報に基づいてアクセスされるデータフィールドと制御フィールドを有し、
前記制御回路は、第1の動作モードでは前記アクセス制御装置からのアクセス要求に伴って前記インタフェース制御回路に与えられるアドレス情報に基づいて前記記憶回路をランダムアクセスし、第2動作モードでは先に前記記憶回路から読出した制御フィールドの情報又は外部イベント入力に基づいて前記記憶回路の次の読出しアドレスを自律的に制御し、
前記伝達回路は前記インタフェース制御回路から与えられるデータに基づいて伝達経路が設定される、半導体装置。
An access control device and a function reconfigurable memory device that is controlled by the access control device;
The function reconfigurable memory device is provided in a one-to-one correspondence with an interface control circuit that receives an access request from the access control device, a plurality of function reconfigurable cells connected to the interface control circuit, and the function reconfigurable cell. A variable operation cell that performs an operation upon receiving an output from the function reconfigurable cell; and a transmission circuit that enables the output of the variable operation cell to be supplied to another variable operation cell or another function reconfigurable cell. Have
The function reconfigurable cell has a memory circuit and a control circuit;
The storage circuit has a data field and a control field that are accessed based on address information output from the control circuit,
The control circuit randomly accesses the storage circuit based on address information given to the interface control circuit in response to an access request from the access control device in the first operation mode, and first in the second operation mode Autonomously controlling the next read address of the memory circuit based on the control field information or external event input read from the memory circuit;
A semiconductor device in which a transmission path is set based on data given from the interface control circuit.
前記可変演算セルは、前記記憶回路の前記制御フィールドから出力される制御データに基づいて演算動作が制御される、請求項1記載の半導体装置。   The semiconductor device according to claim 1, wherein the variable operation cell is controlled in operation based on control data output from the control field of the storage circuit. 前記可変演算セルは、前記アクセス制御装置によって演算制御レジスタに初期設定される制御データに基づいて演算動作が制御される、請求項1記載の半導体装置。   2. The semiconductor device according to claim 1, wherein the operation operation of the variable operation cell is controlled based on control data initially set in an operation control register by the access control device. 前記第2動作モードにおいて前記制御回路は、前記アクセス要求に伴って前記インタフェース制御回路に供給されるアドレス情報、所定の外部イベント入力を条件に前記制御回路が決定するアドレス情報、先に記憶回路のデータフィールドから読み出されたアドレス情報、又は先に前記記憶回路に出力したアドレス情報のアドレス演算により得られるアドレス情報を、前記次の読み出しアドレスとして出力する、請求項1記載の半導体装置。   In the second operation mode, the control circuit includes address information supplied to the interface control circuit in response to the access request, address information determined by the control circuit on the condition of a predetermined external event input, 2. The semiconductor device according to claim 1, wherein address information read from a data field or address information obtained by address calculation of address information previously output to the storage circuit is output as the next read address. 前記可変演算セルは、複数ビットの処理単位で演算データの入出力を行い、前記制御フィールドから出力される制御データに基づいて論理演算の種別と演算対象データビットを決定する、請求項4記載の半導体装置。   The variable operation cell inputs / outputs operation data in a processing unit of a plurality of bits, and determines a type of logic operation and an operation target data bit based on control data output from the control field. Semiconductor device. 前記伝達回路は、隣り合う機能再構成セル及び可変論理セルの接続が可変可能にされるスイッチ回路と、前記スイッチ回路を接続する信号配線とを有する、請求項5記載の半導体装置。   The semiconductor device according to claim 5, wherein the transmission circuit includes a switch circuit in which connection between adjacent function reconfigurable cells and variable logic cells is variable, and a signal wiring that connects the switch circuits. 前記スイッチ回路は、前記アクセス制御装置により前記インタフェース制御回路を介して書き込まれるデータによって隣り合う機能再構成セル及び可変論理セルの接続が決定される、請求項6記載の半導体装置。   7. The semiconductor device according to claim 6, wherein in the switch circuit, connection of adjacent function reconfigurable cells and variable logic cells is determined by data written by the access control device via the interface control circuit. 前記可変演算セルは、演算対象データの入力端子として、対応する記憶回路からの出力を受ける第1入力端子と、別の可変論理セルの出力を受ける第2入力端子とを別々に備える、請求項5記載の半導体装置。   The variable operation cell separately includes a first input terminal that receives an output from a corresponding memory circuit and a second input terminal that receives an output of another variable logic cell as input terminals for operation target data. 5. The semiconductor device according to 5. 前記複数の可変演算セルによる演算結果の出力データを並列的に受けて演算を行う演算回路を更に有し、
前記演算回路は演算結果を保持するデータレジスタを備え、
前記アクセス制御装置は前記インタフェース制御回路を通して前記データレジスタをアクセス可能にされる、請求項1記載の半導体装置。
An arithmetic circuit that receives the output data of the operation result of the plurality of variable operation cells in parallel and performs an operation;
The arithmetic circuit includes a data register for holding a calculation result,
The semiconductor device according to claim 1, wherein the access control device is allowed to access the data register through the interface control circuit.
前記データレジスタにはアクセス制御装置のアドレス空間に配置された第1のメモリマップドIOレジスタアドレスが割当てられる、請求項9記載の半導体装置。   10. The semiconductor device according to claim 9, wherein a first memory mapped IO register address arranged in an address space of the access control device is assigned to the data register. 前記第1の動作モードにおいて前記機能再構成メモリ装置に含まれる前記記憶回路には前記アクセス制御装置のアドレス空間に配置されメモリアドレスが割当てられる、請求項1記載の半導体装置。   2. The semiconductor device according to claim 1, wherein in the first operation mode, the memory circuit included in the function reconfigurable memory device is arranged in an address space of the access control device and is assigned a memory address. 前記第2動作モードにおいて前記機能再構成メモリ装置の夫々には前記アクセス制御装置のアドレス空間に配置されたメモリマップドIOレジスタアドレスが割当てられる、請求項11記載の半導体装置。   The semiconductor device according to claim 11, wherein in the second operation mode, each of the function reconfigurable memory devices is assigned a memory mapped IO register address arranged in an address space of the access control device. アクセス制御装置と、前記アクセス制御装置の制御を受ける機能再構成メモリ装置とを有し、
前記機能再構成メモリ装置は、前記アクセス制御装置からアクセス要求を受けるインタフェース制御回路と、前記インタフェース制御回路に接続される複数の機能再構成セルと、前記機能再構成セルに一対一対応で設けられ前記機能再構成セルからの出力を受けて演算を行う可変演算セルと、前記可変演算セルの出力を別の可変演算セル又は別の機能再構成セルに供給可能にするための伝達回路と、前記複数の可変演算セルによる演算結果の出力データを並列的に受けて演算を行う演算回路と、を有し、
前記機能再構成セルは記憶回路と制御回路を有し、
前記記憶回路は前記制御回路から出力されるアドレス情報に基づいてアクセスされるデータフィールドと制御フィールドを有し、
前記制御回路は、第1の動作モードでは前記アクセス制御装置からのアクセス要求に伴って前記インタフェース制御回路に与えられるアドレス情報に基づいて前記記憶回路をランダムアクセスし、第2動作モードでは先に前記記憶回路から読出した制御フィールドの情報又は外部イベント入力に基づいて前記記憶回路の次の読出しアドレスを自律的に制御し、
前記可変演算セルは、演算対象データの入力端子として、対応する記憶回路からの出力を受ける第1入力端子と、別の可変論理セルの出力を受ける第2入力端子とを別々に備え、
前記伝達回路は前記インタフェース制御回路から与えられるデータに基づいて伝達経路が設定される、半導体装置。
An access control device and a function reconfigurable memory device that is controlled by the access control device;
The function reconfigurable memory device is provided in a one-to-one correspondence with an interface control circuit that receives an access request from the access control device, a plurality of function reconfigurable cells connected to the interface control circuit, and the function reconfigurable cell. A variable operation cell that performs an operation by receiving an output from the function reconfigurable cell, a transmission circuit for enabling the output of the variable operation cell to be supplied to another variable operation cell or another function reconfigurable cell, An arithmetic circuit that receives the output data of the operation results from a plurality of variable operation cells in parallel and performs an operation;
The function reconfigurable cell has a memory circuit and a control circuit;
The storage circuit has a data field and a control field that are accessed based on address information output from the control circuit,
The control circuit randomly accesses the storage circuit based on address information given to the interface control circuit in response to an access request from the access control device in the first operation mode, and first in the second operation mode Autonomously controlling the next read address of the memory circuit based on the control field information or external event input read from the memory circuit;
The variable operation cell separately includes a first input terminal that receives an output from a corresponding storage circuit and an input terminal that receives an output of another variable logic cell as input terminals for operation target data,
A semiconductor device in which a transmission path is set based on data given from the interface control circuit.
前記可変演算セルは、前記記憶回路の前記制御フィールドから出力される制御データに基づいて演算動作が制御される、請求項13記載の半導体装置。   The semiconductor device according to claim 13, wherein a calculation operation of the variable calculation cell is controlled based on control data output from the control field of the storage circuit. 前記可変演算セルは、前記アクセス制御装置によって演算制御レジスタに初期設定される制御データに基づいて演算動作が制御される、請求項13記載の半導体装置。   14. The semiconductor device according to claim 13, wherein an operation of the variable operation cell is controlled based on control data that is initially set in an operation control register by the access control device. 前記演算回路は演算結果を保持するデータレジスタを備え、
前記アクセス制御装置は前記インタフェース制御回路を通して前記データレジスタをアクセス可能にされる、請求項13記載の半導体装置。
The arithmetic circuit includes a data register for holding a calculation result,
The semiconductor device according to claim 13, wherein the access control device is allowed to access the data register through the interface control circuit.
JP2009049661A 2009-03-03 2009-03-03 Semiconductor device Withdrawn JP2010206513A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009049661A JP2010206513A (en) 2009-03-03 2009-03-03 Semiconductor device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009049661A JP2010206513A (en) 2009-03-03 2009-03-03 Semiconductor device

Publications (1)

Publication Number Publication Date
JP2010206513A true JP2010206513A (en) 2010-09-16

Family

ID=42967543

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009049661A Withdrawn JP2010206513A (en) 2009-03-03 2009-03-03 Semiconductor device

Country Status (1)

Country Link
JP (1) JP2010206513A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017163435A (en) * 2016-03-11 2017-09-14 株式会社富士通アドバンストエンジニアリング Method of controlling programmable device and programmable device
CN110609804A (en) * 2018-06-15 2019-12-24 瑞萨电子株式会社 Semiconductor device and method of controlling semiconductor device
CN113129961A (en) * 2021-04-21 2021-07-16 中国人民解放军战略支援部队信息工程大学 Configuration circuit for local dynamic reconstruction of cipher logic array

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017163435A (en) * 2016-03-11 2017-09-14 株式会社富士通アドバンストエンジニアリング Method of controlling programmable device and programmable device
CN110609804A (en) * 2018-06-15 2019-12-24 瑞萨电子株式会社 Semiconductor device and method of controlling semiconductor device
CN113129961A (en) * 2021-04-21 2021-07-16 中国人民解放军战略支援部队信息工程大学 Configuration circuit for local dynamic reconstruction of cipher logic array

Similar Documents

Publication Publication Date Title
US8686549B2 (en) Reconfigurable elements
US7873811B1 (en) Polymorphous computing fabric
JP4861030B2 (en) Semiconductor device
JPH08101761A (en) Reconstitutable application-specific device
JPH09128238A (en) Plurality of register bank systems for simultaneous input/output operation in cpu data route
JPH0734174B2 (en) Data processing device
JP2013236380A (en) Programmable circuit, related computing machine, and method
JP2011181078A (en) Programmable circuit and related computing machine, and method
JPH02242425A (en) Programable logic unit and signal processor
JP4484756B2 (en) Reconfigurable circuit and processing device
NO324825B1 (en) Atte-bit microprocessor with RISC architecture
US4159520A (en) Memory address control device with extender bus
US20060015701A1 (en) Arithmetic node including general digital signal processing functions for an adaptive computing machine
CN111183418B (en) Configurable hardware accelerator
JP2021507352A (en) Memory device and methods for controlling it
JPS58146943A (en) Microword generation mechanism for data processor
JP2010206513A (en) Semiconductor device
WO2008108005A1 (en) A data transfer network and control apparatus for a system with an array of processing elements each either self- or common controlled
US7509479B2 (en) Reconfigurable global cellular automaton with RAM blocks coupled to input and output feedback crossbar switches receiving clock counter value from sequence control unit
JP2006302132A (en) Signal processor, reconfigurable logic circuit device and reconfigurable sequential circuit
US8607029B2 (en) Dynamic reconfigurable circuit with a plurality of processing elements, data network, configuration memory, and immediate value network
US20080229063A1 (en) Processor Array with Separate Serial Module
JP2008293226A (en) Semiconductor device
JP4852149B2 (en) Semiconductor device
US7512873B2 (en) Parallel processing apparatus dynamically switching over circuit configuration

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20120605