(57)【要約】【課題】  アレイ状に配置されたＡＬＵセルから内蔵メモリや周辺回路へのデータアクセスに関し、ハードウェア規模の小型化とユーザビリティの向上が図れるアクセス機構を持つ半導体集積回路を提供する。【解決手段】  複数のＡＬＵセルに対し内蔵メモリ１３１３、１３１２へメモリアクセス処理を行う専用セル群１３０４、１３０６を構成する。さらに、周辺回路１２０１やＬＳＩ外部デバイス２０６に対し内蔵メモリと共通化されたアクセスが可能なよう専用セル群１３０４、１３０６を構成する。【効果】  内蔵メモリへのメモリアクセス処理を行う専用セル群を構成することで、ＡＬＵセルはメモリアクセス機構を不要とし、面積の削減と利用効率向上が実現できる。さらに、内蔵メモリや周辺回路等に共通化したアクセスが可能なため、ユーザビリティの向上が図られる。【選択図】  図６
2006109025.tif 000002
【特許請求の範囲】
【請求項１】
アレイ状に配置されたＡＬＵセルおよびＡＬＵセル間のデータ転送機能を持つ演算部と、
前記演算部の周囲あるいは内部に配置された内蔵メモリと、
前記内蔵メモリへオペランドアクセスのためのアドレス演算を実行する専用セル群を備え、
前記演算部と前記専用セル群はその構成情報を動的に指定するための記憶領域を持つことを特徴とする半導体集積回路。
【請求項２】
請求項１に記載の半導体集積回路において、
前記専用セル群は、前記内蔵メモリに最も近い位置に存在する前記演算部の複数のＡＬＵセルに対応して複数存在し、前記内蔵メモリに対しオペランドアクセスを実行することを特徴とする半導体集積回路。
【請求項３】
請求項１に記載の半導体集積回路において、
前記内蔵メモリは、前記演算部の複数のＡＬＵセルに対して複数存在し、前記半導体集積回路外部からのメモリアクセスに対し１個の連続したアドレス空間を有し、前記演算部からのメモリアクセスに対しそれぞれ個別のアドレス空間を持つことを特徴とする
半導体集積回路。
【請求項４】
請求項３に記載の半導体集積回路において、
前記専用セル群は、前記複数の内蔵メモリに対応して複数存在し、各内蔵メモリに一意に対応してオペランドアクセスを実行することを特徴とする半導体集積回路。
【請求項５】
請求項１に記載の半導体集積回路において、
前記専用セル群は、  前記内蔵メモリと、
前記半導体集積回路に専用ＩＯインタフェースで接続された周辺回路と、
前記半導体集積回路に専用ＩＯインタフェースで接続されたＬＳＩ外部デバイスとの共通化されたデータアクセス機構を備え、
前記専用ＩＯインタフェースは、その接続先を動的に指定するための記憶領域を持つことを特徴とする半導体集積回路。
【請求項６】
アレイ状に配置されたＡＬＵセルを持つ演算部と、
前記演算部で処理されたデータを格納する内蔵メモリと、
前記内蔵メモリへアクセスのためのアドレス演算を実行する専用セル群を備え、
前記演算部は、四辺形を形成する第１領域に設けられ、
前記専用セル群は、前記四辺形の第１の辺及び前記第１の辺に対向する第２の辺に沿って配置され、
前記ＡＬＵセルは、自身の演算機能の決定及び接続先を指定するための記憶領域を有することを特徴とする半導体集積回路。
【請求項７】
請求項６に記載される半導体集積回路において、
前記半導体集積回路は、前記演算部、前記内蔵メモリ及び前記専用セル群を含む回路モジュールと、前記回路モジュールに接続されるバスと、前記バスに接続されるＣＰＵとを更に具備し、
前記内蔵メモリは、前記専用セル群及び前記ＣＰＵによりアクセスされることを特徴とする半導体集積回路。
【請求項８】
請求項６に記載される半導体集積回路において、
前記専用セル群は、前記第１の辺に沿って配置されたＡＬＵセルの数と同じ数の専用セルを有することを特徴とする半導体集積回路。
【請求項９】
請求項６に記載される半導体集積回路において、
前記専用セル群は、前記ＡＬＵセルと前記内蔵メモリの間に接続されることを特徴とする半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路に関し、特に動的に演算機能とデータ転送のコンフィギュレーション情報を変更することで多様な処理を実現可能なＬＳＩおよび２次元ＡＬＵセル・アレイに関しＡＬＵセル・アレイが内蔵メモリ、周辺回路、ＬＳＩ外部デバイスとデータアクセスする方法とその回路実現に関する。
【背景技術】
【０００２】
半導体集積回路は、ムーアの法則に従い、チップ上に集積可能なトランジスタ数を増加させることで性能向上を実現してきた。しかしながら、トランジスタ数の増加は、マスクに作りこむ回路情報を増加させるため、年々マスク代が上昇している。また、設計する回路規模の増大により必要なマスク枚数が増加することでＡＳＩＣ開発費を高騰させる要因となっている。さらに、ニーズが多様化するにつれて従来の少品種大量生産から多品種少量生産へ移行し、その製品トレンドも短期間で移り変わっており開発期間の短縮が要求されている。
【０００３】
近年、これらの問題を解決する１手法として再構成可能なプロセッサが提案されている。再構成可能なプロセッサは特許文献１に開示されているように、多種の演算を実行できるように汎用性を持たせた演算部や演算部間の接続を柔軟に切り替え可能な配線部を多数備えており、これらの制御情報であるコンフィギュレーションデータを切り替えることで様々な回路を実装できる。このように、再構成可能なプロセッサはＦＰＧＡと同様なプログラマブルプロセッサであるためＡＳＩＣと比べ初期の開発費の負担の減少や開発期間の短縮が可能である。また、ＦＰＧＡよりも配線の自由度を減らし、演算の粒度を大きくすることで高い処理性能を実現する。さらに、動的にコンフィギュレーションを切り替えて処理を行う動的に再構成可能なプロセッサも提案されている。動的に再構成可能なプロセッサはチップ上に多数の処理を実装できるため面積あたりの性能が向上し、ＦＰＧＡで問題であるチップ単価の影響を低減できる。
【０００４】
一般に、再構成可能なプロセッサは演算部内に多数のＡＬＵセルを持ち、それを空間的、時間的に並列動作させることで処理性能の向上を実現するアプローチを取っており、従来のプロセッサ以上にデータの供給が性能ネックになりやすい。このため、演算部内に小規模なメモリを内蔵しＡＬＵセルからアクセスすることでデータ転送能力の性能改善を図っている。これらの例については非特許文献１に記載されている。
【０００５】
【特許文献１】特開２００２−７６８８３号公報
【０００６】
【非特許文献１】「日経エレクトロニクス」、Ｎｏ．８３５、ｐｐ．５９−６６、２００２．１１．１８
【発明の開示】
【発明が解決しようとする課題】
【０００７】
再構成可能なプロセッサは、多種の機能を持つＡＬＵセルを２次元アレイ上に配置した演算部を備えるのが一般的である。この構成はＡＬＵセルの並列度が高いため、ＡＬＵセル−ＡＬＵセル間、ＡＬＵセル−内蔵メモリ間の接続網の構成方法が処理性能に大きな影響を与える。
【０００８】
上記の接続網の構成方法として、複数のＡＬＵセル、内蔵メモリをバスで接続する構成やバスを持たず隣接するＡＬＵセル−ＡＬＵセル間、ＡＬＵセル−内蔵メモリ間でデータ転送を行う構成がある。バスによる構成ではバス面積が膨大になる、バスに対して接続されるＡＬＵセルや内蔵メモリの個数を制限したり、一部隣接間でデータ転送をしたりするのが通常考えられる構成である。
【０００９】
上記の構成は、次に示す共通の問題が存在する。一般にＡＬＵセルは内部構成を共通にすることでスケーラブルな構成となっているが、バスやメモリに隣接せず、メモリアクセスが行えないＡＬＵセルもメモリアクセス機構を備えると面積が増大する。また、バスやメモリに隣接するＡＬＵセルはメモリアクセスに利用される頻度が高く、その演算機能を有効に利用できない。
【００１０】
そこで、本発明では演算部の面積削減と有効利用に向けたメモリアクセス機構を提供することを目的としている。
【００１１】
さらに、専用ＩＯインタフェースに接続された周辺回路やＬＳＩ外部デバイスに対しても共通化されたアクセスができるように、前述のメモリアクセス機構を構成することで、ユーザビリティの向上を図る。
【課題を解決するための手段】
【００１２】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば、下記のとおりである。すなわち、アレイ状に配置されたＡＬＵセルとＡＬＵセル間のデータ転送機能を持つ演算部と前記演算部の周囲および内部に配置された内蔵メモリと前記内蔵メモリへオペランドアクセスを実行する専用セル群を備え、前記演算部と前記専用セル群はその構成情報を動的に指定するための記憶領域を持つよう半導体集積回路を構成する。
【００１３】
更に望ましくは、前記内蔵メモリに最も近い位置に存在する前記演算部の複数のＡＬＵセルに対応して複数存在し、前記内蔵メモリに対しオペランドアクセスを実行するように専用セル群を構成すると良い。
【００１４】
更に望ましくは、前記演算部の複数のＡＬＵセルに対して複数存在し、前記半導体集積回路外部からのメモリアクセスに対し１個の連続したアドレス空間を有し、前記演算部からのメモリアクセスに対しそれぞれ個別のアドレス空間を持つように内蔵メモリを構成すると良い。
【００１５】
更に望ましくは、前記複数の内蔵メモリに複数存在し、各内蔵メモリ一意に対応してオペランドアクセスを実行するように専用セル群を構成すると良い。
【００１６】
更に望ましくは、前記専用セル群は前記内蔵メモリと前記半導体集積回路に専用ＩＯインタフェースで接続された周辺回路と前記半導体集積回路に専用ＩＯインタフェースで接続されたＬＳＩ外部デバイスとの共通化されたデータアクセス機構を備え、前記専用ＩＯインタフェースは、その接続先を動的に指定するための記憶領域を持つように半導体集積回路を構成すると良い。
【発明の効果】
【００１７】
本発明により、半導体集積回路の面積の低減を図ることが可能となる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明による代表的な実施例を図面に従って詳細に説明する。本実施例では、テレマティクス端末の一部をなすソフトウェア無線機に本発明を適用したものとして説明する。ソフトウェア無線機は、各種通信方式を通信目的や通信環境に応じて切り替えなければならないため、再構成可能なＬＳＩ(ダイナミックリコンフィギュラブル回路)のアプリケーションとして適している。なお、以下においては、同じ参照番号、記号は同じものもしくは類似のものを表わすものとする。
【００１９】
図１は、車１００に搭載されたテレマティクス端末１０４の一例を示すものであり、テレマティクス端末の一部をなすソフトウェア無線機１０６のシステム適用の例である。ここで、ソフトウェア無線機とは、従来、途中で切り替えることのなかった無線機の仕様を、ソフトウェアにより変更する無線機である。
【００２０】
ソフトウェア無線機は、将来の無線仕様の変化や、１０１や１０２の無線基地局の設置状況や電波状況により走行中に最適な無線仕様が変化したときに、この変化に柔軟に対処して無線仕様を切り替える。切り替え対象の無線仕様としては、例えば、無線ＬＡＮ、ＥＴＣ（ＤＳＲＣ）、地上ＤＴＶ通信などを想定している。
【００２１】
以下では、このソフトウェア無線機の構成と、ダイナミックリコンフィギュラブル回路を利用したＤＲチップの位置付け、構成、利用方法を述べる。
1．ソフトウェア無線機の構成とＤＲチップの位置付け
図１において、テレマティクス端末１０４は、カーナビゲーションシステム１０７の、画像や音声などの情報処理をつかさどり、カーナビゲーションシステム１０７に情報データを通信するために、ソフトウェア無線機１０６を利用する。カーナビゲーションシステム１０７とソフトウェア無線機１０６間のインタフェース１０８は、ＵＳＢなどの標準のデータ通信インタフェースを利用する。
【００２２】
図２は、１０６の内部構成を示すブロック図である。無線データは、アナログ処理部２０２を通ってディジタルデータに変換され、ディジタル処理をダイナミックリコンフィギュラブル（ＤＲ）チップ２０３で行い、インタフェース１０８を通して、カーナビゲーションシステム１０７に転送される。データを送信する場合には、この逆の経路を通る。ＤＲチップは、動作中にコンフィギュレーション情報を変更することにより、その回路構成を処理すべき演算を高速に行えるように変更可能なチップである。本実施例では、データを受信する第１期間とデータを送信する第２期間とで、その回路構成を変更することによりＤＲチップを共有し、小面積で実現できるようにしたものである。
【００２３】
アナログ処理部２０２は、アンテナ２００、ＲＦ・ＩＦ回路２０１、アナログディジタルコンバータ（ＡＤＣ）・ディジタルアナログコンバータ（ＤＡＣ）からなる。ＡＤＣは受信時、ＤＡＣは送信時に利用する。ディジタル処理部のＦＬＡＳＨ２０５は、各種のプログラムを格納しておくために利用する。
【００２４】
図２のアナログ処理部２０２の別の実施の形態として、周波数帯により、複数のアナログ処理部を利用する構成を示したのが図３である。図３において、３０１、３０２、３０３が、各々、周波数帯により、用意したアナログ処理部である。利用する無線仕様を決定する制御信号３０４により、無線信号スイッチ部３０５が動作し、どのアナログ処理部をディジタル処理部と接続するかを選択する。制御信号３０４は図２の２０７の一部である。ディジタル化されたデータは、同じく２０７の一部である３０６を通って、ディジタル処理部に送られる。
２．ＤＲチップの構成
以下では、図４を用いて、ディジタル信号処理を行うＤＲチップ２０３の構成と、ソフトウェアとハードウェアのインタフェースについて述べる。ここで、ソフトウェアは、ＤＲチップ２０３上のＣＰＵ７００で実行する。
２．１  ＤＲチップの全体構成
図４に示すように、ＤＲチップは、ＡＤＣ／ＤＡＣ２０６、カーナビゲーションシステム１０７、および、ＲＯＭであるＦＬＡＳＨ２０５とのインタフェース回路と、受信・送信データの復調・変調動作を行うＤＲＥ７０８、および、全体処理の制御と受信・送信データ復調・変調の前処理を行う中央処理装置ＣＰＵ７００から構成する。
【００２５】
まず、ＤＲチップ２０３の周辺インタフェースについて述べる。ＡＤＣ／ＤＡＣ２０６は、入出力信号線２０７を介してＤＲＥ７０８と接続する。カーナビゲーションシステム１０７は、入出力信号線１０８を介してＵＳＢインタフェース７０４と接続する。プログラムなどを格納するＦＬＡＳＨ２０５は、入出力信号線２０４を介してフラッシュインタフェースＦＬ−ＩＦ７０５と接続する。ＦＬＡＳＨ２０５には、ＣＰＵ７００で実行するソフトの他、ダイナミックリコンフィギュラブルエンジンＤＲＥ７０８で実行するコンフィグレーションデータなどを格納する。ここでコンフィグレーションデータとは、ＤＲＥのハードウェア構成（回路構成）を指定するためのデータである。
【００２６】
次に、ＤＲＥ７０８とＣＰＵ７００とのインタフェースを述べる。ＣＰＵ７００は、ＣＰＵバス７０２を介して、ＤＲＥ７０８、内蔵メモリＭＥＭ７０１、および、周辺インタフェース制御回路ＵＳＢ７０４、ＦＬ−ＩＦ７０５や割り込み制御回路ＩＮＴＣ７０６と接続する。ＣＰＵバス７０２とこれらの回路は、ブリッジ回路７０３、および、ブリッジ回路７０７を介してデータ転送を行う。
２．２  ＤＲＥの構成
図４に示すＤＲＥ７０８の構成を図５に従って述べる。ＤＲＥ７０８は、ＡＬＵＡＥ（ＡＬＵ Ａｒｒａｙ Ｅｎｇｉｎｅ）１２０２と無線専用回路ＷＣＥ１２０１と、内部バス１２００と外部入出力スイッチＥＸＩＯＳ１２０３から構成される。
【００２７】
ＡＬＵＡＥ１２０２は、自律的ダイナミックリコンフィグレーションにより実現する回路モジュールである。自律的ダイナミックリコンフィグレーションとは、自身が計算した結果により、自身のコンフィグレーションを変更することを意味する。ＥＸＩＯＳ１２０３は、ＡＬＵＡＥ１２０２と外部とのデータアクセス先を選択する回路であり、アクセス先としてＷＣＥ１２０１と、ＬＳＩ外部のＡＤＣ／ＤＡＣ２０６がある。割込みは、７１０を介してＩＮＴＣ７０６に要求を通知することにより行う。また、ＡＬＵＡＥ１２０２とＷＣＥ１２０１の通常のデータ転送は、内部バス１２００を介して実施できる。ＣＰＵ７００とＡＬＵＡＥ１２０２、または、ＷＣＥ１２０１とのデータ転送は、Ｂｒｉｄｇｅ１（７０７）と内部バス１２００を介して行う。ＷＣＥ１２０１は、無線特殊演算を実現する回路モジュールである。この無線特殊演算には、ＣＲＣ／Ｓｃｒａｍｂｌｅ演算等がある。これらの演算は、１ビット単位の処理を行うため複数ビットを並列に処理するＡＬＵＡＥで実行すると効率が悪く、専用回路としてモジュールを設けたほうが効率がよい。
３ＡＬＵＡＥの構成と設定レジスタについて
３．１  概要
ここでは、ＡＬＵＡＥ１２０２の構成と設定レジスタについての概要を述べる。
図６に構成を示す。ＡＬＵＡＥ１２０２は、ＢＳＣ１３００を介して内部バス１２００と接続される。ＢＳＣ１３００は内部バス１２００からの入力を各部に振りわけることが主な機能である。ＡＥＣＴＬ１３０１はＡＬＵＡＥ１２０２の制御の他、割り込みコントローラＩＮＴＣ７０６に割り込み要求を出す。
【００２８】
各種処理をつかさどるメインブロックは、ＡＬＵＡ１３０５である。ＡＬＵＡ１３０５はアレイ状に並べられたＡＬＵセルにより構成される。ＡＬＵＡ１３０５とメモリや外部デバイスとのデータ転送には専用セル群であるロードストアアレイＬＳＡを利用する。後述するが、ＬＳＡは、複数のロードストアセル（ＬＳセル）を有している。ＬＳＡは右に位置するＬＳＡＲ１３０４と左に位置するＬＳＡＬ１３０６がある。即ち、ＬＳＡＲとＬＳＡＬとの間にＡＬＵセルがマトリクス状に配置される領域を有する。ＡＬＵＡ１３０５への入出力は、ＬＳＡＲまたはＬＳＡＬを介して行われる。従って、ＬＳＡＲとＬＳＡＬは、ＡＬＵＡとその他の外部装置との間に配置することで外部装置との距離が短くなり、データの転送時間を短くすることが可能となる。
【００２９】
ＬＭＥＭ１３１２、１３１３はＬＳＡＬ１３０６と、ＬＳＡＲ１３０４の隣に配置されており、内部にローカルメモリと、そのインタフェースを備える。ＬＭＥＭに対する入出力はＬＳＡまたはＩＯＰより行われる。
【００３０】
ＩＯＰＡ１３０８、１３０７はＬＭＥＭの隣に配置されており、ＢＳＣ１３００を介した内部バスとの通信を行う。また、配線１３２１、１３２２からＥＸＩＯＳを介してＷＣＥ、および、ＤＲチップ外部のＡＤＣ／ＤＡＣとの通信を行う。
【００３１】
上記のＡＬＵＡ１３０５、ＬＳＡ（ＬＳＡＲ１３０４とＬＳＡＬ１３０６）、ＬＭＥＭ（１３１２、１３１３）、ＩＯＰ（ＩＯＰＡ１３０７、１３０８）は、機能やアクセス先の変更のため、コンフィグレーションをダイナミックに、すなわち、処理実行中に変更可能である。
【００３２】
また、これらのモジュールの動作を指示するのがコンフィグレーションレジスタであり、図７（ｂ）に示す種類と機能がある。コンフィグレーションレジスタを変更するための一時格納用のバッファはＣＮＦＧＣにある。
【００３３】
ＡＬＵＡ１３０５、ＬＳＡ（ＬＳＡＲ１３０４とＬＳＡＬ１３０６）、ＬＭＥＭ（１３１２、１３１３）、ＩＯＰ（ＩＯＰＡ１３０７、１３０８）は、いずれも８行単位のクラスタに分割されており、クラスタ単位にコンフィグレーションの変更が可能となっている。
【００３４】
以下で述べる本実施の形態では、クラスタは２個の場合を述べる。上記で述べたコンフィグレーションレジスタの詳細は後で述べる。ＣＮＦＧＣ１３０９のバッファについては、一般的なバッファを適用可能である。
ＡＥＣＴＬ１３０１は、図７（ａ）（ｃ）に示すように、ＡＬＵＡＥ１２０２の全体の制御とコンフィグレーション切り替えに関する制御を行う。起動終了などのハードウェア一般の制御とステータス通知のほか、ＡＬＵＡ１３０５、ＬＳＡ（ＬＳＡＲ１３０４とＬＳＡＬ１３０６）、ＬＭＥＭ（１３１２、１３１３）、ＩＯＰ（ＩＯＰＡ１３０７、１３０８）のコンフィグレーションをＡＬＵＡＥ自身で自律的に切り替える制御、現在のコンフィグレーションの状態、切り替えに伴う割り込み通知、およびエラー通知の可否指定と制御も行う。ＡＥＣＴＬ１３０１への入力１３３０はコンフィグレーションの切り替えに用いる。これらのレジスタと動作の詳細は後述する。
ＣＮＦＧＣ１３０９は、先に述べたコンフィグレーションレジスタを持つ対象に対して、コンフィグレーションデータの書き込みの制御を行う。制御内容は図７（ａ）に示すとおりである。レジスタの詳細は後述する。
３．２  ＡＥＣＴＬ、ＣＮＦＧＣ制御・ステータスレジスタ
ここでは、ＡＥＣＴＬ１３０１とＣＮＦＧＣ１３０９の制御／ステータスレジスタについて述べる。
（１）ＡＥＣＴＬの制御／ステータスレジスタ
ＡＥＣＴＬ１３０１には、図８に示す制御レジスタ１５００と割り込み制御レジスタ１５１０が含まれる。制御レジスタ１５００は一般の制御とステータス通知、割り込み制御レジスタ１５１０は割り込みに関する設定を行う。
【００３５】
制御レジスタ１５００中のＥＮとＳＴは、ハードウェア的にＡＬＵＡＥ１２０２を起動または終了する指示（ＥＮ）と、その結果であるステータスの通知（ＳＴ）を行う。ＥＮを１にすると起動指示、０にすると終了指示を行う。また、ＳＴが１だと動作状態、０だと休止状態を示す。ＥＲＲは、エラー状態であることを通知する。１はエラー状態、０は正常状態を示す。ＩＮＩ１とＩＮＩ０は、ＡＬＵＡＥの内部状態の初期化を指示する。ＩＮＩ１がクラスタ１（上方８行分）の初期化、ＩＮＩ０がクラスタ０（下方８行分）の初期化を指示する。初期化では、内部の記憶要素を全て０、または１に設定する。Ｃ１ＳＴとＣ０ＳＴは、現在のＡＬＵＡＥの使用中のコンフィグレーション番号を示す。Ｃ１ＳＴがクラスタ１のコンフィグレーション番号、Ｃ０ＳＴがクラスタ０のコンフィグレーション番号を示す。本実施の形態では、Ｃ０ＳＴ、Ｓ１ＳＴにそれぞれ４ビットを割り当てており、１６個のコンフィグレーション切り替えを制御することが可能となっている。
【００３６】
次に、割り込み制御レジスタ１５１０について述べる。割り込み制御レジスタ１５１０のＥＲＲは、ＡＬＵＡＥ１２０２内でエラーが起こったときに、割り込み要求を行うか否かを指定する。１の時は割り込みを行い、０の時は割り込みを行わないことを示す。割り込み制御レジスタ１５１０のＳＩＲＱＦは状態遷移時に割り込みを行うか否かを指定する。ＳＩＲＱは、後で説明する状態遷移制御レジスタ１５２０の数と同じだけのビット数を備え、それぞれの状態遷移ごとに割り込みを行うか否かを設定可能である。割り込み制御レジスタ１５１０のＳＩＦは割り込み要因を示す。ＳＩＦの各ビットは、ＳＩＲＱの各ビットがあらわす割り込みに1対1に対応する。割り込み要因を示すＳＩＦの０リセットは、ＤＲＥ外部からの書き込み、または、ＤＲＥのリセットにより行われる。
（２）ＣＮＦＧＣの制御／ステータスレジスタ
ＣＮＦＧＣのレジスタを図９の１６００に示す。
１６００中のＷＲＥＱは、コンフィグレーション対象のセルへの書き込み指示を行う場合に１にセットする。Ｗ０およびＷ１は、書き込み先のクラスタを示す。Ｗ１が１ならクラスタ１へ書き込み、Ｗ０が１ならクラスタ０へ書き込む。ＣＳＴは、書き込み先のコンフィグレーション番号を示す。ＡＲＯＷおよび、ＡＣＯＬは、コンフィグレーションを変更するＡＬＵセルの選択信号であり、各クラスタ中の行と列を選択する。
（３）ＡＥＣＴＬの制御／ＤＲ状態遷移レジスタ
図８に、状態遷移レジスタ１５２０を示す。ＡＥＣＴＬは内部に複数の状態遷移レジスタ１５２０を持つ．
ＡＳＴは、ＡＬＵＡＥ１２０２の状態が休止または動作中であることを、切り替え条件とすることを意味する。０が休止中、１が動作中を示す。最初の休止状態から、動作状態へ移るときなどに利用する。
ＣＳＴＡＴには、現在実行中のコンフィグレーション番号を遷移の条件とする場合に，コンフィグレーション番号を指定する。ＣＭＳＫは、現在のコンフィグレーション番号を遷移条件に入れるか否かを示す。１が遷移条件に入れない、０が入れる。ＮＳＴＡＴには、遷移先のコンフィグレーション番号を指定する。ＥＭＳＫは、遷移テーブルの容量削減のため、複数の状態遷移を一つの状態遷移レジスタ１５２０で扱うため、トリガー信号１３２０にマスクをかける。トリガー信号１３２０とＥＭＳＫの値の論理ＯＲをとり，結果がすべて１であるときに遷移を実行する。例えば，ＣＭＳＫを１にセットすることで，ＥＭＳＫで設定したトリガーが発生した場合に，現在のコンフィグレーション番号によらず遷移が実行される。
３．３  ＡＬＵセルの構成とコンフィグレーションレジスタ
ここでは、ＡＬＵＡ１３０５を構成するＡＬＵセルの構成と、その利用方法を明らかにするためコンフィグレーションレジスタについて述べる。本節では、（１）でＡＬＵＡ１３０５での処理をどう実現するかの概略を述べ、次に（２）でＡＬＵセルの構成を述べる。最後に（３）でＡＬＵセルのコンフィグレーションレジスタについて述べる。
（１）ＡＬＵＡ１３０５の利用イメージ
図１０は、ＡＬＵセル１７００を４行４列のアレイ状に並べ、これに対して信号処理などでよく用いられるフィルタリング処理を実行するためのコンフィグレーション情報を示した図である。図１０を用いて４行４列のセル・アレイの動作を説明する。図１０のＡＬＵセル１７００内に書かれたブロック内の記号（×Ｃ０、×Ｃ１、×Ｃ２、×Ｃ３、＋）は、セルの演算器ＡＬＵが実行する機能を表し、直線及び矢印はデータの流れを表す。また、セル内の直線上に示されている黒丸１７０１はデータ転送のみを1サイクルで行うフリップフロップを表している。
【００３７】
図１０に示されたコンフィグレーション情報は下式で表される値を求めるためのものである。
ｆ［ｔ］＝ｅ［ｔ］×Ｃ０＋ｅ［ｔ−１］×Ｃ１＋ｅ［ｔ−２］×Ｃ２＋ｅ［ｔ−３］×Ｃ３
上記の式において、ｆ［ｔ］は時刻ｔにおけるフィルタの出力、ｅ［ｔ］は時刻ｔにおけるフィルタへの入力、Ｃ０からＣ３はフィルタ定数である。ｅ［ｔ］は、ＬＳＡＬ１３０６から入力し、ｆ［ｔ］はＬＳＡＲ１３０４に出力する。
【００３８】
本コンフィグレーション情報によれば、１行目のセルでデータの右側のセルへの転送と乗算を実行し、２行目、及び３行目のセルを用いて加算を行う。このコンフィグレーション情報により設定されたＡＬＵＡ１３０５に対し１行１列目のセルより入力ｅを毎時刻入力することで、９クロック・サイクル以降は毎サイクル、フィルタ出力ｆを３行４列目のセルより得ることができる。なお、本実施例は、ＡＬＵＡの回路構成の一例であり、コンフィグレーション情報を変更することで、回路構成を変更可能である。
（２）ＡＬＵセルの構成
ここでは、ＡＬＵセル１７００の構成を図１１に従い、以下に述べる。
【００３９】
ＡＬＵセル１７００のデータパス系の機能は、１８００で示すＡＬＵによる演算とデータ転送の機能である。ＡＬＵは、セレクタＡｉ０-ｓｅｌとＡｉ１-ｓｅｌの出力を２つの入力とし、結果をフリップフロップＣＦＦ０とＣＦＦ１に出力する。データ転送を行う場合は、セレクタＲ０-ｓｅｌ、Ｒ１-ｓｅｌの出力を、それぞれフリップフロップＲＦＦ０、ＲＦＦ１の入力とする。
セレクタＡｉ０-ｓｅｌとＡｉ１-ｓｅｌ、セレクタＲ０-ｓｅｌとＲ１-ｓｅｌへの入力は、１８１０、１８１１、１８１２、１８１３入力端子と、フリップフロップＣＦＦ０とＣＦＦ１、ＲＦＦ０、ＲＦＦ１の出力から選択される。これら信号の選択はコンフィグレーションレジスタファイル１８０１の内、セレクタＣ−ｓｅｌで選ばれた信号１８０２の値により決まる。
ＡＬＵセルの出力はフリップフロップＲＦＦ０、ＲＦＦ１、ＣＦＦ０、ＣＦＦ１の出力を各スイッチで選択し、１８１４、１８１５、１８１６、１８１７の出力端子より出力される。
【００４０】
入力端子と出力端子は、上下左右の４方向にそれぞれあり、上下左右の隣接するＡＬＵセルへ直接接続する。本構成では、上方向は１８１０と１８１４、下方向は１８１１と１８１５、左方向は１８１２と１８１６、右方向は１８１３と１８１７が接続される。ただし、ＡＬＵＡの左右端のＡＬＵセルの左右の配線は、内側はＡＬＵセルに、外側はＬＳセルに接続する。また、上下端のセルの上下の配線は、内側はＡＬＵセルに接続し、外側は基本的には接続しない。ただし、四隅のＡＬＵセルの外側向きの上下の配線はＡＬＵＡ１３０５からの入出力線１３２０に接続される。
端子や配線は、データ用１６ビット、制御用1ビットをそれぞれ有し、制御ビットは加算におけるキャリー、または、ＬＳセルとのインタフェースでのロードストアのイネーブルビットなどに用いる。さらに、データ信号、制御信号それぞれに、その信号が有効か否かをあらわす信号（Ｖａｌｉｄ信号）が付属する。Ｖａｌｉｄ信号はデータ信号、または、制御信号が有効な場合に１、無効な場合に０となる。信号が有効となるのはＡＬＵＡ外部から入力されたデータか、または、有効なデータに対して演算を行った結果のデータである。
【００４１】
ＡＬＵセルへの入力は、上下左右それぞれ、端子Ｕｉｎ−ｂｒ、Ｄｉｎ−ｂｒ、Ｌｉｎ−ｂｒ、Ｒｉｎ−ｂｒの入力端子に入力され、それぞれの入力を、セレクタＲ０−ｓｅｌ、Ｒ１−ｓｅｌ、Ａｉ０−ｓｅｌ、Ａｉ１−ｓｅｌのセレクタにすべて接続する。
【００４２】
ＡＬＵセルからの出力は、データ転送レジスタＲＦＦ０、ＲＦＦ１と、ＡＬＵ出力レジスタＣＦＦ０、ＣＦＦ１の値を、上下左右それぞれ、セレクタＵｏ０−ｓｅｌとＵｏ１−ｓｅｌ、セレクタＤｏ０−ｓｅｌとＤｏ１−ｓｅｌ、セレクタＬｏ０−ｓｅｌとＬｏ１−ｓｅｌ、セレクタＲｏ０−ｓｅｌとＲｏ１−ｓｅｌのスイッチで選択する。例えば、右方向のセレクタＲｏ０−ｓｅｌは、ＲＦＦ０かＣＦＦ０のいずれかを選択し、セレクタＲｏ１−ｓｅｌは、ＲＦＦ１、ＣＦＦ１のいずれかを選択して出力する。
【００４３】
セレクタＲ０−ｓｅｌ、Ｒ１−ｓｅｌ、Ａｉ０−ｓｅｌ、Ａｉ１−ｓｅｌは、４方向の入力各々２セットと、フリップフロップの出力セレクタＳ−ｂｒの出力と、コンフィグレーションレジスタファイル１８０１からセレクタＣ−ｓｅｌで選択された一つのコンフィグレーションレジスタの中の定数値１８０３から、１つを選択する。
【００４４】
図１０での「×Ｃ０」と記述されたＡＬＵセルでは、定数値１８０３をＡｉ０−ｓｅｌで選択した値Ｃ０と、左端子Ｌｉｎ−ｂｒからの入力信号をセレクタＡｉ１−ｓｅｌで選択した値を、ＡＬＵで乗算する。結果はＣＦＦ０とＣＦＦ１に出力され、セレクタＤｏ０−ｓｅｌでＣＦＦ０を選択し、セレクタＤｏ１−ｓｅｌでＣＦＦ１を選択して下方の出力端子１８１５に出力する。また、右方向へのデータ転送は入力端子１８１２からセレクタＲ０−ｓｅｌ、ＲＦＦ０を通過し、セレクタＲｏ０−ｓｅｌより出力端子１８１７に出力する。
【００４５】
上記で述べた、種々のセレクタでの選択と、ＡＬＵで何の演算を行うかの選択は、いずれも、セレクタＣ−ｓｅｌの出力信号１８０２の値により決定する。
信号１８０２は、現在の状態のコンフィグレーションレジスタ１９００（図１２）の値を示す。この信号１８０２は、コンフィグレーションレジスタファイル１８０１の中から、現在のコンフィグレーションを選択する信号１８０４に従い、セレクタＣ−ｓｅｌで選択された値である。
【００４６】
コンフィグレーションレジスタファイル１８０１が更新されるための制御について述べる。コンフィグレーションレジスタファイル１８０１は、図９で示すＣＮＦＧＣ１３０９により更新される。ＣＮＦＧＣ１３０９中の制御レジスタ１６００によりＡＬＵセルを指定することにより、入力端子１８０５がこのＡＬＵセルのコンフィグレーションレジスタファイル１８０１のアドレスを示す信号となる。入力端子１８０５の値がＤＥＣでデコードされ、指定されたレジスタへの書き込みイネーブル信号となる。入力端子１８０６は、当該状態のレジスタへのデータ書き込みに用いる。１８０５、１８０６の二つの信号により、コンフィグレーションレジスタファイル１８０１の更新を行う。１８０５と１８０６は、図６におけるＣＮＦＧＣ１３０９からの出力信号の一部の信号である。
【００４７】
Ｃ−ｓｅｌの動作を決める入力端子１８０４の信号は、図６のＡＥＣＴＬ１３０１から出力される１３１１の一部である。
上記のコンフィグレーションレジスタファイル１８０１とＣ−ｓｅｌに関する機構は、他のコンフィグレーション対象ブロック、ＬＳセルとＩＯＣＴＬについても同様な仕組みとなっている。
（３）コンフィグレーションレジスタ
（２）で述べた動作を実現するためのＡＬＵセルのコンフィグレーションレジスタ１９００について以下で説明する。
【００４８】
レジスタ１９００の中で、１９０１の領域はセレクタＲ０−ｓｅｌ、Ｒ１−ｓｅｌ、Ａｉ０−ｓｅｌ、Ａｉ１−ｓｅｌの選択信号であり、端子Ｌｉｎ−ｂｒ、Ｒｉｎ−ｂｒ、Ｕｉｎ−ｂｒ、Ｄｉｎ−ｂｒのそれぞれへの２組の入力端子、Ｓ−ｂｒ、および１９００中のＩＭＩＤの計１０組の入力の中から一組の１７ビットを選択する。Ｒ０Ｓ、Ｒ１Ｓ、ＡＩ０Ｓ、ＡＩ１Ｓは、それぞれ、セレクタＲ０−ｓｅｌ、Ｒ１−ｓｅｌ、Ａｉ０−ｓｅｌ、Ａｉ１−ｓｅｌの選択コードをあらわす。
【００４９】
１９０２の領域は、左方への出力セレクタＬｏ０−ｓｅｌ、Ｌｏ１−ｓｅｌ、同じく、右方への出力セレクタＲｏ０−ｓｅｌ、Ｒｏ１−ｓｅｌ、上方への出力セレクタＵｏ０−ｓｅｌ、Ｕｏ１−ｓｅｌ、下方への出力セレクタＤｏ０−ｓｅｌ、Ｄｏ１−ｓｅｌの制御信号である。例えば、ＬＯＳはセレクタＬｏ０−ｓｅｌおよびＬｏ１−ｓｅｌの制御信号を示す。同様にして、ＲＯＳ、ＵＯＳ、ＤＯＳは、各方向への２つのセレクタの制御信号を表わす。
【００５０】
ＥＸＥは、ＡＬＵの演算を表わす。乗算、加算、減算などの算術演算や、シフト、ＡＮＤなどの論理演算を搭載する。ＩＭＩＤは定数を表わし、上記に述べたように、ＲＯ−ｓｅｌなどのＡＬＵと転送レジスタへの入力セレクタへの入力の一組となる。
３．４  データのロードストア機構
ここでは、ＡＬＵアレイ１３０５から見たデータのロードストア機構について述べる。
ロードストアは、２種類に大別される。一方は、１３１２および１３１３に付随のローカルメモリへのアクセス、もう一方は、ＡＬＵＡＥ１２０２の外部のハードウェアモジュールやＤＲチップ外部ＩＯとのアクセスである。これらのいずれのアクセスも、ＬＳセルというロードストア専用セルを通して行う。
【００５１】
以下では、ＬＳＡ（１３０６、１３０４）、ＬＭＥＭ（１３１２、１３１３）、ＩＯＰＡ（１３０８、１３０７）について説明する。まず、（１）でＬＳセルとＡＬＵセルのインタフェースについて述べ、（２）ＬＳＡ、ＬＭＥＭ、ＩＯＰＡの構成概要をのべ、（３）でＬＭＥＭ２２００へのアクセス機構を、（４）でＩＯＰＡ２１００を通した外部とのアクセス機構について述べる。
（１）ＬＳセルとＡＬＵセルのインタフェース
図１３は、ＬＳＡ内のロードストアセルＬＳセル２０００と、ＡＬＵセル１７００とのインタフェースを示す。
ＡＬＵセル１７００の出力データ端子１８１６の上位半分でアドレスとＲ／Ｗビットを、下位半分でＡＬＵセル外部へ出力するデータを送る。また、端子１８１２でＬＳセルから入力するデータを受け取る。ＬＳセル２０００は、ＡＬＵセル１７００の端子それぞれについて、端子２００２、２００３、２００４、２００５と接続する。なお、ＬＳセルの数は、アレイ状に配置されたＡＬＵセルのＬＳＡＲに沿って配置された１列分の数と同じ数（例えば、ＡＬＵセルが１６×１６で配置された場合は、１６個）設けると都合がよい。なぜならば、演算結果を出力又は演算データが入力されるＡＬＵセルと、演算結果を格納すべきアドレスの発生又はＡＬＵセルに入力させるべきデータが格納されているアドレスを発生するロードストアセルが１対１で対応するため、並列してＡＬＵセルへのデータの入出力が出来るためである。
（２）ＬＳＡ、ＬＭＥＭ、ＩＯＰＡの構成概要
図１４は、ＬＳＡ（１３０６、１３０４）、ＬＭＥＭ（１３１２、１３１３）、ＩＯＰＡ（１３０８、１３０７）の構成の概要を示した図である。ＬＳＡ、ＬＭＥＭ、ＩＯＰＡはＡＬＵＡの左右で対象であるため、以下ではまとめて、ＬＳＡ２３００、ＬＭＥＭ２２００、ＩＯＰＡ２１００として説明する。
ＬＭＥＭ２２００は、ＬＳＡ２３００とＩＯＰＡ２１００の両方からのアクセスが可能である。また、ＬＭＥＭ２２００は、ＬＳセル２０００から通常のメモリとして利用されると共に、ＬＳセル２０００が外部とアクセスするための中間バッファの役目も果たす。
【００５２】
ＩＯＰＡ２１００は、ＡＬＵＡＥ１２０２と直結する外部ＩＯや他のモジュールと通信するためのモジュールである。本実施の形態では、ＡＤＣ／ＤＡＣ２０６が外部ＩＯであり、ＷＣＥ１２０１が他のモジュールに当たる。また、ＩＯＰＡ２１００は、内部バス１２００のＢＳＣ１３００とのインタフェースも持ち、外部ＩＯへのアクセスか内部バス１２００へのアクセスのいずれかを、各ＩＯＰ２１０６を通して選択する。
（３）ＬＭＥＭへのアクセス機構
ここでは、ＬＳセル２０００からＬＭＥＭ２２００へのアクセスについて述べる。
ＬＭＥＭ２２００は、ＬＳセル２０００に対応した複数のメモリセル２１０２から構成する。メモリセル２１０２は、ＬＳセル２０００、または、ＩＯＰ２１０６よりアクセスできるメモリＭＥＭ２１０３と、ＭＥＭ２１０３へのアクセスをコントロールするＭｃｔｌ２１０４で構成される。この構成により、ＬＳセルからメモリセルへのアクセスが行ごと並列に実行可能である。
【００５３】
ここで、Ｍｃｔｌ２１０４は、メモリセル２１０２が、ＩＯＰ２１０６からもアクセスされるため、ＬＳセル２０００とのアクセスとの選択を行うことがその役割である。ＬＳセル２０００がＬＭＥＭ２２００にアクセスするための命令やモードを指定するのが、図１５に示すＬＳセル用コンフィグレーションレジスタ２２００である。以下でその機能を述べる。
【００５４】
ＥＮ２２０１は、ＬＳセルのデータアクセスが可能か否かを示す。ＬＳ／ＰＰ２２０２は、アドレスをＡＬＵセル１７００から与えるか、ＬＳセル内部でアドレスを自動発生するかを指定する。ＲＷ２２０３は、データをリードするか、ライトするかを指定する。
【００５５】
以下では、ＬＳセル内部でアドレスを自動発生する場合のレジスタ設定方法を説明する。ＬＩ／Ｄ２２０４は、アドレスを自動的にインクリメントするか、デクリメントするかを指定する。ＬＢＡＳ２２０５は、ベースアドレスを指定する。ＬＡＤＤ２００７は、インクリメント、または、デクリメントの幅を指定する。ＩＴＥＲ２２０６は、何回繰り返してアクセスするかを指定する。なお、繰り返し最大数までアクセスした後は、ベースアドレスに戻る
（４）ＡＬＵアレイ外アクセス機構
ここでは、ＩＯＰＡ２１００を通したＡＬＵＡＥ外部へのアクセス機構について述べる。まず、ＩＯＰＡ２１００からＬＭＥＭ２２００へのアクセスを述べ、次に、ＩＯポートアレイ２１００と外部とのアクセスを述べる。
（ａ）ＬＭＥＭへの外部からのアクセス
ＩＯＰＡ２１００は、メモリセル２１０２の２個セット２１１０に対して、ＩＯＰ２１０６を通してアクセスする。ＩＯＰ２１０６は、入力ポート２１１３と出力ポート２１１２を1セットとしてもち、さらにＢＳＣ１３００と配線２１０９を介して接続される。
ＩＯＰ２１０６は、２つのメモリセル２１０２を中間バッファとして、ＬＳセルと接続する。２つのメモリセル２１０２のいずれかに、入力ポート２１１３と出力ポート２１１２を接続する。また、ＩＯＰ２１０６は入出力ポートのほかにＣＰＵバス２１０９との接続も選択可能である。
【００５６】
上記で述べたＩＯＰ２１０６の各種モードを指定するのが、図１６で示すＩＯポートコンフィグレーションレジスタ２３００である。以下でその機能を述べる。ＩＥＮ２３０１は入力ポート２１１３のアクセスが可能か否かを示す。同様にＯＥＮ２３０２は出力ポート２１１２のアクセス可否を示す。これらのいずれもアクセス不可であったときには、ＩＯＰ２１０６はＣＰＵバス２１０９とのアクセスを選択する。
ＬＳＳＥＬ２３０３は、入力ポート２１１３と出力ポート２１１２が、２つのメモリセル２１０４のセット２１１０の内、いずれとアクセスするかを選択する。この指定により、ＬＳセル２０００のセット２１１１のいずれとアクセスするかも決まる。なぜなら、ＬＳセル２０００とメモリセル２１０２は一対一で接続されているためである。
ＩＯＰ２１０６は、外部からのアクセスでは、アドレス自動発生でメモリセルのセット２１１０とアクセスを行う。このとき、ＬＳセルコンフィグレーションのＬＩ／Ｄ２２０４、ＬＢＡＳ２２０５、ＬＡＤＤ２２０７に相当して、ＩＩ／Ｄ２３０４、ＩＢＡＤ２３０５、ＩＡＤＤ２３０６を指定する。意味は、ＬＳセルと同様であるため、説明は割愛する。ＬＳセルと異なる点は、メモリの最大アドレスに達するまでアクセスを繰り返す点である。
（ｂ）外部アクセス
上記で述べたＩＯＰ２１０６を用いて外部とアクセスする機構を、図１７と図１８に従い、以下で述べる。
図１７に示すように、ＩＯＰＡ２１００は、ＡＬＵアレイ外部モジュールであるＷＣＥ１２０１や、ＬＳＩ外部ＩＯを介してＡＤ／ＤＡ２０６とのデータアクセスを行う。ここで、ＩＯＰＡ２１００は、ＩＯＰ２１０６を、１クラスタ分、集めたブロックである。
ＩＯＰＡ２１００は、最上位のクラスタと最下位のクラスタの各々に対して、左右一対ある。信号線群１３２１は、図１４のＩＯポートセル２１０６の入出力信号線２１１２と２１１３を、左の最上位クラスタと最下位クラスタ分を束ねたものを表す。同様に、信号線群１３２２は、左の最上位クラスタと最下位クラスタ分、入出力信号線を束ねたものを表す。
これらの信号線群１３２１と１３２２は、ＥＸＩＯＳ１２０３の中のスイッチ２４０３で、アクセス先の信号線１２０６と２０７に選択的に接続される。
【００５７】
スイッチ２４０３の接続関係を指定するのが、図１８で示すＥＸＩＯＳのコンフィグレーションレジスタ２５００と２５１０である。
２５００は、最下位クラスタのＩＯＰ２１０６からの入出力の接続先を指定し、２５１０は、最上位クラスタの入出力の接続先を指定する。２５００で、ＬＲＰ３ｓｅｌは、最下位クラスタの右のポート３の接続先を選択する。ここで、ポート３とは、クラスタ内の最上方のＩＯポートセル２１０６を指し、下方に向かって、ポート２、ポート１、ポート０と続く。同様にして、ＬＬＰ３ｓｅｌは、最下位クラスタの左のポート３の接続先選択を指定する。２５１０も、２５００と同様に、ＵＲＰ３ｓｅｌは、最上位クラスタの右のポート３の接続先選択を、ＵＬＰ３ｓｅｌは、最上位クラスタの左のポート３の接続先選択を指定する。他のポートについても同様である。
【００５８】
ＥＸＩＯＳ１２０３のチップ外部への端子は、図１７に示す２０７が接続されているＬＳＩ外部端子であり、入力と出力をセットで２個備える。ＷＣＥへの配線１２０６が接続されているＡＬＵＡＥ以外の外部モジュールへの端子は、入力と出力をセットで４個備える。
ＥＸＩＯＳ１２０３のコンフィグレーションレジスタ２５００と２５１０の各々のＩＯＰに対応するビットは、ＬＳＩ外部端子選択用、外部モジュール端子選択用がある。ＬＳＩ外部端子選択用のビットは、ＬＳＩ外部端子１、または、ＬＳＩ外部端子２を選択する。外部モジュール端子選択用のビットは、ＡＬＵＡＥ外部モジュール端子１、ＡＬＵＡＥ外部モジュール端子２、ＡＬＵＡＥ外部モジュール端子３、ＡＬＵＡＥ外部モジュール端子４を選択する。
４  データのロードストア制御の設定例
データのロードストアは、図１４に示すローカルメモリＭＥＭ２１０３へのアクセスの他、図１７に示すＡＬＵＡＥ１２０２の外部のハードウェアモジュールや、ＤＲチップ外部ＩＯとのアクセスを、図１４に示すＬＳセル２０００を通して実現できる。本実施例では、図１7に示すように、外部のハードウェアモジュールとしてＷＣＥ１２０１を、ＤＲチップ外部ＩＯとしてＡＤＣ／ＤＡＣ２０６を、好適な例として取り上げる。また、ＭＥＭ２１０３はＡＬＵＡＥ１２０２内外からの並列アクセスが可能なように２ポート以上のマルチポートメモリで構成することが望ましい。以下では、ＭＥＭ２１０３、ＷＣＥ１２０１、およびＡＤＣ／ＤＡＣ２０６へアクセスするためのコンフィギュレーションレジスタ２２００（図１５）、２３００（図１６）、２５００と２５１０（図１８）の設定とその設定時の動作について説明する。
４．１  ＭＥＭ２１０３に対するアクセス
始めに、ＭＥＭ２１０３に対するアクセス方法を述べる。ＭＥＭ２１０３へのアクセスはアドレス生成方法からＬＳセル内部アドレス生成モードとＡＬＵＡアドレス供給モードに大別される。それぞれを（１）（２）にて述べる。
（１）ＬＳセル内部アドレス生成モード
本モードはＬＳセル２０００で生成したアドレスでメモリアクセスを行う。これは、図１９のＬＤＩＮＣ（ＤＥＣ）／ＳＴＩＮＣ（ＤＥＣ）命令に対応する。以下、コンフィギュレーションレジタ２２００、２３００、２５００、２５１０の設定やその動作例として同図のＬＤＩＮＣ命令を用いて説明を行う。
【００５９】
ＬＤＩＮＣ命令はアドレスをベースアドレス＋ディスプレースメントで生成し、メモリへリードアクセスする命令で、ディスプレースメントがメモリアクセス毎にインクリメントされる。
ＬＳセルコンフィギュレーションレジスタ２２００の命令フィールドにＬＤＩＮＣ命令の設定（ＬＳ／ＰＰ＝０、ＲＷ＝０、ＬＩ／Ｄ＝０）を行い、ベースアドレスフィールドとディスプレースメントフィールドに使用するメモリ空間の開始アドレスとディスプレースメントの範囲を指定する（ＬＢＡＳ＝０ｘ００００、ＬＡＤＤ＝０ｘ０１００）。また、ＷＣＥ１２０１やＡＤＣ／ＤＡＣ２０６へのアクセスを行わないよう、ＩＯポートコンフィギュレーションレジスタ２３００の入出力マスクで、ＥＸＩＯＳ１２０３との入出力データを０マスクする設定（ＩＥＮ＝０、ＯＥＮ＝０）も行う。
上記の各レジスタの設定は、ある状態のコンフィギュレーションレジスタの値として、図６のＣＮＦＧＣ１３０９から、あらかじめ書き込んでおく。ここでは、ＬＳセルコンフィギュレーションレジスタ２２００の書き込み、選択について述べる。ＬＳセルの場合、図２０に示す配線４１１０を通してＬＳセルコンフィギュレーションレジスタ２２００へコンフィギュレーションデータが書き込まれる。ＬＳセルコンフィギュレーションレジスタ２２００は複数存在するが、制御信号４１１１により、セレクタ４１００で実行されるコンフィギュレーションが選択される。制御信号４１１１は、コンフィギュレーションの状態を示すＡＥＣＴＬ制御レジスタ１５００内のＣ１ＳＴ（クラスタ１）とＣ０ＳＴ（クラスタ０）１５０４の設定に基づき、ＬＳセルが属するクラスタ番号に該当する状態を示している。
【００６０】
本実施例では、上記で選択されたＬＳセルコンフィギュレーションレジスタ２２００は、ＬＤＩＮＣ命令を実行する。まず、アドレス生成の論理について述べる。ＬＤＩＮＣ命令では、ＬＳセルコンフィギュレーションレジスタ２２００内のベースアドレスＬＢＡＳ（本実施例では０ｘ００００）の信号４１１２と加算器４１０１で生成されるディスプレースメント信号４１１３を加算器４１０２で加算して得られた内部アドレス４１１４をメモリアクセス用のアドレスとして用いる。ここで、ディスプレースメント信号４１１３は、加算器４１０１とレジスタ４１０３で1ずつ累積加算することで得られる。レジスタ４１０３は、キャリー関連信号４１１５によって制御される。ここで、キャリー関連信号４１１５とは、端子２００２を通して入力された信号４１１６のうち、キャリー入力とキャリー入力に付随するイネーブル信号のことである。キャリー信号が０のときレジスタ４１０３の値が更新され、1のときは0クリアされる。キャリーイネーブル信号はキャリー信号が有効か否かを判定するものである。キャリー信号が有効である場合、前述のようにレジスタ４１０３の更新／０クリアが行われ、無効である場合、現在の値を保持する。また、ディスプレースメント信号４１１３は比較器４１０４でディスプレースメントの最大値ＬＡＤＤ（０ｘ０１００）の信号４１１７と比較され、等しい場合レジスタ４１０３の値が０クリアされる。これにより、ローカルメモリのアドレス空間としてＬＢＡＳ、ＬＡＤＤで定めた範囲（０ｘ００００〜０ｘ０１００）を利用できる。セレクタ４１０５では、選択信号４１２０により、内部で生成されたアドレス４１１４とＡＬＵセル２００１から供給されたアドレス４１１８（信号４１１６の内、アドレスイネーブル信号４１１９、キャリー関連信号４１１５を除いた信号）のいずれかが選択され、信号４１２１へ出力される。選択信号４１２０は、２２００内のＬＳ／ＰＰの信号であり、本実施例では、ＬＳ／ＰＰが０であるため、内部で生成されたアドレス４１１４が選択される。同様にセレクタ４１０６では、選択信号４１２２により、信号４１１４と後述するＰＯＰ命令時にＭｃｔｌ２１０４から供給されるアドレス４７１２のいずれかが選択され、信号４１２３へ出力される。選択信号４１２２は、２２００内のＦＩＦＯの信号であり、本実施例ではＦＩＦＯは０であるため、信号４１２１が選択される。
【００６１】
次に、メモリアクセス制御信号である、リード／ライトリクエスト信号４１２４及びリード／ライトイネーブル信号４１２５の生成論理について述べる。リード／ライトリクエスト信号４１２４はＬＳセルコンフィギュレーションレジスタ２２００内のＲＷの信号４１２６であり、ＭＥＭｃｔｌ２１０４へ転送される。ＬＤＩＮＣ命令ではＲＷは０であり、リードリクエストを示している。リード／ライトイネーブル信号４１２５は、アドレスイネーブル信号４１１９とキャリーイネーブル信号からイネーブルコントローラ４１０７で生成され、配線４１２５を通してＭＥＭｃｔｌ２１０４へ転送される。これらの両イネーブル信号が有効な場合にのみ、リード／ライトリクエスト信号４１２４に基づきＭＥＭｃｔｌ２１０４を介してメモリアクセスを行う。
【００６２】
最後に、前述したメモリアクセス用のアドレス、制御信号により読み出されたデータについて述べる。ＭＥＭ２１０３から読み出されたデータは信号４１２７として、イネーブルコントローラ４１０８へ入力される。イネーブルコントローラ４１０８では、メモリリードリクエスト時にリード／ライトイネーブル信号４１２５をメモリリードサイクル数分遅延させ、信号４１２７のイネーブル信号として信号４１２７と統合し、信号４１２８を生成する。信号４１２８は端子２００４と２００５からＡＬＵセル２００１へ転送される。
本モードではアドレス生成にＡＬＵＡ１３０５を使用する必要がないため、ＡＬＵＡ１３０５を演算処理に有効活用できる。
（２）ＡＬＵＡアドレス供給モード
本モードはＡＬＵセル２００１から入力されたアドレスによってメモリアクセスを行う。これは、図１９のＬＤ／ＳＴ命令に対応する。以下、コンフィギュレーションレジスタ２２００、２３００、２５００、２５１０の設定やその動作例として同図のＳＴ命令を用いて説明を行う。
【００６３】
ＳＴ命令はＡＬＵセル２００１から入力されたアドレスでメモリへライトアクセスする命令で、ＬＳセルコンフィギュレーションレジスタ２２００は（ＬＳ／ＰＰ＝１、ＲＷ＝１）と設定される。ＷＣＥ１２０１やＡＤＣ／ＤＡＣ２０６へアクセスを行わないためのＩＯポートコンフィギュレーションレジスタ２３００の設定と、複数あるＬＳセルコンフィギュレーションレジスタ２２００の中から実行されるコンフィギュレーションを４１００で選択する動作は、（１）と同様である。
本モードでのＳＴ命令の動作を以下で述べる。ＳＴ命令におけるアドレス生成はセレクタ４１０５の動作を除き（１）と同様であるため、下記には差異のみ記す。ＡＬＵセル２００１から供給されたアドレス４１１８が信号４１２３へ出力されるように、セレクタ４１０５、４１０６で信号が選択される。選択信号４１２０（２２００内のＬＳ／ＰＰの信号）が１であるため、セレクタ４１０５においてＡＬＵセル２００１から供給されたアドレス４１２１が選択される。
【００６４】
次に、メモリアクセス制御信号について述べる。リード／ライトリクエスト信号４１２４は（１）と同様であるので説明は割愛する。リードライトイネーブル信号４１２５はアドレスイネーブル信号４１１９とキャリーイネーブル信号に加え、端子２００３を介して入力された信号４１２９の内、データ４１３１が有効か否かを示すデータイネーブル信号４１３０からイネーブルコントローラ４１０７で生成され、配線４１２５を通してＭＥＭｃｔｌ２１０４へ転送される。これらの全イネーブル信号が有効な場合にのみ、リード／ライトリクエスト信号４１２４に基づきＭＥＭｃｔｌ２１０４を介しメモリアクセスを行う。上記のアドレス、制御信号に基づき、データ４１３１がＭＥＭ２１０３へ書き込まれる。
４．２  ＷＣＥに対するアクセス
次に、ＷＣＥ１２０１に対するアクセス方法を述べる。ＷＣＥ１２０１はＬＤ／ＳＴ命令でアクセス可能である。以下、コンフィギュレーションレジスタ２２００、２３００、２５００、２５１０の設定やその動作例としてＳＴ命令を用いて、図２１と図２２に従い説明する。図２１は、コンフィギュレーションレジスタの設定を示し、図２２は、ＷＣＥ１２０１へのアクセスに関連するモジュールを集めて示す。図２２では、ＬＳセル２０００、図１４に示したメモリセルのセット２１１０とＩＯＰ２１０６、および図１７に示したＥＸＩＯＳ１２０３を示す。前述のように、上記の各レジスタの設定は、ある状態のコンフィギュレーションレジスタの値として、図６のＣＮＦＧＣ１３０９から、あらかじめ書き込んでおく。
【００６５】
図２２に示す信号４３１１、４３１３及び図２５に示す信号４６１０は複数あるＩＯポートコンフィギュレーションレジスタ２３００から選択された、実行されるコンフィギュレーションの信号である。ＥＸＩＯＳの場合、図２２の配線２１０９を通してコンフィギュレーションデータがＥＸＩＯＳコンフィギュレーションレジスタ２５００、２５１０へ書き込まれる。ＥＸＩＯＳポートコンフィギュレーションレジスタ２５００、２５１０はＬＳセルコンフィギュレーションレジスタ２２００、ＩＯポートコンフィギュレーションレジスタ２３００と異なり１個のみ存在する。
【００６６】
ＬＳセルコンフィギュレーションレジスタ２２００の設定は、ＳＴ命令の設定と同一である。ＩＯポートコンフィギュレーションレジスタ２３００とＥＸＩＯＳコンフィギュレーションレジスタ２５００、２５１０の設定は図２１に示すとおりである。図１９と異なる点は、ＩＯポートコンフィギュレーションレジスタ２３００のＯＥＮが１であることと、ＬＳＳＥＬが０であること、ＥＸＩＯＳコンフィギュレーションレジスタ２５００のＵＬＰ０ｓｅｌが０であることである。ＯＥＮはＬＳセル２０００からＡＬＵＡＥ外部へのデータ出力許可／禁止の設定を示す。ＯＥＮは図２２に示すように、信号４３１１としてＡＮＤ４３０１の片方の入力となる。そのため、図２１のようにＯＥＮを１と設定することでＡＮＤ４３０１においてＬＳセル側からの出力４３１２が０マスクされずに信号２１１３へデータが出力される。
【００６７】
また、ＬＳセル側とＩＯＰ２１０６間では入出力信号の配線に自由度があり、ＬＳＳＥＬの設定により図２２の上側のメモリセル４３０２と下側のメモリセル４３０３のどちらがＡＬＵＡＥ外部と接続するかが決定する。ＬＳＳＥＬはセレクタ４３０４、４３０６の選択信号４１１３として用いられる。本実施例ではＬＳＳＥＬを０に設定することにより、セレクタ４３０４で信号４３１４が選択され、信号４３１２へデータが出力される。  ＥＸＩＯＳ１２０３ではＵＬＰｓeｌの設定によって、接続先としてＷＣＥ１２０１とＡＤＣ／ＤＡＣ２０６の選択が可能である。ＵＬＰ０ｓeｌはセレクタ４３０５、４３０７の制御信号４３１５として用いられる。図２１の設定（ＵＬＰ０ｓｅｌ＝０）の場合、セレクタ４３０５によって配線２１１３が選択され、データが配線１２０６へ出力される。
【００６８】
以上により、太線で示すようにＬＳセル２０００から上側のメモリセル４３０２を介してＷＣＥ１２０１へ書き込みアクセスが実行される。
４．３ＡＤＣ/ＤＡＣに対するアクセス
最後にＡＤＣ/ＤＡＣ２０６に対するアクセスを述べる。ＡＤＣ／ＤＡＣ２０６に対するアクセスは、２０６へのデータ出力と２０６からのデータ入力で別の命令を用いる。データ出力、データ入力それぞれについて、以下、コンフィギュレーションレジスタ２２００、２３００、２５００、２５１０の設定やその動作を、図２３から図２６に従い説明する。
（１）ＡＤＣ／ＤＡＣへのデータ出力
データ出力は、図２３に示すＳＴ命令とＳＴＩＮＣ（ＤＥＣ）命令によって行われる。ＬＳセルコンフィギュレーションレジスタ２２００の設定は、それぞれ、ＡＬＵＡアドレス供給モードとＬＳセルアドレス生成モードと同様である。ＩＯポートコンフィギュレーションレジスタ２３００の設定（ＬＳＳＥＬ＝０、ＯＥＮ＝１）はＷＣＥ１２０１へアクセスする場合と同様である。図２４における動作も、ＬＳセル２０００から信号２１１３へデータ出力されるまでは、図２２で述べた動作と同一である。
【００６９】
これまで述べたことと異なる点は、ＥＸＩＯＳコンフィギュレーションレジスタ２５００、２５１０を図２３のように設定（ＵＬＰ０ｓｅｌ＝１）することである。この設定に従い、図２４に示すＥＸＩＯＳ１２０３のセレクタ４３０５は、信号２１１３の出力先としてＡＤＣ／ＤＡＣ２０６を選択し、配線２０７に結果を出力する。以上により、太線で示すようにＬＳセル２０００から上側のメモリセル４３０２を介してＡＤＣ／ＤＡＣ２０６へデータを出力することができる。
（２）ＡＤＣ／ＤＡＣからのデータ入力
データ入力は、（ａ）ＡＤＣ／ＤＡＣ２０６から入力されたデータをＭＥＭ２１０３へ書き込む、（ｂ）図２３に示すＰＯＰ命令によってＭＥＭ２１０３からＬＳセル２０００へデータを読み出す、という２段階の動作によって実現する。以下で、（ａ）（ｂ）それぞれの動作について説明を行う。
（ａ）ＡＤＣ/ＤＡＣ２０６からＭＥＭ２１０３への書き込み
図２３のＰＯＰ命令に示すようにＩＯポートコンフィギュレーションレジスタ２３００とＥＸＩＯＳコンフィギュレーションレジスタ２５００、２５１０の設定を行う。ＵＬＰ０ｓeｌを１とすることで、図２５に示すセレクタ４３０７によって配線２０７が選択され、配線２１１２へデータが出力される。ＩＥＮはＡＬＵＡＥ外部から内部へのデータ入力許可／禁止を示しており、信号４６１０としてＡＮＤ４６００の片方の入力となる。そのため、図２１のようにＩＥＮを１と設定することでＡＮＤ４６００においてＡＬＵＡＥ外部からの入力２１１２が０マスクされずに信号４６１１へデータが出力される。信号４６１１と信号２１０９はセレクタ４６０１へ入力される。セレクタ４６０１では信号４６１１が優先して選択され、信号４６１２へ出力される。セレクタ４３０６では前述のようにＬＳＳＥＬの設定により上側のメモリセル４３０２と下側のメモリセル４３０３への接続が決定される。本実施例の場合（ＬＳＳＥＬ＝０）、信号４６１２と信号４６１３が接続され、上側のメモリセル４３０２へデータが転送される。以上により、太線で示すようにＡＤＣ／ＤＡＣ２０６から上側のメモリセル４３０２へデータを転送することができる。以下にメモリセル４３０２内のＭＥＭ２１０３へデータを格納する際の詳細について述べる。
【００７０】
ＡＤＣ／ＤＡＣ２０６からデータを入力する場合、ＭＥＭ２１０３をＦＩＦＯとして動作させ、Ｍｃｔｌ２１０４で生成されたアドレスによってメモリアクセスを行う。アドレスはベースアドレス＋ディスプレースメントで生成され、ディスプレースメントはメモリアクセス毎に１ずつインクリメントされる。
【００７１】
上記で述べたベースアドレスとディスプレースメントの最大値は、図２３のＰＯＰ命令のＩＯポートコンフィギュレーションレジスタ２３００に設定する（本実施例では、それぞれＩＢＡＳ＝０ｘ０２００、ＩＡＤＤ＝０ｘ０５０）。
ＭＥＭ２１０３のアドレスを決めるＭｃｔｌ２１０４の内部論理の一例を図２６に示し、以下で述べる。
【００７２】
図２２に示す配線２１０９を通してコンフィギュレーションデータがＩＯポートコンフィギュレーションレジスタ２３００へ書き込まれる。ＩＯポートコンフィギュレーションレジスタ２３００は複数存在するが、制御信号４３１０により、セレクタ４３００で実行されるコンフィギュレーションが選択される。制御信号４３１０は、コンフィギュレーションの状態を示すＡＥＣＴＬ制御レジスタ１５００内のＣ１ＳＴ（クラスタ１）とＣ０ＳＴ（クラスタ０）１５０４の設定に基づき、ＩＯポートが属するクラスタ番号に該当する状態を示している。
【００７３】
ＩＯポートコンフィギュレーションレジスタ２３００のレジスタ設定と、実行すべきレジスタの選択について述べる。レジスタの設定は、図６のＣＮＦＧＣ１３０９から図２６に示すＭｃｔｌ２１０４の配線４７２０を通して、あらかじめ書き込んでおく。Ｍｃｔｌ２１０４に内蔵されるＩＯポートコンフィギュレーションレジスタ２３００は、複数存在するが、制御信号４７２１により、セレクタ４７００で実行されるコンフィギュレーションが選択される。制御信号４７２１は、コンフィギュレーションの状態を示すＡＥＣＴＬ制御レジスタ１５００内のＣ１ＳＴ（クラスタ１）とＣ０ＳＴ（クラスタ０）１５０４の設定に基づき、ＩＯポートが属するクラスタ番号に該当する状態を示している。
【００７４】
まず、アドレス信号４７２2の生成論理について述べる。ＰＯＰ命令では、アドレスは、２３００内のベースアドレスＩＢＡＤ（本実施例では０ｘ０２００）の信号４７２３と、加算器４７０１で生成されるディスプレースメントの信号４７２４を、加算器４７０２で加算して信号４７２２として得る。
【００７５】
ディスプレースメント信号４７２４は、加算器４７０１とレジスタ４７０３で１ずつ累積加算することで得られる。レジスタ４７０３はデータイネーブル信号４７２５によって制御される。ここでデータイネーブル信号４７２５とは、信号４６１３の内、データ信号４７２６に付随し、データが有効か否かを示す信号である。データイネーブル信号４７２５が１のとき、レジスタ４７０３の値が更新され、０のときは現在の値を保持する。また、ディスプレースメント信号４７２４は比較器４７０４でディスプレースメントの最大値ＩＡＤＤ（０ｘ００５０）の信号４７２７と比較され、等しい場合レジスタ４７０３が０クリアされる。これにより、ローカルメモリのアドレス空間としてＩＢＡＳ、ＩＡＤＤで定めた範囲（０ｘ０２００〜０ｘ０２５０）を利用できる。
次に、メモリアクセス制御信号について述べる。リード／ライトリクエスト信号４７２８とリード／ライトイネーブル信号４７２９はデータイネーブル信号４７２５そのものであるため、データ４７２６が有効な場合、ＭＥＭ２１０３に対しライトアクセスを行う。
（ｂ）ＭＥＭ２１０３からＬＳセル２０００への読み出し
この動作を行うには、図２３のＰＯＰ命令の項目に示すように、ＬＳセルコンフィギュレーションレジスタ２２００のＦＩＦＯを１に設定する。
この設定により、図２０のＰＯＰリクエスト信号４７３３が有効なものとしてＭｃｔｌ２１０４へ転送される。ＰＯＰリクエスト信号４７３３ＦＩＦＯの信号である。また、同図のセレクタ４１０６は、Ｍｃｔｌ２１０４で生成されたＰＯＰ用アドレス４７３０を選択し信号４１２３に出力する。ＰＯＰ用アドレス信号４７３０の生成について以下に述べる。ディスプレースメント信号４７３１は、加算器４７０５とレジスタ４７０６で１ずつ累積加算することで得られる。レジスタ４７０６はリード／ライトイネーブル信号４７３２によって制御される。リード／ライトイネーブル信号４７３２については後述する。リード／ライトイネーブル信号４７３２が１のとき、レジスタ４７０６の値が更新され、０のときは現在の値を保持する。また、ディスプレースメント信号４７３１は比較器４７０８でレジディスプレースメント信号４７２４と比較され、その値を越さないようにレジスタ４７０８の値の更新／保持が行われる。これにより、リードアドレスがライトアドレスを追い越すことがなく、ＩＢＡＳ、ＩＡＤＤで定めた範囲（０ｘ０２００〜０ｘ０２５０）を利用できる。
【００７６】
次に、メモリアクセス制御信号の生成論理について述べる。リード／ライトリクエスト信号４１２７は６。３。１で述べたとおりなので割愛する。リード／ライトイネーブル信号４７３２は、ＬＳセル２０００からのＰＯＰリクエスト信号４７３３、リード／ライトイネーブル信号４１２５、データイネーブル信号４７２５、比較記４７０８の比較結果からイネーブルコントローラ４７０９で生成される。リード／ライトイネーブル信号は、ＬＳセルからのＰＯＰリクエスト信号４７３３が１で、リード／ライトリクエスト信号４１２５が有効で、リードアドレスがライトアドレスを追い越さない（ＦＩＦＯが空でない）場合にのみ有効となる。また、イネーブルコントローラ４７０９においてＦＩＦＯの状態制御は本特許において本質ではないので割愛する。
【００７７】
最後に、前述したメモリアクセス用のアドレス、制御信号により読み出されたデータについて述べる。ＭＥＭ２１０３から読み出されたデータは信号４１２７を通してＬＳセル２０００へ転送される。同時にＰＯＰリクエスト信号４７３３が正しく受理され、ＭＥＭ２１０３から読み出されたデータが有効であることを示すＰＯＰアクナレッジ信号４７３４がイネーブルコントローラ４７０９からＬＳセル２０００へ転送される。ＰＯＰアクナレッジ信号４７３４はイネーブルコントローラ４７０９でリード／ライトリクエスト信号４７３２をメモリリードサイクル数分遅延させてＬＳセル２０００へ出力した信号である。これらの信号はＬＳセル２０００のイネーブルコントローラ４１０８へ入力される。イネーブルコントローラ４１０８では、ＰＯＰアクナレッジ信号４７３４を信号４１２７のイネーブル信号として信号４１２７と統合し、信号４１２８を生成する。信号４１２８は端子２００４と２００５からＡＬＵセル２００１へ転送される。
【００７８】
以上（a）(ｂ)の動作に基づきＡＤＣ／ＤＡＣ２０６から入力されたデータを読み出すことができる。
以上、実施例に基づいて説明してきたが、本発明の趣旨を逸脱しない範囲で種々の変更が可能である。
【図面の簡単な説明】
【００７９】
【図１】本発明の一つの実施形態である車搭載のソフトウェア無線機の利用方法と位置づけを示す図である。
【図２】本発明の一つの実施形態であるソフトウェア無線機の構成図である。
【図３】本発明の一つの実施形態であるソフトウェア無線機の前処理部の第２の構成を示す図である。
【図４】本発明の一つの実施形態であるダイナミックリコンフィグレーション（ＤＲ）チップの構成図である。
【図５】本発明の一つの実施形態であるＤＲＥの構成図である。
【図６】本発明の一つの実施形態であるＡＬＵＡＥの構成図である。
【図７】本発明の一つの実施形態であるＡＬＵＡＥの設定レジスタの概要を示す図である。
【図８】本発明の一つの実施形態であるＡＥＣＴＬの制御／ステータスレジスタの構成図である。
【図９】本発明の一つの実施形態であるＣＮＦＧＣの制御／ステータスレジスタの構成図である。
【図１０】本発明の一つの実施形態であるＡＬＵセルを利用して、フィルタリング処理を実行する場合のコンフィグレーション情報を示す図である。
【図１１】本発明の一つの実施形態であるＡＬＵセルの構成図である。
【図１２】本発明の一つの実施形態であるＡＬＵセルのコンフィグレーションレジスタの構成図である。
【図１３】本発明の一つの実施形態であるＬＳセルとＡＬＵセルのインタフェースを示す図である。
【図１４】本発明の一つの実施形態であるＩＯブロックと、その構成要素であるＩＯＣＴＬの構成図である。
【図１５】本発明の一つの実施形態であるＬＳセルのコンフィグレーションレジスタの構成図である。
【図１６】本発明の一つの実施形態であるＩＯＣＴＬのコンフィグレーションレジスタの構成図である。
【図１７】本発明の一つの実施形態であるＡＬＵＡＥが外部とデータアクセス機構と、ＥＸＩＯＳの位置づけを示す図である。
【図１８】本発明の一つの実施形態であるＥＸＩＯＳのコンフィグレーションレジスタの構成図である。
【図１９】本発明の一つの実施形態であるＬＳセルからローカルメモリへアクセスする場合のコンフィグレーションレジスタの設定例を示す図である。
【図２０】本発明の一つの実施形態であるＬＳセルの構成を示す図である。
【図２１】本発明の一つの実施形態であるＬＳセル、ＩＯポート、ＥＸＩＯＳからＷＣＥへアクセスする場合のコンフィグレーションレジスタの設定例を示す図である。
【図２２】本発明の一つの実施形態であるＬＳセル、ＩＯポート、ＥＸＩＯＳがＷＣＥへアクセスする際の動作を示す図である。
【図２３】本発明の一つの実施形態であるＬＳセル、ＩＯポート、ＥＸＩＯＳからＡＤＣ／ＤＡＣへアクセスする場合のコンフィグレーションレジスタの設定例を示す図である。
【図２４】本発明の一つの実施形態であるＬＳセル、ＩＯポート、ＥＸＩＯＳがＡＤＣ／ＤＡＣへ書き込みアクセスする際の動作を示す図である。
【図２５】本発明の一つの実施形態であるＬＳセル、ＩＯポート、ＥＸＩＯＳがＡＤＣ／ＤＡＣから書き込まれたデータに対し読み出しアクセスする際の動作を示す図である。
【図２６】本発明の一つの実施形態であるメモリコントローラの構成を示す図である。
【符号の説明】
【００８０】
１０６…ソフトウェア無線機、１０７…カーナビゲーションシステム、２０２…ソフトウェア無線機の前処理部、２０３…ダイナミックリコンフィギュラブル（ＤＲ）チップ、２０５…ＦＬＡＳＨロム、２０６…ＡＤＣ／ＤＡＣ、７００…ＣＰＵ、７０６…割り込みコントローラＩＮＴＣ、７０８…ＤＲエンジン、７１０…割り込み要求信号、１２０１…ＷＣエンジン、１２０２…ＡＬＵＡＥ、１２０３…ＥＸＩＯＳ、１３０１…ＡＥＣＴＬ、１３０４…ＬＳＡＲ、１３０５…ＡＬＵアレイ、１３０６…ＬＳＡＬ、１３０９…ＣＮＦＧＣ、１３１１…コンフィグレーションの次状態信号、１３１２、１３１３…ＬＭＥＭ、１７００…ＡＬＵセル、２０００…ＬＳセル、２１００…入出力回路、２２００…内部ローカルメモリ、２３００…ロードストアアレイ。
【図１】
2006109025.tif 000003
【図２】
2006109025.tif 000004
【図３】
2006109025.tif 000005
【図４】
2006109025.tif 000006
【図５】
2006109025.tif 000007
【図６】
2006109025.tif 000008
【図７】
2006109025.tif 000009
【図８】
2006109025.tif 000010
【図９】
2006109025.tif 000011
【図１０】
2006109025.tif 000012
【図１１】
2006109025.tif 000013
【図１２】
2006109025.tif 000014
【図１３】
2006109025.tif 000015
【図１４】
2006109025.tif 000016
【図１５】
2006109025.tif 000017
【図１６】
2006109025.tif 000018
【図１７】
2006109025.tif 000019
【図１８】
2006109025.tif 000020
【図１９】
2006109025.tif 000021
【図２０】
2006109025.tif 000022
【図２１】
2006109025.tif 000023
【図２２】
2006109025.tif 000024
【図２３】
2006109025.tif 000025
【図２４】
2006109025.tif 000026
【図２５】
2006109025.tif 000027
【図２６】
2006109025.tif 000028