(57)【要約】【課題】可変論理機能を実現するための記憶回路を論理回路と等価な回路として扱う構成において可変論理に対する機能設定の負担を軽減する。【解決手段】半導体装置はアクセス制御装置（２）の制御を受ける機能再構成メモリ装置（８）を有し、機能再構成メモリ装置はアクセス制御装置からのアクセス要求を受け、インタフェース制御回路に複数の機能再構成セル（２０）と機能再構成セルに一対一対応で設けられ機能再構成セルからの出力を受けて演算を行う可変演算セル(１０１)が接続される。機能再構成セルの制御回路は第１の動作モードで記憶回路の制御フィールドとデータフィールに初期設定された真理値データのようなデータを、第２の動作モードにおいて制御フィールドのデータに基づいて自律的に制御することによって論理動作を行う。可変演算セルは記憶回路の制御フィールドから出力される制御データなどに基づいて演算動作が可能にされる。【選択図】図１
2010206513.tif 000002
【特許請求の範囲】
【請求項１】
アクセス制御装置と、前記アクセス制御装置の制御を受ける機能再構成メモリ装置とを有し、
前記機能再構成メモリ装置は、前記アクセス制御装置からアクセス要求を受けるインタフェース制御回路と、前記インタフェース制御回路に接続される複数の機能再構成セルと、前記機能再構成セルに一対一対応で設けられ前記機能再構成セルからの出力を受けて演算を行う可変演算セルと、前記可変演算セルの出力を別の可変演算セル又は別の機能再構成セルに供給可能にするための伝達回路と、を有し、
前記機能再構成セルは記憶回路と制御回路を有し、
前記記憶回路は前記制御回路から出力されるアドレス情報に基づいてアクセスされるデータフィールドと制御フィールドを有し、
前記制御回路は、第１の動作モードでは前記アクセス制御装置からのアクセス要求に伴って前記インタフェース制御回路に与えられるアドレス情報に基づいて前記記憶回路をランダムアクセスし、第２動作モードでは先に前記記憶回路から読出した制御フィールドの情報又は外部イベント入力に基づいて前記記憶回路の次の読出しアドレスを自律的に制御し、
前記伝達回路は前記インタフェース制御回路から与えられるデータに基づいて伝達経路が設定される、半導体装置。
【請求項２】
前記可変演算セルは、前記記憶回路の前記制御フィールドから出力される制御データに基づいて演算動作が制御される、請求項１記載の半導体装置。
【請求項３】
前記可変演算セルは、前記アクセス制御装置によって演算制御レジスタに初期設定される制御データに基づいて演算動作が制御される、請求項１記載の半導体装置。
【請求項４】
前記第２動作モードにおいて前記制御回路は、前記アクセス要求に伴って前記インタフェース制御回路に供給されるアドレス情報、所定の外部イベント入力を条件に前記制御回路が決定するアドレス情報、先に記憶回路のデータフィールドから読み出されたアドレス情報、又は先に前記記憶回路に出力したアドレス情報のアドレス演算により得られるアドレス情報を、前記次の読み出しアドレスとして出力する、請求項１記載の半導体装置。
【請求項５】
前記可変演算セルは、複数ビットの処理単位で演算データの入出力を行い、前記制御フィールドから出力される制御データに基づいて論理演算の種別と演算対象データビットを決定する、請求項４記載の半導体装置。
【請求項６】
前記伝達回路は、隣り合う機能再構成セル及び可変論理セルの接続が可変可能にされるスイッチ回路と、前記スイッチ回路を接続する信号配線とを有する、請求項５記載の半導体装置。
【請求項７】
前記スイッチ回路は、前記アクセス制御装置により前記インタフェース制御回路を介して書き込まれるデータによって隣り合う機能再構成セル及び可変論理セルの接続が決定される、請求項６記載の半導体装置。
【請求項８】
前記可変演算セルは、演算対象データの入力端子として、対応する記憶回路からの出力を受ける第１入力端子と、別の可変論理セルの出力を受ける第２入力端子とを別々に備える、請求項５記載の半導体装置。
【請求項９】
前記複数の可変演算セルによる演算結果の出力データを並列的に受けて演算を行う演算回路を更に有し、
前記演算回路は演算結果を保持するデータレジスタを備え、
前記アクセス制御装置は前記インタフェース制御回路を通して前記データレジスタをアクセス可能にされる、請求項１記載の半導体装置。
【請求項１０】
前記データレジスタにはアクセス制御装置のアドレス空間に配置された第１のメモリマップドＩＯレジスタアドレスが割当てられる、請求項９記載の半導体装置。
【請求項１１】
前記第１の動作モードにおいて前記機能再構成メモリ装置に含まれる前記記憶回路には前記アクセス制御装置のアドレス空間に配置されメモリアドレスが割当てられる、請求項１記載の半導体装置。
【請求項１２】
前記第２動作モードにおいて前記機能再構成メモリ装置の夫々には前記アクセス制御装置のアドレス空間に配置されたメモリマップドＩＯレジスタアドレスが割当てられる、請求項１１記載の半導体装置。
【請求項１３】
アクセス制御装置と、前記アクセス制御装置の制御を受ける機能再構成メモリ装置とを有し、
前記機能再構成メモリ装置は、前記アクセス制御装置からアクセス要求を受けるインタフェース制御回路と、前記インタフェース制御回路に接続される複数の機能再構成セルと、前記機能再構成セルに一対一対応で設けられ前記機能再構成セルからの出力を受けて演算を行う可変演算セルと、前記可変演算セルの出力を別の可変演算セル又は別の機能再構成セルに供給可能にするための伝達回路と、前記複数の可変演算セルによる演算結果の出力データを並列的に受けて演算を行う演算回路と、を有し、
前記機能再構成セルは記憶回路と制御回路を有し、
前記記憶回路は前記制御回路から出力されるアドレス情報に基づいてアクセスされるデータフィールドと制御フィールドを有し、
前記制御回路は、第１の動作モードでは前記アクセス制御装置からのアクセス要求に伴って前記インタフェース制御回路に与えられるアドレス情報に基づいて前記記憶回路をランダムアクセスし、第２動作モードでは先に前記記憶回路から読出した制御フィールドの情報又は外部イベント入力に基づいて前記記憶回路の次の読出しアドレスを自律的に制御し、
前記可変演算セルは、演算対象データの入力端子として、対応する記憶回路からの出力を受ける第１入力端子と、別の可変論理セルの出力を受ける第２入力端子とを別々に備え、
前記伝達回路は前記インタフェース制御回路から与えられるデータに基づいて伝達経路が設定される、半導体装置。
【請求項１４】
前記可変演算セルは、前記記憶回路の前記制御フィールドから出力される制御データに基づいて演算動作が制御される、請求項１３記載の半導体装置。
【請求項１５】
前記可変演算セルは、前記アクセス制御装置によって演算制御レジスタに初期設定される制御データに基づいて演算動作が制御される、請求項１３記載の半導体装置。
【請求項１６】
前記演算回路は演算結果を保持するデータレジスタを備え、
前記アクセス制御装置は前記インタフェース制御回路を通して前記データレジスタをアクセス可能にされる、請求項１３記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は記憶回路を用いて可変可能に論理機能を実現することができる半導体装置に関し、例えばプログラマブルに周辺機能を実現することができる可変論理モジュールを備えた半導体データ処理装置に適用して有効な技術に関する。
【背景技術】
【０００２】
可変論理モジュール若しくは可変論理デバイス（リコンフィギュラブルデバイス）としてＰＬＤ（プログラマブル・ロジック・デバイス）若しくはＦＰＬＤ（フィールドＰＬＤ）が既に利用されている。本発明者は先に、特許文献１に記載されるように、可変論理モジュールの論理構成をダイナミックに書き換えること、そして、周辺回路のような実回路に可変論理モジュールを適用することについて着眼することにより、可変論理機能を実現するための記憶回路を論理回路と等価な回路として扱うことができる半導体装置を開発した。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２００８／１４２７６７号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明者は可変論理機能を実現するための記憶回路を論理回路と等価な回路として扱う可変論理モジュールについて更に検討したところ、可変論理モジュールの一部の機能追加や機能変更のために記憶回路の制御データの書き換えを常に伴う場合には、制御データの修正や再作成の負担が大きくなることが見出された。更に、処理の高速化という要請に対して並列演算処理への対応を容易化することの必要性が見出された。
【０００５】
本発明の目的は、可変論理機能を実現するための記憶回路を論理回路と等価な回路として扱う構成において可変論理に対する機能設定の負担を部分的に軽減することができる半導体装置を提供することにある。
【０００６】
本発明の別の目的は、可変論理機能を実現するための記憶回路を論理回路と等価な回路として扱う構成において、可変論理に対する機能設定の負担を部分的に軽減することができると共に、並列演算処理への対応も容易な半導体装置を提供することにある。
【０００７】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００８】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【０００９】
本発明に係る半導体装置はＣＰＵなどのアクセス制御装置の制御を受ける機能再構成メモリ装置を有し、この機能再構成メモリ装置は、前記アクセス制御装置からのアクセス要求をインタフェース制御回路で受け、このインタフェース制御回路に複数の機能再構成セルと前記機能再構成セルに一対一対応で設けられ前記機能再構成セルからの出力を受けて演算を行う可変演算セルが接続される。機能再構成セルは記憶回路と制御回路を有し、制御回路は第１の動作モードで記憶回路の制御フィールドとデータフィールに初期的に格納された真理値データのようなデータの読み出しアドレスを、第２の動作モードにおいて前記制御フィールドのデータに基づいて自律的に制御することによって論理動作を行う。一方、可変演算セルは前記記憶回路の前記制御フィールドから出力される制御データ又はアクセス制御装置によって初期設定される制御データに基づいて演算動作が可能にされ、例えば機能再構成セルからの最終的な論理動作出力に対して更に反転等の論理演算を追加的に行う。
【００１０】
これにより、真理値データを格納する記憶回路の読み出しを機能再構成セルそれ自体で自律的に制御することができるから、可変論理機能を実現するための記憶回路を論理回路と等価な回路として扱うことができる。したがって、実現可能な論理構成や論理規模に融通性を得ることができ、また、小さなチップ占有面積で大きな論理規模にも対応可能な可変論理機能を実現可能になる。演算回路機能の全てを機能再構成セルに負担させずに、前記制御フィールドから出力される制御データ等に基づいて演算を行う可変演算セルを備えるから、可変論理に対する機能設定の負担を部分的に軽減することができる。
【００１１】
前記複数の可変演算セルによる演算結果の出力データを並列的に受けて演算を行う演算回路を更に設け、前記演算回路が演算結果を保持するデータレジスタを前記アクセス制御装置がアクセス可能にされる。これにより、並列演算処理への対応も容易である。
【００１２】
また、第1の動作モードにおける前記記憶回路に対するランダムアクセス用のアドレスマッピングに対し、第２の動作モードにおける機能再構成セルに論理動作結果を取得するためのメモリマップドＩ／Ｏレジスタアドレスを個別化する。これにより、機能再構成セルに対する論理機能をダイナミックに再構成してもそれによる論理動作結果を取得するためのリードアドレスに変更を生ぜず、機能再構成セルに対する論理機能をダイナミックに再構成することが容易になる。特に、機能再構成セルに周辺機能が設定される場合、中央処理装置等によるメモリアクセス経路と、周辺回路に対するアクセス経路を分離しているアーキテクチャとの整合を考慮する場合には、アクセス要求主体からインタフェース制御回路に対する機能再構成セルへの機能設定用アクセス経路と、機能設定された機能再構成セルへのアクセス経路とを分離すればよい。
【発明の効果】
【００１３】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
【００１４】
すなわち、可変論理機能を実現するための記憶回路を論理回路と等価な回路として扱うことができると共に、可変論理に対する機能設定の負担を部分的に軽減することができる。
【図面の簡単な説明】
【００１５】
【図１】図１は機能再構成セルを備えた可変機能ユニットの一例を示すブロック図である。
【図２】図２は複数の可変機能ユニットのアレイ構成を例示するブロック図である。
【図３】図３は機能再構成メモリの全体的な構成を例示するブロック図である。
【図４】図４は機能再構成メモリにおける可変演算セル１０１のアレイ構成の別の例を示すブロック図である。
【図５】図５は図４の機能再構成メモリの全体的な構成を例示するブロック図である。
【図６】図６は可変機能ユニットの第２の例を示すブロック図である。
【図７】図７は複数個の可変機能ユニット１００Ａのアレイ構成を例示するブロック図である。
【図８】図８は複数個の可変機能ユニット１００Ａのアレイ構成とともに演算回路１１０を採用して構成される機能再構成メモリ８の全体的な構成を例示するブロック図である。
【図９】図９は機能再構成メモリにおける可変演算セル１０１Ａのアレイ構成の別の例を示すブロック図である。
【図１０】図１０は図９の機能再構成メモリの全体的な構成を例示するブロック図である。
【図１１】図１１は可変機能ユニットの第３の例を示すブロック図である。
【図１２】図１２は機能再構成セルと経路選択回路のアドレスマッピングを例示するアドレスマップである。
【図１３】図１３は機能再構成セルにおける論理動作の基本概念を示す説明図である。
【図１４】図１４は図１３の内部シーケンスを例示するフローチャートである。
【図１５Ａ】図１５Ａは機能再構成セルでリロード型ダウンカウンタを構成する場合の例が示すブロック図である。
【図１５Ｂ】図１５Ｂは図１５Ａの機能再構成セルにおける記憶回路の保持情報を例示する説明図である。
【図１５Ｃ】図１５Ｃは図１５Ａの機能再構成セルによるダウンカウント動作のフローチャートである。
【図１６】図１６は２個の機能再構成セルでリロード型ダウンカウンタを構成する場合の例を示すブロック図である。
【図１７】図１７は図１５Ａの構成で３ビットカウンタを構成する場合の例を示すデータ例である。
【図１８】図１８は図１７による３ビットカウンタ動作の動作シーケンスを例示するフローチャートである。
【図１９】図１９は図１３の論理動作基本概念図に対応する具体的な動作例を示す動作説明図である。
【図２０】図２０は３ビットカウンタを夫々構成する機能再構成セルを接続選択回路で接続して６ビットカウンタを構成する例を示すブロック図である。
【図２１】図２１は本発明の一例に係るデータプロセッサを全体的に示すブロック図である。
【図２２】図２２はＣＰＵによる機能再構成メモリのアクセス形態を例示する説明図である。
【図２３Ａ】図２３Ａはレジスタ１０２に設定される演算制御データのデータフォーマットを例示する説明図である。
【図２３Ｂ】図２３Ｂは論理演算指定フィールドＣＲＦ２が指定する論理演算の種別を例示する説明図である。
【図２３Ｃ】図２３Ｃは可変演算セル１０１に対するイネーブル信号Ｃｏｎｄ＿ＬＥの意義を例示する説明図である。
【図２４Ａ】図２４Ａは１つの可変機能ユニット１００における機能再構成セル２０と可変演算セル１０１との関係を示す説明図である。
【図２４Ｂ】図２４Ｂは可変演算セルの機能を模式的に示す説明図である。
【図２４Ｃ】図２４Ｃは入力データＤＡＴ＿Ｄ，ＤＡＴ＿Ｃに対してワード単位で否定論理演算を行って演算結果データＬ（ＤＡＴ＿Ｄ）、Ｌ（ＤＡＴ＿Ｃ）を出力する場合を例示する動作説明図である。
【図２４Ｄ】図２４Ｄは入力データＤＡＴ＿Ｄ，ＤＡＴ＿Ｃの指定ビットに対して否定論理演算を行って演算結果データＬ（ＤＡＴ＿Ｄ）、Ｌ（ＤＡＴ＿Ｃ）を出力する場合を例示する動作説明図である。
【図２５】図２５は複数の可変演算セル１０１の出力に対して演算回路１１０で並列演算を行う動作形態を例示する説明図である。
【図２６】図２６には複数の可変演算セル１０１の出力をカスケード接続して順次演算を行う動作形態を例示する説明図である。
【図２７Ａ】図２７Ａは前後の可変機能ユニット１００Ａのカスケード接続形態を模式的に示すブロック図である。
【図２７Ｂ】図２７Ｂは可変演算セル１０１Ａの機能を模式的に示す説明図である。
【図２７Ｃ】図２７Ｃは入力データＤＡＴ＿Ｄ（n），ＤＡＴ＿Ｃ（n）とL(ＤＡＴ＿Ｄ（n-1）)，L(ＤＡＴ＿Ｃ（n-1）)に対してワード単位で論理和演算を行って演算結果データＬ（ＤＡＴ＿Ｄ（n））、Ｌ（ＤＡＴ＿Ｃ（n））を出力する場合を例示する動作説明図である。
【図２７Ｄ】図２７Ｄは入力データＤＡＴ＿Ｄ（n），ＤＡＴ＿Ｃ（n）とL(ＤＡＴ＿Ｄ（n-1）)，L(ＤＡＴ＿Ｃ（n-1）)の第３ビットに対して論理積を行い、他のビットに対してはＴＭＬ２側の入力データＤＡＴ＿Ｄ（n），ＤＡＴ＿Ｃ（n）をスルーで出力する場合を例示する動作説明図である。
【図２８】図２８は複数の可変演算セル１０１Ａの出力をカスケード接続して順次演算を行う動作形態を例示するブロック図である。
【図２９Ａ】図２９Ａは可変演算セル１０１Ｂを模式的に示すブロック図である。
【図２９Ｂ】図２９Ｂはセレクタ１０４，１０５による選択形態を例示する説明図である。
【図３０】図３０はＣＰＵ２によって演算制御レジスタ（ＡＣＲＥＧ）に初期設定された制御データに基づいて可変演算セル１０１Ｃの演算動作を制御可能にした機能再構成メモリ８Ａを例示するブロック図である。
【発明を実施するための形態】
【００１６】
１．実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００１７】
〔１〕本発明に係る半導体装置はアクセス制御装置（２）と、前記アクセス制御装置の制御を受ける機能再構成メモリ装置（８）とを有する。前記機能再構成メモリ装置は、前記アクセス制御装置からアクセス要求を受けるインタフェース制御回路（４０，４１，４２）と、前記インタフェース制御回路に接続される複数の機能再構成セル（２０）と、前記機能再構成セルに一対一対応で設けられ前記機能再構成セルからの出力を受けて演算を行う可変演算セル（１０１，１０１Ａ，１０１Ｂ，１０１Ｃ）と、前記可変演算セルの出力を別の可変演算セル又は別の機能再構成セルに供給可能にするための伝達回路（３５、ＩＢＵＳ）と、を有する。前記機能再構成セルは記憶回路（２３）と制御回路（２４）を有する。前記記憶回路は前記制御回路から出力されるアドレス情報に基づいてアクセスされるデータフィールド（２７_Ｄ)と制御フィールド（２７_Ｃ）を有する。前記制御回路は、第１の動作モードでは前記アクセス制御装置からのアクセス要求に伴って前記インタフェース制御回路に与えられるアドレス情報に基づいて前記記憶回路をランダムアクセスし、第２動作モードでは先に前記記憶回路から読出した制御フィールドの情報又は外部イベント入力に基づいて前記記憶回路の次の読出しアドレスを自律的に制御する。前記伝達回路は前記インタフェース制御回路から与えられるデータに基づいて伝達経路が設定される。
【００１８】
これによれば、記憶回路の読み出しを機能再構成セルそれ自体で自律的に制御することができるから、可変論理機能を実現するための記憶回路を論理回路と等価な回路として扱うことができる。したがって、実現可能な論理構成や論理規模に融通性を得ることができ、また、小さなチップ占有面積で大きな論理規模にも対応可能な可変論理機能を実現可能になる。演算回路機能の全てを機能再構成セルに負担させずに演算を行う可変演算セルを備えるから、可変論理に対する機能設定の負担を部分的に軽減することができる。
【００１９】
〔２〕項１の半導体装置において、前記可変演算セル（１０１，１０１Ａ，１０１Ｂ）は、前記記憶回路の前記制御フィールドから出力される制御データに基づいて演算動作が制御される。前記可変演算セルの演算動作を機能再構成セルによる論理動作と同期させ易くなる。
【００２０】
〔３〕項１の半導体装置において、前記可変演算セル（１０１Ｃ）は、前記アクセス制御装置によって演算制御レジスタ（１４３）に初期設定される制御データに基づいて演算動作が制御される。機能再構成セルの制御フィールドに対する設定内容に依存させずに可変演算セルを論理動作させることが可能になる。
【００２１】
〔４〕＜次読み出しアドレス＞項１の半導体装置において、前記第２動作モードにおいて前記制御回路は、前記アクセス要求に伴って前記インタフェース制御回路に供給されるアドレス情報（ＡＤＲ＿ＥＸＴ）、所定の外部イベント入力（ＥＸＥＶＴ）を条件に前記制御回路が決定するアドレス情報、先に記憶回路のデータフィールドから読み出されたアドレス情報、又は先に前記記憶回路に出力したアドレス情報のアドレス演算により得られるアドレス情報を、前記次の読み出しアドレスとして出力する。
【００２２】
〔５〕＜演算指示＞項４の半導体装置において、前記可変演算セルは、複数ビットの処理単位で演算データの入出力を行い、前記制御フィールドから出力される制御データに基づいて論理演算の種別と演算対象データビットを決定する。これにより制御データの設定次第で論理演算の種別を選択でき、また、演算対象ビットについても選択でき、機能再構成セルの論理演算結果に対して簡単にしかもある程度の融通性を持って演算を追加することが可能になる。
【００２３】
〔６〕＜スイッチマトリクス回路＞項５の半導体装置において、前記伝達回路は、隣り合う機能再構成セル及び可変論理セルの接続が可変可能にされるスイッチ回路（３６）と、前記スイッチ回路を接続する信号配線（ＩＢＵＳ）とを有する。スイッチ回路により機能再構成セル及び可変論理セルの接続が可変になるからプログラマブル可能な論理動作や演算動作に対して更に融通性が増す。
【００２４】
〔７〕項６の半導体装置において、前記スイッチ回路は、前記アクセス制御装置により前記インタフェース制御回路を介して書き込まれるデータによって隣り合う機能再構成セル及び可変論理セルの接続が決定される。
【００２５】
〔８〕＜並列複数入力に対する論理演算＞項５の半導体装置において、前記可変演算セルは、演算対象データの入力端子として、対応する記憶回路からの出力を受ける第１入力端子（ＴＭＬ１）と、別の可変論理セルの出力を受ける第２入力端子（ＴＭＬ２）とを別々に備える。これにより、可変演算セルは並列複数入力に対する論理演算が可能にされる。
【００２６】
〔９〕項１の半導体装置において、前記複数の可変演算セルによる演算結果の出力データを並列的に受けて演算を行う演算回路（１１０）を更に有する。前記演算回路は演算結果を保持するデータレジスタ（１１２）を備える。前記アクセス制御装置は前記インタフェース制御回路を通して前記データレジスタをアクセス可能にされる。これにより、並列演算処理への対応も容易である。
【００２７】
〔１０〕項９の半導体装置において、前記データレジスタにはアクセス制御装置のアドレス空間に配置された第１のメモリマップドＩＯレジスタアドレスが割当てられる。
【００２８】
〔１１〕項１０の半導体装置において、前記第１の動作モードにおいて前記機能再構成メモリ装置に含まれる前記記憶回路には前記アクセス制御装置のアドレス空間に配置されたメモリアドレスが割当てられる。
【００２９】
〔１２〕項１１の半導体装置において、前記第２動作モードにおいて前記機能再構成メモリ装置の夫々に前記アクセス制御装置のアドレス空間に配置されたメモリマップドＩＯレジスタアドレスが割当てられる。
【００３０】
これによれば、第1の動作モードにおける前記記憶回路に対するランダムアクセス用のアドレスマッピングに対し、第２の動作モードにおける機能再構成セルに論理動作結果を取得するためのメモリマップドＩ／Ｏレジスタアドレスを個別化することにより、機能再構成セルに対する論理機能をダイナミックに再構成してもそれによる論理動作結果を取得するためのリードアドレスに変更を生ぜず、機能再構成セルに対する論理機能をダイナミックに再構成することが容易になる。特に、機能再構成セルに周辺機能が設定される場合、中央処理装置等によるメモリアクセス経路と、周辺回路に対するアクセス経路を分離しているアーキテクチャとの整合を考慮する場合には、アクセス要求主体からインタフェース制御回路に対する機能再構成セルへの機能設定用アクセス経路と、機能設定された機能再構成セルへのアクセス経路とを分離すればよい。
【００３１】
〔１３〕本発明の実質同一の観点による別の半導体装置は、アクセス制御装置と、前記アクセス制御装置の制御を受ける機能再構成メモリ装置とを有する。前記機能再構成メモリ装置は、前記アクセス制御装置からアクセス要求を受けるインタフェース制御回路と、前記インタフェース制御回路に接続される複数の機能再構成セルと、前記機能再構成セルに一対一対応で設けられ前記機能再構成セルからの出力を受けて演算を行う可変演算セルと、前記可変演算セルの出力を別の可変演算セル又は別の機能再構成セルに供給可能にするための伝達回路と、前記複数の可変演算セルによる演算結果の出力データを並列的に受けて演算を行う演算回路と、を有する。前記機能再構成セルは記憶回路と制御回路を有する。前記記憶回路は前記制御回路から出力されるアドレス情報に基づいてアクセスされるデータフィールドと制御フィールドを有する。前記制御回路は、第１の動作モードでは前記アクセス制御装置からのアクセス要求に伴って前記インタフェース制御回路に与えられるアドレス情報に基づいて前記記憶回路をランダムアクセスし、第２動作モードでは先に前記記憶回路から読出した制御フィールドの情報又は外部イベント入力に基づいて前記記憶回路の次の読出しアドレスを自律的に制御する。前記可変演算セルは、演算対象データの入力端子として、対応する記憶回路からの出力を受ける第１入力端子と、別の可変論理セルの出力を受ける第２入力端子とを別々に備える。前記伝達回路は前記インタフェース制御回路から与えられるデータに基づいて伝達経路が設定される。
【００３２】
〔１４〕項１３の半導体装置において、前記可変演算セルは、前記記憶回路の前記制御フィールドから出力される制御データに基づいて演算動作が制御される。前記可変演算セルの演算動作を機能再構成セルによる論理動作と同期させ易くなる。
【００３３】
〔１５〕項１３の半導体装置において、前記可変演算セルは、前記アクセス制御装置によって演算制御レジスタに初期設定される制御データに基づいて演算動作が制御される。機能再構成セルの制御フィールドに対する設定内容に依存させずに可変演算セルを論理動作させることが可能になる。
【００３４】
〔１６〕項１３の半導体装置において、前記演算回路は演算結果を保持するデータレジスタを備え、前記アクセス制御装置は前記インタフェース制御回路を通して前記データレジスタをアクセス可能にされる。
【００３５】
２．実施の形態の詳細
実施の形態について更に詳述する。
【００３６】
《データプロセッサ》
図２１には本発明の一例に係るデータプロセッサ１が例示される。同図に示されるデータプロセッサは、特に制限されないが、相補型ＭＯＳ集積回路製造技術により単結晶シリコンのような1個の半導体基板に形成されている。
【００３７】
データプロセッサ１はプログラムに従って命令をフェッチして実行するアクセス制御装置としての中央処理装置（ＣＰＵ）２、ＣＰＵ２が実行するプログラム等が格納されたリード・オンリ・メモリ（ＲＯＭ）３、ＣＰＵ２のワーク領域等に用いられるランダム・アクセス・メモリ（ＲＡＭ）４、及びＣＰＵ２による初期設定に従ってデータ転送を制御するダイレクト・メモリ・アクセス・コントローラ（ＤＭＡＣ）５を有し、それらはシステムバス（第１バス）ＳＢＵＳに接続される。システムバスＳＢＵＳはバスステートコントローラ（ＢＳＣ）６を介して周辺バス(第２バス)ＰＢＵＳに接続する。システムバスＳＢＵＳはＣＰＵ２の動作周波数に同期してデータ、アドレス及びバスコマンド等が伝送される高速バスとして位置付けられる。これに対して、周辺バスＰＢＵＳは動作速度の遅い周辺回路が接続され、データ等が低速で伝送される。ＣＰＵ２等が周辺回路に対するアクセス要求を発行すると、ＢＳＣ６はそのアクセス要求に係る周辺回路のマッピングアドレスに応じて、周辺バスを介するアクセスに必要なバスサイクル数や並列データビット数等のバス制御を行う。
【００３８】
前記システムバスＳＢＵＳと周辺バスＰＢＵＳの双方には機能再構成メモリ（ＲＣＦＧＭ）８が接続される。機能再構成メモリ８はＣＰＵ２等によりシステムバスＳＢＵＳから書き込まれた論理機能設定情報（コンフィグレーション情報）などに従って可変可能に論理機能が設定され、設定された論理機能に対して周辺バスＰＢＵＳ経由でデータの入出力が可能にされる。
【００３９】
周辺バスＰＢＵＳに接続された周辺回路として、ディジタル信号をアナログ信号に変換して外部に出力するディジタル・アナログ・コンバータ（ＤＡＣ）１０、ＣＰＵ２の命令実行状態等を監視するウォッチドッグタイマ（ＷＤＴ）１１、インプットキャプチャ及びコンペアマッチ等のタイマ・カウンタ動作可能なタイマ（ＴＭＲ）１２、シリアルコミュニケーションインタフェースコントローラ（ＳＣＩ）１３、パルス幅変調回路（ＰＷＭ）１５、及び割込みコントローラ（ＩＮＴＣ）１６が例示される。同図には割込み信号としてＩＮＴａ，ＩＮＴｂが代表的に示され、割込みコントローラ１６は割込み信号に対する割り込みマスク制御や優先レベル制御を行って割込み信号を受け付け、受け付けた割込み信号に応ずるベクタを発行すると共に、ＣＰＵ２に割込み要求信号ＩＲＱを発行し、前記ベクタが示す割込み処理プログラムをＣＰＵ２に実行させる。周辺回路として、その他に図示を省略するＩＯポート等が設けられている。
【００４０】
機能再構成メモリ８は複数の可変機能ユニット（ＶＦＵ）１００、外部からのアクセス要求に応答して前記機能再構成セル２０を制御するインタフェース制御回路（ＩＦＣＮＴ）２１、演算回路（ＬＯＢ）１１０等を備える。可変機能ユニット（ＶＦＵ）１００は、インタフェース制御回路２１に接続される機能再構成セル（ＡＣＭＵ）２０と機能再構成セルからの出力を受けて演算を行う可変演算セル（ＬＯＣ）１０１（１０１Ａ）から成る。前記可変演算セルの出力は詳細を後述するスイッチマトリクス回路のような伝達回路を介して別の可変演算セル又は別の機能再構成セルに供給される。
【００４１】
機能再構成セル２０はＣＰＵ２等によりシステムバスＳＢＵＳから書き込まれたコンフィグレーション情報に従って可変可能に論理機能が設定される。図２１において複数の機能再構成セル２０の一部には、ＦＩＦＯバッファ（ＦＩＦＯ＿Ｂ）、１６ビットパルス幅変調回路（ＰＷＭ＿１６ｂ）、８ビットパルス幅変調回路（ＰＷＭ＿８ｂ）、シリアル送信ユニット（ＳＣＩ＿Ｔｘ）、シリアル受信ユニット（ＳＣＩ＿Ｒｘ）、及び２４ビットタイマ（ＴＭＲ＿２４ｂ）の論理機能が設定されている。残りの機能再構成セル２０はシステムバスＳＢＵＳを介してランダムアクセス可能な内部メモリ（ＩＴＮＲ＿ＲＡＭ）として利用可能にされる。設定された論理動作に用いるデータの書込み、論理動作の開始の指示、及び論理動作結果のデータリードは周辺バスＰＢＵＳ経由で行われる。可変演算セル１０１（１０１Ａ）は可変論理セル２０による論理動作の結果に対して更に演算を追加するとき等に利用され、演算機能は可変であるがハードウェアによってある程度限定され、演算回路機能の全てを機能再構成セル２０のためのコンフィグレーション情報に負担させずに、可変論理に対する機能設定の負担を部分的に軽減するために配置されている。また、演算回路１１０は複数の可変演算セル１０１（１０１Ａ）の演算結果を並列に受けとって演算したりする並列演算への対応を容易化するために配置されている。機能再構成セル２０及び可変演算セル１０１（１０１Ａ）による処理を直列的に行なう場合はその詳細は後述するが前記スイッチマトリクス回路などを利用することによって実現可能である。
【００４２】
《可変機能ユニットの第１の例》
図１には可変機能ユニット（ＶＦＵ）１００の一例が示される。機能再構成セル２０は記憶回路（ＭＲＹ）２３と制御回路（ＭＣＮＴ）２４を有する。記憶回路２３は例えばシングルポートのスタティック・ランダム・アクセスメモリ（ＳＲＡＭ）２５と、アドレスラッチ回路（ＡＤＲＬＡＴ）２６によって構成される。ＳＲＡＭ２５はメモリアレイ２７、アドレスデコーダ（ＳＤＥＣ）２８、及びタイミングコントローラ（ＴＭＣＮＴ）２９を備える。メモリアレイ２７はアドレスラッチ回路２６から供給されるアドレス信号によってアクセスされるデータフィールド（ＤＦＬＤ）２７＿Ｄと制御フィールド（ＣＦＬＤ）２７＿Ｃを有する。アドレスデコーダ（ＳＤＥＣ）２８はアドレスラッチ回路（ＡＤＲＬＡＴ）２６から出力されるアドレス信号をデコードして、データフィールド（ＤＦＬＤ）２７＿Ｄ及び制御フィールド（ＣＦＬＤ）２７＿Ｃの夫々からアクセス単位のメモリセルを選択する。タイミングコントローラ（ＴＭＣＮＴ）２９は選択されたアクセス単位のメモリセルに対してリード・ライト信号ＲＷ＿ｊ（ｊ＝０〜ｍ）で指示されたリード動作又はライト動作を制御する。
【００４３】
制御回路２４はアドレスラッチ回路２６にアドレス信号を供給するセレクタ（ＡＤＲＳＬ）３０、アドレスラッチ回路２６がラッチしたアドレス信号を＋１づつインクリメントするアドレスインクリメンタ（ＩＣＲＭ）３１、及びアクセス制御デコーダ（ＡＣＤＥＣ）３２を有する。セレクタ３０には、データフィールド２７＿Ｄから読み出された情報ＤＡＴ＿Ｄ、アドレスインクリメンタ３１の出力、及びバスＳＢＵＳ，ＰＢＵＳから供給されたアクセスアドレス情報の一部のアドレス情報ＡＤＲ＿ＥＸＴが入力される。アクセス制御デコーダ３２には制御フィールド２７＿Ｃから読み出された制御情報ＤＡＴ＿Ｃ、外部イベント信号ＥＸＥＶＴ、当該機能再構成セル２０に対するランダムアクセス選択信号ＲＤＭＡＥ＿ｊ、ロジックイネーブル信号ＬＯＧＥ＿ｊ、及びＩＯアクセス選択信号ＩＯＡＥ＿ｊが供給され、それに基づいてセレクタ３０の出力動作、および可変演算セル１０１の演算動作等を制御する。メモリアレイ２７には図示しないアドレスフィールド（ＡＦＬＤ）と当該アドレスフィールドの出力をセレクタ３０への入力とするパス（ＤＡＴ＿Ａ）とを更に有し、メモリアレイ２７にアクセスし前記アドレスフィールドからの出力をアクセス制御デコーダによりメモリアレイ２７の次のアクセスアドレスとすることも可能である。
【００４４】
ランダムアクセス選択信号ＲＤＭＡＥ＿ｊがアクティブにされたときアクセス制御デコーダ３２はセレクタ３０にアドレス情報ＡＤＲ＿ＥＸＴを選択させ、そのアドレス情報ＡＤＲ＿ＥＸＴに従ってタイミングコントローラ２９にリード／ライト信号ＲＷ＿ｊに従ったアクセス動作を指示する。これによってＳＲＡＭ２５はアドレス情報ＡＤＲ＿ＥＸＴで指定されるアドレスに対してランダムアクセス可能になる。
【００４５】
ＩＯアクセス選択信号ＩＯＡＥ＿ｊがアクティブにされ、リード／ライト信号ＲＷ＿ｊによりリード動作が指示されたとき、アクセス制御デコーダ３２はそのときのアドレスラッチ回路２６のアドレスラッチ状態を維持したままそのラッチアドレス情報に従ってタイミングコントローラ２９にリードアクセス動作を指示する。これにより、機能再構成セル２０のＩＯアクセス選択信号ＩＯＡＥ＿ｊがアクティブにされると、そのときＳＲＡＭ２５で選択されている記憶領域に対してアクセス可能になり、ＳＲＡＭ２５に対して一つのメモリマップドＩＯデータレジスタに対する読出しと等価なアクセス動作が可能になる。また、ＩＯアクセス選択信号ＩＯＡＥ＿ｊがアクティブにされ、リード・ライト信号ＲＷ＿ｊによりライト動作が指示されたとき、アクセス制御デコーダ３２はアドレス情報ＡＤＲ＿ＥＸＴをアドレスセレクタ３０に選択させ、そのアドレス情報ＡＤＲ＿ＥＸＴをアドレスラッチ２６にセットして、ＳＲＡＭ２５に対する読出しアドレスを初期設定することができる。このように、ＩＯアクセス選択信号ＩＯＡＥ＿ｊがイネーブルにされたとき書込み対象とされるアドレスラッチ回路２６は書込み対象とされるメモリマップドＩＯレジスタと等価のレジスタとして把握することができる。この等価レジスタをスタートアドレス設定用等価ＩＯレジスタと称する。また、ＩＯアクセス選択信号ＩＯＡＥ＿ｊがイネーブルにされたとき読出し対象とされるＳＲＡＭのメモリ領域は読出し対象とされるメモリマップドＩＯレジスタと等価のレジスタとして把握することができる。この等価レジスタをデータリード用等価ＩＯレジスタと称する。
【００４６】
ロジックイネーブル信号ＬＯＧＥ＿ｊがアクティブにされたとき、アクセス制御デコーダ３２はそのときアドレスラッチ２６が保持しているアドレスをスタートアドレスとして、そのアクティブ期間にＳＲＡＭ２５のメモリリードサイクルを繰り返し起動し、サイクル毎に、制御フィールド２７＿Ｃから読み出される制御情報ＤＡＴ＿Ｃに従ってセレクタ３０の選択動作を制御する。外部イベント信号ＥＸＥＶＴがイネーブルにされたとき、アクセス制御デコーダ３２は当該メモリリードサイクルにおいてアドレスセレクタ３０に特定のアドレス（例えばＳＲＡＭ２５の先頭アドレス）を出力させる。ロジックイネーブル信号ＬＯＧＥ＿ｊがイネーブルにされたときスタートアドレスを保持するアドレスラッチ２６はロジック動作の開始を指示するイネーブルビットの書込み対象とされるメモリマップドＩＯレジスタと等価のレジスタとして把握することができる。この等価レジスタをロジックイネーブル用等価ＩＯレジスタと称する。
【００４７】
前記ランダムアクセス可能にされる動作形態は第１の動作モードとされる。前述のＩＯアクセス選択信号ＩＯＡＥ＿ｊがアクティブにされるＩＯアクセス動作形態及びロジックイネーブル信号ＬＯＧＥ＿ｊがアクティブにされるロジック動作形態は、前記第１の動作モードに対して第２の動作モードとされる。
【００４８】
この機能再構成セル２０によれば、記憶回路２３の読み出しを機能再構成セル２０それ自体で自律的に制御することができる。例えば、前記制御回路２４はＳＲＡＭ２５の次の読出しアドレスを先にＳＲＡＭ２５から読出した制御フィールドＣＦＬＤの情報ＤＡＴ＿Ｃやアクセス制御デコーダ３２に供給される外部イベント信号ＥＸＥＶＴの入力に基づいて自律的に制御することが可能である。これにより、可変論理機能を実現するための記憶回路２３を論理回路と等価な回路として扱うことができる。したがって、実現可能な論理構成や論理規模に融通性を得ることができ、また、小さなチップ占有面積で大きな論理規模にも対応可能な可変論理機能を実現可能になる。
【００４９】
また、機能再構成セル２０の制御回路２４は、外部からインタフェース制御回路２１に与えられるロジックイネーブルのための指示に基づいて、前記記憶回路２３のメモリアレイ２７に対するライトプロテクションを行う。これにより、論理機能を実現するために一旦記憶部に設定されたデータがランダムアクセスによって誤って消去又は書き換えされる虞を未然に防止することができる。ロジックイネーブルのための指示は、先にメモリアレイ２７から読み出した制御フィールド２７＿Ｃの情報を用いて前記メモリアレイの次の読み出しアドレスを決める動作を行う指示である。設定された論理機能を実行する動作が指示されたとき、その論理機能が不所望に変更されることはない。
【００５０】
可変演算セル１０１は論理演算フィールド（ＬＧＣＦ）１０３と制御レジスタ（ＲＥＧ＿Ｌ）１０２から成る。論理演算フィールド１０３は論理和、論理積、反転、排他的論理和、排他的論理積などの論理演算機能が選択可能にされ、それら論理演算機能は、ハードワイヤードロジック、又は真理値表データを参照して論理機能を実現するルックアップテーブル方式により実現される。制御レジスタ１０２には制御フィールド２７＿Ｃからの制御データをアクセス制御デコーダ３２が解読して演算制御データがセットされる。論理演算フィールド１０３はイネーブル信号Ｃｏｎｄ＿ＬＥにより動作可能にされると、制御レジスタ１０２にセットされた演算制御データに基づいて論理演算機能が選択される。演算結果はＬ（ＤＡＴ＿Ｄ）、Ｌ（ＤＡＴ＿Ｃ）として出力される。特に制限されないが、Ｌ（ＤＡＴ＿Ｄ）はＤＡＴ＿Ｄに対する演算結果に対応され、Ｌ（ＤＡＴ＿Ｃ）はＤＡＴ＿Ｃに対する演算結果に対応される。イネーブル信号Ｃｏｎｄ＿ＬＥは、例えばＣＰＵ２等からの指示に従ってバスインタフェース回路４が出力する。
【００５１】
図２には複数の可変機能ユニット１００のアレイ構成が例示される。複数の可変機能ユニット１００はマトリクス配置され、左右に隣接する可変機能ユニット１００の間には接続経路選択回路（ＲＳＷ）３５が配置される。可変機能ユニット１００及び接続経路選択回路３５は行単位で内部バスＩＢＵＳ＿ｉ（ｉ＝０，１，…）に接続される。内部バスＩＢＵＳ＿ｉはアドレスバスＩＡＢＵＳ＿ｉとデータバスＩＤＢＵＳ＿ｉ等に大別される。内部アドレスバスＩＡＢＵＳ＿ｉは制御回路２４に前記アドレスＡＤＲ＿ＥＸＴを供給する。内部データバスＩＤＢＵＳ＿ｉは可変機能ユニット１００との間で情報ＤＡＴ＿Ｃ，ＤＡＴ＿Ｄ及びＬ（ＤＡＴ＿Ｃ），Ｌ（ＤＡＴ＿Ｄ）等を伝達するために用いられる。接続経路選択回路３５は、可変機能ユニット１００のデータＤＡＴ＿Ｃ，ＤＡＴ＿Ｄ及びＬ（ＤＡＴ＿Ｃ），Ｌ（ＤＡＴ＿Ｄ）の伝達経路を上下又は左右に隣接する可変機能ユニット１００、もしくは対応行の内部データバスＩＤＢＵＳ＿ｉの間で選択的に接続するスイッチ回路３６と、前記スイッチ回路３６のスイッチ制御情報を保持するための接続用記憶回路３７とを有する。またスイッチ回路３６は可変機能ユニット１００から入力したデータＬ（ＤＡＴ＿Ｄ），Ｌ（ＤＡＴ＿Ｃ）をそのまま出力して、複数のスイッチ回路３６からデータＬ（ＤＡＴ＿Ｄ），Ｌ（ＤＡＴ＿Ｃ）を並列に供給可能にする動作形態を有する。接続用記憶回路３７は内部バスＩＡＢＵＳ＿ｉ，ＩＤＢＵＳ＿ｉを介してランダムアクセスされることによってスイッチ回路３６のための所要のスイッチ制御情報が設定される。記憶回路２３に対するランダムアクセスが指示されたときは、接続用記憶回路３７の設定内容にかかわらず、スイッチ回路３６は、ランダムアクセス選択信号ＲＤＭＡＥ＿ｊにより、ランダムアクセス対象にされる記憶回路２３を内部データバスＩＤＢＵＳ＿ｉに接続するように制御される。
【００５２】
一の機能再構成セル２０のデータＤＡＴ＿Ｃ，ＤＡＴ＿Ｄを他の機能再構成セル２０又は他の可変演算セル１０１に、また、可変演算セル１０１のデータＬ（ＤＡＴ＿Ｃ），Ｌ（ＤＡＴ＿Ｄ）を他の機能再構成セル２０又は他の可変演算セル１０１に伝達することが可能であるから、複数の機能再構成セル２０間でそれぞれの前記自律制御を連動させることが可能になり、また、その際に可変演算セル１０１を用いることができる。複数の機能再構成セル２０を直列的に動作させ、あるいは並列的に動作させて、一単位の論理機能を実現することが可能になる。具体例は後で詳述する。
【００５３】
機能再構成セル２０の記憶回路２３には論理機能を定義するためのコンフィギュレーション情報がランダムアクセス設定され、接続経路選択回路３５の接続用記憶回路３７には接続経路を定義するためのコンフィグレーション情報がランダムアクセスによって設定される。論理機能が設定された機能再構成セル２０に論理動作の開始が指示されると、その論理動作によって得られる情報は左右又は上下に配置された別の機能再構成セル２０に接続経路選択回路３５を介して伝達可能にされ、また、機能再構成セル２０の論理動作による情報は前記メモリマップドＩＯレジスタに対する読出しと等価なアクセス動作により対応するバスＩＢＵＳ＿ｉを介して外部に読み出し可能にされる。
【００５４】
図３には機能再構成メモリ８の全体的な構成が例示される。バスＳＢＵＳ，ＰＢＵＳからのアクセス要求に応答して、図２で説明した複数個の可変機能ユニット１００と接続経路選択回路３５のアレイに対する制御を行うインタフェース制御回路として、バスインタフェース回路（ＢＵＳＩＦ）４０、アドレスデコーダ（ＡＤＥＣ）４１、及び内部バス選択回路（ＩＢＳＬ）４２を有する。
【００５５】
前記複数個の機能再構成セル２０の記憶回路２３のメモリエリア（ＳＲＡＭ２５の記憶領域）には図１２に例示されるように、第１のアドレス範囲ＡＡ１のアドレスがマッピングされる。第１のアドレス範囲ＡＡ１はシステムバスＳＢＵＳに接続するメモリ空間の一部のアドレス空間とされる。また、前記夫々の機能再構成セル２０のための等価的なメモリマップドＩＯレジスタとして把握することができる前記スタートアドレス設定用等価ＩＯレジスタ、データリード用等価ＩＯレジスタ及びロジックイネーブル用等価ＩＯレジスタには第２のアドレス範囲ＡＡ２のアドレスがマッピングされる。図１２において1個の機能再構成セルにおけるＳＲＡＭのアドレスは２５６ワード分のアドレスとされ、１個の機能再構成セルにおける前記３個の等価的なメモリマップドＩＯレジスタのアドレスは３ワード分のアドレスとされる。第２のアドレス範囲ＡＡ２は周辺バスＰＢＵＳに接続される周辺回路のレジスタ等に割り当てられるメモリマップドＩＯアドレス空間の一部のアドレス空間とされる。前記接続用記憶回路３７の記憶領域には第３のアドレス範囲ＡＡ３のアドレスがマッピングされる。第３のアドレス範囲ＡＡ３はシステムバスＳＢＵＳ若しくは周辺バスＰＢＵＳに接続するメモリ空間の一部のアドレス空間とされる。
【００５６】
バスステートコントローラ６は、第１又は第３のアドレス範囲ＡＡ１，ＡＡ３へのアクセス要求があったときデータプロセッサのアドレス空間中のメモリアドレス空間へのアクセスとしてアクセス制御を行い、第２のアドレス空間ＡＡ２へのアクセス要求があった時はデータプロセッサのアドレス空間中のＩＯアドレス空間へのアクセスとしてアクセス制御を行う。第１乃至第３のいずれのアドレス範囲へのアクセスであったとしても機能再構成メモリ８のバスインタフェース回路４０がアクセスの受付をする。第１又は第３のアドレス範囲ＡＡ１，ＡＡ３へのアクセス要求があったときはバスインタフェース回路４０はメモリウインドウイネーブル信号ＣＭＥをアクティブとし、第２のアドレス範囲ＡＡ２のアクセス要求があったときバスインタフェース回路４０はロジックウインドウイネーブル信号ＣＲＥをアクティブとする。アクセス要求に係るデータの方向はアクセス要求元から発行されるリード信号ＲＤ及びライト信号ＷＴによって判別される。尚、メモリウインドウイネーブル信号ＣＭＥ及びロジックウインドウイネーブル信号ＣＲＥは例えばアドレスデコーダ４１に供給される。
【００５７】
アドレスデコーダ４１はアクセス要求に係るアドレス信号の上位側ビットをデコードして、アレイ状に配置された機能再構成セル２０と接続経路選択回路３５のうち何れの回路が指定されているかを判別する。接続経路選択回路３５が指定されているときは当該回路の接続用記憶回路３７をイネーブルとし、対応する内部バスＩＢＵＳ＿ｉをバス選択回路４２に選択させてシステムバスＳＢＵＳに接続し、そのアクセス要求に伴うアドレス信号の下位側アドレス情報を用いて当該接続用記憶回路３７をランダムアクセス可能にする。これにより、ＣＰＵ２等は第３のアドレス範囲ＡＡ３のアドレスを指定するランダムアクセスにより接続用記憶回路３７に書き込みを行って機能再構成セル２０間の接続を任意に定義することができる。
【００５８】
また、アドレスデコーダ４１は、アドレスデコードにより、アドレス範囲ＡＡ１のアドレスにより機能再構成セル２０が指定されていることを判別したときは、当該機能再構成セルに割り当てられたＲＤＭＡＥ＿ｊをアクティブとし、対応する内部バスＩＢＵＳ＿ｉをバス選択回路４２に選択させてシステムバスＳＢＵＳに接続し、そのアクセス要求に伴うアドレス信号の下位側アドレス情報を用いて当該接続用記憶回路３７をランダムアクセス可能にする。これにより、ＣＰＵ２等は第１のアドレス範囲ＡＡ１のアドレスを指定するランダムアクセスによって記憶回路２３のＳＲＡＭ２５に書き込みを行って当該機能再構成セル２０の論理構成を任意に定義することができる。
【００５９】
アドレスデコーダ４１は、アドレスデコードにより、アドレス範囲ＡＡ２のアドレスにより機能再構成セル２０の前記等価的なメモリマップドＩＯレジスタが指定されていることを判別したときは、指定された等価的なメモリマップドＩＯレジスタに応じて、ＩＯＡＥ＿ｊ又はＬＯＧＥ＿ｊをアクティブとし、リード・ライト信号ＲＷ＿ｊを生成する。
【００６０】
即ち、そのとき、周辺バスＰＢＵＳから前記スタートアドレス設定用等価ＩＯレジスタを指定してライト信号ＷＴにより書き込み動作が指示されたとき、アドレスデコーダ４１はそのアクセス要求に伴うアドレス信号の下位側アドレス情報で指定される機能再構成セル２０に割り当てられたＩＯＡＥ＿ｊをアクティブとする。更に、リード・ライト信号ＲＷ＿ｊによってライト動作を指定する。これによって当該機能再構成セル２０のＡＤＲＳＥＬ３０を経由してＡＤＲＬＡＴ２６に書き込みデータがセットされる。
【００６１】
また、そのとき、周辺バスＰＢＵＳから前記ロジックイネーブル用等価ＩＯレジスタを指定してリード信号ＲＤにより読み出し動作が指示されたとき、アドレスデコーダ４１はそのアクセス要求に伴うアドレス信号の下位側アドレス情報で指定される機能再構成セル２０に割り当てられたＬＯＧＥ＿ｊをアクティブとする。更に、リード・ライト信号ＲＷ＿ｊによってリード動作を指定する。これによって当該機能再構成セル２０のアクセス制御デコーダ３２はそのときアドレスラッチ２６が保持しているアドレスをスタートアドレスとしてそのアクティブ期間にＳＲＡＭ２５のメモリリードサイクルを繰り返し起動し、サイクル毎にデータフィールド２７＿Ｄから読み出されるデータ情報ＤＡＴ＿Ｄをセレクタに帰還させ、サイクル毎に、制御フィールド２７＿Ｃから読み出される制御情報ＤＡＴ＿Ｃに従ってセレクタ３０の選択動作を制御して、論理動作を実現する。
【００６２】
また、そのとき、周辺バスＰＢＵＳから前記データリード用等価ＩＯレジスタを指定してリード信号ＲＤにより読み出し動作が指示されたとき、アドレスデコーダ４１はそのアクセス要求に伴うアドレス信号の下位側アドレス情報で指定される機能再構成セル２０に割り当てられたＩＯＡＥ＿ｊをアクティブとする。更に、バスインタフェース回路４０はリード・ライト信号ＲＷ＿ｊによってリード動作を指定する。これによって当該機能再構成セル２０のＡＤＲＬＡＴ２６が保持しているアドレス情報によって選択されるＳＲＡＭ２５の記憶領域からリードされる情報をバスインタフェース回路４０が受け取って周辺バスＰＢＵＳにリードデータとして出力する。これにより、ＣＰＵ２等は論理機能が設定された機能再構成セル２０による論理動作の結果を第２のアドレス範囲ＡＡ２のアドレスを指定するリードアクセスによって任意に取得することができる。バスインタフェース回路４０は論理動作の結果の一つとして論理動作完了のような要求を認識すると、割り込み信号を割り込みコントローラ１６に供給することができる。これによる割り込みが与えられたＣＰＵ２は例えば前記データリード用等価ＩＯレジスタに対するリード動作を指定することによって当該論理動作を終了した機能再構成セル２０から論理動作の結果を取得する動作ルーチンに移行したりすることが可能になる。
【００６３】
上述のように、前記記憶回路に対するランダムアクセス用のアドレスマッピング(第１のアドレス範囲)に対し、機能設定された機能再構成セルによる論理動作結果を取得するために機能再構成セルに割り当てたメモリマップドＩ／Ｏアドレスのようなアドレス（第２のアドレス範囲のアドレス）を個別化することにより、機能再構成セルに対する論理機能をダイナミックに再構成してもそれによる論理動作結果を取得するためのリードアドレスに変更を生ぜず、機能再構成セルに対する論理機能をダイナミックに再構成することが容易になる。
【００６４】
機能再構成セル２０における論理動作の基本概念が図７に示される。制御回路２４は条件ＣＯＮＤ＝１で外部アドレスＡＤＲ＿ＥＸＴであるアドレスＹを記憶回路２３のアクセスアドレスとし、条件ＣＯＮＤ＝０の間は、制御情報ＤＡＴ＿Ｃで決まる内部シーケンスにしたがってデータ情報ＤＡＴ＿Ｄで指定されるアドレスによって記憶回路２３をアクセスする。図１４に例示されるように、内部シーケンスにしたがって処理Ａを行っているとき、条件ＣＯＮＤ＝０の間は内部シーケンスで規定されるデータ情報ＤＡＴ＿Ｄにより指定されるアドレスに応じて処理Ｂに分岐することが可能であり、また、条件ＣＯＮＤ＝１の時に外部アドレスＡＤＲ＿ＥＸＴで指定される処理Ｃに分岐することも可能である。ここで、前記条件ＣＯＮＤは、前記ＣＰＵ２などによる機能再構成メモリ８に対するアクセス形態によって決まる条件、更には、前記制御情報ＤＡＴ＿Ｃで決まる条件として把握すればよい。
【００６５】
機能再構成セル２０でリロード型ダウンカウンタを構成する場合の例が図１５Ａに示される。ここではＴＹＰＥ、ＣＦＬＡＧは制御情報ＤＡＴ＿Ｃに含まれるものとする。図１５Ｂには記憶回路２３の保持情報が例示される。ＤａｔａはデータフィールドＤＦＬＤの情報、ａｄｄｒｅｓｓはアドレスラッチ回路２６に供給されるアドレス情報を意味する。例えば、ＣＦＬＡＧ＝１（ＣＯＮＤ＝１）のとき外部アドレスＡＤＲ＿ＥＸＴとして“０１１０”が入力されると、これをアドレスとしてＣＦＬＡＧ＝０、Ｄａｔａ＝“０１０１”が読み出され、読み出されたデータが次の読み出しアドレスとされ、以下同様の動作がＣＦＬＡＧ＝１になるまで繰り返される。この間に出力されるデータ情報ＤＡＴ＿Ｄは“１０１０”から“００００”までのダウンカウント値とされる。ＣＯＮＤ＝１のとき再度、カウント初期値をリロードしてダウンカウントを繰り返すことができる。図１５Ｃには前記ダウンカウント動作におけるフローチャートが例示される。
【００６６】
２個の機能再構成セル２０でリロード型ダウンカウンタを構成する場合の例が図１６に示される。下位バイトの出力データＤＡＴ＿Ｄの全ビットがオール“０”になったとき、ＣＦＬＡＧを上位バイトの機能再構成セル２０の制御回路に与えて上位バイトの動作を開始させる。上位バイトの出力データＤＡＴ＿Ｄの全ビットがオール“０”になったときマルチバイトのダウンカウントが完了され、再度、下位バイトのカウント初期値をリロードすることによってマルチバイトのダウンカウントを再開することができる。
【００６７】
図１５Ａの構成で３ビットカウンタを構成する場合の例を図１７に示す。図１７にはＳＲＡＭの記憶データが例示される。同図に示されるＮｅｘｔ Ａｄｄｒｅｓｓ欄はアドレスラッチ回路２６の値を意味する。最後に示された[Reg]はＣＦＬＡＧ＝１によって外部から任意にアドレスが設定可能であることを意味する。図１８には図１７による３ビットカウンタ動作の動作シーケンスを例示する。ステップＳ１１−１においてＮにアドレスの初期値として“０００”を設定し、ステップＳ１１−２においてアドレス”０００“のＮｅｘｔ Ａｄｄｒｅｓｓフィールドに格納されている値”１１１“をＮの値として設定し、ステップＳ１１−３においてアドレス”１１１“のＣＦＬＡＧフィールドに格納されている値”０“を判定する。以降、ステップＳ１１−２とＳ１１−３とをＣＦＬＡＧフィールドの値が”１“になるまで繰り返す。この繰り返しの過程においてアドレスNのＤａｔａフィールドの値は値”１１１“から”０００“までの１ダウンカウンタとして出力される。
【００６８】
図１３の論理動作基本概念図に対応する具体的な動作例が図１９に示される。外部トリガとして、例えば前記スタートアドレス設定用等価ＩＯレジスタの指定によって初期アドレス値として “１１１”がアドレスラッチ２６に入力される（Ｓ１）。次いで、ロジックイネーブル用等価ＩＯレジスタの指定によって、アドレスラッチ２６のアドレス情報がＳＲＡＭ２５に供給開始されることにより論理動作が起動される（Ｓ２）。これにより、そのアドレスで指定されたデータフィールドＤＦＬＤからデータ情報ＤＡＴ＿Ｄとして“１１０”がセレクタ３０に供給され（Ｓ３）、また、制御フィールドＣＦＬＤから制御情報ＤＡＴ＿Ｃとして情報“１０１”がアクセス制御デコーダ３２に供給される（Ｓ４）。アクセス制御デコーダ３２はその情報“１０１”をデコードし、Ｓ３により帰還された情報“１１０”を選択し（Ｓ５）、今度はこの情報“１１０”をアドレスとしてＳＲＡＭ２５のアクセスが行われる（Ｓ６）。以下同様に動作が繰り返されて所要の論理動作（３ビットダウンカウンタ動作）が行われる。ＣＬＫはＳＲＡＭ２５のメモリサイクル等を規定する、機能再構成セル２０の動作基準クロック信号である。
【００６９】
３ビットカウンタを夫々構成する機能再構成セル２０を接続選択回路３５で接続して６ビットカウンタを構成する例を図２０に示す。本構成では夫々の機能再構成セルは３ビットアップカウンタ動作を行う例を示しており、データフィールドＤＦＬＤの設定値と外部から供給される初期アドレス値が図１９の例と異なっている。機能再構成セル２０＿Ｌは下位３ビット、２０＿Ｕは上位３ビットを構成し、接続経路選択回路３５は、下位３ビットを構成する機能再構成セル２０＿Ｌの制御フィールドＣＦＬＤの最下位ビットの反転値を、上位３ビットを構成する機能再構成セル２０＿Ｕのロジックイネーブル信号ＬＯＧＥ＿ｊとして供給する。カウント動作を開始する前に機能再構成セル２０＿Ｌ、２０＿Ｕのアドレスラッチ回路２６に初期アドレス値として“０００”をセットし、その後、ＬＯＧＥ＿ｉをアクティブとして機能再構成セル２０＿Ｌに下位３ビットのカウント動作を開始させる。下位３ビットの機能再構成セル２０＿Ｌによるアップカウントが終了して制御情報ＤＡＴ＿Ｃが“１００”を出力する１サイクル期間だけＬＯＧＥ＿ｊをアクティブに変化させて、機能再構成セル２０＿Uに上位３ビットのカウント動作を行わせる。機能再構成セル２０＿Ｌの制御情報ＤＡＴ＿Ｃが“１００”を出力した場合、２０＿Ｌのアドレス制御デコーダ３２はセレクタ３０に対して外部からの入力を選択してアドレスラッチ回路２６にセットすることから、外部入力値としては“００１”をセットしておけばよい。
【００７０】
ＣＰＵによる機能再構成メモリ８のアクセス形態が図２２に例示される。ＣＰＵ２やＤＭＡＣ５による機能再構成メモリ８に対するランダムアクセスは経路ＰＡＳ＿Ｓを用いて行われる。このアクセス動作は機能再構成セル２０及び接続経路選択回路３５に対して機能を設定するためのコンフィギュレーション情報の設定に用いられる。また、論理機能の設定に用いられなかった機能再構成セル２０を内部ＲＡＭ（ＩＴＮＲ＿ＲＡＭ）としてリード・ライトアクセスする場合である。また、ＣＰＵ２やＤＭＡＣ５による機能再構成メモリ８に対するメモリマップドＩＯレジスタアクセスは経路ＰＡＳ＿Ｐを用いて行われる。このアクセス動作は、例えば前記スタートアドレス設定用等価ＩＯレジスタ、データリード用等かＩＯレジスタ、ロジックイネーブル用等価ＩＯレジスタに対するアクセスに用いられる。ランダムアクセス用のアドレスマッピングとメモリマップドＩＯレジスタアクセス用のアドレスマッピングは相互に分離されている。
【００７１】
以上の如く、機能再構成セル２０及び接続経路選択回路３５に所要のコンフィギュレーション情報を設定することにより、単数又は複数の機能再構成セル２０を用いて所要の周辺機能を実現することができる。この機能を用いることにより、単数又は複数の機能再構成セル２０に、論理演算、算術演算、更には符号化／復号演算などの所要の演算機能を実現することも可能である。このとき、機能再構成メモリ８は、図１に例示されるように、機能再構成セル２０と共に論理機能がある程度限定された可変演算セル１０１を備え、機能再構成セル２０に対する演算機能設定の負担を軽減している。
【００７２】
次に、機能再構成セル２０に付加された可変演算セル１０１及び並列演算を容易化するための演算回路１１０について更に説明する。
【００７３】
図２３Ａにはレジスタ１０２に設定される演算制御データのデータフォーマットが例示される。入力選択フィールドＣＲＦ１、論理演算指定フィールドＣＲＦ２、及び論理演算のビット指定フィールドＣＲＦ３を有する。図１の例では入力選択フィールドＣＲＦ１は無視される。論理演算指定フィールドＣＲＦ２は論理演算の種別を指定する。論理演算のビット指定フィールドＣＲＦ３は、入力される演算対象データのどのビットを演算対象ビットにするかを指定する。ここでは演算対象データの入力単位をワードと称する。図２３Ｂに例示される論理演算指定フィールドＣＲＦ２は３ビットで論理演算の種別、例えば論理和、排他的論理和、論理積、否定論理を指定し、“０００”乃至 “０１１”はワード単位の演算を指定し、“１００”乃至“１１１”はビット単位の演算を指定する。ビット単位の演算指定において、演算対象ビットは、図２３Ｂに例示される４ビットのビット指定フィールドＣＲＦ３で指定される。ここでは１ワード１６ビットまで対応できる。図１の例において論理和、排他的論理和、又は論理積の２入力の一方の演算対象データはＤＡＴ＿Ｄ，ＤＡＴ＿Ｃであり、他方の演算対象データは特に制限されないが、外部入力されるデータではなく、ＬＧＣＦ１０３に固有の固定値とされる。或いは、一方の演算対象データをＤＡＴ＿Ｄ、他方の演算対象データをＤＡＴ＿Ｃとし、演算結果をＬ（ＤＡＴ＿Ｄ）とし、Ｌ（ＤＡＴ＿Ｃ）にはＤＡＴ＿Ｃをそのまま出力する。図２３Ｃには可変演算セル１０１に対するイネーブル信号Ｃｏｎｄ＿ＬＥの意義が例示される。“０”であれば演算対象データはＤＡＴ＿Ｄ，ＤＡＴ＿Ｃをスルーで出力し、“１”であれば演算制御データの指定に従って演算を行う。
【００７４】
図２４Ａ乃至図２４Ｄには可変演算セル１０１による演算例が示される。図２４Ａには１つの可変機能ユニット１００における機能再構成セル２０と可変演算セル１０１との関係が示される。図２４Ｂには可変演算セルの機能が模式的に示される。図２４Ｃには入力データＤＡＴ＿Ｄ，ＤＡＴ＿Ｃに対してワード単位で否定論理演算を行って演算結果データＬ（ＤＡＴ＿Ｄ）、Ｌ（ＤＡＴ＿Ｃ）を出力する場合を例示する。図２４Ｄは入力データＤＡＴ＿Ｄ，ＤＡＴ＿Ｃの指定ビットに対して否定論理演算を行って演算結果データＬ（ＤＡＴ＿Ｄ）、Ｌ（ＤＡＴ＿Ｃ）を出力する場合を例示する。
【００７５】
図２５には複数の可変演算セル１０１の出力に対して演算回路１１０で並列演算を行う動作形態が例示される。演算回路の演算種別は並列入力データに対する論理和、論理積、排他的論理和、排他的論理積などとされ、その演算種別は固定であってもよいし、ＣＰＵ２からの初期設定によって可変であってもよい。演算結果は、当該演算回路１１０内のデータレジスタ（ＤＯＴＲＥＧ）１１２に蓄積される。当該データレジスタ１１２には固有のＩＯアドレスが割当てられ、蓄積された演算結果は、当該レジスタ１１２を指定するＩＯレジスタリードアクセスによって、内部バスＩＢＵＳ＿０を経由して外部に読出し可能にされる。並列的な演算経路は接続経路選択回路３５における接続用記憶回路３７に書き込まれる設定データによって決定されればよい。
【００７６】
図２６には複数の可変演算セル１０１の出力をカスケード接続して順次演算を行う動作形態が例示される。カスケード接続された初段の可変演算セル１０１は機能再構成セル２０から出力されるデータＤＡＴ＿Ｄ，ＤＡＴ＿Ｃを入力して演算を行う。第２段目以降の可変演算セル１０１は前段の可変演算セル１０１の出力データＬ（ＤＡＴ＿Ｄ），Ｌ（ＤＡＴ＿Ｃ）を入力して演算を行う。直列的な演算経路は接続経路選択回路３５における接続用記憶回路３７に書き込まれる設定データによって決定される。
【００７７】
図４及び図５には機能再構成メモリ８における可変演算セル１０１のアレイ構成の別の例が示される。図４は図２に対応され、図５は図３に対応される。図２及び図３との相違点は、演算回路１１０を備えず、可変演算セル１０１から演算回路１１０への演算データＬ（ＤＡＴ＿Ｄ），Ｌ（ＤＡＴ＿Ｃ）の並列パスを廃止したことである。図２５の並列接続形態による演算動作を行うことはできないが、その分、ハードウェアの縮小が可能になる。
【００７８】
《可変機能ユニットの第２の例》
図６には可変機能ユニットの第２の例が示される。同図に示される可変機能ユニット１００Ａは図１とは異なる可変演算セル１０１Ａを有する。可変演算セル１０１Ａは論理演算フィールド（ＬＧＣＦ）１０３Ａと前記制御レジスタ（ＲＥＧ＿Ｌ）１０２を備え、論理演算フィールド１０３Ａは、演算対象データの入力端子として、対応する記憶回路２３からの出力を受ける複数の第１入力端子ＴＭＬ１と、別の可変論理セルの出力を受ける複数の第２入力端子ＴＭＬ２とを別々に備える。図７には複数個の可変機能ユニット１００Ａのアレイ構成が例示され、図８には複数個の可変機能ユニット１００Ａのアレイ構成とともに前記演算回路１１０を採用して構成される機能再構成メモリ８の全体的な構成が例示される。図７及び図８の構成は図２及び図３に比べてデータＬ（ＤＡＴ＿Ｄ），Ｌ（ＤＡＴ＿Ｃ）の伝達経路１２が追加されている。図７図から明らかなように、一つの可変演算セル１０１Ａから出力されるデータＬ（ＤＡＴ＿Ｄ），Ｌ（ＤＡＴ＿Ｃ）は接続経路選択回路３５を介して別の可変演算セル１０１Ａの第２入力端子ＴＭＬ２に入力可能にされる。
【００７９】
レジスタ１０２における演算制御データのデータフォーマットは図２３Ａ乃至図２３Ｃで説明した通りであるが、入力選択フィールドＣＲＦ１は無視されず、論理演算フィールド１０３に否定論理を選択するときその入力を第１入力端子ＴＭＬ１又は第２入力端子ＴＭＬ２の何れにするかを指定する。論理演算フィールド１０３は、特に制限されないが、前述と同様に、論理和、排他的論理和、論理積、又は否定論理の論理演算が可能にされ、論理和、排他的論理和、又は論理積が指定されたときは第１入力端子ＴＭＬ１からの入力データと第２入力端子ＴＭＬ１からの入力データとを演算対象にする。演算動作の種類は論理演算指定フィールドＣＲＦ２で指定され、演算対象ビットの指定はビット指定フィールドＣＲＦ３で指定される。指定以外の演算対象ビットは、特に制限されないが、入力選択フィールドＣＲＦ１で指定されている入力側の対応ビットがスルーで出力される。
【００８０】
図２７Ａ乃至図２７Ｄには可変演算セル１０１Ａによる演算例が示される。図２７Ａには前後の可変機能ユニット１００Ａのカスケード接続形態を模式的に示す。論理演算フィールド１０３Ａは、論理和、排他的論理和、又は論理積が指定されたとき、対応する機能再構成セル２０の出力ＤＡＴ＿Ｄ，ＤＡＴ＿Ｃと前段の論理演算フィールド１０３Ａから出力される演算結果データＬ（ＤＡＴ＿Ｄ），Ｌ（ＤＡＴ＿Ｃ）を演算して後段の可変機能ユニット１００Ａに出力する。図２７Ｂには可変演算セル１０１Ａの機能が模式的に示される。図２７Ｃには入力データＤＡＴ＿Ｄ（n），ＤＡＴ＿Ｃ（n）とL(ＤＡＴ＿Ｄ（n-1）)，L(ＤＡＴ＿Ｃ（n-1）)に対してワード単位で論理和演算を行って演算結果データＬ（ＤＡＴ＿Ｄ（n））、Ｌ（ＤＡＴ＿Ｃ（n））を出力する場合を例示する。図２７Ｄは入力データＤＡＴ＿Ｄ（n），ＤＡＴ＿Ｃ（n）とL(ＤＡＴ＿Ｄ（n-1）)，L(ＤＡＴ＿Ｃ（n-1）)の第３ビットに対して論理積を行い、他のビットに対してはＴＭＬ２側の入力データＤＡＴ＿Ｄ（n），ＤＡＴ＿Ｃ（n）をスルーで出力する場合を例示する。
【００８１】
図２８には複数の可変演算セル１０１Ａの出力をカスケード接続して順次演算を行う動作形態が例示される。カスケード接続された格段の可変演算セル１０１Ａは機能再構成セル２０から出力されるデータＤＡＴ＿Ｄ，ＤＡＴ＿Ｃ（入力端子ＴＭＬ１からの入力データ）と入力端子ＴＭＬ２からの入力データに対して演算を行う。直列的な演算経路は接続経路選択回路３５における接続用記憶回路３７に書き込まれる設定データによって決定される。
【００８２】
複数の可変演算セル１０１Ａの出力に対して演算回路１１０で並列演算を行う動作形態は上述と同様であるからその詳細な説明は省略する。
【００８３】
図９及び図１０には機能再構成メモリ８における可変演算セル１０１Ａのアレイ構成の別の例が示される。図９は図２に対応され、図１０は図３に対応される。図２及び図３との相違点は、演算回路１１０を備えず、可変演算セル１０１Ａから演算回路１１０への演算データＬ（ＤＡＴ＿Ｄ），Ｌ（ＤＡＴ＿Ｃ）の並列パスを廃止したことである。並列接続形態による演算動作を行うことはできないが、その分、ハードウェアの縮小が可能になる。
【００８４】
《可変機能ユニットの第３の例》
図１１には可変機能ユニットの第３の例が示される。同図に示される可変機能ユニット１００Ｂは図６とは異なる可変演算セル１０１Ｂを有する。可変演算セル１０１Ｂは論理演算フィールド（ＬＧＣＦ）１０３Ａの出力を入力端子ＴＭＬ２に戻すための帰還経路１３０を備え、入力端子ＴＭＬ２の入力として、帰還経路１３０からのデータ又は前段のデータＬ（ＤＡＴ＿Ｄ），Ｌ（ＤＡＴ＿Ｃ）を選択するセレクタ（ＩＮＳＬＣ）１０４，１０５を備える点が図６と相違される。その他の構成は図６と同様であるからその詳細な説明は省略する。
【００８５】
図２９Ａ及び図２９Ｂには可変演算セル１０１Ｂにおけるセレクタ１０４，１０５の選択制御形態が例示される。図２９Ａに可変演算セル１０１Ｂを模式的に示すとおり、セレクタ１０４，１０５はレジスタ１０２の入力選択フィールドＣＲＦ１の値によって選択動作を行う。選択形態は図２９Ｂに例示される。この構成により、可変演算セル１０１Ｂによる演算形態が更に増える。
【００８６】
《可変機能ユニットの第４の例》
以上の説明では前記可変演算セル１０１，１０１Ａ、１０１Ｂは、前記記憶回路２３の前記制御フィールド２７_Ｃから出力される制御データに基づいて演算動作が制御されるものとして説明した。本発明はそれに限定されず、ＣＰＵによって演算制御レジスタに初期設定される制御データに基づいて演算動作が制御されるようにしてもよいし、双方を併用してもよい。
【００８７】
図３０にはＣＰＵ２によって演算制御レジスタ（ＡＣＲＥＧ）に初期設定された制御データに基づいて可変演算セル１０１Ｃの演算動作を制御可能にした機能再構成メモリ８Ａが例示される。可変機能ユニット１００Ｃは前記可変機能ユニット１００Ａに対しては可変演算セル１０１Ｃの構成が相違される。１４０は可変演算セル１０１Ｃのための演算制御回路であり、入出力バッファ（ＩＯＢＵＦ）１４１、データレジスタ（ＤＡＴＲＥＧ）１４２、及び演算制御レジスタ（ＡＣＲＥＧ）１４３を備える。演算制御レジスタ（ＡＣＲＥＧ）１４０はＣＰＵ２によって演算制御データが初期設定される。データレジスタ（ＤＡＴＲＥＧ）１４１は演算結果が格納されるメモリマップドＩＯレジスタとされ、ＣＰＵ２によってアクセス可能にされる。可変演算セル１０１Ｃは可変演算セル１０１Ａ、１０１Ｂに対してレジスタ１０２への制御データが演算制御レジスタ（ＡＣＲＥＧ）１４３から行われる点が相違され、その他も構成は図６などに基づいて説明した内容と同様であり、その詳細な説明は省略する。
【００８８】
図３０の説明では可変演算セル１０１Ｃが予めカスケード接続された構成を一例としたが、図８等で説明したスイッチマトリクス回路を用いたアレイ構成にも適用可能であることは言うまでもない。
【００８９】
以上説明したマイクロコンピュータ１によれば以下の作用効果がある。
【００９０】
（１）記憶回路２３の読み出しを機能再構成セル２０それ自体で自律的に制御することができる。したがって、可変論理機能を実現するための記憶回路２３を論理回路と等価な回路として扱うことができ、実現可能な論理構成に融通性があり、小さなチップ占有面積で大きな論理規模にも対応可能な可変論理機能を実現可能になる。
【００９１】
（２）ＣＰＵ２等は第３のアドレス範囲ＡＡ３に対するライトアクセス要求を行なうことにより、そのアクセス要求に係るアドレスが割り当てられた前記接続用記憶回路３５をランダムアクセスして、機能再構成セル２０の間の接続を定義するためのスイッチ制御情報を任意に書き込むことができる。
【００９２】
（３）ＣＰＵ２等は第１のアドレス範囲ＡＡ１に対してアクセス要求を行なうことにより、そのアクセス要求に係るアドレスが割り当てられている機能再構成セル２０のＳＲＡＭ２５をランダムアクセスして、前記機能再構成セル２０のＳＲＡＭ２５に所定の論理機能を実現するための情報を任意に定義することができる。
【００９３】
（４）ＣＰＵ２等は第２のアドレス範囲ＡＡ２に対してデータリード用等価ＩＯレジスタアクセスを要求することにより、制御回路２４がＳＲＡＭ２３から出力している情報を前記論理機能によって得られた結果としてリードすることができる。これにより、ＣＰＵ２等は論理機能が設定された機能再構成セル２０による論理動作の結果を第２のアドレス範囲ＡＡ２のアドレスを指定したリードアクセスによって任意に取得することができる。
【００９４】
（５）ランダムアクセス用のＡＡ１，ＡＡ３のアドレスマッピングに対し、機能設定された機能再構成セル２０による論理動作結果を取得したりするために機能再構成セル２０に割り当てたメモリマップドＩＯアドレスのようなＡＡ２のアドレスマッピングを個別化することにより、機能再構成セル２０及び接続選択回路３５に対する論理機能をダイナミックに再構成してもそれによる論理動作結果を取得するためのリードアドレス等に変更を生ぜず、機能再構成セル２０に対する論理機能をダイナミックに再構成することが容易になる。
【００９５】
（６）ＣＰＵ２からバスインタフェース回路４０に対する機能再構成セル２０への機能設定用アクセス経路にシステムバスＳＢＵＳを用い、機能設定された機能再構成セル２０への等価的メモリマップドレジスタアクセスのための経路に周辺バスを用い、双方の経路が分離されるから、機能再構成セル２０に周辺機能を設定して利用する場合には、ＣＰＵ２等によるメモリアクセス経路と、周辺回路に対するアクセス経路を分離しているアーキテクチャとの整合を容易に図ることができる。
【００９６】
（７）演算回路機能の全てを機能再構成セル２０に負担させずに演算を行う可変演算セル１０１，１０１Ａ、１０１Ｂを備えるから、可変論理に対する機能設定の負担を部分的に軽減することができる。
【００９７】
（８）前記可変演算セル１０１，１０１Ａ、１０１Ｂは、前記記憶回路の前記制御フィールド２７_Ｃから出力される制御データに基づいて演算動作が制御されるから、可変演算セルの演算動作を機能再構成セル２０による論理動作と同期させ易くなる。
【００９８】
（９）可変演算セル１０１Ｃは、ＣＰＵ２によって演算制御レジスタ１４３に初期設定される制御データに基づいて演算動作が制御されるから、能再構成セル２０の制御フィールドに対する設定内容に依存させずに可変演算セルを論理動作させることが可能になる。
【００９９】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【０１００】
機能再構成メモリ８はＳＲＡＭで構成した例を説明したが、例えばＭＲＡＭで構成しても良い。ＭＲＡＭは高速の読出し／書込動作が可能とされる不揮発性メモリである。既知の他の不揮発性メモリであるＦｌａｓｈメモリや相変化メモリ等で構成することも可能である。ＭＲＡＭとＦｌａｓｈメモリとを比較すると読出し／書込動作ともにＭＲＡＭが高速であり、Ｆｌａｓｈメモリの持つ書換え回数の制限がないという利点がある。相変化メモリと比較すると、読出し／書込動作速度はほぼ同等であるが、相変化メモリに比べて熱耐性が高いという利点がある。一方でＭＲＡＭは磁気記憶方式であることから、耐磁性が相変化メモリに比べて低い。使用環境に応じて機能再構成メモリ８を構成するメモリを選択すればよい。
【０１０１】
機能再構成メモリ８を不揮発性メモリで構成することで、一旦構成した論理機能は電源が遮断されたとしても維持されるとの利点を得ることができ、またＲＯＭ３に格納しているプログラムを機能再構成メモリ８のランダムアクセス可能な内部メモリ（ＩＴＮＲ＿ＲＡＭ）の一部空間に格納することができる。ＭＲＡＭや相変化メモリで構成することで中央処理装置のワーク領域としてのＲＡＭ４に代えて、ランダムアクセス可能な内部メモリ（ＩＴＮＲ＿ＲＡＭ）の他の空間を用いることも可能となる。
【０１０２】
また、等価的メモリマップドＩＯレジスタアクセスは一例であり、そのためのＬＯＧＥ＿ｊ等のイネーブル信号や、等価的メモリマップドＩＯレジスタの種類は適宜変更可能である。また、システムバスと周辺バスを分けるアーキテクチャを採用しない場合には機能再構成セルに対するランダムアクセス経路と等価的メモリマップドＩＯレジスタアクセスの経路を分離しなくてもよい。マトリクス配置された機能再構成セルとバスの接続形態として、Ｘ，Ｙ方向にバスを配置し、Ｘ，Ｙのそれぞれの方向からアドレシングしてバスに接続する接続形態を採用してもよい。機能再構成セルによって実現される周辺機能は上記に限定されず適宜変更可能である。また、ＣＰＵに対する所謂周辺機能に限定されない。アクセラレータのようにＣＰＵの負担を軽減する演算機能等を割り当てることも可能である。アクセス制御装置はＣＰＵに限定されない。機能再構成メモリと一緒に半導体装置に搭載される回路は図２１に限定されず、半導体集積回路の機能や用途に応じて適宜変更可能である。半導体装置はシングルチップに限定されず、マルチチップをモジュール基板に搭載して封止したシステム・イン・パッケージのような半導体装置にも適用することができる。クロック発生制御、クロックイネーブル制御が付加された機能再構成セルはＰＷＭやカウンタ以外の種々の回路機能の実現に広く適用することができる。本発明は可変論理モジュールを備えた半導体データ処理装置等の半導体装置に広く適用することができる。
【符号の説明】
【０１０３】
１  データプロセッサ
２  中央処理装置（ＣＰＵ）
４  ランダム・アクセス・メモリ（ＲＡＭ）
５  ダイレクト・メモリ・アクセス・コントローラ（ＤＭＡＣ）
ＳＢＵＳ  システムバス（第１バス）
６  バス・ステート・コントローラ（ＢＳＣ）
ＰＢＵＳ  周辺バス(第２バス)
８  機能再構成メモリ（ＲＣＦＧＭ）
１６  割込みコントローラ（ＩＮＴＣ）
２０  機能再構成セル（ＡＣＭＵ）
２１  インタフェース制御回路（ＩＦＣＮＴ）
２３  記憶回路（ＭＲＹ）
２４  制御回路（ＭＣＯＮＴ）
２５  スタティック・ランダム・アクセスメモリ（ＳＲＡＭ）
２６  アドレスラッチ回路（ＡＤＲＬＡＴ）
２７  メモリアレイ２７
２８  アドレスデコーダ（ＳＤＥＣ）
２９  タイミングコントローラ（ＴＭＣＮＴ）
２７＿Ｄ  データフィールド（ＤＦＬＤ）
２７＿Ｃ  制御フィールド（ＣＦＬＤ）
３０  セレクタ（ＡＤＲＳＬ）
３１  アドレスインクリメンタ（ＩＣＲＭ）
３２  アクセス制御デコーダ（ＡＣＤＥＣ）
ＤＡＴ＿Ｃ  制御情報
ＥＸＥＶＴ  外部イベント信号
ＲＤＭＡＥ＿ｊ  ランダムアクセス選択信号
ＩＯＡＥ＿ｊ  ＩＯアクセス選択信号
ＲＷ＿ｊ  リード／ライト信号
ＬＯＧＥ＿ｊ  ロジックイネーブル信号
３５  接続経路選択回路
ＩＢＵＳ＿ｉ  内部バス
ＩＡＢＵＳ＿ｉ  内部アドレスバス
ＩＤＢＵＳ＿ｉ  内部データバス
３６  スイッチ回路
３７  接続用記憶回路
４０  バスインタフェース回路（ＢＵＳＩＦ）
４１  アドレスデコーダ（ＡＤＥＣ）
４２  内部バス選択回路（ＩＢＳＬ）
ＡＡ１  第１のアドレス範囲
ＡＡ２  第２のアドレス範囲
ＡＡ３  第３のアドレス範囲
５１  演算制御部
５２  演算ロジック部
５３  メモリ部
５４  演算制御部
５５  演算ロック部
１００，１００Ａ，１００Ｂ、１００Ｃ  可変機能ユニット
１０１，１０１Ａ，１０１Ｂ，１０１Ｃ  可変演算セル
１０２  制御レジスタ
１０３，１０３Ａ  論理演算フィールド
１０４，１０５  入力選択回路（ＩＮＳＬＣ）
ＴＭＬ１  第１入力端子
ＴＭＬ２  第２入力端子
１１０  演算回路
【図１】
2010206513.tif 000003
【図２】
2010206513.tif 000004
【図３】
2010206513.tif 000005
【図４】
2010206513.tif 000006
【図５】
2010206513.tif 000007
【図６】
2010206513.tif 000008
【図７】
2010206513.tif 000009
【図８】
2010206513.tif 000010
【図９】
2010206513.tif 000011
【図１０】
2010206513.tif 000012
【図１１】
2010206513.tif 000013
【図１２】
2010206513.tif 000014
【図１３】
2010206513.tif 000015
【図１４】
2010206513.tif 000016
【図１５Ａ】
2010206513.tif 000017
【図１５Ｂ】
2010206513.tif 000018
【図１５Ｃ】
2010206513.tif 000019
【図１６】
2010206513.tif 000020
【図１７】
2010206513.tif 000021
【図１８】
2010206513.tif 000022
【図１９】
2010206513.tif 000023
【図２０】
2010206513.tif 000024
【図２１】
2010206513.tif 000025
【図２２】
2010206513.tif 000026
【図２３Ａ】
2010206513.tif 000027
【図２３Ｂ】
2010206513.tif 000028
【図２３Ｃ】
2010206513.tif 000029
【図２４Ａ】
2010206513.tif 000030
【図２４Ｂ】
2010206513.tif 000031
【図２４Ｃ】
2010206513.tif 000032
【図２４Ｄ】
2010206513.tif 000033
【図２５】
2010206513.tif 000034
【図２６】
2010206513.tif 000035
【図２７Ａ】
2010206513.tif 000036
【図２７Ｂ】
2010206513.tif 000037
【図２７Ｃ】
2010206513.tif 000038
【図２７Ｄ】
2010206513.tif 000039
【図２８】
2010206513.tif 000040
【図２９Ａ】
2010206513.tif 000041
【図２９Ｂ】
2010206513.tif 000042
【図３０】
2010206513.tif 000043