"内部回路の構成を変更可能な半導体集積回路であって、少なくとも1の演算器又は記憶回路を有する複数の機能ブロックと、前記複数の機能ブロックの間を切り替え可能に接続するプログラマブルスイッチとを備え、前記複数の機能ブロックの各々は、前記プログラマブルスイッチと接続される少なくとも1つのデータ入力ポート及び少なくとも1つのデータ出力ポートを有するとともに、前記複数の機能ブロックに含まれる第1の機能ブロックと第2の機能ブロックとの間は、前記プログラマブルスイッチを介さずに接続され、前記第1の機能ブロックは、前記第1の機能ブロックが有する前記第1の演算器の演算結果の一部分を前記第1の機能ブロックの有する第1のダイレクト出力ポートから前記第2の機能ブロックの有する第1のダイレクト入力ポートに入力し、前記第2の機能ブロックは、当該演算結果の一部分を前記第2の機能ブロック有する第1のデータ出力ポートから出力する、半導体集積回路。前記第2の機能ブロックは、前記第2の機能ブロックが有する第2のダイレクト出力ポートから前記第1の機能ブロックが有する第2のダイレクト入力ポートに入力を行い、前記第1の機能ブロックは、前記第2のダイレクト入力ポートからの入力を前記第1の演算器の入力とすることを特徴とする請求項1に記載の半導体集積装置。前記第1の演算器は、演算結果を演算ビット幅未満のデータビット幅に分割し、分割した演算結果を前記第1の機能ブロックが有する第2のデータ出力ポート、前記第1のダイレクト出力ポートからそれぞれ出力することを特徴とする請求項1または請求項2に記載の半導体集積装置。前記第1の演算器は、2以上の入力データの演算を行う多入力演算器であることを特徴とする請求項1乃至請求項3のいずれか1項に記載の半導体集積装置。前記第1の機能ブロックの有する第1のデータ入力ポートから第1の2mビットデータの上位値が入力され、前記第1の機能ブロックの有する第2のデータ入力ポートから第2の2mビットデータの上位値が入力され、前記第2の機能ブロックの有する第3のデータ入力ポートから第1の2mビットデータの下位値が入力され、前記第2の機能ブロックの有する第4のデータ入力ポートから第2の2mビットデータの下位値が入力され、前記第2の機能ブロックは、前記第1及び第2の2mビットデータの下位値を、前記第2のダイレクト出力ポート及び前記第2の機能ブロックの有する第3のダイレクト出力ポートから前記第2のダイレクト入力ポート及び前記第1の機能ブロックが有する第3のダイレクト入力ポートに入力し、前記第1の機能ブロックは、前記第1の演算器を用いて前記第1の2mビットデータの上位値、前記第1の2mビットデータの下位値、前記第2の2mビットデータの上位値、前記第2の2mビットデータの下位値を入力とする2mビット演算を行い、2mビット演算結果の上位mビット及び下位mビットの一方を前記第2のデータ出力ポートから出力するとともに、他方を前記第1のダイレクト出力ポートから前記第1のダイレクト入力ポートに入力することを特徴とする請求項2乃至請求項4のいずれか1項に記載の半導体集積回路。前記第2の機能ブロックは、第2の演算器と、前記第2の演算器の演算結果、前記第1のダイレクト出力ポートから出力され前記第1のダイレクト入力ポートに入力される演算結果、の一方を選択して出力するセレクタと、を備えることを特徴とする請求項1乃至請求項5のいずれか1項に記載の半導体集積回路。上述したアレイ型プロセッサ8等の従来の再構成可能デバイスは、アプリケーションプログラムや処理データの内容によっては、面積及び処理速度の観点から効率の良い回路を実現できない場合がある。一例として、2入力を超える多入力の演算を効率良く実行するために、上述した再構成可能デバイス7の機能ブロック70の入力数を増加させる場合について説明する。図27は、機能ブロック70を4入力の機能ブロックとした場合の例である。図27の機能ブロック70は4入力演算部110を備えている。4入力演算部110には、機能ブロック70の4つの入力ポート104a乃至104dから入力データが供給され、4入力演算部110による演算結果は、機能ブロック70の出力ポート105から出力される。このように機能ブロック70に対する入力数を増加することは、動作速度の向上の点からは有利となる。例えば、2入力の機能ブロックによって4入力セレクタを実現するためには、2入力セレクタを備える3つの機能ブロックが必要となる。機能ブロック間の接続はプログラマブルスイッチを介して行われるため、プログラマブルスイッチ及び配線での信号遅延に起因する動作速度の低下を招いてしまう。これに対して、図27のような4入力の機能ブロックを用いることとすれば、配線遅延の累積による動作速度の低下を回避することができる。しかしながら、従来の再構成可能デバイス7において機能ブロック70の入力ポート数を増加すると、これらに対する入力元を選択するためのプログラマブルスイッチ15及び構成情報メモリ16の規模も増加する結果となる。図27の場合、機能ブロック70の入力ポートが2入力から4入力に増加すると、これに合わせて、入力ポート104a乃至104dに対する入力元を選択するためにプログラマブルスイッチ15が備える入力選択ユニット151の規模は、2入力の場合に比べて2倍になる。さらに、入力選択ユニット151a乃至151dのそれぞれの設定情報を格納する構成情報メモリ16の規模も、2入力の場合に比べて2倍になる。また、mビットを超えるデータの加減算を行う場合も同様である。mビット加減算器を組み合わせてmビットを越えるデータの加減算、つまり桁上げを伴う加減算を行う場合、mビット加減算器の間でのキャリー伝播が必要である。このため、複数の機能ブロック70の間をプログラママブルスイッチ15を介して接続する必要があり、配線遅延によって動作速度の低下を招いてしまう。そこで、図28に示すように機能ブロック70内の加減算器を2mビット幅加減算器122とし、2つの2mビット入力データを上位mビットと下位mビットに分割して、mビット幅の4つの入力ポート104a及び104bから入力する。また、2mビット幅加減算器122の出力データは、上位mビットと下位mビットに分割して出力ポート105a及び105bから出力する。このような構成であれば、mビット幅のプログラマブルスイッチ15及び配線資源を用いながら、機能ブロック間でのキャリー伝播が不要になる。しかしながら、上述した4入力セレクタを実現する構成と同様に、機能ブロック70の入力ポート数の増加に応じて、これらに対する入力元を選択するためのプログラマブルスイッチ15及び構成情報メモリ16の規模も増加する結果となり、再構成可能デバイスのハードウェア規模の増大を生じてしまう。再構成可能デバイスのハードウェア規模の増加は、再構成可能デバイスの集積度を低下させ、面積効率がさらに悪化する原因となる。なお、機能ブロック70の入力ポートを増やしてもプログラマブルスイッチ15の入力数を制限することによって、プログラマブルスイッチ15の規模及び構成情報メモリ16の規模の増加を抑制することは可能である。しかしながら、このような方法では、機能ブロック70の間の配線の自由度が制限されるため、回路構成の変更の自由度を制約することになる。このように、従来の再構成可能デバイスには、機能ブロックの入力ポート数の増加に応じて、プログラマブルスイッチの規模、構成情報メモリの規模が増加し、ハードウェア規模が増大するという課題がある。なお、このような課題は、第一従来技術として説明したアプリケーションプログラムに応じて動的に再構成を行うことができるアレイ型プロセッサ8に限らず存在するものである。つまり、プログラマブル論理デバイスPLD:ProgrammableLogicalDeviceやFPGAFieldProgrammablegateArrayといった機能ブロック間の接続関係を変更可能なその他の再構成可能デバイス等、機能ブロック間の接続関係をプログラマブルスイッチによって決定する構成を有する半導体集積回路に共通して存在する課題である。本発明にかかる半導体集積回路は、内部回路の構成を変更可能な半導体集積回路であって、少なくとも1の演算器又はレジスタファイルを有する複数の機能ブロックと、前記複数の機能ブロック間を切り替え可能に接続するプログラマブルスイッチとを備え、前記複数の機能ブロックは、前記プログラマブルスイッチと接続される少なくとも1つのデータ入力ポート及び少なくとも1つのデータ出力ポートを有する。さらに、少なくとも一部の前記機能ブロックの間は前記プログラマブルスイッチを介さずに接続され、1の前記機能ブロックがダイレクト出力ポートから出力するデータを他の前記機能ブロックが有するダイレクト入力ポートに入力可能なものである。このような構成により、プログラマブルスイッチと接続されていないダイレクト入力ポートから機能ブロックに対するデータ入力が可能となるため、機能ブロックへのデータ入力数が増加しても、プログラマブルスイッチの規模の増加、構成情報メモリの規模の増加といったハードウェア規模の増加を抑制することができる。本発明により、機能ブロックの入力ポート数が増加しても、ハードウェア規模の増加を抑制することができる半導体集積回路を提供することができる。以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。なお、以下に説明する実施の形態は、再構成可能デバイスに対して本発明を適用したものである。以下の説明では、上述した従来の再構成可能デバイス7又はアレイ型プロセッサ8が備える構成要素と同様の機能を有するものについては、同一の符号を付して詳細な説明を省略することとする。発明の実施の形態1.本実施の形態にかかる再構成可能デバイス1の構成を図1に示す。再構成可能デバイス1に含まれる機能ブロック10は、プログラマブルスイッチ15と接続される入力ポート104及び出力ポート105の他に、他の機能ブロック11とプログラマブルスイッチ15を介さずに直接接続されるダイレクト入力ポート101を備えている。また、機能ブロック11は、プログラマブルスイッチ15と接続される入力ポート及び出力ポートの他に、他の機能ブロック10とプログラマブルスイッチ15を介さずに直接接続されるダイレクト出力ポート102を備えている。また、機能ブロック10のダイレクト入力ポート101と機能ブロック11のダイレクト出力ポート102との間は、ダイレクト配線103によって接続されている。機能ブロック10及び11の接続構成の詳細を図2に示す。機能ブロック10は、プログラマブルスイッチ15aと接続されるmビット幅の2つの入力ポート104a及び104bの加えて、機能ブロック11のダイレクト出力ポート102a、102bと接続されるmビット幅のダイレクト入力ポート101a及び101bを有している。入力ポート104a及び104b、ダイレクト入力ポート101a及び101bからの入力データは、4入力演算部110に入力される。4入力演算部110の出力ポート1101から出力される演算結果は、出力ポート105aを介してプログラマブルスイッチ15に入力される。また、4入力演算部110の出力ポート1102は、演算結果がmビットを超える場合等に使用する出力ポートであり、機能ブロックの出力ポート106を介して出力され、他の機能ブロックに入力することが可能である。出力ポート106の使用形態については後述する。一方、機能ブロック11は、プログラマブルスイッチ15bと接続されるmビット幅の2つの入力ポート104c及び104dを有している。入力ポート104c及び104dからの入力されたデータは、2入力演算部111に入力されるとともに、ダイレクト出力ポート102a及び102bからそれぞれ出力される。このように、本実施の形態にかかる再構成可能デバイス1は、複数の機能ブロック10及び11が有する入力ポート及び出力ポートの全てがプログラマブルスイッチ15と接続されるのではなく、少なくとも一部の機能ブロックは、機能ブロック間を直接接続するダイレクト配線103によって接続されている。このような構成により、プログラマブルスイッチ15と接続されていないダイレクト入力ポート101から機能ブロック10に対するデータ入力が可能となるため、機能ブロック10へのデータ入力数が増加しても、プログラマブルスイッチ15の規模の増加、構成情報メモリ16の規模の増加といったハードウェア規模の増加を抑制することができる。なお、ダイレクト入力ポート101に対する入力は、このポートの上流側の機能ブロック11に接続されたプログラマブルスイッチ15bによって入力元を選択することができる。このため、ハードウェア規模の増加を抑制しながらも、機能ブロック間の配線の柔軟性に対する制限を緩和することができる。図3は、再構成可能デバイス1の構成を第一従来技術のアレイ型プロセッサに適用した場合におけるプロセッサエレメントの構成例を示している。図3のプロセッサエレメント12は、上述した機能ブロック10に相当する4入力のALU13及び機能ブロック11に相当する2入力のDMU14を備えている。なお、図3では、命令メモリ801及び命令デコーダ802の記載を省略している。これらの機能は、従来のプロセッサエレメント81が備える命令メモリ801及び命令デコーダ802と同様であるため説明を省略する。ALU13は、ダイレクト入力ポート101a及び101bを有しており、DMU13とダイレクト配線103a及び103bを介して接続されている。ダイレクト入力ポート101a、101b及びプログラマブルスイッチ15aと内部配線資源805aを介して接続されている入力ポート104a及び104bから入力されたデータは、4入力ALU演算部113に入力される。DMU14は、プログラマブルスイッチ15bから内部配線資源805bを介して入力されたデータを出力するものであって、ALU13のダイレクト入力ポート101a及び101bと接続されるダイレクト出力ポート102a及び102bを備えている。なお、4入力演算部113は、2つの出力ポート1131及び1132を有している。4入力ALU演算部113が、4つのmビット入力データから1のデータを選択する4入力セレクタ等として動作する場合の出力データはmビットであるため、4入力ALU演算部113の出力ポート1131、ALU13の出力ポート105aから出力されたデータは、プログラマブルスイッチ15に入力される。一方、4入力ALU演算部113が2mビット幅加減算器として動作する場合、出力データは2mビット幅となる。このように、4入力ALU演算部113の出力データのデータ幅がmビットを超える場合は、出力データを上位mビットと下位mビットに分割し、一方例えば下位mビットを出力ポート1131、他方例えば上位mビットを出力ポート1132から出力する。出力ポート1132から出力されたデータは、ALU13の出力ポート106に出力され、DMU14の入力ポート107に入力される。入力ポート107から入力されたデータは、マルチプレクサ130に入力される。マルチプレクサ130において入力ポート107からの入力データを選択することにより、4入力ALU演算部113の出力データの一部例えば上位mビットをDMU14の出力ポート105bに出力することが可能となり、4入力ALU演算部113の出力データの一部例えば上位mビットをプログラマブルスイッチ15を介して他のプロセッサエレメントに供給することができる。ここで、ALU13が備える4入力ALU演算部113の構成例を図4に示す。4入力ALU演算部113は、4入力論理演算器120、4入力セレクタ121、2mビット幅加減算器122及び2mビット幅比較器123の組合せであり、これらの演算器120乃至123の出力のいずれかを出力するマルチプレクサ131を有している。また、2mビット幅加減算器122の2ビット幅の出力データのうち、上位mビット又は下位mビットのデータを出力する出力ポート1132を備えている。続いて以下では、図5乃至図7を用いて、ダイレクト配線103によって接続される機能ブロック10及び11を有する再構成可能デバイス1の利点を詳細に説明する。図5は、機能ブロック10で4入力論理演算を実現する構成を示したものである。具体的には、4値A、B、C及びDの排他的論理和A^B^C^D→Yを実行する。プログラマブルスイッチ15aと接続されたmビット幅入力ポート104a及び104b並びにmビット幅ダイレクト入力ポート101a及び101bから入力される4つの値A、B,C、Dが、4入力論理演算器120に入力される。このうち、ダイレクト入力ポート101a及び101bに入力される値C、Dは、他の機能ブロック11のダイレクト出力ポート102a及び102bから入力されるものである。さらに、ダイレクト出力ポート102a及び102bは、プログラマブルスイッチ15bからデータ入力を行う入力ポート104c及び104dと接続されている。このような構成によって、論理演算対象の4つのデータA乃至Dの入力元は、プログラマブルスイッチ15a及び15bの制御により自由に選択することができる。つまり、機能ブロック11と接続されたプログラマブルスイッチ15bを、機能ブロック10の入力データを選択するためのスイッチとして利用することが可能となる。このように機能ブロック10及び11を組み合わせた構成により、4入力論理演算を実行する機能ブロック10に接続したプログラマブルスイッチ15aの入力ポート及び入力選択ユニット151の数を増設しなくても、データ入力元の選択自由度を損なうことなく4値演算可能な再構成可能デバイスを実現することができる。図6は、機能ブロック10で2mビット加算AB→Yを実現する構成を示したものである。2つの2mビット幅の入力データA及びBの上位mビットA[2m-1:m]及びB[2m-1:m]が、入力ポート104a及び104bに入力される。一方、A及びBの下位mビットA[m-1:0]及びB[m-1:0]は、機能ブロック11の入力ポート104c及び104dに入力され、ダイレクト出力ポート102a及び102bを経由してダイレクト入力ポート101a及び101bに入力される。これらの4つの入力データは、2mビット幅加減算器122に入力される。2mビット幅加減算器122のエ演算結果Yの上位mビットY[2m-1:m]は、機能ブロック10の出力ポート105aに出力され、下位mビットY[m-1:0]は、出力ポート106に出力される。ここで、機能ブロック11のマルチプレクサ130を、入力端子107から入力されるデータを選択できるよう構成することにより、2mビット幅加減算器122の演算結果Yの下位mビットを機能ブロック11の出力ポート105bから出力することができる。なお、下位mビットY[m-1:0]を出力ポート105aから出力し、上位mビットY[2m-1:m]を出力ポート105bから出力することとしても構わない。このような構成によって、機能ブロック11と接続されたプログラマブルスイッチ15bを、機能ブロック10の入力データを選択するためのスイッチとして利用することができ、4入力論理演算を実行する機能ブロック10に接続したプログラマブルスイッチ15aの入力ポート及び入力選択ユニット151の数を増設しなくても、データ入力元の選択自由度を損なうことなく4値演算可能な再構成可能デバイスを実現することができる。さらに、機能ブロック10の出力データの一部を他の機能ブロック11の出力ポート105bに出力可能な構成とすることにより、機能ブロック10の出力ポートと接続されるプログラマブルスイッチ15の入力ポート数を増加しなくても、mビットを超える演算結果を分割して出力することが可能となる。図7aは、4入力演算器110を有する機能ブロック10とこれに入力データを与えるプログラマブルスイッチ15及び構成情報メモリ16を示している。図27に示した従来の再構成可能デバイス7が備える機能ブロック70を4入力化する場合、入力ポート104a乃至104dに対する入力元を選択可能とするために、プログラマブルスイッチ15が備える入力選択ユニット151の規模は2入力の場合に比べて2倍にする必要があった。これに対して、図7aの機能ブロック10は、他の機能ブロック11に接続されたプログラマブルスイッチをダイレクト入力ポート101a及び101bの入力データの選択のために利用することができる。このため、機能ブロック10の入力ポートを増やして4入力化しても、2入力の場合と比べてプログラマブルスイッチ15及び構成情報メモリ16の規模を増加する必要がない。図7bは、図7aと同様の構成を第一従来技術のアレイ型プロセッサに適用した場合のものである。この場合も、機能ブロック10の入力ポートを増やして4入力化した場合に、プログラマブルスイッチ15、命令メモリ801及び命令デコーダ802の規模を2入力の場合に比べて増加する必要がない。なお、2入力を超える多入力又はmビットを超えるデータ幅の演算に機能ブロック10を使用する場合、他の機能ブロック11に接続されたプログラマブルスイッチ15を機能ブロック10のダイレクト入力ポート101の入力元選択のために使用することになる。このため、機能ブロック11を演算に使用することができない。しかしながら、もともと2入力演算器で4入力演算を行うためには3つの機能ブロックが必要であったことを考慮すると、機能ブロック10及び11の2つの機能ブロックによって4入力演算を行うことができる本実施の形態の構成によって、機能ブロックの使用効率を改善することができる。また、機能ブロック10を3入力演算に使用する場合は、機能ブロック11の1入力のみをダイレクト配線103に出力すればよい。このため、機能ブロック11を、3入力演算を行う機能ブロック10のダイレクト入力ポート101にデータを与えるとともに、1入力演算器として使用することが可能である。さらに、機能ブロック10を2入力演算に使用する場合、機能ブロック10を4入力とするために設けたダイレクト入力ポート101、ダイレクト出力ポート102、ダイレクト配線103は冗長な構成となる。しかしながら、図27に示したようにプログラマブルスイッチ15の規模を増加させる構成と比較すれば、その冗長度は軽微なものである。本実施の形態では、機能ブロック10において4入力演算又は2mビット加算等の算術演算を行うために入力ポート数を2ポートから4ポートに増加する場合について説明した。しかしながら、本発明は、このような構成に限定されるものではなく、任意の数の入力ポートを有する構成において広く有効なものである。また、図5及び図6等に示した機能ブロック10及び11が備える演算器は一例を示すものであり、再構成可能デバイス1で達成すべき機能に応じて様々な演算器の組合せが考えられる。例えば、可減算器、飽和演算器、比較器、乗算器、除算器、論理演算器、セレクタ、バレルシフタ、ビットマスク回路、ガロア体乗算器等の多入力演算器、又はこれらの組合せからなる演算器、さらにはこれらと他の演算器の組合せからなる演算器等である。発明の実施の形態2.図8は、本実施の形態にかかる再構成可能デバイス2が備える機能ブロック20の構成を示している。実施の形態1で説明した再構成可能デバイス1は、ダイレクト入力ポート101を有し多入力演算を行う機能ブロック10と、機能ブロック10のダイレクト入力ポート101にデータを出力するダイレクト出力ポート102を有する機能ブロック11とを備えていた。これに対して、本実施の形態の再構成可能デバイス2が備える機能ブロック20は、ダイレクト入力ポート101及びダイレクト出力ポート102の双方を有している点が特徴である。なお、機能ブロック20が有する構成要素は、上述した機能ブロック10又は11が有している構成要素と同様であるため、同一の符号を付して詳細説明を省略する。次に、図9は、複数の機能ブロック20の間を接続した再構成可能デバイス2の構成を示している。機能ブロック20aを4入力演算に使用する場合、4入力演算部110aに対する入力データの一部は、他の機能ブロック20bのダイレクト出力ポート102a及び102bから出力されてダイレクト入力ポート101a及び101bに入力されるデータによって与えられる。このような構成によって、発明の実施の形態1の再構成可能デバイス1と同様に、ダイレクト入力ポート101a及び101bに入力されるデータの入力元の選択を機能ブロック20bに接続されたプログラマブルスイッチ15bによって行うことができる。また、図10は、機能ブロック20aが有する4入力論理演算器120を用いて、機能ブロック20aの入力ポート104a及び104b並びに機能ブロック20bの入力ポート104c及び104dに入力されるmビットデータA乃至Dの排他的論理和の演算を行う構成を示している。さらに、図11は、機能ブロック20aが有する2mビット幅加減算器122を用いて2mビット加算処理を行う構成を示している。これらの構成は、発明の実施の形態1において図5及び図6を用いて説明した構成に対応している。本実施の形態の機能ブロック20の間をダイレクト配線103で接続することによって、発明の実施の形態1の機能ブロック10及び11の間をダイレクト配線103によって接続して行ったのと同等の演算処理を実現することができ、プログラマブルスイッチ15、構成情報メモリ16の規模の増加を抑制することができる。なお、発明の実施の形態1の再構成可能デバイス1は、ダイレクト入力ポート101を有する機能ブロック10とダイレクト出力ポート102を有する機能ブロック11を組み合わせて、多入力演算又は多ビット幅演算を行う必要があった。これに対して、本実施の形態にかかる再構成可能デバイス2は、1の機能ブロック20がダイレクト入力ポート101及びダイレクト出力ポート102を有しているため、再構成可能デバイス1に比べて多入力演算又は多ビット幅演算を行う場合の機能ブロックの組合せの自由度が高い。発明の実施の形態3.図12は、本実施の形態にかかる再構成可能デバイス3が備える機能ブロック30の構成を示している。機能ブロック30は、3入力演算部112を備えている。なお、上述した発明の実施の形態1の再構成可能デバイス1又は実施の形態2の再構成可能デバイス2が有する構成要素と同一の構成要素は、同一の符号を付して詳細な説明を省略することとする。3入力演算部112は、3入力演算器又は3入力演算器及び2入力演算器の組合せからなるものである。機能ブロック30は、入力ポート104a及び104b並びにダイレクト入力ポート101から入力されたデータに対して、構成情報メモリ16の内容に応じた演算処理を行う。3入力演算部112の構成例を図13に示す。図13の3入力演算部112は、mビット幅データを入力して論理演算を行う3入力論理演算器124、3つのmビット幅データを入力可能な3入力セレクタ125、mビット幅加減算器126及びmビット幅比較器127を有している。マルチプレクサ130は、これらの演算器124乃至127のいずれかの出力を出力するものである。マルチプレクサ130の出力データは、出力ポート1121及び1122に出力される。図12に戻り、機能ブロック30は、プログラマブルスイッチ15と接続される入力ポート104a及び104b、他の機能ブロックのダイレクト出力ポートと接続されるダイレクト入力ポート101を有している。これら3つの入力ポート104a、104b及び101は、3入力演算部112の入力ポートに接続されている。また、3入力演算器112の演算結果を出力する出力ポート1121と機能ブロック30の出力ポート105が接続されている。当該出力ポート105は、プログラマブルスイッチに接続される。さらに、機能ブロック30は、他の機能ブロックとプログラマブルスイッチを介さずに接続されるダイレクト出力ポート102を有している。ダイレクト出力ポート102は、3入力演算部112の出力ポート1122と接続されている。次に、図14は、複数の機能ブロック30の間を接続した再構成可能デバイス3の構成を示している。機能ブロック30aを3入力演算に使用する場合、3入力演算部112aに対する入力データの一部は、他の機能ブロック30bのダイレクト出力ポート102bから出力されてダイレクト入力ポート101aに入力されるデータによって与えられる。図16は、本実施の形態にかかる再構成可能デバイス3において4入力演算を実現する構成を示したものである。図16の構成によって、機能ブロック30aの入力ポート104a及び104b並びに機能ブロック30bの入力ポート104c及び104dに入力されるmビットデータA乃至Dの排他的論理和の演算を行った結果を、機能ブロック30aの出力ポート105aに出力することができる。以下に詳しく説明する。まず、機能ブロック30bの3入力演算部112bにおいて、入力ポート104c及び104dに入力されるmビットデータC及びDの排他的論理和C^Dが演算される。3入力演算部112bは、2入力排他的論理和の演算を実現するよう構成されている。演算結果がダイレクト出力ポート102bに出力される。機能ブロック30aでは、入力ポート104a及び104bから入力されるmビットデータA及びBが、3入力演算部112aに入力される。さらに、ダイレクト入力ポート101aから入力されるデータCとDの排他的論理和C^Dが、3入力演算部112aに入力される。3入力演算部112aは、入力された3つの値の排他的論理和を演算し、演算結果を出力ポート105aに出力する。これにより、出力ポート105aには、2つの機能ブロック30a及び30bに入力された4つのデータA乃至Dに対する排他的論理和の演算結果が出力されることとなる。このように、本実施の形態にかかる再構成可能デバイス3によっても、上述した再構成可能デバイス1及び2と同様に、4入力演算を2つの機能ブロックを用いて実現することができる。なお、図16において、4つのデータA乃至Dの入力元は、プログラマブルスイッチ15a及び15bが有する入力選択ユニット151a乃至151dによって自由に選択可能である。このため、機能ブロック30の入力ポートを3入力としても、2入力の場合と比べてプログラマブルスイッチ15及び構成情報メモリ16の規模を増加する必要がない。さらに、上述した再構成可能デバイス1及び2では、4入力演算を行うために、機能ブロック内の演算部を4入力化しているのに対し、本実施の形態の再構成可能デバイス3の機能ブロック30の演算部112は3入力化でよい。このため、再構成可能デバイス3は、再構成可能デバイス1及び2に比べて、さらに回路規模あるいは回路面積を削減することができる。また、再構成可能デバイス3は、機能ブロック間のダイレクト配線103の数が、再構成可能デバイス1及び2に比べて少ない。データビット幅が大きくなると配線リソースが大きくなり、また、機能ブロック間の距離が大きくなるとデータ中継に必要なバッファが無視できなくなることから、ダイレクト配線103の数が少ない再構成可能デバイス3は有利である。図17は、本実施の形態にかかる再構成可能デバイス3において6入力演算、具体的には6つの入力データA乃至Fの排他的論理和の演算を実現する構成を示したものである。まず6つの入力データA乃至FのうちE及びFの2つは、機能ブロック30cに入力され、3入力演算部1123において排他的論理和の演算を行った結果がダイレクト出力ポート102cから出力される。機能ブロック30bは、3入力演算部112bにおいて、入力ポート104c及び104dに入力されるデータC及びDと、ダイレクト入力ポート101bに入力されるデータE及びFの排他的論理和の演算結果の3値に対する排他的論理和を演算する。当該演算の結果は、ダイレクト出力ポート102bに出力される。さらに、機能ブロック30aは、3入力演算部112aにおいて、入力ポート104a及び104bに入力されるデータA及びBと、ダイレクト入力ポート101aに入力されるデータC乃至Fの排他的論理和の演算結果の3値に対する排他的論理和を演算する。当該演算の結果は、出力ポート105aに出力される。これにより、出力ポート105aには、3つの機能ブロック30a乃至30cに入力された6つのデータA乃至Fに対する排他的論理和の演算結果が出力されることとなる。なお、6つのデータA乃至Fの入力元は、プログラマブルスイッチ15a乃至15cの入力選択ユニット151a乃至151fによって自由に選択可能である。このように、本実施の形態にかかる再構成可能デバイス3は、機能ブロック30の間をダイレクト配線103で接続していくことによって、4入力を超える多入力の演算に拡張していくことが可能である。なお、図13に示した機能ブロック30の構成は一例である。例えば、図15に示すように、機能ブロック30のダイレクト出力ポート102と接続される出力ポート1122に、マルチプレクサ130の出力ではなく、演算器124乃至127のいずれかの出力図15では3入力セレクタ125の出力を接続することも可能である。このような構成では、出力ポート1122と接続された特定の演算器の演算結果のみ、機能ブロック30のダイレクト出力ポート102に出力可能である。しかしながら、マルチプレクサ130を介さないため、配線による信号遅延を低減することが可能である。このため、特定の多入力演算において特に高速に演算を行いたい場合に、図15のような構成が有利となる。発明の実施の形態4.図18は、本実施の形態にかかる再構成可能デバイス4が備える機能ブロック40の構成を示している。機能ブロック40は、入力されたデータを保持可能な記憶回路であるレジスタファイル140を有している。なお、上述した再構成可能デバイス1が有する構成要素と同一の構成要素は、同一の符号を付して詳細な説明を省略することとする。機能ブロック40が有するレジスタファイル140へのライトデータは、通常は入力ポート104aから入力される。また、レジスタファイル140の読み出し/書き込みアドレスの入力及びイネーブル制御は、通常は構成情報メモリ16によって行われる。しかし、マルチプレクサ132を切り替えることによって、ダイレクト入力ポート101から入力される信号によって読み出し書き込みアドレスを入力することやイネーブル制御を行うことも可能である。また、図19に示すように、レジスタファイル140の入力ポートに接続されているプログラマブルスイッチ15aの入力選択ユニット151aに対する制御線に、ダイレクト入力ポート101から入力される信号を接続してもよい。この場合、例えば、入力選択ユニット151aに対する制御線に値0を入力すると、入力選択ユニット151aの出力値をゼロとするリセット処理ができる場合には、ダイレクト入力ポート101から入力選択ユニット151aの制御線に値0を入力すれば、入力選択ユニット151aの出力値を強制的にリセットすることができる。なお、図20の構成によっても、ダイレクト入力ポート101からの入力信号を用いてレジスタファイル140のデータ入力値をゼロとするリセット処理を実行できる。具体的には、レジスタファイルのデータ入力側にANDゲート141を設け、入力ポート104aからの入力データ及びダイレクト入力ポート101からの入力データをANDゲート141に入力し、その出力値をレジスタファイル140に入力している。しかしながら、図20の構成では、レジスタファイル140のデータ入力に値を入力するまでのセットアップ遅延がANDゲート141の分だけ増加するため、図19に示した構成によってリセット処理を行うことが望ましい。このような構成によって、機能ブロックの一種としてレジスタファイルを有する再構成デバイスにおいて、レジスタファイルのアドレス指定、イネーブル制御、リセット制御を行う際に、ダイレクト入力ポート101からの入力信号を利用することが可能になる。一例として、本実施の形態にかかる再構成可能デバイス4において、カウンタ回路を構成した場合を図21に示す。このカウンタ回路は、1クロックサイクル毎にインクリメントし、所定の値になったらゼロに戻るものである。機能ブロック11aに対する2つの入力データのうち、入力ポート104cへの入力データはダイレクト出力ポート102aに出力し、もう一方の入力ポート104dへの入力データは2入力演算部110aに入力している。機能ブロック11aではインクリメント処理を実行しているため、演算部110aへの入力は1つでよい。このため、2つの入力ポートのうちの一方入力ポート104cを、他の機能ブロックにデータを供給する用途に使用しても問題はない。機能ブロック11bは、機能ブロック11aによるインクリメント値と、所定の最大値とを入力する。演算部110bにおいて2つの入力値を比較して両者が一致すると、演算部110bはリセット信号を出力する。機能ブロック11bの出力ポート105cから出力されたリセット信号は、機能ブロック11aの入力ポート104cに接続されている入力選択ユニット151cに入力される。そして、当該リセット信号は、ダイレクト出力ポート102a及びダイレクト入力ポート101を経由して機能ブロック40に到達する。図19を用いて説明したように、機能ブロック40に到達したリセット信号は、入力選択ユニット151aに対する制御線に供給され、入力選択ユニット151aの出力値を強制的にリセットし、これと接続されるレジスタファイル140の値をゼロにリセットすることができる。上述したダイレクト入力ポート101からの入力信号を利用したレジスタファイル140のリセット処理を行わず、さらに、機能ブロックへの入力ポートの追加も行わずに図21と同等のカウンタ回路を構成するためには、機能ブロック11bと機能ブロック40の間に追加の機能ブロックが必要となる。具体的には、機能ブロック11bが出力するリセット信号に応じて0を選択するセレクタとして動作する機能ブロックである。本実施の形態では、この追加の機能ブロックが不要であること、レジスタファイル間の機能ブロックの段数を削減できることから、再構成可能デバイス4にマッピングしたカウンタ回路の動作速度を向上させることができる。アプリケーションプログラムによっては、条件によってイネーブルやリセットの制御、またはアドレスの制御を行いたい場合もある。従来の再構成可能デバイスの場合、レジスタファイルに入力ポートを増やすことは、機能ブロックの入力ポートを増やすことになり、結果的に、プログラマブルスイッチ15の入力選択ユニット151の増加、構成情報メモリ16に格納する構成情報の増加などを招くことになる。これに対して、本実施の形態の再構成可能デバイス4では、機能ブロック間を接続するダイレクト配線を用いてレジスタファイルのイネーブルやリセットの制御、アドレス制御等を行うことができるため、機能ブロックの入力ポート数が増えてもプログラマブルスイッチ15や構成情報メモリ16の規模を増加する必要がない。上述した実施の形態1乃至4では、再構成可能デバイスにおいて4入力演算を実現する場合を主として説明した。しかしながら、本発明の適用先は、このような構成に限られない。本発明は、機能ブロックに対し、プログラマブルスイッチと接続される入出力ポートに加えて、機能ブロック間を直接接続するための入力ポート若しくは出力ポート又はこれら両方を設けることとし、機能ブロック間をダイレクト配線によって接続するものである。これにより、機能ブロック間の配線の自由度、つまり機能ブロックにマッピングする回路の自由度を維持しつつ、再構成可能デバイスの面積増大を抑制するものである。このため本発明は、上述した実施の形態に限らず、機能ブロック間の接続関係をプログラマブルスイッチによって決定する構成を有する半導体集積回路広く適用可能なものである。"