(57)【特許請求の範囲】
【請求項１】
２ｉ個のメモリを有し、ｉ個の入力信号が入力されると、この入力信号に応じて２ｉ個のメモリの内の１つに格納された情報を第１の出力端子に出力するルックアップテーブル回路であって、
前記入力信号の１つに応じて、前記２ｉ個のメモリの内の半分の第１のメモリ群への電源供給を遮断する第１の電源遮断スイッチと、前記２ｉ個のメモリの内の残りの半分の第２のメモリ群への電源供給を遮断する第２の電源遮断スイッチを含み、
（ｉ−１）個の前記入力信号に応じて前記第２のメモリ群の１つのメモリに格納された情報を出力する第２の出力端子と、
前記入力信号の１つと固定電圧のいずれかを選択するマルチプレクサを更に有し、
前記マルチプレクサが前記入力信号の１つを選択すると、前記第１および第２の電源遮断スイッチは、前記入力信号の１つに応じてＯＮ／ＯＦＦが制御され、前記マルチプレクサが固定電圧を選択すると、前記第１および第２の電源遮断スイッチは前記第１および第２のメモリ群に電源を供給するルックアップテーブル回路。
【請求項２】
２ｉ個のメモリを有し、ｉ個の入力信号が入力されると、この入力信号に応じて２ｉ個のメモリの内の１つに格納された情報を第１の出力端子に出力するルックアップテーブル回路であって、
前記入力信号の１つに応じて、前記２ｉ個のメモリの内の半分の第１のメモリ群への電源供給を遮断する第１の電源遮断スイッチと、前記２ｉ個のメモリの内の残りの半分の第２のメモリ群への電源供給を遮断する第２の電源遮断スイッチを含み、
前記入力信号の１つと固定電圧とを選択するマルチプレクサを更に有し、
前記マルチプレクサが前記入力信号の１つを選択すると、前記第１および第２の電源遮断スイッチは、前記入力信号の１つに応じてＯＮ／ＯＦＦが制御され、前記マルチプレクサが固定電圧を選択すると、前記第１の電源遮断スイッチは前記第１のメモリ群への電源を供給し、前記第２の電源遮断スイッチは前記第２のメモリ群への電源供給を遮断するルックアップテーブル回路。
【請求項３】
２ｉ個のメモリを有し、ｉ個の入力信号が入力されると、この入力信号に応じて２ｉ個のメモリの内の１つに格納された情報を第１の出力端子に出力するルックアップテーブル回路であって、
前記入力信号の１つに応じて、前記２ｉ個のメモリの内の半分の第１のメモリ群への電源供給を遮断する第１の電源遮断スイッチと、前記２ｉ個のメモリの内の残りの半分の第２のメモリ群への電源供給を遮断する第２の電源遮断スイッチを含み、
前記入力信号の１つと固定電圧とを選択するマルチプレクサを更に有し、
前記マルチプレクサが前記入力信号の１つを選択すると、前記第１および第２の電源遮断スイッチは、前記入力信号の１つに応じてＯＮ／ＯＦＦが制御され、前記マルチプレクサが固定電圧を選択すると、前記第１および第２の電源遮断スイッチは前記第１および第２のメモリ群への電源供給を遮断するルックアップテーブル回路。
【請求項４】
前記第１および第２の電源遮断スイッチに入力される前記入力信号の１つ以外の前記入力信号に応じて、メモリへの電源供給を遮断する第３の電源遮断スイッチおよび第４の電源遮断スイッチをさらに有する請求項１乃至３のいずれか一項に記載のルックアップテーブル回路。
【請求項５】
ｉ個（２≦ｉ）の入力信号が入力されるルックアップテーブル回路であって、
２ｉ個のメモリと、
前記２ｉ個のメモリに接続され、１番目の前記入力信号に応じて、前記２ｉ個のメモリの内の半分からの出力回路を遮断する第１のスイッチ群と、
第（ｋ−１）のスイッチ群（２≦ｋ≦ｉ）に接続され、ｋ番目の前記入力信号に応じて、前記（ｋ−１）のスイッチ群の半分のスイッチからの出力回路を遮断する第ｋのスイッチ群と、
ｉ番目の前記入力信号に応じて、前記２ｉ個のメモリの内の半分の第１のメモリ群への電源供給を遮断する第１の電源遮断スイッチと、前記２ｉ個のメモリの内の残りの半分の第２のメモリ群への電源供給を遮断する第２の電源遮断スイッチを含むルックアップテーブル回路。
【請求項６】
ｉ個（２≦ｉ）の入力信号が入力されるルックアップテーブル回路であって、
２ｉ個のメモリと、
前記２ｉ個のメモリに接続され、１番目の前記入力信号に応じて、前記２ｉ個のメモリの内の半分からの出力回路を遮断する第１のスイッチ群と、
第（ｋ−１）のスイッチ群（２≦ｋ≦ｉ）に接続され、ｋ番目の前記入力信号に応じて、前記（ｋ−１）のスイッチ群の半分のスイッチからの出力回路を遮断する第ｋのスイッチ群と、
前記入力信号の１つに応じて、前記２ｉ個のメモリの内の半分の第１のメモリ群への電源供給を遮断する第１の電源遮断スイッチと、前記２ｉ個のメモリの内の残りの半分の第２のメモリ群への電源供給を遮断する第２の電源遮断スイッチを含み、
（ｉ−１）個の前記入力信号に応じて前記第２のメモリ群の１つのメモリに格納された情報を出力する第２の出力端子と、
ｉ番目の前記入力信号と固定電圧とを選択するマルチプレクサを更に有し、
前記第ｉ番目のスイッチ群は、前記マルチプレクサによって選択されたｉ番目の前記入力信号または前記固定電圧によって制御され、
前記マルチプレクサがｉ番目の前記入力信号を選択すると、前記第１および第２の電源遮断スイッチは、ｉ番目の前記入力信号に応じて制御され、前記マルチプレクサが固定電圧を選択すると、前記第１および第２の電源遮断スイッチは前記第１および第２のメモリ群への電源を供給するルックアップテーブル回路。
【請求項７】
ｉ個（２≦ｉ）の入力信号が入力されるルックアップテーブル回路であって、
２ｉ個のメモリと、
前記２ｉ個のメモリに接続され、１番目の前記入力信号に応じて、前記２ｉ個のメモリの内の半分からの出力回路を遮断する第１のスイッチ群と、
第（ｋ−１）のスイッチ群（２≦ｋ≦ｉ）に接続され、ｋ番目の前記入力信号に応じて、前記（ｋ−１）のスイッチ群の半分のスイッチからの出力回路を遮断する第ｋのスイッチ群と、
前記入力信号の１つに応じて、前記２ｉ個のメモリの内の半分の第１のメモリ群への電源供給を遮断する第１の電源遮断スイッチと、前記２ｉ個のメモリの内の残りの半分の第２のメモリ群への電源供給を遮断する第２の電源遮断スイッチを含み、
ｉ番目の前記入力信号と固定電圧とを選択するマルチプレクサを更に有し、
前記第ｉ番目のスイッチ群は、前記マルチプレクサによって選択されたｉ番目の前記入力信号または前記固定電圧によって制御され、
前記マルチプレクサがｉ番目の前記入力信号を選択すると、前記第１および第２の電源遮断スイッチは、ｉ番目の前記入力信号に応じて制御され、前記マルチプレクサが固定電圧を選択すると、前記第１の電源遮断スイッチは前記第１のメモリ群への電源を供給し、前記第２の電源遮断スイッチは前記第２のメモリ群への電源供給を遮断するルックアップテーブル回路。
【請求項８】
ｉ個（２≦ｉ）の入力信号が入力されるルックアップテーブル回路であって、
２ｉ個のメモリと、
前記２ｉ個のメモリに接続され、１番目の前記入力信号に応じて、前記２ｉ個のメモリの内の半分からの出力回路を遮断する第１のスイッチ群と、
第（ｋ−１）のスイッチ群（２≦ｋ≦ｉ）に接続され、ｋ番目の前記入力信号に応じて、前記（ｋ−１）のスイッチ群の半分のスイッチからの出力回路を遮断する第ｋのスイッチ群と、
前記入力信号の１つに応じて、前記２ｉ個のメモリの内の半分の第１のメモリ群への電源供給を遮断する第１の電源遮断スイッチと、前記２ｉ個のメモリの内の残りの半分の第２のメモリ群への電源供給を遮断する第２の電源遮断スイッチを含み、
ｉ番目の前記入力信号と固定電圧とを選択するマルチプレクサを更に有し、
前記第ｉ番目のスイッチ群は、前記マルチプレクサによって選択されたｉ番目の前記入力信号または前記固定電圧によって制御され、
前記マルチプレクサがｉ番目の前記入力信号を選択すると、前記第１および第２の電源遮断スイッチは、ｉ番目の前記入力信号に応じて制御され、前記マルチプレクサが固定電圧を選択すると、前記第１および第２の電源遮断スイッチは前記第１および第２のメモリ群への電源供給を遮断するルックアップテーブル回路。
【請求項９】
（ｉ−１）番目の前記入力信号に応じて、前記第１のメモリ群の半分と前記第２のメモリ群の半分への電源供給を遮断する第３の電源遮断スイッチと、前記第１のメモリ群の残りの半分と前記第２のメモリ群の残りの半分への電源供給を遮断する第４の電源遮断スイッチをさらに有する請求項５乃至８のいずれか一項に記載のルックアップテーブル回路。
【請求項１０】
請求項１乃至９のいずれかに記載のルックアップテーブル回路を複数個有し、この複数のルックアップテーブル回路から出力された信号を選択する選択スイッチを更に有するルックアップテーブル回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態はルックアップテーブル回路に関する。
【背景技術】
【０００２】
ＦＰＧＡ（Field Programmable Gate Array）は、任意の論理機能を実現することができるＩＣである。一般的なＦＰＧＡは、基本的な論理情報を実現するロジックブロック（ＬＢ）と、各ＬＢを任意に接続するスイッチブロック（ＳＢ）とを含む基本タイルが複数配置されて構成される。ＬＢは、真理値表を実現するルックアップテーブル（ＬＵＴ）を１つ以上含み、ＬＵＴとレジスタ等の回路の組合せにより、任意の論理情報を実現する。ＬＵＴは、コンフィギュレーションメモリ（以下、単にメモリと称する）と、マルチプレクサ（ＭＵＸ）で構成される。ＬＵＴを使用するときには、ＬＵＴを構成するメモリのいずれかが入力信号に応じて選択され、そのメモリに格納されたデータが出力される。ＬＵＴは、メモリに格納するデータを書き換えることにより、任意の真理表を実現することができる。
【０００３】
従来のＦＰＧＡの多くは、メモリとしてＳＲＡＭを用いている。ＳＲＡＭは揮発性メモリなので、データを保持させ続けるためには、電源を供給し続けなければならず、リーク電流によって電力を消費する。そこで、不揮発メモリを用いたＬＵＴが提案されている。不揮発メモリを用いたＬＵＴでは、ＬＵＴを使用しないときに、ＬＵＴ全体への電源供給を遮断すれば、消費電力を抑えることができる。しかしながら、ＬＵＴ使用時にはＬＵＴの全てのメモリに電源が供給される。つまり、入力信号に応じて選択されるメモリ以外のメモリにも電源が供給されるため、リーク電流によって電力が消費されてしまう。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２００４／０５９８３８号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の実施形態は、消費電力を削減したルックアップテーブル回路を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の実施形態に係るルックアップテーブル回路は、２ｉ個のメモリを有し、ｉ個の入力信号が入力されると、この入力信号に応じて２ｉ個のメモリの内の１つに格納された情報を第１の出力端子に出力するルックアップテーブル回路であって、前記入力信号の１つに応じて、前記２ｉ個のメモリの内の半分の第１のメモリ群への電源供給を遮断する第１の電源遮断スイッチと、前記２ｉ個のメモリの内の残りの半分の第２のメモリ群への電源供給を遮断する第２の電源遮断スイッチを含む。
【図面の簡単な説明】
【０００７】
【図１】本発明の第１の実施形態に係るＬＵＴの回路図。
【図２】本発明の第１の実施形態に係るＬＵＴの動作を示す図。
【図３】本発明の第１の実施形態に係るＬＵＴの動作を示す図。
【図４】本発明の第１の実施形態に係るＬＵＴのシミュレーション結果。
【図５】本発明の第１の実施形態に係るＬＵＴの第１の変形例を示す図。
【図６】本発明の第１の実施形態に係るＬＵＴの第２の変形例を示す図。
【図７】本発明の第１の実施形態に係るＬＵＴの第３の変形例を示す図。
【図８】本発明の第１の実施形態に係るＬＵＴの第３の変形例を示す図。
【図９】本発明の第１の実施形態に係るＬＵＴの第３の変形例を示す図。
【図１０】本発明の第１の実施形態に係るＬＵＴの第４の変形例を示す図。
【図１１】本発明の第１の実施形態に係るＬＵＴの第５の変形例を示す図。
【図１２】本発明の第１の実施形態に係るＬＵＴの第６の変形例を示す図。
【図１３】本発明の第１の実施形態に係るＬＵＴの第６の変形例を示す図。
【図１４】本発明の第１の実施形態に係るＬＵＴの第７の変形例を示す図。
【図１５】本発明の第１の実施形態に係るＬＵＴの第８の変形例を示す図。
【図１６】本発明の第１の実施形態に係るＬＵＴの第８の変形例を示す図。
【図１７】本発明の第２の実施形態に係るＬＵＴの回路図。
【図１８】本発明の第２の実施形態に係るＬＵＴの変形例を示す図。
【図１９】本発明の第３の実施形態に係るＬＵＴの回路図。
【図２０】本発明の第４の実施形態に係るＬＵＴの回路図。
【発明を実施するための形態】
【０００８】
（第１の実施形態）
以下、本発明の実施形態について図面を参照して説明する。図１は本実施形態にかかるルックアップテーブル（以下、ＬＵＴと称する）の回路図である。本実施形態にかかるＬＵＴ回路は、例えばＦＰＧＡのＬＢに用いられる。
【０００９】
図１では、一例として３入力のＬＵＴを示している。本実施形態に係るＬＵＴは、入力数をｉとすると、２ｉ個のメモリを有する。図１のＬＵＴ１は、３入力のＬＵＴであるため、８個のメモリＭ１〜Ｍ８を有する。メモリＭ１〜Ｍ８は不揮発性メモリであって、例えば、Ｆｌａｓｈメモリや抵抗変化型メモリである。メモリＭ１〜Ｍ８のそれぞれは、インバータを介してスイッチＳ１〜Ｓ８に接続される。このインバータは、メモリＭ１〜Ｍ８の出力を安定させるために設けられる。スイッチＳ１〜Ｓ８は、例えば、ｐ型ＭＯＳＦＥＴとｎ型ＭＯＳＦＥＴとを組み合わせたトランスファーゲートで構成される。
【００１０】
スイッチＳ１〜Ｓ８には、１つ目の入力信号（入力１）が入力され、入力１に応じてスイッチＳ１〜Ｓ８の半分がＯＮとなり、残りの半分がＯＦＦとなる。電源電圧に近いＨｉｇｈの電圧を”１”とし、Ｌｏｗの電圧を”０”とすると、図１の例では、入力１が”１”の場合に、スイッチＳ１、Ｓ３、Ｓ５、Ｓ７がＯＮとなり、スイッチＳ２、Ｓ４、Ｓ６、Ｓ８がＯＦＦとなる。一方、入力１が”０”の場合に、スイッチＳ１、Ｓ３、Ｓ５、Ｓ７がＯＦＦとなり、スイッチＳ２、Ｓ４、Ｓ６、Ｓ８がＯＮとなる。スイッチＳ１〜Ｓ８からの出力は、２つずつスイッチＳ１１〜Ｓ１４に接続される。
【００１１】
スイッチＳ１１〜Ｓ１４は、２つ目の入力信号（入力２）に応じて半分がＯＮとなり、残りの半分がＯＦＦとなる。さらに、スイッチＳ１１〜Ｓ１４からの出力は、２つずつスイッチＳ２１、Ｓ２２に接続される。スイッチＳ２１、Ｓ２２は、３つ目の入力信号（入力３）に応じて半分がＯＮとなり、残りの半分がＯＦＦになる。こうして、出力端子との間に接続されるスイッチが全てＯＮとなるメモリに記憶された情報がＬＵＴ１の出力端子から出力される。
【００１２】
ＬＵＴ１には、ソースが電源電圧に接続されたスイッチトランジスタＴ１、Ｔ２を設ける。スイッチトランジスタＴ１のドレインは、メモリＭ１〜Ｍ４に接続され、ゲートには入力３が入力される。スイッチトランジスタＴ２のドレインは、メモリＭ５〜Ｍ８に接続され、ゲートには入力３の反転信号が入力される。つまり、スイッチトランジスタＴ１、Ｔ２は、入力３に応じていずれか一方がＯＮとなり、他方がＯＦＦとなる。そのため、メモリＭ１〜Ｍ４とメモリＭ５〜Ｍ８のいずれか一方は、電源供給が遮断される。また、電源供給が遮断されるメモリに接続されたメモリ出力安定用のインバータへの電源供給も遮断される。ＬＵＴ１では、入力３が”１”の場合、スイッチＳ２１がＯＮとなり、スイッチＳ２２がＯＦＦとなる。更に、スイッチトランジスタＴ２がＯＦＦとなるため、スイッチＳ２２に接続されるメモリＭ５〜Ｍ８への電源供給が遮断される。このように、メモリと出力端子との間に設けられたスイッチが入力信号に基づいてＯＦＦされる場合に、そのメモリへの電源供給を当該入力信号に基づいて遮断する。これによって、リーク電流を低減することができる。
【００１３】
図２は、ＬＵＴ１に対して最も多く充電される場合の一例を示した図である。図２では、入力１〜入力３がいずれも”１”であって、メモリＭ１〜Ｍ８が”０”、”１”、…、”０”、”１”を記憶している場合を示している。このとき、図２の太線で示した箇所が”１”となる。つまり、図２の太線で示した箇所がＨｉｇｈの電圧に充電される。図２に示すように、入力３によってＯＦＦとなるスイッチＳ２２とメモリＭ５〜Ｍ８の間の回路には充電がなされない。
【００１４】
図３は、ＬＵＴ１に対して最も少なく充電される場合の一例を示した図である。図３の太線で示した箇所がＨｉｇｈの電圧に充電される。ＬＵＴ１では、図３の状態から図２の状態へ変化する状況が、最も多く充放電が起きる状況である。この状況で、ＬＵＴ１の遅延、電力、および面積のシミュレーションを行った。図４は、このシミュレーション結果を示す図である。
【００１５】
図４は、遅延と電力と面積の積を評価値として用いて、スイッチトランジスタＴ１、Ｔ２のゲート幅のスイッチＳ１〜Ｓ２２のゲート幅に対する比率と評価値との関係を示した図である。なお、ゲート幅の比が０の場合とは、スイッチトランジスタＴ１、Ｔ２を設けない場合である。スイッチトランジスタＴ１、Ｔ２のゲート幅が大きくなるほど、電源から供給される電流量が多くなり、信号遅延が少なくなる。しかし、スイッチトランジスタＴ１、Ｔ２のゲート幅が大きくなると面積が増大する。図３によれば、スイッチトランジスタＴ１、Ｔ２のゲート幅は、スイッチＳ１〜Ｓ２２のゲート幅の約３倍であることが望ましい。ただし、約５倍であってもスイッチトランジスタＴ１、Ｔ２を設けない場合と比較して、効果があることが分かる。
【００１６】
スイッチトランジスタＴ１、Ｔ２のゲート幅が小さい場合には、ダイナミック電力を削減することができる。図２に示したように、ＬＵＴ１では、入力に応じてＯＦＦにされるスイッチの前後の回路にも充電が起きる。スイッチトランジスタＴ１、Ｔ２のゲート幅が小さいと、スイッチトランジスタＴ１、Ｔ２を介して供給される電流量が少ない。そのため、スイッチトランジスタＴ１、Ｔ２がＯＮされてからＯＦＦするまでに充電が完了せず、結果的に余分な電力が抑えられる。より電力を削減したい場合には、スイッチトランジスタＴ１、Ｔ２のゲート幅を小さくすることが効果的である。
【００１７】
本実施形態のＬＵＴは、以下に示すような様々な変形が可能である。また、複数の変形例を組み合わせて適用することも可能である。
【００１８】
（変形例１）
図５に示すように、ＬＵＴのスイッチＳ１〜Ｓ２２は、ｎ型ＭＯＳＦＥＴで構成しても良い。また、スイッチＳ１〜Ｓ２２の一部がトランスファーゲートで、残りがｎ型ＭＯＳＦＥＴでも良い。入力信号によって出力を選択することが出来れば、どのような形態であっても良い。
【００１９】
（変形例２）
図６に示すように、本実施形態のＬＵＴは、３入力に限定されない。入力数は、２以上の任意の数であって良い。変形例１で説明したように、スイッチはどのような形態であっても良い。そのため図６では、スイッチ群ＳＧ１、ＳＧ２をマルチプレクサで表している。なお、スイッチ群ＳＧ１およびメモリＭ＿１〜メモリＭ＿ｊを含む回路を第１のＬＵＴ、ＳＧ２およびメモリＭ＿（ｊ＋１）〜メモリＭ＿ｉを含む回路を第２のＬＵＴとみなすことができる。すると、ＬＵＴ１ｂは、第１のＬＵＴと第２のＬＵＴと、これらの出力を入力ｉに基づいて選択するスイッチを有する回路とみなすことができる。
【００２０】
（変形例３）
図７に示すように、複数の入力に基づいてメモリへの電源を遮断しても良い。この場合、回路の面積が大きくなるが、１つの入力に基づく場合と比較して、さらに多くのメモリへの電源を遮断することができるため、消費電力を下げることができる。なお、図７では２つの入力に基づいてメモリへの電源を遮断する回路を示しているが、３つ以上の入力に基づいてメモリへの電源を遮断しても良い。
【００２１】
また、メモリへの電源の遮断には、どの入力信号を用いても良い。例えば、図８に示すＬＵＴ１ｃでは、（ｉ−１）番目の入力信号に基づいて、メモリへの電源を遮断する。なお、図８では、メモリの電源供給を制御するために、４つのスイッチトランジスタを用いているが、図９に示すように、２つのスイッチトランジスタでも良い。
【００２２】
ただし、出力端子に近いものほど優先的に用いる方が望ましい。入力配線が出力端子に近いほど、その入力配線に接続されるスイッチの数が少ない。駆動するスイッチ数が少ないと動作が速いため、スイッチトランジスタを含む回路が付加されたとしても、ＬＵＴの動作速度ほとんど影響を及ぼさない。つまり、出力端子に最も近いスイッチの制御に用いられる入力に基づいてメモリへの電源を遮断することが望ましい。
【００２３】
（変形例４）
図１０に示すように、メモリへの電源供給の制御に用いられるスイッチトランジスタＴ１、Ｔ２は、ｎ型ＭＯＳＦＥＴであっても良い。
【００２４】
（変形例５）
メモリへの電源遮断は、電源供給側でなく接地側で行うことも可能である。すなわち、図１１に示すように、メモリと接地との間にスイッチトランジスタを設けても良い。なお、電源供給側と接地側の両方にスイッチトランジスタを設けても良い。すなわち、電源電圧とメモリとの間だけでなく、メモリと接地との間にもスイッチトランジスタを設ける。これにより、スタティック電力とダイナミック電力を削減することができる。
【００２５】
（変形例６）
メモリの出力を安定させるためにメモリに接続されるインバータは、複数個設けても良い。例えば図１２に示すように、バッファー回路（すなわち偶数個のインバータ）を設けても良い。また、図１３に示すように、メモリが十分に駆動力を有するならば、メモリの出力を安定化させるためのインバータやバッファー回路は設けなくても良い。
【００２６】
（変形例７）
図１４に示すように、メモリと、メモリの出力を安定させるためのインバータもしくはバッファー回路とへは、異なるスイッチトランジスタで電源の供給と遮断とを切り換えても良い。例えば、メモリの電源電圧とインバータの電源電圧が異なる場合に、インバータへの電源供給を制御するスイッチトランジスタＴ１ａ、Ｔ２ａと、メモリへの電源供給を制御するスイッチトランジスタＴ１ｂ、Ｔ２ｂとを設ける。
【００２７】
（変形例８）
メモリの電源電圧とルックアップテーブルの動作電圧が大きく異なる場合には、図１５に示すように、メモリの電源供給を制御するスイッチトランジスタＴ１ｂ、Ｔ２ｂのゲートにバッファー回路Ｂ１、Ｂ２を接続する。もしくは、図１６に示すように、メモリの出力を安定させるためのインバータもしくはバッファー回路への電源供給を制御するスイッチトランジスタＴ１ａ、Ｔ２ａのゲートにバッファー回路Ｂ３、Ｂ４を接続する。これによって、インバータもしくはバッファー回路の電源電圧を変えて、メモリの電圧を調整することができる。
【００２８】
（第２の実施形態）
図１７は、第２の実施形態に係るＬＵＴ２を示す回路図である。ＬＵＴ２は、ｉ入力のＬＵＴを示している。ＬＵＴ２は、出力端子に最も近い入力配線にマルチプレクサＭＵＸ１を設ける。マルチプレクサＭＵＸ１は、ｉ番目の入力信号と固定電圧のいずれか一方を、メモリＭ１００に格納された情報に応じて選択する。固定電圧は、電源電圧でも接地でも良い。図１７では、一例として、電源電圧を固定電圧として用いている。このＬＵＴ２は、ｉ入力のＬＵＴとして使用することもできるし、（ｉ−１）入力のＬＵＴとして使用することもできる。
【００２９】
メモリＭ１００は、ＬＵＴ２をｉ入力のＬＵＴとして使用するか、（ｉ−１）入力のＬＵＴとして使用するかに応じて、所定の情報を記憶する。メモリＭ１００にＬＵＴ２をｉ入力のＬＵＴとして使用することを示す情報が格納されていれば、マルチプレクサＭＵＸ１は、ｉ番目の入力信号を選択する。マルチプレクサＭＵＸ１が、ｉ番目の入力信号を選択した場合のＬＵＴ２の動作は、第１の実施形態のＬＵＴ１と同様であるため、説明を省略する。
【００３０】
メモリＭ１００にＬＵＴ２を（ｉ−１）入力のＬＵＴとして使用することを示す情報が格納されていれば、マルチプレクサＭＵＸ１は、電源電圧を選択する。また、ＬＵＴ２を（ｉ−１）入力のＬＵＴとして使用する場合、ｉ番目の入力信号が”０”であっても”１”であっても同じ出力をするように、スイッチトランジスタＴ１、Ｔ２に接続されたメモリＭ＿１〜Ｍ＿ｉに情報を書き込む。すなわち、スイッチトランジスタＴ１に接続されたメモリ群Ｍ＿１〜Ｍ＿ｊと、スイッチトランジスタＴ２に接続されたメモリ群Ｍ＿（ｊ＋１）〜Ｍ＿ｉに同じ情報を書き込む。
【００３１】
マルチプレクサＭＵＸ１が電源電圧を選択すると、スイッチトランジスタＴ１には”０”が入力されて、ＯＮとなる。一方、スイッチトランジスタＴ２には”１”が入力されて、ＯＦＦとなる。この状態では、ｉ番目の入力がどう変化しようと、ＬＵＴ２の半分のメモリ回路（つまり、メモリＭ＿（ｊ＋１）〜Ｍ＿ｉを含む回路）への電源供給が遮断され続ける。そのため、ｉ個の入力を受け付けるＬＵＴを（ｉ−１）入力のＬＵＴとして使うことができるとともに、（ｉ−１）入力のＬＵＴとして使ったときの電力消費を削減することができる。
【００３２】
ＦＰＧＡでは、所定の入力数を有するＬＵＴが予めＬＢに含まれている。しかしながら、論理合成して配置配線を行うと、全てのＬＵＴをその所定の入力数のＬＵＴとして使用するわけではない。例えば、４入力ＬＵＴから構成されるＬＢのＦＰＧＡに対して、２０種のベンチマーク回路を論理合成して配置配線をする実験を行った。その結果、２０％程度のＬＵＴは４入力ＬＵＴを３入力ＬＵＴとして使用していた。また、４入力ＬＵＴとして使用されるＬＵＴと、３入力ＬＵＴとして使用されるＬＵＴとを合わせると、全体の９０％を占めていた。つまり、ｉ入力のＬＵＴは、ほとんどがｉ入力のＬＵＴまたは（ｉ−１）入力のＬＵＴとして使用される。本実施形態のようにマルチプレクサＭＵＸ１やメモリ１００を追加することによって、消費電力を削減する効果があるが、回路の面積は増大する。そのため、ｉ入力ＬＵＴもしくは（ｉ−１）入力ＬＵＴとして用いることを想定して、マルチプレクサとメモリをそれぞれ１個ずつ付加することが望ましい。
【００３３】
本実施形態のＬＵＴ２には、第１の実施形態で説明した変形を加えることができる。複数の変形を組合せて適用しても良い。さらに、ＬＵＴ２には以下のような変形を加えることができる。
【００３４】
（変形例）
図１８は、接地を固定電圧として用いる場合のＬＵＴ２ａの回路図である。この場合、マルチプレクサＭＵＸ１は、ｉ番目の入力と接地のいずれか一方を選択する。図１７に示すＬＵＴ２では、スイッチトランジスタＴ２のゲートにインバータが接続される。それに対して、図１８に示すＬＵＴ２ａでは、スイッチトランジスタＴ１のゲートにインバータが接続される。これによって、ＭＵＸ１が接地を選択した場合に、スイッチトランジスタＴ１のゲートに”０”が入力されてＯＮとなり、スイッチトランジスタＴ２のゲートには”１”が入力されてＯＦＦとなる。つまり、ＬＵＴ２と同じ動作を実現することができる。
【００３５】
（第３の実施形態）
図１９は、第３の実施形態に係るＬＵＴ３を示す回路図である。ＬＵＴ３は、ｉ入力のＬＵＴを示している。ＬＵＴ３は、出力端子に最も近い入力配線にマルチプレクサＭＵＸ１を設ける。マルチプレクサＭＵＸ１は、ｉ番目の入力信号と固定電圧のいずれか一方を、メモリＭ１００に格納された情報に応じて選択する。また、ＬＵＴ３では、スイッチトランジスタＴ１のゲートにマルチプレクサＭＵＸ２が接続される。マルチプレクサＭＵＸ２は、メモリＭ１００に格納された情報に応じて２つの信号のうちの１つを選択する。マルチプレクサＭＵＸ１とＭＵＸ２に接続されたメモリＭ１００は、１つのメモリであっても良いし、異なるメモリであって同じ内容が格納されていても良い。マルチプレクサＭＵＸ１が図１９の”Ａ”と示した配線から入力される信号を選択するときには、マルチプレクサＭＵＸ２も図１９の”Ａ”と示した配線から入力される信号を選択する。また、マルチプレクサＭＵＸ１が図１９の”Ｂ”と示した配線から入力される信号を選択するときには、マルチプレクサＭＵＸ２も図１９の”Ｂ”と示した配線から入力される信号を選択する。固定電圧は、電源電圧でも接地でも良い。図１９では、一例として、電源電圧を固定電圧として用いている。このような構成のＬＵＴ３は、スイッチトランジスタＴ１、Ｔ２に接続された全てのメモリへの電源供給を遮断することができる。
【００３６】
メモリＭ１００には、ＬＵＴ３を使用するか否かを示す情報が格納されている。メモリＭ１００にＬＵＴ３を使用することを示す情報が格納されていれば、マルチプレクサＭＵＸ１は入力ｉを選択する。またこのとき、マルチプレクサＭＵＸ２は、図１９で”Ａ”と示した配線から入力される入力ｉの反転信号を選択する。例えば、マルチプレクサＭＵＸ１から出力される入力ｉが”０”の場合には、スイッチトランジスタＴ１はゲートに”１”が入力されてＯＦＦになり、スイッチトランジスタＴ２はゲートに”０”が入力されてＯＮになる。また、マルチプレクサＭＵＸ１から出力される入力ｉが”０”の場合には、スイッチＳ２１がＯＦＦとなり、スイッチＳ２２がＯＮとなる。このように、第１の実施形態にて説明したＬＵＴ１と同様の動作をする。つまり、メモリと出力端子との間に設けられたスイッチが入力信号に基づいてＯＦＦされる場合に、そのメモリへの電源供給を当該入力信号に基づいて遮断し、消費電力を削減することができる。
【００３７】
メモリＭ１００にＬＵＴ３を使用しないことを示す情報が格納されていれば、マルチプレクサＭＵＸ１は電源電圧を選択する。またこのとき、マルチプレクサＭＵＸ２は、図１９で”Ｂ”と示した配線から入力される信号を選択する。これによって、スイッチトランジスタＴ１、Ｔ２には、いずれもＨｉｇｈの信号が入力される。そのため、スイッチトランジスタＴ１、Ｔ２はどちらもＯＦＦとなり、スイッチトランジスタＴ１、Ｔ２に接続された全てのメモリＭ＿１〜Ｍ＿ｉへの電源供給を遮断することができる。
【００３８】
本実施形態のＬＵＴ３には、第１および第２の実施形態で説明した変形を加えることができる。複数の変形を組合せて適用しても良い。また、第２の実施形態と第３の実施形態を組み合わせても良い。
【００３９】
（第４の実施形態）
図２０は、第４の実施形態に係るＬＵＴ４を示す回路図である。ＬＵＴ４は、ｉ入力のＬＵＴを示している。ＬＵＴ４は、出力端子に最も近い入力配線にマルチプレクサＭＵＸ１を設ける。マルチプレクサＭＵＸ１は、ｉ番目の入力信号と固定電圧のいずれか一方を、メモリＭ１００に格納された情報に応じて選択する。また、ＬＵＴ４では、スイッチトランジスタＴ２のゲートにマルチプレクサＭＵＸ２が接続される。マルチプレクサＭＵＸ２は、メモリＭ１００に格納された情報に応じて２つの信号のうちの１つを選択する。マルチプレクサＭＵＸ１とＭＵＸ２に接続されたメモリＭ１００は、１つのメモリであっても良いし、異なるメモリであって同じ内容が格納されていても良い。マルチプレクサＭＵＸ１が図２０の”Ａ”と示した配線から入力される信号を選択するときには、マルチプレクサＭＵＸ２も図２０の”Ａ”と示した配線から入力される信号を選択する。また、マルチプレクサＭＵＸ１が図２０の”Ｂ”と示した配線から入力される信号を選択するときには、マルチプレクサＭＵＸ２も図２０の”Ｂ”と示した配線から入力される信号を選択する。固定電圧は、電源電圧でも接地でも良い。図２０では、一例として、電源電圧を固定電圧として用いている。
【００４０】
ＬＵＴ４は、出力端子を２つ有する。一方の出力端子には、スイッチＳ２１、Ｓ２２を介して信号が出力される。もう一方の出力端子には、スイッチＳ２２へ入力される信号が出力される。このような構成のＬＵＴ４は、ｉ入力のＬＵＴとして用いることもできるし、２つの（ｉ−１）入力のＬＵＴとして用いることもできる。
【００４１】
メモリＭ１００には、ＬＵＴ４をｉ入力のＬＵＴとして用いるか、２つの（ｉ−１）入力のＬＵＴとして用いるかを示す情報が格納されている。メモリＭ１００にＬＵＴ４をｉ入力のＬＵＴとして用いることを示す情報が格納されていれば、マルチプレクサＭＵＸ１は、ｉ番目の入力信号を選択する。また、このとき、マルチプレクサＭＵＸ２は、図２０で”Ａ”と示した配線から入力されるｉ番目の入力信号を選択する。これにより、スイッチトランジスタＴ２のゲートにはｉ番目の入力信号が入力され、スイッチトランジスタＴ１のゲートにはｉ番目の入力の反転信号が入力される。すなわち、ｉ番目の入力に応じてスイッチトランジスタＴ１、Ｔ２のいずれか一方がＯＮとなり、他方がＯＦＦとなる。このように、ＬＵＴ４をｉ入力のＬＵＴとして用いる場合には、第１の実施形態で説明したＬＵＴ１と同様に、ｉ番目の入力に応じて、メモリＭ＿１〜Ｍ＿ｊと、メモリＭ＿（ｊ＋１）〜Ｍ＿ｉのいずれか一方への電源供給を遮断することができ、消費電力を削減することができる。
【００４２】
メモリＭ１００にＬＵＴ４を２つの（ｉ−１）入力のＬＵＴとして用いることを示す情報が格納されていれば、マルチプレクサＭＵＸ１は、電源電圧を選択する。すると、スイッチトランジスタＴ１のゲートにはＬｏｗの信号が入力されて、スイッチトランジスタＴ２がＯＮになる。スイッチトランジスタＴ２のゲートにもＬｏｗの信号が入力されて、スイッチトランジスタＴ２もＯＮになる。また、このときスイッチＳ２１はＯＮとなり、スイッチＳ２２はＯＦＦとなる。そのため、１番目の入力から（ｉ−１）番目の入力を用いて選択されたメモリＭ＿１〜Ｍ＿ｊのいずれかに記憶された情報が第１の出力端子から出力される。また、１番目の入力から（ｉ−１）番目の入力を用いて選択されたメモリＭ＿（ｊ＋１）〜Ｍ＿ｉのいずれかに記憶された情報が第２の出力端子から出力される。つまり、ＬＵＴ４を、スイッチ群ＳＧ１とＳＧ２への入力を共有した２つの（ｉ−１）ＬＵＴとして使用することができる。
【００４３】
本実施形態のＬＵＴ４には、第１〜３の実施形態で説明した変形を加えることができる。複数の変形を組合せて適用しても良い。また、本実施形態に第２の実施形態や第３の実施形態を組み合わせても良い。
【００４４】
なお、上記実施形態に限定されることはなく、本発明の要旨を逸脱しない範囲において、適宜変更しても良い。
【符号の説明】
【００４５】
１，１ａ〜１ｋ，２，２ａ，３，４…ＬＵＴ、  Ｍ１〜Ｍｉ…メモリ，  Ｓ１〜Ｓ２２…スイッチ，  Ｔ１，Ｔ２…スイッチトランジスタ、  ＳＧ１，ＳＧ２…スイッチ群、  ＭＵＸ１，ＭＵＸ２…マルチプレクサ、  Ｍ１００…メモリ
【図１】
0005607093.tif 000002
【図２】
0005607093.tif 000003
【図３】
0005607093.tif 000004
【図４】
0005607093.tif 000005
【図５】
0005607093.tif 000006
【図６】
0005607093.tif 000007
【図７】
0005607093.tif 000008
【図８】
0005607093.tif 000009
【図９】
0005607093.tif 000010
【図１０】
0005607093.tif 000011
【図１１】
0005607093.tif 000012
【図１２】
0005607093.tif 000013
【図１３】
0005607093.tif 000014
【図１４】
0005607093.tif 000015
【図１５】
0005607093.tif 000016
【図１６】
0005607093.tif 000017
【図１７】
0005607093.tif 000018
【図１８】
0005607093.tif 000019
【図１９】
0005607093.tif 000020
【図２０】
0005607093.tif 000021