JPWO2009063584A1 - プログラマブルデバイス、デバイス制御方法及び情報処理システム - Google Patents

プログラマブルデバイス、デバイス制御方法及び情報処理システム Download PDF

Info

Publication number
JPWO2009063584A1
JPWO2009063584A1 JP2009541021A JP2009541021A JPWO2009063584A1 JP WO2009063584 A1 JPWO2009063584 A1 JP WO2009063584A1 JP 2009541021 A JP2009541021 A JP 2009541021A JP 2009541021 A JP2009541021 A JP 2009541021A JP WO2009063584 A1 JPWO2009063584 A1 JP WO2009063584A1
Authority
JP
Japan
Prior art keywords
core logic
configuration
power supply
processing
logic unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009541021A
Other languages
English (en)
Other versions
JP5204123B2 (ja
Inventor
西岡 伸一郎
伸一郎 西岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2009541021A priority Critical patent/JP5204123B2/ja
Publication of JPWO2009063584A1 publication Critical patent/JPWO2009063584A1/ja
Application granted granted Critical
Publication of JP5204123B2 publication Critical patent/JP5204123B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17748Structural details of configuration resources
    • H03K19/17772Structural details of configuration resources for powering on or off
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/1778Structural details for adapting physical parameters
    • H03K19/17784Structural details for adapting physical parameters for supply voltage

Abstract

消費電力を低減しつつ高速に動作することができるプログラマブルデバイスを提供する。プログラマブルデバイス2は、構成メモリ21とコアロジック22を含む複数のプロセッシングタイル11と、それらをプログラミングする構成制御手段13と、それらの動作状態に応じて電力供給を遮断する電力制御手段12とを備え、コアロジック22の内部状態を構成メモリ11に退避してからコアロジック22の電源を遮断し、またコアロジック22の電源を再度供給し、前記内部状態を構成メモリ21からコアロジック22へ復帰することで、内部状態を維持しつつ省電力化される。

Description

本発明は、プログラマブルデバイスの省電力化に関する。
近年、動作中であっても数マイクロ秒から数ナノ秒という短時間に構成変更できる動的再構成デバイスが開発されている(非特許文献1参照)。
前記デバイスをより高速化、微細化する場合、チップの総消費電力の50%程度をも占めることがあるリーク電力が問題となる。
上記問題への対策として、パワーゲーティング(Power Gating)技術を適用し、機能割り当てが無く未使用であるか、待機状態である回路ブロックへの電源供給を遮断する技術が特許文献1に開示されている。
米国特許第7098689号 Masato Motomura, "A Dynamically Reconfigurable Processor Architecture", Microprocessor Forum, Oct. 2002
しかしながら、上記従来技術では、動作を一時停止し待機状態である回路ブロックの電源を省電力化のために遮断すると、回路ブロックの動作を定義している構成情報までもがSRAM(Static Random Access Memory)から消失し、次に電源を供給する際に当該構成情報を再度設定する必要があるため、待機前の状態から即座に動作を再開することが出来ないという課題がある。
上記課題に鑑み、本発明は、電源遮断時に内部状態を消失させずに高速な電源遮断制御を行って省電力化することができるプログラマブルデバイスを提供することを目的とする。
上記課題を解決するために、本発明は、プログラマブルデバイスであって、回路情報で示される演算を行うコアロジック部と、前記コアロジック部に設定される回路情報を記憶する構成メモリとを含む1以上のプロセッシングタイルと、コアロジック部と構成メモリとに電力を供給する電力供給手段と、1以上のプロセッシングタイルについて、当該プロセッシングタイルが未使用の場合に、構成メモリへの電力供給路とは別にコアロジック部への電力供給路を遮断する制御手段とを備える。
本発明のプログラマブルデバイスは、上述の構成を備えることにより、使用されていないコアロジック部について内部状態を消失させずに電源遮断、復帰ができ、前記コアロジック部への常時通電により生じる不要なリーク電流に起因する消費電力を効果的に削減し、省電力化することができる。
ここで、コアロジック部は、通常、構成メモリ部に比べ消費電力が2桁程度大きく、コアロジック部のみ電力供給を遮断すれば消費電力は100分の1以下程度に低減し得る。
また、コアロジック部及び構成メモリの双方への電力供給を一旦遮断すると、再度電力供給を行って動作させる場合に、外部記憶装置等から初期設定等を構成メモリに順次読み出す必要があり、読み出しに時間がかかる。本願発明のように、構成メモリに電力供給を行っておけば、前述したような外部記憶装置等から構成メモリへの初期設定等の読み出し時間は必要なく、迅速に電源遮断、復帰ができ、デバイス全体として処理に要する時間を低減することができる。
また、前記制御手段は、前記コアロジック部への電力供給路を遮断する場合に、前記構成メモリへの電力供給路は遮断しないこととしてもよい。
この構成によれば、構成メモリへ給電しつつ、構成メモリとは別個独立に消費電力が構成メモリに比べ大きいコアロジック部への電力供給を停止できるので、低消費電力化を図ることができる。
また、前記制御手段は、当該プロセッシングタイルに機能が割り当てられており、当該プロセッシングタイルの動作を一時中断する場合、当該プロセッシングタイルに含まれる構成メモリへの電力供給路を遮断せず、当該プロセッシングタイルに含まれるコアロジック部への電力供給路を遮断することとしてもよい。
この構成によれば、機能が割り当てられてはいるものの動作中でないコアロジックの消費電力を低減でき、コアロジックの電源遮断時にも構成メモリの内容を維持できるため、動作再開に要する時間を短縮できる。
また、前記制御手段は、当該プロセッシングタイルに機能が割り当てられていない場合、当該プロセッシングタイルに含まれる構成メモリ及びコアロジック部への電力供給路をそれぞれ遮断することとしてもよい。
また、前記制御手段は、当該プロセッシングタイルに機能が割り当てられる場合、コアロジック部に回路情報を設定することとしてもよい。
この構成によれば、動作していないコアロジックを電源遮断する一方で、構成メモリについては機能割当が無い状態か、待機状態かに応じて電源遮断させることで、効果的な期間と範囲で電源遮断が適用できる。
また、前記制御手段は、前記コアロジック部への電力供給路を遮断する場合には、遮断前に前記構成メモリを用いて前記コアロジック部の内部状態を待避させ、前記電力供給路を接続する場合には、接続後に前記内部状態を前記コアロジック部に復帰させることとしてもよい。
この構成によれば、電源遮断されることにより揮発するコアロジックの内部状態を、外部の記憶手段を用いること無く各プロセッシングタイル内で同時並列的に退避・復帰でき、電源遮断制御の高速化を図ることができる。
また、前記制御手段は、前記コアロジック部の内部状態を待避させる場合に、前記構成メモリにおける前記コアロジック部の初期設定を格納する領域に待避させることとしてもよい。
また、前記制御手段は、前記コアロジック部の内部状態を復帰させる場合に、前記初期設定を格納する領域から前記内部状態を読み出して前記コアロジック部に設定することとしてもよい。
この構成によれば、構成メモリの既存領域にコアロジックの内部状態を退避させることで、構成メモリの領域を拡張する必要が無く面積コストの増大を抑制できる。
また、前記制御手段は、前記コアロジック部の内部状態を待避させる場合に、前記構成メモリにおける前記コアロジックの初期設定を格納する領域とは異なる領域に待避させることとしてもよい。
この構成によれば、構成変更時に、構成メモリにおける変更後の構成情報が書き込まれることになる領域には退避できない場合に、構成メモリに新たに拡張領域を持たせることで構成変更時の内部状態を退避可能になる。
また、前記構成メモリは、前記コアロジック部が有するトランジスタよりも高いしきい値電圧を持つトランジスタで構成されることとしてもよい。
また、前記構成メモリは、前記コアロジック部が有するトランジスタよりも絶縁性の高いゲート絶縁膜を有するトランジスタで構成されることとしてもよい。
この構成によれば、一般的に動作速度向上への要求が厳しいコアロジックではなく、構成変更後は基本的に静止状態となる構成メモリを低リークとすることができ、コアロジックのみを電源遮断した場合にも全体のリーク電力を低減できる。
本発明のデバイス制御方法は、回路情報で示される演算を行うコアロジック部と、前記コアロジック部に設定される回路情報を記憶する構成メモリとを含む1以上のプロセッシングタイルとを備えるプログラマブルデバイスを制御するデバイス制御方法であって、コアロジック部と構成メモリとに電力を供給する電力供給ステップと、1以上のプロセッシングタイルについて、当該プロセッシングタイルが未使用の場合に、構成メモリへの電力供給路とは別にコアロジック部への電力供給路を遮断する制御ステップとを含む。
本発明の情報処理システムは、プログラマブルデバイスと、前記プログラマブルデバイスに配送する回路情報を格納する外部記憶手段と、前記プログラマブルデバイスを駆動する外部電源手段とを備え、前記プログラマブルデバイスは、回路情報で示される演算を行うコアロジック部と、前記コアロジック部に設定される回路情報を記憶する構成メモリとを含む1以上のプロセッシングタイルと、前記外部電源手段から供給される電力をコアロジック部と構成メモリとに供給する電力供給手段と、1以上のプロセッシングタイルについて、当該プロセッシングタイルが未使用の場合に、構成メモリへの電力供給路とは別にコアロジック部への電力供給路を遮断する制御手段とを備える。
この構成によれば、動作していないコアロジック部について内部状態を消失させずに電源遮断、復帰ができ、前記コアロジック部への常時通電により生じる不要なリーク電流に起因する消費電力を効果的に削減し、省電力化することができる。
実施の形態1に係るプログラマブルデバイスの構成を示すブロック図である。 実施の形態1に係るプログラマブルデバイスを詳細に説明するためのブロック図である。 実施の形態1に係るプロセッシングユニットの構造を示す図である。 実施の形態1に係るパワーゲーティングスイッチの例を示す図である。 実施の形態1に係るプログラマブルデバイスの全体制御フローチャートである。 実施の形態1に係るプロセッシングタイル毎の個別電力制御を示すフローチャートである。 (a)実施の形態1に係るプロセッシングタイルに割り当てたユーザ回路のステートマシンの例を示す図である。(b)ユーザ回路の機能モジュール割り当て例を示す図である。(c)機能モジュール毎の待機ステータス信号の例を示す図である。 実施の形態2に係るプログラマブルデバイスのブロック図である。 実施の形態2に係るプログラマブルデバイスを詳細に説明するためのブロック図である。 実施の形態2に係るプログラマブルデバイスの全体制御フローチャートである。 実施の形態2に係るプロセッシングタイル毎の個別電力制御を示すフローチャートである。 実施の形態3に係る動的再構成デバイスへの機能モジュール割り当ておよびそれらの待機ステータス信号の例を示す図本発明に係るプログラマブルデバイスを搭載した情報処理システムのブロック図である。 実施の形態3に係るプロセッシングユニットの構造を示す図である。 本発明に係るプログラマブルデバイスを搭載した情報処理システムのブロック図の一例である。
符号の説明
2 プログラマブルデバイス
11 各プロセッシングタイル
12 電源制御手段
14〜16 電源配線
21 構成メモリ
22 コアロジック
23、25 パワーゲーティングスイッチ
32 メモリセル
41 プロセッシングロジック
51 シフトレジスタ
52 構成シーケンサ
100 プログラマブルデバイス
101 ロジックブロック
103 ロジックセル
105 構成メモリ
106 コアロジック
121 各スイッチ要素
123 メモリセル
301 パワーゲーティングスイッチ
501 構成メモリ
503 電力制御手段
507 コアロジック
以下、本発明の一実施形態に係るプログラマブルデバイスについて、図面を用いて説明する。
1.実施の形態1
1.1.構成
図1は、本発明の一実施の形態に係るプロセッシングシステム1のブロック図である。
プロセッシングシステム1は、プログラマブルデバイス2、プログラマブルデバイス2における回路の構成情報(Config)を記憶する外部記憶手段3、及び電源手段4を含んで構成される。
プログラマブルデバイス2は、それぞれが論理的な処理単位でありプログラム可能な複数のプロセッシングタイル11(11a、11b・・・・11i)と、前記構成情報を各プロセッシングタイル11に配送しプログラミングする構成制御手段13と、電源手段4が出力する電力を制御する電力制御手段12と、電源配線14〜16とを含んで構成される。
また、プロセッシングタイル11a〜11iは、前記構成情報を保持する構成メモリ21と、前記構成メモリ21の記憶内容に従って演算処理を行うコアロジック22と、コアロジック22への電源供給のオン/オフを制御するためのパワーゲーティングスイッチ23とを含んで構成される。
構成制御手段13は、パワーゲーティングスイッチ25と、プロセッシングタイル11へのデータ入出力を制御するデータ制御部24とを含む。
プログラマブルデバイス2は、機能を割り当てない又はアクティブにしないコアロジック22について電源供給を遮断することで省電力化を図っている。電源制御においては、コアロジック22の内部状態を構成メモリ11に退避してからコアロジック22の電源を遮断し、またコアロジック22の電源を再度供給し、前記内部状態を構成メモリ11からコアロジック22へ復帰することで、コアロジック22の内部状態が消失してしまうことなく維持しつつ省電力化を行っている。
以下、構成についてより詳細に説明する。

1.1.1.プログラマブルデバイス2
プログラマブルデバイス2は、上述のように、複数のプロセッシングタイル11(11a、11b・・・・11i)と、構成制御手段13と、電力制御手段12と、電源配線14〜16とを含んで構成される。
ここで、プロセッシングタイル11b〜11iの構成はプロセッシングタイル11aの構成と同じであるので、プログラマブルデバイス2の構成については、図1の破線で囲まれた部分、即ち、プロセッシングタイル11aと、構成制御手段13と、電力制御手段12と、電源配線14〜16の構成について主に説明する。
図1における破線で囲んだ部分を詳細化したものが図2である。

1.1.1.1.プロセッシングタイル11
プロセッシングタイル11aは、構成制御手段13から取得する構成情報(Config)を記憶する構成メモリ21と、その内容に応じて算術および論理演算機能や内外の相互接続機能を実現するコアロジック22と、コアロジックへ電源供給を行うか否かを制御するパワーゲーティングスイッチ72とを含んで構成されている。
(1)コアロジック22
コアロジック22は、複数のプロセッシングロジック41(41a、41b・・・)を含んで構成される。
図3は、プロセッシングロジック41aの構造を示す図である。
なお、プロセッシングロジック41b・・・の構造は、プロセッシングロジック41aと同様であるので説明は省略する。
プロセッシングロジック41aは、算術・論理演算を行うロジックブロック101と、他のプロセッシングタイルとロジックブロックとの間でデータの入出力を行うインターコネクト102とを含む。
ロジックブロック101には、算術・論理演算機能を有するロジックセル103が多数集積されている(ロジックセル103a、103b・・・)。
ロジックセル103は、基本演算要素であるLUT(Look Up Table)111、LUT111による演算結果データを保持するD−フリップフロップ(D−FF)113、及び出力を選択するマルチプレクサ117を含んで構成される。
LUT111は、nビットの入力に対し1ビットの演算結果を出力する基本演算要素であり、メモリセル114と、セレクタ115とを含んで構成される。
メモリセル114は、2のn乗ビットの構成情報を格納するメモリであり、一例として、2のn乗ビットのSRAM(Static Random Access Memory)で構成される。
セレクタ115は、メモリセル114に記憶された2のn乗ビットのデータから、nビットの入力値(118)に対応する1ビットのデータを選択し、選択した1ビットのデータを出力する。
D−FF113は、LUT114による演算結果などの内部状態を保持するためのレジスタである。
マルチプレクサ112は、2入力1出力のセレクタ116と、メモリセル117とから成る。
セレクタ116は、メモリセル117に記録されているデータに従い、2入力のうちの1つを出力する。
インターコネクト102は、データを伝送する配線要素と、配線要素毎の接続を切り替えるスイッチボックス104とを含む。
前記配線要素は、他のプロセッシングユニットにおける配線要素と接続されている。
スイッチボックス104は、図3に示すように一例として6つのスイッチ要素121を含む。
各スイッチ要素121は、パストランジスタ122と、メモリセル123とを含み、メモリセル123に記録されているデータが1の場合にパストランジスタ122がオンし、データが0の場合にパストランジスタ122がオフする。
即ち、各メモリセル123に記録されているデータを変更することにより、上下左右に位置する他のプロセッシングタイルとの接続を自由に切替えることができる。
以上のように、プロセッシングロジック41a、41b・・・は、それぞれ2のn乗ビットのメモリセル210と、1ビットのメモリセル211とを多数要し、また6組の1ビットメモリセル212を多数要する。
以上説明したように、多数のプロセッシングロジック41を有するコアロジック22内には、多数のメモリセルが集積される。
(2) 構成メモリ21
構成メモリ21は、多数のメモリセル32(32a、32b、・・・32i)から成るアレーと、一のメモリセル32を指定するグローバルアドレス(ADDR)を復号して、前記一のメモリセル32を特定するアドレスA1〜A3を出力するアドレス復号手段31とを含んで構成される。
アドレス復号手段31は、構成制御手段13から入力されるグローバルアドレス(ADDR)を復号し、ADDRにより指定されているメモリセル32(メモリセル32a、32b・・・32iのいずれか)を特定し、特定したメモリセル32が属する列を選択するアドレス(A1、A2、A3のいずれか)を出力する。
ここで、図2におけるメモリセル32は、一例として3×3の2次元アレー構造としているが、実際にはコアロジックをプログラミングするために必要な数百〜数千のメモリセルのアレーを有する。
メモリセル32は、構成制御手段13から出力されるデータ(D1、D2、D3)を保持するメモリである。
メモリセル32a・・・32iのうち、自メモリセルが属する列を指定するアドレスがアドレス復号手段31により出力されており、自メモリセルが属する行に対してデータが出力されている場合に、当該メモリセルは、データを受信して保持する。
例えば、アドレス復号手段31により、アドレス線515がドライブされてアドレスA3が指定され、構成制御手段13からデータ線77cにデータD3が出力されている場合、メモリセル32iに、データD3が書き込まれることになる。
メモリセル32は、構成制御手段13により信号線76を介してクリア信号(CLR)が入力されることにより記憶内容がリセットされる。
パワーゲーティングスイッチ23は、当該スイッチのオン/オフによりコアロジック22の電源配線16を接続/切断し、コアロジック22への電源供給のオン/オフを切り替える。
当該スイッチのオン/オフは、電力制御手段12により出力される信号SLP_l#によって切り替えられる。
パワーゲーティングスイッチ23は、図4に示すように、ヘッダスイッチとしてp−MOSトランジスタを電源遮断の対象となる論理回路の電源電圧Vdd側に挿入し、フッタスイッチとしてn−MOSトランジスタを接地Vss側に挿入する場合がある。
従来技術(特許文献1)と同様にそれら両方のスイッチを挿入するなどその他の構成でも良いが、一般的にn−MOSトランジスタの抵抗が小さいためフッタスイッチを用いることが多い。これらパワーゲーティングスイッチを制御するためのスリープ信号SLP(あるいは負論理のSLP#)については、構成制御手段13やプロセッシングタイル11の動作状態に応じて電力制御手段12内で生成される。
また、本実施の形態では、一例として、それらパワーゲーティングスイッチをプロセッシングタイル11aの内部に有する構成としたが、これに限らない。例えば、電力制御手段12内に有する構成でも良く、この場合、複数のプロセッシングタイル11aへの電源配線にスイッチを挿入し、それらを一斉に電源遮断する構成でも良い。
ここで、一般に、コアロジック22は、多量のデータを瞬時に演算することを要求されるため、しきい値電圧の低い高速なトランジスタで構成されることが多く、その分リーク電流が大きい。一方、構成メモリ21は、基本的に構成情報のロードが完了すると静止状態となるため、リーク電流がコアロジック22に比べて100分の1以下と極めて小さい低速なトランジスタで構成することが出来る。
本発明における構成メモリ21についても、しきい値電圧が高いトランジスタを採用し、また、ゲート絶縁膜についても厚膜化や誘電率の高いhigh−k材料を適用するなどして更なる低リーク化を図り、高リークのコアロジック22の内部状態を電源遮断してリークをほぼゼロとし、その内部状態を低リークの構成メモリ21に保持することが出来るため、発明の効果をさらに高めることができる。

1.1.1.2.構成制御手段13
構成制御手段13は、プロセッシングタイル11aに含まれる構成メモリ21の初期化や構成情報の設定手順を制御する構成シーケンサ52と、外部記憶手段3から入力される構成情報(Config)を逐次シフトしながら格納するシフトレジスタ51を含んで構成される。
(1)構成シーケンサ52
構成シーケンサ52は、メモリセル32のアレーにデータを書き込む場合、アドレス出力するアドレス線81a〜81cのうち1つを選択することによりアレーにおける列を指定し、データ出力するデータ線77a〜77cの1つを選択することでアレーにおける行を指定して、書き込むべきメモリセル32の行と列を特定し、特定したメモリセルにデータを書き込む。
また、構成シーケンサ52は、構成メモリ21の初期化を行う場合には、信号線76を介してクリア信号CLRを出力する。
信号線76は、メモリセル32のアレーにおける同列のメモリアレー全てに繋がっており、クリアは列単位で行うことになっているが、上述したメモリセル32へのデータの書き込みの例のように、個別のメモリセルを指定してクリア信号を送ることができるように構成してもよい。
具体的には、構成シーケンサ52は、電力供給が開始されると構成メモリのクリア信号CLRをアサートしてその初期化を行い、全てのプロセッシングタイル11における構成メモリ21について、上述したようにグローバルアドレスADDRを順次変更させながらそのメモリセル32の列単位で構成情報(Config)78を設定していく。
(2)シフトレジスタ51
また、シフトレジスタ51は、構成情報78をシリアル受信する。
そして、入力された構成情報を、書き込むべきメモリセル513が属する行に対し、出力データ(D1、D2、D3)518として出力する。
また、アドレス復号手段516は全てのプロセッシングタイル500の構成メモリ501毎に有する必要は無く、その出力するアドレス線(A1、A2、A3)515を列方向の複数のプロセッシングタイルにおけるメモリセルに接続し、それらを列単位で一斉にプログラミングすることも考えられ、その場合アドレス復号手段516はプロセッシングタイルの列毎に有する構成であればよい。
(3)パワーゲーティングスイッチ25
パワーゲーティングスイッチ25は、当該スイッチのオン/オフによりデータ制御部24の電源配線14を接続/切断したりし、コアロジック22への電源供給のオン/オフを切り替える。
ここでは、一例として、それらパワーゲーティングスイッチ25を構成制御手段13の内部に有する構成としたが、その外部に有してもよい。例えば、電力制御手段12内に有する構成でも良いし、他の電源配線にスイッチを挿入してもよい。
パワーゲーティングスイッチ25は、図4に示すように、ヘッダスイッチとしてp−MOSトランジスタを電源遮断の対象となる論理回路の電源電圧Vdd側に挿入し、フッタスイッチとしてn−MOSトランジスタを接地Vss側に挿入する場合がある。従来技術(特許文献1)と同様にそれら両方のスイッチを挿入するなどその他の構成でも良いが、一般的にn−MOSトランジスタの抵抗が小さいためフッタスイッチを用いることが多い。
これらパワーゲーティングスイッチを制御するためのスリープ信号SLP(あるいは負論理のSLP#)については、構成制御手段13の動作状態に応じて電力制御手段12内で生成される。

1.1.1.3.電力制御手段12
電力制御手段12は、電源手段4が出力する電源電圧Vdd、Vssを、電源配線14〜16を介して構成制御手段13並びにプロセッシングタイル11内の構成メモリ21やコアロジック22に対し供給する。
なお、それらに供給する電源電圧Vddは必ずしも同一である必要は無く、電力制御手段12又は電源手段4に実装したスイッチングレギュレータなどを用いて、それぞれ異電圧を供給しても良い。
電力制御手段12は、電力シーケンサ61を含む。
電力シーケンサ61は、構成制御手段13やプロセッシングタイル11内のコアロジック22の動作状態を監視し、パワーゲーティングスイッチ23、25をそれぞれ制御するスリープ制御信号(それぞれSLP_c#、SLP_l#)71、72を生成して電力供給手順を制御する。
コアロジック22の内部状態(即ちプロセッシングロジック41のレジスタ値など)は電源遮断によって揮発するため、電力シーケンサ61は、電源遮断前にそれらレジスタの値を対応するメモリセル32に書き戻させるための状態退避信号(Backup)73と、電源遮断からの復旧時に再びメモリセル32からレジスタに値を設定させるための状態復帰信号(Restore)74をプロセッシングタイル11aに出力する。
このようにして、電源遮断の前後でコアロジック22の内部状態を消失させず、電源復旧時に遮断前の内部状態で動作再開することができる。

1.2.動作
図5は、プログラマブルデバイス1の全体制御を示すフローチャートである。
まず、ユーザがプロセッシングシステム1をブートする。
このとき、電力制御手段12は、スリープ制御信号SLP_c#をネゲート(ここでは負論理のため“0”から“1”に変化)させてパワーゲーティングスイッチ25をオン状態とし、構成制御手段13への電力供給を開始する(ステップS1)。
構成制御手段13内の構成シーケンサ52は、電力供給が開始されると構成メモリのクリア信号CLRをアサートしてその初期化を行う(ステップS2)。
そして、全てのプロセッシングタイル11における構成メモリ21について、上述したようにグローバルアドレスADDRを順次変更させながらそのメモリセル32の列単位で構成情報(Config)を設定していく(ステップS3)。
ステップS3が完了すると、電力制御手段12は、構成制御手段13への電力供給を遮断するスリープ制御信号(SLP_c#)をアサート(“1”から“0”に変化)させ、パワーゲーティングスイッチ25をオフにする(ステップS4)。
以降は、電力制御手段12が、全てのプロセッシングタイル11に割り当てられた処理を完了するまで、それらプロセッシングタイル11毎の動作状態を監視する。動作が終了したプロセッシングタイル11については、そのコアロジック22への電力供給を遮断する制御を行う(ステップS5)。
図6は、ステップS5、即ちプロセッシングタイル500毎の個別電力制御の詳細を示すフローチャートである。
電力制御手段12は、制御対象となるプロセッシングタイル11が待機状態(非活性状態)か活性状態かを示す待機ステータス信号を確認し、それが活性状態を示す場合は処理を開始する(ステップS11)。
この待機ステータス信号は、一例として、ユーザが設計した論理回路(ユーザ回路)により生成させる。
このユーザ回路について、図7を用いて説明を補足する。
例えば、図7(a)に示すような、アイドルステート(200)から起動後にタスクA(201)、タスクB(202)、タスクC(203)を逐次実行した後、再びアイドルステート(200)に遷移するステートマシンで制御されるユーザ回路を、図7(b)に示すプログラマブルデバイス204に割り当てて実行させる場合を考える。
この場合、それらタスクA、B、Cをそれぞれ実行する回路モジュールA(205)、B(206)、C(207)をプログラマブルデバイス204内の複数のプロセッシングタイル208に割り当てる場合(図7(b))、モジュールA(205)、B(206)、C(207)の待機ステータス信号が、自らに割り当てられたタスクの実行中でのみ活性状態を示し、それ以外は非活性の待機状態を示すように生成される(図7(c))。
また、機能割り当ての無い未使用領域209のプロセッシングタイルにおける待機ステータス信号は、常に待機状態を示すよう生成される。
なお、待機ステータス信号はユーザ回路で明示的に設計するだけでなく、その設計データ(RTL:Register Transfer Level)からEDA(Electronic Design Automation)ツールによって上記のようなステート情報を検出し、自動生成することも考えられる。
同一モジュール内の複数のプロセッシングタイルにおける待機ステータス信号は共通であり、電力制御手段12は、そのような待機ステータス信号によって各プロセッシングタイルの動作状態を監視可能にする。
以上、ユーザ回路についての説明を終え、フローチャートの説明に戻る。
電力制御手段12は、プロセッシングタイル11が活性状態であることを検出すると、スリープ制御信号(SLP_l#)をネゲート(“0”から“1”に変化)させて、パワーゲーティングスイッチ23をオン状態とし、コアロジック22に電力供給を開始させる(ステップS12)。
次に、状態復帰信号(Restore)をアサートしてコアロジック22内のプロセッシングロジック41における内部状態レジスタの内容を内部状態レジスタを対応するメモリセル32からロードさせる(ステップS13)。
そして、内部状態の復帰が完了するとプロセッシングタイル11は動作状態となるため、電力制御手段12はプロセッシングタイル11の待機ステータス信号が待機状態を示すまで監視する(ステップS14)。
待機状態となったことを検出すると、電力制御手段12は、状態退避信号(Backup)をアサートし、コアロジック22のプロセッシングロジック41における内部状態レジスタの内容を対応するメモリセル32に書き戻させる(ステップS15)。
そして、内部状態退避(ステップS15)が完了するとスリープ制御信号(SLP_l#)をアサート(“1”から“0”に変化)させてパワーゲーティングスイッチ23をオフ状態とし、コアロジック22への電力供給を遮断する(ステップS16)。
そして、そのプロセッシングタイル11に割り当てられた処理が完了していなければ、再び待機ステータス信号を監視して活性状態となるまで待ち(ステップS11)、完了した場合はそのプロセッシングタイル500毎の個別電力制御を終える(ステップS17)。

2.実施の形態2
実施の形態1において、図7(b)に示したように、ユーザ回路をプログラマブルデバイスに割り当てる際には、必ずしも全てのプロセッシングタイルを使用するわけではなく、割り当て方によっては一部のプロセッシングタイルが未使用領域209となる。
未使用領域209であるプロセッシングタイルへは電力供給する必要はないが、実施の形態1におけるプロセッシングシステムの構成では、構成メモリへの電力供給を遮断できない。
また、構成メモリは、低リークのトランジスタで構成可能だが、その容量が大きくなると全体としてのリーク電力は無視できない場合がある。
そこで、本実施の形態2では、上述の未使用のプロセッシングタイルにおける構成メモリについても電源遮断可能にプログラマブルデバイスを構成し、更なる省電力化を図っている。
以下、実施の形態1との相違点を中心に説明する。
2.1.構成
図8は、実施の形態2に係るプロセッシングシステムを示す図である。
実施の形態2に係るプロセッシングシステムは、構成メモリ21と電力制御手段12との間にパワーゲーティングスイッチ301を設けている点が実施の形態1に係るプロセッシングシステムと異なる。
図8において破線で囲んだ部分を、詳細化したものが図9である。
図9に示すように、構成メモリ21と電力制御手段12とを結ぶ電源配線15にパワーゲーティングスイッチ301が挿入されている。
そして、電力制御手段12中の電力シーケンサ61が、実施の形態1で説明した信号に加え、パワーゲーティングスイッチ301を制御するスリープ制御信号(それぞれSLP_m#)302を生成し、パワーゲーティングスイッチ301に供給し、構成メモリへの電力供給のオン/オフを制御する。
ここで、図7(b)を用いて上述したように、ユーザ回路をプログラマブルデバイスに割り当てる際には機能割り当てが無い未使用領域209が生じることが有るため、本実施の形態では、未使用領域209に係るプロセッシングタイル中のメモリセルに係る構成情報は、機能割り当ての有無を示す割当フラグを含め構成されている。
電力制御手段12は、プロセッシングタイルに含まれるメモリセルに係る構成情報中の割当フラグが機能割り当て無しを示す場合、そのプロセッシングタイルについては電力供給オフを示すSLP_m#を、そのメモリセルに係るパワーゲーティングスイッチ301に供給する。
パワーゲーティングスイッチ301は、プロセッシングタイル毎に設けているが、メモリセル毎に設けることとしてもよいし、他の単位、例えば3個のメモリセルごとに設けるなどしてもよい。
2.2.動作
図10は、本実施の形態に係るプログラマブルデバイス1の全体制御を示すフローチャートである。
図10は、実施の形態1における図5と、ステップS31、ステップS32において異なり、その他のステップは同じものである。
ステップS31では、実施の形態2に係るプログラマブルデバイス2においては、プロセッシングタイル11a内の構成メモリ12についてもデフォルトで電源遮断状態のため、起動直後に、構成制御手段13に加え各構成メモリ21への電力供給も行う(ステップS31)。
ステップS32を詳細化したものが図11である。
図11は、実施の形態1における図6に相当し、図6とはステップS41とステップS42において異なる。
ステップS41では、電力制御手段12が、機能割り当ての有無を示す割当フラグを判定し、制御対象のプロセッシングタイル11aへの機能割り当ての有無を判断し(S41)、機能割り当てが有る場合(ステップS41:Y)、ステップS11〜S17として既に説明した動作を行う。
機能割り当てが無い場合(ステップS41:N)、スリープ制御信号(SLP_m#)をアサート(“1”から“0”に変化)させ、パワーゲーティングスイッチ301をオフ状態とし構成メモリ12への電力供給を遮断して(ステップS42)、その個別電力制御を完了する。
以上説明したように、待機状態のコアロジック22のみならず、機能割り当ての無いプロセッシングタイル11aについても電源遮断し、上記実施の形態1に比べ、更なる省電力効果を得る。

3.実施の形態3
実施の形態2では、ユーザ回路に対し、図7(b)に示すような機能割り当てを行い、図7(c)のように同時に1つのモジュールのみが活性状態となるように動作させていた。この場合、デバイスの大部分が非活性の待機状態となっており、回路資源の利用効率が低い。
実施の形態3に係るプログラマブルデバイスは、動作中に構成変更が可能な動的再構成デバイスである。
具体的には、図12に示すように、1つのデバイス400に対し、モジュールA(401)、モジュールB(402)、モジュールC(403)を動的に時分割で割り当てながら処理を進める。
ここで、モジュールA(401)からモジュールB(402)に構成変更する際、上述の実施の形態と同様にモジュールA(401)に属するプロセッシングタイルの内部状態を対応する(それを初期化する構成情報を格納した)メモリセルに退避させるとしても、そのメモリセルには次のモジュールB(402)における構成情報が上書きされてしまうため、ステートマシンが一周して再びモジュールA(401)に構成変更する場合に前回の処理結果は破壊されてしまい引き継ぐことができない。
また、このようなデータの退避を外部の記憶手段を用いて行うと、構成変更時に要する時間が大きくなり動的再構成の利点を活かせない。
本実施の形態3に係るプログラマブルデバイスは、上述のような構成変更時にも内部状態を退避可能になるよう構成されている。

3.1.構成
図13に示す実施の形態3におけるプロセッシングタイル11aは、図9に示す実施の形態1におけるものと比べ、構成メモリ21内に拡張記憶領域500を設けている点が異なる。
拡張記憶領域500には、コアロジック22におけるプロセッシングロジック41a等の内部状態が退避される。

3.2.動作
実施の形態3におけるプログラマブルデバイスの全体制御フローチャートは既に説明した図6で表される。
電力制御手段におけるプロセッシングタイル毎の個別制御のフローチャートは図7で表される。
しかし、図7において、内部状態復帰S13と内部状態退避S15の詳細動作は、実施の形態1とは異なる。
本実施の形態の内部状態復帰S13において、コアロジック22のプロセッシングロジック41a等の内部状態について、起動直後の最初の復帰時には対応するメモリセル32に格納した構成情報の値で初期化する。
また、本実施の形態の内部状態退避S15においては、拡張記憶領域500に退避した値を復帰させる。
このように、本実施の形態では、拡張記憶領域500を用いて、プロセッシングロジック41の内部状態の退避・復帰をすることで、コアロジック22の電源遮断時だけでなく、構成変更時にもその内部状態をプロセッシングタイル11内でローカルに保持することができ、電源遮断からの復旧や構成変更時の内部状態の復帰を高速化できる。

4.変形例
なお、本発明を上記の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
(1)プロセッシングタイルについて、図2に示すように、構成メモリ21、コアロジック22、パワーゲーティングスイッチ23とを含む構成について説明したが、本構成は一例でありこれに限るものではない。
また、プロセッシングロジックについても、図3に示すように、ロジックブロック101、インターコネクト102を1つずつ含む構成について説明したが、本構成は一例でありこれに限るものではない。
各構成要素の数、構成要素間の相互の接続を変更してもよいし、各構成要素を他の構成としてもよい。
例えば、ロジックブロック、インターコネクトの数、これらの相互の接続を変更してもよいし、ロジックブロックをLUTを用いずに構成してもよい。
(2) 本願発明におけるプログラマブルデバイスは、図14に示すようにCPU、メインメモリ、ペリフェラルやそれらに電力を供給する電源装置等を備えた情報処理システムにおいて、CPU内でレジスタファイルやメモリ内のデータ処理を行うプログラマブルデータパスや、そのCPUの外部で、演算処理をオフロードするプログラマブルコプロセッサのような形で搭載することができる。
(3)上記の各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAM又は前記ハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、各装置は、その機能を達成する。ここで、コンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
ここで、各装置は、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどの全てを含むコンピュータシステムに限らず、これらの一部から構成されているコンピュータシステムであってもよい。
(4)上記の各装置を構成する構成要素の一部又は全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、システムLSIは、その機能を達成する。これらは個別に1チップ化されても良いし、一部又は全てを含むように1チップ化されても良い。
また、ここでは、システムLSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
(5)上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なICカード又は単体のモジュールから構成されているとしてもよい。前記ICカード又は前記モジュールは、マイクロプロセッサ、ROM、RAM、などから構成されるコンピュータシステムである。前記ICカード又は前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、前記ICカード又は前記モジュールは、その機能を達成する。このICカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
(6)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD―ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(7)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
本願発明に係るプログラマブルデバイスは、省電力や、電源遮断状態からの高速な起動を要する情報処理装置等に搭載され、当該情報処理機器の製造業者等により製造、譲渡等される。
本発明は、プログラマブルデバイスの省電力化に関する。
近年、動作中であっても数マイクロ秒から数ナノ秒という短時間に構成変更できる動的再構成デバイスが開発されている(非特許文献1参照)。
前記デバイスをより高速化、微細化する場合、チップの総消費電力の50%程度をも占めることがあるリーク電力が問題となる。
上記問題への対策として、パワーゲーティング(Power Gating)技術を適用し、機能割り当てが無く未使用であるか、待機状態である回路ブロックへの電源供給を遮断する技術が特許文献1に開示されている。
米国特許第7098689号
Masato Motomura, "A Dynamically Reconfigurable Processor Architecture", Microprocessor Forum, Oct. 2002
しかしながら、上記従来技術では、動作を一時停止し待機状態である回路ブロックの電源を省電力化のために遮断すると、回路ブロックの動作を定義している構成情報までもがSRAM(Static Random Access Memory)から消失し、次に電源を供給する際に当該構成情報を再度設定する必要があるため、待機前の状態から即座に動作を再開することが出来ないという課題がある。
上記課題に鑑み、本発明は、電源遮断時に内部状態を消失させずに高速な電源遮断制御を行って省電力化することができるプログラマブルデバイスを提供することを目的とする。
上記課題を解決するために、本発明は、プログラマブルデバイスであって、回路情報で示される演算を行うコアロジック部と、前記コアロジック部に設定される回路情報を記憶する構成メモリとを含む1以上のプロセッシングタイルと、コアロジック部と構成メモリとに電力を供給する電力供給手段と、1以上のプロセッシングタイルについて、当該プロセッシングタイルが未使用の場合に、構成メモリへの電力供給路とは別にコアロジック部への電力供給路を遮断する制御手段とを備える。
本発明のプログラマブルデバイスは、上述の構成を備えることにより、使用されていないコアロジック部について内部状態を消失させずに電源遮断、復帰ができ、前記コアロジック部への常時通電により生じる不要なリーク電流に起因する消費電力を効果的に削減し、省電力化することができる。
ここで、コアロジック部は、通常、構成メモリ部に比べ消費電力が2桁程度大きく、コアロジック部のみ電力供給を遮断すれば消費電力は100分の1以下程度に低減し得る。
また、コアロジック部及び構成メモリの双方への電力供給を一旦遮断すると、再度電力供給を行って動作させる場合に、外部記憶装置等から初期設定等を構成メモリに順次読み出す必要があり、読み出しに時間がかかる。本願発明のように、構成メモリに電力供給を行っておけば、前述したような外部記憶装置等から構成メモリへの初期設定等の読み出し時間は必要なく、迅速に電源遮断、復帰ができ、デバイス全体として処理に要する時間を低減することができる。
また、前記制御手段は、前記コアロジック部への電力供給路を遮断する場合に、前記構成メモリへの電力供給路は遮断しないこととしてもよい。
この構成によれば、構成メモリへ給電しつつ、構成メモリとは別個独立に消費電力が構成メモリに比べ大きいコアロジック部への電力供給を停止できるので、低消費電力化を図ることができる。
また、前記制御手段は、当該プロセッシングタイルに機能が割り当てられており、当該プロセッシングタイルの動作を一時中断する場合、当該プロセッシングタイルに含まれる構成メモリへの電力供給路を遮断せず、当該プロセッシングタイルに含まれるコアロジック部への電力供給路を遮断することとしてもよい。
この構成によれば、機能が割り当てられてはいるものの動作中でないコアロジックの消費電力を低減でき、コアロジックの電源遮断時にも構成メモリの内容を維持できるため、動作再開に要する時間を短縮できる。
また、前記制御手段は、当該プロセッシングタイルに機能が割り当てられていない場合、当該プロセッシングタイルに含まれる構成メモリ及びコアロジック部への電力供給路をそれぞれ遮断することとしてもよい。
また、前記制御手段は、当該プロセッシングタイルに機能が割り当てられる場合、コアロジック部に回路情報を設定することとしてもよい。
この構成によれば、動作していないコアロジックを電源遮断する一方で、構成メモリについては機能割当が無い状態か、待機状態かに応じて電源遮断させることで、効果的な期間と範囲で電源遮断が適用できる。
また、前記制御手段は、前記コアロジック部への電力供給路を遮断する場合には、遮断前に前記構成メモリを用いて前記コアロジック部の内部状態を待避させ、前記電力供給路を接続する場合には、接続後に前記内部状態を前記コアロジック部に復帰させることとしてもよい。
この構成によれば、電源遮断されることにより揮発するコアロジックの内部状態を、外部の記憶手段を用いること無く各プロセッシングタイル内で同時並列的に退避・復帰でき、電源遮断制御の高速化を図ることができる。
また、前記制御手段は、前記コアロジック部の内部状態を待避させる場合に、前記構成メモリにおける前記コアロジック部の初期設定を格納する領域に待避させることとしてもよい。
また、前記制御手段は、前記コアロジック部の内部状態を復帰させる場合に、前記初期設定を格納する領域から前記内部状態を読み出して前記コアロジック部に設定することとしてもよい。
この構成によれば、構成メモリの既存領域にコアロジックの内部状態を退避させることで、構成メモリの領域を拡張する必要が無く面積コストの増大を抑制できる。
また、前記制御手段は、前記コアロジック部の内部状態を待避させる場合に、前記構成メモリにおける前記コアロジックの初期設定を格納する領域とは異なる領域に待避させることとしてもよい。
この構成によれば、構成変更時に、構成メモリにおける変更後の構成情報が書き込まれることになる領域には退避できない場合に、構成メモリに新たに拡張領域を持たせることで構成変更時の内部状態を退避可能になる。
また、前記構成メモリは、前記コアロジック部が有するトランジスタよりも高いしきい値電圧を持つトランジスタで構成されることとしてもよい。
また、前記構成メモリは、前記コアロジック部が有するトランジスタよりも絶縁性の高いゲート絶縁膜を有するトランジスタで構成されることとしてもよい。
この構成によれば、一般的に動作速度向上への要求が厳しいコアロジックではなく、構成変更後は基本的に静止状態となる構成メモリを低リークとすることができ、コアロジックのみを電源遮断した場合にも全体のリーク電力を低減できる。
本発明のデバイス制御方法は、回路情報で示される演算を行うコアロジック部と、前記コアロジック部に設定される回路情報を記憶する構成メモリとを含む1以上のプロセッシングタイルとを備えるプログラマブルデバイスを制御するデバイス制御方法であって、コアロジック部と構成メモリとに電力を供給する電力供給ステップと、1以上のプロセッシングタイルについて、当該プロセッシングタイルが未使用の場合に、構成メモリへの電力供給路とは別にコアロジック部への電力供給路を遮断する制御ステップとを含む。
本発明の情報処理システムは、プログラマブルデバイスと、前記プログラマブルデバイスに配送する回路情報を格納する外部記憶手段と、前記プログラマブルデバイスを駆動する外部電源手段とを備え、前記プログラマブルデバイスは、回路情報で示される演算を行うコアロジック部と、前記コアロジック部に設定される回路情報を記憶する構成メモリとを含む1以上のプロセッシングタイルと、前記外部電源手段から供給される電力をコアロジック部と構成メモリとに供給する電力供給手段と、1以上のプロセッシングタイルについて、当該プロセッシングタイルが未使用の場合に、構成メモリへの電力供給路とは別にコアロジック部への電力供給路を遮断する制御手段とを備える。
この構成によれば、動作していないコアロジック部について内部状態を消失させずに電源遮断、復帰ができ、前記コアロジック部への常時通電により生じる不要なリーク電流に起因する消費電力を効果的に削減し、省電力化することができる。
実施の形態1に係るプログラマブルデバイスの構成を示すブロック図である。 実施の形態1に係るプログラマブルデバイスを詳細に説明するためのブロック図である。 実施の形態1に係るプロセッシングユニットの構造を示す図である。 実施の形態1に係るパワーゲーティングスイッチの例を示す図である。 実施の形態1に係るプログラマブルデバイスの全体制御フローチャートである。 実施の形態1に係るプロセッシングタイル毎の個別電力制御を示すフローチャートである。 (a)実施の形態1に係るプロセッシングタイルに割り当てたユーザ回路のステートマシンの例を示す図である。 (b)ユーザ回路の機能モジュール割り当て例を示す図である。 (c)機能モジュール毎の待機ステータス信号の例を示す図である。 実施の形態2に係るプログラマブルデバイスのブロック図である。 実施の形態2に係るプログラマブルデバイスを詳細に説明するためのブロック図である。 実施の形態2に係るプログラマブルデバイスの全体制御フローチャートである。 実施の形態2に係るプロセッシングタイル毎の個別電力制御を示すフローチャートである。 実施の形態3に係る動的再構成デバイスへの機能モジュール割り当ておよびそれらの待機ステータス信号の例を示す図本発明に係るプログラマブルデバイスを搭載した情報処理システムのブロック図である。 実施の形態3に係るプロセッシングユニットの構造を示す図である。 本発明に係るプログラマブルデバイスを搭載した情報処理システムのブロック図の一例である。
以下、本発明の一実施形態に係るプログラマブルデバイスについて、図面を用いて説明する。
1.実施の形態1
1.1.構成
図1は、本発明の一実施の形態に係るプロセッシングシステム1のブロック図である。
プロセッシングシステム1は、プログラマブルデバイス2、プログラマブルデバイス2における回路の構成情報(Config)を記憶する外部記憶手段3、及び電源手段4を含んで構成される。
プログラマブルデバイス2は、それぞれが論理的な処理単位でありプログラム可能な複数のプロセッシングタイル11(11a、11b・・・・11i)と、前記構成情報を各プロセッシングタイル11に配送しプログラミングする構成制御手段13と、電源手段4が出力する電力を制御する電力制御手段12と、電源配線14〜16とを含んで構成される。
また、プロセッシングタイル11a〜11iは、前記構成情報を保持する構成メモリ21と、前記構成メモリ21の記憶内容に従って演算処理を行うコアロジック22と、コアロジック22への電源供給のオン/オフを制御するためのパワーゲーティングスイッチ23とを含んで構成される。
構成制御手段13は、パワーゲーティングスイッチ25と、プロセッシングタイル11へのデータ入出力を制御するデータ制御部24とを含む。
プログラマブルデバイス2は、機能を割り当てない又はアクティブにしないコアロジック22について電源供給を遮断することで省電力化を図っている。電源制御においては、コアロジック22の内部状態を構成メモリ11に退避してからコアロジック22の電源を遮断し、またコアロジック22の電源を再度供給し、前記内部状態を構成メモリ11からコアロジック22へ復帰することで、コアロジック22の内部状態が消失してしまうことなく維持しつつ省電力化を行っている。
以下、構成についてより詳細に説明する。

1.1.1.プログラマブルデバイス2
プログラマブルデバイス2は、上述のように、複数のプロセッシングタイル11(11a、11b・・・・11i)と、構成制御手段13と、電力制御手段12と、電源配線14〜16とを含んで構成される。
ここで、プロセッシングタイル11b〜11iの構成はプロセッシングタイル11aの構成と同じであるので、プログラマブルデバイス2の構成については、図1の破線で囲まれた部分、即ち、プロセッシングタイル11aと、構成制御手段13と、電力制御手段12と、電源配線14〜16の構成について主に説明する。
図1における破線で囲んだ部分を詳細化したものが図2である。
1.1.1.1.プロセッシングタイル11
プロセッシングタイル11aは、構成制御手段13から取得する構成情報(Config)を記憶する構成メモリ21と、その内容に応じて算術および論理演算機能や内外の相互接続機能を実現するコアロジック22と、コアロジックへ電源供給を行うか否かを制御するパワーゲーティングスイッチ72とを含んで構成されている。
(1)コアロジック22
コアロジック22は、複数のプロセッシングロジック41(41a、41b・・・)を含んで構成される。
図3は、プロセッシングロジック41aの構造を示す図である。
なお、プロセッシングロジック41b・・・の構造は、プロセッシングロジック41aと同様であるので説明は省略する。
プロセッシングロジック41aは、算術・論理演算を行うロジックブロック101と、他のプロセッシングタイルとロジックブロックとの間でデータの入出力を行うインターコネクト102とを含む。
ロジックブロック101には、算術・論理演算機能を有するロジックセル103が多数集積されている(ロジックセル103a、103b・・・)。
ロジックセル103は、基本演算要素であるLUT(Look Up Table)111、LUT111による演算結果データを保持するD−フリップフロップ(D−FF)113、及び出力を選択するマルチプレクサ117を含んで構成される。
LUT111は、nビットの入力に対し1ビットの演算結果を出力する基本演算要素であり、メモリセル114と、セレクタ115とを含んで構成される。
メモリセル114は、2のn乗ビットの構成情報を格納するメモリであり、一例として、2のn乗ビットのSRAM(Static Random Access Memory)で構成される。
セレクタ115は、メモリセル114に記憶された2のn乗ビットのデータから、nビットの入力値(118)に対応する1ビットのデータを選択し、選択した1ビットのデータを出力する。
D−FF113は、LUT114による演算結果などの内部状態を保持するためのレジスタである。
マルチプレクサ112は、2入力1出力のセレクタ116と、メモリセル117とから成る。
セレクタ116は、メモリセル117に記録されているデータに従い、2入力のうちの1つを出力する。
インターコネクト102は、データを伝送する配線要素と、配線要素毎の接続を切り替えるスイッチボックス104とを含む。
前記配線要素は、他のプロセッシングユニットにおける配線要素と接続されている。
スイッチボックス104は、図3に示すように一例として6つのスイッチ要素121を含む。
各スイッチ要素121は、パストランジスタ122と、メモリセル123とを含み、メモリセル123に記録されているデータが1の場合にパストランジスタ122がオンし、データが0の場合にパストランジスタ122がオフする。
即ち、各メモリセル123に記録されているデータを変更することにより、上下左右に位置する他のプロセッシングタイルとの接続を自由に切替えることができる。
以上のように、プロセッシングロジック41a、41b・・・は、それぞれ2のn乗ビットのメモリセル210と、1ビットのメモリセル211とを多数要し、また6組の1ビットメモリセル212を多数要する。
以上説明したように、多数のプロセッシングロジック41を有するコアロジック22内には、多数のメモリセルが集積される。
(2) 構成メモリ21
構成メモリ21は、多数のメモリセル32(32a、32b、・・・32i)から成るアレーと、一のメモリセル32を指定するグローバルアドレス(ADDR)を復号して、前記一のメモリセル32を特定するアドレスA1〜A3を出力するアドレス復号手段31とを含んで構成される。
アドレス復号手段31は、構成制御手段13から入力されるグローバルアドレス(ADDR)を復号し、ADDRにより指定されているメモリセル32(メモリセル32a、32b・・・32iのいずれか)を特定し、特定したメモリセル32が属する列を選択するアドレス(A1、A2、A3のいずれか)を出力する。
ここで、図2におけるメモリセル32は、一例として3×3の2次元アレー構造としているが、実際にはコアロジックをプログラミングするために必要な数百〜数千のメモリセルのアレーを有する。
メモリセル32は、構成制御手段13から出力されるデータ(D1、D2、D3)を保持するメモリである。
メモリセル32a・・・32iのうち、自メモリセルが属する列を指定するアドレスがアドレス復号手段31により出力されており、自メモリセルが属する行に対してデータが出力されている場合に、当該メモリセルは、データを受信して保持する。
例えば、アドレス復号手段31により、アドレス線515がドライブされてアドレスA3が指定され、構成制御手段13からデータ線77cにデータD3が出力されている場合、メモリセル32iに、データD3が書き込まれることになる。
メモリセル32は、構成制御手段13により信号線76を介してクリア信号(CLR)が入力されることにより記憶内容がリセットされる。
パワーゲーティングスイッチ23は、当該スイッチのオン/オフによりコアロジック22の電源配線16を接続/切断し、コアロジック22への電源供給のオン/オフを切り替える。
当該スイッチのオン/オフは、電力制御手段12により出力される信号SLP_l#によって切り替えられる。
パワーゲーティングスイッチ23は、図4に示すように、ヘッダスイッチとしてp−MOSトランジスタを電源遮断の対象となる論理回路の電源電圧Vdd側に挿入し、フッタスイッチとしてn−MOSトランジスタを接地Vss側に挿入する場合がある。
従来技術(特許文献1)と同様にそれら両方のスイッチを挿入するなどその他の構成でも良いが、一般的にn−MOSトランジスタの抵抗が小さいためフッタスイッチを用いることが多い。これらパワーゲーティングスイッチを制御するためのスリープ信号SLP(あるいは負論理のSLP#)については、構成制御手段13やプロセッシングタイル11の動作状態に応じて電力制御手段12内で生成される。
また、本実施の形態では、一例として、それらパワーゲーティングスイッチをプロセッシングタイル11aの内部に有する構成としたが、これに限らない。例えば、電力制御手段12内に有する構成でも良く、この場合、複数のプロセッシングタイル11aへの電源配線にスイッチを挿入し、それらを一斉に電源遮断する構成でも良い。
ここで、一般に、コアロジック22は、多量のデータを瞬時に演算することを要求されるため、しきい値電圧の低い高速なトランジスタで構成されることが多く、その分リーク電流が大きい。一方、構成メモリ21は、基本的に構成情報のロードが完了すると静止状態となるため、リーク電流がコアロジック22に比べて100分の1以下と極めて小さい低速なトランジスタで構成することが出来る。
本発明における構成メモリ21についても、しきい値電圧が高いトランジスタを採用し、また、ゲート絶縁膜についても厚膜化や誘電率の高いhigh−k材料を適用するなどして更なる低リーク化を図り、高リークのコアロジック22の内部状態を電源遮断してリークをほぼゼロとし、その内部状態を低リークの構成メモリ21に保持することが出来るため、発明の効果をさらに高めることができる。
1.1.1.2.構成制御手段13
構成制御手段13は、プロセッシングタイル11aに含まれる構成メモリ21の初期化や構成情報の設定手順を制御する構成シーケンサ52と、外部記憶手段3から入力される構成情報(Config)を逐次シフトしながら格納するシフトレジスタ51を含んで構成される。
(1)構成シーケンサ52
構成シーケンサ52は、メモリセル32のアレーにデータを書き込む場合、アドレス出力するアドレス線81a〜81cのうち1つを選択することによりアレーにおける列を指定し、データ出力するデータ線77a〜77cの1つを選択することでアレーにおける行を指定して、書き込むべきメモリセル32の行と列を特定し、特定したメモリセルにデータを書き込む。
また、構成シーケンサ52は、構成メモリ21の初期化を行う場合には、信号線76を介してクリア信号CLRを出力する。
信号線76は、メモリセル32のアレーにおける同列のメモリアレー全てに繋がっており、クリアは列単位で行うことになっているが、上述したメモリセル32へのデータの書き込みの例のように、個別のメモリセルを指定してクリア信号を送ることができるように構成してもよい。
具体的には、構成シーケンサ52は、電力供給が開始されると構成メモリのクリア信号CLRをアサートしてその初期化を行い、全てのプロセッシングタイル11における構成メモリ21について、上述したようにグローバルアドレスADDRを順次変更させながらそのメモリセル32の列単位で構成情報(Config)78を設定していく。
(2)シフトレジスタ51
また、シフトレジスタ51は、構成情報78をシリアル受信する。
そして、入力された構成情報を、書き込むべきメモリセル513が属する行に対し、出力データ(D1、D2、D3)518として出力する。
また、アドレス復号手段516は全てのプロセッシングタイル500の構成メモリ501毎に有する必要は無く、その出力するアドレス線(A1、A2、A3)515を列方向の複数のプロセッシングタイルにおけるメモリセルに接続し、それらを列単位で一斉にプログラミングすることも考えられ、その場合アドレス復号手段516はプロセッシングタイルの列毎に有する構成であればよい。
(3)パワーゲーティングスイッチ25
パワーゲーティングスイッチ25は、当該スイッチのオン/オフによりデータ制御部24の電源配線14を接続/切断したりし、コアロジック22への電源供給のオン/オフを切り替える。
ここでは、一例として、それらパワーゲーティングスイッチ25を構成制御手段13の内部に有する構成としたが、その外部に有してもよい。例えば、電力制御手段12内に有する構成でも良いし、他の電源配線にスイッチを挿入してもよい。
パワーゲーティングスイッチ25は、図4に示すように、ヘッダスイッチとしてp−MOSトランジスタを電源遮断の対象となる論理回路の電源電圧Vdd側に挿入し、フッタスイッチとしてn−MOSトランジスタを接地Vss側に挿入する場合がある。従来技術(特許文献1)と同様にそれら両方のスイッチを挿入するなどその他の構成でも良いが、一般的にn−MOSトランジスタの抵抗が小さいためフッタスイッチを用いることが多い。
これらパワーゲーティングスイッチを制御するためのスリープ信号SLP(あるいは負論理のSLP#)については、構成制御手段13の動作状態に応じて電力制御手段12内で生成される。

1.1.1.3.電力制御手段12
電力制御手段12は、電源手段4が出力する電源電圧Vdd、Vssを、電源配線14〜16を介して構成制御手段13並びにプロセッシングタイル11内の構成メモリ21やコアロジック22に対し供給する。
なお、それらに供給する電源電圧Vddは必ずしも同一である必要は無く、電力制御手段12又は電源手段4に実装したスイッチングレギュレータなどを用いて、それぞれ異電圧を供給しても良い。
電力制御手段12は、電力シーケンサ61を含む。
電力シーケンサ61は、構成制御手段13やプロセッシングタイル11内のコアロジック22の動作状態を監視し、パワーゲーティングスイッチ23、25をそれぞれ制御するスリープ制御信号(それぞれSLP_c#、SLP_l#)71、72を生成して電力供給手順を制御する。
コアロジック22の内部状態(即ちプロセッシングロジック41のレジスタ値など)は電源遮断によって揮発するため、電力シーケンサ61は、電源遮断前にそれらレジスタの値を対応するメモリセル32に書き戻させるための状態退避信号(Backup)73と、電源遮断からの復旧時に再びメモリセル32からレジスタに値を設定させるための状態復帰信号(Restore)74をプロセッシングタイル11aに出力する。
このようにして、電源遮断の前後でコアロジック22の内部状態を消失させず、電源復旧時に遮断前の内部状態で動作再開することができる。

1.2.動作
図5は、プログラマブルデバイス1の全体制御を示すフローチャートである。
まず、ユーザがプロセッシングシステム1をブートする。
このとき、電力制御手段12は、スリープ制御信号SLP_c#をネゲート(ここでは負論理のため“0”から“1”に変化)させてパワーゲーティングスイッチ25をオン状態とし、構成制御手段13への電力供給を開始する(ステップS1)。
構成制御手段13内の構成シーケンサ52は、電力供給が開始されると構成メモリのクリア信号CLRをアサートしてその初期化を行う(ステップS2)。
そして、全てのプロセッシングタイル11における構成メモリ21について、上述したようにグローバルアドレスADDRを順次変更させながらそのメモリセル32の列単位で構成情報(Config)を設定していく(ステップS3)。
ステップS3が完了すると、電力制御手段12は、構成制御手段13への電力供給を遮断するスリープ制御信号(SLP_c#)をアサート(“1”から“0”に変化)させ、パワーゲーティングスイッチ25をオフにする(ステップS4)。
以降は、電力制御手段12が、全てのプロセッシングタイル11に割り当てられた処理を完了するまで、それらプロセッシングタイル11毎の動作状態を監視する。動作が終了したプロセッシングタイル11については、そのコアロジック22への電力供給を遮断する制御を行う(ステップS5)。
図6は、ステップS5、即ちプロセッシングタイル500毎の個別電力制御の詳細を示すフローチャートである。
電力制御手段12は、制御対象となるプロセッシングタイル11が待機状態(非活性状態)か活性状態かを示す待機ステータス信号を確認し、それが活性状態を示す場合は処理を開始する(ステップS11)。
この待機ステータス信号は、一例として、ユーザが設計した論理回路(ユーザ回路)により生成させる。
このユーザ回路について、図7を用いて説明を補足する。
例えば、図7(a)に示すような、アイドルステート(200)から起動後にタスクA(201)、タスクB(202)、タスクC(203)を逐次実行した後、再びアイドルステート(200)に遷移するステートマシンで制御されるユーザ回路を、図7(b)に示すプログラマブルデバイス204に割り当てて実行させる場合を考える。
この場合、それらタスクA、B、Cをそれぞれ実行する回路モジュールA(205)、B(206)、C(207)をプログラマブルデバイス204内の複数のプロセッシングタイル208に割り当てる場合(図7(b))、モジュールA(205)、B(206)、C(207)の待機ステータス信号が、自らに割り当てられたタスクの実行中でのみ活性状態を示し、それ以外は非活性の待機状態を示すように生成される(図7(c))。
また、機能割り当ての無い未使用領域209のプロセッシングタイルにおける待機ステータス信号は、常に待機状態を示すよう生成される。
なお、待機ステータス信号はユーザ回路で明示的に設計するだけでなく、その設計データ(RTL:Register Transfer Level)からEDA(Electronic Design Automation)ツールによって上記のようなステート情報を検出し、自動生成することも考えられる。
同一モジュール内の複数のプロセッシングタイルにおける待機ステータス信号は共通であり、電力制御手段12は、そのような待機ステータス信号によって各プロセッシングタイルの動作状態を監視可能にする。
以上、ユーザ回路についての説明を終え、フローチャートの説明に戻る。
電力制御手段12は、プロセッシングタイル11が活性状態であることを検出すると、スリープ制御信号(SLP_l#)をネゲート(“0”から“1”に変化)させて、パワーゲーティングスイッチ23をオン状態とし、コアロジック22に電力供給を開始させる(ステップS12)。
次に、状態復帰信号(Restore)をアサートしてコアロジック22内のプロセッシングロジック41における内部状態レジスタの内容を内部状態レジスタを対応するメモリセル32からロードさせる(ステップS13)。
そして、内部状態の復帰が完了するとプロセッシングタイル11は動作状態となるため、電力制御手段12はプロセッシングタイル11の待機ステータス信号が待機状態を示すまで監視する(ステップS14)。
待機状態となったことを検出すると、電力制御手段12は、状態退避信号(Backup)をアサートし、コアロジック22のプロセッシングロジック41における内部状態レジスタの内容を対応するメモリセル32に書き戻させる(ステップS15)。
そして、内部状態退避(ステップS15)が完了するとスリープ制御信号(SLP_l#)をアサート(“1”から“0”に変化)させてパワーゲーティングスイッチ23をオフ状態とし、コアロジック22への電力供給を遮断する(ステップS16)。
そして、そのプロセッシングタイル11に割り当てられた処理が完了していなければ、再び待機ステータス信号を監視して活性状態となるまで待ち(ステップS11)、完了した場合はそのプロセッシングタイル500毎の個別電力制御を終える(ステップS17)。

2.実施の形態2
実施の形態1において、図7(b)に示したように、ユーザ回路をプログラマブルデバイスに割り当てる際には、必ずしも全てのプロセッシングタイルを使用するわけではなく、割り当て方によっては一部のプロセッシングタイルが未使用領域209となる。
未使用領域209であるプロセッシングタイルへは電力供給する必要はないが、実施の形態1におけるプロセッシングシステムの構成では、構成メモリへの電力供給を遮断できない。
また、構成メモリは、低リークのトランジスタで構成可能だが、その容量が大きくなると全体としてのリーク電力は無視できない場合がある。
そこで、本実施の形態2では、上述の未使用のプロセッシングタイルにおける構成メモリについても電源遮断可能にプログラマブルデバイスを構成し、更なる省電力化を図っている。
以下、実施の形態1との相違点を中心に説明する。
2.1.構成
図8は、実施の形態2に係るプロセッシングシステムを示す図である。
実施の形態2に係るプロセッシングシステムは、構成メモリ21と電力制御手段12との間にパワーゲーティングスイッチ301を設けている点が実施の形態1に係るプロセッシングシステムと異なる。
図8において破線で囲んだ部分を、詳細化したものが図9である。
図9に示すように、構成メモリ21と電力制御手段12とを結ぶ電源配線15にパワーゲーティングスイッチ301が挿入されている。
そして、電力制御手段12中の電力シーケンサ61が、実施の形態1で説明した信号に加え、パワーゲーティングスイッチ301を制御するスリープ制御信号(それぞれSLP_m#)302を生成し、パワーゲーティングスイッチ301に供給し、構成メモリへの電力供給のオン/オフを制御する。
ここで、図7(b)を用いて上述したように、ユーザ回路をプログラマブルデバイスに割り当てる際には機能割り当てが無い未使用領域209が生じることが有るため、本実施の形態では、未使用領域209に係るプロセッシングタイル中のメモリセルに係る構成情報は、機能割り当ての有無を示す割当フラグを含め構成されている。
電力制御手段12は、プロセッシングタイルに含まれるメモリセルに係る構成情報中の割当フラグが機能割り当て無しを示す場合、そのプロセッシングタイルについては電力供給オフを示すSLP_m#を、そのメモリセルに係るパワーゲーティングスイッチ301に供給する。
パワーゲーティングスイッチ301は、プロセッシングタイル毎に設けているが、メモリセル毎に設けることとしてもよいし、他の単位、例えば3個のメモリセルごとに設けるなどしてもよい。
2.2.動作
図10は、本実施の形態に係るプログラマブルデバイス1の全体制御を示すフローチャートである。
図10は、実施の形態1における図5と、ステップS31、ステップS32において異なり、その他のステップは同じものである。
ステップS31では、実施の形態2に係るプログラマブルデバイス2においては、プロセッシングタイル11a内の構成メモリ12についてもデフォルトで電源遮断状態のため、起動直後に、構成制御手段13に加え各構成メモリ21への電力供給も行う(ステップS31)。
ステップS32を詳細化したものが図11である。
図11は、実施の形態1における図6に相当し、図6とはステップS41とステップS42において異なる。
ステップS41では、電力制御手段12が、機能割り当ての有無を示す割当フラグを判定し、制御対象のプロセッシングタイル11aへの機能割り当ての有無を判断し(S41)、機能割り当てが有る場合(ステップS41:Y)、ステップS11〜S17として既に説明した動作を行う。
機能割り当てが無い場合(ステップS41:N)、スリープ制御信号(SLP_m#)をアサート(“1”から“0”に変化)させ、パワーゲーティングスイッチ301をオフ状態とし構成メモリ12への電力供給を遮断して(ステップS42)、その個別電力制御を完了する。
以上説明したように、待機状態のコアロジック22のみならず、機能割り当ての無いプロセッシングタイル11aについても電源遮断し、上記実施の形態1に比べ、更なる省電力効果を得る。
3.実施の形態3
実施の形態2では、ユーザ回路に対し、図7(b)に示すような機能割り当てを行い、図7(c)のように同時に1つのモジュールのみが活性状態となるように動作させていた。この場合、デバイスの大部分が非活性の待機状態となっており、回路資源の利用効率が低い。
実施の形態3に係るプログラマブルデバイスは、動作中に構成変更が可能な動的再構成デバイスである。
具体的には、図12に示すように、1つのデバイス400に対し、モジュールA(401)、モジュールB(402)、モジュールC(403)を動的に時分割で割り当てながら処理を進める。
ここで、モジュールA(401)からモジュールB(402)に構成変更する際、上述の実施の形態と同様にモジュールA(401)に属するプロセッシングタイルの内部状態を対応する(それを初期化する構成情報を格納した)メモリセルに退避させるとしても、そのメモリセルには次のモジュールB(402)における構成情報が上書きされてしまうため、ステートマシンが一周して再びモジュールA(401)に構成変更する場合に前回の処理結果は破壊されてしまい引き継ぐことができない。
また、このようなデータの退避を外部の記憶手段を用いて行うと、構成変更時に要する時間が大きくなり動的再構成の利点を活かせない。
本実施の形態3に係るプログラマブルデバイスは、上述のような構成変更時にも内部状態を退避可能になるよう構成されている。

3.1.構成
図13に示す実施の形態3におけるプロセッシングタイル11aは、図9に示す実施の形態1におけるものと比べ、構成メモリ21内に拡張記憶領域500を設けている点が異なる。
拡張記憶領域500には、コアロジック22におけるプロセッシングロジック41a等の内部状態が退避される。

3.2.動作
実施の形態3におけるプログラマブルデバイスの全体制御フローチャートは既に説明した図6で表される。
電力制御手段におけるプロセッシングタイル毎の個別制御のフローチャートは図7で表される。
しかし、図7において、内部状態復帰S13と内部状態退避S15の詳細動作は、実施の形態1とは異なる。
本実施の形態の内部状態復帰S13において、コアロジック22のプロセッシングロジック41a等の内部状態について、起動直後の最初の復帰時には対応するメモリセル32に格納した構成情報の値で初期化する。
また、本実施の形態の内部状態退避S15においては、拡張記憶領域500に退避した値を復帰させる。
このように、本実施の形態では、拡張記憶領域500を用いて、プロセッシングロジック41の内部状態の退避・復帰をすることで、コアロジック22の電源遮断時だけでなく、構成変更時にもその内部状態をプロセッシングタイル11内でローカルに保持することができ、電源遮断からの復旧や構成変更時の内部状態の復帰を高速化できる。
4.変形例
なお、本発明を上記の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
(1)プロセッシングタイルについて、図2に示すように、構成メモリ21、コアロジック22、パワーゲーティングスイッチ23とを含む構成について説明したが、本構成は一例でありこれに限るものではない。
また、プロセッシングロジックについても、図3に示すように、ロジックブロック101、インターコネクト102を1つずつ含む構成について説明したが、本構成は一例でありこれに限るものではない。
各構成要素の数、構成要素間の相互の接続を変更してもよいし、各構成要素を他の構成としてもよい。
例えば、ロジックブロック、インターコネクトの数、これらの相互の接続を変更してもよいし、ロジックブロックをLUTを用いずに構成してもよい。
(2) 本願発明におけるプログラマブルデバイスは、図14に示すようにCPU、メインメモリ、ペリフェラルやそれらに電力を供給する電源装置等を備えた情報処理システムにおいて、CPU内でレジスタファイルやメモリ内のデータ処理を行うプログラマブルデータパスや、そのCPUの外部で、演算処理をオフロードするプログラマブルコプロセッサのような形で搭載することができる。
(3)上記の各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAM又は前記ハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、各装置は、その機能を達成する。ここで、コンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
ここで、各装置は、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどの全てを含むコンピュータシステムに限らず、これらの一部から構成されているコンピュータシステムであってもよい。
(4)上記の各装置を構成する構成要素の一部又は全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、システムLSIは、その機能を達成する。これらは個別に1チップ化されても良いし、一部又は全てを含むように1チップ化されても良い。
また、ここでは、システムLSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
(5)上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なICカード又は単体のモジュールから構成されているとしてもよい。前記ICカード又は前記モジュールは、マイクロプロセッサ、ROM、RAM、などから構成されるコンピュータシステムである。前記ICカード又は前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、前記ICカード又は前記モジュールは、その機能を達成する。このICカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
(6)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD―ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(7)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
本願発明に係るプログラマブルデバイスは、省電力や、電源遮断状態からの高速な起動を要する情報処理装置等に搭載され、当該情報処理機器の製造業者等により製造、譲渡等される。
2 プログラマブルデバイス
11 各プロセッシングタイル
12 電源制御手段
14〜16 電源配線
21 構成メモリ
22 コアロジック
23、25 パワーゲーティングスイッチ
32 メモリセル
41 プロセッシングロジック
51 シフトレジスタ
52 構成シーケンサ
100 プログラマブルデバイス
101 ロジックブロック
103 ロジックセル
105 構成メモリ
106 コアロジック
121 各スイッチ要素
123 メモリセル
301 パワーゲーティングスイッチ
501 構成メモリ
503 電力制御手段
507 コアロジック

Claims (13)

  1. プログラマブルデバイスであって、
    回路情報で示される演算を行うコアロジック部と、前記コアロジック部に設定される回路情報を記憶する構成メモリとを含む1以上のプロセッシングタイルと、
    コアロジック部と構成メモリとに電力を供給する電力供給手段と、
    1以上のプロセッシングタイルについて、当該プロセッシングタイルが未使用の場合に、構成メモリへの電力供給路とは別にコアロジック部への電力供給路を遮断する制御手段と
    を備えることを特徴とするプログラマブルデバイス。
  2. 前記制御手段は、前記コアロジック部への電力供給路を遮断する場合に、前記構成メモリへの電力供給路は遮断しない
    ことを特徴とする請求項1記載のプログラマブルデバイス。
  3. 前記制御手段は、当該プロセッシングタイルに機能が割り当てられており、当該プロセッシングタイルの動作を一時中断する場合、当該プロセッシングタイルに含まれる構成メモリへの電力供給路を遮断せず、当該プロセッシングタイルに含まれるコアロジック部への電力供給路を遮断する
    ことを特徴とする請求項2記載のプログラマブルデバイス。
  4. 前記制御手段は、当該プロセッシングタイルに機能が割り当てられていない場合、当該プロセッシングタイルに含まれる構成メモリ及びコアロジック部への電力供給路をそれぞれ遮断する
    ことを特徴とする請求項2記載のプログラマブルデバイス。
  5. 前記制御手段は、当該プロセッシングタイルに機能が割り当てられる場合、コアロジック部に回路情報を設定する
    ことを特徴とする請求項4記載のプログラマブルデバイス。
  6. 前記制御手段は、前記コアロジック部への電力供給路を遮断する場合には、遮断前に前記構成メモリを用いて前記コアロジック部の内部状態を待避させ、前記電力供給路を接続する場合には、接続後に前記内部状態を前記コアロジック部に復帰させる
    ことを特徴とする請求項1記載のプログラマブルデバイス。
  7. 前記制御手段は、前記コアロジック部の内部状態を待避させる場合に、前記構成メモリにおける前記コアロジック部の初期設定を格納する領域に待避させる
    ことを特徴とする請求項6記載のプログラマブルデバイス。
  8. 前記制御手段は、前記コアロジック部の内部状態を復帰させる場合に、前記初期設定を格納する領域から前記内部状態を読み出して前記コアロジック部に設定する
    ことを特徴とする請求項7記載のプログラマブルデバイス。
  9. 前記制御手段は、前記コアロジック部の内部状態を待避させる場合に、前記構成メモリにおける前記コアロジックの初期設定を格納する領域とは異なる領域に待避させる
    ことを特徴とする請求項6記載のプログラマブルデバイス。
  10. 前記構成メモリは、前記コアロジック部が有するトランジスタよりも高いしきい値電圧を持つトランジスタで構成される
    ことを特徴とする請求項1記載のプログラマブルデバイス。
  11. 前記構成メモリは、前記コアロジック部が有するトランジスタよりも絶縁性の高いゲート絶縁膜を有するトランジスタで構成される
    ことを特徴とする請求項1記載のプログラマブルデバイス。
  12. 回路情報で示される演算を行うコアロジック部と、前記コアロジック部に設定される回路情報を記憶する構成メモリとを含む1以上のプロセッシングタイルとを備えるプログラマブルデバイスを制御するデバイス制御方法であって、
    コアロジック部と構成メモリとに電力を供給する電力供給ステップと、
    1以上のプロセッシングタイルについて、当該プロセッシングタイルが未使用の場合に、構成メモリへの電力供給路とは別にコアロジック部への電力供給路を遮断する制御ステップと
    を含むことを特徴とするデバイス制御方法。
  13. 情報処理システムであって、
    プログラマブルデバイスと、
    前記プログラマブルデバイスに配送する回路情報を格納する外部記憶手段と、
    前記プログラマブルデバイスを駆動する外部電源手段とを備え、
    前記プログラマブルデバイスは、
    回路情報で示される演算を行うコアロジック部と、前記コアロジック部に設定される回路情報を記憶する構成メモリとを含む1以上のプロセッシングタイルと、
    前記外部電源手段から供給される電力をコアロジック部と構成メモリとに供給する電力供給手段と、
    1以上のプロセッシングタイルについて、当該プロセッシングタイルが未使用の場合に、構成メモリへの電力供給路とは別にコアロジック部への電力供給路を遮断する制御手段と
    を備えることを特徴とする情報処理システム。
JP2009541021A 2007-11-13 2008-09-18 プログラマブルデバイス、デバイス制御方法及び情報処理システム Expired - Fee Related JP5204123B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009541021A JP5204123B2 (ja) 2007-11-13 2008-09-18 プログラマブルデバイス、デバイス制御方法及び情報処理システム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2007293926 2007-11-13
JP2007293926 2007-11-13
PCT/JP2008/002567 WO2009063584A1 (ja) 2007-11-13 2008-09-18 プログラマブルデバイス、デバイス制御方法及び情報処理システム
JP2009541021A JP5204123B2 (ja) 2007-11-13 2008-09-18 プログラマブルデバイス、デバイス制御方法及び情報処理システム

Publications (2)

Publication Number Publication Date
JPWO2009063584A1 true JPWO2009063584A1 (ja) 2011-03-31
JP5204123B2 JP5204123B2 (ja) 2013-06-05

Family

ID=40638440

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009541021A Expired - Fee Related JP5204123B2 (ja) 2007-11-13 2008-09-18 プログラマブルデバイス、デバイス制御方法及び情報処理システム

Country Status (4)

Country Link
US (1) US7863930B2 (ja)
JP (1) JP5204123B2 (ja)
CN (1) CN101971500A (ja)
WO (1) WO2009063584A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015027080A (ja) * 2013-06-18 2015-02-05 株式会社半導体エネルギー研究所 プログラマブルロジックデバイス

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7551508B2 (en) * 2007-11-16 2009-06-23 International Business Machines Corporation Energy efficient storage device using per-element selectable power supply voltages
US8219956B2 (en) * 2009-01-30 2012-07-10 Active-Semi, Inc. Analog tile selection, placement, configuration and programming tool
US8225260B2 (en) * 2009-01-30 2012-07-17 Active-Semi, Inc. Programmable analog tile placement tool
US8341582B2 (en) * 2009-01-30 2012-12-25 Active-Semi, Inc. Programmable analog tile configuration tool
US8079007B2 (en) * 2009-01-30 2011-12-13 Active-Semi, Inc. Programmable analog tile programming tool
US9003340B2 (en) * 2009-01-30 2015-04-07 Active-Semi, Inc. Communicating configuration information across a programmable analog tile to another tile
US8117428B2 (en) * 2009-06-04 2012-02-14 Texas Instruments Incorporated Apparatus and method for automatically saving and restoring pad configuration registers implemented in a core power domain
IN2012DN05920A (ja) 2010-01-20 2015-09-18 Semiconductor Energy Lab
US8612789B2 (en) * 2011-01-13 2013-12-17 Xilinx, Inc. Power management within an integrated circuit
US9762246B2 (en) 2011-05-20 2017-09-12 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device with a storage circuit having an oxide semiconductor
JP5912844B2 (ja) * 2011-05-31 2016-04-27 株式会社半導体エネルギー研究所 プログラマブルロジックデバイス
US8503264B1 (en) * 2011-11-18 2013-08-06 Xilinx, Inc. Reducing power consumption in a segmented memory
KR101978409B1 (ko) * 2012-02-28 2019-05-14 삼성전자 주식회사 재구성가능 프로세서, 이를 위한 코드 변환 장치 및 방법
US8743653B1 (en) 2012-06-20 2014-06-03 Xilinx, Inc. Reducing dynamic power consumption of a memory circuit
TWI591966B (zh) * 2012-10-17 2017-07-11 半導體能源研究所股份有限公司 可編程邏輯裝置及可編程邏輯裝置的驅動方法
JP6254834B2 (ja) * 2012-12-06 2017-12-27 株式会社半導体エネルギー研究所 半導体装置
US8860457B2 (en) * 2013-03-05 2014-10-14 Qualcomm Incorporated Parallel configuration of a reconfigurable instruction cell array
WO2014144830A1 (en) * 2013-03-15 2014-09-18 The Regents Of The University Of California Fine-grained power gating in fpga interconnects
CN103746942B (zh) * 2013-11-26 2017-06-27 苏州智汇谱电子科技有限公司 一种门控开关装置
EP3273325B1 (en) * 2016-07-20 2019-05-15 IMEC vzw Power control in integrated circuits
DE112017004148T5 (de) 2016-08-19 2019-05-23 Semiconductor Energy Laboratory Co., Ltd. Verfahren zum Steuern der Stromzufuhr in einer Halbleitervorrichtung
JP6618455B2 (ja) * 2016-11-28 2019-12-11 日立オートモティブシステムズ株式会社 電子制御装置、車載システム、および電源制御方法
CN108307131B (zh) * 2016-12-27 2021-08-03 株式会社半导体能源研究所 摄像装置及电子设备
WO2018180536A1 (ja) * 2017-03-28 2018-10-04 日本電気株式会社 プログラマブル論理集積回路とそのプログラミング方法及びそのプログラム
US10079054B1 (en) * 2017-06-05 2018-09-18 Lattice Semiconductor Corporation Selective power gating of routing resource configuration memory bits for programmable logic devices
US10529412B1 (en) * 2019-04-09 2020-01-07 Micron Technology, Inc. Output buffer circuit with non-target ODT function
KR20220000587A (ko) * 2020-06-26 2022-01-04 에스케이하이닉스 주식회사 파워 게이팅 제어 회로 및 이를 포함하는 반도체 장치

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5548228A (en) * 1994-09-28 1996-08-20 Altera Corporation Reconfigurable programmable logic device having static and non-volatile memory
US5778439A (en) * 1995-08-18 1998-07-07 Xilinx, Inc. Programmable logic device with hierarchical confiquration and state storage
JP3106998B2 (ja) 1997-04-11 2000-11-06 日本電気株式会社 メモリ付加型プログラマブルロジックlsi
JP2001093275A (ja) * 1999-09-20 2001-04-06 Mitsubishi Electric Corp 半導体集積回路装置
JP2001284530A (ja) 2000-03-29 2001-10-12 Matsushita Electric Ind Co Ltd 半導体集積回路
JP2005005611A (ja) 2003-06-13 2005-01-06 Matsushita Electric Ind Co Ltd 半導体集積回路
US7098689B1 (en) * 2003-09-19 2006-08-29 Xilinx, Inc. Disabling unused/inactive resources in programmable logic devices for static power reduction
US20060119382A1 (en) * 2004-12-07 2006-06-08 Shumarayev Sergey Y Apparatus and methods for adjusting performance characteristics of programmable logic devices
US7620926B1 (en) * 2007-03-20 2009-11-17 Xilinx, Inc. Methods and structures for flexible power management in integrated circuits
US7675317B2 (en) * 2007-09-14 2010-03-09 Altera Corporation Integrated circuits with adjustable body bias and power supply circuitry

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015027080A (ja) * 2013-06-18 2015-02-05 株式会社半導体エネルギー研究所 プログラマブルロジックデバイス

Also Published As

Publication number Publication date
CN101971500A (zh) 2011-02-09
JP5204123B2 (ja) 2013-06-05
US7863930B2 (en) 2011-01-04
US20100148820A1 (en) 2010-06-17
WO2009063584A1 (ja) 2009-05-22

Similar Documents

Publication Publication Date Title
JP5204123B2 (ja) プログラマブルデバイス、デバイス制御方法及び情報処理システム
US5737766A (en) Programmable gate array configuration memory which allows sharing with user memory
JP4249745B2 (ja) 集積回路上で揮発性と不揮発性プログラム可能ロジックを結合させるための技術
JP4621113B2 (ja) 半導体集積回路装置
US5809281A (en) Field programmable gate array with high speed SRAM based configurable function block configurable as high performance logic or block of SRAM
TWI463302B (zh) 用於協調效能參數之方法及相關之系統單晶片及邏輯電路
US5844422A (en) State saving and restoration in reprogrammable FPGAs
US7498835B1 (en) Implementation of low power standby modes for integrated circuits
JP6113964B2 (ja) 動的ポート優先割当能力を有しているメモリコントローラー
US7908453B2 (en) Semiconductor device having a dynamically reconfigurable circuit configuration
JP2014157508A (ja) 演算装置、アレイ型演算装置およびその制御方法、情報処理システム
TWI509607B (zh) 隨機存取記憶體、記憶體元件以及記憶體元件之操作方法
US6029236A (en) Field programmable gate array with high speed SRAM based configurable function block configurable as high performance logic or block of SRAM
KR102237574B1 (ko) 시스템-온-칩 및 이를 포함하는 전자 장치
JP2007013938A (ja) 半導体集積回路装置
US11592892B2 (en) Power control circuitry for controlling power domains
JP2005071556A (ja) 半導体記憶装置および半導体集積回路装置
JP2012069565A (ja) 半導体集積回路及び制御方法
US6853603B1 (en) Programmable logic device having nonvolatile memory with user selectable power consumption
US8261101B1 (en) Self power down integrated circuit
JP5980035B2 (ja) 情報処理装置およびその制御方法
Ostler et al. FPGA bootstrapping on PCIe using partial reconfiguration
JP5466485B2 (ja) マイクロコンピュータ
JP5530207B2 (ja) プログラマブルロジックデバイスおよびそれを用いた電子機器
JP3944639B2 (ja) プログラマブル論理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110606

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130214

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160222

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees