(57)【要約】  再構成可能回路は、複数のクロスバースイッチと、各々が１つのクロスバースイッチの１つの出力ポートと他のすべてのクロスバースイッチの入力ポートとに接続される複数のワイヤと、長距離信号転送を行わせるために各ワイヤに挿入された少なくとも１つのインバータであって、２つの隣接するクロスバースイッチ間の前記ワイヤに１つ以下の第１のインバータが挿入された少なくとも１つのインバータと、クロスバースイッチ入力ポートとその接続ワイヤとの間に挿入された１つまたは２つの第２のインバータと、を備える。
2020530700.tif 000002
【特許請求の範囲】
【請求項１】
複数のクロスバースイッチと、
各々が１つのクロスバースイッチの１つの出力ポートと他のすべてのクロスバースイッチの入力ポートとに接続される複数のワイヤと、
長距離信号転送を行わせるために各ワイヤに挿入された少なくとも１つのインバータであって、２つの隣接するクロスバースイッチ間の前記ワイヤに１つ以下の第１のインバータが挿入された、少なくとも１つのインバータと、
クロスバースイッチ入力ポートとその接続ワイヤとの間に挿入された１つまたは２つの第２のインバータと、
を備える再構成可能回路。
【請求項２】
各クロスバースイッチ出力ポートとその接続ワイヤとの間に挿入された第３のインバータをさらに備える、
請求項１に記載の再構成可能回路。
【請求項３】
クロスバースイッチ入力ポートと前記接続されたクロスバースイッチ出力ポートとの間の前記ワイヤ上の第１のインバータの数が奇数である場合には、２つの第２のインバータが前記クロスバースイッチ入力ポートとその接続されたワイヤとの間に挿入される、
請求項１に記載の再構成可能回路。
【請求項４】
各クロスバースイッチの出力ポートの一部は、関数生成に使用されるルックアップテーブルの入力ポートに結合される、
請求項１に記載の再構成可能回路。
【請求項５】
各クロスバースイッチの入力ポートの一部は、関数生成に使用されるルックアップテーブルの出力ポートに結合される、
請求項１に記載の再構成可能回路。
【請求項６】
各クロスバースイッチは、
端子が入力ポートとして使用される垂直ワイヤと、
端子が出力ポートとして使用される水平ワイヤと、
各クロスポイントで垂直ワイヤと水平ワイヤを結合するスイッチと、
を備える請求項１に記載の再構成可能回路。
【請求項７】
前記スイッチは、
金属酸化物抵抗変化デバイスまたは固体電解質抵抗変化デバイスを含む不揮発性抵抗スイッチである、
請求項６に記載の再構成可能回路。
【請求項８】
複数のクロスバースイッチと、各々が１つのクロスバースイッチの１つの出力ポートと他のすべてのクロスバースイッチの入力ポートとに接続される複数のワイヤと、長距離信号転送を行わせるためにクロスバースイッチ間の前記ワイヤに挿入された第１のインバータと、クロスバースイッチ入力ポートとその接続ワイヤとの間に挿入された第２のインバータと、クロスバースイッチ出力ポートとその接続ワイヤとの間に挿入された第３のインバータと、出力ポートが前記クロスバースイッチの入力ポートの一部に結合され、入力ポートが前記クロスバースイッチの出力ポートの一部に結合されるルックアップテーブルとを備える再構成可能回路のための構成方法であって、
１つのルックアップテーブル入力ポートと、別の１つのルックアップテーブルの接続された出力ポートとの間のインバータの数をカウントするステップ、
を含む構成方法。
【請求項９】
前記ルックアップテーブル入力ポートと別の１つのルックアップテーブルの接続された出力ポートとの間のインバータの数が奇数である場合には、その入力ポートに逆入力信号の機能を実装するためのルックアップテーブルを構成するステップ、
をさらに含む請求項８に記載の構成方法。
【請求項１０】
前記ルックアップテーブル入力ポートと別の１つのルックアップテーブルの接続された出力ポートとの間のインバータの数が奇数である場合には、その入力ポートに逆入力信号の機能を実装するためのルックアップテーブルのメモリを構成するステップ、
をさらに含む請求項８に記載の構成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、再構成可能回路に関する。
【背景技術】
【０００２】
典型的な半導体集積回路（ＩＣ）は、半導体基板上に構築されたトランジスタと、トランジスタを接続するために使用される上層ワイヤとによって構成される。トランジスタとワイヤのパターンは、ＩＣの設計段階で決定される。トランジスタとワイヤとの間の相互接続は、製造後に変更することはできない。ＩＣの柔軟性を向上させるために、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）が提案および開発されている。ＦＰＧＡでは、動作および相互接続情報を含む構成データ（コンフィギュレーションデータ）がメモリに格納されるため、エンドユーザの要求に応じて製造後にメモリを構成することにより、様々な論理動作および相互接続を実現することができる。ＦＰＧＡ内の相互接続は、メモリに保存されている相互接続情報に従って、ＦＰＧＡ内に配置されたルーティングマルチプレクサ（ＭＵＸ）またはルーティングファブリックにおけるスイッチのオンおよびオフを制御することによって変更することができる。
【０００３】
ＦＰＧＡのエネルギー消費は比較的大きいため、商用ＦＰＧＡのＩｏＴ（モノのインターネット）デバイスへの統合は制限される。ほとんどの商用ＦＰＧＡでは、ＳＲＡＭ（スタティックランダムアクセスメモリ）を使用して構成データを保存する。通常、ＳＲＡＭの各メモリセルは６つのトランジスタで構成されており、最新のＦＰＧＡチップは各々１，０００万個以上のＳＲＡＭのメモリセルを有する。これにより、ＦＰＧＡにおいて、非常に大きな面積オーバーヘッド、コスト、及び、エネルギー消費が発生する。最近、ＳＲＡＭベースのＦＰＧＡの速度とエネルギーの問題を克服し、小さな面積オーバーヘッドを達成するために、トランジスタ層上のワイヤ間に集積化されたＮａｎｏｂｒｉｄｇｅ（Ｒ）（ＮＢ）などの不揮発性抵抗スイッチ（ＮＶＲＳ）を備えたＦＰＧＡが提案された。［特許文献１、非特許文献１］。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１５／１９８５７３号
【非特許文献】
【０００５】
【非特許文献１】Ｍａｋｏｔｏ  Ｍｉｙａｍｕｒａ，ｅｔ  ａｌ．，Ｌｏｗ−ｐｏｗｅｒ  ｐｒｏｇｒａｍｍａｂｌｅ−ｌｏｇｉｃ  ｃｅｌｌ  ａｒｒａｙｓ  ｕｓｉｎｇ  ｎｏｎｖｏｌａｔｉｌｅ  ｃｏｍｐｌｅｍｅｎｔａｒｙ  ａｔｏｍ  ｓｗｉｔｃｈ，ＩＳＱＥＤ  ２０１４，ｐｐ．３３０−３３４。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＦＰＧＡでは、長距離データ転送を高速化するためにバッファが必要である。しかしながら、膨大な数のバッファは、大きな電力消費と大きな面積オーバーヘッドを引き起こす。
【課題を解決するための手段】
【０００７】
再構成可能回路は、複数のクロスバースイッチと、各々が１つのクロスバースイッチの１つの出力ポートと他のクロスバースイッチの入力ポートとに接続された複数のワイヤと、長距離信号転送を行わせるために各ワイヤに挿入された少なくとも１つのインバータを備え、１つ以下の第１のインバータが２つの隣接するクロスバースイッチ間のワイヤに挿入され、１つまたは２つの第２のインバータがクロスバースイッチ入力ポートとその接続ワイヤとの間に挿入される。
【図面の簡単な説明】
【０００８】
【図１】ＮＶＲＳを使用したＦＰＧＡの例示的な構成を示す模式図である。
【図２】本発明の第１の例示的な実施形態によるバッファを使用した長距離ルーティング回路を示す図である。
【図３】本発明の第１の例示的な実施形態によるインバータを使用した長距離ルーティング回路を示す図である。
【図４】本発明の第２の例示的な実施形態によるインバータを使用した長距離ルーティング回路を示す図である。
【図５】本発明の第２の例示的な実施形態による再構成可能回路の構成方法を示す図である。
【図６】本発明の第２の例示的な実施形態による再構成可能回路の構成の一例を示す図である。
【図７】本発明の第２の例示的な実施形態によるマッピングファイル生成のフローチャートを示す図である。
【発明を実施するための形態】
【０００９】
次に、本発明の例示的な実施形態について添付の図面を参照して説明する。
【００１０】
（第１の例示的な実施形態）
図１は、ＮＶＲＳを使用したＦＰＧＡの典型的な構造を示している。多数のセルがセルアレイを構成する。各セルは、ルーティングＭＵＸおよび論理ブロックで構成される。この例では、論理ブロックは２つのルックアップテーブル（ＬＵＴ）、２つのＤ型フリップフロップ、および２つのセレクタを含む。ルーティングＭＵＸは、格子状に配置された複数の入力ラインおよび出力ラインを含み、これらは論理ブロックおよび隣接セルに接続されている。データルーティングスイッチは、垂直ラインと水平ラインの各クロスポイントまたは交差点に配置される。したがって、ルーティングＭＵＸはクロスバー構造を有する。入力ラインと出力ラインに接続されたインバータは、それぞれルーティングＭＵＸ内と次のセルへのデータ信号転送を行わせる。
【００１１】
図２は、バッファを使用した慣習的な長距離ルーティング回路を示している。ＦＰＧＡでは、長距離データ転送のために長いワイヤがセルを相互に接続する。図２に示すように、セル０は、長いワイヤによって他のセルであるセル１〜セル４にデータ信号を送信する。ワイヤの抵抗と容量が大きいため、データ信号の転送を高速化するために、２つの隣接するセル間の長いワイヤにバッファが挿入される。慣習的に、各バッファは２つのインバータで構成される。例えば、セル０の論理ブロックＬＢ０からセル４のＬＢ４にデータＡを転送するためには、セル０のＳＷ０およびセル４のＳＷ１をＯＮに設定し、長いワイヤに６つのインバータが必要である。したがって、１つのセルを次のｎ個のセルに接続するためには、長いワイヤ上に２ｎ−２個のインバータが必要であり、これにより大きな電力消費と面積が発生する。
【００１２】
図３は、本実施形態によるインバータを使用した長距離ルーティング回路を示す。バッファを使用する代わりに、長いワイヤにインバータを挿入して、データ信号の転送を高速化する。しかしながら、インバータを使用すると、信号の逆問題が発生する。例えば、セル０の論理ブロックＬＢ０からセル４のＬＢ４にデータＡを転送するためには、セル０のＳＷ０とセル４のＳＷ１をＯＮに設定し、ノード１とノード２の信号は反転信号Ａ〜になる。信号の逆問題を解決するために、セル２とセル４の各入力に追加のインバータが挿入される。
【００１３】
その結果、長いワイヤには合計５つのインバータが必要である。１つのセルを次のｎ個のセルに接続する場合、ｎが奇数の場合は長いワイヤに１．５ｎ−１．５のインバータが必要であり、ｎが偶数の場合は長いワイヤに１．５ｎ−１のインバータが必要である。図２に示したバッファを使用した慣習的な長距離ルーティング回路と比較して、本実施形態によるインバータを使用した長距離ルーティング回路では、長距離データ転送（ｎが大きい）のための長いワイヤ上のインバータ数が減少する。例えば、ｎ＝１６の場合、インバータ数を２３％低減させることができる。すべての遅延、面積、および消費電力を低減させることができる。
【００１４】
（第２の例示的な実施形態）
次に、第２の例示的な実施形態について説明する。本実施形態は、信号反転用のインバータを挿入せずにインバータを使用した長距離ルーティング回路を開示する。長いワイヤ上のインバータの数は、第１の例示的な実施形態の場合と比較してさらに低減される。
【００１５】
図４は、本実施形態によるインバータを使用した長距離ルーティング回路を示す。第１の実施形態と同様に、本実施形態では、長いワイヤにインバータを挿入して、データ信号の転送を高速化する。したがって、インバータを使用することによる信号の逆問題が依然として存在する。第１の実施形態との違いは、信号の逆問題を解決する解決策は、偶数セルの入力に追加のインバータを挿入するのではなく、論理ブロックの機能を調整することである。信号反転用の追加インバータを挿入することなく、図２に示すバッファを使用する慣習的な長距離ルーティング回路と比較して、インバータの数を半分に低減させることができる。
【００１６】
図５は、本実施形態による信号逆問題を解決するための構成方法を示す。ＬＵＴ（ＬＵＴ１およびＬＵＴ２）は、データ信号ＡおよびＢをそれぞれＬＵＴ３に送信して、関数ｆ（Ａ、Ｂ）を実装する。ＬＵＴ１とＬＵＴ３との間の経路に奇数個のインバータがあり、ＬＵＴ２とＬＵＴ３との間の経路に偶数個のインバータがあると仮定する。ＬＵＴ３入力ポートＩＮ０およびＩＮ１に到達する信号は、それぞれＡ〜およびＢになる。ＬＵＴ３は、ｆ（Ａ、Ｂ）生成用にｆ（ＩＮ０〜、ＩＮ１）を実装して、ＬＵＴ１とＬＵＴ３との間の奇数個のインバータによって引き起こされる信号の逆問題を解決するように構成されている。例として、ＡおよびＢのＡＮＤ機能をＬＵＴ３に実装する必要がある場合には、ＩＮ０〜およびＩＮ１のＡＮＤ機能を実装するようにＬＵＴ３を構成する必要がある。図６は、ＩＮ０〜およびＩＮ１のＡＮＤ機能を実装するためにＬＵＴ３を構成する方法を示す。
【００１７】
図６は、本実施形態による信号逆問題を解決するための構成方法の一例を示している。ＬＵＴは算術論理関数を実装する。図６（ａ）は、２つの入力ポートＩＮ０とＩＮ１、１つのマルチプレクサ（ＭＵＸ）、４つのメモリＭ００〜Ｍ１１、および１つの出力ポートＯＵＴで構成される２入力ＬＵＴを示している。ＩＮ０およびＩＮ１は、出力としてＭ００〜Ｍ１１の値の１つを選択する。（ＩＮ０、ＩＮ１）の値（０，０）、（０，１）、（１，０）および（１，１）では、Ｍ００、Ｍ０１、Ｍ１０、Ｍ１１がそれぞれＬＵＴ出力として選択される。Ｍ００〜Ｍ１１は、値「０」または「１」として設定して、ＩＮ０およびＩＮ１に任意の機能を実装することができる。図６（ｂ）は、ＩＮ０〜とＩＮ１のＡＮＤ機能を実装するためのＭ００〜Ｍ１１の値を示している。（ＩＮ０，ＩＮ１）＝（０，０）、（１，０）、（１，１）の場合、ＩＮ０〜ＡＮＤ  ＩＮ１＝０となる。一方、（ＩＮ０，ＩＮ１）＝（０，１）の場合、ＩＮ０〜ＡＮＤ  ＩＮ１＝１となる。したがって、Ｍ００、Ｍ０１、Ｍ１０、およびＭ１１は、それぞれ「０」、「１」、「０」、および「０」として設定され、ＩＮ０〜およびＩＮ１のＡＮＤ機能を実装する。信号逆問題は、ＬＵＴメモリの設定を調整することで解決することができる。
【００１８】
図７は、本実施形態による、インバータを使用する長距離ルーティング回路における信号逆問題を解決するためのマッピングファイル生成のフローチャートを示す。第１のステップでは、ターゲットアプリケーション回路のレジスタ転送レベル（ＲＴＬ）ファイルが取得される。通常、ＲＴＬ抽象化の実装には、ＶＨＳＩＣハードウェア記述言語（ＶＨＤＬ）およびＶｅｒｉｌｏｇを含む２つの主要なハードウェア記述言語（ＨＤＬ）が使用される。第２のステップでは、論理合成ツールがＲＴＬファイルを、ブーリアンゲート、フリップフロップ、および配線接続のセットを含むネットリストファイルに変換する。第３のステップでは、マッピングツールがブーリアンゲートをＬＵＴに変換して、ＬＵＴとフリップフロップのネットワークを生成する。パッキングツールは、ＬＵＴとフリップフロップをＬＢにクラスター化する。第４のステップでは、配置ツールがＬＢの位置を割り当て、ルーティングツールがＬＢ間のデータ転送経路を決定する。第５のステップでは、各データ信号転送経路のインバータ数がカウントされ、インバータ数のパリティ情報（奇数／偶数）が取得される。第６のステップでは、各データ信号転送経路上のインバータ数のパリティ情報によるＬＵＴメモリ値が修正される。最後に、ルーティングＭＵＸのスイッチとＬＵＴのメモリの構成ビットストリームが取得される。
【００１９】
上記の例示的な実施形態の再構成可能回路は、例えば、携帯電話、ＩｏＴ（モノのインターネット）デバイスなどで使用することができる。ＮＶＲＳを使用した高性能ＦＰＧＡは、上記の再構成可能回路によって実現することができる。
【００２０】
本発明は上記の例示的な実施形態に限定されるものではなく、本発明の範囲および趣旨を逸脱することなく種々の変更を加えることが可能であることは明らかである。
【図１】
2020530700.tif 000003
【図２】
2020530700.tif 000004
【図３】
2020530700.tif 000005
【図４】
2020530700.tif 000006
【図５】
2020530700.tif 000007
【図６】
2020530700.tif 000008
【図７】
2020530700.tif 000009
【手続補正書】
【提出日】令和2年2月7日(2020.2.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のクロスバースイッチと、
各々が１つのクロスバースイッチの１つの出力ポートと他のすべてのクロスバースイッチの入力ポートとに接続される複数のワイヤと、
長距離信号転送を行わせるために各ワイヤに挿入された少なくとも１つのインバータであって、２つの隣接するクロスバースイッチ間の前記ワイヤに１つ以下の第１のインバータが挿入された、少なくとも１つのインバータと、
クロスバースイッチ入力ポートとその接続ワイヤとの間に挿入された１つまたは２つの第２のインバータと、
を備える再構成可能回路。
【請求項２】
各クロスバースイッチ出力ポートとその接続ワイヤとの間に挿入された第３のインバータをさらに備える、
請求項１に記載の再構成可能回路。
【請求項３】
クロスバースイッチ入力ポートと前記接続されたクロスバースイッチ出力ポートとの間の前記ワイヤ上の第１のインバータの数が奇数である場合には、２つの第２のインバータが前記クロスバースイッチ入力ポートとその接続されたワイヤとの間に挿入される、
請求項１に記載の再構成可能回路。
【請求項４】
各クロスバースイッチの出力ポートの一部は、関数生成に使用されるルックアップテーブルの入力ポートに結合される、
請求項１に記載の再構成可能回路。
【請求項５】
各クロスバースイッチの入力ポートの一部は、関数生成に使用されるルックアップテーブルの出力ポートに結合される、
請求項１に記載の再構成可能回路。
【請求項６】
各クロスバースイッチは、
端子が入力ポートとして使用される垂直ワイヤと、
端子が出力ポートとして使用される水平ワイヤと、
各クロスポイントで垂直ワイヤと水平ワイヤを結合するスイッチと、
を備える請求項１に記載の再構成可能回路。
【請求項７】
前記スイッチは、
金属酸化物抵抗変化デバイスまたは固体電解質抵抗変化デバイスを含む不揮発性抵抗スイッチである、
請求項６に記載の再構成可能回路。
【請求項８】
複数のクロスバースイッチと、各々が１つのクロスバースイッチの１つの出力ポートと他のすべてのクロスバースイッチの入力ポートとに接続される複数のワイヤと、長距離信号転送を行わせるためにクロスバースイッチ間の前記ワイヤに挿入された第１のインバータと、クロスバースイッチ入力ポートとその接続ワイヤとの間に挿入された第２のインバータと、クロスバースイッチ出力ポートとその接続ワイヤとの間に挿入された第３のインバータと、出力ポートが前記クロスバースイッチの入力ポートの一部に結合され、入力ポートが前記クロスバースイッチの出力ポートの一部に結合されるルックアップテーブルとを備える再構成可能回路のための構成方法であって、
１つのルックアップテーブル入力ポートと、別の１つのルックアップテーブル出力ポートとの間のインバータの数をカウントするステップ、
を含む構成方法。
【請求項９】
前記ルックアップテーブル入力ポートと別の１つのルックアップテーブル出力ポートとの間のインバータの数が奇数である場合には、その入力ポートに逆入力信号の機能を実装するためのルックアップテーブルを構成するステップ、
をさらに含む請求項８に記載の構成方法。
【請求項１０】
前記ルックアップテーブル入力ポートと別の１つのルックアップテーブル出力ポートとの間のインバータの数が奇数である場合には、その入力ポートに逆入力信号の機能を実装するためのルックアップテーブルのメモリを構成するステップ、
をさらに含む請求項８に記載の構成方法。
【国際調査報告】
2020530700.tif 000010
2020530700.tif 000011