このアプリケーションの一部のコンテンツは現時点では利用できません。
このような状況が続く場合は、にお問い合わせくださいフィードバック & お問い合わせ
1. (WO2018180536) プログラマブル論理集積回路とそのプログラミング方法及びそのプログラム
Document

明 細 書

発明の名称 プログラマブル論理集積回路とそのプログラミング方法及びそのプログラム

技術分野

0001  

背景技術

0002   0003   0004   0005   0006   0007  

先行技術文献

特許文献

0008  

発明の概要

発明が解決しようとする課題

0009   0010   0011   0012   0013   0014  

課題を解決するための手段

0015   0016   0017  

発明の効果

0018  

図面の簡単な説明

0019  

発明を実施するための形態

0020   0021   0022   0023   0024   0025   0026   0027   0028   0029   0030   0031   0032   0033   0034   0035   0036   0037   0038   0039   0040   0041   0042   0043   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054  

符号の説明

0055  

請求の範囲

1   2   3   4   5   6   7   8  

図面

1   2   3   4   5   6   7   8   9  

明 細 書

発明の名称 : プログラマブル論理集積回路とそのプログラミング方法及びそのプログラム

技術分野

[0001]
 本発明は、抵抗変化素子を利用したプログラマブル論理集積回路とそのプログラミング方法及びそのプログラムに関する。

背景技術

[0002]
 半導体集積回路は、半導体基板に形成されたトランジスタと、トランジスタを接続するために半導体基板の上層に形成された配線構造を備えて構成される。トランジスタや配線のパターンは、集積回路の設計段階で決められており、半導体集積回路製造後に、トランジスタ同士の接続を変更することは不可能である。
[0003]
 FPGA(Field Programmable Gate Array)などのプログラマブル論理集積回路は、論理演算回路の動作や、論理演算回路の接続をメモリに記憶することで、論理動作や配線の接続の変更を可能にしている。ここで、構成情報の記憶を行うメモリ素子として、SRAM(Static Random Access Memory)セル、アンチフューズ、フローティングゲートMOS(Metal Oxide Semiconductor)トランジスタなどを用いている。
[0004]
 これらのメモリ素子はトランジスタと同じ層に形成されているため、非常に大きな面積オーバヘッドが生じ、その結果、プログラマブル論理集積回路のチップ面積が大きくなり、製造コストが上昇する問題がある。また、論理演算回路同士の接続を変更する配線スイッチの面積が大きくなるために、チップ面積に占める論理演算回路の割合が低くなってしまう問題がある。この使用効率の低下により、FPGAに実装される回路の動作速度の低下や動作電力の増大を招く。
[0005]
 製造後に配線接続構成の変更を可能とし、製造後に回路の不具合の修正や仕様の変更を可能とし、さらにチップ面積の縮小や電力性能比の向上を図ることを目的として、配線層に形成可能な抵抗変化素子を利用したプログラマブル論理集積回路が提案されている。
[0006]
 例えば、特許文献1や特許文献2に開示されるプログラマブル論理集積回路では、第1の配線層と、その上部に形成される第2の配線層との間に、金属イオンを含有する固体電解質材料から構成される抵抗変化素子を用いている。抵抗変化素子の両端に順バイアス、あるいは逆バイアスを印加することによりその抵抗値を変えることができ、低抵抗状態(オン状態)と高抵抗状態(オフ状態)の比は10 あるいはそれ以上となる。すなわち、当該抵抗変化素子は、第1の配線と第2の配線とを電気的に接続、あるいは切断できるスイッチ手段として機能する。
[0007]
 既知のプログラマブル論理集積回路における配線の接続/切断においては、SRAMセルと、スイッチ機能を有するトランジスタから構成されるスイッチセルが利用されている。一方、抵抗変化素子はメモリ機能とスイッチ機能を実現できるため、スイッチセルを1個の抵抗変化素子で実現できるようになる。特許文献1によると、第1の配線群と第2の配線群の各交点に抵抗変化素子を配置することで、第1の配線群の任意の配線と、第2の配線群の任意の配線を自在に接続可能なクロスバースイッチ回路を非常にコンパクトなサイズで構成できる。その結果、チップ面積の大幅な縮小化や、論理演算回路の使用効率の改善による性能向上が期待できる。また、抵抗変化素子のオン/オフ状態は、集積回路の通電が遮断された状態でも保持されるため、プログラマブル論理集積回路の電源を投入する度に回路構成情報をロードする手間を省くことができる利点もある。

先行技術文献

特許文献

[0008]
特許文献1 : 特許第4356542号公報
特許文献2 : 国際公開第2012/043502号
特許文献3 : 特開2015-076655号公報
特許文献4 : 国際公開第2013/190742号
特許文献5 : 特開平9-197011号公報

発明の概要

発明が解決しようとする課題

[0009]
 プログラマブル論理集積回路の微細化によって集積度が増加したことで、消費電力が懸念される要素になって来た。プログラマブル論理回路の使用環境によっては、消費電力がデバイス選択時の第一優先項目にもなる。
[0010]
 半導体集積回路の消費電力は、ダイナミック電力とリーク電力に分類される。微細化によって増加するのは、デバイス内のトランジスタのリーク電流が原因のリーク電力である。トランジスタのソースとドレイン間を流れるリーク電流、ドレインからウェルに流れるリーク電流や、ゲート酸化膜を突き抜けるリーク電流は、トランジスタの微細化によって増加する。また、回路規模が同等であれば、ダイナミック電力は微細化によって低減するが、回路規模が増加すればダイナミック電力も増加する。
[0011]
 抵抗変化素子を利用したプログラマブル論理集積回路においても、微細化による消費電力増加は深刻な問題となる。
[0012]
 半導体集積回路のリーク低減対策としては、使用しないブロックへの電源電圧の停止(パワーゲーティング)などがある。一般的にパワーゲーティングでは、ある程度の規模のブロック全体をオン/オフする、並列に構成されたスイッチトランジスタの集まりであるパワースイッチネットワークを使用して、電源の供給を停止する。プログラマブル論理回路では、特定用途向け集積回路と比較して、使用しないリソースが多く存在する。既存のプログラマブル論理回路では、再構成可能な論理ブロック(Configurable Logic Block、CLBと略す)単位など、ある程度まとまったブロックで電源を遮断している。すると、例えば、あるCLBがデータ転送の方向変換(右方向に進んでいたデータを上方向に変えるような)だけに使用される場合には、論理ブロック内のごく一部の配線と出力バッファだけが動作に寄与し、残りは全て使用されないリソースとなる。しかし使用されない出力バッファでも電源電圧は印加されており、サブスレッショルド電流が流れ、その結果待機電力が増大してしまう。
[0013]
 特許文献3には出力バッファにおけるスタンバイ時のサブスレッショルドリーク電流を低減するために、出力バッファ回路と電源の間に電流カット回路を挿入している(特許文献3の(0079)段落等)。しかし、特許文献3の出力バッファは、メモリセルからの出力用に使用されるバッファである。プログラマブル論理回路に置き換えると、論理動作に寄与する出力バッファのリーク電流を低減するものであって、論理動作に寄与しない(使用しない)出力バッファのリーク電流を低減するものではない。
[0014]
 本発明の目的は、抵抗変化素子を用いたプログラマブル論理回路において、リーク電流を抑制することにある。

課題を解決するための手段

[0015]
 本発明は、入力線と出力線に接続された複数の第1の抵抗変化素子をスイッチ素子として備えたスイッチマトリクスを有し、前記出力線にバッファが接続されたプログラマブル論理集積回路であって、
所望の論理回路をプログラムした際に生じる、前記論理回路の動作には寄与しない前記出力線に接続されている前記バッファには電源を供給しないことを特徴とするプログラマブル論理集積回路、である。
[0016]
 また本発明は、入力線と出力線に接続された複数の第1の抵抗変化素子をスイッチ素子として備えたスイッチマトリクスを有し、前記出力線にバッファが接続されたプログラマブル論理集積回路のプログラミング方法であって、
前記スイッチ素子のコンフィグレーションデータと、
所望の論理回路をプログラムした際に生じる、前記論理回路の動作に寄与しない前記出力線に接続されている前記バッファに電源電圧を供給しないよう設定する前記バッファのコンフィグレーションデータと、を用いてプログラマブル論理集積回路をプログラミングすることを特徴とするプログラマブル論理集積回路のプログラミング方法、である。
[0017]
 また本発明は、入力線と出力線に接続された複数の第1の抵抗変化素子をスイッチ素子として備えたスイッチマトリクスを有し、前記出力線にバッファが接続されたプログラマブル論理集積回路のプログラムであって、
前記スイッチ素子のコンフィグレーションデータと、所望の論理回路をプログラムした際に生じる、前記論理回路の動作に寄与しない前記出力線に接続されている前記バッファに電源電圧を供給しないよう設定する前記バッファのコンフィグレーションデータと、を用いてプログラマブル論理集積回路をプログラミングする処理をコンピュータに実行させることを特徴とするプログラマブル論理集積回路のプログラム、である。

発明の効果

[0018]
 本発明によれば、抵抗変化素子を用いたプログラマブル論理回路においてリーク電流を抑制することができる。

図面の簡単な説明

