(57)【特許請求の範囲】
【請求項１】
予め命令の実行機能を組込んだ組込み機能処理部と、該組込み機能処理部に入力および出力される組込み機能用通信路と、該組込み機能処理部からの指定により機能または記憶を決定する一般情報処理部と、該一般情報処理部に入力および出力される一般情報用通信路とを持つセルを、メッシュ状に複数個配置し、かつ上記組込み機能用通信路および一般情報用通信路により該セルを相互に接続してＬＳＩを構成し、
各セル内の該組込み機能処理部は、組込み機能用通信路から入力される命令と該組込み機能処理部の状態に応じて、該一般情報処理部の機能を指定、あるいは記憶を指定し、
自セルに対する命令は自身で消費し、以後の命令をそのままあるいは加工して隣接セルに伝達することにより、各セルの一般情報処理部と一般情報用通信路を任意の論理回路として構成することを特徴とする論理回路の動的な構成方法。
【請求項２】
請求項１に記載の論理回路の動的な構成方法において、
組込み機能処理部への命令を発行する機能をもつ論理回路として動的に構成された前記一般情報処理部が、組込み機能処理部に命令を発行することにより、他のセルに含まれる一般情報処理部の機能または記憶を指定し、任意の論理回路として動的に構成することを特徴とする論理回路の動的な構成方法。
【請求項３】
請求項１または２に記載の論理回路の動的な構成方法において、
組込み機能処理部への命令を発行する機能をもつ論理回路として動的に構成された前記一般情報処理部が、組込み機能処理部の状態を操作して形成した命令伝達経路を介して、論理回路として動的に構成された他の一般情報処理部にメッセージを伝達することを特徴とする論理回路の動的な構成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、セルラ・オートマトンと再構成可能布線論理素子とを組み合わせて、並列かつ動的な論理回路を任意に構成することが可能な論理回路の動的な構成方法に関する。
【０００２】
【従来の技術】
従来より、再構成可能布線論理素子（ＦＰＧＡ：Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）とセルラ・オートマトンの技術（例えば、共立出版１９９１年発行『超並列計算機アーキテクチャとそのアルゴリズム』第３章セルラ計算機、参照）が、それぞれ別個に知られている。
【０００３】
【発明が解決しようとする課題】
しかしながら、従来の再構成可能布線論理素子の大部分は、動作中の機能変更を想定していない。動作中の機能変更を許すものでも、個々のセルの機能を決定する全ての記憶に一次元のアドレスを振って外部からはメモリとみなす方法を採用しており、内部の布線論理による並列性とメモリアクセスによる逐次構成処理とのギャップが大きい。一方、セルラ・オートマトンによる並列処理は問題毎にセルラ・オートマトンの機能が設計され、かつセルは均質であることが前提であるため、設計、製造ともに困難が伴い、学問としては高度な発展を見ながらも、実用にはほど遠いのが現状である。
本発明の目的は、このような従来の課題を解決し、セルラ・オートマトンと再構成可能布線論理素子を組合わせることにより、並列かつ動的な論理回路を実現することが可能な論理回路の動的な構成方法を提供することにある。
【０００４】
【課題を解決するための手段】
上記目的を達成するため、本発明による論理回路の動的な構成方法では、予め命令の実行機能を組込んだ組込み機能処理部と、該組込み機能処理部に入力および出力される組込み機能用通信路と、該組込み機能処理部からの指定により機能または記憶を決定する一般情報処理部と、該一般情報処理部に入力および出力される一般情報用通信路とを持つセルを、メッシュ状に複数個配置し、かつ上記組込み機能用通信路および一般情報用通信路により該セルを相互に接続してＬＳＩを構成し、各セル内の該組込み機能処理部は、組込み機能用通信路から入力される命令と該組込み機能処理部の状態に応じて、該一般情報処理部の機能を指定、あるいは記憶を指定し、自セルに対する命令は自身で消費し、以後の命令をそのままあるいは加工して隣接セルに伝達することにより、各セルの一般情報処理部と一般情報用通信路を任意の論理回路として構成する。
また、組込み機能処理部への命令を発行する機能をもつ論理回路として動的に構成された前記一般情報処理部が、組込み機能処理部に命令を発行することにより、他のセルに含まれる一般情報処理部の機能または記憶を指定し、任意の論理回路として動的に構成する。
また、組込み機能処理部への命令を発行する機能をもつ論理回路として動的に構成された前記一般情報処理部が、組込み機能処理部の状態を操作して形成した命令伝達経路を介して、論理回路として動的に構成された他の一般情報処理部にメッセージを伝達する。
【０００５】
【発明の実施の形態】
以下、本発明の実施例を、図面により詳細に説明する。
図１は、本発明の一実施例を示す論理回路の動的な構成方法の基本構成図であって、図１（ａ）は基本単位（セル）の構成を示し、図１（ｂ）は全体の構成を示している。
図１（ａ）の基本単位の構成に示すように、ＦＰＧＡまたはセルラ・オートマトンのセルを、いわば本能的な役割を担う部分（組込み機能処理部）１１と本能からの指示によって機能や記憶が決定される部分（一般情報処理部）１２の２つの部分から構成されるようにして、任意の情報処理システムを構成できるようにしている。一般情報処理部１２は、さらに記憶部分１３と機能部分１４とに分割される。そして、一般情報処理部１２に接続される入力および出力用の一般情報処理用通信路１５と、組込み機能処理部１１に接続される入力および出力用の組込み機能用通信路１６とが配置されている。
図１（ｂ）は、図１（ａ）の基本単位を複数個集合することにより構成された各種のＬＳＩシステムである。ここでは、基本単位１０Ａ，１０Ｂ，１０Ｃ，１０Ｄがメッシュ状に配列され、組込み機能用通信路１６と一般情報処理用通信路１５とがこれら複数個の基本セルを貫通して接続される。
【０００６】
図２は、セルの機能を説明するための概念図である。
組込み機能内入力通信路１６ａから入力される命令は、組込み機能処理部１１により解釈され、その結果により、予め用意された一般情報処理機能１２の１つが選択されて一般情報用通信路１５に接続される。ここでは、組込み機能用入力通信路１６ａから入力された命令を組込み機能処理部１１が解釈することにより、一般情報処理部１２に対して選択、書込みを行い、それにより一般情報用入力通信路１５ａから入力されたデータを選択された機能部分１４ａ〜１４ｅの１つが受け取り、機能を動作してその出力を一般情報用出力通信路１５ｂから送出する。また、処理の結果により機能部分１４から組込み機能処理部１１に対して命令を送出する場合もある。
【０００７】
図３は、一般情報処理部の要素機能を示す図である。
予め用意される一般情報処理機能１２は、図３に示すような単なる結線（２１，２２，２３）、レジスタ（２４）、論理ゲート（２５，２６，２７，２８）、比較交換スイッチ（２９）等である。レジスタ２４のように記憶を持つ要素に対しては、組込み機能処理部１１は単に選択するだけでなく、値を書込むこともできる。セルがメッシュ状に配置されているために、結果として任意の論理回路を構成することができる。
図４は、一般情報処理部の一構成例を示す図である。
論理ゲートは真理値表を表わすメモリとして構成することも可能であり、その場合には図４に示すように、予め用意した回路から選ぶのではなく、真理値表であるメモリ３１へ値を設定することにより、機能を設定できる。任意の２入力論理関数と任意の接続を表現できる例を、図４に示した。ここで、メモリ３１はアドレス２ビット、データ１ビットのメモリであり、任意の２入力論理関数を表わすことができる。このメモリ３１には、４ビットの記憶が対応する。黒丸３３は接続を表し、白丸３１，３２は接続するか否かを設定できることを表す。白丸３１，３２には１ビットの記憶が対応する。この例では、メモリ３１の４ビットと白丸１８ビットの合計数の２２ビットの記憶が必要となる。この２２ビットの値を何か意味のあるものに設定することにより、この例の場合の一般情報処理部３０の機能が設定される。
２２ビットの記憶を用いて高々２入力の論理関数を構成し、さらにこれらを組合わせて論理回路としての記憶を表現するのではなく、直接、この２２ビットを論理回路中の記憶として扱えるようにしたものが先に示したレジスタに相当する。
【０００８】
図５は、本発明の第２の実施例を示すもので、メッセージ・パッシングの経路を示す命令とその動作を説明する図である。
図５では、１１１２３３４ＸＸ０の命令を順次、経路となる６個のセルを通してメッセージ・パッシングを行う場合を示している。本実施例では、主に組込み機能処理の内容の一部を説明する。全てのセルは、最初、初期状態（ａ）にあり、上から命令１を受け取ると（ｂ）、その命令は自身で消費し（ｃ）、以後の命令を下のセルにそのまま転送するように設定される（ｃ）。同様に、命令２では上からの命令を右に（ｉ）、また命令３では左からの命令を右に転送するように設定される（ｋ）。命令４はメッセージ・パッシングのターゲットを指定する。
また、命令０はセルの組込み機能処理部を初期状態に戻す命令である。
このように、セルラ・プログラミングされたセルのメッシュに図のように上から１１１２３３ＸＸ０の命令を注入すると、図に示す経路で順次セルが設定されることが分る。１１１２３３は経路を指定しており、ＸＸは経路で指定されたセルの一般情報処理部を構成するための命令、または既に構成が完了している一般情報処理部に対するデータである。
【０００９】
セルラ・プログラミングによるメッセージ・パッシングではメッセージのサイズが変化することが重要である。この例では、次第に小さくなっていく。動作が完了することは、メッセージのサイズがゼロになることである。このために各セルでは必要に応じて命令を消費、すなわち後続のセルには伝えないようにしなければならない。また、ここでは０とした初期化のための命令は、メッセージ・パッシングに関与した全てのセルを通過し、ターゲットであったセルで消費される。
なお、この例では、命令列は順次送られて止らない。しかし、途中のセルで命令が挿入されるような場合には、後続の命令列は止って待っている必要がある。全てセルを前方のセルが空となっている時に限って命令を送るようにすることで、命令列を止めるようにすることができる。この場合には、止まれない命令列のスピードの半分になる。
【００１０】
図６は、本発明の第３の実施例を示すもので、フルアダーを構成する方法を説明する図である。
図６（ａ）では、１１個のセルをフルアダーとして構成する場合を示している。第２の実施例の方法により、１１個のセルをそれぞれ図３のように構成すれば、全体としてフルアダーとなる。なお、連続したセルの構成の方法を工夫することにより、構成に必要なステップを削減することも可能である。
図６（ａ）のフルアダーでは、下記計算式を表わしている。
Ｓ＝ＡＸＢＸＣＩ、ＣＯ＝（Ａ＆Ｂ）／（Ｂ＆ＣＩ）／（ＣＩ＆Ａ）・・・・・・・・・・・・・（１）
なお、ここで＆は論理積、Ｘは排他的論理和、／は論理和を表す。
また、ＣＩが入力する排他的論理和４０の詳細構成を、図６（ｂ）に示している。
【００１１】
図７〜図１０は、本発明の第４の実施例を示すもので、矩形領域探索の全体像、探索に用いる波の動作、深さ一定の時の波の動作、深さの異なる時の波の動作をそれぞれ示している。
先ず、図７には、最大の矩形領域を検出する場合の実施例を示している。本実施例は、一般情報処理部１２を意味のある論理回路として構成するに先立って、どこに構成可能な空きエリアがあるかを探索する場合等に利用できる。図７は、探索の進め方を示すもので、探索開始点７１を左上の頂点とする最大の矩形を検出することを目的として、この例では探索を４回行っている。すなわち、最初の探索７２、２回目の探索７３、３回目の探索７４、最後の探索である。
【００１２】
図８は、探索の概念を示すもので、組込み機能処理部は第１の波を探索開始点８０から右に送り、この波は境界で反射して戻ってくる（８２）。第１の波はセル８１を通過するときに全てのセルで第２の波８４を下に向って送出する。第２の波８４が境界で反射して第２の波の送出したセル８１まで戻ってきたとき、既にそのセル８１を第２の波が通過していなければ右に曲げる。そうでなければ、波８４を止める。このことによって、最も浅いところで反射した波だけを残すことができる。第２の波８４も境界で反射して、探索開始点８３に戻る。このようにして、探索開始点８０には波が２回到達することになり、第１の波８２の経過時刻から横方向の長さが分り、第２の波８３との時間差から縦方向の長さが分る。
【００１３】
図９は、深さ一定の時の波の動作を示すもので、ここでは第２の波は最も浅いところで反射したものだけが残る仕組について述べる。図９のように、高さが同じ部分では、複数の第２の波は重なる。すなわち、セル９１で下方向に送出された波が戻ってきたときに右方向に曲げられるが、次のセル９２で下方向に送出された波が戻ってきたときに右方向に曲げられて、前と同じ第２の波と重なる。
図１０は、深さの異なる時の波の動作を示すもので、最も浅いところで反射した波だけが残る仕組について述べる。図１０のＡの状況では、セルａ１で先に送出された場合でも、深いところで反射した波はセルａ１に戻って時点ではなく、セルａ２の地点で後に送出され、浅いところで反射した波に追い抜かれたことが分る。Ｂの状況では、セルａ３に戻った地点で追い抜かれたことが分る。このようにして、深いところで反射した波は止められてしまい、最も浅いところで反射した第２の波だけとなる。
第１の波のスタート位置を下げて、何回か同様の探索を行うことにより、矩形領域を抽出することができる。
【００１４】
図１１は、本発明の第５の実施例を示すもので、既構成の論理回路のコピーを生成する方法を説明する図である。
論理回路Ａに対して、構成情報取出しの指示とコピーを作る相対位置を表す向き（下下下・・右右・・のような情報）の情報１０１を入れる。既構成のセルは、命令列の最後の部分に順次、自身の構成情報を接続していく。命令列が論理回路Ａを出るときには、向きの情報の後に構成情報がつながったもの１０２となっている。この命令列１０２は、向きの情報によってコピーを作る位置まで送られる。コピーを作る位置では、向きの情報は消費されているので、構成情報１０３だけになっている。構成情報１０３によってコピーが作られる。
構成情報１０３は、一般情報処理部１２の機能を指定する情報と一般情報処理部１２が記憶要素として構成されているときのその値を示す情報からなる。後者は、論理回路の動作に伴って変化するものである。後者だけを取出して、これを図１１に示すような記憶回路１０６に待避できる機能を用意すれば、論理回路の動作を止めて別の用途に利用した後、また同じ種類の論理回路を構成し、これに再び記憶の値を設定して動作を再開することができる。このような仕組により、仮想布線論理と呼ぶことができる構成を実現することが可能となる。
【００１５】
次に、本発明の第６の実施例について説明する。
第４の実施例（図７）と同様に最大の矩形領域を検出する実施例を説明する。第４の実施例では、使用領域のセルに含まれる組込み機能処理部が組込み機能用通信路を介して伝達された命令に対して反射となる命令を送り返している。本実施例では、探索を進めた方向に空き領域が無い場合、一般情報処理部が空き領域の探索に対して応答（反射）する命令を発行することで、構成可能な空きエリアを探索する。なお、探索を進めた方向に空き領域が無い場合としては、例えばタイムアウトや探索先セルから空きセルでないことを通知する特定の命令が隣接したセルの組込み機能処理部から伝達された場合が考えられる。
この方法では、空きセルとなっている一般情報処理部に『探索を進めた方向に空き領域が無い旨の通知を組込み機能処理部から受信した場合、空きセルの探索命令に対して応答する命令を生成する』機能を設定する必要がある。空き領域の一般情報処理部は使用されていないので、このような機能を設定することは一般情報処理部のハード量の増加とはならない。また、隣接したセルが使用状態であることを通知するための命令に比べて、空き領域の検索命令に対して発行する命令（反射）は空きセルの位置情報等を含む必要があり、その命令の生成は複雑な処理を必要とするため、本実施例を用いることで、空き領域の検索命令に対して命令を発行するための組込み機能処理部の機能を削減可能となる。
【００１６】
【発明の効果】
以上説明したように、本発明によれば、セルラ・オートマトンと再構成可能布線論理素子とを組合わせることにより、並列かつ動的な論理回路を任意に構成することが可能になる。また、論理が実現されていない矩形領域を抽出することができる。また、空き領域であることを構成すれば、その探索命令を発行する組込み機能部の削減も可能となる。さらに、ある領域に実現されている論理回路のコピーを別の場所に実現することができ、また一旦、論理回路の実現情報を記憶回路に待避させて、必要に応じて論理回路を実現して動作させることにより、仮想布線論理を構成することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施例を示す論理回路の基本セルおよびシステムの構成図である。
【図２】図１におけるセルの機能を説明するための概念図である。
【図３】図１における一般情報処理部の要素機能を示す図である。
【図４】図１における一般情報処理部の一例を示す構成図である。
【図５】本発明の第２の実施例を示すメッセージ・パッシングの経路を示す命令とその動作の図である。
【図６】本発明の第３の実施例を示すフルアダーを構成する方法の説明図である。
【図７】本発明の第４の実施例を示す矩形領域探索の全体像の図である。
【図８】図７における探索に使用する波の動作を示す図である。
【図９】図７において、深さ一定の時の波の動作を示す図である。
【図１０】図７において、深さの異なる時の波の動作を示す図である。
【図１１】本発明の第５の実施例を示すもので、既構成の論理回路のコピーを生成する方法の説明図である。
【符号の説明】
１０Ａ，１０Ｂ，１０Ｃ，１０Ｄ…セル、１１…組込み機能処理部、
１２…一般情報処理部、１３…記憶部分、１４…機能部分、
１５…一般情報用通信路、１６…組込み機能用通信路、２１〜２３…結線機能、２４…レジスタ機能、２５〜２８…論理ゲート機能、
２９…比較交換スイッチ機能、３１…メモリ、３１，３２…接続設定可能交点、３３…接続交点、３０…一般情報処理部、４０…排他的論理和回路、
７１〜７４…矩形探索軌跡、８１，９１，９２，ａ１，ａ２，ａ３…セル、
８２，８３…探索波、８４…下向け送出波、
１０１…構成情報取り出し指示と向きの情報、１０２…向きの情報と構成情報、１０３…構成情報、１０５…論理回路のコピー、１０６…記憶回路。
【図１】
0003550986.tif 000002
【図２】
0003550986.tif 000003
【図３】
0003550986.tif 000004
【図４】
0003550986.tif 000005
【図５】
0003550986.tif 000006
【図６】
0003550986.tif 000007
【図７】
0003550986.tif 000008
【図８】
0003550986.tif 000009
【図９】
0003550986.tif 000010
【図１０】
0003550986.tif 000011
【図１１】
0003550986.tif 000012