(57)【特許請求の範囲】
【請求項１】
コンフィグレーションデータに基づいて任意の演算状態に構築されるリコンフィグ可能な集積回路装置において，
リコンフィグ可能な複数のプロセッサエレメントと，前記プロセッサエレメント間を任意の状態で接続するプロセッサエレメントネットワークとを有するリコンフィグ回路ユニットと，
前記プロセッサエレメントとプロセッサエレメントネットワークにコンフィグレーションデータを供給して，前記リコンフィグ回路ユニットを任意の状態に構築するコンフィグレーション制御部とを有し，
電源投入時の外部リセット解除信号に応答して，前記リコンフィグ回路ユニット内の少なくとも一部が初期化回路状態に構築され，
当該初期化回路の動作完了後の内部リセット解除信号に応答して，前記コンフィグレーション制御部が前記コンフィグレーションデータの供給を開始することを特徴とするリコンフィグ可能な集積回路装置。
【請求項２】
前記リコンフィグ回路ユニットは，コンフィグレーション制御部からの状態遷移信号に応答して，前記コンフィグレーションデータを取り込むコンフィグレーションレジスタを有し，
当該コンフィグレーションレジスタに取り込まれたコンフィグレーションデータに基づいて，前記リコンフィグ回路ユニットが前記任意の状態に構築され，
前記外部リセット解除信号に応答して，前記コンフィグレーションレジスタが前記初期化回路状態に対応する初期化コンフィグレーションデータに初期化されることを特徴とする請求項１に記載のリコンフィグ可能な集積回路装置。
【請求項３】
前記コンフィグレーションレジスタは，複数のフリップフロップを有し，前記外部リセット解除信号が当該複数のフリップフロップのクリア端子またはプリセット端子に供給されることを特徴とする請求項２に記載のリコンフィグ可能な集積回路装置。
【請求項４】
前記リコンフィグ回路ユニット内に，前記初期化回路として前記外部クロックを所定数カウントする初期化カウンタが構築され，
さらに，外部クロックの位相に整合して内部クロックを生成するクロック生成回路と，
前記初期化カウンタによる前記所定数カウントのカウント終了時に生成される初期化終了信号をラッチする初期化ラッチ回路とを有し，
当該初期化ラッチ回路がラッチした前記初期化終了信号に応じて，前記クロック生成回路が内部クロックの出力を開始することを特徴とする請求項１に記載のリコンフィグ可能な集積回路装置。
【請求項５】
前記クロック生成回路は，前記外部クロックの位相に整合し当該外部クロックの周波数を低培した内部クロックを生成するＰＬＬ回路であることを特徴とする請求項４に記載のリコンフィグ可能な集積回路装置。
【請求項６】
さらに，前記初期化回路の動作完了後に前記内部リセット解除信号を生成する内部リセット回路を有し，
前記クロック生成回路は，前記生成される内部クロックと前記外部クロックのいずれかを前記初期化ラッチ回路のラッチ状態に応じて出力し，
前記内部リセット回路は，前記クロック生成回路から出力されるクロックが内部クロックになった時に前記内部リセット解除信号を生成することを特徴とする請求項４に記載のリコンフィグ可能な集積回路装置。
【請求項７】
前記初期化カウンタは，少なくとも，前記外部クロックに応答して所定の被数を累積加算する加算回路に構築された第１のプロセッサエレメントと，前記加算回路の累積値が所定のカウント終了値と一致するか否かを検出して前記初期化終了信号を出力する比較回路に構築された第２のプロセッサエレメントとを有することを特徴とする請求項４に記載のリコンフィグ可能な集積回路装置。
【請求項８】
コンフィグレーションデータに基づいて任意の演算状態に構築されるリコンフィグ可能な集積回路装置において，
リコンフィグ可能な複数のプロセッサエレメントと，前記プロセッサエレメント間を任意の状態で接続するプロセッサエレメントネットワークとを有するリコンフィグ回路ユニットと，
前記プロセッサエレメントとプロセッサエレメントネットワークにコンフィグレーションデータを供給して，前記リコンフィグ回路ユニットを任意の状態に構築するコンフィグレーション制御部と，
外部クロックと位相整合した内部クロックを生成するクロック生成回路とを有し，
電源投入時の外部リセット解除信号に応答して，前記リコンフィグ回路ユニット内の少なくとも一部が初期化回路に構築され，
当該初期化回路の動作完了後の内部リセット解除信号に応答して，前記コンフィグレーション制御部が前記コンフィグレーションデータの供給を開始し，
前記初期化回路は，前記クロック生成回路のクロック生成安定化までの所定時間を測定する安定化測定回路を含むことを特徴とするリコンフィグ可能な集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，再構築可能な（リコンフィグアラブル，以下単にリコンフィグ可能と称する。）集積回路装置に関し，特に，電源投入時に初期化回路を自動構築するリコンフィグ可能な集積回路装置に関する。
【背景技術】
【０００２】
リコンフィグ可能な集積回路装置は，複数のプロセッサエレメントと，プロセッサエレメント間を接続するネットワークとを有し，シーケンサが外部または内部のイベントに応答して出力するコンフィグレーションデータに基づいて，プロセッサエレメントとネットワークとが任意の演算状態または演算回路に構築される。
【０００３】
従来の伝統的なプログラム可能なマイクロプロセッサは，メモリに記憶されている命令を順番に読み出して逐次的に処理する。したがって，１つのマイクロプロセッサで同時に実行できる命令は数個に限定され，処理能力に限界がある。
【０００４】
これに対して，上記のリコンフィグ可能な集積回路装置は，加算器，乗算器，比較器などの機能を有するＡＬＵや，遅延回路，カウンタなどの複数種類のプログラムを複数個あらかじめ設け，プロセッサエレメント間を接続するネットワークを設け，プロセッサエレメントとネットワークとをシーケンサを含む状態遷移制御部からのコンフィグレーションデータに基づいて所望の構成に再構築し，その演算状態で所定の演算を実行する。複数のプロセッサエレメントにより複数の演算回路を構築しておけば，それらの演算回路に同時にデータ処理を行わせることができる。そして，１つの演算状態でのデータ処理が完了すると，別のコンフィグレーションデータにより別の演算状態が構築され，その状態で異なるデータ処理を行う。
【０００５】
このように，リコンフィグ可能な集積回路装置は，異なる演算状態を動的に再構築することで，大量のデータに対するデータ処理能力を向上させ，全体の処理効率を高めることができる。リコンフィグ可能な集積回路装置については，たとえば特許文献１に記載されている。
【特許文献１】特開２００１−３１２４８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
一般的な集積回路装置は，電源投入時において種々の初期化処理を実行し，初期化処理が終了した後に内部リセットが解除され通常動作を行う。電源投入時の初期化処理には，例えば外部クロックに同期した内部クロックを生成するＰＬＬ回路の初期化動作，各種パラメータが設定されるレジスタの初期化，メモリ内のデータの初期化，データのダウンロードなどがある。リコンフィグ可能な集積回路装置においても，上記と同様に電源投入時において初期化処理を行う必要があり，そのために初期化処理のための回路を設けておく必要がある。
【０００７】
しかしながら，かかる初期化処理のための回路は，電源投入時の一定期間においてのみ動作するだけであり，内部リセットが解除された後の通常動作時には動作する必要がない場合がある。したがって，そのような初期化処理の回路をリコンフィグ可能な回路とは別に設けることは，回路規模の増大を招き好ましくない。
【０００８】
そこで，本発明の目的は，電源投入時に動作する初期化処理回路をなくしたまたはその回路規模を小さくしたリコンフィグ可能な集積回路装置を提供することにある。
【課題を解決するための手段】
【０００９】
上記の目的を達成するために，本発明の第１の側面によれば，コンフィグレーションデータに基づいて任意の演算状態に構築されるリコンフィグ可能な集積回路装置において，
リコンフィグ可能な複数のプロセッサエレメントと，前記プロセッサエレメント間を任意の状態で接続するプロセッサエレメントネットワークとを有するリコンフィグ回路ユニットと，
前記プロセッサエレメントとプロセッサエレメントネットワークにコンフィグレーションデータを供給して，前記リコンフィグ回路ユニットを任意の状態に構築するコンフィグレーション制御部とを有し，
電源投入時の外部リセット解除信号に応答して，前記リコンフィグ回路ユニット内の少なくとも一部が初期化回路状態に構築され，当該初期化回路の動作完了後の内部リセット解除信号に応答して，前記コンフィグレーション制御部が前記コンフィグレーションデータの供給を開始することを特徴とする。
【００１０】
上記の本発明の第１の側面によれば，電源投入時にリコンフィグ回路ユニットが初期化回路状態に構築されて，その初期化回路によって必要な初期化動作が行われ，初期化動作完了後にリコンフィグ回路ユニットがコンフィグレーションデータに基づいて任意の状態に構築される。したがって，電源投入時に利用されないリコンフィグ回路ユニットを初期化回路として利用することで，初期化回路を別途設ける必要がなく，集積回路装置の回路規模を減らすことができる。
【００１１】
上記第１の側面において，好ましい実施の形態によれば，前記リコンフィグ回路ユニットは，コンフィグレーション制御部からの状態遷移信号に応答して，前記コンフィグレーションデータを取り込むコンフィグレーションレジスタを有し，当該コンフィグレーションレジスタに取り込まれたコンフィグレーションデータに基づいて，前記リコンフィグ回路ユニットが前記任意の状態に構築され，前記外部リセット解除信号に応答して，前記コンフィグレーションレジスタが前記初期化回路状態に対応する初期化コンフィグレーションデータに初期化される。つまり，電源投入時の外部リセット解除信号によってコンフィグレーションレジスタを初期化コンフィグレーションデータに初期化することで，リコンフィグ回路ユニットを初期化回路に自動的に構築することができる。
【００１２】
さらに別の好ましい実施の形態によれば，前記リコンフィグ回路ユニット内に，前記初期化回路として前記外部クロックを所定数カウントする初期化カウンタが構築され，さらに，外部クロックの位相に整合して内部クロックを生成するクロック生成回路と，前記初期化カウンタによる前記所定数カウントのカウント終了時に生成される初期化終了信号をラッチする初期化ラッチ回路とを有し，当該初期化ラッチ回路がラッチした前記初期化終了信号に応じて，前記クロック生成回路が内部クロックの出力を開始する。これにより，ＰＬＬ回路などの内部クロックの生成回路が不安定状態の間，その期間をカウントする初期化カウンタがリコンフィグ回路ユニット内に構築されるので，初期化カウンタを別途設ける必要がない。
【発明の効果】
【００１３】
本発明によれば，リコンフィグ回路ユニット内に電源投入時に必要な初期化回路を構築することで，初期化回路を別途設ける必要がない。電源投入時の初期化時においてはリコンフィグ回路ユニットが未だ利用されていないので，リコンフィグ回路ユニットを有効に利用して初期化回路を構築することができる。
【発明を実施するための最良の形態】
【００１４】
以下，図面にしたがって本発明の実施の形態について説明する。但し，本発明の技術的範囲はこれらの実施の形態に限定されず，特許請求の範囲に記載された事項とその均等物まで及ぶものである。
【００１５】
図１は，本実施の形態における集積回路装置の概略構成図である。集積回路装置１は，リコンフィグ可能な複数のプロセッサエレメントＰＥ１〜ＰＥ６と，それらの間を任意の状態で接続するプロセッサエレメントネットワークＮＥＴとを有するリコンフィグ回路ユニット１０と，このリコンフィグ回路ユニットのプロセッサエレメントＰＥとネットワークＮＥＴにコンフィグレーションデータＣＤを供給してリコンフィグ回路ユニット１０を任意の回路状態に構築するコンフィグレーション制御部１１とを有する。コンフィグレーション制御部１１内には，図示しないシーケンサと，コンフィグレーションデータを格納したコンフィグレーションメモリとが設けられ，シーケンサは，内外のイベントに応答して状態遷移信号１２を出力しながら，コンフィグレーションメモリから所望のコンフィグレーションデータを読み出して出力する。
【００１６】
また，リコンフィグ回路ユニット１０内には，コンフィグレーション制御部１１からの状態遷移信号１２に応答して，コンフィグレーションデータＣＤをラッチするコンフィグレーションレジスタ１３が設けられ，このコンフィグレーションレジスタ１３にラッチされるコンフィグレーションデータＣＤ１〜３，ＣＤ４〜６に基づいてプロセッサエレメントＰＥ１〜ＰＥ６の内部が任意の状態に構築され，コンフィグレーションデータＣＤＳに基づいてネットワークＮＥＴが任意の接続状態に構築される。電源投入後のリセット状態が解除された後の通常動作時において，コンフィグレーション制御部１１内のシーケンサが状態遷移を制御し，構築すべき回路状態に対応したコンフィグレーションデータＣＤを順次出力する。
【００１７】
プロセッサエレメントは，内部に演算回路を有する演算プロセッサエレメントや，内部にメモリを有するメモリプロセッサエレメントなどを含む。演算プロセッサエレメントの場合は，加算器，減算器，乗算器などを有するＡＬＵ，所定の値を出力する即値生成回路，入力データ加工部，比較器などを有し，コンフィグレーションデータに基づいて任意の演算回路状態に構築される。このように，コンフィグレーションデータにより任意の演算回路状態が構築されて，その演算回路によりデータ処理が行われるので，プロセッサエレメントＰＥへのコンフィグレーションデータはプロセッサエレメント命令の一種である。また，プロセッサエレメントネットワークＮＥＴへのコンフィグレーションデータは，プロセッサエレメント間を接続するための接続情報である。
【００１８】
集積回路装置１は，リコンフィグ回路ユニット１０以外に，再構築の対象外である固定された内部回路１４を有する。内部回路１４は，リコンフィグ回路ユニット１０内に構築された演算回路と所定の信号を送受信して所定の動作を行う。集積回路装置１には，外部からの電源ＶＣＣの投入を検出して外部リセット信号ＥＲＳＴを生成するパワーオンリセット回路１６が設けられている。そして，パワーオンリセット回路１６は，電源の投入時に外部リセット信号ＥＲＳＴをリセット状態（例えばＬレベル）にし，電源ＶＣＣの立ち上がり後に外部リセット信号ＥＲＳＴを解除する（例えばＨレベルにする）。つまり，Ｈレベルの外部リセット信号ＥＲＳＴは，外部リセット解除信号とも呼ぶことができる。
【００１９】
この電源投入時に生成される外部リセット解除信号ＥＲＳＴは，内部回路の初期化処理の開始を指示する信号である。そこで，本実施の形態では，外部リセット解除信号ＥＲＳＴに応答して，リコンフィグ回路ユニット１０内の少なくとも一部のプロセッサエレメントＰＥとネットワークＮＥＴとが初期化回路に構築される。一例としての具体的によれば，回路状態の構築に使われるコンフィグレーションレジスタ１３が外部リセット解除信号ＥＲＳＴに応答して初期化コンフィグレーションデータに初期化される。そして，この初期化コンフィグレーションデータに基づいて，リコンフィグ回路ユニット１０内に初期化回路が構築される。
【００２０】
電源投入時に構築された初期化回路の動作により所定の初期化動作が終了すると，内部回路１４から内部リセット解除信号ＩＲＳＴが出力され，それに応答して，コンフィグレーション制御部１１の通常動作が開始され，必要なコンフィグレーションデータＣＤがリコンフィグ回路ユニット１０に供給開始される。これにより，リコンフィグ回路ユニット１０内に任意の回路状態が構築される。通常動作状態になると，リコンフィグ回路ユニット１０内に構築されていた初期化回路は存在意義を失いもはや存在しない。つまり，電源投入時に利用されないリコンフィグ回路ユニットを利用して一時的に初期化回路を構築することで，固定された初期化回路を別途設けることなく，電源投入時の初期化動作を可能にすることができる。
【００２１】
図２は，初期化回路の一例を有するクロック発生回路の構成図である。このクロック発生回路はＰＬＬ回路であり，水晶発振器などにより生成される外部クロックＥＣＬＫと位相整合した内部クロックＩＣＬＫを発生する。ＰＬＬ回路ユニット５０は，外部クロックＥＣＬＫをＮ分周する分周回路５２と，分周回路５２の出力であるレファレンスクロックＲＣＬＫと分周回路５６の出力であるバリアブルクロックＶＣＬＫとの位相差に応じて発振周波数が制御されるＶＣＯを有し，外部クロックＥＣＬＫのＭ／Ｎ倍の周波数のクロックPLL-CLKを生成する発振ユニット５４と，クロックPLL-CLKをＭ分周する分周回路５６とで構成される。また，セレクタ回路ＳＥＬは，電源投入時には外部クロックＥＣＬＫを選択し，PLLクロックPLL-CLKが安定化まで待機する初期化動作後にはPLLクロックPLL-CLKを選択し，それぞれ内部クロックＩＣＬＫとして出力する。
【００２２】
ＰＬＬ回路ユニット５０は，外部クロックを基準クロックとしてそれと位相が整合または一致し，その整数倍の周波数を有するクロックPLL-CLKを生成するが，電源投入後の最初の動作期間においては，いまだ位相が整合していないアンロック状態であり，かかるアンロック状態ではクロックPLL-CLKの位相が調整中であり不安定である。そこで，初期化回路として不安定な期間を測定する初期化カウンタ５８と，初期化カウンタ５８がカウント終了時に出力する初期化終了信号ＩＥＮＤをラッチする初期化ラッチ回路６４とが設けられている。
【００２３】
初期化カウンタ５８は，ＰＬＬ回路ユニットのPLLクロックPLL-CLKが安定化するまでの
期間を測定する安定化測定回路である。そして，初期化カウンタ５８は，外部クロックＥＣＬＫをカウントするカウンタ６０と，カウンタ出力がカウント満了値ＣＥＮＤと一致することを検出する一致検出器６２とを有する。
【００２４】
また，初期化ラッチ回路６４は，オアゲートＯＲとフリップフロップ６６とを有する。フリップフロップ６６の出力ＱはオアゲートＯＲの入力にフィードバックされている。この初期化ラッチ回路６４では，外部リセット解除信号ＥＲＳＴによりフリップフロップ６６は「０」にクリアされ，初期化カウンタ５８から「１」の初期化終了信号ＩＥＮＤに応答して，フリップフロップ６６は「１」を取り込み，フィードバックループによりその状態をラッチする。
【００２５】
したがって，初期化終了信号ＩＥＮＤが発生すると，セレクタ選択信号ＳＥＬｓは「１」になり，外部クロックＥＣＬＫから発生クロックPLL-CLKに切り替えられ，発生クロックPLL-CLKが内部クロックＩＣＬＫとして出力される。つまり，ＰＬＬ回路では，初期化動作として電源投入後発振動作が安定するまで待機し，安定した後にＰＬＬクロックPLL-CLKを内部クロックＩＣＬＫとして出力する。
【００２６】
本実施の形態では，このＰＬＬ回路での初期化動作に必要な初期化カウンタ５８を，リコンフィグ回路ユニット内に一時的に構築する。一方，初期化ラッチ回路６４は，初期化動作後においても選択信号ＳＥＬｓを発生クロックPLL-CLK側を選択する状態に維持する必要があるので，リコンフィグ回路ユニットとは別に固定的に設ける必要がある。
【００２７】
図３は，本実施の形態における構築された初期化回路の一例を示す図である。この例では，ＰＬＬ回路の初期化動作に必要な初期化回路として初期化カウンタ５８がリコンフィグ回路ユニット１０内に一時的に構築されている。ＰＬＬ回路内の，クロックPLL-CLKを生成するＰＬＬ回路ユニット５０と，初期化ラッチ回路６４と，外部クロックＥＣＬＫと生成クロックPLL-CLKのいずれかを選択するセレクタＳＥＬとは，固定的に設けられ，初期化カウンタ５８が４つの演算プロセッサエレメントＰＥ１，２，４，５とネットワークＮＥＴとにより一時的に構築される。また，内部回路として，セレクタＳＥＬの出力ＩＣＬＫの状態を監視して内部リセット解除信号ＩＲＳＴを生成する内部リセット生成回路７０が設けられている。
【００２８】
図４は，ＰＬＬ回路の電源投入時の初期化動作のタイミングチャート図である。この図を参照しながら，図３の回路動作を説明する。まず電源投入ＰＷ−ＯＮがあると外部電源ＶＣＣが上昇する間，外部リセット信号ＥＲＳＴはＬレベル（リセット状態）になる。やがて電源ＶＣＣが立ち上がり外部クロックＥＣＬＫが正常に供給されはじめると，外部リセットが解除される（ＥＲＳＴ＝Ｈ）。外部リセット解除後の初期化状態では，コンフィグレーション制御部１１からのコンフィグレーションデータは無効となっている。そして，外部リセット解除信号ＥＲＳＴ（＝Ｈ）に応答して，コンフィグレーションレジスタ１３は，初期化コンフィグレーションデータに初期化され，その初期化コンフィグレーションデータＤＣ，ＤＣＳに基づいて４つの演算プロセッサエレメントＰＥ１，２，ＰＥ４，５とネットワークＮＥＴとにより初期化カウンタ５８が構築される。
【００２９】
一方で，外部リセット解除信号ＥＲＳＴに応答して，ＰＬＬ回路ユニット５０が発振動作を開始する。ただし，開始直後は発振は不安定である。そのため，選択信号ＳＥＬｓは外部リセット解除信号ＥＲＳＴによりＬレベルにクリアされており，セレクタＳＥＬは外部クロックＥＣＬＫを内部クロックＩＣＬＫとして選択する。
【００３０】
初期化状態において構築された初期化カウンタ５８は，内部クロックＩＣＬＫに同期してカウント値ＣＯＵＮＴをカウントアップし，ＰＬＬ回路ユニットの発振動作が安定した後に，カウント満了値ＣＥＮＤに達すると，カウント満了フラグとしてＨレベルの初期化終了信号ＩＥＮＤを出力する。この初期化終了信号ＩＥＮＤは初期化ラッチ回路６４によりラッチされる。なお，初期化カウンタ５８には，内部クロックＩＣＬＫではなく外部クロックＥＣＬＫを供給してもよい。内部クロックＩＣＬＫは，電源投入時は外部クロックＥＣＬＫになっているからである。ただし，通常状態では内部クロックＩＣＬＫに同期して構築された回路が動作するので，内部クロックＩＣＬＫを供給するのが望ましい。
【００３１】
初期化カウンタ回路がカウント満了した状態では，すでにＰＬＬ回路ユニット５０の発振動作は位相ロック状態にあり安定したＰＬＬクロックPLL-CLKが生成されている。そして，初期化ラッチ回路６４のラッチ出力である選択信号ＳＥＬｓのＨレベルにより，セレクタＳＥＬはＰＬＬクロックPLL-CLKを内部クロックＩＣＬＫとして選択し出力する。さらに，この内部クロックＩＣＬＫの変化を検出して，内部リセット発生回路７０が内部リセット解除信号ＩＲＳＴを出力し，内部回路に通常動作を指令する。例えば，コンフィグレーション制御部１１は，この内部リセット解除信号ＩＲＳＴに応答して，必要な回路構築のためのコンフィグレーションＤＣをコンフィグレーションレジスタ１３に出力開始する。その後の通常動作では，コンフィグレーション制御部１１が，イベントに応答して，状態遷移信号１２と共にコンフィグレーションデータＣＤを出力し，必要な処理回路を動的に構築する。通常動作状態では，初期化カウンタ５８はもはや存在しない。
【００３２】
図５は，本実施の形態において初期化回路として一時的に構築された初期化カウンタの構成例を示す図である。この例では，４つの演算プロセッサエレメントＰＥ１，２，４，５はすべて同じであり，その内部には所定の定数を出力する即値生成部８２と，入力データ河口部７４と，加算，減算，乗算などの機能を有する演算器７６と，比較器７８などが設けられ，演算命令であるコンフィグレーションデータに基づいて，いずれかのエレメントによる回路状態に構築される。また，プロセッサエレメントネットワークＮＥＴは，プロセッサエレメントＰＥ間に配置され，図示しない複数のセレクタを有し，コンフィグレーションデータに基づいてそのセレクタ状態が選択され，所定の接続状態に構築される。
【００３３】
図５の例では，プロセッサエレメントＰＥ１が，入力データ加工部７４と演算器７６とにより，入力データ加工部７４に供給される被数を内部クロックＩＣＬＫに同期して加算するカウンタ６０（図２）として構築される。また，プロセッサエレメントＰＥ２が即値生成部７２によりカウンタの被数を生成する回路として構築され，プロセッサエレメントＰＥ５が即値生成部７２によりカウント満了値ＣＥＮＤを生成する回路として構築される。そして，プロセッサエレメントＰＥ４が，入力データ加工部７４と比較器７８とにより，プロセッサエレメントＰＥ１のカウント値ＣＯＵＮＴとカウント満了値ＣＥＮＤとを比較し，一致したときに初期化終了信号ＩＥＮＤを生成する回路として構築される。なお，入力データ加工部７４から比較器７８には２つの値ＣＯＵＮＴとＣＥＮＤとが並列して供給される。また，プロセッサエレメントネットワークＮＥＴは，太線で示す信号経路に構築される。
【００３４】
図６は，本実施の形態における初期化回路の構築を説明する図である。図６には，コンフィグレーションレジスタＣＦＧ−ＲＥＧの具体例が示されている。コンフィグレーションレジスタＣＦＧ−ＲＥＧは，複数のフリップフロップ８１〜８３で構成されている。各フリップフロップのデータ入力端子Ｄには，コンフィグレーション制御部ＣＦＧ−ＣＯＮ内のコンフィグレーションメモリＣＦＧ−ＲＡＭからのコンフィグレーションデータＣＤが入力され，クロック入力端子に供給されるシーケンサＳＥＱからの状態遷移信号１２に応答して，コンフィグレーションデータＣＤ１〜ＣＤ３が各フリップフロップにラッチされる。ラッチされたコンフィグレーションデータＣＤ１〜ＣＤ３は，リコンフィグ回路ユニット１０に供給され所望の回路状態への構築に利用される。
【００３５】
コンフィグレーションレジスタＣＦＧ−ＲＥＧの各フリップフロップ８１〜８３は，保持データを「０」にクリアするクリア端子ＣＬと，「１」にするプリセット端子ＰＲとを有する。そこで，本実施の形態では，外部リセット解除信号ＥＲＳＴの信号線を各フリップフロップ８１〜８３のクリア端子ＣＬとプリセット端子ＰＲに選択的に接続する。これにより，外部リセット解除信号ＥＲＳＴ（＝Ｈ）に応答して，コンフィグレーションレジスタのフリップフロップ群が，初期化コンフィグレーションデータに自動的に初期化される。つまり，図６の例では，フリップフロップ８１がプリセットされてコンフィグレーションデータＣＤ１が「１」に，フリップフロップ８２，８３がクリアされてコンフィグレーションデータＣＤ２，ＣＤ３が「０」に，それぞれ初期化される。この初期化コンフィグレーションデータにより，リコンフィグ回路ユニット１０内に初期化回路，上記の例では初期化カウンタ回路が構築される。
【００３６】
初期化動作が完了した後に，内部リセット解除信号ＩＲＳＴが生成され，それに応答して，シーケンサＳＥＱが通常動作を開始する。通常動作では，前述したとおり，状態遷移信号１２に応答して，コンフィグレーションレジスタ内の各フリップフロップがコンフィグレーションメモリＣＦＧ−ＲＡＭからのコンフィグレーションデータＣＤをラッチし，リコンフィグ回路ユニット１０に供給する。
【００３７】
図７は，本実施の形態におけるプロセッサエレメントネットワークＮＥＴの構成例を示す図である。演算プロセッサエレメントＰＥ０〜ＰＥ３と，メモリプロセッサエレメントＰＥ５と，それ以外のプロセッサエレメントＰＥ４とは，ネットワークＮＥＴ内のスイッチであるセレクタ４１を介して接続可能に構成されている。各プロセッサエレメントＰＥ０〜ＰＥ５は，コンフィグレーションデータＣＤ０〜ＣＤ５に基づいて任意の構成に構築可能であり，また，ネットワークＮＥＴ内のセレクタ４１（４１ａ，４１ｂ，４１ｃ）も，コンフィグレーションデータＣＤｓに基づいて任意の構成に構築可能である。
【００３８】
セレクタ４１は，図中左下に一例として示されるとおり，コンフィグレーションデータＣＤを格納するレジスタ４２と，レジスタ４２のデータに応じて入力を選択するセレクタ回路４３と，セレクタ回路４３の出力をクロックＣＫに同期してラッチするフリップフロップ４４とで構成される。また，ネットワークＮＥＴは，データの入力ポート２２と出力ポート２４ともセレクタを介して所望の接続を可能にしている。
【００３９】
図８，図９は，本実施の形態における通常動作でのコンフィグレーションデータにより構築された回路状態例を示す図である。これらの図には，演算回路を動的に構築可能な演算プロセッサエレメントＰＥ０〜ＰＥ３，ＰＥ６が，ネットワークＮＥＴにより接続されて，所定の演算を高速に行う専用演算回路に構築される。
【００４０】
図３の例は，入力データａ，ｂ，ｃ，ｄ，ｅ，ｆに対して，以下の演算式を実行する専用演算回路に構築された例である。
（ａ＋ｂ）＋（ｃ−ｄ）＋（ｅ＋ｆ）
このコンフィグレーションの例によれば，プロセッサエレメントＰＥ０は，Ａ＝ａ＋ｂの演算回路に構築され，プロセッサエレメントＰＥ１は，Ｂ＝ｃ−ｄの演算回路に構築され，プロセッサエレメントＰＥ２はＣ＝ｅ＋ｆの演算回路に構築され，プロセッサエレメントＰＥ３はＤ＝Ａ＋Ｂの演算回路に構築され，プロセッサエレメントＰＥ６はＥ＝Ｄ＋Ｃの演算回路に構築される。各データａ〜ｆは，図示しないメモリプロセッサエレメントなどから供給され，プロセッサエレメントＰＥ６の出力が演算結果Ｅとしてメモリプロセッサエレメントや外部に出力される。
【００４１】
プロセッサエレメントＰＥ０，ＰＥ１，ＰＥ２が平行して演算処理し，その演算結果に対してプロセッサエレメントＰＥ３がＤ＝Ａ＋Ｂの演算処理し，最後にプロセッサエレメントＰＥ６がＥ＝Ｄ＋Ｃの演算処理を行う。このように，専用の演算回路を構築することで，並列演算を可能にし，演算処理の効率を高めることができる。
【００４２】
各演算プロセッサエレメントは，内部にＡＬＵ，加算器，乗算器，比較器などを内蔵し，コンフィグレーションデータＤＣに基づいて任意の演算回路に再構築可能である。そして，図８のように構築することで，上記の演算を専用に行う専用演算回路を構築することができる。かかる専用演算回路を構築することで，複数の演算を並行して実行することができ，演算効率を高めることができる。
【００４３】
図９の例は，入力データａ〜ｄに対して，（ａ＋ｂ）＊（ｃ＋ｄ）の演算を実行する専用演算回路に構築された例である。プロセッサエレメントＰＥ０がＡ＝ａ＋ｂの演算回路に構築され，プロセッサエレメントＰＥ１がＢ＝ｃ−ｄの演算回路に構築され，プロセッサエレメントＰＥ３がＣ＝Ａ＊Ｂの演算回路に構築され，演算結果Ｃがメモリプロセッサエレメントまたは外部のクラスタに出力される。この場合も，プロセッサエレメントＰＥ０，ＰＥ１が並列に演算処理し，その演算結果Ａ，Ｂに対してプロセッサエレメントＰＥ３がＣ＝Ａ＊Ｂの演算処理を行う。よって，専用演算回路に構築することで，上記の演算効率を高めることができ，大量のデータに対する演算効率を高めることができる。
【００４４】
以上説明したとおり，本実施の形態では，電源投入時の初期化期間において，リコンフィグ回路ユニットがコンフィグレーション制御部によって所望の回路状態に構築されていないことを利用して，初期化動作に必要な初期化回路，具体例では初期化カウンタ回路，を構築する。そして，初期化動作後の通常動作時において，コンフィグレーション制御部によりリコンフィグ回路ユニット内に所望の回路状態が構築される。通常動作時には，初期化回路は存在する必要はない。
【００４５】
上記の実施の形態では，コンフィグレーションレジスタへの初期化コンフィグレーションデータの設定をレジスタ内のフリップフロップのクリア端子とプリセット端子とを利用して行った。それに限定されず，コンフィグレーション制御部とは別に，初期化コンフィグレーションデータ生成部を設けて，外部リセット解除信号ＥＲＳＴに応答して初期化コンフィグレーション生成部が初期化コンフィグレーションデータをコンフィグレーションレジスタに供給しながら，状態遷移信号を供給するようにしても良い。つまり，電源投入時に初期化データを自動的にコンフィグレーションレジスタにラッチさせるようにすることができれば，同様に初期化回路をリコンフィグ回路ユニット内に構築することができる。
以上の実施の形態をまとめると，次の付記のとおりである。
【００４６】
（付記１）コンフィグレーションデータに基づいて任意の演算状態に構築されるリコンフィグ可能な集積回路装置において，
リコンフィグ可能な複数のプロセッサエレメントと，前記プロセッサエレメント間を任意の状態で接続するプロセッサエレメントネットワークとを有するリコンフィグ回路ユニットと，
前記プロセッサエレメントとプロセッサエレメントネットワークにコンフィグレーションデータを供給して，前記リコンフィグ回路ユニットを任意の状態に構築するコンフィグレーション制御部とを有し，
電源投入時の外部リセット解除信号に応答して，前記リコンフィグ回路ユニット内の少なくとも一部が初期化回路状態に構築され，
当該初期化回路の動作完了後の内部リセット解除信号に応答して，前記コンフィグレーション制御部が前記コンフィグレーションデータの供給を開始することを特徴とするリコンフィグ可能な集積回路装置。
【００４７】
（付記２）付記１において，
前記リコンフィグ回路ユニットは，コンフィグレーション制御部からの状態遷移信号に応答して，前記コンフィグレーションデータを取り込むコンフィグレーションレジスタを有し，
当該コンフィグレーションレジスタに取り込まれたコンフィグレーションデータに基づいて，前記リコンフィグ回路ユニットが前記任意の状態に構築され，
前記外部リセット解除信号に応答して，前記コンフィグレーションレジスタが前記初期化回路状態に対応する初期化コンフィグレーションデータに初期化されることを特徴とするリコンフィグ可能な集積回路装置。
【００４８】
（付記３）付記２において，
前記コンフィグレーションレジスタは，複数のフリップフロップを有し，前記外部リセット解除信号が当該複数のフリップフロップのクリア端子またはプリセット端子に供給されることを特徴とするリコンフィグ可能な集積回路装置。
【００４９】
（付記４）付記１において，
前記リコンフィグ回路ユニット内に，前記初期化回路として前記外部クロックを所定数カウントする初期化カウンタが構築され，
さらに，外部クロックの位相に整合して内部クロックを生成するクロック生成回路と，
前記初期化カウンタによる前記所定数カウントのカウント終了時に生成される初期化終了信号をラッチする初期化ラッチ回路とを有し，
当該初期化ラッチ回路がラッチした前記初期化終了信号に応じて，前記クロック生成回路が内部クロックの出力を開始することを特徴とするリコンフィグ可能な集積回路装置。
【００５０】
（付記５）付記４において，
前記クロック生成回路は，前記外部クロックの位相に整合し当該外部クロックの周波数を低培した内部クロックを生成するＰＬＬ回路であることを特徴とするリコンフィグ可能な集積回路装置。
【００５１】
（付記６）付記４において，
さらに，前記初期化回路の動作完了後に前記内部リセット解除信号を生成する内部リセット回路を有し，
前記クロック生成回路は，前記生成される内部クロックと前記外部クロックのいずれかを前記初期化ラッチ回路のラッチ状態に応じて出力し，
前記内部リセット回路は，前記クロック生成回路から出力されるクロックが内部クロックになった時に前記内部リセット解除信号を生成することを特徴とするリコンフィグ可能な集積回路装置。
【００５２】
（付記７）付記４において，
前記初期化カウンタは，少なくとも，前記外部クロックに応答して所定の被数を累積加算する加算回路に構築された第１のプロセッサエレメントと，前記加算回路の累積値が所定のカウント終了値と一致するか否かを検出して前記初期化終了信号を出力する比較回路に構築された第２のプロセッサエレメントとを有することを特徴とするリコンフィグ可能な集積回路装置。
【００５３】
（付記８）付記１において，
さらに，前記初期化回路の動作完了後に前記内部リセット解除信号を生成する内部リセット回路を有することを特徴とするリコンフィグ可能な集積回路装置。
【００５４】
（付記９）コンフィグレーションデータに基づいて任意の演算状態に構築されるリコンフィグ可能な集積回路装置において，
リコンフィグ可能な複数のプロセッサエレメントと，前記プロセッサエレメント間を任意の状態で接続するプロセッサエレメントネットワークとを有するリコンフィグ回路ユニットと，
前記プロセッサエレメントとプロセッサエレメントネットワークにコンフィグレーションデータを供給して，前記リコンフィグ回路ユニットを任意の状態に構築するコンフィグレーション制御部と，
外部クロックと位相整合した内部クロックを生成するクロック生成回路とを有し，
電源投入時の外部リセット解除信号に応答して，前記リコンフィグ回路ユニット内の少なくとも一部が初期化回路に構築され，
当該初期化回路の動作完了後の内部リセット解除信号に応答して，前記コンフィグレーション制御部が前記コンフィグレーションデータの供給を開始し，
前記初期化回路は，前記クロック生成回路のクロック生成安定化までの所定時間を測定する安定化測定回路を含むことを特徴とするリコンフィグ可能な集積回路装置。
【図面の簡単な説明】
【００５５】
【図１】本実施の形態における集積回路装置の概略構成図である。
【図２】初期化回路の一例を有するクロック発生回路の構成図である。
【図３】本実施の形態における構築された初期化回路の一例を示す図である。
【図４】ＰＬＬ回路の電源投入時の初期化動作のタイミングチャート図である。
【図５】本実施の形態において初期化回路として一時的に構築された初期化カウンタの構成例を示す図である。
【図６】本実施の形態における初期化回路の構築を説明する図である。
【図７】本実施の形態におけるプロセッサエレメントネットワークＮＥＴの構成例を示す図である。
【図８】本実施の形態における通常動作でのコンフィグレーションデータにより構築された回路状態例を示す図である。
【図９】本実施の形態における通常動作でのコンフィグレーションデータにより構築された回路状態例を示す図である。
【符号の説明】
【００５６】
１０：リコンフィグ回路ユニット        １１：コンフィグレーション制御部
１３：コンフィグレーションレジスタ    ＰＥ１〜６：プロセッサエレメント
ＣＤ：コンフィグレーションデータ      ＥＲＳＴ：外部リセット解除信号
ＩＲＳＴ：内部リセット解除信号
【図１】
0004675714.tif 000002
【図２】
0004675714.tif 000003
【図３】
0004675714.tif 000004
【図４】
0004675714.tif 000005
【図５】
0004675714.tif 000006
【図６】
0004675714.tif 000007
【図７】
0004675714.tif 000008
【図８】
0004675714.tif 000009
【図９】
0004675714.tif 000010