[0019]
[図1] 本発明の第1の実施形態のプログラマブル論理集積回路の構成を示す図である。
[図2] 本発明の第1の実施形態のプログラマブル論理集積回路において、論理ブロックCLB間の接続関係を示す図である。
[図3] 本発明の第1の実施形態のプログラマブル論理集積回路において、出力バッファBUFへの電源供給の停止を説明する回路図である。
[図4] 本発明の第1の実施形態のプログラマブル論理集積回路の抵抗変化素子の構成を示す図である。
[図5] 本発明の第1実施形態のプログラマブル論理集積回路の抵抗変化素子を切り替える動作方法を示す図である。
[図6] 図3の抵抗変化素子A,Bに対する書き込みを行う書き込み回路及び制御線を示す図である。
[図7] 本発明の第2の実施形態のプログラマブル論理集積回路において、出力バッファBUFへの電源供給の停止を説明する回路図である。
[図8] 本発明の第3の実施形態のプログラマブル論理集積回路において、出力バッファBUFへの電源供給の停止を説明する回路図である。
[図9] 本発明の第4の実施形態のプログラマブル論理集積回路の構成を示す図である。

発明を実施するための形態

[0020]
 以下、図面等を用いて本発明の実施の形態について詳述する。但し、以下に述べる実施形態には、本発明を実施するために技術的に好ましい限定がされているが、発明の範囲を限定するものではない。
(第1の実施形態)
 図1~図3を用いて本発明の第1の実施形態を説明する。図1は、抵抗変化素子を利用したプログラマブル論理集積回路のCLB100の構成を示す図である。CLB100は論理回路ブロック200とクロスバースイッチブロック300を備えている。プログラマブル論理集積回路はCLBを例えばタイル状に配置することで構成される。論理回路ブロック200の演算結果はクロスバースイッチ300へ出力され、CLB間のデータ転送はクロスバースイッチ300を介して行われる。論理回路ブロックの構成及びクロスバースイッチブロック間の接続の仕方によって、ユーザが所望する機能を持った論理集積回路を実現できる。
[0021]
 論理回路ブロック200は、2つのルックアップテーブル(Look-Up Table、LUTと略す)、LUTの出力にそれぞれ接続された2つのD型フリップフロップ(D型Flip-Flop、DFFと略す)、ルックアップテーブルLUTの出力とDFFの出力に接続された2つのマルチプレクサ(Multiplexer、MUXと略す)、この2つの前段MUXの出力を入力とする後段MUXを備えている。
[0022]
 前述の後段MUXは外部出力回路I/Oへ接続される(不図示)。
[0023]
 2つの前段MUXの出力は後段のマルチプレクサMUXに接続される以外に、クロスバースイッチブロック300にもCBO00及びCBO01として接続されている。
[0024]
 クロスバースイッチブロック300は、LUTへの入力を決めるインプットマルチプレクサ(Input Multiplexer、IMUXと略す)と隣接CLBとの入出力配線を決めるスイッチングマルチプレクサ(Switching Multiplexer、SMUXと略す)を備えている。隣接CLBへの出力にはバッファ回路(以下、SMUX出力BUFと称する)を有する。クロスバースイッチブロックの各交点にはそれぞれ抵抗変化素子R0000~R1925とRG00~RG19が配置される。本実施形態では、20個×28個の交点を有するクロスバースイッチを例として示している。抵抗変化素子の一方の端子は、CBO00及びCBO01、入力線IN00-IN24、または電源電圧に接続する配線のいずれかと接続され、他方の端子は出力線OUT00-OUT11に接続される。SMUX内の抵抗変化素子R0000~R1125とRG00~RG11、及び、インプットマルチプレクサIMUX内の抵抗変化素子R1200~R1925とRG12~RG19は、構成したい論理回路に基づいて、抵抗値を低抵抗状態(オン状態)あるいは高抵抗状態(オフ状態)のどちらかの状態に書き込むことで、入力線、出力線との接続関係を変える。
[0025]
 図1のCLB100において、例えば入力線IN00と出力線OUT00を接続させる場合、抵抗変化素子R0000をオン状態に、出力線OUT00上の抵抗変化素子R0000以外のR0001~R0025、及びRG00の26個はオフ状態にする。出力線OUT01をIN00~IN24のいずれの入力線にも接続しない場合は、浮き電位が生じることを防ぐために、抵抗変化素子RG01をオン状態にして電源電圧に接続する配線と接続させる。出力線は全てSMUX出力BUFの入力端子に接続されるため、浮き電位が生じると貫通電流が流れてリーク電流が増大するからである。電源電圧は、高電位側電源でもグラウンドでも良いが、本実施形態では、高電位側の電源に接続した回路とする。図1に示す抵抗変化素子は、前述の特許文献1,2で述べた、第1、第2の配線層の間に金属イオンを含有する固体電解質を備えた抵抗変化素子を用いる。
