(57)【要約】 【課題】信号が遅延することを抑制することができるとともにチップ面積が増大するのを抑制することができる集積回路を提供する。【解決手段】本実施形態の集積回路は、論理演算を行う第１論理ブロックと、前記第１論理ブロックとの接続および非接続を制御する第１スイッチブロック回路と、前記第１論理ブロックとの接続および非接続を制御する第２スイッチブロック回路と、を含む第１ブロックと、論理演算を行う第２論理ブロックと、前記第２論理ブロックとの接続および非接続を制御する第３スイッチブロック回路と、前記第２論理ブロックとの接続および非接続を制御する第４スイッチブロック回路と、を含む第２ブロックと、を備え、前記第１スイッチブロック回路は、前記第３および第４スイッチブロック回路と相互に接続され、前記第２スイッチブロック回路は、前記第３および第４スイッチブロック回路と相互に接続される。【選択図】図１１
2017169118.tif 000002
【特許請求の範囲】
【請求項１】
論理演算を行う第１論理ブロックと、前記第１論理ブロックとの接続および非接続を制御する第１スイッチブロック回路と、前記第１論理ブロックとの接続および非接続を制御する第２スイッチブロック回路と、を含む第１ブロックと、
論理演算を行う第２論理ブロックと、前記第２論理ブロックとの接続および非接続を制御する第３スイッチブロック回路と、前記第２論理ブロックとの接続および非接続を制御する第４スイッチブロック回路と、を含む第２ブロックと、
を備え、
前記第１スイッチブロック回路は、前記第３および第４スイッチブロック回路と相互に接続され、
前記第２スイッチブロック回路は、前記第３および第４スイッチブロック回路と相互に接続されている集積回路。
【請求項２】
前記第１スイッチブロック回路および前記第２スイッチブロック回路は前記第１ブロック内において、互いに接続されず、
前記第３スイッチブロック回路および前記第４スイッチブロック回路は前記第２ブロック内において、互いに接続されない、請求項１記載の集積回路。
【請求項３】
前記第１論理ブロックおよび第２論理ブロックのうちの少なくとも１つはスイッチ回路を備え、前記スイッチ回路は、複数の第１入力端子および複数の第１出力端子を含み、前記複数の第１入力端子のそれぞれは、前記複数の第１出力端子のうちの１つに接続される請求項１または２記載の集積回路。
【請求項４】
前記第１ブロックと前記第２ブロックとの間に配置された第３ブロックを更に備えた請求項１乃至３のいずれかに記載の集積回路。
【請求項５】
前記第３ブロックは、論理演算を行う第３論理ブロックを備え、
前記第３論理ブロックは、前記第１乃至第４スイッチブロック回路それぞれの１つの出力端子に接続される請求項４記載の集積回路。
【請求項６】
前記第１乃至第４スイッチブロック回路はそれぞれ、複数の入力端子および複数の出力端子を含み、前記複数の入力端子のそれぞれは、前記複数の出力端子のうちの１つに接続される請求項１乃至４のいずれかに記載の集積回路。
【請求項７】
論理演算を行う第１論理ブロックと、複数の第１入力端子および複数の第１出力端子を含み、前記複数の第１入力端子のそれぞれは、前記複数の第１出力端子のうちの１つに接続され、前記複数の第１入力端子の少なくとも１つおよび前記複数の第１出力端子の少なくとも１つが前記第１論理ブロックに接続される第１スイッチブロック回路と、複数の第２入力端子および複数の第２出力端子を含み、前記複数の第２入力端子のそれぞれは、前記複数の第２出力端子のうちの１つに接続され、前記複数の第２入力端子の少なくとも１つおよび前記複数の第２出力端子の少なくとも１つが前記第１論理ブロックに接続される第２スイッチブロック回路と、を含む第１ブロックと、
論理演算を行う第２論理ブロックと、複数の第３入力端子および複数の第３出力端子を含み、前記複数の第３入力端子のそれぞれは、前記複数の第３出力端子のうちの１つに接続され、前記複数の第３入力端子の少なくとも１つおよび前記複数の第３出力端子の少なくとも１つが前記第２論理ブロックに接続される第３スイッチブロック回路と、複数の第４入力端子および複数の第４出力端子を含み、前記複数の第４入力端子のそれぞれは、前記複数の第４出力端子のうちの１つに接続され、前記複数の第４入力端子の少なくとも１つおよび前記複数の第４出力端子の少なくとも１つが前記第２論理ブロックに接続される第４スイッチブロック回路と、を含む第２ブロックと、
を備え、
前記複数の第１入力端子の少なくとも１つが前記複数の第３出力端子の１つに接続され、前記複数の第１入力端子の少なくとも他の１つが前記複数の第４出力端子の１つに接続され、
前記複数の第１出力端子の少なくとも１つが前記複数の第３入力端子の１つに接続され、前記複数の第１出力端子の少なくとも他の１つが前記複数の第４入力端子の１つに接続され、
前記複数の第２入力端子の少なくとも１つが前記複数の第３出力端子の１つに接続され、前記複数の第２入力端子の少なくとも他の１つが前記複数の第４出力端子の１つに接続され、
前記複数の第２出力端子の少なくとも１つが前記複数の第３入力端子の１つに接続され、前記複数の第２出力端子の少なくとも他の１つが前記複数の第４入力端子の１つに接続される、集積回路。
【請求項８】
前記第１乃至第４スイッチブロック回路は、マトリクス状に配列された２端子スイッチ素子を備えている請求項１乃至７のいずれかに記載の集積回路。
【請求項９】
請求項１乃至８のいずれかに記載の集積回路と、
プログラムを記憶するメモリと、
前記メモリに記憶されたプログラムにしたがって、前記集積回路に対して処理を実行するプロセッサと、
を備えた電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、集積回路および電子機器に関する。
【背景技術】
【０００２】
ＦＰＧＡ(Field Programmable Gate Array)は任意の論理機能を実現することができる集積回路である。ＦＰＧＡは、基本的な論理演算を行う論理ブロックと、論理ブロック間の配線の接続を切り替えるスイッチブロックと、を有している。
【０００３】
スイッチブロックは、機能としてマルチプレクサ回路（以下、ＭＵＸ回路ともいう）である。ＭＵＸ回路は接続された入力のうち、１つの入力を選択して出力に接続する機能を持つ。スイッチブロックは、出力が複数のマルチプレクサ回路で構成されている。全ての入力が全ての出力に任意に接続可能であるスイッチブロックが知られており、このスイッチブロックはクロスポイント型スイッチブロックと呼ばれる。
【０００４】
クロスポイント型スイッチブロックは、後述するように、信号が遅延することおよびチップ面積が増大するという課題がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許第５，１２２，６８５号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本実施形態は、信号が遅延することを抑制することができるとともにチップ面積が増大するのを抑制することができる集積回路および電子機器を提供する。
【課題を解決するための手段】
【０００７】
本実施形態による集積回路は、論理演算を行う第１論理ブロックと、前記第１論理ブロックとの接続および非接続を制御する第１スイッチブロック回路と、前記第１論理ブロックとの接続および非接続を制御する第２スイッチブロック回路と、を含む第１ブロックと、論理演算を行う第２論理ブロックと、前記第２論理ブロックとの接続および非接続を制御する第３スイッチブロック回路と、前記第２論理ブロックとの接続および非接続を制御する第４スイッチブロック回路と、を含む第２ブロックと、を備え、前記第１スイッチブロック回路は、前記第３および第４スイッチブロック回路と相互に接続され、前記第２スイッチブロック回路は、前記第３および第４スイッチブロック回路と相互に接続される。
【図面の簡単な説明】
【０００８】
【図１】ＦＰＧＡの構成を示すブロック図。
【図２】論理ブロックの構成の一例を示すブロック図。
【図３Ａ】ハードマクロの一例を示す図。
【図３Ｂ】ハードマクロの他の例を示す図。
【図４】ＭＵＸを備えたスイッチブロックの一例を示す図。
【図５】クロスポイント型スイッチブロックの一例を示す図。
【図６】２端子スイッチ素子を用いたクロスポイント型スイッチブロックの一例を示す図。
【図７】クロスポイント型スイッチブロックを示すブロック図。
【図８】クロスポイント型スイッチブロックの利点を説明する図。
【図９】クロスポイント型スイッチブロックを分割した場合のＦＰＧＡの一例を示す図。
【図１０】図９に示すＦＰＧＡの課題を説明する図。
【図１１】第１実施形態による集積回路を示すブロック図。
【図１２】第１実施形態の集積回路の効果を説明するブロック図。
【図１３】第２実施形態による集積回路を示すブロック図。
【図１４】第２実施形態の変形例による集積回路を示すブロック図。
【図１５】第３実施形態による集積回路を示すブロック図。
【図１６】第４実施形態による集積回路を示すブロック図。
【図１７】第５実施形態による集積回路を示すブロック図。
【発明を実施するための形態】
【０００９】
本発明の実施形態を説明する前に本発明に至った経緯について説明する。
【００１０】
まず、一般的なＦＰＧＡの構成について説明する。図１に示すように、一般に、ＦＰＧＡ１００は、アレイ状に配置された複数の基本ブロック１１０を有している。各基本ブロック１１０は、隣接する基本ブロック１１０と配線で接続される。各基本ブロック１１０は、論理ブロック１２０と、スイッチブロック１３０と、を備えている。論理ブロック１２０は論理演算を行うブロックであり、その基本構成は真理値表を実装したルックアップテーブルを用いて行う。各スイッチブロック１３０は、隣接する基本ブロック１１０に接続される配線の接続／非接続を制御し、任意の方向へ信号を伝達することを可能にする。
【００１１】
また、各スイッチブロック１３０は、論理ブロック１２０との接続も行う。論理ブロック１２０およびスイッチブロック１３０はそれぞれのコンフィグレーションメモリに記憶されたデータに基づいて接続の制御を行うことができる。
【００１２】
論理ブロック１２０は、図２に示すように、ルックアップテーブル回路１２２（以下、ＬＵＴ回路１２２ともいう）と、メモリ１２４と、を有し、これらＬＵＴ回路１２２は入力に応じて上記メモリ１２４に記憶された情報を出力する。このメモリ１２４に記憶された情報を書き換えることで、ＬＵＴ回路１２２に任意の機能を実装することができる。
【００１３】
その他に、論理ブロック１２０は、フリップフロップ回路１２６ａ，１２６ｂと、ハードマクロ１２８と、を含むこともある。フリップフロップ回路１２６ａはＬＵＴ回路１２２の出力端子に接続され、フリップフロップ回路１２６ｂは論理ブロック１２０の入力端子に直接接続される。ここで、ハードマクロ１２８とは、予め設計された回路群のことである。例えば、図３Ａに示すように、ハードマクロ１２８の一例として、ＡＮＤゲート１２９ａと、ＸＯＲゲート１２９ｂとで構成された半加算器１２８ａが挙げられる。また他の例として、半加算器１２８ａ、１２８ｂ、ＯＲゲート１２９ｃとで構成された全加算器１２８ｂが挙げられる。
【００１４】
スイッチブロック１３０は、複数のマルチプレクサ回路（以下、ＭＵＸ回路ともいう）を含む。スイッチブロック１３０の一例を図４に示す。このスイッチブロック１３０は、２個のＭＵＸ回路１３１ａ、１３１ｂを有し、これらのＭＵＸ回路１３１ａ、１３１ｂはそれぞれ、複数の配線１３３１〜１３３１０に接続された複数の入力端子のうち１つの入力端子を選択し、この選択した入力端子を配線１３５１，１３５２に接続された出力端子にそれぞれ接続する機能を持つ。このように、スイッチブロック１３０は出力端子を複数有する。
【００１５】
他の例のスイッチブロック１３０を図５に示す。この図５に示すスイッチブロック１３０は、マトリクス状に配列されたスイッチ回路１４０を有し、同一行に配置されたスイッチ回路１４０は１つの出力配線に接続される。例えば、図５において、上から第２ｉ−１（ｉ＝１，・・・，６）行に配列された複数のスイッチ回路１４０は、左に向かって信号が出力される配線１３５２ｉ−１に接続され、第２ｉ行に配列された複数のスイッチ回路１４０は、右に向かって信号が出力される配線１３５２ｉに接続される。また、左から第２ｊ−１（ｊ＝１，・・・，５）に配置されたスイッチ回路１４０は、配線１３３２ｊ−１に接続され、第２ｊ列に配置されたスイッチ回路１４０は、配線１３３２ｊに接続される。すなわち、スイッチ回路１４０は、配線１３３１〜１３３１０と、配線１３５１〜１３５１２との交差領域に設けられる。各スイッチ回路１４０は、配線１３３１〜１３３１０のうちの対応する一つの配線と、配線１３５１〜１３５１２のうちの対応する一つの配線との接続の有無を決定する。なお、例えば、上から第１行に配列されたスイッチ回路１４０と、第２行に配列されたスイッチ１回路４０は、図４に示すＭＵＸ回路１３１ａ、１３１ｂと同じ機能を有する。
【００１６】
このように、図５に示すスイッチブロック１３０は、全ての入力が全ての出力に任意に接続可能である。このように配線と配線との交差領域に配置され、スイッチ回路を有し、全ての入力が全ての出力に任意に接続可能であるスイッチブロックをクロスポイント型スイッチブロックと呼ぶ。
【００１７】
また、ＣＭＯＳトランジスタを用いたＭＵＸ回路も知られている。しかし、このＭＵＸ回路は、入力数の増加に対する面積増加が大きいため、全てのスイッチブロックへの入力をＭＵＸ回路を介して入力せず、間引いて入力するアーキテクチャを採用している場合もある。
【００１８】
例えば、２端子スイッチ素子として、ＭＴＪ(Magnetic Tunnel Junction)素子、酸化還元型抵抗変化素子、イオン伝導型抵抗変化素子、相変化素子などの抵抗変化メモリ、もしくはゲート酸化膜破壊型などのアンチヒューズのうち１つの素子が用いることで、面積の増加を抑えることが可能になる。
【００１９】
２端子スイッチ素子をスイッチ回路として用いたクロスポイント型スイッチブロックの一具体例を図６に示す。このスイッチブロック１３０は、２端子スイッチ素子１０ｉｊ（ｉ、ｊ＝１，２）と、インバータ２４１，２４２に入力する入力端子Ｉｎ１，Ｉｎ２と、トランジスタ２０１，２０２を介してインバータ２２１，２２２から出力される出力端子Ｏｕｔ１，Ｏｕｔ２と、を有する。入力端子Ｉｎｊ（ｊ＝１，２）はインバータ２４ｊを介して配線１３３ｊに接続される。出力端子Ｏｕｔｉ（ｉ＝１，２）はインバータ２２ｉ、トランジスタ２０ｉを介して配線１３５ｉに接続される。また、２端子スイッチ素子１０ｉｊ（ｉ、ｊ＝１，２）は、配線１３３ｊと配線１３５ｉとの交差領域に設けられ、２つの端子のうちの一方の端子が配線１３３ｊに接続され、他方の端子が配線１３５ｉに接続される。
【００２０】
このように、クロスポイント型スイッチブロックを用いた場合、論理ブロックへの入力は特別に入力回路を設ける必要はなく、図７に示すように、入力配線または出力配線と論理ブロック１２０の入力端子または出力端子とをそれぞれ接続する配線を設ければよい。この理由は、図８に示すように、スイッチブロック１３０は、このスイッチブロック１３０への任意の入力、例えば破線で示す入力Ｓ１、Ｓ２を任意の出力へ接続できるためであり、いわばスイッチブロック１３０が入力回路も含んでいる構成となっているためである。
【００２１】
以上のように、クロスポイント型スイッチブロックを用いれば論理ブロックへの入力用のＭＵＸ回路が必要なく、回路構成が単純になる。
【００２２】
しかし、近年のＦＰＧＡの配線リソースは非常に多く、クロスポイント型スイッチブロックにおいても、入出力数が多くなると考えられる。この場合、例え、２端子スイッチ素子を用いてチップ面積を小さくしたとしても、積み重なった素子容量により大きな遅延が発生する可能性がある。
【００２３】
この遅延に関しては、図９に示すように、クロスポイント型スイッチブロック１３０１、１３０２がそれぞれ複数（図９では、２つ）のスイッチブロック回路ＳＢＣａ、ＳＢＣｂに単純に分割された集積回路１００が考えられる。この集積回路１００においては、スイッチブロック１３０２のスイッチブロック回路ＳＢＣａは、スイッチブロック１３０１のスイッチブロック回路ＳＢＣａに接続されるが、スイッチブロック回路ＳＢＣｂには接続されない。また、同様に、スイッチブロック１３０２のスイッチブロック回路ＳＢｂは、スイッチブロック１３０１のスイッチブロック回路ＳＢＣｂに接続されるが、スイッチブロック回路ＳＢＣａには接続されない。なお、分割された各スイッチブロック回路は、例えば図６に示すようにマトリクス状に配列された複数のスイッチ素子１０１１〜１０２２を有するスイッチ回路を備えている。
【００２４】
このような構成とすることで接続素子数が減り、通過遅延を減少させることができる。しかし、この場合、図１０に示すように、スイッチブロック１３０２からの入力Ｓ２が論理ブロック１２０１に入力することができない状況が発生する。すなわち、図１０に示すＦＰＧＡでは、スイッチブロックからの全ての入力を有効活用できない状況が発生する。したがって、図１０に示すＦＰＧＡは、使用可能な配線数が減少してしまい、配線リソースが多いＦＰＧＡに用いることができない。
【００２５】
そこで、本発明者達は、鋭意研究に勤めた結果、配線リソースが多いＦＰＧＡに用いても、信号が遅延することを抑制することができるとともにチップ面積が増大するのを抑制することができる集積回路を得ることができた。この集積回路を以下に実施形態として説明する。
【００２６】
（第１実施形態）
第１実施形態による集積回路を図１１に示す。この第１実施形態の集積回路は、基本ブロック１１０１，１１０２を有し、各基本ブロック１１０ｉ（ｉ＝１，２）は、論理ブロック１２０ｉと、スイッチブロック１３０ｉと、を備えている。スイッチブッロク１３０１、１３０２はそれぞれ、スイッチブロック回路ＳＢＣａ、ＳＢＣｂに分割されている。スイッチブロック回路ＳＢＣａ、ＳＢＣｂはそれぞれ、例えば図６に示すように、マトリクス状に配列された複数のスイッチ素子１０１１〜１０２２を有するスイッチ回路を備えている。
【００２７】
この第１実施形態においては、図９または図１０に示すスイッチブロックが分割された集積回路と異なり、あるスイッチブロック、例えばスイッチブロック１３０２において分割されたスイッチブロック回路ＳＢＣａ、ＳＢＣｂはそれぞれ、他のスイッチブロック１３０１において分割されたスイッチブロック回路ＳＢＣａおよびスイッチブロック回路ＳＢＣｂに配線を介して接続され、かつスイッチブロック回路ＳＢＣａ、ＳＢＣｂのそれぞれは、これらのスイッチブロック回路ＳＢＣａ、ＳＢＣｂが属する基本ブロック１１０ｉ内の論理ブロック１２０ｉに配線を介して接続される。なお、あるスイッチブロック内で分割されたスイッチブロック回路の１つが、他のスイッチブロックのスイッチブロック回路それぞれに対して、何本ずつ配線を接続するかは個々の設計事項である。配線から論理ブロックへの入力は、論理ブロックの入力数分だけ任意に選択して接続する。
【００２８】
このような構成を取ることで、配線リソースを有効活用できる。これについて図１２を参照して説明する。
【００２９】
図９または図１０に示す集積回路１００では、スイッチブロック回路ＳＢＣａからの入力信号Ｓ１が目的の論理ブロック１２０１にアクセスしていれば、入力信号Ｓ２は論理ブロック１２０１にアクセスできなかった。
【００３０】
しかし、本実施形態においては、あるスイッチブロック内の各スイッチブロック回路は、他のスイッチブロック内のすべてのスイッチブロック回路と接続関係にある。このため、基本ブロック１１０ｉ（ｉ＝１，２）の論理ブロック１２０ｉに対応するスイッチブッロク１３０ｉで、他の基本ブロックにおいて、信号が通過するスイッチブロック回路から目的のスイッチブロック回路への接続を選択することで、論理ブロック１２０ｉに入力することができる。例えば、基本ブロック１１０２のスイッチブロック回路ＳＢＣａからの信号Ｓ２は、基本ブロック１１０１のスイッチブロック回路ＳＢｂＣへの接続を選択することで、論理ブロック１２０１へ入力することができる。これは、スイッチブロック回路がクロスポイント構造、つまり全ての入力が全ての出力に対して任意に接続可能であるためである。しかし、スイッチブロック回路内で、接続可能な配線が限定されている場合は適用できない。
【００３１】
なお、本実施形態においては、同じスイッチブロック内で分割されたスイッチブロック回路は相互に接続を持たない。これは、ＦＰＧＡの配線以外の接続を持てば、その分、クロスポイント型スイッチブロックが大きくなり、遅延が増加してしまうからである。
【００３２】
また、本実施形態においては、スイッチブロック回路間の接続のためだけの特別な回路は持たず、配線だけで接続される。これにより、チップ面積の増加を抑制することができる。
【００３３】
以上説明したように、第１実施形態によれば、信号が遅延することを抑制することができるとともにチップ面積が増大するのを抑制することができる集積回路を提供することが可能となる。
【００３４】
（第２実施形態）
図１１に示す第１実施形態の集積回路１００においては、各基本ブロックのスイッチブロックは２つのスイッチブロック回路に分割されていた。
【００３５】
配線数が増えればその分、スイッチブッロクをより多くのスイッチブロック回路に分割しなければならない。
【００３６】
第２実施形態による集積回路を図１２に示す。この第２実施形態の集積回路１００は、各スイッチブロックを少なくとも３つのスイッチブロック回路に分割した場合の集積回路である。
【００３７】
この第２実施形態の集積回路１００は、基本ブロック１１０１，１１０２を有し、各基本ブロック１１０ｉ（ｉ＝１，２）は、論理ブロック１２０ｉと、スイッチブロック１３０ｉと、を備えている。スイッチブッロク１３０１、１３０２はそれぞれ、スイッチブロック回路ＳＢＣａ、ＳＢＣｂ、ＳＢＣｃに分割されている。スイッチブロック回路ＳＢＣａ、ＳＢＣｂ、ＳＢＣｃはそれぞれ、例えば図６に示すように、マトリクス状に配列された複数のスイッチ素子１０１１〜１１２２を有するスイッチ回路１４０を備えている。
【００３８】
この第２実施形態の集積回路も第１実施形態と同様に、あるスイッチブロック、例えばスイッチブロック１３０２において分割されたスイッチブロック回路ＳＢＣａ、ＳＢＣｂ、ＳＢｃはそれぞれ、他のスイッチブロック１３０１において分割されたスイッチブロック回路ＳＢＣａおよびスイッチブロック回路ＳＢＣｂならびにスイッチブロック回路ＳＢＣｃに配線を介して接続され、かつスイッチブロック回路ＳＢＣａ、ＳＢＣｂ、ＳＢＣｃのそれぞれは、これらのスイッチブロック回路ＳＢＣａ、ＳＢＣｂ、ＳＢＣｃが属する基本ブロック１１０ｉ内の論理ブロック１２０ｉに配線を介して接続される。
【００３９】
このように構成された第２実施形態の集積回路においては、基本ブロック１１０ｉ（ｉ＝１，２）の論理ブロック１２０ｉの出力は、基本ブロック１１０ｉ内のそれぞれのスイッチブロック回路ＳＢＣａ、ＳＢＣｂ、ＳＢＣｃすべてに出力される。また、同じ基本ブロック内のスイッチブロック回路ＳＢＣａ、ＳＢＣｂ、ＳＢＣｃはそれぞれ、他の基本ブロック内のそれぞれのスイッチブロック回路ＳＢＣａ、ＳＢＣｂ、ＳＢＣｃと相互に配線を介して接続される。これにより、あるスイッチブロックのスイッチブロック回路に信号は入力されても、他のスイッチブロック内のあるスイッチブロック回路へ出力することができる。
【００４０】
以上説明したように、第２実施形態によれば、第１実施形態と同様に、信号が遅延することを抑制することができるとともにチップ面積が増大するのを抑制することができる集積回路を提供することが可能となる。
【００４１】
（変形例）
第２実施形態の変形例による集積回路を図１４に示す。この変形例の集積回路１００は、第２実施形態の集積回路において、各論理ブロック１２０ｉ（ｉ＝１，２）は、スイッチブロック回路ＳＢＣａ、ＳＢＣｂ、ＳＢＣｃと同じ構成の回路１６０ｉを備えている。回路１６０ｉ（ｉ＝１，２）は、例えば図６に示すように、マトリクス状に配列されたスイッチ素子１０１１〜１０２２を有するスイッチ回路を備えている。これらの回路１６０１，１６０２は、例えば、複数の論理ブッロクのＬＵＴ回路間の接続、ハードマクロ間の接続、および／またはＦＦ間の相互接続などを行う。
【００４２】
この変形例の集積回路も第２実施形態と同様に、信号が遅延することを抑制することができるとともにチップ面積が増大するのを抑制することができる集積回路を提供することが可能となる。
【００４３】
（第３実施形態）
第１乃至第２実施形態およびその変形例の集積回路においては、隣接する基本ブロック間のスイッチブロックのスイッチブロック回路間の接続について説明した。しかし、隣接する基本ブロック間における接続でなくとも良い。これを第３実施形態として説明する。
【００４４】
第３実施形態に集積回路を図１５に示す。この第３実施形態の集積回路１００は、図１４に示す第２実施形態の変形例の集積回路において、基本ブロック１１０１と基本ブロック１１０２との間に少なくとも１つのブロック１５０１、１５０２が配置されて構成を有している。これらのブロック１５０１、１５０２は、同じ基本ブロックであっても良いし、ブロックＲＡＭ(Random Access Memory)、またはＤＳＰ(Digital Signal Processor)など、他の機能を有るブロックであっても良い。
【００４５】
この第３実施形態の集積回路も第２実施形態の変形例と同様に、信号が遅延することを抑制することができるとともにチップ面積が増大するのを抑制することができる集積回路を提供することが可能となる。
【００４６】
（第４実施形態）
すべてを図１４に示す回路構成とすると、２つ隣りのブロックに接続するためには２つのスイッチブロック回路を通過しなければならない。もし、２つのスイッチブロックが２つ以上の他のスイッチブロックを跨いだ接続を多く含んでいた場合、その通過分の遅延が増加してしまう。これを解決した集積回路として、第４実施形態による集積回路を図１６に示す。
【００４７】
この第４実施形態の集積回路１００は、第３実施形態の集積回路において、基本ブロック１１０１と基本ブロック１１０２との間に配置されるブロックを基本ブロック１１０３とした構成を有している。そしてこの基本ブロック１１０３は、論理ブロック１２０３と、スイッチブロック１３０３とを有し、論理ブロック１２０３には、基本ブロック１１０１、１１０２内の論理ブロック１２０１，１２０２の回路１６０１、１６０２とおなじ構成の回路１６０３が配置されている。論理ブロック１２０３は、他の基本ブロック１１０１、１１０２のスイッチブロック回路ＳＢＣａ、ＳＢＣｂ、ＳＢＣｃとそれぞれ配線を介して接続される。スイッチブロック１３０３は、他の基本ブロック１１０１、１１０２のスイッチブロック回路ＳＢＣａ、ＳＢＣｂ、ＳＢＣｃとそれぞれ配線を介して接続され、他の基本ブロック１１０１、１１０２と異なる基本ブロックのスイッチブロック回路とそれぞれ配線を介して接続される（図示せず）。このような回路構成にすると、２つのブロック離れた基本ブロック１１０１から１１０２までの接続は、スイッチブロック１３０１、１３０２のスイッチブロック回路ＳＢＣａ、ＳＢＣｂ、ＳＢＣｃの通過遅延だけで接続可能となり、スイッチブロック回路を２つ通過する場合と比較して遅延が減少する。
【００４８】
この第４実施形態の集積回路も第３実施形態と同様に、信号が遅延することを抑制することができるとともにチップ面積が増大するのを抑制することができる集積回路を提供することが可能となる。
【００４９】
なお、第１乃至第４実施形態およびその変形例においては、スイッチブロック回路間の接続は、すべて紙面に対して左右方向に接続する場合を示したが、上下方向に接続するように構成してもよい。
【００５０】
（第５実施形態）
第５実施形態による電子機器を図１９に示す。この第５実施形態の電子機器は、第１乃至第４実施形態およびそれらの変形例のいずれかの集積回路を含む回路３００と、マイクロプロセッサ（以下、ＭＰＵ(Micro-Processing Unit)とも云う）３２０と、メモリ３４０と、インターフェイス（Ｉ／Ｆ）３６０とを備えており、これらの構成要素は、バス線３８０を介して接続されている。
【００５１】
ＭＰＵ３２０はプログラムに従い動作する。メモリ３４０は、ＭＰＵ３２０が動作するためのプログラムが予め記憶される。また、メモリ３４０はＭＰＵ３２０が動作する際のワークメモリとしても用いられる。Ｉ／Ｆ３６０は、ＭＰＵ３２０の制御に従い外部の機器と通信を行う。
【００５２】
この第５実施形態も第１乃至第４実施形態およびそれらの変形例と同様の効果を奏することができる。
【００５３】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これらの実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これらの実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００５４】
１０１１〜１０２２・・・２端子スイッチ素子、２０１、２０２・・・トランジスタ、２２１，２２２・・・インバータ、２４１，２４２・・・インバータ、１００・・・ＦＰＧＡ、１１０，１１０１，１１０２，１１０３・・・基本ブロック、１２０，１２０１，１２０２，１２０３・・・論理ブロック、１２２・・・ＬＵＴ、１２４・・・メモリ、１２６ａ，１２６ｂ・・・ＦＦ、１２８・・・ハードマクロ、１２８ａ，１２８ａ１，１２８ａ２・・・半加算器、１２８ｂ・・・全加算器、１２９ａ・・・ＡＮＤゲート、１２９ｂ・・・ＸＯＲゲート、１２９ｃ・・・ＯＲゲート、１３０，１３０１，１３０２，１３０３・・・スイッチブロック、１３１ａ，１３１ｂ・・・ＭＵＸ回路、１３３１〜１３３１０・・・配線、１３５１〜１３５１２・・・配線、１４０・・・スイッチ回路、１６０１，１６０２、１６０３・・・回路、Ｉｎ１，Ｉｎ２・・・入力端子、Ｏｕｔ１，Ｏｕｔ２・・・出力端子、ＬＢ・・・論理ブロック、ＳＢ・・・スイッチブロック、ＳＢＣａ，ＳＢＣｂ，ＳＢＣｃ・・・スイッチブロック回路
【図１】
2017169118.tif 000003
【図２】
2017169118.tif 000004
【図３Ａ】
2017169118.tif 000005
【図３Ｂ】
2017169118.tif 000006
【図４】
2017169118.tif 000007
【図５】
2017169118.tif 000008
【図６】
2017169118.tif 000009
【図７】
2017169118.tif 000010
【図８】
2017169118.tif 000011
【図９】
2017169118.tif 000012
【図１０】
2017169118.tif 000013
【図１１】
2017169118.tif 000014
【図１２】
2017169118.tif 000015
【図１３】
2017169118.tif 000016
【図１４】
2017169118.tif 000017
【図１５】
2017169118.tif 000018
【図１６】
2017169118.tif 000019
【図１７】
2017169118.tif 000020