(57)【特許請求の範囲】
【請求項１】
マトリクス状に配置された複数の論理ブロックを有するプログラマブル論理回路上に再構成する回路を構成するための第１の情報と、再構成しない回路を構成するための第２の情報とを含んだ回路情報を記憶し、該記憶した回路情報に基づいて、前記第１の情報に対応する回路を前記プログラマブル論理回路の１以上の論理ブロック列で構成された列領域又は１以上の論理ブロック行で構成された行領域にまとめて構成するとともに、前記第２の情報に対応する回路を前記第１の情報に対応する回路に隣接した領域に構成することを特徴とするプログラマブル論理回路の再構成方法。
【請求項２】
前記記憶した複数の回路情報を再利用される頻度が高い順に特定の列領域又は特定の行領域にまとめて再配置することを特徴とする請求項１記載のプログラマブル論理回路の再構成方法。
【請求項３】
マトリクス状に配置された複数の論理ブロックを有するプログラマブル論理回路と、
前記プログラマブル論理回路上に再構成する回路を構成するための第１の情報と、再構成しない回路を構成するための第２の情報とを含んだ回路情報を記憶する記憶手段と、
前記記憶手段に記憶された回路情報に基づいて、前記第１の情報に対応する回路を前記プログラマブル論理回路の１以上の論理ブロック列で構成された列領域又は１以上の論理ブロック行で構成された行領域にまとめて構成するとともに、前記第２の情報に対応する回路を前記第１の情報に対応する回路に隣接した領域に構成する構成手段と
を具備することを特徴とするプログラマブル論理回路の再構成システム。
【請求項４】
前記記憶手段に記憶された複数の回路情報を再利用される頻度が高い順に特定の列領域又は特定の行領域にまとめて再配置する再配置手投をさらに具備することを特徴とする請求項３記載のプログラマブル論理回路の再構成システム。
【請求項５】
前記構成手段は、
前記記憶手段に記憶された複数の回路情報の各々の第１の情報に対応する回路を前記列領域にまとめて構成する場合には、該構成する回路を同一の列領域に構成し、
前記記憶手段に記憶された複数の回路情報の各々の第１の情報に対応する回路を前記行領域にまとめて構成する場合には、該構成する回路を同一の行領域に構成する
ことを特徴とする請求項３記載のプログラマブル論理回路の再構成システム。
【請求項６】
前記記憶手段は、
ネットワークを介して前記プログラマブル論理回路および前記構成手段と接続されることを特徴とする請求項３記載のプログラマブル論理回路の再構成システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、プログラマブル論理回路の再構成方法、プログラマブル論理回路の再構成システムに関し、特に、プログラマブル論理回路を効率よく利用するプログラマブル論理回路の再構成方法、プログラマブル論理回路の再構成システムに関する。
【０００２】
【従来の技術】
デジタル回路装置の分野において、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）やプログラマブルロジックデバイス（ＰＬＤ）等のプログラマブル論理回路が、特定用途向け集積回路（ＡＳＩＣ）を作成する前の試作デバイスとして、または、数週間から数ヶ月という長い作製期間を要するＡＳＩＣの代替デバイスとして広く用いられている。
【０００３】
また、最近では、回路構成を変更できるというプログラマブル論理回路の特徴を生かして、回路装置作成後でも、仕様を変更や回路欠陥の修正等を可能とするためにプログラマブル論理回路が用いられている。
【０００４】
ところで、最近の論理回路は複雑さが増し、一つのプログラマブル論理回路では実現できない規模にまで回路規模が大きくなっている。この問題を解決するための一つの技術として、異なる時間に異なる論理回路を実現するために、プログラマブル論理回路を処理の途中で再構成する技術が提案されている。そして、この技術を適用することにより、携帯情報端末のように装置が小型であるため、内蔵できる回路規模に制約がある場合でも、様々な処理を比較的高速に行うことができるようになっている。
【０００５】
しかしながら、この技術では、論理回路を再構成する際に回路全体の回路情報を再度読み込ませる必要があるため、再構成に時間がかかる、という問題点があった。更に、処理の途中で論理回路を再構成するためには、処理を一時中断し、その時点のデータをプログラマブル論理回路の外部の記憶装置に待避させ、新たな回路情報を読み込んで論理回路を再構成した後に、再構成前のデータと再構成に伴う新しいデータを入力するといった余分な処理が必要となる。
【０００６】
この問蓮を解決するために、米国アトメル社の「CONFIGURABLE LPGIC」という名のデータブックに記載されているプログラマブル論理回路、および米国ザイリンクス社の「THE PROGRAMMABLE LOGIC」という名のデータブックに記載されているプログラマブル論理回路では、データを記憶するためのデータ記憶装置を備えておき、回路の動作中でも外部の記憶装置から回路情報の一部を読み込んで部分的に論理回路を再構成することで、再構成するために要する時間を最小限に留めている。
【０００７】
このようなプログラマブル論理回路を用いることにより、大規模な処理回路を時分割し、回路規模の小さなプログラマブル論理回路に再構成しながら処理を行うことで、その回路規模以上の回路を実現でき、回路装置の小型化及び低コスト化が可能となる。
【０００８】
しかしながら、動作中に部分的に再構成可能なプログラマブル論理回路においても、書き込む回路情報の規模や書き込み頻度によっては、処理全体における回路再構成時間が長くなり、処理性能が低下するという問題点があった。
【０００９】
この問題点の解決手法の一例として、「スケルトン回路技術」とよばれる回路設計技術がある。「スケルトン回路」とは、プログラマブル論理回路を再構成する際の、先に構成された回路と、後に構成する回路の共通部分である。すなわち、初めにスケルトン回路をプログラマブル論理回路上に構成しておき、このスケルトン回路に対して次に構成する回路との差分回路を構成することにより、最小の回路情報で新たな回路を構成することができ、回路の再構成時間を短縮することができる。
【００１０】
スケルトン回路技術の一例としては、FCCM'96の"Assessing Document Relevance with Run-time Reconfigurable Machines"で示されているテキスト検索装置が挙げられる。
【００１１】
【発明が解決しようとする課題】
しかしながら、上述したスケルトン回路技術では、差分回路がプログラマブル論理回路上に２次元的に点在する場合には、論理回路の再構成に要する時間が長くなるという問題点があった。
【００１２】
一般に、プログラマブル論理回路における回路再構成単位は、列単位又は行単位とされており、差分回路がプログラマブル論理回路上に２次元的に点在する際には、回路再構成単位の中で回路を変更する論理セルの比率が低下するとともに、再構成単位数が多くなる。そのため、論理回路の再構成に要する時間が長くなる。
【００１３】
例えば、ザイリンクス社のVirtexシリーズのＦＰＧＡでは、２次元に配列された論理セル（CLB:Configurable Logic Block）のうちColumn（列）単位で論理セルをまとめて再構成するため、Column単位に再構成する論理セルが集中している場合は、少ない回路情報単位で回路再構成ができ再構成時間を短縮することが可能であるが、差分回路がプログラマブル論理回路上に２次元的に点在する場合には、回路再構成単位の中で回路を変更する論理セルの比率は低下し、かつ再構成単位が多くなるため、再構成時間が長くなる。
【００１４】
そこで、この発明は、プログラマブル論理回路の再構成に要する時間を短縮し、効率よく処理を行うことのできるプログラマブル論理回路の再構成方法、プログラマブル論理回路の再構成システムを提供することを目的とする。
【００１５】
【課題を解決するための手段】
上述した目的を達成するため、請求項１の発明は、マトリクス状に配置された複数の論理ブロックを有するプログラマブル論理回路上に再構成する回路を構成するための第１の情報と、再構成しない回路を構成するための第２の情報とを含んだ回路情報を記憶し、該記憶した回路情報に基づいて、前記第１の情報に対応する回路を前記プログラマブル論理回路の１以上の論理ブロック列で構成された列領域又は１以上の論理ブロック行で構成された行領域にまとめて構成するとともに、前記第２の情報に対応する回路を前記第１の情報に対応する回路に隣接した領域に構成することを特徴とする。
【００１６】
また、請求項２の発明は、請求項１の発明において、前記記憶した複数の回路情報を再利用される頻度が高い順に特定の列領域又は特定の行領域にまとめて再配置することを特徴とする。
【００１７】
また、請求項３の発明は、マトリクス状に配置された複数の論理ブロックを有するプログラマブル論理回路と、前記プログラマブル論理回路上に再構成する回路を構成するための第１の情報と、再構成しない回路を構成するための第２の情報とを含んだ回路情報を記憶する記憶手段と、前記記憶手段に記憶された回路情報に基づいて、前記第１の情報に対応する回路を前記プログラマブル論理回路の１以上の論理ブロック列で構成された列領域又は１以上の論理ブロック行で構成された行領域にまとめて構成するとともに、前記第２の情報に対応する回路を前記第１の情報に対応する回路に隣接した領域に構成する構成手段とを具備することを特徴とする。
【００１８】
また、請求項４の発明は、請求項３の発明において、前記記憶手段に記憶された複数の回路情報を再利用される頻度が高い順に特定の列領域又は特定の行領域にまとめて再配置する再配置手投をさらに具備することを特徴とする。
【００１９】
また、請求項５の発明は、請求項３の発明において、前記構成手段は、前記記憶手段に記憶された複数の回路情報の各々の第１の情報に対応する回路を前記列領域にまとめて構成する場合には、該構成する回路を同一の列領域に構成し、前記記憶手段に記憶された複数の回路情報の各々の第１の情報に対応する回路を前記行領域にまとめて構成する場合には、該構成する回路を同一の行領域に構成することを特徴とする。
【００２０】
また、請求項６の発明は、請求項３の発明において、前記記憶手段は、ネットワークを介して前記プログラマブル論理回路および前記構成手段と接続されることを特徴とする。
【００２１】
【発明の実施の形態】
以下、この発明に係るプログラマブル論理回路の再構成方法、プログラマブル論理回路の再構成システムの一実施の形態について、添付図面を参照して詳細に説明する。
【００２２】
図１は、この発明を適用した情報処理システムの構成を示すブロック図である。
同図に示すように、情報処理システム１０は、情報処理システム１０全体の同さを司るＣＰＵ（中央演算処理装置）１１と、メモリコントローラやバスブリッジ等の機能を有するチップセット１２、アプリケーションプログラムや各種制御プログラム等を実行する際のワークエリア等として用いられるＤＲＡＭ（Dynamic Random Access Memory）で構成されたメインメモリ１３、アプリケーションプログラムや回路モジュール情報等を記憶するためのハードディスクドライブ２２、プログラマブル論理回路２４を具備して構成される。
【００２３】
ＣＰＵ１１のホストバス１４には、チップセット１２に含まれるメモリコントローラを介してメインメモリ１３が接続されている。また、ＣＰＵ１１はチップセット１２を介してＰＣＩバス１５に接続されている。
【００２４】
ＰＣＩバス１５には、ハードディスクドライブ２２とプログラマブル論理回路２４が、各々ハードディスクインターフェース２１とプログラマブル論理回路インターフェース２３を介して接続されている。
【００２５】
また、ＰＣＩバス１５は、記憶装置３１ａ、３１ｂ、３１ｃ等が接続されたネットワーク３０に通信インターフェース２５を介して接続されている。
【００２６】
したがって、ＣＰＵ１１は、ホストバス１４、チップセット１２、ＰＣＩバス１５、通信インターフェース２５を介して、ネットワーク３０上に接続されている記憶装置３１ａ、３１ｂ、３１ｃ等の各種装置との間で各種情報の授受を行うことができる。
【００２７】
図２は、プログラマブル論理回路２４の平面構造を示した図であり、図３は、プログラマブル論理回路２４の内部構造を示すブロック図である。
【００２８】
図２および図３に示すように、プログラマブル論理回路２４は、回路モジュール情報を格納するためのコンフィギュレーションメモリ４４（図２では図示省略）と、マトリクス配線された論理セル４０や配線領域４１等からなる回路素子４３、入出力端子４２を具備して構成される。なお、図２および図３においては、符号を一部省略している。
【００２９】
コンフィギュレーションメモリ４４は、ＥＥＰＲＯＭ（Electrically Erasable and Progurammable Read Only Memory）、ＳＲＡＭ（Static Random Access Memory）等の書き換え可能なメモリ素子で構成されている。
【００３０】
一方、回路モジュール情報は、アドレスとデータの対で構成された複数の回路情報によって構成される。プログラマブル論理回路２４のコンフィギュレーションメモリ４４に上記アドレスを与えて、そのアドレスに対応するメモリセルに当該アドレスと対になったデータが格納されると、そのデータにしたがって、論理セル４０内の回路構成や、論理セル４０と入出力端子４２を相互に接続する配線領域４１の接続状態が再構成される。
【００３１】
プログラマブル論理回路２４の回路再構成の単位は、２次元に配置された論理セル４０のうち、列方向にまとめた論理セル単位で一つの再構成回路情報を構成しており、全ての列に対して回路モジュール情報をコンフィギュレーションメモリに書き込むことで、プログラマブル論理回路２４の全面を再構成することができると共に、一部の列に対してのみ回路モジュール情報をコンフィギュレーションメモリ４４に書き込むことで、プログラマブル論理回路２４が動作中であっても、回路を部分的に再構成することができる。
【００３２】
このようにしてプログラマブル論理回路２４に再構成された回路素子４３に対し、入出力端子４２を介して処理すべきデータが入力されると共に、その処理結果が入出力端子４２を介して出力される。
【００３３】
一方、ハードディスクドライブ２２に記憶されているアプリケーションプログラムは、メインメモリ１３にロードされた後、ＣＰＵ１１によって実行される。上述の回路モジュール情報は、実行中のアプリケーションプログラムにおけるコマンドに応じて呼び出され、必要に応じてプログラマブル論理回路２４のコンフィギュレーションメモリ４４にロードされて、ハードウェア処理が行われる。
【００３４】
図４は、回路モジュール情報の構成を示した図である。
同図に示すように、この回路モジュール情報は、予めプログラマブル論理回路２４に構成すべき先行ベース回路の回路情報と、該先行ベース回路に付加することによって各々異なる各種機能を実現することができる差分回路Ａ、Ｂ、Ｃの各々の回路情報により構成されている。
【００３５】
次に、図５を参照して、情報処理システム１０の動作を説明する。
図５は、ハードディスクドライブ２２に記憶されているアプリケーションプログラムを実行する際に、ＣＰＵ１１によって実行される処理の流れを示すフローチャートである。
【００３６】
なお、ここでは、アプリケーションプログラムで使用される回路モジュール毎の回路モジュール情報（図４も参照）がハードディスクドライブ２２の所定領域に予め記憶されていることを前提に説明する。
【００３７】
まず、ハードディスクドライブ２２からアプリケーションプログラムで使用される全ての回路モジュールに対応する回路モジュール情報を読み出す（ステップ１０１）。続いて、読み出した各回路モジュール情報における先行ベース回路の回路情報に対応する先行ベース回路と、差分回路の回路情報のうち、何れか一つの回路情報に対応する差分回路のプログラマブル論理回路２４上の配置位置を導出する（ステップ１０２）。
【００３８】
なお、この実施の形態においては、図６に示すように、各回路モジュール情報の各々について、差分回路の回路情報の何れか一つに対応する差分回路をプログラマブル論理回路２４の１以上の論理セルで構成された機能変更依存領域５１に配置し、先行ベース回路の回路情報に対応する先行ベース回路を機能変更依存領域５１以外の領域である機能変更非依存領域５２に配置するように配置位置を導出する。また、このとき、各回路モジュール情報の各々の差分回路を配置する機能変更依存領域５１のうちの複数が、プログラマブル論理回路２４の同一列に配列されるように各回路の配置位置を導出する。
【００３９】
次に、導出した配置位置にしたがってプログラマブル論理回路２４に対して各回路モジュール情報毎に先行ベース回路の回路情報と何れかの差分回路の回路情報を出力することにより、プログラマブル論理回路２４に各回路モジュール情報が示す先行ベース回路と何れかの差分回路とを構成する（ステップ１０３）。
【００４０】
その結果、プログラマブル論理回路２４上には、図６に示すように複数（同図では４個）の回路モジュール５３（５３ａ、５３ｂ、５３ｃ、５３ｄ）が配置される。各回路モジュール５３は、各々機能変更依存領域５１と、機能変更非依存領域５２に２分されており、各回路モジュール５３の中の回路素子のうち、機能変更に関わる回路素子（機能変更の際に再構成される回路、すなわち差分回路に含まれる回路素子）は全て機能変更依存頚城５１に配置されている。この例では、回路モジュール５３の形状は矩形であり、機能変更依存領域５１は、該矩形の左端側の規定列分と定められる。また、各回路モジュールの原点座標は対応する矩形領域の左下隅と定められる。
【００４１】
更に、同図に示す例では、各々２個ずつの回路モジュール群に分けられ、各回路モジュール群に含まれる機能変更依存領域５１が同一列に位置するように各回路モジュール５３が配置されている。
【００４２】
さて、ＣＰＵ１１によって実行される処理は、実行中のアプリケーションプログラムの次に実行すべきコマンドがハード処理コマンド、すなわち、プログラマブル論理回路２４を用いたハード処理によって実行されるコマンドであるか否かを判定し（ステップ１０４）、ハード処理コマンドでない場合は（ステップ１０４でＮＯ）、ソフト処理コマンドであるものと見なして、当該コマンドをソフトウェアで実行する（ステップ１０５）。
【００４３】
一方、ステップ１０４でハード処理コマンドであると判定された場合には（ステップ１０４でＹＥＳ）、ハード処理コマンドによる処理がプログラマブル論理回路２４の処理機能を変更する必要がある処理か否かを判定し（ステップ１０６）、処理機能を変更する必要がある処理である場合は（ステップ１０６でＹＥＳ）、処理機能の変更に対応する回路モジュール情報の差分回路の回路情報をプログラマブル論理回路２４に出力することによって対応する機能変更依存領域５１の回路を再構成する（ステップ１０７）。また、ステップ１０６においてハード処理コマンドによる処理がプログラマブル論理回路２４の処理機能を変更する必要がない処理であると判定された場合には（ステップ１０６でＮＯ）、ステップ１０７の処理を実行することはない。
【００４４】
その後、処理すべきデータをプログラマブル論理回路２４に入出力端子４２を介して出力する（ステップ１０８）。すると、プログラマブル論理回路２４は、入力された処理すべきデータに対してプログラマブル論理回路２４に構成された回路による処理を実施し、これによって得られたデータを入出力端子４２を介して出力する。
【００４５】
そこで、ＣＰＵ１１による処理では、プログラマブル論理回路２４から出力されるデータの入力待ちを行い（ステップ１０９でＮＯ）、データが入力されると（ステップ１０９でＹＥＳ）、当該アプリケーションプログラムの全てのコマンドの処理が終了したか否かを判定する（ステップ１１０）。その結果、全てのコマンドが終了していない場合は（ステップ１１０でＮＯ）、ステップ１０４へ戻り、同様の処理を繰り返す。そして、全てのコマンドが終了した時点で（ステップ１１０でＹＥＳ）、本処理を終了する。
【００４６】
次に、図７を参照して、回路モジュールの再配置の処理について説明する。
図７は、回路モジュールの再配置処理の流れを示すフローチャートである。
【００４７】
プログラマブル論理回路２４上に構成された複数の回路モジュール５３には、固有のモジュール名が与えられており、ＣＰＵ１１では使用した回路モジュールの使用頻度をモニタしている。そして、アプリケーションプログラムがプログラマブル論理回路２４の回路モジュール５３を使用するたぴに、その頻度を図８に示すようなＣＰＵ１１において生成された使用頻度テーブルに累積していく（ステップ２０１）。
【００４８】
そして、一定時間が経過した後、使用頻度テーブルに基づき頻度の高い順に回路モジュール名のソートを行う（ステップ２０２）。
【００４９】
次に、ソートを行った結果に基づき、頻度の高い順から回路モジュール５３のアドレス再計算を行う（ステップ２０３）。この際、機能変更依存領域５１が同一列に配置されるように配置基準列を固定し、行方向にアドレスシフトするようにアドレス再計算を行う。
【００５０】
そのため、回路モジュール５３が同一列に配置可能か否かを判定し（ステップ２０４）、配置可能な場合は（ステップ２０４でＹＥＳ）、計算した回路モジュール５３のアドレスを新アドレスとして決定する（ステップ２０５）。
【００５１】
一方、同一列に配置不可能と判断された場合（ステップ２０４でＮＯ）、すでに新アドレスが決定した回路モジュールに重ならない位置となる別の列を新規に機能変更依存領域５１を配置する列として再計算し（ステップ２０６）、回路モジュール５３の新アドレスを決定する（ステップ２０５）。
【００５２】
そして、再配置処理する回路モジュール５３がまだあるか否かを判定し（ステップ２０７）、存在する場合には（ステップ２０７でＮＯ）、ステップ２０４に戻り、同様の処理を繰り返し、存在しない場合には（ステップ２０７でＹＥＳ）、全ての回路モジュール５３の回路情報を更新し（ステップ２０８）、再配置処理を終了する。
【００５３】
なお、図９は、図６に示した例に対し、図８に示すような使用頻度テーブルが生成されたときの再配置の結果を示したものである。
【００５４】
次に、プログラマブル論理回路２４に対する回路モジュール５３の構成手順を具体的な回路を例示して説明する。
【００５５】
ここでは、従来より各種演算や信号処理で多用されている加算回路、減算回路、アキュムレータの３つの機能を実現する場合について説明する。
【００５６】
図１０は、加算回路、滅算回路、アキュムレータの３つの機能を有する回路の構成例を示したものである。
【００５７】
同図に示すように、この回路は、加算器６０、２補数生成ルックアップテーブル（以下、補数ＬＵＴと称する）６１、２入力のセレクタ６２、ラッチ６３、６４、セレクタ設定セル６５を具備して構成される。
【００５８】
この回路を加算回路として構成する場合には、補数ＬＵＴ６１を入力信号を変換せずにそのまま出力するテーブルデータとして設定する。また、セレクタ６２からは、入力Ｂが出力されるようにセレクタ設定セル６５を設定する。この設定により、入力Ａ及び入力Ｂはそのまま加算器６０に入力され、加算が実行される。
【００５９】
また、この回路を減算回路として構成する場合は、補数ＬＵＴ６１を入力信号に対して常に２の補数を出力するテーブルデータとして設定する。また、セレクタ６２からは入力Ｂが出力されるようにセレクタ設定セル６５を設定する。この設定により、加算器６０には、入力Ａと、入力Ｂの2の補数が入力されるので、実質的に減算が実行されることになる。
【００６０】
さらに、この回路をアキュムレータとして構成する場合は、補数ＬＵＴ６１を入力信号を変換せずにそのまま出力するテーブルデータとして設定し、セレクタ６２からはラッチ６３からの入力が出力されるようにセレクタ設定セル６５を設定する。この設定により、入力Ａが入力されるたぴに、過去の入力Ａの累積との加算が繰り返され、アキュムレータ動作が行われることになる。
【００６１】
図１１は、図１０で示した回路構成をプログラマブル論理回路２４に配置した場合の配置例を示した図である。
【００６２】
図１０に示した回路構成において、再構成の対象となる回路素子は、補数ＬＵＴ６１とセレクタ設定セル６５の２つであリ、図１１に示す例では、補数ＬＵＴ６１とセレクタ設定セル６５の双方ともを当該回路領域内の機能変更依存領域５１である左端の一列に配置する。
【００６３】
なお、この実施の形態では、機能変更依存領域５１を矩形状の回路モジュール領域における左端に位置する領域とした場合について説明したが、この発明はこれに限定されるものではなく、例えば、回路モジュール領域における右端に位置する領域とする形態とすることもできるし、回路モジュール領域における左端と右端の間の中央に位置する領域とする形態とすることもできる。この場合も、この実施の形態と同様の効果を奏することができる。
【００６４】
また、この実施の形態では、この発明に係るプログラマブル論理回路として列毎に回路構成を変更することができるものを適用した場合について説明したが、この発明はこれに限定されるものではなく、行毎に回路構成を変更することができるプログラマブル論理回路を適用する形態とすることもできる。この場合には、機能変更依存領域に配置すべき複数の回路モジュールの回路情報の各々に対応する回路が当該プログラマブル論理回路の同一行に複数並ぶように配置すればよい。この場合の同一行も、矩形状の回路モジュールの上端、下端、上端と下端に挟まれた中央の何れの行も適用可能である。そして、この場合も、この実施の形態と同様の効果を奏することができる。
【００６５】
また、この実施の形態では、この発明の記憶手段として、ＰＣＩバス１５に接続されたハードディスクドライブ２２を適用した場合について説明したが、この発明はこれに限定されるものではなく、例えば、図１におけるネットワーク３０に接続された記憶装置３１ａ、３１ｂ、３１ｃの何れかをこの発明の記憶手段として適用する形態とすることもできる。この場合は、ネットワーク接続された記憶装置から回路モジュール情報を取得できるので、情報処理システム１０の融通性が向上する。
【００６６】
【発明の効果】
以上説明したように、この発明によれば、マトリクス状に配置された複数の論理ブロックを有するプログラマブル論理回路上に再構成する回路を構成するための第１の情報と再構成しない回路を構成するための第２の情報とを含んだ回路情報を記憶しておき、この回路情報に基づいて、第１の情報に対応する回路をプログラマブル論理回路の１以上の論理ブロック列で構成された列領域又は１以上の論理ブロック行で構成された行領域にまとめて構成し、かつ複数の回路情報が再利用される頗度が高い順に特定の列額域又は特定の行領域にまとめて再配置しているので、回路再構成単位の中で回路を変更する論理ブロックの比率が向上するとともに、再構成単位を少なくすることができ、プログラマブル論理回路に対する回路の再構成時間を短縮できる。
【図面の簡単な説明】
【図１】この発明を適用した情報処理システムの構成を示すブロック図である。
【図２】プログラマブル論理回路２４の平面構造を示した図である。
【図３】プログラマブル論理回路２４の内部構造を示すブロック図である。
【図４】回路モジュール情報の構成を示した図である。
【図５】ハードディスクドライブ２２に記憶されているアプリケーションプログラムを実行する際に、ＣＰＵ１１によって実行される処理の流れを示すフローチャートである。
【図６】プログラマブル論理回路２４上に構成された複数の回路モジュール５３の配置状態を示す概念図である。
【図７】回路モジュールの再配置処理の流れを示すフローチャートである。
【図８】使用頻度テーブルの構成例を示した図である。
【図９】図６に示した例に対し、図８に示すような使用頻度テーブルが生成されたときの再配置の結果を示したものである。
【図１０】加算回路、滅算回路、アキュムレータの３つの機能を有する回路の構成例を示したものである。
【図１１】図１０で示した回路構成をプログラマブル論理回路２４に配置した場合の配置例を示した図である。
【符号の説明】
１０    情報処理システム
１１    ＣＰＵ
１２    チップセット
１３    メインメモリ
１４    ホストバス
１５    ＰＣＩバス
２１    ハードディスクインターフェース
２２    ハードディスクドライブ
２３    プログラマブル論理回路インターフェース
２４    プログラマブル論理回路
２５    通信インターフェース
３０    ネットワーク
３１ａ、３１ｂ、３１ｃ    記憶装置
４０    論理セル
４１    配線領域
４２    入出力端子
４３    回路素子
４４    コンフィギュレーションメモリ
５１    機能変更依存領域
５２    機能変更非依存領域
５３、５３ａ５３ｂ、５３ｃ、５３ｄ    回路モジュール
６０    加算器
６１    ２補数生成ルックアップテーブル（補数ＬＵＴ）
６２    ２入力のセレクタ
６３、６４    ラッチ
６５    セレクタ設定セル
【図１】
0004123723.tif 000002
【図２】
0004123723.tif 000003
【図３】
0004123723.tif 000004
【図４】
0004123723.tif 000005
【図５】
0004123723.tif 000006
【図６】
0004123723.tif 000007
【図７】
0004123723.tif 000008
【図８】
0004123723.tif 000009
【図９】
0004123723.tif 000010
【図１０】
0004123723.tif 000011
【図１１】
0004123723.tif 000012