[0026]
 2つ以上の入力信号が衝突するのを防ぐために、例えば、出力線OUT00に接続された横一列に並ぶ28個の抵抗変化スイッチの内、オン状態の抵抗変化素子は1つしか許されない。一方、入力線IN00に接続された縦一列に並ぶ20個の抵抗変化素子は、原理上、すべてオン状態になり得る。
[0027]
 図2はCLB間の接続について、同図の左方向への接続に焦点を当てて示している。各クロスバースイッチブロック内のIMUXは、当該CLBのLUTへそれぞれ接続され、各LUTの出力である演算結果は当該CLBのクロスバースイッチブロックへ接続される。各LUTの演算結果は、全てSMUX及びSMUX出力BUFを経由して他のCLBへ転送される。CLB内のSMUXから隣接CLBへの出力にはSMUX出力BUFとトランスミッションゲート(Transmission Gate、TMGと略す)を有する。TMGは、抵抗変化素子へ書き込みを行うときに選択されたCLB以外への予期しない電圧印加や電流が流れ込むことを防ぐために配置される。抵抗変化素子の書き込み時は、常にオフ状態論理回路動作時には常にオン状態で用いる。
[0028]
 一つのCLBは上下左右にそれぞれ3本ずつ出力を有する。図1に示すように、SMUXからの出力は12本で、それぞれにSMUX転送BUFを備える。例えばCLB1からのデータ出力はSMUX出力BUF1[11:0]の12台となり、左方向へはSMUX出力BUF1[2:0]が接続された出力線3本が配置される。(ここで、SMUX出力BUF[11:0]はBUF1[0]、BUF[1]、・・・BUF[11]の12個をまとめて表わす表現で、BUF1という名前のバッファが12個存在していることを意味する。また「SMUX出力BUF1[2:0]が接続された出力線3本が配置される。」はBUF1[0]、BUF[1]、BUF[2]が接続された出力線3本が配置されることを意味する。)また右、上、下方向へはSMUX出力BUF1[11:3]を備えた出力線9本を配置している。出力線OUT00に接続されたSMUX出力BUF1[0]から出力されたデータは、TMG11[0]を経由してCLB2へ転送され、CLB2の入力線に入る。その入力データは、CLB2のSMUX2へ転送される配線と、CLB2のSMUX2を経由せずにCLB間転送BUF(以下CLB-BUFと略す)2[0]とTMG21[1]を経由してCLB3の入力線に入る配線とに分岐する構造を有する。CLB-BUF2[0]を経由するデータ線はCLB3の入力線では分岐せずにSMUX3のみに接続する。
[0029]
 図3に、図1の抵抗変化素子RG00~RG19に接続する電源電圧がグラウンドの場合のSMUX出力BUFの回路図を示す。SMUX出力BUFはCMOS(Complementary Metal Oxide Semiconductor)で構成されるインバータを二段に接続して構成したバッファ回路のグラウンド側に、スイッチトランジスタとしてのnMOSトランジスタ301、302を挿入したものである。入力端子INには、SMUXの出力が接続される。nMOSトランジスタ301、302のゲート端子は、抵抗変化素子Aを介して、高電位側である電源電圧Vに接続され、抵抗変化素子Bを介して、低電位側であるグラウンドに接続される。抵抗変化素子AとBの組み合わせは、CLB100に存在するSMUX出力BUFと等しく12組が配置される。
[0030]
 論理回路動作に使用しない場合、入力端子INはSMUXに配置された抵抗変化素子を介してグラウンドに接続されているため、図3のバッファ回路はオフ状態となる。nMOSトランジスタ301、302によってグラウンド側の電源電圧を遮断していない場合はグラウンドからのリーク電流が流れる。nMOSトランジスタ301、302をオフ状態とするようにゲート電圧を与えれば、当該SMUX出力BUFのリーク電流はnMOSトランジスタのソース-ドレイン間のリーク電流のみとなる。
[0031]
 図3の構造を有するバッファ回路はCLB-BUFに用いることもできる。
[0032]
 SMUX出力BUFを論理回路動作に使用する場合は、nMOSトランジスタ301、302が常にオン状態になるように、高電位側の電源電圧に接続する抵抗変化素子Aをオン状態、抵抗変化素子Bをオフ状態に書き込む。一方、SMUX出力BUFを論理回路動作時に使用しない場合は、nMOSトランジスタ301、302が両方とも常にオフ状態になるように、グラウンドに接続する抵抗変化素子Bをオン状態、抵抗変化素子Aをオフ状態に書き込む。
