"所定の形状を有する基本セルを行列状に敷き詰めて構成したアレイを有する集積回路において,前記基本セルは,第1の信号が供給される第1の入力端子と,第2の信号が供給される第2の入力端子と,前記第1及び第2の入力端子と対向する位置にある第1及び第2の出力端子と,前記第1の信号及び前記第2の信号をうけて,第1の設定情報に従い前記第1の信号及び前記第2の信号の論理演算結果にかかる信号,前記第1の信号若しくはその反転信号,又は前記第2の信号若しくはその反転信号のいずれかを前記第1の出力端子に供給する第1の論理ブロックと,前記第1の信号及び前記第2の信号をうけて,第2の設定情報に従い前記第1の信号及び前記第2の信号の論理演算結果にかかる信号,前記第1の信号若しくはその反転信号,又は前記第2の信号若しくはその反転信号のいずれかを前記第2の出力端子に供給する第2の論理ブロックと,を具備することを特徴とする集積回路。前記基本セルは,さらに,前記第1の設定情報を記憶する第1の記憶素子群と,前記第2の設定情報を記憶する第2の記憶素子群とを具備することを特徴とする請求項1記載の集積回路。前記第1の記憶素子群及び前記第2の記憶素子群はいずれも複数のフリップフロップ回路から構成され,これらフリップフロップに前記第1の設定情報及び前記第2の設定情報を供給するためのデータ配線群が列方向に形成され,これらフリップフロップに前記第1の設定情報及び前記第2の設定情報をラッチするための制御信号配線が行方向に形成されていることを特徴とする請求項2記載の集積回路。前記第1の論理ブロックは4つの3入力論理ゲートと,これら3入力論理ゲートの各出力が入力される4入力論理ゲートとから構成され,前記3入力論理ゲートには,いずれも,第1の設定情報,前記第1の信号又はその反転信号,及び前記第2の信号又はその反転信号がそれぞれ入力され,前記第2の論理ブロックは4つの3入力論理ゲートと,これら3入力論理ゲートの各出力が入力される4入力論理ゲートとから構成され,前記3入力論理ゲートには,いずれも,第2の設定情報,前記第1の信号又はその反転信号,及び前記第2の信号又はその反転信号がそれぞれ入力されることを特徴とする請求項1記載の集積回路。前記アレイは,前記基本セルを第1の行において所定のピッチで配列し,前記第1の行に隣接する第2の行において,半ピッチシフトさせつつ前記所定のピッチで配列することによって,前記第1の行の前記基本セルの第2の出力端子が前記第2の行の前記基本セルの第1の入力端子に接続され,前記第1の行の前記基本セルの第1の出力端子が前記第2の行の前記基本セルの第2の入力端子に接続されるように前記基本セルを敷き詰めて構成したことを特徴とする請求項1記載の集積回路前記アレイは,前記基本セルをn行配列した前記基本セルを奇数行1,3,n-1行において所定のピッチで配列し,前記基本セルを偶数行2,4,n行において,半ピッチシフトさせつつ前記所定のピッチで配列することによって,前記奇数行の前記基本セルの第2の出力端子が前記偶数行の前記基本セルの第1の入力端子に接続され,前記奇数行の前記基本セルの第1の出力端子が前記偶数行の前記基本セルの第2の入力端子に接続されるように前記基本セルを敷き詰めて構成したサブアレイを有し,前記サブアレイの一端にはn行目の各基本セルの出力をラッチするラッチ回路からなるラッチ回路行を有することを特徴とする請求項1記載の集積回路前記アレイは,さらに,前記ラッチ回路の出力を前記1行の基本セルの第1の入力端子又は第2の入力端子に戻すためのフィードバック配線を有することを特徴とする請求項6記載の集積回路。前記アレイは,前記基本セルをm行配列してなり,さらに,前記集積回路は,データの転送を行うバスと,前記アレイの第1辺に沿って形成され,前記バスから供給されるデータを,前記アレイ中の1行目の基本セルの第1の入力端子又は第2の入力端子若しくはその両者に供給する第1のバスインターフェース回路と,前記アレイ中のm行目の基本セルの第1の出力端子又は第2の出力端子若しくはその両者から供給されるデータを,前記バスに供給する第2のバスインターフェース回路とを有することを特徴とする請求項1記載の集積回路。前記集積回路は,さらに,前記バスに接続された,所定の機能を有する機能ブロックを具備することを特徴とする請求項8記載の集積回路。前記アレイは,前記基本セルをm行配列してなり,さらに,前記集積回路は,データの転送を行う第1のデータバス,第2のデータバス及び第3のデータバスを有し,前記第1のデータバス及び前記第2のデータバスをそれぞれ入力とし,第3のデータバスに論理演算結果を出力する論理演算回路と,前記アレイ中の1行目の基本セルの第1の入力端子又は第2の入力端子若しくはその両者は前記第1のデータバス又は前記第2のデータバスが接続され,前記アレイ中のm行目の基本セルの第1の出力端子又は第2の出力端子若しくはその両者は前記第3のデータバスに接続されていることを特徴とする請求項1記載の集積回路。前記集積回路は,さらに,前記第1の設定情報及び前記第2の設定情報を,動的に再設定する制御回路を具備することを特徴とする請求項1記載の集積回路。請求項1記載の集積回路の使用方法であって,前記第1の論理ブロックが,前記第2の信号又はその反転信号のいずれかを前記第1の出力端子に供給するように,前記第1の設定情報を設定するか,又は,前記第2の論理ブロックが,前記第1の信号又はその反転信号のいずれかを前記第2の出力端子に供給するように,前記第1の設定情報を設定することにより,前記第1の論理ブロック又は前記第2の論理ブロックを,実質的に斜め方向に走る配線と同一の作用を呈させることを特徴とする集積回路の使用方法。請求項1記載の集積回路の使用方法であって,前記第1の設定情報及び前記第2の設定情報を,動的に再設定することを特徴とする集積回路の使用方法。請求項1記載の集積回路の使用方法であって,前記方法は,前記基本セルの動作をテストすることによって不良セルを検出し,前記検出によって不良セルとされた前記基本セルを迂回するように前記第1の設定情報及び前記第2の設定情報を設定することを特徴とする集積回路の使用方法。これまでの集積回路では種別によりそれぞれ次のような欠点があった。1高いスループットを実現できるが機能変更の要求に応じてその都度再設計と半導体製造プロセスが必要な専用LSI。2アプリケーション毎の半導体製造プロセスは必要ないが動作周波数とコストに問題があるFPGA。3汎用性があり機能変更への柔軟な対応が可能であるがビット単位の演算効率とスループットと消費電力に問題があるプロセッサおよびDSP。4機能変更への柔軟な対応が可能であるがフレキシビリティと動作周波数に問題があるDRP。これらのどれもが論理素子の論理可変性論理再構成素子の素子数動作周波数チップ面積汎用性消費電力コストにおいてそれぞれ長所と短所を併せ持つためにアプリケーションや開発コストやビジネス状況に応じて集積回路製品の種別を適宜選択せざるを得なかった。本発明はこれらの問題点を解決するためになされたものである。本発明は複数の論理再構成素子と論理再構成素子の論理を定義するための複数の論理コンフィグレーション用メモリ素子とデータ信号チャネルとメモリ素子制御信号チャネルと信号端子とを基本構成単位とする。これをマニュアル設計またはCADツールを駆使した設計により、信号の伝播遅延と消費電力と面積とを最適に構成し、高密度化された論理再構成可能なリーフセルを定義し、このリーフセルを複数規則配置してリーフセル間信号の接続チャネル面積をも最小化する。高密度に集積した集積回路モジュールと、この集積回路モジュールを命令実行処理回路のデータパスに挿入して命令セットの機能を変更できるリコンフィギュアブルプロセッサとをシステムバスあるいはローカルバスにバスインタフェース回路を介してそれぞれ接続する。そして,論理コンフィグレーション用メモリ素子の情報を書換えることで回路の再設計をすることなく機能の変更が可能な集積回路を提供することができる。本発明は回路の再設計をすることなく機能の変更と高いフレキシビリティと保証される高い動作周波数と低消費電力と高密度化ができることを特徴とする集積回路と従来のプロセッサと比較してよりスループットを上げられることを特徴とするリコンフィギュアブルプロセッサのいずれかあるいは両方を集積可能な集積回路の開発が可能となる。1-1本発明の概要以下本発明の概要を説明する。本発明のリーフセルと呼ばれる集積回路の基本構成単位は、図1に示されるように積和論理あるいは和積論理あるいは環和論理等の回路で構成される複数の論理再構成素子1と論理再構成素子の論理を定義するためのラッチまたはフリップフロップまたはSRAMまたはDRAMまたはフラッシュメモリ等のメモリ素子で構成される複数の論理コンフィグレーション用メモリ素子2と論理データ信号チャネル3と論理コンフィグレーション用データチャネル4と論理コンフィグレーション用メモリ素子の制御信号チャネル5と入力および出力信号端子6とを基本構成単位とする。これをマニュアル設計またはCADツールを駆使した高度な設計をすることで高密度化し、論理データ信号の伝播遅延と消費電力と面積とを最適にする。また全ての論理データ入力信号をそれぞれ全ての論理再構成素子の入力とすることでリーフセルの入力端子と出力端子間の信号経路の変更と分岐とを実現し、論理コンフィグレーション用メモリ素子の情報を書換えることで論理再構成素子の論理の変更をも実現する。マニュアル設計した論理再構成可能なリーフセル7を例えば図2に示すように複数煉瓦積みのように規則配置し、上下で隣接する論理再構成可能なリーフセルの論理データ信号端子間の伝播遅延時間と論理コンフィグレーション用メモリ素子のデータ信号端子間の距離が最小になるようにする。この煉瓦積みのように規則配置したリーフセルの論理コンフィグレーション用メモリ素子の情報を書換えることで論理の変更と信号経路の変更および分岐が可能となる。図3において、規則配置した論理再構成可能なリーフセル7で構成された論理再構成可能なリーフセルモジュールの前後にそれぞれ信号セレクタとフリップフロッップ回路またはラッチ回路等の記憶素子を論理データ信号毎に配置する。リーフセルモジュールの論理データ出力信号をそれぞれ論理データ信号セレクタ8を介してフリップフロッップ回路またはラッチ回路等の記憶素子9の論理データ入力に接続する。フリップフロッップ回路またはラッチ回路等の記憶素子の論理データ出力信号をフィードバック信号セレクタ10を介して前段のフィードバック信号セレクタ11までフィードバックする。前段の論理データ信号セレクタ12を介して前段のフリップフロッップ回路またはラッチ回路等の記憶素子13の論理データ入力にフィードバック接続する。その結果,論理データ信号の記憶と論理データ信号のフィードバックとをリーフセルモジュール単位でスケーラブルに実現できる。規則配置される論理再構成可能なリーフセルとフリップフロッップ回路またはラッチ回路等の記憶素子との構成比率によって論理データ信号を記憶する記憶容量を任意に設定できる。本発明の集積回路は論理コンフィグレーション用メモリ素子の情報を書換えることで信号経路と論理とを同時に再構成できる。このことは専用のテスト回路を必要とせずにテスト回路をも再構成することが可能であり、自己診断回路を再構成して回路の自己テストをも行うことができる。回路テストの結果、故障が発見された場合にはやはり論理コンフィグレーション用メモリ素子の情報を書換えることで故障回路を迂回する信号経路を再構成することで故障箇所が存在しても回路を動作させることが可能となる。規則配置した論理再構成可能なリーフセルで構成した複数の論理再構成可能なリーフセルモジュール14をリーフセルモジュールインタフェース回路15を介して論理再構成可能なリーフセルモジュールを複数連続的に接続して機能を拡張する方式の例を示す。図4は論理再構成可能なリーフセルモジュール14を2つ接続した場合の複合的なモジュールの例で、それぞれの論理再構成可能なリーフセルモジュールには論理コンフィグレーション制御回路16が接続される。リーフセル内にあるコンフィグレーションメモリ素子への論理コンフィグレーション情報の書き込みと保持と消去の制御を行う。また、コンフィグレーションメモリ素子は構造的にリーフセルモジュールに分散配置されるため、論理コンフィグレーション制御回路とリーフセルモジュール間の信号チャネル領域を一般的なFPGAやDRPと比較して小さくすることが可能となる。論理再構成可能なリーフセルモジュールはシステムバスまたはローカルバス17にバスインタフェース回路18とリーフセルモジュールインタフェース回路を介して1つまたは複数の論理再構成可能なリーフセルモジュールを接続することができる。図5は2つの論理再構成可能なリーフセルモジュールで複合モジュールを構成し、これをバスに接続した回路構成例である。規則配置した論理再構成可能なリーフセルモジュールはプロセッサへの応用も可能であり、図6は論理再構成可能なリーフセルモジュール19をプロセッサの命令実行処理回路のデータパスに挿入し、各リーフセルに配置された論理コンフィグレーション用メモリ素子の情報を書換えることで命令セットの機能を変更できるようにしたリコンフィギュアブルプロセッサのアーキテクチャの例である。これは,ALU20で実行される命令とリーフセルモジュールによる機能変更可能な命令セットとを併せ持つプロセッサアーキテクチャである。このアーキテクチャの例では制御ユニット21でデコードされたインストラクションに従い、機能変更可能な命令であればインストラクション機能変更制御回路22が機能の変更情報と機能変更のタイミング情報とを生成し、これらの情報に従ってリーフセルモジュールコンフィグレーション制御回路23がリーフセルモジュールの論理機能を再構成する。また機能変更を行わない通常の命令は従来通りALU20によって実行される。本発明の規則配置した論理再構成可能なリーフセルモジュールと機能変更可能な命令セットを持つリコンフィギュアブルプロセッサはどちらもシステムバスあるいはローカルバスにバスインタフェース回路を介してそれぞれ1つまたは複数接続できる。図7はシステムバス24に機能変更可能な命令セットを持つリコンフィギュアブルプロセッサ25と3つの複合リーフセルモジュール26とメモリコントローラ27を接続し、さらにバスブリッジ28を介してローカルバス29に論理再構成可能なリーフセルモジュール30とペリフェラル31とを接続したシステム構成の例である。図8は機能変更可能な命令セットを持つプロセッサのコンパイル方式のフローチャートである。C言語やJAVA言語といった高級言語32でプログラムされたソースプログラムコードをリコンフィギュアブルプロセッサの通常の命令セットあるいは機能変更可能な命令セットのデフォルトとして定義される命令セットのみを使った1次コンパイラ33でコンパイルし、1次オブジェクト34を生成する。この1次オブジェクトに現れるオブジェクトコードの出現頻度機能組合わせ出現順等の情報とリコンフィギュアブルプロセッサの各レジスタ情報スタック情報レジスタファイル情報プログラムカウンタ情報パイプライン状態等の情報とを解析するオブジェクトコード解析処理35を行って、機能変更可能命令の最適命令コード36を生成する。またオブジェクトコード解析への入力としてサードパーティ製の1次オブジェクト37を利用することも可能である。2次コンパイラ38は最適に機能変更された最適命令コード36と1次オブジェクト34またはサードパーティ製の1次オブジェクト37とを入力として最適に機能定義された最適命令コード36を使ったよりステップ数の少ない最適オブジェクトコードへの置換えと、置換えにより削減されたコードのアドレスに対応した相対ジャンプアドレスまたは絶対ジャンプアドレスまたは参照データアドレス等のアドレスのリロケーションとを行い、2次オブジェクト39を生成する。最後にリンカ40によって2次オブジェクト39がリンクされ、実行可能なバイナリコード41が生成される。ここで生成された2次オブジェクトは1次オブジェクトよりもオブジェクトコードのステップ数が少ないことが特徴であり、これによってプロセッサのスループットが向上する。本発明の具体的なSoCの例を図9に示す。この例ではシステムバスに1つの機能変更可能な命令セットを持つリコンフィギュアブルプロセッサと2つの論理再構成可能なリーフセルモジュールとメモリコントローラとUSBコントローラとイーサネットコントローラとを接続し、さらにバスブリッジを介してローカルバスに論理再構成可能なリーフセルモジュールとペリフェラルとしてフラッシュメモリインタフェースとI2CインタフェースとGPIOインタフェースを集積した集積回路を示している。1-2本発明の別の観点からの説明以下,本発明をさらに別の観点から説明する。本発明の集積回路は,所定の形状を有する基本セルを行列状に敷き詰めて構成したアレイを有する集積回路である。基本セルは,第1の信号が供給される第1の入力端子と,第2の信号が供給される第2の入力端子と,第1及び第2の入力端子と対向する位置にある第1及び第2の出力端子と,第1の信号及び第2の信号をうけて,第1の設定情報に従い第1の信号及び第2の信号の論理演算結果にかかる信号,第1の信号若しくはその反転信号,又は第2の信号若しくはその反転信号のいずれかを第1の出力端子に供給する第1の論理ブロックと,第1の信号及び第2の信号をうけて,第2の設定情報に従い第1の信号及び第2の信号の論理演算結果にかかる信号,第1の信号若しくはその反転信号,又は第2の信号若しくはその反転信号のいずれかを第2の出力端子に供給する第2の論理ブロックと,を具備する。基本セルは,さらに,第1の設定情報を記憶する第1の記憶素子群と,第2の設定情報を記憶する第2の記憶素子群とを具備することが望ましい。第1の記憶素子群及び第2の記憶素子群はいずれも複数のフリップフロップ回路から構成され,これらフリップフロップに第1の設定情報及び第2の設定情報を供給するためのデータ配線群が列方向に形成され,これらフリップフロップに第1の設定情報及び第2の設定情報をラッチするための制御信号配線が行方向に形成されていることが望ましい。第1の論理ブロックは4つの3入力論理ゲートと,これら3入力論理ゲートの各出力が入力される4入力論理ゲートとから構成され,3入力論理ゲートには,いずれも,第1の設定情報,第1の信号又はその反転信号,及び第2の信号又はその反転信号がそれぞれ入力され,第2の論理ブロックは4つの3入力論理ゲートと,これら3入力論理ゲートの各出力が入力される4入力論理ゲートとから構成され,3入力論理ゲートには,いずれも,第2の設定情報,第1の信号又はその反転信号,及び第2の信号又はその反転信号がそれぞれ入力されることが望ましい。アレイは,基本セルを第1の行において所定のピッチで配列し,第1の行に隣接する第2の行において,半ピッチシフトさせつつ所定のピッチで配列することによって,第1の行の基本セルの第2の出力端子が第2の行の基本セルの第1の入力端子に接続され,第1の行の基本セルの第1の出力端子が第2の行の基本セルの第2の入力端子に接続されるように基本セルを敷き詰めて構成することが望ましい。アレイは,基本セルをn行配列した基本セルを奇数行1,3,n-1行において所定のピッチで配列し,基本セルを偶数行2,4,n行において,半ピッチシフトさせつつ所定のピッチで配列することによって,奇数行の基本セルの第2の出力端子が偶数行の基本セルの第1の入力端子に接続され,奇数行の基本セルの第1の出力端子が偶数行の基本セルの第2の入力端子に接続されるように基本セルを敷き詰めて構成したサブアレイを有し,サブアレイの一端にはn行目の各基本セルの出力をラッチするラッチ回路からなるラッチ回路行を有することが望ましい。アレイは,さらに,ラッチ回路の出力を1行の基本セルの第1の入力端子又は第2の入力端子に戻すためのフィードバック配線を有することが望ましい。アレイは,基本セルをm行配列してなり,さらに,集積回路は,データの転送を行うバスと,アレイの第1辺に沿って形成され,バスから供給されるデータを,アレイ中の1行目の基本セルの第1の入力端子又は第2の入力端子若しくはその両者に供給する第1のバスインターフェース回路と,アレイ中のm行目の基本セルの第1の出力端子又は第2の出力端子若しくはその両者から供給されるデータを,バスに供給する第2のバスインターフェース回路とを有することが望ましい。集積回路は,さらに,バスに接続された,所定の機能を有する機能ブロックを具備することが望ましい。アレイは,基本セルをm行配列してなり,さらに,集積回路は,データの転送を行う第1のデータバス,第2のデータバス及び第3のデータバスを有し,第1のデータバス及び第2のデータバスをそれぞれ入力とし,第3のデータバスに論理演算結果を出力する論理演算回路と,アレイ中の1行目の基本セルの第1の入力端子又は第2の入力端子若しくはその両者は第1のデータバス又は第2のデータバスが接続され,アレイ中のm行目の基本セルの第1の出力端子又は第2の出力端子若しくはその両者は第3のデータバスに接続されていることが望ましい。集積回路は,さらに,第1の設定情報及び第2の設定情報を,動的に再設定する制御回路を具備することが望ましい。さらに,上記目的を達成するために,本発明においては,さらに,集積回路の使用方法が提供される。上記した集積回路の使用方法において,第1の論理ブロックが,第2の信号又はその反転信号のいずれかを第1の出力端子に供給するように,第1の設定情報を設定するか,又は,第2の論理ブロックが,第1の信号又はその反転信号のいずれかを第2の出力端子に供給するように,第1の設定情報を設定することにより,第1の論理ブロック又は第2の論理ブロックを,実質的に斜め方向に走る配線と同一の作用を呈させることが望ましい。上記した集積回路の使用方法において,第1の設定情報及び第2の設定情報を,動的に再設定することが望ましい。上記した集積回路の使用方法において,基本セルの動作をテストすることによって不良セルを検出し,検出によって不良セルとされた基本セルを迂回するように第1の設定情報及び第2の設定情報を設定することが望ましい。1-3本発明の数学的基礎及び本発明の原理に関する説明ブール代数においては,図10に定義する論理式において,適切なS0,S1,S2,S3を選択することによって,すべての論理演算を実現することができる。図11に示すように,入力信号x1Inputx1及び入力信号x2Inputx2を受けて,出力信号f1x1,x2を出力する論理ブロックを実装することができる。そして,S0=0,S1=1,S2=0,S3=1を選択することによって,出力信号f1x1,x2=x2とすることができる。この選択によって,入力信号x2が,あたかも配線のように,出力信号出力信号f1x1,x2に結び付けられている。言い換えれば,適切なS0,S1,S2,S3を選択することによって,論理ブロックを配線として機能させることができる。図12は,図10の論理式を2つ用い,2つの入力信号から2つの出力信号が得られる基本セルを示した図である。適切なS00,S01,S02,S03,S10,S11,S12,S13を選択することによって,すべての論理演算の組み合わせを実現することができる。図13に示すように,2つの論理ブロックを用いて,入力信号x1Inputx1及び入力信号x2Inputx2を受けて,出力信号f1x1,x2及び出力信号f2x1,x2を出力する論理演算を基本セルに実装することができる。ここで,S00=0,S01=1,S02=0,S03=1を選択し,S10=0,S11=0,S12=1,S13=1を選択することによって,出力信号f1x1,x2=x2,出力信号f2x1,x2=x1とすることができる。この選択によって,入力信号x2が,あたかも配線のように,出力信号出力信号f1x1,x2に結び付けられ,入力信号x1が,あたかも配線のように,出力信号出力信号f2x1,x2に結び付けられている。言い換えれば,適切なS00,S01,S02,S03,S10,S11,S12,S13を選択することによって,2つの論理ブロック交差配線として機能させることができる。図14は,2つの論理ブロックを用いて,出力信号f1x1,x2=x2,出力信号f2x1,x2=x2とした例である。S00=0,S01=1,S02=0,S03=1を選択し,S10=1,S11=1,S12=0,S13=0を選択することによってこのような論理を実現することができる。言い換えれば,適切なS00,S01,S02,S03,S10,S11,S12,S13を選択することによって,2つの論理ブロックを入力信号x2の分岐配線として機能させることができる。図15は,2つの論理ブロックを用いて,出力信号f1x1,x2=x1,出力信号f2x1,x2=x1とした例である。S00=0,S01=0,S02=1,S03=1を選択し,S10=0,S11=0,S12=1,S13=1を選択することによってこのような論理を実現することができる。言い換えれば,適切なS00,S01,S02,S03,S10,S11,S12,S13を選択することによって,2つの論理ブロックを入力信号x1の分岐配線として機能させることができる。図16は,図12及び図13に記載された基本セルを敷き詰めてアレイ状に構成した例である。このアレイは,基本セルを1行目及び奇数行において所定のピッチで配列し,2行目及び偶数行において,半ピッチシフトさせつつ所定のピッチで配列している。1行目及び奇数行の基本セルの出力信号f2x1,x2が2行目及び偶数行の基本セルの入力信号x1に,1行目及び奇数行の基本セルの出力信号f1x1,x2が2行目及び偶数行の基本セルの入力信号x2にそれぞれ接続されるように配列している。このように構成し,かつ,基本セルのS00,S01,S02,S03,S10,S11,S12,S13を適切に選択することによって,基本セルを交差配線図13,分岐配線図14,図15,斜め配線などとして機能させることにより,斜め方向に信号を伝達することが可能になる。その結果,FPGA等で必要とされていた,基本セル間の配線領域をなくすことが可能になり,小さくすることが可能になる。2-1論理ブロックの構成図17は,上記した論理ブロック及び論理ブロックの機能を設定するための設定情報を記憶する記憶素子群のゲートレベル回路構成図である。論理ブロック110は,4つの3入力NANDゲート101,102,103及び104と,その出力すべてが入力される4入力NANDゲート105から構成されている。論理ブロック110の出力の論理式は,図17に示したとおりであり,端子C0,C1,C2,C3と端子Aと端子Bに供給される信号c0,c1,c2,c3,a,bの論理演算に基づく出力xが端子Xに提供される。c0,c1,c2,c3は上記S0,S1,S2,S3に,信号aがInputx1に,信号bがInputx2にそれぞれ対応する。記憶素子群111は,4つのフリップフロップ106,107,108及び109から構成されている。いずれも,端子Lに供給される制御信号が1ハイレベルから0ロウレベルに遷移するタイミングで,端子C0,C1,C2,C3のデータであるc0,c1,c2,c3設定情報が4つのフリップフロップ106,107,108及び109にそれぞれ取り込まれる。とりこまれたデータc0,c1,c2,c3は,論理ブロック110に伝達される。図18は設定情報c0,c1,c2,c3の組み合わせによって,論理ブロックがどのような論理演算を行い,出力端子Xにいかなるデータが出力されるかを示した表である。設定情報が0000の場合は出力は常に0,1000の場合はaとbの論理積,0100の場合は非aとbの論理積,1100の場合はb配線として作用する,0010の場合はaと非bの論理積,1010の場合はa配線として作用する,0110の場合はaとbの排他的論理和,1110の場合はaとbの論理和,0001の場合はaとbの反転論理和NOR,1001の場合はaとbの反転排他的論理和,0101の場合は非a,1101の場合は非aとbの論理和,0011の場合は非b,1011の場合はaと非bの論理和,0111の場合はaとbの反転論理積,1111の場合は常に1がそれぞれ出力される。2-2基本セルの構成図19は基本セルリーフセルのゲートレベル回路構成図である。基本セルは,2つの論理ブロック121及び122と,記憶素子群123及び124を有する。論理ブロック121及び122は,いずれも,4つの3入力NANDゲートと,その出力すべてが入力される4入力NANDゲートから構成されている。論理ブロック121は端子C0,C1,C2,C3と端子Aと端子Bに供給される信号c0,c1,c2,c3,a,bの論理演算に基づく出力xを端子Xに提供する。記憶素子群123は,4つのフリップフロップから構成されている。いずれも,端子Lに供給される制御信号が1ハイレベルから0ロウレベルに遷移し,端子/Lに供給される制御信号が0から1に遷移するタイミングで,端子C0,C1,C2,C3のデータであるc0,c1,c2,c3設定情報が4つのフリップフロップにそれぞれ取り込まれる。とりこまれたデータc0,c1,c2,c3は,論理ブロック121に伝達される。論理ブロック122は端子C4,C5,C6,C7と端子Aと端子Bに供給される信号c4,c5,c6,c7,a,bの論理演算に基づく出力yを端子Yに提供する。記憶素子群124は,4つのフリップフロップから構成されている。いずれも,制御信号Lが1ハイレベルから0ロウレベルに遷移し,制御信号/Lが0から1に遷移するタイミングで,端子C4,C5,C6,C7のデータであるc4,c5,c6,c7設定情報が4つのフリップフロップにそれぞれ取り込まれるこの点で,図1の回路とは異なる。とりこまれたデータc4,c5,c6,c7は,論理ブロック122に伝達される。端子C0,C1,C2,C3は,基本セルを上下に貫通する配線によって,端子Q0,Q1,Q2,Q3に接続されており,これら端子Q0,Q1,Q2,Q3は,それぞれ,次の行の基本セルの端子C4,C5,C6,C7に接続される。端子C4,C5,C6,C7は,基本セルを上下に貫通する配線によって,端子Q4,Q5,Q6,Q7に接続されており,これら端子Q4,Q5,Q6,Q7は,それぞれ,次の行の基本セルの端子C0,C1,C2,C3に接続される。端子L及び端子/Lは,基本セルを左右に貫通する配線によって,端子N,端子/Nにそれぞれ接続されており,これら端子N,端子/Nは,同一行で右に隣接する基本セルの端子L及び端子/Lにそれぞれ接続される。基本セルはそのレイアウトが横長の略長方形状をしている。略長方形状の上辺には端子C0,C1,C2,C3,A,C4,C5,C6,C7,Bが配列しており,下辺には端子Q0,Q1,Q2,Q3,X,Q4,Q5,Q6,Q7,Yが配列しており,左辺には端子L,/Lが配列しており,右片には端子N,/Nが配列している。図20は図19の基本セルのトランジスタレベルの回路図である。端子Aにはインバータ125及びインバータ126がそれぞれ接続され,端子Bにはインバータ127及びインバータ128がそれぞれ接続されている。インバータ125は端子Aに供給される信号aの反転信号である/aを生成し,インバータ126は信号aと同相でかつ増幅された信号aを生成する。インバータ127は端子Bに供給される信号bの反転信号である/bを生成し,インバータ128は信号bと同相でかつ増幅された信号bを生成する。そして,信号/a,a,/b,bが,多数の3入力NANDゲートに選択的に入力されるように構成される。2-3アレイの構成図21は,図20の基本セルを図16に示すように,行毎に半ピッチずらして行列状に配置したアレイのトランジスタレベルの回路図である。このように構成することによって,多種多様な組み合わせ論理回路を実現することができる。斜め方向の配線を論理ブロックによって実現するため,従来のような配線領域や結線領域が不要となり小さなリコンフィギャラブル回路を実現することができる。図22は各基本セルにc0,c1,c2,c3,c4,c5,c6,c7の各設定情報を供給するための回路が示されている。端子C0,C1,C2,C3,C4,C5,C6,C7に対応してフリップフロップ131138が設けられている。そして,これらフリップロフップは,シフトレジスタを構成し,左端のCDConfigrationData端子からシリアルに設定情報を供給する。データのシフトは図示しないクロック信号端子に供給される制御信号をトグルさせることによって行う。また,各行の端子L,/Lに対応して,フリップフロップ回路141,142,143が設けられている。そして,これらフリップフロップ回路は,シフトレジスタを構成し,左端のCHConfigrationDateHold端子からパルス信号をアレイの行を下から上に向かって順次転送することによって,最終行目から順番に,基本セル内に各設定情報を設定する。2-4基本セル及びアレイの変形例図23は基本セルリーフセルの変形例のゲートレベル回路構成図である。図19の回路と相違する点は,信号c0,c1,c2,c3を供給する端子が端子C0,/C0,C1,/C1,C2,/C2,C3,/C3からなり,相補信号が供給されることである。また,信号c4,c5,c6,c7を供給する端子が端子C4,/C4,C5,/C5,C6,/C6,C7,/C7からなり,相補信号が供給されることである。図24は図23の基本セルのトランジスタレベルの回路図である。設定情報の供給を相補信号で行うことによって,フリップフロップ回路のトランジスタ数を減らすことができる。図25は,図23の基本セルを,行毎に半ピッチずらして行列状に配置したアレイのトランジスタレベルの回路図である。図26は,図23は各基本セルにc0,/c0,c1,/c1,c2,/c2,c3,/c3,c4,/c4,c5,/c5,c6,/c6,c7,/c7の各設定情報を供給するための回路が示されている。フリップフロップ回路の相補的出力がそれぞれ供給される。図27は,図23は各基本セルにc0,/c0,c1,/c1,c2,/c2,c3,/c3,c4,/c4,c5,/c5,c6,/c6,c7,/c7の各設定情報を供給するためのさらに別の回路が示されている。ConfigrationDataは,基本セルの左側の記憶素子群の設定を行うラインConfigrationData1と,基本セルの右側の記憶素子群の設定を行うラインConfigrationData2とに分離されている。このように構成することによって,設定情報の更新を素早く行うことができる。2-5フィードバック回路図3で説明したとおり,アレイを列方向に並んだ複数のサブアレイで構成し,各サブアレイの間に,フィードバック回路を挿入することが可能である。図27は,このようなフィードバック回路b00~b31を挿入した例である。アレイは,サブアレイ141,142,143によって構成されており,サブアレイは,16行の基本セルから構成される。フィードバック回路の個数は基本セルの個数の2倍であり,サブアレイの最終行の基本セルの出力端子X及び出力端子Yにそれぞれ接続される。フィードバック回路の構成は,図3で説明したものと同一であり,フリップフロップ回路13,前段のデータ信号セレクタ12,フィードバック信号セレクタ11から構成される。さらに,セレクタを制御するために,設定情報を記憶するための素子群と,この設定情報を設定するための信号線等が存在する。図29は,基本セルを直下配線,斜め配線,分岐配線等として機能させ,フィードバック回路も利用した回路の例である。図30は,基本セルを直下配線,XOR排他的論理和AND論理積,OR論理和等として機能させ,フィードバック回路も利用して,8ビットのキャリー付加算器を生成した例である。図31は,基本セルを直下配線及び斜め配線として機能させ,フィードバック回路も利用してシフトレジスタを生成した例である。2-6基本セルリーフセルを用いたシステム図4乃至図9で説明したリーフセルを用いたシステムは,本実施例においても同様である。2-7基本セルのテスト上述した基本セルを用いたアレイは,以下のように使用することが望ましい。はじめに,すべての基本セルが動作するかどうかを以下のように確認する。各基本セルにc0,c1,c2,c3,c4,c5,c6,c7の各設定情報のすべてのパターン又は縮退したパターン実質的にすべてのパターンを検出することができるような部分集合のパターンを供給して基本セルの動作を確認する。そして,動作が想定と異なる場合には,上記パターンと出力との関係から,不良セルを特定する。これが不良セル特定ルーチンである。実際に,回路生成を行う際には,不良セルと特定された基本セルを迂回するように設定情報を設定する。そのように設定することによって,不良を含むセルアレイでも,実使用に用いることが可能となる。"