(57)【要約】      （修正有）【課題】論理ブロック間の信号の遅延を抑制できる集積回路および電子機器を提供する。【解決手段】第１乃至第３基本タイルは、論理ブロックとスイッチブロックとを有し、スイッチブロック内のスイッチ回路１３０Ａは、マトリクス状に配列され、同一列に配置されたスイッチ素子に接続される入力端子と出力端子とを有する。第１基本タイルのスイッチ回路と論理ブロックとを接続する第１配線と、第１基本タイルと第２基本タイルのスイッチ回路とを接続する第２配線と、第１基本タイルと第３基本タイルのスイッチ回路とを接続し、第２基本タイルのスイッチ回路の入力端子の一つに接続される第３配線と、第２基本タイルのスイッチ回路と第２基本タイルの論理ブロックとを接続する第４配線と、第２基本タイルと第３基本タイルのスイッチ回路とを接続する第５配線と、第３基本タイルのスイッチ回路と第３基本タイルの論理ブロックとを接続する第６配線と、を備える。【選択図】図１３
2018120992.tif 000002
【特許請求の範囲】
【請求項１】
第１乃至第３基本タイルであって、前記第２基本タイルは前記第１基本タイルと前記第３基本タイルとの間に位置し、各基本タイルは、論理演算を行う第１論理ブロックと、第１スイッチブロックと、を有し、前記第１スイッチブロックは第１スイッチ回路を含み、前記第１スイッチ回路は、マトリクス状に配列された２端子スイッチ素子と、同一列に配置された２端子スイッチ素子の一方の端子に接続される入力端子と、同一行に配列された２端子スイッチ素子の他方の端子に接続された出力端子と、を有する、第１乃至第３基本タイルと、
前記第１基本タイルの前記第１スイッチ回路と前記第１基本タイルの前記第１論理ブロックとを接続する第１配線と、
前記第１基本タイルの前記第１スイッチ回路と前記第２基本タイルの前記第１スイッチ回路とを接続する第２配線と、
前記第１基本タイルの前記第１スイッチ回路と前記第３基本タイルの前記第１スイッチ回路とを直接接続する第３配線と、
前記第２基本タイルの前記第１スイッチ回路と前記第２基本タイルの前記第１論理ブロックとを接続する第４配線と、
前記第２基本タイルの前記第１スイッチ回路と前記第３基本タイルの前記第１スイッチ回路とを接続する第５配線と、
前記第３基本タイルの前記第１スイッチ回路と前記第３基本タイルの前記第１論理ブロックとを接続する第６配線と、
を備え、
前記第３配線は、前記第２基本タイルの前記第１スイッチ回路の入力端子の一つに接続される集積回路。
【請求項２】
前記第２基本タイルと前記第３基本タイルとの間に位置する第４基本タイルであって、前記第４基本タイルは、論理演算を行う第２論理ブロックと、第２スイッチブロックと、を有し、前記第２スイッチブロックは第２スイッチ回路を含み、前記第２スイッチ回路は、マトリクス状に配列された２端子スイッチ素子と、同一列に配置された２端子スイッチ素子の一方の端子に接続される入力端子と、同一行に配列された２端子スイッチ素子の他方の端子に接続された出力端子と、を有する、第４基本タイルと、
前記第４基本タイルの前記第２スイッチ回路と前記第４基本タイルの前記第２論理ブロックとを接続する第６配線と、
前記第４基本タイルの前記第２スイッチ回路と前記第２基本タイルの前記第１スイッチ回路とを接続する第７配線と、
前記第４基本タイルの前記第２スイッチ回路と前記第３基本タイルの前記第１スイッチ回路とを接続する第８配線と、
を更に備え、
前記第３配線は、前記第４基本タイルの前記第２スイッチ回路の入力端子の一つに接続される請求項１記載の集積回路。
【請求項３】
論理演算を行う論理ブロックと、スイッチブロックと、を備えた基本タイルであって、前記スイッチブロックはスイッチ回路を含み、前記スイッチ回路は、マトリクス状に配列された２端子スイッチ素子と、同一列に配置された２端子スイッチ素子の一方の端子に接続される入力端子と、同一行に配列された２端子スイッチ素子の他方の端子に接続された出力端子と、を有する、基本タイルと、
前記スイッチ回路と前記論理ブロックとを接続する配線と、
を備えた集積回路。
【請求項４】
前記２端子素子は、ゲート酸化膜破壊型のアンチヒューズ素子である請求項１乃至３のいずれかに記載の集積回路。
【請求項５】
前記２端子素子は、抵抗変化素子である請求項１乃至３のいずれかに記載の集積回路。
【請求項６】
請求項１乃至５のいずれかに記載の集積回路と、
プログラムを記憶するメモリと、
前記メモリに記憶されたプログラムにしたがって、前記集積回路に対して処理を実行するプロセッサと、
を備えた電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、集積回路および電子機器に関する。
【背景技術】
【０００２】
ＦＰＧＡ(Field Programmable Gate Array)は任意の論理機能を実現することができる集積回路である。ＦＰＧＡは任意の論理演算を行う論理ブロックと、論理ブロック間の配線の接続の切り替えるスイッチブロックと、を有している。論理ブロックは少なくとも１つのルックアップテーブル回路を有し、このルックアップテーブル回路は入力に応じてメモリに記憶された値を出力する。このメモリを書き換えることで、ルックアップテーブル回路に配線の切り替え機能を実装することができる。
【０００３】
後述するように、論理ブロック間の信号の伝達は複数のスイッチブロックを介して行われる。このため、多数のスイッチブロックを介して信号を伝達する場合には、信号の遅延が大きくなるという問題がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許第５，９１４，６１６号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本実施形態は、論理ブロック間の信号の遅延を抑制することのできる集積回路および電子機器を提供する。
【課題を解決するための手段】
【０００６】
本実施形態による集積回路は、第１乃至第３基本タイルであって、前記第２基本タイルは前記第１基本タイルと前記第３基本タイルとの間に位置し、各基本タイルは、論理演算を行う第１論理ブロックと、第１スイッチブロックと、を有し、前記第１スイッチブロックは第１スイッチ回路を含み、前記第１スイッチ回路は、マトリクス状に配列された２端子スイッチ素子と、同一列に配置された２端子スイッチ素子の一方の端子に接続される入力端子と、同一行に配列された２端子スイッチ素子の他方の端子に接続された出力端子と、を有する、第１乃至第３基本タイルと、前記第１基本タイルの前記第１スイッチ回路と前記第１基本タイルの前記第１論理ブロックとを接続する第１配線と、前記第１基本タイルの前記第１スイッチ回路と前記第２基本タイルの前記第１スイッチ回路とを接続する第２配線と、前記第１基本タイルの前記第１スイッチ回路と前記第３基本タイルの前記第１スイッチ回路とを直接接続する第３配線と、前記第２基本タイルの前記第１スイッチ回路と前記第２基本タイルの前記第１論理ブロックとを接続する第４配線と、前記第２基本タイルの前記第１スイッチ回路と前記第３基本タイルの前記第１スイッチ回路とを接続する第５配線と、前記第３基本タイルの前記第１スイッチ回路と前記第３基本タイルの前記第１論理ブロックとを接続する第６配線と、を備え、前記第３配線は、前記第２基本タイルの前記第１スイッチ回路の入力端子の一つに接続される。
【図面の簡単な説明】
【０００７】
【図１】ＦＰＧＡの構成を示す。
【図２】論理ブロックの構成の一例を示すブロック図。
【図３Ａ】ハードマクロの一例を示す図。
【図３Ｂ】ハードマクロの他の例を示す図。
【図４】基本タイルの一例を示す図。
【図５】マルチプレクサの一例を示す図。
【図６】マルチプレクサの他の例を示す図。
【図７】３個の基本タイルが横方向に配列されたＦＰＧＡを示す図。
【図８】図７に示すＦＰＧＡにおいて、信号遅延を説明する図。
【図９】信号遅延を解消するスイッチブロックの一例を示す図。
【図１０】図９に示すスイッチブロックを用いたＦＰＧＡを示す図。
【図１１】図１０に示すＦＰＧＡの課題を説明する図。
【図１２】図１０に示すＦＰＧＡの課題を説明する図。
【図１３】第１実施形態による集積回路の基本タイルを示す回路図。
【図１４】第１実施形態のスイッチブロックに含まれるクロスポイント型スイッチ回路を示す図。
【図１５】クロスポイント型スイッチ回路の一例を示す回路図。
【図１６】書き込み回路を含むスイッチ回路を示す回路図。
【図１７】図１６に示すスイッチ回路の書き込みを説明する図。
【図１８】第１実施形態の集積回路を示す回路図。
【図１９】図１８に示す集積回路の効果を説明する図。
【図２０】第１実施形態の第１変形例による集積回路を示す回路図。
【図２１】第１実施形態の第２変形例による集積回路を示す回路図。
【図２２】第１実施形態の第３変形例による集積回路を示す回路図。
【図２３】第２実施形態による電子機器を示すブロック図。
【発明を実施するための形態】
【０００８】
実施形態について説明する前に、本発明に至った経緯について説明する。
【０００９】
まず、一般的なＦＰＧＡの構成について説明する。図１に示すように、一般に、ＦＰＧＡ１００は、アレイ状に配置された複数の基本タイル１１０を有している。各基本タイル１１０は、隣接する基本タイル１１０と配線で接続される。各基本タイル１１０は、論理ブロック（以下、ＬＢ（Logic Block）ともいう）１２０と、スイッチブロック１３０（以下、ＳＢ（Switch Block）ともいう）と、を備えている。論理ブロック１２０は論理演算を行うブロックであり、その基本構成は真理値表を実装したルックアップテーブルを用いて行う。各スイッチブロック１３０は、隣接する基本タイル１１０に接続される配線の接続／非接続を制御し、任意の方向へ信号を伝達することを可能にする。
【００１０】
また、各スイッチブロック１３０は、論理ブロック１２０との接続も行う。論理ブロック１２０およびスイッチブロック１３０はそれぞれのコンフィグレーションメモリに記憶されたデータに基づいて接続の制御を行うことができる。
【００１１】
論理ブロック１２０は、例えば図２に示すように、ルックアップテーブル回路１２２（以下、ＬＵＴ回路１２２ともいう）と、メモリ１２４と、を有する。このＬＵＴ回路１２２は入力に応じてメモリ１２４に記憶された情報を出力する。このメモリ１２４に記憶された情報を書き換えることで、ＬＵＴ回路１２２に任意の機能を実装することができる。
【００１２】
その他に、論理ブロック１２０は、フリップフロップ回路１２６ａ，１２６ｂと、ハードマクロ１２８と、を含むこともある。フリップフロップ回路１２６ａはＬＵＴ回路１２２の出力端子に接続され、フリップフロップ回路１２６ｂは論理ブロック１２０の入力端子に直接接続される。ここで、ハードマクロ１２８とは、予め設計された回路群のことである。例えば、図３Ａに示すように、ハードマクロ１２８の一例として、ＡＮＤゲート１２９ａと、ＸＯＲ（排他的論理和）ゲート１２９ｂとで構成された半加算器１２８ａが挙げられる。また他の例として、図３Ｂに示すように半加算器１２８ａ、１２８ｂ、ＯＲゲート１２９ｃとで構成された全加算器１２８ｂが挙げられる。
【００１３】
スイッチブロック１３０は、例えば、複数のマルチプレクサ回路（以下、ＭＵＸ回路ともいう）を含む。ＭＵＸ回路は接続された入力のうち、１つの入力を選択して出力に接続する機能を持つ。スイッチブロック１３０はスイッチブロックの出力端子数に対応する個数のＭＵＸ回路を含む。また、スイッチブロック１３０内のＭＵＸ回路は、論理ブロック１２０の複数の出力端子に接続されることで、論理ブロック１２０の出力端子の配線への接続も行う。論理ブロック１２０への入力は、これらのＭＵＸ回路の複数の出力端子のうち何れか、もしくは全てが論理ブロックに入力されることで行う。
【００１４】
スイッチブロック１３０の一例を図４に示す。このスイッチブロック１３０は、８個のＭＵＸ回路１３１１〜１３１８を有している。ＭＵＸ回路１３１１〜１３１８はそれぞれ、複数の入力端子と、１つの出力端子を有している。
【００１５】
ＭＵＸ回路１３１１の入力端子は、同じ基本タイル内の論理ブロック１２０の出力端子からの信号が搬送される配線群１３７と、下方から入力される信号が搬送される配線１３５Ｓ１と、上方から入力される信号が搬送される配線１３５Ｎ２と、左方から入力される信号が搬送される配線１３５Ｗ２とにそれぞれ接続され、出力端子は、右方へ搬送される信号を出力する配線１３６Ｅ１に接続される。
【００１６】
ＭＵＸ回路１３１２の入力端子は、同じ基本タイル内の論理ブロック１２０の出力端子からの信号が搬送される配線群１３７と、下方から入力される信号が搬送される配線１３５Ｓ２と、上方から入力される信号が搬送される配線１３５Ｎ１と、左方から入力される信号が搬送される配線１３５Ｗ１とにそれぞれ接続され、出力端子は、右方へ搬送される信号を出力する配線１３６Ｅ２に接続される。
【００１７】
ＭＵＸ回路１３１３の入力端子は、同じ基本タイル内の論理ブロック１２０の出力端子からの信号が搬送される配線群１３７と、下方から入力される信号が搬送される配線１３５Ｓ２と、右方から入力される信号が搬送される配線１３５Ｅ１と、左方から入力される信号が搬送される配線１３５Ｗ２とにそれぞれ接続され、出力端子は、上方へ搬送される信号を出力する配線１３６Ｎ１とに接続される。
【００１８】
ＭＵＸ回路１３１４の入力端子は、同じ基本タイル内の論理ブロック１２０の出力端子からの信号が搬送される配線群１３７と、下方から入力される信号が搬送される配線１３５Ｓ１と、右方から入力される信号が搬送される配線１３５Ｅ２と、左方から入力される信号が搬送される配線１３５Ｗ１とにそれぞれ接続され、出力端子は、上方へ搬送される信号を出力する配線１３６Ｎ２とに接続される。
【００１９】
ＭＵＸ回路１３１５の入力端子は、同じ基本タイル内の論理ブロック１２０の出力端子からの信号が搬送される配線群１３７と、右方から入力される信号が搬送される配線１３５Ｅ２と、上方から入力される信号が搬送される配線１３５Ｎ１と、下方から入力される信号が搬送される配線１３５Ｓ２とにそれぞれ接続され、出力端子は、左方へ搬送される信号を出力する配線１３６Ｗ１と、論理ブロック１２０の入力端子への配線１３８とに接続される。
【００２０】
ＭＵＸ回路１３１６の入力端子は、同じ基本タイル内の論理ブロック１２０の出力端子からの信号が搬送される配線群１３７と、右方から入力される信号が搬送される配線１３５Ｅ１と、上方から入力される信号が搬送される配線１３５Ｎ２と、下方から入力される信号が搬送される配線１３５Ｓ１とにそれぞれ接続され、出力端子は、左方へ搬送される信号を出力する配線１３６Ｗ２と、論理ブロック１２０の入力端子への配線１３８とに接続される。
【００２１】
ＭＵＸ回路１３１７の入力端子は、同じ基本タイル内の論理ブロック１２０の出力端子からの信号が搬送される配線群１３７と、右方から入力される信号が搬送される配線１３５Ｅ２と、上方から入力される信号が搬送される配線１３５Ｎ２と、左方から入力される信号が搬送される配線１３５Ｗ１とにそれぞれ接続され、出力端子は、下方へ搬送される信号を出力する配線１３６Ｓ１と、論理ブロック１２０の入力端子への配線１３８とに接続される。
【００２２】
ＭＵＸ回路１３１８の入力端子は、同じ基本タイル内の論理ブロック１２０の出力端子からの信号が搬送される配線群１３７と、右方から入力される信号が搬送される配線１３５Ｅ１と、上方から入力される信号が搬送される配線１３５Ｎ１と、左方から入力される信号が搬送される配線１３５Ｗ２とにそれぞれ接続され、出力端子は、下方へ搬送される信号を出力する配線１３６Ｓ２と、論理ブロック１２０の入力端子への配線１３８とに接続される。
【００２３】
これらのＭＵＸ回路１３１は、例えば図５に示すようなＣＭＯＳ回路で構成される。図５に示すＭＵＸ回路１３１は、４段の選択回路１４２１〜１４２４と、８個のインバータ１４５１〜１４５８と、備えている。選択回路１４２ｉ（ｉ＝１，２，３，４）は、メモリＭｉと、３個のインバータ１４４ａｉ，１４４ｂｉ，１４４ｃｉと、２４−ｉ個のトランスファーゲート１４６ｉｊ（ｊ＝１，・・・，２４−ｉ）と、を備えている。各インバータ１４５ｉ（ｉ＝１，・・・，８）は、入力端子に入力信号Ｉｎｉを受ける。
【００２４】
各メモリＭｉ（ｉ＝１，・・・，４）は、データ「０」またはデータ「１」を記憶する。これらのデータは、ＦＰＧＡが使用されるとき外部から各メモリＭｉに格納される。インバータ１４４ａｉ，インバータ１４４ｃｉ（ｉ＝１，・・・，４）は、入力端子がそれぞれメモリＭｉに接続される。インバータ１４４ｂｉ（ｉ＝１，・・・，４）は、入力端子がインバータ１４４ａｉの出力端子に接続される。
【００２５】
各トランスファーゲート１４６ｉｊ（ｉ＝１，・・・，４、ｊ＝１，・・・，２４−ｉ）は、並列に接続されたｐチャネルＭＯＳトランジスタおよびｎチャネルＭＯＳトランジスタを有している。
【００２６】
選択回路１４２１において、トランスファーゲート１４６１１、１４６１３、１４６１５、１４６１７はそれぞれ、ｐチャネルＭＯＳトランジスタのゲートがインバータ１４４ｃ１の出力端子に接続され、ｎチャネルＭＯＳトランジスタのゲートがインバータ１４４ｂ１の出力端子に接続される。また、選択回路１４２１において、トランスファーゲート１４６１２、１４６１４、１４６１６、１４６１８はそれぞれ、ｐチャネルＭＯＳトランジスタのゲートがインバータ１４４ｂ１の出力端子に接続され、ｎチャネルＭＯＳトランジスタのゲートがインバータ１４４ｃ１の出力端子に接続される。各トランスファーゲート１４６１ｊ（ｊ＝１，・・・，８）において、入力端子がインバータ１４５ｊの出力端子に接続される。
【００２７】
選択回路１４２２において、トランスファーゲート１４６２１、１４６２３はそれぞれ、ｐチャネルＭＯＳトランジスタのゲートがインバータ１４４ｃ２の出力端子に接続され、ｎチャネルＭＯＳトランジスタのゲートがインバータ１４４ｂ２の出力端子に接続される。また、選択回路１４２２において、トランスファーゲート１４６２２、１４６２４はそれぞれ、ｐチャネルＭＯＳトランジスタのゲートがインバータ１４４ｂ２の出力端子に接続され、ｎチャネルＭＯＳトランジスタのゲートがインバータ１４４ｃ２の出力端子に接続される。各トランスファーゲート１４６２ｊ（ｊ＝１，・・・，４）において、入力端子がトランスファーゲート１４６１２ｊ−１、１４６１２ｊのそれぞれの出力端子に接続される。
【００２８】
選択回路１４２３において、トランスファーゲート１４６３１は、ｐチャネルＭＯＳトランジスタのゲートがインバータ１４４ｃ３の出力端子に接続され、ｎチャネルＭＯＳトランジスタのゲートがインバータ１４４ｂ３の出力端子に接続される。また、選択回路１４２３において、トランスファーゲート１４６３２は、ｐチャネルＭＯＳトランジスタのゲートがインバータ１４４ｂ３の出力端子に接続され、ｎチャネルＭＯＳトランジスタのゲートがインバータ１４４ｃ３の出力端子に接続される。各トランスファーゲート１４６３ｊ（ｊ＝１，２）において、入力端子がトランスファーゲート１４６２２ｊ−１、１４６２２ｊのそれぞれの出力端子に接続される。
【００２９】
選択回路１４２４において、トランスファーゲート１４６４１は、ｐチャネルＭＯＳトランジスタのゲートがインバータ１４４ｃ４の出力端子に接続され、ｎチャネルＭＯＳトランジスタのゲートがインバータ１４４ｂ４の出力端子に接続される。トランスファーゲート１４６４１は、入力端子がトランスファーゲート１４６３１、１４６３２のそれぞれの出力端子に接続され、出力端子から信号Ｏｕｔが出力される。
【００３０】
ＭＵＸ回路１３１の他の例を図６に示す。このＭＵＸ回路１３１は、図５に示すＭＵＸ回路において、トランスファーゲート１４６ｉｊ（ｉ＝１，・・・，４、ｊ＝１，・・・，２４−ｉ）をｎチャネルＭＯＳトランジスタ１４８ｉｊに置き換えた構成を有している。
【００３１】
図７に、３個の基本タイル１１０１，１１０１、１１０３が、この順序で横方向に配列されたＦＰＧＡを示す。各基本タイル１１０ｉ（ｉ＝１，２，３）は、論理ブロック１２０ｉと、スイッチブロック１３０ｉとを有している。各スイッチブロック１３０ｉ（ｉ＝１，２，３）は、図４に示すスイッチブロック１３０と同じ構成を有している。
【００３２】
このＦＰＧＡにおいて、論理ブロック１２０１から論理ブロック１２０３に信号を送ることを考える。信号を送る経路としては、複数の経路が考えうる。しかし、何れの経路であっても最短ルートは図８に示す太線のようにスイッチブロック１３０１、１３０２、１３０３内の破線で示すＭＵＸ回路を通過することになる。ＭＵＸ回路を通過する毎に回路の動作遅延が加算される。この図８に示す例のように、２個隣りの論理ブロックとの接続であればそれほど大きな遅延とはならない。しかし、数十個のスイッチブロックを通過するような長距離離れた論理ブロック間を接続する場合は、遅延は大きなものとなる。
【００３３】
上記遅延の問題に関し、隣接する基本タイルのスイッチブロックにおけるＣＭＯＳ回路（例えば、図８においては、ＭＵＸ回路）を通過せずに更に先の基本タイルまで接続する技術が知られている（特許文献１）。この技術においては、例えば図９に示したように、スイッチブロック１３０内のＭＵＸ回路１３１ｂ、１３１ｄには入力するが、ＭＵＸ回路１３１ａ、１３１ｃを通過せず隣のタイルまで接続される配線１５０、１５２を用意するとともに、ＭＵＸ回路１３１ａ、１３１ｃには入力するが、ＭＵＸ回路１３１ｂ、１３１ｄを通過せず隣の基本タイルまで接続される配線１５４、１５６を有する基本タイルを用意する。このような配線が各基本タイル１１０ｉ（ｉ＝１，２，３）に設けられたＦＰＧＡを図１０に示す。図１０において、上記配線を符号Ｂ１で示す。このＦＰＧＡにおいて、論理ブロック１２０１から論理ブロック１２０３への最短経路は、図１１に太線で示す経路となる。すなわち、この最短経路は、破線で囲んだＭＵＸ回路Ａ１、Ａ３を通過するが、他のＭＵＸ回路は通過しない。このため、長距離離れた論理ブロック間を接続する配線（以下、長距離配線ともいう）が設けられている場合は、長距離配線を設けない場合に比べて遅延が減少する。
【００３４】
しかし、全ての論理ブッロク間の経路が常に長距離配線の終端に目的地があるわけではない。そのため、ＦＰＧＡにおいては、長距離配線から短距離配線への接続もしくは長距離配線が通過する途中のスイッチブロックから別の長距離配線への接続が可能となる構成を有している。ただし、ＭＵＸ回路等は入力端子の増加に対して面積の増加が大きいため、ＭＵＸ回路を用いた場合は、接続先を限定するのが一般的である。図９に示した回路から分かるように、終端以外での接続はその長距離配線１５０、１５２に直交する方向に限定されている。このように接続先を限定しても任意の配線は可能であるが、配線自由度の減少により経路が長くなる可能性がある。例えば図１２に示すように、２×４個の基本タイル１１０１１〜１１０２４がマトリクス状に配列されているときに、基本タイル１１０２１の論理ブロック１２０２１から基本タイル１１０２４の論理ブロック１２０２４へ信号を送る場合を考える。この場合、通常であれば、基本タイル１１０２１の論理ブロック１２０２１から基本タイル１１０２２のスイッチブロック１３０２２、基本タイル１１０２３のスイッチブロック１３０２３、基本タイル１１０２４のスイッチブロック１３０２４を介して論理ブッロク１２０２４に接続する経路が最短となる。しかし、基本タイル１１０１３の上方からの信号が経路１６０によって、基本タイル１１０２３のスイッチブロック１３０２３に入力していた場合は、他の経路１６２が用いられる。この経路１６２は、基本タイル１１０２１の論理ブロック１２０２１から基本タイル１１０２２のスイッチブロック１３０２２、基本タイル１１０１２のスイッチブロック１３０１２、基本タイル１１０１３のスイッチブロック１３０１３、基本タイル１１０１４のスイッチブロック１３０１４を介して基本タイル１１０２４の論理ブッロク１２０２４に接続する。したがって、基本タイル１１０２３のスイッチブロック１３０２３が使用されていない場合に比べて、経路１６２は遠回りすることになる。これは遅延が増加するだけでなく、無駄な経路が増加することになり、ハードウエア資源が消費される、つまり配線数が増加する可能性がある。
【００３５】
そこで、本発明者は鋭意研究に努め、多数のスイッチブロックを介して信号を伝達しても、信号の遅延を抑制することのできる集積回路を見出した。この集積回路を以下の実施形態で説明する。
【００３６】
以下に、実施形態について図面を参照して説明する。
【００３７】
（第１実施形態）
第１実施形態による集積回路を図１３に示す。この第１実施形態の集積回路はＦＰＧＡであって、図１に示す場合と同様に、マトリクス状に配列された複数の基本タイル１１０を有している。なお、図１３では、１つの基本タイルを示す。この基本タイル１１０は、隣接する図示しない基本タイルと配線で接続される。各基本タイル１１０は、論理ブロック１２０と、スイッチブロック１３０と、を備えている。
【００３８】
この第１実施形態のスイッチブロック１３０は、スイッチ回路１３０Ａを備えている。このスイッチ回路１３０Ａは、図１４に示すスイッチ回路１３０Ｂと、このスイッチ回路１３０Ｂの入力配線および出力配線にそれぞれ接続され信号波形を成形するインバータ１７０と、を備えている。信号波形を成形する必要が無い場合は、インバータ１７０は省略してもよい。
【００３９】
スイッチ回路１３０Ａは、スイッチブロック１３０に入力する全ての信号１８０ａ〜１８０ｅと、このスイッチブロック１３０を通過する全ての長距離配線によって搬送される信号１８５ａ〜１８５ｈを受ける。
【００４０】
図１４に示すスイッチ回路１３０Ｂは、マトリクス状に配列されたスイッチ素子回路１４０を有し、同一行に配置されたスイッチ素子回路１４０は１つの出力配線（出力端子）に接続される。例えば、図１４において、上から第２ｉ−１（ｉ＝１，・・・，６）行に配列された複数のスイッチ素子回路１４０は、左に向かって信号が出力される行配線１３５２ｉ−１に接続され、第２ｉ行に配列された複数のスイッチ素子回路１４０は、右に向かって信号が出力される行配線１３５２ｉに接続される。また、左から第２ｊ−１（ｊ＝１，・・・，５）に配置されたスイッチ素子回路１４０は、列配線１３３２ｊ−１に接続され、第２ｊ列に配置されたスイッチ素子回路１４０は、列配線１３３２ｊに接続される。すなわち、スイッチ素子回路１４０は、配線１３３１〜１３３１０と、行配線１３５１〜１３５１２との交差領域に設けられる。各スイッチ素子回路１４０は、列配線１３３１〜１３３１０のうちの対応する一つの配線と、行配線１３５１〜１３５１２のうちの対応する一つの配線との接続の有無を決定する。なお、例えば、上から第１行に配列されたスイッチ素子回路１４０と、第２行に配列されたスイッチ素子回路１４０は、図４乃至図６に示すＭＵＸ回路１３１１〜１３１８、１３１と同じ機能を有する。
【００４１】
このように、図１４に示すスイッチ回路１３０Ｂは、全ての入力が全ての出力に任意に接続可能である。このように配線と配線との交差領域に配置され、スイッチ回路を有し、全ての入力が全ての出力に任意に接続可能であるスイッチ回路をクロスポイント型スイッチ回路と呼ぶ。
【００４２】
本実施形態において、スイッチ素子回路１４０は、２端子スイッチ素子を有している。この２端子スイッチ素子は、ＭＵＸ回路に比べて占有面積が小さいため、集積回路全体として、占有面積を小さくすることができる。この２端子スイッチ素子として、例えば、ＭＴＪ(Magnetic Tunnel Junction)素子、抵抗変化型メモリ素子(ＲｅＲＡＭ(Resistive Random Access memory)素子）、酸化還元型抵抗変化素子、イオン伝導型抵抗変化素子、相変化素子などの抵抗変化素子、もしくはゲート酸化膜破壊型トランジスタなどのアンチヒューズ素子のうちの１つの素子を用いることで、面積の増加を抑えることが可能になる。
【００４３】
ＲｅＲＡＭ素子は、２つの電極の間に抵抗変化層を挟んだ構造を有し、２つの電極間に電圧を印加することにより、２つの電極間に挟まれた抵抗変化層の電気抵抗が変化する素子である。上記ゲート酸化膜破壊型アンチヒューズ素子は、ゲート酸化膜を有するＭＯＳトランジスタであって、ソースおよびドレインのうちの少なくとも一方が第１端子となり、ゲートが第２端子となる素子である。
【００４４】
２端子スイッチ素子をスイッチ素子回路１４０として備えたスイッチ回路１３０Ｂの一具体例を図１５に示す。この具体例のスイッチ回路１３０Ａは、２×２のマトリクス状に配列された２端子スイッチ素子（以下、単にスイッチ素子ともいう）１０１１〜１０２２と、インバータ２２１，２２２と、カットオフトランジスタ２６１，２６２と、インバータ２８１，２８２と、配線３４１，３４２，３５１，３５２と、を備えている。
【００４５】
配線３４１，３４２はそれぞれ、配線３５１，３５２と交差する。配線３４１，３４２と配線３５１，３５２との交差領域に２端子スイッチ素子１０１１〜１０２２が配置される。各２端子スイッチ素子１０ｉｊ（ｉ，ｊ＝１，２）は、第１端子が配線３４ｊに接続され、第２端子が配線３５ｉに接続される。
【００４６】
インバータ２２ｊ（ｊ＝１、２）は、入力端子に入力信号Ｉｎｊを受け、出力端子が配線３４ｊに接続される。カットオフトランジスタ２６ｉ（ｉ＝１，２）は、ソースおよびドレインの一方が配線３５ｉに接続され、他方がインバータ２８ｉの入力端子に接続され、ゲートに制御電圧Ｖｉを受ける。インバータ２８ｉ（ｉ＝１，２）の出力端子から出力信号Ｏｕｔｉが出力される。
【００４７】
なお、図１５に示すスイッチ回路１３０Ｂにおいては、同一行に配置された２端子スイッチ素子のうちの高々１つのスイッチ素子が低抵抗状態になることができる。
【００４８】
このように構成されたスイッチ回路１３０Ａにおいて、入力信号Ｉｎ１、Ｉｎ２が入力されると、スイッチ素子１０１１〜１０２２の抵抗状態に応じた信号が出力信号Ｏｕｔ１，Ｏｕｔ２として出力される。
【００４９】
なお、カットオフトランジスタ２６１，２６２は、スイッチ素子１０ｉｊ（ｉ，ｊ＝１，２）としてゲート酸化膜破壊型アンチヒューズ素子が用いられている場合に、スイッチ素子１０ｉｊ（ｉ，ｊ＝１，２）の書き込み電圧がアンチヒューズ素子のゲート酸化膜の破壊耐圧よりも大きいときに、書き込みを行う以外のアンチヒューズ素子のゲート酸化膜を保護するために用いことが好ましい。また、インバータ２８１、２８２を保護するために用いられる。
【００５０】
スイッチ素子に書き込みを行う書き込み回路を備えたスイッチ回路１３０Ｂを図１６に示す。この図１６に示すスイッチ回路１３０Ｂは、図１５に示すスイッチ回路１３０Ｂにおいて、スイッチ素子として抵抗変化素子を用いて４×４のマトリクス状に配置するとともに、配線３４ｊ（ｊ＝１，・・・，４）とインバータ２２ｊとの間にカットオフトランジスタ２４ｊを新たに配置し、更に、書き込み回路を構成するｐチャネルＭＯＳトランジスタ２０１〜２０４およびｎチャネルＭＯＳトランジスタ２５１〜２５４を設けた構成を有している。
【００５１】
トランジスタ２０ｉ（ｉ＝１，・・・，４）は、ソースおよびドレインの一方（例えば、ドレイン）が配線３５ｉに接続され、他方（例えば、ソース）に書き込み電圧ＶＲｉを受け、ゲートに行選択信号Ｒｓｅｌｅｃｔｉを受ける。トランジスタ２５ｊ（ｊ＝１，・・・，４）は、ソースおよびドレインの一方（例えば、ドレイン）が配線３４ｊに接続され、他方（例えば、ソース）に電圧ＶＣｊを受け、ゲートに列選択信号Ｃｓｅｌｅｃｔｊを受ける。なお、行選択信号Ｒｓｅｌｅｃｔｉ（ｉ＝１，・・・，４）および列選択信号Ｃｓｅｌｅｃｔｊ（ｊ＝１，・・・，４）はそれぞれ行選択ドライバ２６０および列選択ドライバ２７０から送られてくる。書き込み電圧ＶＲｉ（ｉ＝１，・・・，４）は行書き込み電源選択回路２８０によって選択された電源であり、書き込み電圧ＶＣｊ（ｊ＝１，・・・，４）は列書き込み電源選択回路２９０によって選択された電源である。なお、後述する書き込み防止電圧Ｖｉｎｈｉｂｉｔも、電源選択回路２８０または列書き込み電源選択回路２９０によって与えられる。
【００５２】
このように構成されたスイッチ回路１３０Ｂの書き込み方法について図１７を参照して説明する。図１７は、破線円で示すスイッチ素子１０１１への書き込み方法を説明する図である。
【００５３】
この書き込みは、スイッチ素子１０１１に書き込みを行う場合の例である。行選択信号Ｒｓｅｌｅｃｔ１としてトランジスタ２０１がオン状態になる電圧、例えばＶｓｓを与え、列選択信号Ｃｓｅｌｅｃｔ１にトランジスタ２５１がオン状態になる電圧、例えばＶｄｄを与える。続いて、オン状態になっているトランジスタ２０１のソースに書き込み電圧ＶＲ１を与え、オン状態になっているトランジスタ２５１のソースに電圧ＶＣ１を与える。この電圧ＶＣ１は、スイッチ素子１０１１の両端子間に印加される電圧（＝ＶＲ１−ＶＣ１）がスイッチ素子１０１１に書き込みを行うための閾値電圧より大きくなる電圧である。すなわち、
閾値電圧＜ＶＲ１−ＶＣ１
となる。これにより、スイッチ素子１０１１への書き込みを行うことができる。それ以外のスイッチ素子の両端子には書き込み防止電圧Ｖｉｎｈｉｂｉｔを与え、書き込みを行う以外のスイッチ素子への誤書込みを防止する。ここで、書き込み防止電圧Ｖｉｎｈｉｂｉｔは、
閾値電圧＞ＶＲ１−Ｖｉｎｈｉｂｉｔ、かつ、
閾値電圧＞Ｖｉｎｈｉｂｉｔ−ＶＣ１
を満たす。
【００５４】
なお、入力側のインバータ２２１〜２２４からはこれらの電圧がリークしてしまうため、トランジスタ２４１〜２４４が必要であり、書き込み時は、これらのトランジスタ２４１〜２４４をオフ状態としてインバータ２２１〜２２４から分離する。出力側のインバータ２８１〜２８４は、これらのインバータを構成するトランジスタのゲートが配線３５１〜３５４に接続されているため、電圧がリークする心配はない。ただし、書き込み電圧ＶＲ１〜ＶＲ４が上記インバータを構成するトランジスタのゲート破壊電圧よりも高電圧であった場合、書き込み動作でインバータ２２１〜２２４が破壊されてしまう。
【００５５】
そこで、図１６に示すように配線３５ｉ（ｉ＝１，２，３，４）とインバータ２８ｉとの間にカットオフトランジスタ２６ｉが設けられる。カットオフトランジスタ２６ｉ（ｉ＝１，２，３，４）は、ゲートに与えられた信号Ｖｂｓｔ２と、書き込み電圧ＶＲｉとの電位差がゲート破壊電圧より低ければ、カットオフトランジスタ２６ｉのゲートの破壊を防ぐことができる。更に、カットオフトランジスタ２６ｉ（ｉ＝１，２，３，４）の閾値電圧をＶｔｈとすると、インバータ２８ｉには、Ｖｂｓｔ２−Ｖｔｈまでしか電圧が印加されないため、Ｖｂｓｔ２がインバータ２８ｉ（ｉ＝１，２，３，４）を構成するトランジスタのゲート破壊電圧より低ければ、インバータ２８ｉ（ｉ＝１，２，３，４）の破壊も防ぐことができる。
【００５６】
以上説明したように、第１実施形態の集積回路においては、スイッチブロック１３０はクロスポイント型のスイッチ回路１３０Ａを備えている。このスイッチ回路１３０Ａは、図１３に示すように、スイッチブロック１３０に入力する全ての信号１８０ａ〜１８０ｅと、このスイッチブロック１３０を通過する全ての長距離配線によって搬送される信号１８５ａ〜１８５ｈを受ける。また、論理ブロック１２０からの入力が全てこのスイッチ回路１３０Ａに入力され、論理ブロック１２０への入力数分だけ配線とは別に出力数を設けることで、論理ブロック１２０との接続を行う。スイッチブロック１３０に入力された全ての信号１８０ａ〜１８０ｅは、スイッチ回路１３０Ａを介して任意の方向、例えば右方向、左方向、上方向、または下方向のいずれの方向にも出力され、上記スイッチブロック１３０を通過する全ての長距離配線によって搬送される信号１８５ａ〜１８５ｈは、スイッチ回路１３０Ａに入力されるとともに、スイッチブロック１３０に入力したと同じ方向に別の配線を介して出力される。すなわち、スイッチブロック１３０に入力された信号を任意の方向に出力することが可能となり、基本タイル間を接続する配線の自由度を増加させることができ、論理ブロック間の信号の遅延を抑制することが可能となる。
【００５７】
上記効果について以下に図１８および図１９を参照して説明する。図１８は、図１３に示す基本タイルを２×４のマトリクス状に配列した集積回路である。図１３で説明した場合と同様に、各基本タイル１１０ｉｊ（ｉ＝１，２、ｊ＝１，・・・，４）において、スイッチブロック１３０は、このスイッチブロック１３０に入力された信号を任意の方向に出力することが可能となり、基本タイル間を接続する配線の自由度を増加させることができる。
【００５８】
図１９は、図１８に示す集積回路において、論理ブロック間の信号の遅延を抑制することが可能となることを説明する図である。図１９において、基本タイル１１０２１の論理ブロック１２０２１から、基本タイル１１０２４の論理ブロック１２０２４に信号を送る場合を考える。このとき、経路２１０に示すように、基本タイル１１０１３の上方から入力され、基本タイル１１０１３のスイッチブロック１３０を通過する信号が基本タイル１１０２３のスイッチブロック１３０に入力されているとする。このような場合、本願発明以前の集積回路においては図１２で説明したように、接続目的の論理ブロック１２０２４へのアクセスに、スイッチブロック１３０３２を使用することができず、経路は遠回りとなる。
【００５９】
これに対して、本実施形態においては、スイッチブロックはクロスポイント型のスイッチ回路１３０Ａを含み、スイッチブロック１３０に入力する信号がスイッチ回路１３０Ａの任意の出力端子から出力することが可能になるので、図１９に示すように、基本タイル１１０２１の論理ブロック１２０２１からスイッチブロック１３０２１、基本タイル１１０２２のスイッチブロック１３０２２、基本タイル１１０２３のスイッチブロック１３０２３、および基本タイル１１０２４のスイッチブロック１３０２４を介して論理ブロック１２０２４に信号を送る経路２２０が存在する。すなわち、図１９に示すように、長距離配線の途中から手前のスイッチブロック１３０２２に接続しかつ他の長距離配線に同じ方向で”乗り換える”ことが可能となる。これにより、配線経路が遠回りする必要がなくなり、経路の遅延が減少する。また、先ほどの説明では使用されなかった配線２３０も使用できるようになり、使用する配線数を削減することができる。なお、図１９では長距離配線がそれぞれの方向に１本ずつであるが、これは複数本数であっても良く、その場合でも、同じ効果を得ることができる。
【００６０】
また、図２０に示す第１変形例の集積回路のように、通過するスイッチブロック１３０１１〜１３０２２において、入力した方向と直交する方向に信号を送る場合に、図１９に示す場合と異なり、経路が屈折していても、接続関係が図１９に示す場合と同じであれば、同じ効果を得ることができる。図２０は、第１実施形態の一変形例による集積回路を示す回路図である。
【００６１】
図１８、図１９では、長距離配線は、例えば２つの基本タイル１１０２２,１１０２３を間に有する基本タイル１１０２１，１１０２４間を接続していた。しかし、図２１に示す第２変形例の集積回路のように、３つ以上の基本タイルを間に有する基本タイル間を接続するように配置してもよい。また、図２２に示す第３変形例の集積回路のように長距離配線と、隣接するスイッチブロック間を接続する配線とが混在するようにしても良い。
【００６２】
以上説明したように、第１実施形態およびその変形例によれば、論理ブロック間の信号の遅延を抑制することのできる集積回路を提供することができる。
【００６３】
（第２実施形態）
第２実施形態による電子機器を図２３に示す。この第２実施形態の電子機器は、第１実施形態およびそれらの変形例のいずれかの集積回路を含む回路３００と、マイクロプロセッサ（以下、ＭＰＵ(Micro-Processing Unit)とも云う）３２０と、メモリ３４０と、インターフェイス（Ｉ／Ｆ）３６０とを備えており、これらの構成要素は、バス線３８０を介して接続されている。
【００６４】
ＭＰＵ３２０はプログラムに従い動作する。メモリ３４０は、ＭＰＵ３２０が動作するためのプログラムが予め記憶される。また、メモリ３４０はＭＰＵ３２０が動作する際のワークメモリとしても用いられる。Ｉ／Ｆ３６０は、ＭＰＵ３２０の制御に従い外部の機器と通信を行う。
【００６５】
この第２実施形態も第１実施形態およびそれらの変形例と同様の効果を奏することができる。
【００６６】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これらの実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これらの実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００６７】
１０１１〜１０４４・・・２端子スイッチ素子、２０１〜２０４・・・トランジスタ、２２１〜２２４・・・インバータ、２５１〜２５４・・・トランジスタ、２６１〜２６４・・・カットオフトランジスタ、２８１〜２８４・・・インバータ、３３１〜３３４・・・列配線、３５１〜３５４・・・行配線、１００・・・ＦＰＧＡ、１１０・・・基本ブロック、１２０・・・論理ブロック、１２２・・・ＬＵＴ、１２４・・・メモリ、１２６，１２６ａ，１２６ｂ・・・ＦＦ、１２８・・・ハードマクロ、１２８ａ，１２８ａ１，１２８ａ２・・・半加算器、１２８ｂ・・・全加算器、１２９ａ・・・ＡＮＤゲート、１２９ｂ・・・ＸＯＲゲート、１２９ｃ・・・ＯＲゲート、１３０・・・スイッチブロック、１３０Ａ，１３０Ｂ・・・スイッチ回路、１３１ａ，１３１ｂ・・・ＭＵＸ回路、１３３１〜１３３１０・・・列配線、１３５１〜１３５１２・・・行配線、Ｉｎ１〜Ｉｎ４・・・入力信号、Ｏｕｔ１〜Ｏｕｔ４・・・出力信号、２６０・・・行選択ドライバ、２７０・・・行書き込み電源選択回路、２８０・・・列選択ドライバ、２９０・・・列書き込み電源選択回路
【図１】
2018120992.tif 000003
【図２】
2018120992.tif 000004
【図３Ａ】
2018120992.tif 000005
【図３Ｂ】
2018120992.tif 000006
【図４】
2018120992.tif 000007
【図５】
2018120992.tif 000008
【図６】
2018120992.tif 000009
【図７】
2018120992.tif 000010
【図８】
2018120992.tif 000011
【図９】
2018120992.tif 000012
【図１０】
2018120992.tif 000013
【図１１】
2018120992.tif 000014
【図１２】
2018120992.tif 000015
【図１３】
2018120992.tif 000016
【図１４】
2018120992.tif 000017
【図１５】
2018120992.tif 000018
【図１６】
2018120992.tif 000019
【図１７】
2018120992.tif 000020
【図１８】
2018120992.tif 000021
【図１９】
2018120992.tif 000022
【図２０】
2018120992.tif 000023
【図２１】
2018120992.tif 000024
【図２２】
2018120992.tif 000025
【図２３】
2018120992.tif 000026