[0033]
 図4は、抵抗変化素子の構造を示す図である。抵抗変化素子40は、抵抗変化層41と、抵抗変化層41に接して対向面に設けられている第1電極42および第2電極43と、を有する。抵抗変化素子40は、抵抗変化層41に、遷移金属酸化物を用いたReRAM(Resistance Random Access Memory)や、イオン伝導体を用いたNanoBridge(登録商標)などを用いることができる。
[0034]
 抵抗変化層41にイオン伝導体を用いる場合、第1電極41からは抵抗変化層41に金属イオンが供給され、第2電極43からは金属イオンは供給されないとする。例えば、第1電極41として銅(Cu)を有する金属を、第2電極43としてルテニウム(Ru)を、各々用いることができる。抵抗変化素子40は、抵抗変化層41にイオン伝導体中での金属イオンの移動と電気化学反応とを利用した金属析出型のスイッチとなる。
[0035]
 図5は、抵抗変化素子40の抵抗値を切り替える方法を示す。この図5に示すように、抵抗変化素子40は、第1電極42と第2電極43とで抵抗変化層41に印加する電圧の極性を変えることで、抵抗変化層41の抵抗値を変化させることができる。抵抗変化層41の低抵抗状態(オン状態)と高抵抗状態(オフ状態)の抵抗比は、例えば、10の5乗、もしくはそれ以上とすることができる。これにより、抵抗変化素子40は、電気的に接続あるいは切断するスイッチとして機能する。なお、抵抗変化素子によるスイッチとしては、対を成す2つの抵抗変化素子と1つのトランジスタとから成る相補型構造のスイッチとすることもできる。
[0036]
 図6は相補型構造のスイッチの抵抗変化素子A,Bに対する書き込み回路を示す図である。図3では書き込み回路と制御線は省略している。図6で、上層の書き込み制御線430と下層の書き込み制御線450の間に抵抗変化素子A,Bを設ける。上部の抵抗変化素子AをON,OFFさせるためには、書き込み制御回路401と書き込み制御回路402を用いて、書き込み制御トランジスタ411(nMOS)と書き込み制御トランジスタ422(nMOS)をONにして書き込むための電流を流す。また下部の抵抗変化素子Bの場合は、書き込み制御回路402と書き込み制御回路403を用いて、書き込み制御トランジスタ433(nMOS)と書き込み制御トランジスタ422をONにして書き込み電流を流す。論理回路上で抵抗変化素子をオン状態で使用するときは、上部、下部二つの抵抗変化素子A,BをONに書き込む。なお論理回路動作時にはこの書き込み回路は使用しない。
[0037]
 図3で、スイッチ素子を構成する抵抗変化素子A及びBのオン・オフ状態は、プログラマブル論理集積回路100のコンフィギュレーションデータの設定値として取り扱うことができる。所望の論理回路をプログラマブル論理回路に搭載するためのコンフィギュレーションデータはVerilog(Verilogはデジタル回路の設計用の論理シミュレータで使用するハードウェア記述言語の商標)などのRTL(Resister Transfer Level)記述から論理合成を行ってフリップフロップやAND、NORなどのゲートレベルの記述から、配置配線ツールを用いて作成する。コンフィギュレーションデータは、プログラマブル論理集積回路に配置された抵抗変化素子全てのオン・オフ状態の設定から構成される。所望の論理回路動作を実現する配置配線結果の情報を用いて、動作に寄与するSMUX出力BUFと寄与しないSMUX出力BUFを区別し、全てのSMUX出力BUFに存在する抵抗変化素子A,及びBのオン・オフ状態の設定値を作成すれば良い。
[0038]
 クロスバースイッチブロック300には出力線がOUT00からOUT11まで12本あるが、全ての出力線を使うとは限らず、論理回路動作に寄与しない出力線が生じる。例えば、図1のCLB内の抵抗変化素子R0000を介して出力線OUT00のみが、プログラムされた論理回路の動作に寄与する配線であり、出力線OUT01からOUT11を使用しない場合を考える。OUT00は図2におけるSMUX出力BUF1[0]に接続することとする。図3に示す構造のSMUX出力BUF1[0]において、抵抗変化素子Aをオン状態、抵抗変化素子Bをオフ状態にして、出力線OUT00に接続するSMUX出力BUFのスイッチトランジスタ(nMOSトランジスタ301、302)のみをオン状態にする。OUT00以外の出力線OUT01~OUT11はここではプログラムされた論理回路の動作に寄与しない配線である。寄与しない配線に接続されたSMUX出力BUFに対応する抵抗変化素子Aは、全てオフ状態、抵抗変化素子Bは全てオン状態にして、対応するスイッチトランジスタを全てオフ状態にする。
[0039]
 また、SMUX出力BUF1[0]から出力されたデータはCLB2のSMUX2とCLB-BUF2[0]に分岐する。仮にSMUX2への入力線のみ論理回路動作に寄与して、CLB-BUF2[0]への入力線が寄与しない場合を考える。図3の構造のバッファをCLB-BUF2[0]に用いて、抵抗変化素子Aをオフ状態、抵抗変化素子Bをオン状態にすることで、CLB-BUF2[0]からCLB3のSMUX3に接続する配線への電源供給を遮断することができる。SMUX出力BUFと同様のリーク電流低減効果も得られるが、この場合は出力配線への電源供給遮断による動的電力低減効果も併せて得られる。
[0040]
 論理ブロック内には、論理回路の動作に寄与する出力線と寄与しない出力線がある。ブロック単位のパワーゲーティングでは、動作しているブロック内の、論理回路の動作に寄与していない出力線にも電源電圧を供給していたため無駄な電力を消費していた。しかし本実施形態ではプログラムされた論理回路の動作に寄与する出力線に接続するSMUX出力BUFだけに電源供給を行うので、ブロック単位のパワーゲーティングだけの場合に比べて消費電力を低減させることができる。SMUX出力BUFのリーク電流による消費電力は、スイッチトランジスタのリーク電流成分だけとなり、大幅に抑制することが可能となる。配線の使用状況に応じて、電源供給を停止することができるため、消費電力をより低減することができる。
[0041]
 背景技術の欄でも述べたが、例えば、図1の構造のCLBがデータ転送の方向変換(右方向に進んでいたデータを上方向に変えるような)だけに使用される場合には、クロスバースイッチブロック内のSMUX出力BUFは1個のみ論理動作に寄与し、残りの11個は使用されない配線リソースとなってしまう。使用されない配線リソースであっても、電源電圧は印加されており、サブスレッショルド電流が流れ、その結果待機電力が増大する。一方本実施形態では、このような使用されない配線リソースであるSMUX出力BUFなどを、配線一本単位で電源遮断する。そのため貫通電流によるリーク電流を抑制できる。
[0042]
 配線リソースの多いプログラマブル再構成論理回路であればあるほど、リーク電流低減効果は大きくなる。テクノロジーノードや実現する論理回路にもよるが、本実施形態のプログラマブル再構成論理回路では、設計ルール45nmのCMOSで、消費電力を大よそ10~20%程度削減できる。
(第2の実施形態)
 図7に、図1の抵抗変化素子RG00~RG19に接続する電源電圧が高電位側の電源電圧の場合に、本実施形態で用いるSMUX出力BUFの回路図を示す。SMUX出力BUFはCMOSで構成されたインバータ回路を2段接続したバッファ回路の電源電圧側に、スイッチトランジスタとしてのpMOSトランジスタ501、502を挿入したものである。pMOSトランジスタを用いた点が第1の実施形態と異なる。pMOSトランジスタ501、502のゲート端子は、抵抗変化素子Aを介してグラウンドへ、抵抗変化素子Bを介して高電位側の電源電圧に接続する。
[0043]
 このSMUX出力BUFを、論理回路動作に使用する場合は、pMOSトランジスタ501、502は常にオン状態になるように、高電位側の電源電圧に接続する抵抗変化素子Bをオフ状態、グラウンド側に接続する抵抗変化素子Aをオン状態に書き込む。抵抗変化素子A,Bへの書き込みは実施形態1と同様の方法で行うことができる。SMUX出力BUFを論理回路動作時に使用しない場合は、pMOSトランジスタ501、502は常にオフ状態になるように、グラウンドに接続する抵抗変化素子Aをオフ状態、抵抗変化素子Bをオン状態に書き込む。
[0044]
 例えば、図1のCLB内の抵抗変化素子R0000を介して出力線OUT00のみが、プログラムされた論理回路の動作に寄与する配線であったとする。その場合は、出力線OUT00が接続される図7に示されるSMUX出力BUF内の抵抗変化素子Aをオン状態にし、抵抗変化素子Bをオフ状態にして、SMUX出力BUFのスイッチトランジスタ(pMOSトランジスタ501、502)のみをオン状態にする。それ以外のOUT01~OUT11に接続されたSMUX出力BUF内の抵抗変化素子Aは全てオフ状態、抵抗変化素子Bは全てオン状態にして、対応するスイッチトランジスタを全てオフ状態にする。
[0045]
 また、SMUX出力BUF1[0]から出力されたデータはCLB2のSMUX2とCLB-BUF2[0]に分岐する。仮にSMUX2への入力線のみ論理回路動作に寄与して、CLB-BUF2[0]への入力線が寄与しない場合を考える。図3の構造のバッファをCLB-BUF2[0]に用いて、抵抗変化素子Aをオフ状態、抵抗変化素子Bをオン状態にすることで、CLB-BUF2[0]からCLB3のSMUX3に接続する配線への電源供給を遮断することができる。SMUX出力BUFと同様のリーク電流低減効果も得られるが、この場合は出力配線への電源供給遮断による動的電力低減効果も併せて得られる。
[0046]
 動作しているブロックでも、ブロック内に論理回路の動作に寄与している出力線とそうでない出力線がある。ブロック単位のパワーゲーティングでは、動作しているブロック内の、論理回路の動作に寄与していない出力線にも電源電圧を供給していたため無駄な電力を消費していた。しかし本実施形態ではプログラムされた論理回路の動作に寄与する出力線だけに電源供給を行うので、ブロック単位のパワーゲーティングだけの場合に比べて消費電力をさらに低減させることができる。SMUX出力BUFのリーク電流による消費電力は、スイッチトランジスタのリーク電流成分だけとなり、大幅に低減させることが可能となる。配線の使用状況に応じて、電源供給を停止することができるため、消費電力をより低減することができる。配線リソースの多いプログラマブル再構成論理回路になるほど、リーク電流低減効果は大きくなる。
(第3の実施形態)
 図8に、本実施形態で用いるスイッチングマルチプレクサSMUXの出力に接続された出力バッファBUF(SMUX出力BUF)の回路図を示す。出力バッファBUFはCMOS回路を縦続接続して構成したバッファ回路のグラウンドに接続する配線に、スイッチとして抵抗変化素子を配置したものである。
[0047]
 このSMUX出力BUFを、論理回路の動作に使用する場合は、抵抗変化素子AおよびBをオン状態にする。一方で動作に使用しない場合は、抵抗変化素子AおよびBをオフ状態にし、グラウンドへの接続を遮断する。この抵抗変化素子A及びBのオン・オフ状態は、プログラマブル論理集積回路のコンフィギュレーションデータの設定値として取り扱うことができる。
[0048]
 図1のCLB内の抵抗変化素子R0000を介して出力線OUT00のみが、プログラムされた論理回路の動作に寄与する配線であった場合には、出力線OUT00が接続される図8に示すSMUX出力BUFの抵抗変化素子AおよびBをオン状態にする。それ以外のSMUX出力BUFの抵抗変化素子A及びBは全てオフ状態とする。抵抗変化素子A,Bへの書き込みは図6で示した回路を流用すればよい。
[0049]
 また、SMUX出力BUF1[0]から出力されたデータはCLB2のSMUX2とCLB-BUF2[0]に分岐する。仮にSMUX2への入力線のみ論理回路動作に寄与して、CLB-BUF2[0]への入力線が寄与しない場合を考える。図3の構造のバッファをCLB-BUF2[0]に用いて、抵抗変化素子A、Bを共にオフ状態にすることで、CLB-BUF2[0]からCLB3のSMUX3に接続する配線への電源供給を遮断することができる。SMUX出力BUFと同様のリーク電流低減効果も得られるが、この場合は出力配線への電源供給遮断による動的電力低減効果も併せて得られる。
[0050]
 本実施形態によれば、SMUX出力BUF及びCLB-BUFのリーク電流による消費電力は、抵抗変化素子A,Bのリーク電流成分だけとなり、大幅に抑制することが可能となる。配線の使用状況に応じて、電源供給を停止することができるため、消費電力をより低減することができる。配線リソースの多いプログラマブル再構成論理回路になるほど、消費電力低減効果は大きくなる。
[0051]
 抵抗変化素子はリーク電流の温度依存性が低い。そのため本実施形態のSMUX出力BUFを用いると、高温の使用状況下におかれるようなデバイスではリーク電流低減に非常に有用である。また、半導体デバイスが微細化されるほど、スイッチトランジスタのリーク電流は大きくなるため、抵抗変化素子をスイッチ素子として使用した本実施形態はリーク電流低減効果がより期待できる。
(第4の実施形態)
 図9は本実施形態のプログラマブル論理集積回路を示す図である。本実施形態のプログラマブル論理集積回路700は、入力線INと出力線OUTに接続された複数の第1の抵抗変化素子Rをスイッチ素子として備えたスイッチマトリクス710を有し、出力線OUTに出力バッファBUFが接続されている。更に、論理回路ブロック720を所望の論理回路にプログラムした際に生じる、論理回路の動作には寄与しない出力線に接続されている出力バッファBUFには電源電圧を供給しない。本実施形態ではこのような使用されない出力BUFについて配線一本単位で電源遮断する。そのため貫通電流によるリーク電流を抑制できる。
(他の実施形態)
 上述の実施形態では抵抗変化素子として、金属イオンを含有する固体電解質材料から構成されるタイプを用いた。しかしそれ以外にも、ReRAM(Resistive Random Access Memory)、PRAM(Phase Change Random Access Memory、商標)等も用いることができる。
[0052]
 また、以上説明した実施形態の全部又は一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、プログラマブル論理集積回路をプログラムしてもよい。
[0053]
 以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
[0054]
 この出願は、2017年3月28日に出願された日本出願特願2017-062868を基礎とする優先権を主張し、その開示の全てをここに取り込む。

符号の説明

[0055]
 100  プログラマブル論理集積回路
 200、720  論理回路ブロック
 300  クロスバースイッチブロック
 301、302  nMOSトランジスタ
 401、402、403  書き込み制御回路
 430  上層の書き込み制御線
 450  下層の書き込み制御線
 501、502  pMOSトランジスタ
 700  プログラマブル論理集積回路
 710  スイッチマトリクス
 BUF  出力バッファ
 IN  入力線
 IMUX  インプットマルチプレクサ
 OUT  出力線
 SMUX  スイッチングマルチプレクサ
 MUX  マルチプレクサ
 LUT  ルックアップテーブル
 R0000~R1925  抵抗変化素子

請求の範囲

[請求項1]
 入力線と出力線に接続された複数の第1の抵抗変化素子をスイッチ素子として備えたスイッチマトリクスを有し、前記出力線にバッファが接続されたプログラマブル論理集積回路であって、
所望の論理回路をプログラムした際に生じる、前記論理回路の動作には寄与しない前記出力線に接続されている前記バッファには電源を供給しないことを特徴とするプログラマブル論理集積回路。
[請求項2]
 前記バッファへの電源の供給及び停止を決定するスイッチング素子を設け、
前記出力線が前記論理回路の動作に寄与する場合には、前記出力線に接続された前記バッファのスイッチング素子がオンして前記バッファに電源が供給され、
前記出力線が前記論理回路の動作に寄与しない場合には、前記出力線に接続された前記バッファのスイッチング素子がオフして前記バッファに電源が供給されない、
請求項1に記載のプログラマブル論理集積回路。
[請求項3]
 前記スイッチ素子のオン、オフを制御する第2の抵抗変化素子を設け、
前記出力線が前記論理回路の動作に寄与する場合には、前記出力線に接続された前記バッファのスイッチング素子がオンするよう前記第2の抵抗変化素子が書き込まれ、
前記出力線が前記論理回路の動作に寄与しない場合には、前記出力線に接続された前記バッファのスイッチング素子がオフするよう前記第2の抵抗変化素子が書き込まれた、
請求項2に記載のプログラマブル論理集積回路。
[請求項4]
 前記第2の抵抗変化素子として、前記スイッチング素子をオンさせる抵抗変化素子とオフさせる抵抗変化素子を備え、前記出力線が前記論理回路の動作に寄与しない場合、前記スイッチング素子をオンさせる抵抗変化素子及び前記オフさせる抵抗変化素子の両方ともオフにする請求項3に記載のプログラマブル論理集積回路。
[請求項5]
 前記論理回路の動作に寄与しない出力線に接続する前記第1の抵抗変化素子を高抵抗状態にする請求項1から4のいずれか一項に記載のプログラマブル論理集積回路。
[請求項6]
 前記スイッチマトリクスは配線接続の切り替えを行うクロスバースイッチである請求項1から4のいずれか一項に記載のプログラマブル論理集積回路。
[請求項7]
 入力線と出力線に接続された複数の第1の抵抗変化素子をスイッチ素子として備えたスイッチマトリクスを有し、前記出力線にバッファが接続されたプログラマブル論理集積回路のプログラミング方法であって、
前記スイッチ素子のコンフィグレーションデータと、所望の論理回路をプログラムした際に生じる、前記論理回路の動作に寄与しない前記出力線に接続されている前記バッファに電源電圧を供給しないよう設定する前記バッファのコンフィグレーションデータと、を用いてプログラマブル論理集積回路をプログラミングすることを特徴とするプログラマブル論理集積回路のプログラミング方法。
[請求項8]
 入力線と出力線に接続された複数の第1の抵抗変化素子をスイッチ素子として備えたスイッチマトリクスを有し、前記出力線にバッファが接続されたプログラマブル論理集積回路のプログラムを記録した記録媒体であって、
前記スイッチ素子のコンフィグレーションデータと、所望の論理回路をプログラムした際に生じる、前記論理回路の動作に寄与しない前記出力線に接続されている前記バッファに電源電圧を供給しないよう設定する前記バッファのコンフィグレーションデータと、を用いてプログラマブル論理集積回路をプログラミングする処理をコンピュータに実行させることを特徴とするプログラマブル論理集積回路のプログラムを記録した記録媒体。

図面

[ 図 1]

[ 図 2]

[ 図 3]

[ 図 4]

[ 図 5]

[ 図 6]

[ 図 7]

[ 図 8]

[ 図 9]